Journal Search Engine
Search Advanced Search Adode Reader(link)
Download PDF Export Citaion korean bibliography PMC previewer
ISSN : 1229-3059(Print)
ISSN : 2287-2302(Online)
Journal of the Computational Structural Engineering Institute of Korea
Vol.31 No.4 pp.207-213

DOI : https://doi.org/10.7734/COSEIK.2018.31.4.207

Microsoft Kinect-based Indoor Building Information Model Acquisition

Junhee Kim1, Sae-Woung Yoo1, Kyung-Won Min1†
1Department of Architectural Engineering, Dankook University, Yongin, 16890, Korea
Corresponding author: Tel: +82-31-8005-3690; E-mail: kwmin@dankook.ac.kr
June 11, 2018 July 22, 2018 July 23, 2018

Abstract


This paper investigates applicability of Microsoft Kinect®, RGB-depth camera, to implement a 3D image and spatial information for sensing a target. The relationship between the image of the Kinect camera and the pixel coordinate system is formulated. The calibration of the camera provides the depth and RGB information of the target. The intrinsic parameters are calculated through a checker board experiment and focal length, principal point, and distortion coefficient are obtained. The extrinsic parameters regarding the relationship between the two Kinect cameras consist of rotational matrix and translational vector. The spatial images of 2D projection space are converted to a 3D images, resulting on spatial information on the basis of the depth and RGB information. The measurement is verified through comparison with the length and location of the 2D images of the target structure.



Kinect(RGB-Depth Camera)를 활용한 실내 공간 정보 모델(BIM) 획득

김 준 희1, 유 세 웅1, 민 경 원1†
1단국대학교 건축공학과

초록


본 연구에서는 건물 실내 공간 정보 획득을 위해 Microsoft사의 Kinect® v2를 활용한 point cloud 기법을 도입하였다. 카 메라로 취득한 2차원의 투영 공간 이미지 픽셀 좌표를 각 카메라의 보정을 거쳐 3차원 이미지 변환하며 이를 토대로 공간 정보를 구현하였다. 기준점을 중심으로 360° 회전하여 취득한 3차원 이미지를 통해 거리 측정이 불가한 기존의 2차원 이미 지의 한계를 개선하였으며, 이 과정을 통해 얻은 point cloud를 통해 3차원 map을 형성하였다. 형성된 3차원 map은 기존의 공간정보 융·복합을 위한 센서와 비슷한 수준의 측정 효율을 가지면서 동시에 렌즈 왜곡 현상에 대한 후처리 과정을 통해 공간 정보를 정확하게 측정할 수 있도록 하였다. 측정한 결과를 2D 도면과 실제 공간 및 구조부재의 길이 및 위치 등과 비 교하여 검증하였다.



    National Research Foundation of Korea
    2015 R1C1A1A01054155
    2015R1D1A1A01060643

    1. 서 론

    최근 4차 산업혁명과 더불어 다양한 분야에서 3차원 이미지의 활용에 대한 관심이 높아지고 있다. 이러한 3차원 이미지를 활용해 IT, 통신, 센싱 등의 기술 융·복합을 통한 스마트 건축에 대한 연구가 급증하고 있다. 3차원 이미지는 기존의 2차원 이미지에 깊이 정보가 추가된 형태이며 이러한 이미지 정보는 카메라와 레이저 센서를 이용해 취득한다. 또한 취득한 정보를 바탕으로 3D map을 형성하여 건물 실내·외 공간 정보 획득에 활용하고 이를 통해 다방면의 미래 산업의 부가가치를 창출한다. 이러한 행보에 발맞추어 구글은 2014년, Tango Project[1]를 발표하였다. 스마트폰에 depth 카메라를 장착하여 건물의 3 차원 공간 정보를 취득하고 이 정보를 도식화하여 공간유지관리, 인도어 및 아웃도어 네비게이션 등으로 활용하고 있으며 혼합 현실(mixed reality)을 통해 특정 사물이나 건물 전체를 스캔 하여 3D 모델로 활용하고 있다. 또한 실내 공간 매핑 및 공간 내 기기의 위치와 방향을 인식하는 등 이미지를 이용한 다양한 연구를 진행하고 있다.

    현재 공간정보 융·복합을 위한 LiDAR(light detection and ranging) 센서는 미국의 Velodyne[2], Quanergy[3], Faro[4], 독일의 Sick[5], Z+F Profiler[6], Riegl[7], Ireo[8], 일본의 Hokuyo[9] 등이 있다. 미국의 Faro[4]의 경우 단일 포인트 센서와 360° 회전이 가능한 기계식 모터를 바탕으로 3D 모델링과 건축물의 실내·외 이미지 구현 및 3차원 공간 정보 측정, 스캐닝 등 건축 사업에 활발히 사용 중이다. 하지만 경제성이 매우 떨어지며 모터 사용에 대한 고장 위험성이 높고 단일 포인트 센서를 사용하기 때문에 데이터를 취득하는 데 상당한 시간이 필요하다. 또한 설치 후 움직임이 어려워 보다 많은 실내 공간 정보를 획득하고자 하는 경우 어려움이 따른다.

    본 연구에서는 기존의 고가형 기계식 LiDAR의 단점을 보완하는 저가형 전자식 LiDAR인 Kinect v2(Yulu, 2017)를 사용하였다. Microsoft사의 Kinect v2는 v1의 후속 모델로 센서의 정확성 및 측정 가능 범위를 향상시킨 모델이다. 22만 개의 복수 포인트 센서를 사용하는 Kinect v2는 한 번에 많은 양의 데이터를 얻을 수 있으며 경제성이 우수하고 조작이 간단 하다. 또한 4.5m까지의 깊이 정보 취득이 가능하고 장비의 이 동성이 능동적이기 때문에 실내 공간 정보 및 위치 정보 획득이 용이하다. 이러한 Kinect v2를 사용해 RGB, Depth 좌표 (6개의 공간 좌표)를 획득하고 실험을 통한 성능 검토 및 적용성 확인, 3D 공간 정보를 구현하는 방법론과 연구방향성에 대해 제안한다.

    2. Kinect 센서 원리

    2.1. 3차원 측정 장비 Kinect v23차원 측정 장비 Kinect v2

    Kinect v2는 RGB 카메라, IR(infrared) Emitter와 IR 카메라로 구성된 복합 장치로서 깊이 정보와 이미지 및 3차원 좌표를 인식할 수 있는 카메라이다. Fig. 1(a)는 Kinect v2의 외부 모습이며 (b)는 Kinect v2의 내부 모습이다.

    Kinect v2는 삼각측량 방법을 사용하여 공간상의 좌표를 취득하며, 픽셀 단위의 범위 측정을 포함하는 각각의 이미지는 2차원 픽셀 좌표에서 3차원 공간 좌표로 재구성할 수 있다. Kinect v2의 구성은 Table 1과 같다.

    2.2. Kinect v2 RGB 카메라

    Kinect v2의 RGB 카메라는 일반적인 핀홀 카메라와 동일한 모델로써 하나의 카메라에 의해 묘사된 3차원 좌표에서 2차원 좌표로의 매핑은 공간 좌표를 이미지 평면으로 투시 투영한 것 으로 각 차원 간 변환 과정에서는 렌즈계의 특성에 따른 이미지 왜곡 등도 같이 고려되어야 한다.

    카메라의 초점(렌즈의 중심)을 원점으로 카메라의 정면 광학축 방향을 Z 축, 카메라 아래쪽 방향을 Y축, 오른쪽 방향을 X 축으로 설정한다(Fig. 2). Fig. 2는 공간상의 좌표 P (X, Y, Z) 와 이미지 평면의 원점 (x, y) 과 이미지 평면 좌표 p(x, y) , 이미지 평면의 픽셀 좌표 원점 (u, υ) 을 나타내며 여기서 f는 렌즈 중심과 이미지까지의 거리이다. 또한 x0, y0은 이미지 평면의 원점(x, y) 과 픽셀 좌표 원점(u, υ) 의 이격거리를 나타 낸다. 이 때 공간상의 좌표 P (X, Y, Z) 에 대응하여 이미지가 투영되는 이미지 평면의 p(x, y) 사이 관계는 다음과 같이 나 타낼 수 있다(Dal, 2013).

    f : Z = x : X , f : Z = y : Y
    (1)

    여기서, 표현된 좌표는 3차원 좌표이며 이미지 평면은 2차원의 픽셀 좌표다. 따라서 두 좌표를 변환하려면 해당 이미지의 mm당 픽셀 수를 파악해야 하며, 이를 위해 k(픽셀 길이변환 계수 ([μm]))를 사용한다. Matlab을 이용해 취득한 픽셀 길 이변환계수와 이미지 좌표 원점 및 픽셀 좌표 원점의 이격거리 를 곱한 kx0 , ky0은 중심교정변수(de-centering parameter) 라 한다. 또한 이미지 평면의 픽셀 좌표(u, υ) 는 다시 u = k(x + x0) 와 υ = k(y + y0)로 나타낼 수 있으며 식 (1)을 통해 다음과 같이 식 (2)로 나타낼 수 있다.

    u = k f X Z + k x 0 , υ = k f Y Z + k y 0
    (2)

    따라서, 3차원 공간 좌표 P (X, Y, Z) 와 2차원 이미지 픽셀 좌표 (u, υ) 는 식 (1)과 식 (2)을 토대로 다음과 같은 관계식 으로 나타낼 수 있다.(3)

    Z [ u υ 1 ] = [ k f 0 k x 0 0 k f k y 0 0 0 1 ] [ X Y Z ]
    (3)

    2.3. Kinect v2 IR 카메라

    Kinect v2의 IR 카메라는 카메라의 광원(IR emitter) 으로부터 측정물의 표면 방향으로 적외선을 보내어 수신되는 파의 위상차로부터 거리를 계산하는 TOF(time of flight)와 카메라 두 대 사이의 픽셀 정보를 조율하고 깊이 정보를 추출 하는 스테레오 비전 시스템을 사용한다(Fig. 3). 그림과 같이 각 카메라로부터 입력되는 거리 정보를 투영 공간으로 표현하여 2차원 배열에 대한 각 픽셀 정보를 구성한다(Lembit, 2016).

    측정되는 깊이 Z 는 2대의 카메라 사이 수평거리 b와 카메라의 초점 거리 f, 각 카메라의 이미지 평면의 픽셀 좌표의 차이인 d(=uC - uE)로 계산할 수 있으며 다음과 같은 수식으로 나타 낼 수 있다.(4)

    Z = b × f d
    (4)

    계산된 Z와 IR 카메라의 이미지 픽셀 좌표(uIR, υIR) 를 바탕 으로 공간상의 좌표 P (X, Y, Z) 를 역으로 추정할 수 있다.

    [ X Y Z ] I R = [ k f 0 k x 0 0 k f k y 0 0 0 1 ] I R 1 [ u I R υ I R 1 ] Z
    (5)

    2.4. IR 공간 좌표의 RGB 이미지로 투영

    본 논문에서는 카메라로 취득한 3차원 좌표를 2차원의 투영 공간 이미지 픽셀 좌표로 변환하고 IR 공간 좌표를 RGB 공간 좌표 및 이미지로 투영하는 방법에 대해 논한다(Branko, 2015). Matlab의 pcfromKinect 함수를 사용하여 얻은 IR 이미지와 RGB 이미지를 토대로 식 (5)로부터 얻은 IR 카메 라의 공간상의 좌표를 RGB 카메라의 공간상의 좌표로 변환 한다. 이 때 두 카메라는 일정한 간격으로 떨어져 있으며 각 카메라가 취득하는 이미지의 좌표가 일치하지 않는다. 따라서 두 이미지의 좌표를 일치시키는 [R ǀ T]를 이용하여 IR 이미지의 공간 좌표를 RGB 이미지의 공간 좌표와 일치시킨다.(6)

    [ X R G B Y R G B Z R G B ] = [ R ] [ T ] [ X I R Y I R Z I R ]
    (6)

    RGB 이미지에 맞게 결합된 IR 이미지의 공간 좌표를 다시 이미지의 픽셀 좌표로 변환하는 과정을 거쳐 IR 공간 좌표를 RGB 이미지로 투영시킨다.

    u R G B = k f R G B X R G B Z R G B + k x 0 , R G B
    (7a)

    υ R G B = k f R G B Y R G B Z R G B + k y 0 , R G B
    (7b)

    이때 거리 정보가 투영된 공간에서 취득한 IR 이미지의 픽셀 좌표와 3차원 공간상의 점들 사이에는 카메라의 내부적 요인 들이 작용하는데 각 좌표간의 상호변환을 위해서는 이러한 내부적 요인들을 고려하여 계산하여야 한다.

    3. Kinect 센서 변수 결정

    3.1. 내부 변수 보정

    카메라의 내부 변수는 3차원 공간을 2차원 이미지 평면에 투영시키기 위해 필요한 변수로써, 각 카메라의 내부 변수는 체커보드(checkerboard) 실험(Fig. 4)을 통해 최적의 값을 도출하였다(Michael, 2016). Matlab의 calib_gui 함수를 사용하여 실험을 진행하였으며 다양한 각도로 촬영한 여러 장의 체커보드 이미지를 취득하였다. 본 논문에서는 총 17장의 체커 보드 이미지의 918개의 좌표를 획득하고 카메라의 추정 좌표 와의 비교를 통해 변수 값들을 추정하였다.

    취득한 이미지에서 얻은 체커보드의 실제 (x,y) 좌표를 Pchecker = [xy 1]T 라 하며, 체커보드의 해당 좌표를 추정하는 카메라의 추정 (x,y) 좌표를 P ^ c h e c k e r = [ x ^ y ^ 1 ] T 라 한다. 또한 Pchecker P ^ c h e c k e r 의 관계를 나타내는 함수를 f라 정의하며 두 좌표는 P c h e c k e r = f ( α , P ^ c h e c k e r ) 로 표현 할 수 있다. 이 때 αPchecker P ^ c h e c k e r 사이의 관계값이다. 두 좌표를 최적화 해주 는 관계값(α )을 계산하기 위해 Matlab의 go_calib_optim 함수를 사용하여 실험을 진행하였으며 취득한 데이터를 토대로 식 (8)을 이용해 각 카메라의 최적의 내부 변수 값을 도출하였다.

    [ α ^ ] = arg min α 1 N i = 1 N [ P c h e c k e r i f ( P ^ c h e c k e r i , α ) 2 ]
    (8)

    실험을 통해 얻은 RGB 카메라와 IR 카메라의 최적의 변수는 Table 2와 같다. 여기서 카메라의 내부 변수는 K 로 기술하며 K = [ k f 0 k x 0 0 k f k y 0 0 0 1 ] 이다(Smisek, 2011). 또한 각 카메라의 이미지를 정확하게 나타내기 위해서는 카메라 모델의 방사형 및 접선 렌즈 왜곡 보정이 포함되어야 한다.

    Kinect v2의 내부 변수의 값 중 왜곡 보정 계수인 d1, d2, d3(방사형 왜곡 계수), p1, p2(접선 왜곡 계수)를 사용하여 RGB 이미지와 IR 이미지에 발생하는 왜곡 현상을 보정하여 실험을 진행하였다.

    3.2. 외부 변수 보정

    RGB·IR 이미지의 좌표 보정에 사용되는 카메라 외부 변수는 각 좌표계 사이의 변환 관계를 설명하는 변수로서 두 좌표계 사이의 회전 및 평행이동 변환으로 표현된다. 외부 변수 취득을 위해 RGB 카메라와 IR 카메라의 내부 변수를 근거로 사용하 였으며 Matlab의 stereo_gui 함수를 사용하여 두 좌표계 사이의 최적의 회전 및 평행이동 변수 [ R ^ , t ^ ] 값을 추출하였다 (Smisek, 2011).

    RGB 이미지의 체커보드 좌표를 RGBi, IR 이미지의 체커 보드 좌표를 IRi 라 하며 두 좌표 사이의 관계를 나타내는 [ R ^ , t ^ ] 는 다음과 같이 나타낼 수 있다.

    [ R ^ , t ^ ] = arg min [R,t] 1 N i = 1 N [ [ R G B i ] [ R × I R i + t ] 2 ]
    (9)

    실험(Fig. 5)을 통해 얻은 두 좌표 사이의 계산된 최적의 회전 행렬은 R = [ 1 0.0005 0.0034 0.0006 1 0.0131 0.0034 0.0131 0.9999 ] 으로 각각 x축 으로 -0.75°, y축으로 0.19°, z축으로 -0.03°만큼의 회전을 통해 두 이미지를 보정하였다. 또한 평행이동변수 (translate vector)는 t = [52.7732 - 1.0308 1.3045]로 RGB 카메라와 IR 카메라(RGB 이미지와 IR 이미지) 사이의 실제 거리가 약 5cm인 것과 비교하였을 때 5%이내의 오차를 확인하였다.

    4. 실험 및 검증

    본 논문의 목적은 RGB, Depth 좌표(6개의 공간 좌표)를 획득하고 이를 통해 실내 공간 정보를 구현하는 것으로 단국대 학교 제1공학관 건축동역학 실험실(Fig. 6)의 가로 7m, 세로 7.2m 공간에서 실험을 진행하였다.

    실험에 사용된 장비(Fig. 7)는 깊이 정보와 이미지 및 3차원 좌표를 인식할 수 있는 RGB-Depth 카메라인 Microsoft사의 Kinect v2를 사용하였으며 X, Y, Z 축 회전이 가능한 Manfrotto사의 3자유도 삼각대를 사용하여 실험을 진행하였다.

    카메라 좌표계 Y축 기준으로 회전하여 공간 전체 이미지를 취득하였으며 그 중 일부 이미지를 비교하였다. 실험에 사용된 이미지는 IR 이미지와 RGB 이미지를 상호 변환시킨 것으로 RGB 이미지를 기준으로 IR 이미지를 변환하여 최적의 이미 지를 취득하였다(Fig. 8).

    취득한 RGB 이미지와 IR 이미지를 비교한 위의 그림의 Fig. 8의 (a)는 1920×1080 해상도의 RGB 이미지이며, (b)는 1920×1080 해상도의 IR 이미지이다. RGB 카메라의 FOV 는 84.1°×53.8°, IR 카메라의 FOV는 70.6°×60°로 두 이미 지가 취득하는 이미지의 크기가 다른 것을 확인하였다(Fig. 9).

    Fig. 9의 (a)는 식 (5, 6, 7, 8)을 이용하여 512×424의 3차원 IR 공간 좌표(Fig. 9의 (b))를 1920×1080의 2차원 RGB 이미지 좌표로 변환한 것으로 [ R ^ , t ^ ] 을 사용하여 RGB 이미지 좌표를 기준으로 하는 IR 이미지 좌표를 형성(Walid, 2017)하였다(Fig. 10).

    깊이 정보가 주어진 변환된 IR 이미지(Fig. 9(a))와 기존의 RGB 이미지(Fig. 8(a))를 결합하였으며, 이미지를 결합 후 형성된 하나의 point cloud 이미지(Fig. 10(b))를 기준으로 서로 다른 6개의 이미지를 결합하였다(Nami. 2012). 이 때 깊이 정보가 주어지지 않은 1920×1080의 2차원 IR 좌표는 결합 대상에서 제외하였으며 각 이미지에 발생되는 왜곡 현상 에 대한 보정을 거쳐 실험을 진행하였다. 취득한 이미지는 60° 회전 변환으로 회전행렬(R (α, β, γ) )을 사용하여 결합하였으 며 실제 카메라의 회전 각도와 이미지의 회전 각도를 비교하여 계산된 카메라의 X 축, Y축, Z 축의 회전각 R (0, 60, 0)을 적용한 후 각 이미지를 결합하는 과정을 반복하여 실험을 진행 하였으며 이를 토대로 3차원 point cloud로 나타내었다(Fig. 11).

    카메라의 제한된 FOV로 인한 바닥 및 천장 정보를 제외한 공간 정보를 취득하였으며 실험을 통해 얻은 3차원 point cloud를 2D 캐드도면과 비교하여 실험의 유효성을 입증하였다 (Fig. 12).

    실험 결과의 정량적 정밀도 분석을 위해 실험실의 주요 구조 부재와 비교하였다. Table 3은 가로(장변) 길이 7m, 세로 (단변) 길이 7.2m의 실험실의 실제 구조부재와 비교한 것으로 평균 5% 이내의 오차로 실험실 내 구조부재와 매우 유사한 길이 정보를 취득한 것을 확인 할 수 있었으며 가구 등을 제외한 전체 공간과 비교하였을 때 평균 3% 오차를 확인 할 수 있었다.

    5. 결 론

    본 논문에서는 Kinect v2를 이용하여 3차원 이미지를 구현 하고 이를 활용해 공간 정보를 획득하는 방법을 파악하였다. 세부적으로, 카메라의 이미지, 픽셀 좌표계 간의 관계를 파악 하였으며 각 카메라의 보정을 거쳐 깊이 정보와 RGB 정보를 취득하고 실험을 통해 실내 공간을 구현하였다. IR 카메라와 RGB 카메라로부터 입력받은 2개의 이미지를 결합 할 때 각 카메라의 FOV의 차이로 인해 깊이 정보가 생기지 않는 RGB 이미지의 일부분은 제외하였으며 본 건물의 설계도면과의 비교를 통해 실험의 유효성을 입증하였다. 최종적으로 Kinect v2를 활용한 3차원 실내 공간 정보 point cloud의 기존 설계도면과의 비교를 통해 정확도를 확인하였다.

    감사의 글

    본 연구는 2018년도 정부(교육과학기술부)의 재원으로 한국 연구재단의 지원을 받아 수행된 신진연구지원사업(NRF-2015 R1C1A1A01054155), 기초연구사업(NRF-2015R1D1A1A0 1060643)임.

    Figure

    COSEIK-31-207_F1.gif

    Kinect v2 entire model

    COSEIK-31-207_F2.gif

    RGB camera

    COSEIK-31-207_F3.gif

    Stereo vision system

    COSEIK-31-207_F4.gif

    Intrinsic parameters experiment using checkerboard

    COSEIK-31-207_F5.gif

    Checkerboard image

    COSEIK-31-207_F6.gif

    Space image

    COSEIK-31-207_F7.gif

    Experimental set-up of 3D scannig

    COSEIK-31-207_F8.gif

    Intial image

    COSEIK-31-207_F9.gif

    Calibrated image

    COSEIK-31-207_F10.gif

    Combine image

    COSEIK-31-207_F11.gif

    Entire 3D point cloud image

    COSEIK-31-207_F12.gif

    Line image

    Table

    Kinect v2 configuration

    Kinect v2 intrinsic parameters

    LAB Information

    Reference

    1. Bc, J.S. (2011) 3D Camera Calibration, Center For Machine Perception, pp.4~34.
    2. Branko, K. (2015) Calibration of Kinect type RGB-D Sensors for Robotic Applications , FME Trans., 47, pp.47~54.
    3. Dal Mutto, C. , Zanuttigh, P. , Cortelazzo, G.M. (2013) Time of Flight Cameras and Microsoft Kinect, pp.3~68.
    4. Lembit, V. (2016) 3D Reconstruction using Kinect v2 Camera, Bachelor’s thesis (12 ECTP).
    5. Michae, J.L. , Benjamin, Y.C. , Peter, A.B. (2016) Simulating Kinect Infrared and Depth Images , IEEE Trans. Cybern., 6(12), pp.3018~3031.
    6. Nima, R. , Jie, G. , Mohsin, K.S. , Chris, G., H. Elix, L. (2012) Analysis of XBOX Kinect Sensor Data for use on Construction Sites: Depth Accuracy and Sensor Interference Assessment , Construction Research Congress, pp.848~857.
    7. Smisek, J. , Jancosek, M. , Paidla, T. (2011) 3D with Kinect , 2011 IEEE Int. Conf. Computer Vision Workshops, Barcelona, Spain, pp.1154~1160.
    8. Walid, D. , Shenjum, T. , Wenbin, L. , Wu, C. (2017) A New Calibration Method for Commercial RGB-D Sensors, Sensor, 17.
    9. Yulu, L.C. , Mohamed, A. , Mohammad, R.J. , Sami, F.M. (2017) Color and Depth Data Fusion using and RGB-D Sensor for Inexpensive and Contactless Dynamic Displacement Field Measurement, Wiley, pp.1~14.