☞ 문서의 내용은 가장 하단 참고문헌 및 사이트를 참고하여 필자가 보기 쉽도록 정리한 내용입니다.
☞ 틀린 내용 및 저작권 관련 문의가 있는 경우 문의하시면 수정 및 삭제 조치하겠습니다.
차세대 Kinect for Windows
2012년에 미국 마이크로소프트에서 발매된 Kinect v1은 Depth(=깊이)과 Skeleton(=인물 자세)등의 정보를 쉽게 얻을 수 있기 때문에 전 세계의 개발자와 연구자로부터 주목받았다. 2014년에 발매된 Kinect v2는 Kinect v1에 비해 하드웨어, 소프트웨어 모두 크게 진화했다. 2019년 공개된 Azure Kinect는 기존 키넥트와는 다르게 완전히 산업용으로 나와 여러 대를 연동하거나 하는 기능이 추가됐다.
외관 비교
Kinect v1의 Depth 센서는 투광한 적외선 패턴을 읽고 패턴의 왜곡에서 Depth정보를 얻는 Light Coding이라는 방식을 채용하고 있다. 따라서 Depth 센서는 적외선 패턴을 투광하는 IR 프로젝터(왼쪽)와 그것을 읽을 IR 카메라(오른쪽)로 나누어져 있다. 또한 Depth센서 사이에 Color 카메라가 탑재되어 있습니다.
Kinect v2의 Depth 센서는 투광한 적외선이 반사되어 돌아오는 시간에서 Depth정보를 얻는다. Time of Flight(TOF)라는 방식을 채용하고 있다. Depth 센서는 외관에서 보이지 않지만 Color 카메라 옆에 적외선 카메라(왼쪽)와 펄스 변조된 적외선을 투광하는 프로젝터(오른쪽)에 탑재되어 있습니다.
Azure Kinect의 Depth센서는 Kinect v2와 마찬가지로 TOF방식을 채용하고 있다. 가장 왼쪽에 Color 카메라가 있고 옆에 IR 카메라가 있으며 그 옆에 IR 프로젝터가 있습니다.
아래 그림은 Kinect v1(왼쪽), Kinect v2(중앙), Azure Kinect(오른쪽) 의 외관을 보여줍니다.
사양 비교
Kinect v1, Kinect v2, Azure Kinect 센서의 사양은 아래 표와 같습니다.
Kinect v1 |
Kinect v2 |
Azure Kinect |
||
색상 |
해상도 |
640 x 480 |
1920 x 1080 |
3840 x 2160 |
fps |
30 |
30 |
30 |
|
심도 |
해상도 |
320 x 240 |
512 x 424 |
640 x 576 |
fps |
30 |
30 |
30 |
|
인물 |
6 |
6 |
5 |
|
인물 자세 |
2 |
6 |
5 |
|
관절 |
20 관절 / 사람 |
25 관절 / 사람 |
32 관절 / 사람 |
|
심도의 취득 범위 |
0.8 ~ 4.0m |
0.5 ~ 8.0m |
0.25 ~ 5.46m |
Kinect v1의 Color 이미지는 해상도가 640 x 480로 해상도가 낮아 깨끗한 이미지를 얻을 수 없습니다. Kinect v2는 해상도가 향상되어 1980 x 1080의 깨끗한 이미지를 얻을 수 있습니다. 그리고 Azure Kinect에서는 최대 3840 x 2160 해상도로 매우 고화질의 이미지를 얻을 수 있습니다.
아래 그림은 Kinect v1(왼쪽), Kinect v2(중앙), Azure Kinect(오른쪽) 의 Color 카메라 이미지를 보여줍니다.
Kinect v2의 Depth 해상도는 512 x 424입니다. Kinect v1은 Depth를 640 x 480에서 Depth 데이터를 얻을 수 있습니다. 겉보기에는 Kinect v2가 스펙이 떨어지는 것처럼 보입니다. 하지만 640 x 480 해상도는 320 x 240 해상도를 업스케일링한 것으로 Kinect v2가 더 해상도가 좋다고 말할 수 있습니다. Azure Kinect는 Kinect v2보다 조금 더 좋아진 640 x 576 해상도로 Depth 데이터를 얻을 수 있습니다.
Kinect v1에서는 Depth 데이터를 얻을 수 있는 범위가 0.8 ~ 4.0m였습니다. Kinect v2에서는 0.5 ~ 8.0m로 대폭 늘어난 것을 볼 수 있습니다. Azure Kinect는 0.25 ~ 5.46m로 다른 Kinect 보다 좀 더 가까운 Depth 데이터를 얻을 수 있게 됐습니다. 그리고 다른 Kinect 보다 좀 더 정밀한 Depth 데이터를 얻을 수 있습니다.
아래 그림은 Kinect v1(왼쪽), Kinect v2(중앙), Azure Kinect(오른쪽)의 Depth 카메라 이미지를 보여줍니다.
모든 Kinect에서 얻을 수 있는 Player(=인물 영역)은 6명입니다. 하지만 Skeleton의 경우 Kinect v1은 2명 Kinect v2는 6명, Azure Kinect는 5명까지 얻을 수 있습니다. 또한 Skeleton에서 얻을 수 있는 Joint는 Kinect v1 (20 Joint), Kinect v2 (25 Joint), Azure Kinect에서는 (32 Joint)로 모두 다릅니다. 아래 그림과 같이 Kinect가 업그레이도 되면서 좀 더 세세한 정보까지 얻을 수 있게 되었습니다.
아래 그림은 Kinect v1(왼쪽), Kinect v2(중앙), Azure Kinect(오른쪽)의 Skeleton과 각 Joint 이미지를 보여줍니다.
Kinect v1은 틸트 모터가 탑재되어 있었지만, Kinect v2, Azure Kinect는 틸트 모터가 탑재되어있지 않아 수동으로 조절해줘야 합니다. Kinect v1은 여러 응용 프로그램이 동시에 같은 센서에 연결할 수 없습니다. Kinect v2는 여러 응용 프로그램이 동시에 한 개의 Kinect를 사용할 수 있지만 여러 대의 Kinect를 사용할 수는 없습니다. Azure Kinect는 여러 대의 Kinect를 동시에 사용할 수 있고 여러 응용 프로그램이 한 개의 Kinect를 사용할 수도 있습니다.
Kinect v1, Kinect v2, Azure Kinect 센서의 최소 작동 요구 사항은 아래 표와 같습니다.
Kinect v1 |
Kinect v2 |
Azure Kinect |
|
OS |
Window7 이후 |
Window 8 이상 (x64) |
Window 10 (x64) |
컴파 |
Visual Studio 2010 |
Visual Studio 2012 |
Visual Studio 2015 |
연결 |
USB 2.0 |
USB 3.0 |
USB 3.0 |
CPU |
Dual-Core 2.66 GHz |
Intel Core i7 3.1 GHz 이상 |
7세대 Intel coretm i5 2.4 GHz 이상 |
GPU |
DirectX 9.0c |
DirectX 11.0 |
NVIDIA GEFORCE GTX 1070 이상 |
RAM |
2.0GB 이상 |
4.0GB 이상 |
4.0GB 이상 |
참고자료