ettrends banner

김영희 (Kim Y.H.) 실감인터랙션연구실 선임연구원
박지영 (Park J.Y.) 실감인터랙션연구실 선임연구원
이준석 (Lee J.S.) 실감인터랙션연구실 책임연구원

Ⅰ. 서론

3차원 복원은 컴퓨터 비젼, 컴퓨터 그래픽스, 모바일 로보틱스 등 여러 분야에서 클래식한 연구주제이다. 최근 깊이정보와 컬러정보를 동시에 획득할 수 있는 RGB-D 카메라가 널리 쓰이게 됨에 따라서 실 공간이나 물체 또는 움직이는 사람의 3차원 복원결과는 다양한 응용분야에 적용되고 있으며 향후 여러 산업분야에서 코어기술로써 자리잡을 것이라는 높은 기대감을 주고 있다.

본고에서는 최근 활발히 연구되고 있는 RGB-D 카메라 기반의 3차원 복원기술 연구동향을 살펴본다. Ⅱ장에서는 하나의 카메라를 움직이면서 연속적으로 입력되는 데이터들을 결합하여 넓은 공간과 정적인 물체, 동적인 사람을 복원하는 기술동향을, Ⅲ장에서는 다수의 카메라를 사용하여 동시에 입력되는 데이터들을 결합하여 실시간 또는 온라인으로 3차원 공간 및 사람을 복원하는 기술동향을 기술한다. 마지막으로 V장에서는 결론 및 향후 발전방향을 기술한다.

Ⅱ. 하나의 RGB-D 카메라 기반 3차원 복원

Microsoft research팀이 2011년 KinectFusion[1] 을 발표한 이후로 저가의 상용 RGB-D 센서를 사용하여 공간 및 객체를 실시간으로 복원하고 3차원 데이터를 생성 및 가시화하기 위한 연구들이 활발히 진행되고 있다.

1. Volumetic Data Structure에 기반한 방법

KinectFusion 방법의 문제점 중의 하나인 카메라 트래킹의 정확도를 높이기 위한 방법들이 많이 제안되고 있으며[2][3], 컴퓨터 그래픽스와 컴퓨터 비젼 분야에서 많이 쓰이는 Point Cloud Library(PCL)에서는 Kinect-Fusion 방법을 오픈소스로 발표함으로써 누구나 쉽게 사용할 수 있게 하였다[4].

최근 KinectFusion이 가지는 복원 가능한 공간의 제약성을 없애고 공간 확장성의 가능성을 보여주는 연구들이 좋은 결과를 보여주었다. Whelan와 그의 동료들이 복원공간의 모든 데이터를 Graphics Processor Unit(GPU) 메모리에 두지 않고 카메라 센서가 위치한 영역의 데이터만을 GPU 메모리에 두고 처리함으로써 복원 가능한 공간을 확장하는 Kintinuous 방법을 제안하였다[5]. 이 방법은 (그림 1)과 같이 방(room) 공간보다 넓은 2층 공간을 복원 가능하게 하였으나, loop closure 문제는 남아있다. Henry는 (그림 2)에서 보여지는 것과 같이 전체 복원공간을 크기와 해상도가 다양한 다수의 볼륨으로 표현하는 Patch volumes 방법을 제안하였다[6]. Volume patch들을 GPU 메모리에 넣고 빼는 방식으로 공간 확장성을 보장하였고, feature matching과 pose-graph 최적화 방법을 사용하여 전역적으로 일관성 있는 카메라 트래킹 방법을 제안하였다.

KinectFusion을 포함한 앞선 방법들은 형태의 변화가 없거나 움직임이 없는 객체나 공간의 복원을 목적으로 하고 있다. RGB-D 센서를 사용하여 움직임이 있는 비정형 객체(defomable objects)를 실시간으로 복원하는 연구가 활발히 진행되고 있다[7]-[9]. Newcombe는 템플릿이나 모델을 사용하지 않고 객체의 모션을 하나의 기준 프레임으로 옮김으로써 센서로부터 입력되는 데이터들을 누적하여 움직이는 물체를 깨끗하게 복원할 수 있는 DynamicFusion 방법을 발표하였다[7][(그림 3) 참조].

(그림 1)
Kintinuous 방법을 적용한 복원결과[5]
(그림 2)
Patch Volumes 방법을 적용한 복원결과[6]
(그림 3)
Dynamicfusion 결과[7]

2. Voxel hasing에 기반한 방법

하나의 RGB-D 카메라를 이용한 3차원 복원은 연속적으로 들어오는 깊이정보를 3차원 공간에 병합하여 축적하는 과정이 필요하다. 3차원 공간을 표현하기 위한 다양한 자료구조를 적용한 방법들이 발표되고 있고 이러한 방법들은 복원 성능, 해상도, 복원공간 확장성에 대해서 trade-off를 가진다.

Point-based 방법은 복잡한 자료구조는 없지만 표면데이터를 바로 생성할 수 없어서 넓은 공간을 실시간으로 복원하기 어렵고[10], height-map 방법은 2.5차원 표현으로 복잡한 환경을 복원하기에 적합하지 않다[11]. Volumetric data structure 방법은 depth map을 Signed Distance Function(SDF)로 변환하여 voxel grid에 축적하고 zero-level set 방법으로 표면정보를 추출하고 raycasting 방법으로 랜더링한다. KinectFusion 방법이 이러한 volumetic 자료구조를 사용하였고 GPU 가속을 사용하여 실시간으로 복원 가능함을 보여주었다. Hierarchical data structures 방법은 공간을 효율적으로 분할하여 처리하나 계산의 복잡성과 병렬성의 부재로 GPU 가속을 적용하기에 적합하지 않다[12].

앞서 설명한 volumetic 방법은 regular voxel grid에 기반한다. Regular voxel grid는 표면 정보가 있는 영역과 표면 정보가 없는 영역을 모두 표현함으로써 저장공간을 많이 필요로 한다. 따라서 넓은 영역을 복원하기 위해서는 해상도를 줄일 수밖에 없다.

Nießner는 복원 해상도를 유지하면서 복원공간의 확장성을 보여주는 voxel hashing 기법을 발표하였다[13]. Voxel hashing 방법은 volumetric 자료구조의장점을 유지하면서, 표면 정보가 있는 영역만을 저장하고 처리할 수 있는 해싱(hashing) 자료구조를 사용하였다[(그림 4a) 참조]. 이 방법은 복셀(voxel) 블록이 호스트(host) 메모리와 GPU 메모리 사이를 양방향으로 가볍게 이동할 수 있게 하고, GPU 가속을 효율적으로 사용할 수 있는 알고리즘을 제시함으로써 (그림 4b)와 같은 고해상도 결과를 보여준다.

(그림 4)
Voxel hashing 자료구조 및 복원결과[13]

3. Structure analysis에 기반한 방법

RGB-D 카메라의 입력 정보와 공간의 구조적 특징을 반영하여 노이즈와 자기 가려짐에 의해 부족해진 정보들로부터 좀 더 깨끗하고 완전한 복원결과를 만들려는 연구들이 수행되고 있다[14]-[16].

Zhang은 실내 공간은 평면(바닥, 벽)과 독립적인 물체(의자, 캐비닛, 책상)로 구성된다는 특징에 기반한 구조 분석(structure analysis)을 통해서, 깨끗하게 복원된 데이터를 만들고 의미있는 객체의 3차원 정보를 추출할 수 있는 방법을 제안하였다[14]. 이 방법은 voxel hashing 방법에 기반하고, 실시간 복원과정에서 물체의 형태와 물체 간의 관계 정보를 지속적으로 업데이트하여 복원의 정확도를 높였다[(그림 5) 참조].

(그림 5)
Structure Analysis를 적용한 복원결과[14]

4. 모바일 디바이스 기반 방법

3차원 복원의 대부분의 방법들이 높은 계산 성능의 GPU 하드웨어를 가진 데스크탑 PC나 워크스테이션기반이다. 최근 들어 모바일 장치들이 multi-core processor와 고성능 GPU 하드웨어로 계산 성능이 좋아짐에 따라서 모바일 장치를 이용한 실시간 3차원 복원에 관한 연구가 활발히 진행되고 있다[17]-[19].

Kahler는 voxel hashing을 기반으로 하여 빠르게 읽고 쓸 수 있는 자료구조와 이에 최적화된 raycasting 방법을 제안함으로써 테블릿 컴퓨터와 같은 모바일 장치에서 50Hz의 성능으로 3차원 복원 및 가시화가 가능함을 보여주었다[17][(그림 6) 참조].

Google의 Project Tango 팀은 인간이 공간을 돌아다니는 것과 동일하게 실 공간을 네비게이션할 수 있는 모바일 장치를 만들고자 하였다. Tango 디바이스를 스캐너처럼 움직여서 실 환경을 복원하고 텍스쳐가 있는 3차원 폴리곤을 실시간으로 만들어 파일로 출력하는 SHISEL 방법을 발표하였다[18][(그림 7) 참조]. 이 방법 또한 Nießner의 voxel hashing 자료구조를 적용하였으나 모든 계산은 모바일 프로세서에서 수행되고, 보여지는 장면만을 폴리곤 메쉬로 만들어 랜더링하였다.

(그림 6)
모바일 디바이스를 이용한 복원[17]
(그림 7)
CHISEL 프로세스 과정 및 결과[18]

Ⅲ. 다수의 RGB-D카메라 기반 3차원 복원

다수의 RGB-D 센서를 동시에 사용하여 공간과 움직이는 사람을 온라인(online)으로 복원하고 가시화하는 기술은 다양한 응용분야에 쓰일 수 있다.

Maimone는 상용 RGB-D 센서를 이용한 telepresence 시스템의 가능성을 보여주었다[20]-[22]. Telepresence 시스템은 원격지에 있는 참여자들이 같은 방에 있는 느낌을 받을 수 있는 가상 화상회의 시스템으로 원격지에 있는 사람들 간의 상호작용 및 소통에 현실감이 있어야 한다. (그림 8)은 룸 규모(room-sized) 공간을 실시간으로 복원하기 위한 시스템 장치를 보여주고, 장비 착용 없이 사용자 헤드 트래킹을 수행하여 사용자의 시선에 맞는 영상을 실물 크기로 가시화하는 과정을 보여준다. 참고문헌 [22]는 RGB-D 센서 각각의 3차원 포인트들로부터 폴리곤 메쉬를 생성하고 병합하는 이전 방식의 문제점을 보완하기 위하여 KinectFusion 방법을 고정된 다수의 센서를 사용하는 환경에 맞도록 변형하여 적용하였다. 다수의 레이어를 가지는 3차원 백그라운드 모델과 깊이정보와 컬러정보를 동시에 사용하는 영역 추출 방법을 도입하여 현재 프레임 데이터를 누적시킬 것인지 현재 프레임 데이터로 이전 데이터를 교체할 것인지를 결정함으로써, 센서의 노이즈, 센서 간 간섭, 가려짐에 의한 데이터 손실에 의한 영상 질 저하를 막아줄 수 있다. 랜더링 과정은 배경은 voxel coloring 방법을 적용하고 움직임 있는 전경 영역에는 현재 프레임 컬러를 사용하는 projective texture mapping 방법을 적용하는 하이브리드 방식을 도입함으로써 노이즈가 적은 깨끗한 영상을 얻을 수 있었다[(그림 9) 참조].

(그림 8)
Telepresence 시스템[20]
(그림 9)
5개 RGB-D 센서로 실시간 복원된 공간[22]

Tele-immersion은 원격지에 있는 사람들이 동일 공간에서 자연스럽게 상호작용할 수 있는 원격존재 기술로써, 물리적 위치와 거리의 제약 없이 사람들이 상호작용할 수 있게 하여 향후 게임, 방송, 엔터테인먼트, 교육 등 다양한 분야에서 응용 가능하다. 이러한 응용을 위해서는 사람과 사물을 사실적으로 복원하고 복원한 사람과 사물을 가상환경에 정확히 위치시키고 또한 복원된 사람과 사물들 간 또는 가상세계와 자연스럽게 상호작용할 수 있어야 한다.

Information Technologies Institute(ITI)의 Visual Computing Lab(VCL)에서는 tele-immersion과 관련된 많은 연구와 콘텐츠 개발이 진행되고 있다. 3차원으로 복원된 사용자가 게임환경에서 가상환경과 인터랙션 할 수 있는 게임의 프로토타입인 ‘Castle in the forest’를 개발하였고[(그림 10a) 참조], 원격에 있는 다수의 플레이어들이 3차원으로 실시간 복원되어 게임에 참여하는 ‘SpaceWars’라는 온라인 3D 게임을 개발하였다[(그림 10b) 참조]. 최근에는 야외에서 스키를 타면서 원격에 있는 스키어들과 함께 경험을 실시간으로 공유할 수 있는 ‘Tele-Immersion ski competition’ 게임의 프로토타입을 개발하였다[(그림 11) 참조]. 그리스에 있는 스키어는 실내에서 3차원으로 복원되고[(그림 11c) 참조], 독일에 있는 실내 스키어는 Head Mounted Display (HMD)장치인 오큘러스 리프트(Oculus Rift)를 착용하고[(그림 11b) 참조] (그림 11a)와 같이 오스트리아에 있는 스키어는 실외 스키장에서 AR glass를 착용하는 방식으로 같은 공간에서 스키를 타는 느낌을 받을 수 있다[(그림 11d) 참조].

(그림 10)
Tele-immersion 3D 게임
(그림 11)
Tele-Immersion ski competition 게임

Tele-immersion 기술을 적용하여 다양한 콘텐츠를 만들기 위해서는 일상생활에서 움직이고 있는 사람을 실시간에 사실적으로 복원하는 것이 매우 중요하다.

Alexiadis와 그의 동료들은 다수의 Kinect 센서를 사용하여 움직이는 사람의 전신을 사실적으로 복원하고 깨끗한 텍스쳐가 있는 메쉬를 생성하는 기술을 발표하였다[23][(그림 12) 참조]. 시스템은 하나의 컴퓨터와 5개의 Kinect센서로 구성되고, Kinect들의 상대적 위치를 파악하기 위하여 사용자가 제작한 물체로 pairwise 캘리브레이션 후 Iterative Closest Point(ICP) 최적화 과정을 거친다. 3차원 복원은 KinectFusion과 유사한 방법을 적용하였고, 텍스쳐 생성은 각 Kinect 센서의 컬러를 보정한 후 낮은 해상도를 가지는 volume coloring 대신에 mesh의 vertex를 RGB 이미지에 프로젝션하는 방식으로 일관성 있는 텍스쳐를 생성하였다.

(그림 12)
4개의 RGB-D 센서로 복원된 결과[23]

LiveScan3D는 다수의 Kinect v2 센서를 사용하여 실시간으로 공간과 물체를 3차원으로 복원하는 시스템의 오픈 소스이다[24]. Kinect v2센서는 하나의 컴퓨터에 하나의 센서만을 연결할 수 있어서 (그림 13)과 같이 4개의 센서를 사용할 경우 4개의 컴퓨터를 사용하고 깊이정보와 컬러정보를 네트워크로 주고 받아야 한다. LiveScan3D 시스템은 하나의 서버와 여러 개의 클라이언트로 구성되고, 서버는 사전에 설정된 마커를 사용하여 캘리브레이션을 수행하고 클라이언트로부터 받은 데이터를 컬러가 있는 포인트들로 가시화하는 기능을 담당한다. 클라이언트는 해당 센서의 깊이정보와 컬러정보를 3D 포인트로 변환하여 서버로 전송한다. (그림 13a)처럼 센서들을 센터로 향하게 하여 사람 또는 작은 물체를 고해상도로 복원할 수 있고 (그림 13b)와 같이 센서를 밖을 향하게 하여 넓은 방 전체를 복원할 수 있다.

(그림 13)
Live3DScan 환경 및 결과

Ⅳ. 결론

본고에서는 최근에 다양한 분야에서 널리 사용되고 있는 RGB-D 센서를 이용한 실시간 3차원 복원기술의 동향에 대해서 살펴보았다.

최근에 3D 프린팅 기술이 주목받고 다양한 제품들이 개발됨에 따라서 고품질의 3차원 모델을 간편하게 만드는 기술이 요구되고 있다. 이미 RGB-D 센서를 장착한 모바일 디바이스가 실시간 복원의 가능성을 보여주었고, 계산 성능이 뛰어난 휴대 단말기들의 출시로 실 환경에 존재하는 모든 것들을 3차원 모델로 복원할 수 있을 것이라는 기대감 또한 높아지고 있다. 현재는 RGB-D 센서를 사용한 3차원 복원기술이 공간 네비게이션, 3차원 모델링, 온라인 3차원 캡쳐 등에 적용되고 있지만 향후 다양한 산업, 교육, 엔터테인먼트 등에서 코어 기술로서 자리잡을 것으로 전망한다.

약어 정리

GPU

Graphics Processor Unit

HMD

Head Mounted Display

ICP

Iterative Closest Point

ITI

Information Technologies Institute

PCL

Point Cloud Library

SDF

Signed Distance Function

VCL

Visual Computing Lab

References

[1] S. Izadi et al., “KinectFusion: Real-Time Dynamic 3D Surface Reconstruction and Interaction,” Procceding ACM SIGGRAPH Talks, Article no. 23, 2011.
[2] F. Endres et al., “An Evaluation of the RGB-D SLAM System,” Proc. IEEE Int. Conf. Robotics and Automation (ICRA),” St. Paul, MA, USA, May 2012, pp. 1691-1696.
[3] T. Whelan et al., “Robust Real-Time Visual Odometry for Dense RGB-D Mapping,” IEEE Inter. Conf. Robotics and Automation (ICRA), May 2013, pp. 5724-5731.
[4] An open source implementation of KinectFusion, http:// pointclouds.org/news/2011/12/08/kinectfusion-open-source/
[5] T. Whelan et al., “Kintinuous: Spatially Extended Kinect-Fusion,” InWorkshop on RGB-D: Advanced Reasoning with Depth Cameras, in conjunction with Robotics: Science and Systems, 2012.
[6] P. Henry et al., “Patch Volumes: Segmentation-based Consistent Mapping with RGBD Cameras,” International Conference on 3D Vision (3DV), June 2013, pp. 1550-6185.
[7] R. Newcomne, D. Fox, and S.M. Seitz, “DynamicFusion: Reconstruction and Tracking of Non-rigid Scenes in Real-Time,” CVPR, 2015.
[8] M. Zollhöfer et al., “Real-time Non-rigid Reconstruction Using an RGB-D Camera,” ACM Transactions on Graphics(TOG), vol. 33, no. 4, July 2014.
[9] G. Ye et al., “Performance Capture of Interacting Characters with Handheld Kinects,” Computer Vision-ECCV, LNCS, vol. 7573, 2012, pp. 828-841.
[10] P. Henry et al., “RGB-D Mapping: Using Kinect-style Depth Cameras for Dense 3D Modeling of Indoor Environments,” International Journal of Robotics Research, vol. 31, 2012, pp. 647-663.
[11] D. Gallup et al., “3D Reconstruction Using an n-Layer Heightmap,” DAGM, LNCS, vol. 6376, 2010, pp. 1-10.
[12] M. Zeng et al., “Octree-based Fusion for Realtime 3D Reconstruction,” Journal Graphical Models, vol. 75, no. 3, May 2012, pp. 126-136.
[13] M. Nießner et al., “Real-time 3D Reconstruction at Scale Using Voxel Hashing,” ACM Transactions on Graphics (TOG), 2013.
[14] T.K. Lee et al., “Indoor Mapping Using Planes Extracted from Noisy RGB-D Sensors,” Proc. IEEE Inter. Conf. Intelligent Robots and Systems, 2012, pp. 1727-1733.
[15] N. Silberman et al., “A Contour Completion Model for Augmenting Surface Reconstructions,“ Computer Vision-ECCV, LNCS, vol. 8691, 2014, pp. 488-503.
[16] Y. Zhang et al., “Online Structure Analysis for Real-time Indoor Scene Reconstruction,” ACM Transactions on Graphics, vol. 34, no. 159, Oct. 2015.
[17] O. Kahler et al., “Very High Frame Rate Volumetric Integration of Depth Images on Mobile Devices,” Proceedings International Symposium on Mixed and Augmented Reality, vol. 22, no. 11, 2015.
[18] M. Klingensmith et al., “CHISEL: Real Time Large Scale 3D Reconstruction Onboard a Mobile Device using Spatially-Hashed Signed Distance Fields,“ Proceedings of Robotics: Science and Systems, July, 2015.
[19] P. Ondruska et al., “MobileFusion: Real-time Volumetric Surface Reconstruction and Dense Tracking on Mobile Phones,” IEEE Transactions on Visualization and Computer Graphics, vol. 21, 2015, pp. 1251-1258.
[20] A. Maimone and H. Fuchs, “Encumbrance-Free Tele-presence System with Real-Time 3D Capture and Display Using Commodity Depth Cameras,” In Mixed and Augmented Reality (ISMAR), 2011.
[21] A. Maimone and H. Fuchs, “A First Look at a Telepresence System with Room-Sized Real-Time 3D Capture and Large Tracked Display Wall,” 21st International Conference on Artificial Reality and Telexistence (ICAT), 2011.
[22] A. Maimone and H. Fuchs, “Real-Time Volumetric 3D Capture of Room-Sized Scenes for Telepresence,” 3DTV-Conference: The True Vision-Capture, Trans-mission and Display of 3D Video, Oct. 2012, pp. 1-4.
[23] D.S. Alexiadis et al., “Real-Time, Realistic Full-body 3D Reconstruction and Texture Mapping from Multiple Kinects,” IVMSP Workshop, June 2013, pp. 1-4.
[24] M. Kowalski et al., “LiveScan3D: A Fast and Inexpensive 3D Data Acquisition System for Multiple Kinect v2 Sensors,” International Conference on 3D Vision, Oct. 2015, pp. 318-325.

(그림 1)

f001

Kintinuous 방법을 적용한 복원결과<a href="#r005">[5]</a>

(그림 2)

f002

Patch Volumes 방법을 적용한 복원결과<a href="#r006">[6]</a>

(그림 3)

f003

Dynamicfusion 결과<a href="#r007">[7]</a>

(그림 4)

f004

Voxel hashing 자료구조 및 복원결과<a href="#r013">[13]</a>

(그림 5)

f005

Structure Analysis를 적용한 복원결과<a href="#r014">[14]</a>

(그림 6)

f006

모바일 디바이스를 이용한 복원<a href="#r017">[17]</a>

(그림 7)

f007

CHISEL 프로세스 과정 및 결과<a href="#r018">[18]</a>

(그림 8)

f008

Telepresence 시스템<a href="#r020">[20]</a>

(그림 9)

f009

5개 RGB-D 센서로 실시간 복원된 공간<a href="#r022">[22]</a>

(그림 10)

f010

Tele-immersion 3D 게임

(그림 11)

f011

Tele-Immersion ski competition 게임

(그림 12)

f012

4개의 RGB-D 센서로 복원된 결과<a href="#r023">[23]</a>

(그림 13)

f013

Live3DScan 환경 및 결과