키넥트

섬네일|키넥트 로고.
섬네일|키넥트의 모습.
**키넥트**(Kinect)는 컨트롤러 없이 이용자의 신체를 이용하여 게임과 엔터테인먼트를 경험할 수 있는 엑스박스 360과 연결해서 사용하는 주변기기이다. 2009년 6월 1일 E3에서 처음 "프로젝트 나탈"(Project Natal)이란 이름으로 발표했으며, E3 2010에서 공식 명칭인 '키넥트'를 발표한다. 키넥트는 센서를 통해 사용자의 동작을 인식하고, 마이크 모듈로 음성을 인식한다. 키넥트는 원래 닌텐도 위(Wii)가 선보인 자연스러운 인터페이스(Natural Interface, NI) 게임기 시장을 위해 마이크로소프트가 2010년에 발표한 Xbox360의 인터페이스 장비인데, 그것이 사람 인식에 가지는 강점들이 인터랙션 아티스트들에게 주목 받으면서 게임 이외의 분야에서도 활발히 활용되고 있다. 최근 개인 개발자 및 다양한 연구 기관에서 기존의 Xbox 360 콘솔 게임 컨트롤러 기능에서 벗어나 키넥트와 PC와의 연동을 통해 다양한 영역에서 활용하고자 하는 시도를 하고 있다. 구형 엑스박스 360 모델과 연결하기 위해서는 별도의 전원이 필요하다. 2010년 11월 4일 미국에서 가족층 공략을 위해 17개의 게임을 키넥트와 동시에 출시하였다.

대한민국에는 2010년 11월 19일 출시되었다.

또, 키넥트 센서는 저가의 깊이 카메라로써, 실시간으로 깊이 정보뿐만 아니라 RGB영상과 관절 추적 정보를 제공한다. 키넥트 센서로부터 제공되는 데이터의 사용은 제스처 인식을 위해 필요한 사람/신체부위 검출 및 포즈 추정의 수고를 덜어주고, 게임이나 인간-컴퓨터 상호작용 응용 개발을 쉽게 만들고 있다.
__TOC__

## 원리
* 키넥트의 깊이 정보 추출 원리는 적외선 카메라의 중심점을 원점으로 하여 객체를 3차원으로 표시한다. Z축은 영상영역(image plane)에 수직이고, X축은 Z축에 대하여 수직이며, 적외선 카메라에서 레이저 프로젝터로 향하는 방향이다. Y축은 Z축과 X축에 대하여 수직이다.
* 키넥트는 원래 게임에서 사용하는 기기로서 3D 센서는 활동 범위 내에서 플레이어의 움직임을 파악하는데 쓰이고 있다. RGB카메라는 플레이어를 인식하고 게임 플레이 중에 사진을 찍거나 비디오 촬영에 활용한다. 다중 마이크는 키넥트의 센서 전면 아래쪽에 있는데 음성 인식 및 채팅에 사용되는 마이크로 여러 개 설치되어 있다. 또한 키넥트 센서는 받침대에 전동 드라이버가 있어 필요 시 센서의 각도를 조절할 수 있다. 또한 카메라 모듈이 장착되어 모션 캡처로 플레이어의 동작을 인식하며, 마이크 모듈로 음성을 인식한다.
* 키넥트 RGB카메라 오른쪽에 부착 된 것은 적외선 송출 프로젝터이다. 이 적외선 프로젝터는 전면의 물체에 픽셀단위의 적외선을 송출한다. RGB카메라의 왼쪽에 부착된 것은 적외선 카메라이다. 적외선 프로젝터에서 송출된 점들이 반사되는 것을 받아들여 물체를 인식하게 된다. 윈도 환경에서 키넥트와 연결하기 위해 마이크로소프트에서 배포한 키넥트 SDK v.1.0을 이용한다.
* 키넥트는 중앙 RGB 카메라와 양쪽 카메라 2개로 이뤄져 있다. 키넥트는 이들 카메라를 통해 사람 신체의 47개 부위를 초당 30번씩 감지한다. 덕분에 소니나 닌텐도와 달리 컨트롤러 없이 사람의 동작을 읽어낼 수 있다.

## 기능

Kinect는 RGB카메라의 Color Sensor, IR Emitter와 IR Depth Sensor, 4개의 Microphone Array 그리고 Sensor를 상하로 움직일 수 있도록 Tilt Motor 등으로 구성되어 있다. 이 Sensor들로 일반적인 RGB 카메라로 촬영 되는 영상(Color View)과 촬영된 영상의 깊이 정보를 나타내는 영상(Depth View) 그리고 검출된 사용자의 골격을 나타내는 영상(Skeleton View) 정보를 나타낸다.
### 핵심기능
Kinect Depth Sensor는 Kinect의 첫 번째 핵심 기능으로, 반사된 레이저 빔 포인트로 각 픽셀간 거리를 측정하여 Kinect 앞의 사용자를 인식할 수 있게 된다. 두 번째 핵심 기능인 Skeleton Position은 인체를 구성하는 주요 골격 20개에 대한 위치 데이터를 제공해주며 해당 관절 포인트를 이용해 골격에 해당하는 신체 부위의 정보를 쉽게 얻어낼 수 있다. 세 번째 핵심 기능은 음성인식으로 Kinect에는 소리로 음성의 위치를 파악하고 주변 소음을 분리해낼 수 있는 마이크로폰이 내장되어 있다. 또, Kinect는 컬러 영상과 함께 깊이 영상도 실시간으로 획득하는 것이 가능하다.

### 키넥트의 센서
* 키넥트의 특별한 센서인 RGB 센서와 IR 센서를 이용하여 물체가 움직이는 것에 따라 컴퓨터에 그대로 입력되어 사용자가 원하는 회화적 스타일로 키넥트의 컬러 및 깊이 데이터를 이용한 포인트 샘플 렌더링을 통해 생성된 3차원모델에 표현이 되도록 한다. 키넥트는 내장된 RGB, 깊이 센서, 그리고 multi-array microphone을 이용하여 사용자 정보를 인식하기 때문에 컨트롤러 없이 상호작용이 가능하다. 키넥트는 별도의 컨트롤러 없이 사람의 동작은 인식하여 많은 사람들이 쉽게 사용 가능하다는 점에서 동작인식을 이용하는 곳에서 많이 사용되고 있다.
* RGB센서에서는 칼라영상을 획득하고 IR 센서에서는 프로젝트를 통해 송출 된 적외선 특정 패턴을 이용하여 깊이 정보를 획득한다. 키넥트를 통해 얻어진 RGB 정보와 깊이 정보는 640×480 해상도를 가지며 초당 30프레임을 출력한다.
* RGB카메라와 적외선 카메라를 이용하여 3차원 데이터 값을 추출 할 수 있는 장비로 RGB영상과 IR카메라를 통한 깊이 정보, 스켈레톤 정보를 제공하기 때문에 기존의 다른 영상 장비에 비해 응용 분야가 넓고 사용이 편리하다.

### 키넥트의 IR 프로젝터
키넥트의 IR 프로젝터는 스캐터(scatter)필름을 통해 산포되어 투영(projection)된다. 참조 영역(reference scene)에서의 투영된 적외선 패턴은 키넥트 메모리에 정보가 달라지는 구간인 객체 영역(object plane)에서 패턴의 변화가 생기는데, 변화된 패턴은 참조 영역에서의 패턴과 시차 비교를 통해 깊이 정보를 계산한다.

### 깊이 영상
* 키넥트는 RGB 영상뿐만 아니라 특정한 적외선 점 패턴을 물체에 투영하여 점 패턴의 특성을 분석하여 깊이 정보를 획득하고 스켈레톤 트랙킹을 제공한다.
* 키넥트 카메라는 깊이 영상 생성을 위해 물체에 반사되어 돌아오는 적외선의 패턴을 수광센서로 검출한다. 하지만 발광장치와 수광센서간의 거리 차이로 인한 사각 지대 발생, 매끄러운 물체 표면으로 인하여 적외선의 난반사가 적게 일어나 수광센서로 레이저가 돌아오지 못하는 경우에 적외선 패턴을 감지할 수 없기 때문에 검출되지 않은 위치에 대한 값은 깊이 영상에서 홀(hole)의 형태로 나타난다. 또한 깊이 정보의 불연속점과 적외선 송출부가 수직일 경우에는 객체 경계 주변에 홀이 발생한다. 따라서 각각의 깊이 영상을 동영상으로 연속 재생 할 경우 경계 주변의 흔들림 현상을 확인할 수 있으며 가상 시점 영상을 생성하기 위해서는 이러한 흔들림 현상을 반드시 제거하여야 한다.
* 깊이영상은 적외선 영사기에서 조사한 적외선 패턴을 적외선 카메라로 읽어 패턴 매칭 방식으로 생성한다. 깊이영상만으로 물체를 분간 할 수 없어 RGB 카메라로부터 얻는 컬러영상을 동시에 이용하여 특정 픽셀의 깊이정보를 얻을 수 있다. 이 정보는 모션인식, 얼굴추적, 3D 재구성 등의 분야에 적극 활용되고 있다. 또한, 키넥트 센서에서는 RGB 카메라 초점거리가 적외선 카메라의 초점거리보다 짧아 컬러영상이 깊이영상보다 더 넓은 범위의 영상을 취득한다. 두 영상의 정확한 정합을 위해서는 두 영상의 초점거리를 맞추어야 한다. 깊이영상의 범위를 넓혀 맞추기 위해서는 보간 기법이 추가로 필요하다.

### 이점
* 키넥트는 지능적인 처리를 통해 인물과 관련된 다양한 정보들을 손쉽게 얻을 수 있는 형태로 제공해주므로 작업이 용이해지며, 작품의 동작 성능에 악영향을 미칠 수 있는 여러 외부요인들을 차단하여 작품이 주변 환경에 크게 영향 받지 않고 원활이 동작할 수 있도록 도와준다. 또한 화면 안에 있는 모든 인물들에 대하여 손과 얼굴을 포함한 신체 15개 주요 부위의 위치를 초당 30 프레임의 속도로 지속적으로 알려주며 보다 복잡한 동작의 인식도 지원함으로써 작업을 수월하게 도와준다. 키넥트는 동작 센서로서뿐만 아니라 관객의 모습을 시각적으로 처리해 보여주고자 하는 거울 형태의 인터랙션 작품에도 효과적으로 활용될 수 있다. 특히 키넥트의 지능적인 인체인식 알고리즘은 특별히 단순하지 않은 일반적 화면 안에서도 큰 무리 없이 작동하여, 배경으로부터 인물 이미지를 분리해내는 작업이 주변 환경으로부터 받는 영향을 상당 부분 줄여준다는 이점을 제공한다.
* Kinect 센서는 가격이 저렴하며 카메라와 IR 센서 Microphone 등이 융합된 센서로 성능이 우수하기 때문에 각광 받고 있으며, 많은 연구가 이루어지고 있다.
* Kinect 센서는 사람의 신체부위 및 움직임을 인식할 수 있기 때문에 센서와 사람 사이의 거리, 각 관절 값 등을 추종하는데 높은 성능을 보여준다. 현재는 많은 학습 알고리즘을 통해 인체의 특징 점은 물론 동작패턴 및 손가락 모양까지도 검출이 가능하다는 이점이 있다.

### 한계점
* RGB 카메라와 IR 카메라가 물리적으로 서로 떨어져 있으므로 두 영상을 일치시키기 위한 조정이 필요하다는 단점이 존재한다. Alternative ViewPointDepthTolmage() 메소드를 사용하여 어느 정도를 일치시키는 것은 가능하나 한계가 있으며 그 이상의 정밀한 조정은 고난도의 기술을 필요로 한다. 또한 태생적으로 게임을 위해 개발된 장비이므로 카메라 앞에서 5미터 이내 정도로 인식 거리가 제한된다. 그리고 스스로 적외선을 송출하고 그것을 사용해 촬영하므로 일반 카메라를 사용한 작업에 비해서는 외부조명의 영향을 한결 적게 받으나 여전히 조명의 영향으로부터 완전히 자유롭지는 못하다. 또, 기본적으로 키넥트는 적외선을 수많은 점광원 형태로 랜덤하게 흩뿌리고 이것이 입체적인 대상과 마주칠 때 원래 송출한 분포패턴이 대상의 형태에 따라 일그러진다는 점을 이용하여 깊이를 인식한다.
* 지화 인식 시스템에서 지화를 인식하는 일련의 과정들은 연속된 동작이 아닌 정적인 상태에 해당하기 때문에 이것을 바로 수화 인식 시스템으로 확장 할 수 없다. 연속된 동작을 인식하기 위해서 한 동작 내의 연속된 프레임을 하나의 패턴으로 분류하고 학습시켜야 하며, 지화 인식 시스템에서 배제했던 얼굴의 정보를 포함시켜야 한다.
* 키넥트 센서는 동적 객체를 바탕으로 골격화를 시도하기 때문에 사람과 비슷한 객체가 존재하더라도 이를 사람이라 인식하고 골격화를 시도하고, 또한 사용자가 어떠한 물체를 들고 있는 상황에서 해당 물체까지 골격화를 시도하기 때문에 정확한 골격화 정보를 인식하지 못하는 문제가 발생한다.

## 사용용도

### xbox one
엑스박스 원은 도시의 작은 방에서도 동작 게임과 피트니스를 즐길 수 있도록 제작된 새로운 1080p HD Kinect와 같이 최신 기술을 적용한 것이 특징이며 SmartGlass 기능을 사용하면 태블릿과 전화기로 Xbox One을 제어하고 상호 작용할 수 있다. 업계 최고의 기술이 접목된 컨트롤러와 진동 트리거는 보다 나은 정확성과 편안함을 제공하여 보다 나은 현실감과 몰입감 있는 게임을 체험할 수 있다. Xbox One은 지속적으로 기능, 콘텐츠 및 성능을 추가 및 확장하면서 더욱 개선되고 있다. 사용자가 게임을 즐기는 동안에 Xbox Live의 업데이트가 백그라운드로 수행된다. Xbox One에 로그인하면 자신의 홈 화면을 보고 디지털 게임을 플레이할 수 있다. 디지털 콘텐츠, 프로필 및 저장 내용을 어디서나 사용할 수 있다. Xbox One의 Kinect는 더욱 정확하고, 더욱 반응이 빠르며, 더욱 직관적이다. 개선된 시야각과 완전히 새로워진 다중 마이크 배열 등 새로운 기능을 경험해 볼 수 있다. 또한, 최고의 게임 컨트롤러가 새로운 진동 트리거 및 방향패드를 포함하여 40여 가지의 혁신적인 기술을 통해 개선 되었고, Xbox One의 혁신적인 아키텍처와 CPU, GPU 및 ESRAM이 결합되어 기능과 성능 면의 완벽하게 균형을 맞추었다.

### xbox 360
초대 엑스박스는 완전한 성공을 거두지는 못했지만, 마이크로소프트의 비디오 게임기 시장 진출의 교두보를 마련했다. 이를 바탕으로 마이크로소프트는 엑스박스의 후속 모델을 준비하기 시작했다. 첫 번째 목표는 최대의 경쟁사인 소니보다 먼저 후속 모델을 출시하고, 한층 고성능을 구현하는 것이었다.

2005년에 출시된 엑스박스의 후속 모델인 ‘엑스박스 360(Xbox 360)’은 기존 엑스박스의 장점이었던 우수한 성능과 엑스박스 라이브 기능을 계승함과 동시에, HD(High Definition)급의 고화질을 구현한 것이 가장 큰 특징이었다. 다만 CPU는 IBM과 공동 개발한 파워PC(PowerPC) 계열로, GPU는 AMD(ATi)의 것으로 바뀌었다. 여기에 기존 엑스박스에 비해 한층 작고 세련된 디자인의 본체를 갖췄으며, 일본쪽 소프트웨어 개발사들도 다수 영입하여 동양권 시장 공략을 위한 배려도 잊지 않았다.
엑스박스 360은 기존 엑스박스를 크게 능가하는 인기를 누렸다. 1년 후에 소니의 플레이스테이션 3가 출시되었지만, 게임 성능 자체로만 따지면 엑스박스 360은 플레이스테이션 3에 밀리지않았고, 엑스박스 360과 플레이스테이션 3로 동시 출시된 몇몇 게임들의 경우, 오히려 엑스박스 360용이 더 우수하다는 평을 받기도 했다.

## 응용기술
* 키넥트는 다수 카메라 및 적외선 카메라를 이용하여 사람의 움직임에 대한 3차원 깊이 정보를 추적한다. 키넥트를 이용한 사람의 동작인식은 카메라를 통한 사람의 동작을 RGB 화상으로 입력을 받는 카메라와 Laser-Pointing 후 깊이를 감지하는 카메라로 구성하고, 입력된 2개의 화상 정보를 디지털 필터링을 통해 가공 후 사람의 동작 인식 정보를 3D Skeleton 데이터로 생성 한다. 생성된 사람의 동작 3D Skeleton 정보는 키넥트의 제스처 인식 알고리즘을 통해 선형데이터로 재가공 하여 UX기 반 비 접촉식 인터페이스로 3D 콘테츠를 제어한다. 또한, Kinect 센서는 레이저를 이용해 사용자에게 적외선을 투사하고 연결점들의 반사파 강도를 측정하고, 반사강도를 통해 거리를 측정하고 반사강도가 약한 점들은 멀리서부터, 강도가 높은 점들은 전면에 있는 사용자로부터 온 것으로 추정한다. 이를 통해 사람의 주요 뼈마디를 인식해 내고 신체 움직임을 감지한다.
* 키넥트 SDK를 통해 관절에 대한 움직임 상태 정보를 얻어올 수 있다. 몸 중심부에 해당하는 Head, Shoulder Center, Spine, Hip Center와 팔에 해당하는 Shoulder, Elbow, Wrist, Hand 정보, 그리고 다리에 해당하는 Hip, Knee, Ankle, Foot 등의 정보이다. 팔, 다리는 두 개씩 이므로 총 20개의 관절에 대한 정보를 추적할 수 있다. 또, 키넥트 SDK와 마이크로소프트에서 제공하는 Speech Recognition을 이용하면 영어 단어에 대한 음성 인식이 가능하다.

## 같이 보기
* 아이토이
* 엑스박스 라이브 비전

## 각주


## 외부 링크

*  (엑스박스 + 키넥트)
*  (키넥트 포 윈도)

분류:게임 컨트롤러
분류:엑스박스 360
분류:엑스박스 원
분류:사용자 인터페이스
분류:응용 기계 학습
분류:3차원 영상