2010-11-23 3 views
6

Microsoft Kinect 콘솔 용 자작 (homebrew) 코드를 작성하는 데 관심이 있습니다. 플랫폼으로 잘 번역 할 수있는 몇 가지 응용 프로그램이 있습니다. 저는 OpenKinect drivers and libraries을 사용하여 한 발을 내놓으려는 생각에 놀랐습니다. 분명히 이것은 많은 일이 될 것이지만 나는 얼마나 많이 궁금해하고 있습니다. 누구나 OpenKinect에 대한 경험이 있습니까? 장치에서 원시 비디오/오디오 데이터 만 가져 오나요? 아니면 일반적인 작업을 쉽게하기 위해 더 높은 수준의 추상화를 작성한 사람이 있습니까?OpenKinect 성숙도

답변

13

OpenKinect 라이브러리는 기본적으로 드라이버입니다. 적어도 은 많은 기능을 기대하지 않습니다.. 원시 데이터깊이비디오 카메라 모두에서 많거나 적을 것입니다.
이것은 기본적으로 프레임이 도착할 때마다 콜백 함수에서 수신되는 배열입니다.

OpenKinect website에 제공된 지침에 따라 시도해 볼 수 있습니다. 설치 및 시도가 정말 빠르며 가능한 한 느낌을 내기 위해 제공된 glview 응용 프로그램으로 약간만 재생할 수 있습니다. opencv을 사용하여 몇 가지 데모를 설정했으며 컴퓨터 시력에 대한 배경 지식이별로 없어도 멋진 결과를 얻었으므로 직접 시도해보십시오!

 
다른 방법으로는, 당신이 더 많은 고급 기능을 찾는 경우 OpenNI framework는 이번 주에 발표 및 추적 골격과 일부 제스처 인식로 인상적인 높은 수준의 알고리즘을 제공했다. 프레임 워크의 일부는 PrimeSense의 독점적 알고리즘 (강력한 뼈대 추적 모듈과 같은 ...)입니다. 나는 아직 그것을 시도하지 않았고 kinect와 다른 OS와 얼마나 잘 통합되는지 모르지만, 다른 그룹의 사람들 (OpenKinect, Willow Garage ...)이 열심히 노력하고 있기 때문에, 1 주일 내에 문제가 될 수 있습니다.

+0

+1 openni 드라이버를 구하십시오. Kinect의 제조사에서 공개 할 때 http://www.joystiq.com/2010/12/10/primesense-releases-open-source-drivers-middleware-for-kinect/ – LamonteCristo

12

Jules Olleon이 쓴 내용을 더 자세히 설명하면서 OpenNI (http://www.openni.org)와 그 알고리즘 (NITE)을 사용하여 작업 해 왔으며이 프레임 워크를 사용하는 것이 좋습니다. 두 프레임 워크 모두 잘 문서화되어 있으며 시작할 수있는 수많은 샘플이 제공됩니다.

기본적으로, OpenNI 센서와 당신의 드라이버와 협력의 낮은 수준의 세부 사항을 추상화, 당신에게 얻기를 위해 (당신이 "생성"에서 원하는 것을 예를 들어 XN :: DepthGenerator을받을 수있는 편리한 방법을 제공합니다 원시 깊이 데이터). OpenNI는 오픈 소스이며 모든 응용 프로그램에서 자유롭게 사용할 수 있습니다. OpenNI는 또한 플랫폼 추상화를 처리합니다. 현재 OpenNI는 Windows 32/64 및 Linux에서 지원되며 잘 작동하며 OSX로 포팅되는 중입니다. 바인딩은 여러 프로그래밍 언어 (C, C++, .NET, Python 및 다른 몇몇 언어에서 사용 가능)에서 사용할 수 있습니다.

NITE에는 더 높은 수준의 결과를 제공하는 OpenNI 위에 추가 인터페이스가 있습니다 (예 : 핸드 포인트, 스켈레톤, 장면 분석 등 추적). 언제/어디에서 사용할 수 있는지에 대한 NITE 라이센스의 미묘한 부분을 확인하고 싶지만, 현재로서는 분석 (예 : 스켈레톤)을 얻는 것이 가장 쉽고 빠른 방법 일 것입니다. NITE는 폐쇄 형 소스이므로 PrimeSense는 사용할 바이너리 버전을 제공해야합니다. 현재 Windows 및 Linux 버전을 사용할 수 있습니다.

1

저는 OpenKinect와 함께 일한 적이 없지만 OpenNI와 SensorKinect를 몇 달 동안 연구했습니다.Kinect의 원시 데이터로 작업 할 계획이라면 깊이와 비디오를 제공하는 데 효과적입니다 (모터 제어를 지원하지 않습니다). 나는 C++과 OpenGL을 Windows 64 비트와 Ubuntu 32 비트에서 거의 코드 수정없이 사용했습니다. 기본 C++를 알고 있다면 쉽게 배울 수 있습니다. 설치하는 것은 약간의 두통 일 수 있습니다.

등 골격 감지, 동작 인식과 같은 고급 기능에 대한

, 내가보기 엔 같은 OpenNI와 NITE하거나 여기에 제공되는 것과 같은 미들웨어를 사용하는 것이 좋습니다 : Middlewares developed around OpenNI보다는 바퀴를 다시 발명을. Nite는 OpenNI가 작동하면 매우 쉽게 사용할 수 있습니다. 예 : 공동 인식은 10 ~ 20 여분의 코드 행에 관한 것입니다.

내가 더 어린 자신에게 추천하는 것은 OpenGL을 직접 사용하지 않고 기본 게임 엔진 (예 : Unity)으로 배우고 작업하는 것입니다. 그것은 당신에게 훨씬 더 즐겁고 더 즐거운 그래픽과 번거 로움을 줄 것이며, 또한 PhysX과 같은 다른 툴과 당신의 프로그램을 쉽게 통합 할 수있게 해 줄 것입니다. 나는 아무 것도 시도하지 않았지만 Unity에 Kinect 드라이버를 사용하기위한 몇 가지 플러그인이 있다는 것을 알고 있습니다.