제스처 인식 전략


12

Wii와 함께 일하면서 나는 종종 간단한 제스처를 인식해야한다는 것을 알았습니다. 지금까지 게임 디자인 문서에서 요구되는 제스처를 인식하기 위해 주로 가속의 크기를 볼 수 있었지만, 만들고 싶습니다. 예시적인 제스처의 "기록"및 복잡한 제스처의 인식을 허용하는보다 강력한 시스템.

과거에 어떤 전략을 사용 했습니까? 그들은 왜 일했습니까? 그들은 왜 작동하지 않았습니까? 당신은 다르게 무엇을 하시겠습니까?

답변:


5

유사 불변량 편집 에는이 버전의 곡률이 필요합니다.
http://en.wikipedia.org/wiki/Affine_curvature#Affine_curvature
이것이 내가 말하는 것을 가정합니다. (정상적인 곡률이지만 회전에 변하지 않는 것으로 생각합니다.)
변형 버전의 곡률 스케일 편집
/math/1329/what-is-the-form-of-curvature-that-is-invariant-under-rotations-and-uniform- 스 칼리

제스처 인식 문제는 인식 문제의 하위 클래스이며 인식 문제는 기본적으로 모델 비교 문제입니다.

제스처를 제스처 모음에 맞추려고하면 최상의 제스처가 승리합니다.

제스처를 여러 번 기록하고 훈련 데이터를 b- 스플라인 (곡선)과 같은 것으로 맞추려고합니다. 당신은 아마도 당신의 제스처가 변형 (회전, 스케일링, 변환)에 영향을 미치지 않기를 원할 것입니다. 따라서 컨트롤의 데카르트 좌표와는 대조적으로 곡선을 곡률 값 테이블로 저장하십시오 (멋진 닫힌 형태는 아닐 것입니다) 포인트들.

그것은 제스처의 모델입니다. 몇 가지가 있다고 가정 해 봅시다.

이를 비교하려면 입력 데이터를 피팅 한 다음 곡률 x 횟수를 평가하십시오. 여기서 x는 정확도와 성능 사이의 균형을 잘 유지합니다.

이제 모델을 반복하고 곡률 값을 빼고 (호 길이로 각 곡선을 따라 동일한 지점에서 평가) 차이를 제곱합니다. 결과 값을 잔차라고합니다. 모든 잔차를 정리하십시오. 잔차가 가장 작은 모델이 가장 적합하며 가장 가능성이 높은 제스처입니다.

내 대답을 @Olie와 비교하십시오. 우리는 제스처에 대해 다른 모델을 선택하고 있지만 기본적으로 동일합니다 (서명 된 곡률 테이블을 작성하고 접선 각도의 변화를 기록하는 것은 거의 동일합니다. 데이터가 부드럽게 생성된다고 가정합니다) 그러나 잡음이있는 곡선)의 주요 차이점은 @Olie가 속도를 포함한다는 것입니다.

모델에 포함 할 매개 변수 선택은 상황 및 성능 요구 사항에 따라 다릅니다. 모델에 매개 변수를 추가하면 치수가 증가합니다.


4

매우 광범위한 용어로, 제스처를 방향으로 정의한 다음 [매우 짧은 지연], 다른 방향 (및 방향 사이의 상대 각도 등)을 끝까지 정의하려고합니다.

예를 들어, 지팡이로 "t"를 만드는 것은 (일부 사람들이 왼손 잡음을 잊지 마십시오. 정의는 수작업에 의존해서는 안됩니다!)는 수직 swoosh, 짧은 지연, 반전 곡선, 짧은 지연, 반전 수평으로 향하고 갑자기 [정지] 정지합니다.

제스처를 읽을 때 패턴 읽기가 패턴 설명과 얼마나 일치하는지 확인하려고합니다.

일반적으로 명백한 불일치 (정확하게 시작하지 않거나 너무 길거나 너무 짧음)를 제거하여 정의 사전을 컬링 한 다음 나머지 정의에 대해 제스처를 "점수"할 수 있습니다. 각 부분을 정의 (0-100 %)와 RMS-ing (오류를 취하고 제곱 한 후 합산 한 다음 해당 합의 제곱근을 취함)과 얼마나 일치하는지 평가하여 제스처의 점수를 매 깁니다.

RMS를 사용하면 큰 차이를 강조하고 (낮은 점수로) 작은 차이로 광택을내는 경향이 있습니다 (더 나은 일치 결과).

Google 제스처 인식과 같은 많은 자료가 있습니다. 스타일러스 또는 기타 Wii 이외의 것이더라도 걱정하지 마십시오. 원칙이 잘 적용됩니다.


0

마우스로만이 작업을 수행했지만 솔루션이 실제로 잘 작동했습니다. 제스처를 나타 내기 위해 점의 점 패턴 결합을 만들었습니다. 이것은 그리는 모양입니다. 그런 다음 커서가 움직일 때 경로를 저장했습니다. 다음으로이 마우스 경로의 크기를 조정하여 대상 패턴과 동일한 너비와 높이를 갖습니다. 모든 업데이트는 커서 경로의 모든 지점을 반복하여 각 동작 경로 노드의 특정 거리 내에 있는지 확인하고 각 동작 경로 지점을 순서대로 봅니다.


0

AiLive 의 수석 개발자 중 한 명 (게임 일부에 있음)이 Game AI를 배웠으며 짧은 대답은 이러한 제스처 인식을 시도하는 것이 인생을 보내기에는 너무 고통 스럽다는 것입니다. 미들웨어 경로를 따라 가고 AiLive의 LiveMove 제품군을 얻는 것이 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.