1. 서 론
비전기반의 시스템이 작업을 수행하는데 있어 작업환경에 존재하는 작업도구나 장애물들의 위치 파악이 선행되어야 하며 이를 위해서는 로봇과 장애물사이의 거리를 알아야 한다. 또한 움직이는 장애물의 속도역시 추정할 경우 더욱더 정확한 작업이 가능하다. 보편적으로 거리를 측정하기 위해 다양한 센서가 사용되지만 최근 컴퓨터 프로세서의 발달로 인해 연산속도가 빨라지면서 카메라의 영상정보를 이용한 다양한 연구가 진행되고 있다. 단일카메라의 이미지정보에서는 2차원 정보만을 얻을 수 있고 거리정보는 얻을 수 없다. 그렇기 때문에 다양한 방법이 연구되고 있다. 가장 보편적으로 사용되는 방법이 스테레오 비전 기술로 두 대의 카 메라의 영상에 나타나는 물체의 위치 차를 삼각측량원리를 이용하여 3차원 거리 정보를 계산하는 기술이다[1]-[4]. 이러한 스테레오 비전의 경우 정밀한 카메라 캘리브레이션이 어렵고 카메라간의 구조가 조금만 달라져도 큰 오차를 보인다는 단점이 있다. 키넥트 카메라를 이용한 연구도 진행되고 있다. 키넥트의 경우 카메라 뿐만 아니라 거리를 측정할 수 있는 센서가 포함되어 있는 카메라로 칼라영상뿐만 아니라 영상안의 거리정보까지 함께 제공해주어 목표물과의 거리 정보를 쉽게 획득할 수 있다[5] [6]. 하지만 거리를 측정하는 센서의 한계로 키넥트와 너무 가깝거나 3∼4m이상 떨어질 경우 정확한 거리 측정이 불가능하다. 또한 칼라영상의 해상도도 낮기 때문에 실제 이동로봇에서 사용하기에는 한계가 있다. 최근에는 단일 카메라를 이용한 거리측정 방법이 연구되고 있다. 단일 카메라를 이용한 거리측정의 경우 움직이는 카메라를 이용하여 여러 장의 영상정보를 얻어 목표물의 위치와 카메라의 움직임 정보 등을 이용하여 거리를 추정하는 방법을 사용한다. 스테레오 비전처럼 삼각측량 기법을 이용한 방법이 제안되었다[7]. 움직이면서 얻은 여러 영상이미지 사이의 관계를 이용하는데 카메라의 움직임, 물체의 움직임과 이미지의 관계를 대수식을 이용하고 간단한 연산을 통해 거리를 추정한다. 하지만 물체의 속도 추정에 있어 물체의 움직임이 직선이나 원 같은 단순하고 제한적일 경우 추정이 가능하고 정확한 거리 정보 추정을 위해서는 많은 양의 이미지 데이터가 필요하다. 또한 카메라 좌표계에서의 3차원 좌표와 이미지에 투영된 2차원 좌표계 사이의 대수식을 사용하는 일괄처리 알고리즘이 제안되었다[8]-[10]. 제안된 방법들 또한 목표물의 움직임이 제한적이고 각각의 이미지마다 추정하는 방법이 아니고 여러 이미지를 일괄로 처리하기 때문에 실시간으로 사용하는데 가장 큰 문제가 있다. 움직이는 카메라와 물체간의 동역학식을 기반하여 목표 물과의 거리 및 움직임을 추정하는 연구가 진행되고 있다 [11]. 물체와의 거리와 물체의 속도를 미지의 입력으로 두고 미지 입력 추정 알고리즘을 통해 추정하지만 물체의 움직임이 한 방향만 가능하고 카메라의 움직임 또한 제한적이다.
본 논문에서는 움직이는 카메라와 물체간의 동역학식을 이용하고 위에서 언급한 제한조건을 완화하고 실시간으로 추정이 가능한 알고리즘을 제안한다. 사용한 동역학식은 측정이 불가능한 상태를 포함하고 있고 또한 비선형형태로 나타난다. 그렇기 때문에 본 논문에서는 Robust-Integral Signed Error 방법을 기반으로 한 비선형 추정기를 사용하여 측정 불가능한 상태를 추정한다[12]. 카메라의 선형 속도와 각속도를 안다면 목표물과의 거리추정 및 목표물의 속도 추정까지 가능하다. 제안한 방법은 2가지 시나리오를 통해 검증을 한다. 첫번째 시나리오는 정지된 목표물과의 거리 추정이고 두번째 시나리오는 움직이는 목표물과의 거리 추정 및 목표물 속도 추정이다. 기존 연구의 문제점인 카메라와 목표물의 움직임에 대한 제한조건 없이 카메라와 목표물은 자유로이 움직일 수 있다. 이러한 결과는 이전 연구 결과와는 달리 더 많은 일반적인 상황에서 적용이 가능하다
2. 이미지 공간과 기하학의 관계
움직이는 카메라를 통해 목표물을 관찰할 때 이미지 평면상의 목표물 특징점은 움직임이 발생한다. 카메라가 움직일 때 카메라의 매 프레임마다 정지된 물체뿐만 아니라 움직이는 물체의 특징점도 움직임이 나타난다. 따라서 연속적인 카메라 이미지 사이에서 특징점간의 관계를 알 필요가 있다.
F*는 초기 시간 t0에서 카메라의 위치에서의 직교 좌표 계이다. 초기 시간 이후에, FC 는 F*로부터 회전 R(t)∈so(3)과 평행이동벡터 ℝ3 에 의해 바뀐 직교 좌표계이다. ℝ3 는 (1)과 같이 카메라 프레임 F*로 표현된 특징점의 유클리드 좌표를 나타낸다. 그리고 움직이는 카메라에서 m(t)=ℝ3는 (2)와 같이 정규화된 유클리드 좌표를 나타낸다.
(2)로부터 상태 벡터 y(t)=[y1(t), y2(t), y3(t)]T를 다음과 같이 정의한다.
사영기하학을 사용하여 정규화된 유클리드 좌표 m(t) 는
처럼 이미지 공간에서 픽셀좌표와 연관이 될 수 있다. 여기서 p(t)=[u, v, 1]T 는 이미지 공간에서의 픽셀 좌표이고 AC∈ ℝ3는 카메라 교정 행렬로 카메라 내부의 매개변수들로 구성되어 있다. (4)로부터 P와 AC를 통해 m(t)를 구할 수 있고 또한 y(t)의 첫번째, 두번째 요소를 확인할 수 있다. y(t) 의 마지막 요소는 카메라와 특징점 사이의 상대적인 유클리드 거리와 관련되어 있으므로 측정할 수 없고 추정되어야만 한다.
3. 카메라와 물체의 운동모델
그림 1은 물체의 포인트 q가 좌표계 FC 에서 식 (5)와 같 이 표현될 수 있음을 보여준다.
xOq 는 물체의 포인트 q의 위치로 좌표계 FC 의 원점으로 부터의 벡터이다.
그림 1목표물과 카메라 사이의 좌표계. Fig. 1 Geometry between Camera and Object.
식 (5)를 시간으로 미분한 것은 카메라 좌표계 시스템에서 관찰된 q의 상대적인 움직임을 나타내며 [13], [14]와 같은 동역학 식으로 표현될 수 있다
[ω]X ∈ℝ3×3은 카메라 각속도 ω(t)=[ω1(t), ω2(t), ω3(t)]T ∈W로 구성된 교대행렬이고 v, (t)은 움직이는 포인트 q와 카메라 속도의 상대적인 선속도이다.
vc = [vcx, vcy, vcz]T∈Vc ⊂ ℝ3 는 관성 프레임에서 카메라의 속도, ℝ3는 카메라 프레임 FC 에서 표현되는 움직이는 포인트 q의 속도, 는 관성 좌표계 F*에서 표현되는 포인트 q의 속도이다. 물체가 정지해 있을 경우 이 되고 식(7)로부터 vr = vc의 결과를 얻을 수 있다.
식(3)과 식(6)을 이용하여 부분적으로 측정 가능한 상태 벡터 (y(t)는 식(8)과 같이 표현된다.
상태 y1(t)와 y2(t)는 식 (4)에서 역변환을 통해 시스템의 출력으로 측정할 수 있다. 반면에 y3(t)는 측정 불가능한 상태 x3(t)로 된 함수이기 때문에 추정되어야 한다. 식(8)을 행렬 벡터 형태로 정리하면 다음과 같이 나타낼 수 있다.
4. 위치 및 속도 추정 알고리즘
본 논문에서는 목표물의 거리와 물체의 속도를 추정하는 알고리즘을 제안한다. 움직이는 카메라를 통해 목표물을 관찰하고 카메라의 속도vc, w를 이용하여 목표물과의 거리와 속도를 추정하게 된다. 식 (9)의 첫번째, 두 번째 행을 이용하여 를 새로 정의한다.
측정이 불가능한 매개변수가 포함된 y3vc와 y3v0는 추정되어야 한다. 비선형 추정기를 쉽게 설계하기 위해 식 (10)을 다음과 같이 정리한다.
여기서 Ω1 는 측정 가능한 벡터로 Ω1=Ωd2이고 g는 g=[Ωd1,Ωd3] · [y3vc,y3v0]T로 정의된 측정 불가능한 벡터이다. g를 추정기를 통해 얻을 수 있다면 [y3vc와 y3v0는 [y3vc,y3v0]T=[Ωd1,Ωd3]-−1 g의 형태로 바꿀 수 있다. 카메라 와 물체가 적어도 어느 한 방향으로 움직이지 않으면 이 조건은 만족할 수 없다.
g를 위한 추정기를 설계하기 위하여 추정기 오차는 로 정의한다. 는 설계된 추정기에서 추정된 결과이다. 또한 필터링 추정 오차는 r=ė+αe로 정의하고 α∈R2×2는 양의 대각 행렬이다. 비선형 추정기 는
으로 정의되고 [15] 에서와 같이 g의 추정치
로 정의한다. ks, r∈R2×2 는 양의 대각 행렬이고 sgn(e)는 기본적인 부호함수이다. 그리고 오차 동역학은 다음과 같이 표현된다.
여기서
와 같이 정의되고 카메라의 속도를 알 때 ĝ은 g로 점근 적으로 수렴한다. 식 (13), (14)의 비선형 추정기로부터 y3vc, y3v0가 추정되므로 y3와 v0가 추정된다.
증명 : [15]의 증명을 참조하면 y3vc, y3v0의 추정 성능 을 볼 수 있다. 이러한 결과와 카메라의 속도 vc를 알고 있다는 사실에서 거리정보 y3와 v0는 추정할 수 있다. □
5. 실험 결과
본 논문에서는 제안한 알고리즘을 시스템 적용실험을 해 검증한다. 각 실험에서 정지된 목표물과 움직이는 목표물에 대한 두 가지 시나리오를 통해 검증하였다. 첫번째 시나리오는 움직이는 카메라와 정지된 목표물을 이용한 실험으로 정지된 목표물에 대해 거리추정 결과를 확인하였다. 두번째 시나리오는 움직이는 카메라와 목표물을 이용한 실험으로 카메라와 목표물 사이의 거리뿐만 아니라 움직이는 목표물의 속도까지 추정하는 실험을 진행하였다.
실험적 검증을 위해 그림 2와 같은 시스템을 구성하였다. 자유로운 움직임을 갖는 카메라와 물체가 요구되며 카메라의 영상에서 물체를 인식할 수 있는 영상처리 프로그램도 필요로 한다. 본 연구에서 사용된 CPU모듈은 intel i5을 기반으로한 고성능 모델로 빠른 영상처리를 할 수 있도록 하였다. 카메라의 경우 Logitech사의 C920 웹캠을 사용하였다. 높은 해상도의 영상 촬영이 가능하고 넓은 시야각을 갖고 있다. 또한 초당 30프레임의 이미지를 제공하므로 많은 영상정보를 빠르게 획득할 수 있다. 카메라와 물체의 움직임을 제어할 MCU는 Texas Instrument사의 32비트 프로세서 tms28335(DSP) 모델을 사용하여 빠르고 정확한 연산을 할 수 있도록 하였다. 그림 3(a)와 같이 움직이는 물체의 경우 모바일 로봇으로 대신하여 실험하였다. 블루투스 모듈을 통해 속도정보를 받아 지상에서 움직이게 된다. 엔코더가 장착된 DC모터를 사용하여 정확한 속도제어가 되도록 하였다. 카메라의 경우 천장에 그림 3(b)와 같은 가로 2.5m, 세로 2.5m 2D 레일 시스템을 제작하여 2축으로 자유롭게 움직일 수 있다. 각 모터에는 엔코더가 달려있어 정확한 속도제어가 가능하고 또한 카메라에 짐벌을 설치하여 피치와 요 축으로 자유롭게 회전할 수 있도록 하였다.
그림 2실험 시스템 구성. Fig. 2 Experiment system construction.
그림 3(a) 모바일 로봇 (b) 2축 레일 시스템 (c) 실험 인터 페이스. Fig. 3 (a) 2-axis rail system (b) Mobile robot (c) Experiment interface.
카메라에서 목표물의 특징점을 찾아내기 위하여 실험에서는 그림 4와 같이 마커는 흰 바탕에 검정색 테두리를 갖는 사각형으로 내부에 패턴을 이용하여 마커의 ID를 구분할 수 있도록 하였다. 마커를 사용할 경우 이미지에서 물체의 특징점을 쉽게 찾을 수 있을 뿐 아니라 마커의 크기와 카메라의 초점거리간의 식을 통해 카메라와 목표물사이의 거리를 얻을 수 있다. 본 논문에서는 마커의 크기를 통해 측정하는 거리와 제안한 거리 추정알고리즘을 통해 얻은 거리정보와 비교를 한다. 목표물의 경우 자유롭게 움직일 수 있는 모바일 로봇을 사용하였고 모바일 로봇에 마커를 부착하여 영상에서 목표물을 검출할 수 있도록 하였다. 실시간으로 영상 내에서 마커를 찾아내고 그 중심좌표를 통해 물체의 위치를 파악한다. 샘플링시간은 30ms로 카메라가 다음영상을 얻는 데 필요한 시간과 비슷하게 하였다. 이 샘플링 시간안에 영상에서 목표물을 찾는 영상처리와 제안한 알고리즘의 연산이 가능하다. 목표물의 속도, 카메라의 속도, 물체의 위치와 거리 등은 컴퓨터에 저장이 되고 확인할 수 있다. 그림 3(c) 에서와 같이 모니터링 프로그램을 통해 카메라의 이동 속도와 회전 속도, 물체의 이동속도를 설정할 수 있으며 카메라의 영상을 확인할 수 있고 물체의 위치, 속도 등의 정보를 실시간으로 확인할 수 있다.
그림 4목표물 추적을 위한 마커. Fig. 4 Marker for tracking the object.
실험도 모의실험과 마찬가지로 두 가지 시나리오를 사용하여 성능검증을 하였다. 첫번째 실험은 정지된 물체와의 거리를 추정하는 실험이고 두번째 실험은 움직이는 물체와의 거리뿐만 아니라 속도까지 추정하는 실험을 하였다. 실험에서 사용된 카메라의 캘리브레이션 행렬은 로서 외부 툴을 이용하여 구하였다.
표 2에서 처럼 첫번째 시나리오 경우 물체의 속도는 0m/s으로 정지된 물체이고 카메라는 회전하지 않고 y축으로 0.1m/s의 직선속도로 움직인다. 목표물의 초기 위치는 m(t0)=[0.8, 0.7, 1.8]T(m)이다.
표 1실험 시나리오. Table 1 Scenarios for the experiment.
그림 5는 실제 실험상의 추정성능을 나타낸다. 측정되는 ȳ 의 경우 카메라가 이동하면서 생기는 흔들림으로 인해 측정값도 약간 떨림이 발생되는 것을 확인할 수 있다. 추정되 는 의 경우 약간의 시간 지연이 발생하지만 정확하게 추정됨을 확인할 수 있다. 시간 지연의 경우 물체 인식을 위한 영상처리, 데이터 간 통신으로 인한 지연이다. 그림 6은 추정 오차를 나타낸다. e1의 경우 떨림이 많이 나타나는데 앞에서 설명한 내용처럼 카메라의 이동에서 발생하는 흔들림으로 인해 측정값에 떨림이 발생하여 발생한 현상이다. 상태간의 에러가 2초 이내에 0으로 수렴함을 확인할 수 있다. 그림 7은 거리추정 성능을 나타낸다. 추정된 결과가 초반에 큰 오차를 보인다. 하지만 2초 이내에 실제 거리와 비슷하게 수렴함을 확인할 수 있다. 실제 거리와 추정 거리의 오차는 대략 10cm이다. 카메라의 떨림이 목표물의 특징점 좌표에 영향을 주어 추정된 결과에서도 약간의 떨림이 발생하고 있다.
그림 5시나리오 1에서의 실제 실험상의 추정 성능. Fig. 5 Experimental results of the state estimation in Scenario 1.
그림 6시나리오 1에서의 실제 실험상의 추정 오차. Fig. 6 Experimental results of the estimation errors in Scenario 1.
그림 7시나리오 1에서의 실제 실험상의 카메라와 목표물 의 거리 추정 성능. Fig. 7 Experimental results of the estimation of the distance between camera and object in Scenario 1.
두 번째 시나리오를 사용한 실험은 카메라와 목표물이 표 2의 내용과 같은 속도로 움직인다. 목표물의 초기위치도 위의 실험과 동일하다. 그림 8과 그림 9는 추정 성능 및 추정 오차를 나타낸 그림이다. 처음 상태에서는 초기 값으로 인한 오차가 있지만 2초 이내에 같아져 두 상태의 차이가 0에 수렴함을 확인할 수 있다. 그림 10은 카메라와 목표물사이의 거리를 나타낸 것으로 거리 추정
그림 8시나리오 2에서의 실제 실험상의 추정 성능 Fig. 8 Experimental results of the state estimation in Scenario 2.
그림 9시나리오 2에서의 실제 실험상의 추정 오차. Fig. 9 Experimental results of the estimation errors in Scenario 2.
그림 10시나리오 2에서의 실제 실험상의 카메라와 목표물 의 거리 추정 성능. Fig. 10 Experimental results of the estimation of the distance between camera and object in Scenario 2.
그림 11시나리오 2에서의 실제 실험상의 목표물의 속도 추 정 성능. Fig. 11 Experimental results of the estimetion of the velocity of object in Scenario 2.
성능을 나타낸다. 초반 큰 오버슈트가 있지만 빠르게 실제거리와 같아짐을 확인할 수 있다. 그림 11은 움직이는 목표물의 속도를 나타낸 것이다. 실제 목표물의 속도와 추정기를 통해 추정한 속도로 그림 10처럼 1초 부근에서 오버슈트가 발생하지만 2초 이내에 실제 목표물의 속도와 같아짐을 확인할 수 있다.
6. 결 론
본 논문에서는 이동하는 카메라를 이용하여 목표물과의 거리와 목표물의 속도를 추정하는 기법을 제안하고 제안한 기법을 실험을 통해 검증하였다. 기존의 연구는 목표물과 카메라의 움직임에 제한을 두어 거리 추정 및 움직임을 추정하였는데 이러한 문제를 해결하기 위하여 비선형 기반 추정기를 사용하였다. 정지되어 물체뿐만 아니라 움직이는 물체까지도 빠른 시간에 거리 및 속도 추정이 가능함과 제안한 알고리즘의 실시간 적용가능성을 실험을 통해 검증하였다. 이러한 결과를 확장하여 보다 자유로운 움직임을 갖는 이동로봇의 연구에 적용한다면 단일카메라를 이용하여 목표물의 정보를 쉽게 파악할 수 있을 것이다.
References
- Y. Yakimovsky and R. Cunningham, "A System for extracting three-dimensional measurements from a stereo pair of TV cameras," Computer Graphics and Image Processing, vol. 7, no. 2, pp. 195-210, Apr. 1978. https://doi.org/10.1016/0146-664X(78)90112-0
- W. Eric and L. Grimson, "Computational experiments with a feature based stereo algorithm," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. PAMI-7, no. 1, pp.17-33, Jan. 1985. https://doi.org/10.1109/TPAMI.1985.4767615
- U. R. Dhond and J. K. Aggarwal, "Structure from stereo-a review," IEEE Transactions on System, Man and Cybernetics, vol. 19, no. 6, pp. 1489-1510, Nov. 1898.
- S. T. Barnard and M. A. Fischler, "Computational stereo," ACM Computing Surveys, vol. 14, no. 4, pp. 553-572, Dec. 1982. https://doi.org/10.1145/356893.356896
- S. Shen, N. Michael, and V. Kumar, "Autonomous Indoor 3D Exploration with a Micro-Aerial Vehicle," Proceedings of IEEE International Conference on Robotics and Automation, Saint Paul, MN, pp. 9-15, May. 2012.
- S. Shen, N. Michael, and V. Kumar, "Autonomous Multi-Floor Indoor Navigation with a Computationally Constrained MAV," Proceedings of IEEE International Conference on Robotics and Automation, Shanghai, China, pp. 20-25, May. 2011.
- S. Avidan and A. Shashua, "Trajectory triangulation: 3D reconstruction of moving points from a monocular image sequence," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 22, no. 4, pp. 348-357, Apr. 2000. https://doi.org/10.1109/34.845377
- J. Kaminski and M. Teicher, "A general framework for trajectory triangulation," Journal of Mathematical Imaging and Vision , vol. 21, no. 1, pp. 27-41, Jul. 2004. https://doi.org/10.1023/B:JMIV.0000026555.79056.b8
- M. Han and T. Kanade, "Reconstruction of a scene with multiple linearly moving objects," International Journal of Computer Vision, vol. 59, no. 3, pp. 285-300, Sep. 2004. https://doi.org/10.1023/B:VISI.0000025801.70038.c7
- C. Yuan and G. Medioni, "3D reconstruction of background and objects moving on ground plane viewed from a moving camera," IEEE Computer Society Conference on Computer Vision and Pattern Recognition, New York, vol. 2, pp. 2261-2268, Jun. 2006.
- A. P. Dani, Z. Kan, N. R. Fischer, and W. E. Dixon, "Estimating tructure of a moving object using a moving camera: An unknown input observer approach," Proceedings of the IEEE Conference on Decision and Control and European Control Conference, Orlando, FL, pp. 5005-5010, Dec. 2011.
- P. M. Patre, W. MacKunis, C. Makkar, and W. E. Dixon, "Asymptotic tracking for uncertain dynamic system via a multilayer NN feedforward and RISE feedback control structure," IEEE Transactions on Automatic Control, vol. 53 no. 9, pp. 2180-2185, Oct. 2008. https://doi.org/10.1109/TAC.2008.930200
- Y. Ma, S. Soatto, J. Kosecka, and S. Sastry, An Invitation to 3-D Vision, Springer, 2004.
- B. Lucas and T. Kanade, "An iterative image registration technique with an application to stereo vision," Proceedings of the 7th International Joint Conference of Artificial Intelligence, San Francisco, CA, USA, pp. 674-679, 1981.
- G. Hu, D. Aiken, S. Gupta, and W. E. Dixon, "Lyapunov-Based range identification for paracatadioptric system," IEEE Transactions on Automatic Control, vol. 53, no. 7, pp. 1775-1781, Aug. 2008. https://doi.org/10.1109/TAC.2008.928312