"에디터의 참고" 데이비드 추기경, 데이비드,이 문서의 저자 기술 업계에서 20 년 이상의 경험 있다. 그는 윈도 즈 Digitalpro, 윈도에서 최초의 전문 이미지 관리 솔루션에 대 한 공동 개발자 이다. 이 문서는 Kinect의 개발에 대 한 이해와 모션의 신체 감각을 도약을 올해의 빌드 대회에서 마이크로 소프트의 개발 경험의 조합 이다.
데이비드 Holz, 도약 모션 CTO 말했다 그들의 하드웨어에 너무 많은 노력을 하지 처음으로 때문에 노하우의 대부분은 소프트웨어에서 였어요. Microsoft의 규칙, Alisson Sol, Kinect의 1 세대가 하루에 진화 하는 방법을 자세히 설명 하는 Kinect 개발의 머리를 구축 하 고 마지막으로 확신 했다.
Somatosensory 개발의 초점은 소프트웨어입니다. 하드웨어, 물론, 충분 한, 하지만 그것은 최고 수준의 필요 하지 않습니다. 분할 도약에서 그것은 단지 3 상용 Led 및 2 정상 가격 카메라 함께 제공 됩니다. 개발 팀의 노력 중 대부분은 사용자의 행동을 정확 하 게 식별 하는 알고리즘을 확인 하는 방법. 마이크로소프트의 Kinect에 그립 동작 인식 연구의 신체 감각 개발에 대 한 좋은 경우입니다.
기계 학습
년 동안 코드 농민 독창적인, 정교한 알고리즘 전산 자원을 절약 하는 시간을 많이 쓰 셨습니다. 그리고 과거에 어느 정도 학습 하는 기계. 기계 학습에 의해 CPU와 GPU는 매우 낮은를 복용 하는 동안 그것의 자신의 계산에 대 한 컴퓨터에 많은 양의 데이터를 던져 지금 수 있습니다. 물론, 그것은 훨씬 더, 보다 복잡 하 고 그것은 쉽게 잘 할 수 있습니다. 하지만 결과 인식-신체 감각 등의 큰 클래스에 적용 됩니다.
기계 학습을 시작 하기 전에 당신이 해야 할 첫번째 일은 많은 고품질 데이터를 수집. Kinect의 깊이 태그 비디오, 여러 테스터 만들 다양 한 제스처와 움직임의 기가바이트 수입니다. 이러한 비디오 클립 다음 필요가 수동으로 테스터를 하 고 있는 노드를 나타내는 표시 전통적인 데이터 수집 프로세스와 비슷한 프로세스. 마지막으로, 이러한 인간의 고기 마커의 데이터 "기본 사실" 이라고-인식 과정 기준입니다.
지불 해야 하는 동시에 문제에 대 한 관심은 분명 방향입니다. 손바닥의 모양을 열려 또는 아무런 진전 했다 그립 동작 인식에서 하지만 거기 오랜 시간 동안 폐쇄 여부를 결정 하는 데 사용 하는 Microsoft 팀 및 솔의 팀 직접 그립 인터페이스를 개선 하는 열쇠를 쥐고 시키는 이동-판단의 방법 사용.
기능으로 데이터를 터 닝
일단 당신이 충분히 태그 데이터, 다음 단계 또는 결정 하는 특성 (특성) 데이터의 사용 하는 제스처를 확인 하는. 그것은 단지 기술, 그것의 예술-그것의 정말 이해 하기 쉽습니다. 판단을 만들기 위해 사용 하는 기능 2 밀리초 그립 움직임을 식별 하는 Windows Kinect 팀 등을 계산 하기가 있습니다.
이 모션 인식, 팀 첫 번째 사용 기계 학습 알고리즘의 주요 특징으로 (여 뼈대 검색 하위 시스템 수집) 거리 팜 픽셀 수량을 계산 합니다. 하지만 그들은 더 성가신 포인트, 손의 위치는 불안정 하므로이 기능은 정확 하 게 포착 하기 어려운. 그래서 그들은이 목적-다양 한 손 및 인식 과정에서 변위의 위치를 고려에 대 한 보조 알고리즘을 개발 했다. 불행히도,이 방법은 효과적입니다.
마지막으로, 솔, 깊이 태그 데이터를 사용 하 여 그립 또는 각 픽셀 지점의 이전 프레임 보다는 변화 행동의 발생의 공동 결정에 참여할 것입니다 이미지 프레임과 판단이 작업, 즉, 프레임의 픽셀 차이 때 가자.
코드를 완료 하 여 출력 하자
일반적인 결과 지향 프로그래밍, 달리 시스템-는 Kinect 같은 기계 학습 시스템-에 의존 원래 이상적인 출력의 집합 (즉, 처음 태그 데이터) 인식기 (시스템에서 생성 된 코드)를 생성 하. 생성 된 인식기는 실용적인 응용 프로그램에서 대상 제스처를 인식할 수 있습니다.
동시에 이전 단계에서 선택한 특성을 계산 하는 것이 큰 데이터 문제 되 곧 찾을 수 있습니다. 비디오 테스트의 초 당 30 프레임 이상의 100000 시간, 프레임 있고 프레임 당 픽셀의 수는 약 300, 000 (더 새로운 Kinect).
경우에 당신은 그냥 손 주위 128 x 128 영역에 초점을, 각 프레임 (4 손)에 각 손을-64000에 분석 이상의 16, 000 픽셀 있다. 다음 시스템 (많은 개방형 시스템의 변종 이라고 한다)을 배우고 기계로 추출된 기능을 입력 합니다.
솔의 우리와 함께 엉키게 않을. 다양 한 기계 학습 알고리즘의 차이 단순히 충분 한 데이터는, 다른 알고리즘 (이 이해 하기 쉽습니다) 비슷한 결과 얻을 것 이다 말. 그들의 프로젝트에 그들은 결정 트리를 만드는 ID3 알고리즘을 사용. ID3 알고리즘 각 속성에 대 한 정보 이득 계산 하 고 지정 된 컬렉션에 대 한 테스트 속성으로 가장 높은 이득 갖는 속성을 선택 합니다.
처음 선택한 기능이 동작 인식 결정을 완료 하는 데 충분 한 경우 시스템에서 생성 된 코드에 더 많은 "기본 사실." 실행 대신, 기능 선택의이 스텝을 철회 해야 합니다.
테스트를 먼저 분석 서두르지 말고
많은 기계 학습 연구 논문의 결국 테스트 방법으로와 같은 "를 가리키는 손가락, 손가락 떨어져". 하지만 Kinect 같은 소비자 급 제품에 대 한 Sol이 충분히 까지입니다. 시장의 높은 표준에 도달, 마이크로소프트는 테스트 항목의 종류의 수천을 사용 하 고 서로 다른 유형의 알고리즘을 개선 하기 따라서 되돌릴 오류를 분석 하는 도구를 개발. 그는 그의 손의 속도 예 사용: 그것은 손을 빨리 움직이고 있다 때 캡처된 손의 위치는 분명 훨씬 더 괴상 한-그래서 파악 하는 작업에 대 한 인식 알고리즘 고려 될 필요가.
테스트에서 올바른 인식률 99.9%에 도달 하는 경우에 많은 수의 프레임을 분석 하 고 싶은 있기 때문에 테스트 결과 시간당 오류 수가 있을 것입니다. 이러한 결함에 대 한 각 업데이트는 동작 인식에 사용 하는 코드는 인식기, 몇 가지 변경을 해야 합니다.
솔 언급 하는 업데이트 중 하나는 빛과 그림자는 비대칭 때문에 거울으로 취급 될 수 없습니다 오른쪽 손의 이미지 인식의 차이입니다.
이러한 테스트를 실행 하는 데 시간이 오래 걸립니다 상상할 수 있는 솔 80 코어 장치와 그립 인식기를 테스트 하려면 일주일 소요 말한다.
마지막으로, Kinect 팀 또한 인식기의 속도 개선 하는 방법에 대 한 마이크로소프트의 도움말을 나열. 최종 결과 Kinect에는 유용 하 고 사용 하는 개발자를 위한 교육적 그립 컨트롤 Windows SDK 1.7에서 제공 합니다. 마찬가지로, 도약 개발 과정에서 Kinect로 간단 하지 않습니다, 비록 그것은 분명는 소프트웨어 구현 또한 변신 미리 만들어진 구성 요소 들을 잔뜩 시장에 가장 강력한 몸 감지 장치 중 하나.
통해: extremetech
관련:
Wi-Fi 실현 제스처 인식.