티스토리 뷰

오랜만에 이 파트에서 써보네요. 저도 공부하는게 있어서 조금 바쁘네요..

먼저 이번 글을 쓰기에 앞서서 궁금한게 있습니다. 키넥트를 개발함에 있어서 어떤 개발환경을 구축하셨나요?

 공식 SDK를 이용한 환경? 아니면 오프소스 라이브러리인 OpenNI 나 ZigFu 같은 걸 쓰실겁니다. 또 어떤분은 Point Cloud를 쓰실겁니다. 그런데 공식 SDK와 오픈소스 개발툴은 서로 상극인 존재입니다. 그도 당연한 것이 개발사에서는 자기네 회사에서 만든 툴을 사용하지, 일반 사용자가 만든 툴에 대해서는 지원을 해주지 않는게 대부분입니다.

 원래 상극이라는 의미는 서로의 드라이버가 충돌이 일어난다는 겁니다.

 키넥트는 원래 PrimeSense라는 이스라엘 센서 제조사에서 만들어진 기기인데 OpenNI나 PCL 같은 오픈소스 베이스 툴은 이 PrimeSense에서 만든 공개용 드라이버를 기반으로 돌아갑니다. 이 것과 MS 자체적으로 만든 드라이버가 충돌이 일어나서 둘중 하나만 실행이 되는 것이 정상이었습니다.

 

 

그런데 역시 필요는 실현을 불러일으킨다는 말이 있지요? Tomoto라는 일본인이 이 OpenNI용 드라이버와 키넥트 드라이버를 공용으로 쓸 수 있는 이른바 브릿지 드라이버를 만듭니다. 그래서 오늘 이자리에서 설치 방법에 대해서 소개하고자 합니다. 당연히 저는 성공했기 때문에 이글을 쓰고 있는 겁니다.

 

자 우선 준비물은 다음과 같이 필요합니다.

- Kinect for Windows or Kinect for Xbox (엑박용 키넥트는 당연하지만 Near mode를 쓸 수 없습니다. 참고로 OpenNI에서도 Near Mode를 사용할 수 있는 라이브러리가 존재합니다.)

- Kinect for Windows SDK v1.5 

(http://www.microsoft.com/en-us/kinectforwindows/develop/developer-downloads.aspx)

- Kinect for windows Developer Toolkit

(http://www.microsoft.com/en-us/kinectforwindows/develop/developer-downloads.aspx)

- OpenNI v1.5.4.0 (32bit)

(http://www.openni.org/Downloads/OpenNIModules.aspx OpenNI Binaries 에서 Unstable 선택후 32bit로 받음)

- NITE v1.5.2.21 (32bit)

(http://www.openni.org/Downloads/OpenNIModules.aspx Middleware Binaries에서 32bit용으로 받음)

- Kinect Sensor 0.92

(https://github.com/avin2/SensorKinect 에서 다운로드)

- Bridge Driver

(http://code.google.com/p/kinect-mssdk-openni-bridge/ 에서 1.5 지원버전으로 다운로드)

 

주의할 것은 본인의 컴퓨터가 64bit라고 할지라도 꼭 32bit용으로 설치해야 된다는 겁니다.

자 우선 키넥트가 연결된 상태라면 키넥트의 연결을 해제하고 프로그램 설치/관리에서 키넥트와 관련된 프로그램을 모두 지워줍니다. 이는 초기과정을 만들어주기 위한 과정입니다.

 

1. 우선은 먼저 기존에 받아놨던 OpenNI와 NITE를 차례대로 설치합니다. 다른 블로그 보시면 시리얼키를 입력해야 된다는 말이 있는데 최신버전이 나오면서 시리얼키를 요구하지 않습니다.

2. 그 다음에 Kinect Sensor 0.92를 받아서 설치합니다. 주의하실건 이 파일안에는 모든 플랫폼에 대한 드라이버가 들어있습니다. 우리가 선택해야 하는 건 x86 즉 32bit용 설치파일입니다.

 

 

사진에 보이는 경로에서 Bin에 들어있는 것중 Win32라고 되어 있는것을 설치해야 합니다. 물론 기타 OS를 쓰시는 분은 그것에 맞게 설치하시면 됩니다.

3. 일단은 OpenNI에 대한 환경설정이 끝났습니다. 이 때 키넥트를 꽂으면 기존에는 장치관리자에 Microsoft Kinect 하단에 장치가 설치되었었는데 이제는 PrimeSense - K4W이라는 이름으로 장치가 설치된 것을 확인할 수 있습니다. 이것까지 확인하셨으면 OpenNI 폴더의 Samples -Bin - Release폴더로 들어가서 간단한 프로그램을 실행해보시기 바랍니다. 이게 안되시면 재부팅해보고 다시 실행시켜보시고 그래도 안되시면 다 지우시고 다시 처음으로 돌아가셔야 합니다.

-> 참고로 OpenNI.dll이 없다는 에러는 재부팅하면 없어집니다. 걱정하지 마세요.

 

제가 한건 NIuserTracker입니다. 일단 되는게 확인되셨으면 다시 키넥트를 뺍니다. usb를 빼면 장치가 해제되겠지요.

4. 다음으로 할 것은 Kinect for windows v1.5와 Developer toolkit을 차례대로 설치하는 겁니다. 이건 솔직히 클릭만 하면 되기 때문에 별 어려움이 없으실 겁니다.

5. 자 여기서 키넥트를 꽂게 되면 다음과 같은 장치 관리자가 생성됩니다.

 

 

이상하지 않나요? PrimeSense 아래에 Microsoft 제품군이 생성됩니다. 여기까지 오셨다면 정상적으로 넘어오신겁니다.

6. 여기서 재부팅을 한번 해주시고 이제 궁극의 브릿지 드라이버를 설치해야 합니다. 아까 받으신 파일을 보시면 install 이라는 파일이 있습니다. 그걸 꼭 관리자 모드로 실행시켜야 합니다.

 

 

실행시키면 중간에 OK라는 문구가 떠있을겁니다. 여기까지가 끝입니다.

 사실 OpenNI기반의 프로젝트가 참 많습니다. 실례로 OpenNI Arena라는 그룹은 사람들이 자신이 만든 앱을 여기다가 올리고 평가를 받는 파트가 있습니다. 물론 회원가입이 되어야 하고, 가입만 하면 이 앱에 대한 소스코드가 주어집니다.

저는 울트라맨 앱을 한번 실행시켜보았습니다.

 



여러분도 이렇게 공용 개발환경을 구축하셔서 조금더 나은 앱이 나왔으면 좋겠네요. 여기까지였습니다.

 

출처: http://kinect-i.blogspot.kr/2012/05/how-to-install-and-use-openni-microsoft.html

댓글