DOI QR코드

DOI QR Code

키넥트 센서를 이용한 인공표식 기반의 위치결정 시스템

A Landmark Based Localization System using a Kinect Sensor

  • Park, Kwiwoo (Dept. of Control and Robot Engineering, Chungbuk National University) ;
  • Chae, JeongGeun (Dept. of Control and Robot Engineering, Chungbuk National University) ;
  • Moon, Sang-Ho (Division of Computer Technology, Yeungnam College of Science&technology) ;
  • Park, Chansik (Dept. of Control and Robot Engineering, Chungbuk National University)
  • 투고 : 2013.10.20
  • 심사 : 2013.12.03
  • 발행 : 2014.01.01

초록

In this paper, a landmark based localization system using a Kinect sensor is proposed and evaluated with the implemented system for precise and autonomous navigation of low cost robots. The proposed localization method finds the positions of landmark on the image plane and the depth value using color and depth images. The coordinates transforms are defined using the depth value. Using coordinate transformation, the position in the image plane is transformed to the position in the body frame. The ranges between the landmarks and the Kinect sensor are the norm of the landmark positions in body frame. The Kinect sensor position is computed using the tri-lateral whose inputs are the ranges and the known landmark positions. In addition, a new matching method using the pin hole model is proposed to reduce the mismatch between depth and color images. Furthermore, a height error compensation method using the relationship between the body frame and real world coordinates is proposed to reduce the effect of wrong leveling. The error analysis are also given to find out the effect of focal length, principal point and depth value to the range. The experiments using 2D bar code with the implemented system show that the position with less than 3cm error is obtained in enclosed space($3,500mm{\times}3,000mm{\times}2,500mm$).

키워드

1. 서 론

오늘날의 항법은 자동차, 스마트폰에서 위치정보 제공의 역할 뿐만 아니라 지능형 로봇, 자율이동자동차 등의 미래형 시스템의 자율항법에 필수적 요소가 되었다. 특히 정확한 자율항법을 위해서는 정확한 위치결정 시스템이 필요하다[1]. 대표적인 위치결정 방법으로 위성을 활용한 GPS(Global Positioning System)가 많이 사용되고 있다. 그러나 GPS는 실내 환경에 적용되기 힘든 단점을 갖고 있다. 이 문제점을 해결하기 위해 실내에서 사용할 수 있는 많은 위치결정 기법이 연구되고 있다[2]. 관성센서를 이용한 실내항법 기법은 별도의 시설 구축 없이 사용할 수 있다는 장점이 있으나 시간이 지남에 따라 증가하는 누적오차가 발생하는 단점이 있어 독립적으로 사용하기 어렵다. WiFi, Zibgee, RFID 등의 RF(Radio Frequency)를 이용한 기법의 경우 정확도가 낮고 주변 환경에 따라 변화가 심해 초음파, 적외선 등의 추가센서, 비콘, 노드 등의 별도의 시설이 필요한 단점이 있다[2-4]. 반면, 영상을 기반으로 한 위치결정 방법은 연산 량이 많고 조도에 영향으로 실내에 한정된다는 단점이 있지만 영상으로부터 많은 공간정보를 얻을 수 있으며 상대적으로 가볍고 저가이며 저 전력 이라는 장점이 있어 실내 환경의 위치결정에 해결책으로 많이 연구되고 있다. 일반적으로 영상을 기반으로 한 위치결정 기법의 위치정확도는 10cm 내외로 다른 방식에 비해 상대적으로 정확하다[3-5].

영상을 이용한 위치결정 방법은 사용되는 카메라에 따라 단일영상, 구조광을 활용한 영상, 스테레오 영상, 전 방향 영상 등으로 나뉜다[4-7]. 그 중 Microsoft의 키넥트 센서는 구조광을 활용한 대표적인 예로 초당 30프레임의 컬러영상과 깊이영상을 제공하여 실시간 동작이 가능하다. 키넥트 센서는 각을 이용하는 단일영상 보다 거리측정치의 정확도가 높으며 스테레오, 전 방향 영상 등에 비해 저렴한 가격으로 구성이 가능해 매우 실용적이다[4,5]. 키넥트 센서를 이용해 구현된 위치결정 시스템을 로봇에 적용하면 경제적이며 정확한 자율항법을 수행하는 로봇을 구성할 수 있다.

본 논문에서는 경제적이며 정확한 자율항법을 수행하는 로봇 구현을 위한 위치결정 방법으로 키넥트 센서와 인공표식을 이용한 위치결정 기법을 제시하고 이를 실제 구현하여 검증한다. 제안하는 위치결정 방법은 먼저 키넥트 센서로 취득한 컬러영상과 깊이영상을 이용해 인공표식의 영상위에서 위치와 그 깊이정보를 구한다. 이 정보를 이용하여 좌표계간의 변환 행렬을 정의하고, 이를 이용하여 영상좌표계의 인공표식의 위치를 항체 좌표계로 변환한다. 항체좌표계에서의 위치 벡터의 크기로부터 항체와 인공표식간의 거리를 구하고, 최종적으로 삼각측량법을 적용하여 실세계 좌표계에서 항체의 위치를 구하는 과정을 소개한다. 이 과정에서 키넥트 센서의 컬러영상과 깊이영상 부정합으로 발생하는 거리측정오차를 핀홀(pinhole) 모델을 이용해 제거하는 기법을 제시한다. 또한 삼각측량법에서 지면과의 수평유지의 부정확함으로 인하여 발생하는 높이 오차를 영상에서 구한 높이로 보상하는 방법을 제안한다. 제안한 위치결정기법을 검증하기 위하여 실제 환경에 2D 바코드를[8] 인공표식으로 구축하고 위치결정 실험을 수행한다. 키넥트 센서의 초점거리 (focal length), 주점(principal point) 및 깊이정보(depth) 오차가 거리측정치에 미치는 영향을 분석하고, 이 결과와 실험 결과를 비교하여 그 타당성을 검증한다.

 

2. 키넥트 센서와 인공표식을 이용한 위치결정 알고리즘

2.1 키넥트 센서와 인공표식을 이용한 위치결정 기법

Microsoft의 키넥트 센서는 적외선 방식의 구조광을 활용한 대표적인 3D 센서로 그림 1과 같이 적외선 영사기, 적외선 카메라, RGB 카메라로 구성된다. 깊이영상은 적외선 영사기에서 조사한 적외선 패턴을 적외선 카메라로 읽어 패턴 매칭 방식으로 생성한다[9-12]. 깊이영상만으로 물체를 분간 할 수 없어 RGB 카메라로부터 얻는 칼러영상을 동시에 이용하여 특정 픽셀의 깊이정보를 얻을 수 있다. 이 정보는 모션인식, 얼굴추적, 3D 재구성 등의 분야에 적극 활용되고 있다[10-12]. 키넥트 센서의 두 영상을 이용해 실세계 좌표상의 위치를 구하기 위해서는 컬러영상의 픽셀위치와 그에 해당하는 깊이정보가 정확히 대응되어야 한다. 그러나 키넥트 센서를 구성하는 RGB 카메라와 적외선 카메라의 사양이 달라 두 영상이 정확히 대응되지 않는다. 그림 2는 두 영상을 단순히 더하여 나타낸 것으로 두 영상 픽셀의 불 일치도를 확인할 수 있다. 그림 2에서 체커보드판과 책상 다리를 보면 정확히 일치하지 않는 것을 볼 수 있으며, 이는 픽셀에 대응되는 정확한 깊이정보를 취득하기 위해서 컬러영상과 깊이영상의 정합(matching)이 필요함을 나타낸다.

그림 1키넥트 센서의 구성 Fig. 1 Configuration of Kinect Sensor

그림 2컬러영상과 깊이영상의 부정합 Fig. 2 Mismatch between depth and color

키넥트 센서의 깊이정보는 그림 3과 같이 카메라 정면방향에 해당하는 값으로 측정범위는 일반모드(800mm ~ 4,000mm)와 근접모드(600mm ~ 3,000mm) 중에서 선택하여 사용할 수 있다. 깊이정보 오차는 측정 거리에 따라 증가하며 최대 ±25mm의 불규칙 오차가 발생한다고 알려져 있다[9]. 실제로 키넥트 센서를 이용해 2,500mm떨어진 벽면에 대하여 구한 깊이영상을 그림 4에 나타내었다. 그림에서 영상의 외곽일수록 오차가 크며 불규칙적으로 발생됨을 알 수 있다. 그림 일부 구간에서는 200mm이상의 오차가 발생되며 사양에서 제시한 ±25mm보다 큰 값을 보인다. 이는 키넥트 센서가 지면과 정확히 수평을 이루지 못해 발생되는 오차이며 이는 위치결정시 높이(Zw) 오차를 발생시킨다. 실제 적용에서 틸트(tilt) 모터의 움직임으로 인하여 키넥트 센서의 수평을 유지하기가 쉽지 않으므로 본논문에서는 별도의 높이 보정기법을 적용하여 이 문제를 해결한다.

그림 3깊이영상의 기하정보 Fig. 3 Geometry of depth image

그림 4깊이영상 취득결과 Fig. 4 Mesh graph of depth image

깊이영상과 컬러영상의 부정합과 높이 오차 보상을 고려한 위치결정기법의 흐름은 그림 5와 같다. 먼저 키넥트 센서를 이용해 컬러영상과 깊이영상을 USB로 취득한다. 취득한 깊이영상과 컬러영상을 핀홀 모델을 이용하여 정합하며 이 과정은 2.2절에서 자세히 나타낸다. 다음 단계에서는 컬러영상에서 2D 바코드 형태의 인공표식을 인식하고 인공표식의 ID를 추출한다. 인공표식 인식 및 ID 취득을 위한 많은 방법 공개되어 사용되고 있으며 본논문에서 대표적인 방법인 2D 바코드와 인식 함수를 이용하여 구현한다[8]. 3개 이상의 표식이 취득되면 삼각측량법으로 항체의 위치를 구하고 최종적으로 높이 오차를 보정하여 정확한 위치를 구한다. 위치결정은 2.2절, 높이 오차 보정 기법은 2.3장에서 자세히 나타낸다.

그림 5키넥트 센서와 인공표식을 이용한 위치결정 기법의 순서도 Fig. 5 Flow chart of localization system

2.2 컬러영상과 깊이영상 정합

키넥트 센서에서는 RGB 카메라 초점거리가 적외선 카메라의 초점거리보다 짧아 컬러영상이 깊이영상보다 더 넓은 범위의 영상을 취득한다. 두 영상의 정확한 정합을 위해서는 두 영상의 초점거리를 맞추어야 한다. 깊이영상의 범위를 넓혀 맞추기 위해서는 보간 기법이 추가로 필요하므로 본 논문에서는 컬러영상의 범위를 축소하여 깊이영상에 맞추는 방법을 사용한다. 제시한 정합방법은 두 카메라의 모델을 핀홀 카메라 모델로 정의하고 두 모델의 사이의 관계를 유도함으로써 컬러영상을 깊이영상의 초점거리에 맞춘다. 핀홀 카메라 모델[15]은 핀홀을 통해 들어온 영상이 영상평면에 거꾸로 맺히는 원리를 이용해 카메라의 변수를 모델링 하는 방법으로 3차원의 위치가 2차원의 영상에 투영되는 것을 표현한다. 핀홀 카메라 모델은 식(1)과 같이 카메라의 초점거리(fx,fy)와 주점(cx,cy)으로 구성되며 실세계 좌표계의 점 P=[x y z]T 와 영상평면 좌표계의 점 P=[x′ y′ 1]T는 p=HP의 관계를 갖는다. 그림 6에 이들 관계를 자세히 나타내었다.

그림 6핀홀카메라 모델 Fig. 6 Pinhole camera model

키넥트 센서의 깊이영상과 컬러영상의 핀홀 카메라 모델은 식(2)로 나타낼 수 있다. 식(2)는 3차원 위치 P가 깊이영상 핀홀 모델의 Hd와 컬러영상의 핀홀 모델의 Hc에 의해 깊이영상위의 위치 pd와 컬러영상위의 위치 pc로 투영됨을 나타낸다. 식(2)로부터 두 모델의 관계는 식(3)과 같다. 식 (3)에 의해 컬러영상이 깊이영상에 맞춰지는 과정은 그림 7에 나타내었다.

여기서 (HcHd−1)−1는 식(4)와 같다. (fxd, fyd, cxd, cyd)은 깊이 영상의 초점거리와 주점이며 (fxc, fyc, cxc, cyc)는 컬러영상의 초점거리와 주점이다. 키넥트 센서에서 RGB카메라와 적외선 카메라는 실제 2.5cm의 거리만큼 떨어져 있으며 이로 인해 두 영상을 정합했을 때 컬러영상이 왼쪽으로 이동한 형태의 오차로 나타난다. 이 오차는 cx에 오프셋 B를 추가하여 보상한다.

그림 7컬러영상 위치(pc)의 깊이영상 위치(pd)로 변환 Fig. 7 Position in depth is converted in the position in color

식(3)을 이용하여 두 영상을 정합하기 위해서는 먼저 교정(calibration)을 통해 각 영상의 초점거리와 주점를 구해야 한다. 본 논문에서는 Bouguet의 체커보드를 이용한 방법[13]을 이용하여 카메라 교정을 수행한다. 교정에서 구해진 각 영상의 초점거리와 주점을 식(4)에 대입하고, 식(3)을 이용하여 컬러영상의 모든 좌표를 깊이영상의 좌표로 변환한다. 표 1에 20개의 체커패턴 영상과 Bouguet의 기법을 이용하여 구한 정합 전 컬러 영상과 깊이영상 초점거리와 주점과 이 값을 이용하여 정합을 수행하여 구한 정합 후 컬러영상의 초점거리와 주점을 나타내었다. 정합 후 컬러영상의 초점거리 값과 깊이영상의 초점거리 값의 차이가 약 3픽셀 이내로 허용 오차범위에 포함되는 결과를 얻었다. 정합 후 컬러영상의 cx에 포함된 약 20픽셀가량의 오차는 오프셋(B)가 추가됨으로써 나타난 값이다. 그림 8에 정합 후 컬러영상과 깊이영상의 단순 합을 나타내었으며, 그림 2에서 맞지 않던 체커보드와 책상다리가 일치함을 나타낸다.

표 1교정 결과 Table 1 Result of calibration

그림 8컬러영상과 깊이영상의 정합결과 Fig. 8 Result of color and depth matching

2.3 항체의 위치결정

본 논문에서 사용된 좌표계를 그림 9에 나타내었다. 그림에서 픽셀좌표계 { Xp, Yp }는 키넥트 센서로 부터 취득되는 영상의 좌표계로 좌측 상단이 원점이다. 취득된 영상의 원점을 주점만큼 이동시켜 평면의 중심을 원점으로 하는 영상 평면 좌표계 { Xi, Yi }를 정의한다. 또 영상 평면의 2차원 좌표를 3차원 좌표로 변환하기 위하여 키넥트 센서를 원점으로 정면방향의 Zc축이 추가된 키넥트 센서좌표계 { Xc, Yc, Zc }를 정의한다. 키넥트 센서가 장착된 항체좌표계 { Xb, Yb, Zb }는 항체의 정면을 Xb, 좌우 방향을 Yb, 상하 방향을 Zb로 정의한다. 항체의 실험 공간 내에서의 위치 표현하기 위한 실세계좌표계 { Xw, Yw, Zw }를 정의한다. 본 논문에서 구하고자 하는 항체의 위치는 실세계 좌표계 상의 항체 좌표계 원점의 위치를 의미한다. 항체의 자세는 Xb축의 회전을 롤(Roll), Yb축의 회전을 피치(Pitch), Zb축의 회전을 요(Yaw)로 정의한다.

그림 9위치결정 환경과 좌표계 Fig. 9 Setting the environment and coordinate

항체의 위치 결정은 삼각측량법[1-2]을 사용하며, 이를 위해서 세 개 이상의 인공표식의 위치와 인공표식과 키넥트 센서 사이의 거리가 필요하다. 인공표식의 위치는 설치과정에서 정확히 알 수 있으므로 거리 측정치가 필요하다. 인공표식과 키넥트 사이의 거리는 다음과 같이 구한다. 키넥트 센서는 정합된 컬러영상으로부터 인공표식을 인식하여 픽셀 좌표계상 위치 Mpn = [Mxpn Mypn]T와 ID를 추출한다[8]. 또한 깊이영상으로부터 위치 Mpn = [Mxpn Mypn]T의 깊이정보 Dn을 취득할 수 있다. 깊이정보, 초점거리 및 주점을 이용하여 식 (5)의 좌표변환 행렬들을 구한다. 는 픽셀좌표계에서 영상평면좌표로의 변환이며, 좌측 상단에 존재하는 원점을 영상의 중앙으로 이동시킨다. 은 영상평면 좌표계에서 키넥트 센서좌표계로의 변환으로 초점거리와 깊이정보의 비례관계(Dn :fx = Xc : Xi)[15]를 이용하여 2차원의 영상평면 좌표를 3차원의 키넥트 센서좌표로 변환한다. 이때 깊이정보 Dn은 키넥트 센서좌표계의 Zc축과 같다[10]. 은 키넥트 센서 좌표계에서 항체좌표계로의 변환으로 본 논문에서는 키넥트 센서는 항체의 중심에 설치되었다고 가정하고 회전만 고려한다.

항체좌표계의 인공표식 위치 Mbn = [Mxbn Mybn Mzbn]T는 픽셀좌표계의 인공표식의 위치 Mpn = [Mxpn Mypn]T를 식(6)에 대입하여 얻을 수 있다.

식 (6)으로 구해진 인공표식의 항체좌표계상의 위치벡터 Mbn = [Mxbn Mybn Mzbn]T의 크기를 구하면 식(7)과 같이 키넥트 센서와 인공표식 간의 거리 측정치를 구할 수 있다.

식(7)의 측정치와 알고 있는 인공표식 n의 위치 Mwn = [Mxwn Mywn Mzwn]T를 이용하여 실세계 좌표계에서의 키넥트 센서의 위치 Pw = [Pxw Pyw Pzw]T를 구할 수 있다. 키넥트 센서와 인공표식 n 사이의 거리는 식(8)로 나타낼 수 있다. 식(8)을 선형화 기준점 Pw0 = [Pxw0 Pyw0 Pzw0]T에서 선형화하면 식(9)를 얻는다[2]. 여기서 R0n은 인공표식 n과 선형화 기준점 사이의 계산된 거리, 는 선형화 기준점에서 인공표식 n으로의 시선(Line Of Sight)벡터를 나타낸다. 선형화 기준점은 처음 계산에는 실내 공간의 중심으로 그 이후는 항체의 직전 위치로 둔다.

위치결정을 위해 n(≥3)개의 인공표식에 대하여 선형화된 식을 정리하면 식(10)이 되고 식(11)로 간단히 표현할 수 있다.

(11)에 최소자승법을 적용하면 (12)의 위치오차를 구할 수 있다[2]. 구해진 위치오차 δPw를 선형화 기준점 Pw0 = [Pxw0 Pyw0 Pzw0]T 에 더하여 위치를 구할 수 있으며 위치오차 δPw의 크기가 문턱치 이하로 작아질 때 까지 이 과정을 반복하여 최종 위치를 구한다.

2.4 높이오차 보정

키넥트 센서를 이용한 위치결정 과정에서 키넥트 센서가 지면과 정확히 수평을 이루지 못해 발생되는 깊이정보 오차로 인해 높이 오차가 발생한다. 삼각측량법을 이용한 시스템에서 측정치의 배치에 따라 식 (12)의 행렬 (HTH)−1가 불량행렬(ill-conditioned)이 되어 특이문제(singular problem)가 발생하여 오차가 증폭되어 나타날 수 있다. 인공표식의 높이가 모두 같은 경우 높이오차를 줄이기 위한 테일러 급수 설계 방법으로 보상[14]하는 기법이 소개되었다. 그러나 본 논문에서는 높이오차 발생의 원인이 인공표식의 배치 문제가 아니라 깊이정보 오차에 의해 발생한다. 따라서 항체의 높이를 보정하기위한 별도의 과정이 필요하다. 본 논문에서 제안하는 깊이정보 오차에 따른 고도오차를 보정하는 과정은 다음과 같다. 식(13)은 미리 알고 있는 실세계 좌표상의 인공표식 위치(Mwn)와 키넥트 센서를 이용해 취득한 인공표식의 항체좌표계상의 위치(Mbn) 관계를 나타낸다.

여기서 는 실세계 좌표계와 항체좌표계 간의 관계를 나타내며 식(14)와 같이 수평면의 회전(𝜓)과 실세계 좌표에서 항체의 위치 Pw = [Pxw Pyw Pzw]T만큼의 이동으로 나타난다.

식(13)과 (14)로부터 다음을 얻는다.

식(15)에서 Mzwn과 Mzbn는 알고 있는 값이므로 Pzw = Mzwn − Mzbn를 이용하면 삼각측량법과 무관하게 높이를 계산할 수 있다. n개의 인공표식에 따하여 각각 구해진 높이의 평균을 구하면 최종 높이 Pzw*를 구할 수 있다.

최종적으로는 식(17)과 같이 삼각측량법으로 구한 높이 Pzw와 식(16)으로 구한 높이 Pzw*의 가중 합으로 최종 높이를 결정한다. 이때 가중치 k는 실험환경에 따라 결정되며 항체가 롤(roll)과 피치(pitch) 방향으로 진동이 없다면 k=1로 두는 것이 유리하다.

 

3. 거리측정치 오차요소와 영향분석

키넥트 센서를 이용해 삼각측량법으로 위치를 추정하기 위해 필요한 정보는 인공표식과의 거리측정치 𝜌n과 인공표식의 위치 Mwn = [Mxwn Mywn Mzwn]T이다. 이 중 인공표식의 실제위치는 미리 알고 있는 참값이므로 위치결정 정확도에 직접적으로 영향을 주는 요소는 거리측정치 오차다. 거리측정치는 인공표식의 픽셀좌표상의 위치와 깊이정보, 카메라모델의 매개변수로 계산되므로 거리측정치 오차를 발생시키는 주요 오차원인은 카메라 모델의 초점거리 오차, 주점 오차와 깊이정보 오차이다. 이 장에서는 거리측정치 오차영향을 분석하기 위해 초점거리, 주점, 깊이정보에 대하여 인공표식의 키넥트 좌표계상의 각 축의 위치에 발생하는 오차 식을 유도하여 그 영향을 분석한다.

3.1 초점거리 오차의 영향 분석

식(18)의 초점거리에 포함된 오차를 고려하여 초점거리가 거리측정치에 미치는 영향을 분석한다. 여기서 , 는 참 값을 δfx , δfy는 초점거리 오차를 나타낸다.

식(6)의 변환행렬에 오차가 포함된 초점거리를 대입하여 변환행렬을 구하고, 이를 이용하여 픽셀좌표상의 인공표식의 위치(xi , yi)를 키넥트 센서 좌표계 상의 위치(Xc , Yc , Zc)로 변환하면 식(19)가 된다.

식(19)에서 Zc는 초점거리 오차에 의해 영향을 받지 않음을 볼 수 있다. 일반적으로 이므로 , 가 되며 이로부터 식(20)과 같이 오차(δXc, δYc, δZc)를 구할 수 있다.

식(20)에서 Xc와 Yc에 미치는 초점거리 오차영향은 인공표식의 깊이 값 D이 작을수록, 인공표식의 영상평면위의 위치 (xi, yi )가 원점에 가까울수록, 초점거리 값이 클수록 오차영향이 줄어든다. 즉 영상의 중심에 가까운 인공표식일수록, 카메라의 초점거리가 길수록, 교정을 잘 할수록 초점거리 오차에 의한 영향이 감소함을 알 수 있다.

3.2 주점 오차의 영향 분석

식(21)의 오차가 포함된 주점을 고려하여 이 오차가 거리 측정치에 미치는 영향을 분석하였다..

앞에서와 같은 방법으로 식(6)에 식(21)을 대입하여 다음의 식(22)를 얻는다.

각 축의 오차를 계산하면 식(23)과 같다.

식 (23)에서 주점 오차는 초점거리 오차와 같이 Zc에 영향을 주지 않는다. 각 축의 오차는 깊이정보 D에 비례하고 초점 거리에 반비례하며 영상평면상의 인공표식 위치 (xi, yi)와는 관계가 없음을 알 수 있다. 즉 카메라의 초점거리가 길수록, 교정을 잘 할수록 주점 오차에 의한 영향이 감소한다.

3.3 깊이정보 오차의 영향 분석

깊이정보의 오차를 고려하면 식(24)와 같다.

오차가 추가된 깊이정보를 이용하여 카메라 좌표계의 위치로 변환하면 식(25)와 같다.

각 축의 오차를 계산하면 식(26)과 같다.

식(26)에서 깊이정보 오차는 Zc에 직접 영향을 미침을 볼 수 있다. 반면 Xc와 Yc에는 초점거리와 영상좌표의 비가 곱해지며 이 값은 언제나 1보다 작아 Zc보다 적은 영향을 받는다. 영상의 중심에 가까울수록 깊이정보 오차의 영향이 0에 가까워진다.

 

4. 실험 및 검증

4.1 위치결정 실험

제안한 시스템의 위치결정 정확도를 검증하기 위해 알고리즘을 구현하고 실제 환경에서 실험하였다. 그림 10과 같이 3,500mm×3,000mm×2,500mm 공간의 벽에 총 72개의 인공표식을 부착하였다. 인공표식은 그림 11의 2D 바코드를 사용했으며 공개된 2D 바코드 인식 함수[8]를 사용하였다. 2D 바코드는 각각 고유의 ID를 갖고 있으며 이미 저장되어 있는 실세계 좌표계상 위치정보와 대응되도록 하였다.

그림 10실내 위치결정환경(좌), 인공표식 배치(우) Fig. 10 Environment of Indoor localization(lett), the placement of landmark(right)

그림 11인공표식으로 사용된 2D바코드 Fig. 11 2D bar code that used as landmark

실험은 인공표식이 설치된 각각의 벽면을 바라보는 세 곳의 위치에서 항체가 정적인 상태일때 위치를 추정하였다. 각 위치에서 200프레임의 영상 획득하고 처리하였다. 각 프레임으로부터 거리측정치는 항상 3개 이상 취득되었다. 그림 12에 세 곳에서 구한 위치와 알고 있는 실제위치 및 인식된 인공표식들의 위치를 나타내었다. 논문에서 제시한 위치결정기법을 적용하여 구한 위치와 알고 있는 위치의 차이의 평균과 표준편차를 표 2에 나타내었다. 표에서 ( δPxw,δPyw,δPzw )는 식(13)의 삼각측량법으로 구한 위치이고, δPzw*는 식(16)의 높이 오차 보정기법을 적용한 결과이며, 보정기법에 의하여 높이 오차가 확연히 줄어듦을 확인할 수 있다. 각각의 위치에서 3cm 이내의 정확도로 위치를 구할 수 있다.

그림 12위치결정 결과(왼쪽부터 위치 1, 2, 3) Fig. 12 Localization result(from the left 1, 2, 3)

표 2위치결정 오차 Table 2 Error of localization

4.2 오차해석의 타당성 검증

3장의 오차해석의 타당성을 검증하기 위하여 오차해석 결과와 실제 환경의 수치를 이용하여 거리측정치 오차 예측치를 계산하고 실험에서 실제 발생된 거리측정치의 오차와 비교한다. 실제 환경에서 발생할 수 있는 초점거리 오차에 따라 발생하는 거리측정치의 오차 범위는 다음과 같이 구할 수 있다. 초점거리는 표 1의 정합 후 컬러영상의 값으로부터 , 으로 두었다. 또한 깊이정보 D는 4,000mm, 실험공간의 크기는 3,500mm×3,000mm×2,500mm, xi는 320, yi는 240으로 두었다. 이상의 조건에 대하여 식(20)으로부터 δXc는 ±9.21mm, δYc는 ±6.86mm로 나타난다. 이를 고려하면 초점거리 오차에 의해 발생되는 거리측정치의 오차범위는 ±10.06mm이다.

주점 오차에 따라 발생하는 거리측정치의 오차 범위를 같은 방법으로 계산한다. 주점은 표 1의 정합 후 컬러영상의 값으로부터 , 으로 두었다. 이상의 조건에 대하여 식(23)으로부터 δXc는 ±28.49mm, δYc는 ±25.02mm로 나타난다. 이를 고려하면 주점오차에 의한 거리측정치의 오차범위는 ±33.29mm이다.

깊이정보 오차에 따라 발생하는 거리측정치의 오차 범위도 같은 방법으로 계산한다. δD=±25mm로 두면 식(26)으로부터 δXc는 ±10.85mm, δYc는 ±8.11mm, δZc는 ±25mm로 나타난다. 이를 고려하면 깊이정보 오차에 의한 거리측정치의 오차범위는 ±23.77mm이다.

초점거리, 주점, 깊이정보의 오차의 합은 ±67.12mm이며 이 값은 거리측정치 오차의 예측 값이다. 그림 13은 각각의 위치에서 취득한 인공표식의 거리측정치 오차를 나타낸 것이다. 측정된 거리측정치 오차는 위치 2에서 최대로 발생 했으며 그 값은 45mm이다. 이로부터 본 논문에서 제시한 오차해석과 실험이 일치함을 확인하였다.

그림 13표식별 거리측정치 오차 Fig. 13 Missmatch Color and Depth Image

 

5. 결 론

본 논문에서는 키넥트 센서와 인공표식을 이용한 위치결정 시스템을 제안하였다. 인공표식의 위치와 인공표식까지의 거리 측정치에 삼각측량법을 적용하여 위치를 결정한다. 키넥트 센서의 컬러영상을 처리하여 인공표식을 인식하고, 저장된 인식된 인공표식의 위치를 추출한다. 키넥트 센서의 깊이영상을 처리하여 거리측정치를 구하였다. 이 과정에서 깊이영상과 컬러영상의 부정합을 해결하기 위한 핀홀 모델을 이용한 정합기법을 제시하고 적용하여 거리측정치 오차를 줄였다. 또한 키넥트 센서가 지면과 수평을 이루지 못하여 발생하는 높이오차의 영향을 줄이기 위하여 영상에서 실세계좌표와 항체좌표계의 관계로부터 새로운 높이 결정기법을 제안하였다. 추가로 거리측정치에 초점거리, 주점 및 깊이정보오차가 미치는 영향을 유도하고 분석하였다. 이로부터 초점거리가 길수록, 영상의 중심에 가까울수록, 교정을 잘 할수록 거리오차가 줄어듦을 확인하였다. 구현된 위치결정 시스템을 2D 바코드를 인공표식으로 구성한 실내 환경에서 실시한 실험결과 3개 이상의 인공표식이 존재할 때 3,500mm×3,000mm×2,500mm 공간에서 3cm 이내의 정확도로 위치를 구할 수 있음을 확인하였다. 또한 오차해석의 결과가 실험과 일치함도 확인하였다. 이 결과로부터 키넥트 센서를 이용한 위치결정 시스템이 실내 환경에서 사용될 로봇에 효과적으로 적용될 수 있을 것으로 기대된다.

참고문헌

  1. BETKE, Margrit, GURVITS, Leonid. "Mobile robot localization using landmarks", IEEE Transactions on Robotics and Automation, pp. 251-263. 1997
  2. Chansik Park, Jaegeol Yim, "A Performance Comparison of Positioning Methods Considering Measurement Noise", Journal of Institute of Control, Robotics and Systems, vol 16, No. 12, pp.1176-1181, Dec 2010 (In Korean) https://doi.org/10.5302/J.ICROS.2010.16.12.1176
  3. KOYUNCU, Hakan, YANG, Shuang Hua, "A survey of indoor positioning and object locating systems", IJCSNS International Journal of Computer Science and Network Security, vol. 10, no. 5, pp. 121-128, May 2010.
  4. Jongrok Kim, Mee-Seub Lim and Joonhong Lim, "Omni Camera Vision-Based Localization for Mobile Robots Navigation Using Omni-Directional Images". Journal of Institute of Control, Robotics and Systems, vol. 17, No. 3, pp.206-210, 2011 (In Korean) https://doi.org/10.5302/J.ICROS.2011.17.3.206
  5. Youngsun Kim, Hyun-min Ji and Dong-Hwan Hwang, "Two-Dimensional Navigation Error for Geometry of Landmark in Line-Of-Sight Measurement Based Vision Navigation System ", The Transactions of the Korean Institute of Electrical Engineers, vol. 61, No. 3, pp.479-484, Mar 2012 (In Korean) https://doi.org/10.5370/KIEE.2012.61.3.479
  6. QI, Yufei, "A Performance Analysis of Vision-Based Robot Localization System", Lehigh University, Dec 2012
  7. H. Gao, J. Liu, Y. Yu and Li, Y. "Distance Measurement of Zooming Image for a Mobile Robot", International Journal of Control, Automation and System, vol. 11, No. 4, pp. 782-789, Aug 2013. https://doi.org/10.1007/s12555-012-9324-9
  8. Open Robotics Blog : http://blog.daum.net/pg365/
  9. K. Khoshelham, "Accuracy Analysis of Kinect Depth Data", International Archives of the Photogrammetry Remote Sensing and Spatial Information Sciences ISPRS Calgary 2010 Workshop, Canada. Aug 2011.
  10. Microsoft MSDN : http://msdn.microsoft.com/en-us/ library/hh855347
  11. OpenKinect : http://openkinect.co.kr/
  12. Wikipedia : http://www.wikipedia.org/
  13. JeanYvesBouguet : http://www.vision.caltech.edu/ bouguetj/calib_doc
  14. Hee Won Kang, Dong-Hwan Hwang and Chansik Park, "TDOA Measurement Based Taylor Series Design Method Considering Height Error for Real-Time Locating Systems", Journal of Institute of Control, Robotics and Systems, vol 16, No. 8, pp.804-809, Aug 2010 (In Korean) https://doi.org/10.5302/J.ICROS.2010.16.8.804
  15. Gray Bradski, Adrian Kaehler, "Learning Opencv: Computer Vision with the Opencv", pp. 495-511, Aug 2008