2012-01-28 3 views
2

저는 대학 최종 프로젝트를위한 Kinect 용 응용 프로그램을 개발 중이며 많은 제스처 인식 알고리즘을 개발해야한다는 요구 사항이 있습니다. 이것에 대해 조언 해 주시면 감사하겠습니다.Gesture Recognition Algorithm - Kinect

내 초기 알고리즘은 특정 시간 프레임 내에서 kinect쪽으로 더 가까이 이동하는 사용자 손을 감지하고 있습니다. 지금은 이것이 임의의 500ms라고 말할 것입니다.

  • 기록 z 축 위치 목록에서 100ms마다 저장을 다음과 같이

    내 생각이다.

  • 새 위치가 기록 될 때마다 목록의 이전 4 개 위치 각각에 대해 z- 위치를 확인하십시오.
  • z 위치가 개별적으로 또는 집합 적으로 필요한 거리만큼 변동하는 경우 제스처 인식 이벤트를 시작하십시오.
  • 제스처가 인식되면 목록을 지우고 다시 시작하십시오.

이렇게 처음 시도한 것은 이번이 처음이었고 초기 구현에 대해 조언을 드리고 싶습니다.

감사합니다.

답변

2

사용자가 자신을 향해 손을 흔드는 것을 인식하려는 경우 (시끄러운 데이터 때문에 오작동을 일으킬 가능성이 매우 높음에도 불구하고) 접근 방식이 작동해야합니다. 당신이하려는 것은 패턴 인식 분야에서 매우 잘 떨어집니다. 이 작업과 매우 유사한 작업을 위해 사람들은 매우 자주 숨겨진 마르코프 모델을 사용합니다. Wikipedia 기사를 확인하고 싶을 수도 있습니다. 저는 C# 사용자는 아니지만, 알고있는 한, Microsoft는 C#에 대한 통계 유추 라이브러리를 매우 훌륭하게 갖추고 있으며, 분명히 HMM 구현을 포함하게됩니다.

4

공식 Kinect SDK 또는 opensource 드라이버 (libfreenect 또는 OpenNI)를 사용 하시겠습니까?

당신은 키 넥트 SDK를 사용하는 경우 당신이 뭔가에보고함으로써 시작할 수 있습니다

DTW lib preview

Candescent NUI lib preview

당신이 오픈 소스 드라이버를 사용할 계획이라면, OpenNI and NITE 시도 (백열 NUI는 손가락하지만 탐지에 더 초점을 맞추고있다). NITE는 손 추적 및 제스처 (스 와이프, 원 컨트롤, 2d 슬라이더 등)와 함께 제공됩니다.

적어도 손 감지가 있어야하고 거기에서 계속 수행하는 것이 좋습니다. 만약 당신이 그것을 가지고 있다면, Unistroke Gesture Recognizer의 적응과 같은 것을 구현하거나, Motion Templates/MotionHistory 등등과 같은 다른 기술들을 살펴볼 수 있습니다 ... 지금 당신이 가지고 놀 수있는 새로운 데이터에 그것들을 적용하십시오.

Goodluck!