출처: http://kdb.or.kr/info/info_06.php?dbnum=153298&mode=detail&page=12&type=techreport
키넥트와 3차원 스캐너
키넥트에서 Rapidform DLL로 점군 데이터 획득하기
마이크로소프트(이하 MS)에서 출시한 키넥트(Kinect)는 XBox 게임 컨트롤러이다. 키넥트에는 기존 게임 컨트롤러에서 흔히 볼 수 없었던 뎁스(depth) 카메라나 RGB 카메라가 내장돼 있는데, 이것을 이용하면 3차원 데이터를 활용한 프로젝트를 진행할 수 있다. 또한 키넥트를 3차원 스캐너로도 활용할 수 있다. 사실 3차원 스캐너 분야는 하드웨어가 매우 고가여서 많은 사람들이 접근하기 어려운 분야다. 하지만 키넥트에 내장된 적외선 프로젝터를 사용하면 깊이 정보를 추출해 점군(Point Cloud) 데이터를 얻을 수 있다. 이번 시간에는 키넥트 디바이스 드라이버 설치와 Rapidform DLL로 점군 데이터를 획득하는 방법을 살펴보겠다.
키넥트와 3차원 스캐너
앞서 언급한대로 MS가 선보인 키넥트는 게임 컨트롤러 용도로 제작됐다. 그럼에도 불구하고 다양한 분야에서 활용할 수 있는 하드웨어가 장착돼 있다(<그림 1> 참조).
대표적인 예로 마이크가 있는데, 마이크 한 개로는 불가능하지만 마이크가 두 개 이상이면 화자의 위치를 TOF(Time of Flight) 방식으로 판별할 수 있다. 그 밖에도 가속도 센서와 제어가 가능한 모터 그리고 지금부터 살펴볼 두 개의 카메라와 적외선 프로젝터가 있다.

<그림 1> 키네트 하드웨어 구조

<화면 1> 키넥트에 내장된 카메라와 프로젝터
<화면 1>은 키넥트에 내장돼 있는 두 개의 카메라와 IR 프로젝터다. 키넥트에 내장된 카메라 스펙은 <표 1>과 같다.
구분 | 내용 |
인식 가능한 좌우 시야각 | 57도, 상하 43도 |
센서 동작이 가능 각도 | ± 27도 |
동작 깊이 인식 범위 | 1.2 ~ 3.5m |
뎁스 카메라 | 320x240, 16bit, 30FPS |
RGB 카메라 | 640x480, 32bit, 30FPS |
<표 1> 키넥트 카메라 스펙
IR 프로젝터에서 방출된 적외선은 물체에 반사된 다음 적외선 CMOS 카메라로 들어온다. 이 과정을 통해 물체의 깊이 정보를 산출할 수 있으며, 대부분의 XBox 게임이 이 정보로 관절 정보를 추정한다.
여기서 픽셀의 깊이 정보를 안다는 건 곧 3차원 스캔을 할 수 있다는 것을 뜻한다. 실제로 다양한 종류의 3차원 스캐너가 이와 유사한 방식으로 작동하는 데 대표적인 것이 광학식(optical) 스캐너다.
3차원 스캐너로 얻어진 점군 데이터는 3차원 좌표 정점(vertex)의 집합이다. 점군 데이터는 CAD 품질을 검사하거나 애니메이션 또는 렌더링 기법 등에 사용되며, 삼각형화(trian gulation) 작업을 거치면 삼각형 매시를 만들 수 있다.
키넥트 개발 환경 설정
키넥트 발매 초기에는 공식적인 디바이스 드라이버가 없었다. 그래서 Adafruit Industries 같은 곳에서는 키넥트 드라이버를 해킹하는 이벤트성 대회를 벌이기도 했다.
그랬던 것이 키넥트 내부 알고리즘에 접근하지 않고 XBox 게임을 조작하지 않는다는 조건 하에..
'컴퓨터 과학 & 영상처리 관련 > 그래픽스' 카테고리의 다른 글
엔트로피 계산법 (0) | 2012.07.03 |
---|---|
hamming distance 구하는법 (0) | 2012.07.03 |
120530 지문인식 (0) | 2012.05.30 |
scaleimage 테스트 (0) | 2012.05.25 |
120523 동공경계검출 (0) | 2012.05.23 |