73
工學碩士學位論文 허프 변환을 이용한 스테레오 비젼의 거리측정 알고리즘에 관한 연구 A Depth Extraction Al gori thm for Stereo Vi sion using Hough Transform 2002 8 仁荷大學校 産業大學院 自動化工學科

허프 변환을 이용한 스테레오 비젼의 거리측정 알고리즘에 관한 연구 · 을 보여주지만 처리시간이 많이 걸리고, 다른 환경에 적용하기에는

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

工學碩 士學位 論文

허프 변환을 이용한 스테레오 비젼의

거리측정 알고리즘에 관한 연구

A De pt h Ex t r ac t i on Al gor i t hm f or St e r e o

Vi s i on us i ng Hough Tr ans f or m

2002年 8月

仁荷大學校 産業大學院

自動化工學科

陳 星 勳

工學碩 士學位 論文

허프 변환을 이용한 스테레오 비젼의

거리측정 알고리즘에 관한 연구

A De pt h Ex t r ac t i on Al gor i t hm f or St e r e o

Vi s i on us i ng Hough Tr ans f or m

2002年 8月

指導敎授 金 學 一

이 論文을 工學碩士學位論文으로 提出함 .

仁荷大學校 産業大學院

自動化工學科

陳 星 勳

이 論 文을 陳星勳 의 工學 碩士學 位論文 으로 認定함 .

2002年 8月 日

主審 印

副審 印

委員 印

요약

본 논문에서는 스테레오 비젼(Stereo vision)을 이용한 이동로봇이

실내복도와 같은 제한된 환경에서 장애물과 주위환경의 정보를 정

확하게 획득하고, 실용성 있는 속도로 주행하기 위하여 기존의 매칭

(Matching )알고리즘을 보완하는 개선된 알고리즘을 제안한다.

이를 위해 입력되는 영상을 축소하고 경계선추출(Edge Detection )

시에 기울기의 크기뿐만 아니라 방향을 구하여 허프변환(Hough

transform )에 이용하는 MHT (Modify Hough transform )으로 특징점

(Feature)추출에 많은 시간을 단축한다. 또한 로봇이 주행하는데 필

요한 방향과 회전각도(Heading )값을 결정하는 소실점(Vanishing

Point )을 변형된 허프변환을 통하여 빠르게 구한다. MHT 에서 구한

직선의 특징점만 가지고 매칭을 수행하면 거리정보 획득에 많은 오

류가 발생할 수 있으므로 직선의 특징점과 원 영상들간의 상관도

(Correlation )를 통해 매칭의 정밀도를 높여 보다 정확한 거리정보를

얻는다. 또한 기존의 매칭 알고리즘과 제안하는 알고리즘의 비교를

통하여 제안하는 알고리즘이 보다 신속하고 정확하게 주위환경의

정보를 획득함을 보였다. 마지막으로 매칭과정을 통해 얻은 거리정

보의 타당성과 신뢰성을 검증하기 위하여 간단한 주행 알고리즘을

통해 장애물 회피 및 주행 실험을 하였다.

- iv -

A b s tract

In this thes is , improved a lgorithm ma king up for the

wea kness of Matching Algorithm is introduced . And this new

a lgorithm ma kes it poss ible that in the limited circumsta nce

s uch as a corridor, a mobile robot attaching ste reo vis ion

gets information a bout s urroundings a nd obstacles exactly to

move in practica l s peed .

To ma ke this poss ible , the input image is reduced a nd

the n at the mome nt of edge detection, not only the gradie nt

magnitude in Hough tra nsform but a lso the orie ntation is

detected. This ca n be ca lled MHT(modify Hough tra nsform)

a nd a lso reduce a lot of time needed for extracting Feature .

MHT has great quickness in obta ining Va nis hing Point which

decides the va lues of orie ntation a nd Heading needed for

robots ' moving. In case of doing Matching only with Feature

extracted in MHT, the re ca n be ma ny e rrors in gathe ring

information on de pth. The refore , improving Matching precise

through corre lation betwee n linea l Feature a nd origina l

images he lp to get exact information on de pth.

Fina lly, to test the va lidity a nd re lia bility of de pth

information obta ined by this Matching, the expe rime nt of

trave ling a nd esca ping obstacles through s imple trave ling

a lgorithm has bee n done .

- v -

목차

제 1 장 서 론

1.1 연구 배경...............................................................................................1

1.2 연구 현황...............................................................................................3

1.3 논문의 목적 및 구성............................................................................5

제 2 장 이 론적 배경

2.1 스테레오 비젼 .....................................................................................7

2.2 영상형성 및 원근 변환......................................................................8

2.3 카메라 보정...........................................................................................13

2.4 스테레오 매칭.......................................................................................22

2.4.1 특징 기반 매칭................. .........................................................25

2.4.2 영역 기반 매칭...........................................................................25

2.4.3 깊이 해상도.................................................................................27

제 3 장 M H T 과 Corre lat ion을 이용한 매칭 알고리 즘

3.1 특징 기반 매칭 알고리즘 구현......................................................29

3.1.1 Burns Line Detection에 의한 매칭.......................................29

3.1.2 MHT 를 이용한 매칭 ................................................................36

3.2 MHT 과 Correlation을 이용한 매칭 알고리즘 ..........................38

제 4 장 실 험 및 결과

4.1 실험 환경.............................................................................................40

4.1.1 실험 환경에 대한 제한............................................................40

4.1.2 실험 장치 구성..........................................................................41

4.2 실험.......................................................................................................44

4.2.1 영상 획득....................................................................................44

4.2.2 경계선 추출................................................................................45

4.2.3 MHT 을 적용하여 원하는 방향의 직선 추출.....................46

- v i -

4.2.4 소실점 추출................................................................................47

4.2.5 Connected Component labeling ............................................49

4.2.6 Line정보와 Correlation을 이용한 매칭...............................50

4.2.7 거리정보 추출............................................................................56

4.3 실험 결과 ...........................................................................................60

제 5 장 결 론 및 향후 연구 과제 ...........................................................61

참 고 문 헌

- v ii -

그림 목 차

그림2.1 Monocular Imaging Model...........................................................9

그림2.2 Orthographic projection과 Perspective projection .................9

그림2.3 Binocular Imaging Model...........................................................12

그림2.4 CCD카메라로부터 얻어진 왜곡된 영상...................................14

그림2.5 광축의 중심점이 어긋난 영상....................................................14

그림2.6 카메라 보정을 위한 원근 투영 모델 .......................................16

그림2.7 왜곡 없는 센서로부터 왜곡된 프레임 좌표계로의 변환.....16

그림2.8 초점 거리를 얻기 위한 렌즈 모델............................................18

그림2.9 초점거리 실험 영상........................................................................18

그림2.10 카메라 보정에 사용된 무늬......................................................20

그림2.11 광축 실험 영상.............................................................................21

그림2.12 Epipolar Constraint .....................................................................23

그림2.13 Position Constraint in Parallel Stereo Vision ....................24

그림2.14 깊이 해상도...................................................................................28

그림3.1 Sobel Mask.....................................................................................30

그림3.2 8- CCA mask 와 4- CCA mask.................................................31

그림3.3 Normal representation of a line...............................................36

그림3.4 ρθ평면으로 mapping .................................................................37

그림3.5 MHT 과 Correlation을 이용한 매칭 알고리즘 순서도.........39

그림4.1 실험한 복도환경.............................................................................40

그림4.2 실험에 사용된 카메라(VCC- 8300B).........................................42

그림4.3 실험에 사용된 frame grabber (Matrox MeteorⅡ M/ C).....41

그림4.4 pioneer 2 DXE ...............................................................................43

그림4.5 원 영상.............................................................................................44

그림4.6 원 영상.............................................................................................45

그림4.7 경계선 추출(그림4.3)....................................................................45

그림4.8 경계선 추출(그림4.4)....................................................................46

그림4.9 원하는 직선 추출(그림4.5)..........................................................47

그림4.10 원하는 직선 추출(그림4.6)........................................................47

- v iii -

그림4.11 MHT 로 구한 소실점..................................................................48

그림4.12 Least Square fit ting으로 구한 소실점..................................48

그림4.13 일정길이 이상 Line detection (제안하는 알고리즘)............50

그림4.14 일정길이 이상 Line detection (Burns Line Detection )......50

그림4.15 매칭 영상(제안하는 알고리즘)...................................................51

그림4.16 매칭 영상(Burns Line Detection ).............................................51

그림4.17 각 Disparity별로 나타낸 매칭 영상

(제안하는 방법, 2035mm )..........................................................................52

그림4.18 각 Disparity별로 나타낸 매칭 영상

(Burns Line Detection , 2035mm )............................................................54

그림4.19 Z방향의 거리측정 그래프(제안하는 알고리즘).....................58

그림4.20 Z방향의 거리측정 그래프(Burns Line Detection )..............58

그림4.21 X방향의 거리측정 그래프(제안하는 알고리즘)...................59

그림4.22 X방향의 거리측정 그래프(Burns Line Detection ).............59

표 목차

표 1 광축 실험 데이타...............................................................................20

표 2 VCC- 8300B Specification .................................................................42

표 3 Pioneer 2 DXE Specification ............................................................43

표 4 한 영상에서 매칭된 모든 점의 거리 측정(제안하는 방법).......56

표 5 Z방향의 변화에 따른 거리 측정(제안하는 방법).........................57

표 6 한 영상에서 매칭된 모든 점의 거리 측정

(Burns Line Detection )...............................................................................57

표 7 Z방향의 변화에 따른 거리 측정(Burns Line Detection )..........57

표 8 프로그램의 전체수행 시간 비교(pentiumⅡ 366)........................60

- ix -

제 1 장 서론

1.1 연 구 배 경

기술이 발달함에 따라 인간을 대신하여 작업을 수행할 다양한 형

태의 로봇개발에 대한 연구가 진행되어오고 있다. 단순한 형태의 반

복작업을 하는 로봇을 비롯하여 우주공간을 탐사하는 지능적인 기

능을 갖춘 로봇까지 다양하며, 로봇의 역할에 대한 인간의 욕구는

점점 확대되고 있다. 이러한 지능적인 로봇은 주위환경에 대한 정보

를 스스로 획득하는 것은 필수적이다.

현재 로봇이 환경정보를 획득하기 위한 센서로는 초음파 센서, 적

외선 센서, 레이저 센서, 비젼 센서 등이 있다. 이 중에서 초음파 센

서나 적외선 센서는 인식범위가 좁고, 환경에 대한 영향을 많이 받

으며, 레이저 센서는 정확한 정보를 얻을 수 있으나 가격이 비싸고,

하드웨어적으로 복잡하다. 반면 비젼 센서는 환경에 대한 영향을 덜

받으며 많은 정보를 획득할 수 있고, 소프트웨어적인 수정을 통해

적용대상이나 내용을 쉽게 변경할 수 있는 장점이 있다. 뿐만 아니

라 인간도 환경에 대한 정보를 99%정도 눈에 의존한다. 따라서 다

른 센서보다도 비젼 센서 즉, 비젼 시스템을 자율주행로봇에 적용하

는 것은 많은 성능향상을 가져오고 타당하다고 본다. 자율주행로봇

(Autonomous Mobile Robot )은 3차원에 대한 정보를 2차원으로 획

득하게 되고, 이 때 깊이에 대한 정보가 붕괴되며 이런 2차원정보를

가지고 3차원상의 정보를 알아내는 방법은 많은 어려움이 있으며

대표적으로 단안시법(Mono vision )과 복안시법(Stereo vision )이 있

다[1][2]. 단안시법을 통한 3차원정보획득은 제한된 환경에서 가능함

을 보여주지만 처리시간이 많이 걸리고, 다른 환경에 적용하기에는

확장성이 없다[3]. 대부분은 두 대의 카메라를 이용한 복안시법을

사용한다. 하지만 두 대의 카메라에서 입력되는 영상정보는 많은 양

의 정보를 가지고 있고, 두 영상에서의 일치점을 찾는 매칭과정은

알고리즘이 복잡하고 처리시간이 많이 걸려 실시간으로 로봇을 주

행시키는데 많은 어려움이 있다. 또한 카메라의 내. 외적인 기하학

- 1 -

적인 특성과 카메라 해상도 문제, 물체와 카메라의 각도에 따른 폐

색(Occlusion ), 조명에 의한 좌·우 영상의 Contrast문제 등으로 많

은 오류를 발생시킨다. 뿐만 아니라 정확한 매칭이 이루어져도 입력

된 2차원의 영상정보는 3차원의 연속적인 값을 이산적(Discrete)으

로 표현한 디지털 값이므로 거리 정보 추출에 많은 오차를 포함한

다.

따라서 이동로봇이 안정된 속도에서 실용성 있는 주행을 위하여

입력영상의 실시간 처리와 정확한 매칭에 관한 알고리즘의 개선이

필요하다. 이와 관련된 문제점들을 해결하기 위해 많은 연구가 있었

고 앞으로도 계속해서 연구되어져야할 것이다.

- 2 -

1.2 연 구 현 황

한 대의 카메라로부터 얻어진 영상정보를 가지고 3차원의 정보를

추정해내는 방법은 불가능하지만[4][5] 3차원 정보 중 어느 하나만

알고 있다면 나머지 두 개의 알려지지 않는 정보는 실내복도와 같

은 제한된 환경에서는 물체의 위치를 구할 수 있다[3][6]. 하지만 처

리시간이 많이 걸리고 확장성이 없어 대부분은 2대의 카메라를 이

용하여 3차원의 정보를 획득한다.

스테레오 비젼을 이용한 3차원의 정보를 획득은 많은 영상처리

시간이 필요하다. 이를 위하여 김성호[7]는 영상축소와 분산처리시

스템으로 영상처리 시간을 줄였으며 영상축소로 해상도가 감소하는

단점을 극복하기 위하여 Labegue[6]가 제시한 알고리즘으로 구한

직선을 원 영상에서 fitting한다. 이승진[1]은 복도와 같은 제한된 환

경에서 소실점을 이용한 두 영상에서의 매칭은 Disparity의 범위를

제한하여 영상처리 속도를 많이 향상시켰다. 하지만 환경에 제한적

이고 소실점을 얻기 위한 두 개의 직선이 반드시 존재해야하며 영

상에 존재하는 두 직선으로부터 구한 소실점은 오차를 가지므로 이

론적인 감소효과를 가져오지는 않는다. 또한 소실점을 이용한 기하

학적인 제한 조건은 벽 위에 있는 점에만 한정하여 적용가능하며

바닥이나 천장에 있는 점을 제안하는 조건식에 대입하려면 카메라

의 방향을 상하로 바꾸어주어야 가능하다. 전승훈[8]은 돌발적인 장

애물의 등장에 신속 정확하게 대처하고, 이동로봇이 실용성 있는 속

도에서 안정된 주행을 하고자 기존의 허프 변환을 변형하여 영상처

리시간을 단축하고자 노력하였고, Area Based Matching에 관한 다

양한 전략을 적용하여 실험하였다. 하지만 변형된 허프 변환을 통한

실험결과가 수직선이 많이 존재한다는 가정 하에 이루어졌고 로봇

방향을 결정할 소실점을 구하기 위한 벽- 바닥 직선을 검출하는 연

구는 이루어지지 않았다.

스테레오 비젼을 이용한 이동로봇이 물체를 인식하는 매칭방법에

는 크게 두 가지로 나뉘는데 Levine [9]가 제안한 Correlation 방법과

직선이나 점(Coner point )을 가지고 매칭을 하는 특징 기반 매칭

- 3 -

(Feature Based Matching )방법이다. Burns [10]는 Contrast가 약한

경계선을 구하기 위해 Line support region의 개념을 도입한다.

Burns의 방법을 개선한 빠른 직선 추출 알고리즘을 Kahn [11]등이

제안했다. Line support region을 만들기 전에 기울기 방향을 보통 8

개로 나누고 해당 범위의 라벨을 각 픽셀(pixel)에 붙인다. 이웃하는

픽셀들 중 같은 라벨을 갖는 픽셀들을 CCA (Connected Component

Algorithm )을 사용하여 Line support region을 구한다. 다음으로

Least square fitting 적용하여 직선을 검출한다. 이 방법은 기존의

Burns line detection보다는 빠른 방법이나 직선을 검출하기 위하여

총5회의 검색을 수행하여 실용성 있는 이동로봇에 적용하기에는 많

은 시간이 걸리는 문제점은 여전히 남아 있다[8]. Kanade와

Okutomi[12]는 Area Based Matching의 단점인 폐색현상

(Occlusion )상의 문제를 해결하기 위하여 한 점의 주변 값으로 사용

되는 패치(Patch )의 모양과 크기를 적절하게 변형하여 사용하는 방

법을 제안하였다. 하지만 가변 패치 방법은 시간이 너무 많이 걸리

는 단점을 여전히 안고 있다. 최근에는 패치의 크기는 고정되고 패

치의 종류를 다양하게 선택하는 Multiple Windowing방법을 사용한

다[13].

특징 기반 매칭법은 대부분 직선을 추출하여 직선의 중심위치와

직선의 길이 등이 허용범위 내에 있을 때 매칭을 한다[8][1]. 이 때

실내 조명이나 물체와 카메라의 방향에 따라 좌·우영상의 경계선

의 성분이 다르게 나타날 수 있고 이렇게 되면 많은 부분이 폐색으

로 간주되어 매칭에 실패하게된다.

- 4 -

1.3 연 구의 목적 및 논 문의 구성

본 논문의 목적은 스테레오 비젼을 이용한 이동로봇이 실내복도

와 같은 제한된 환경에서 장애물과 주위환경의 정보를 정확하게 획

득하고 실용성 있는 속도로 주행하기 위하여 기존의 매칭 알고리즘

을 보완하는 개선된 알고리즘을 제안하는 것이다.

이를 위해 기존의 매칭 알고리즘을 구현하고 제안된 알고리즘과

의 비교를 통해 정확성과 처리속도 면에서 개선된 점을 확인하고

주행로봇으로 실험을 한다. 스테레오 비젼을 이용한 이동로봇의 매

칭 알고리즘에는 크게 Correlation을 이용한 방법과 특징 기반 매칭

방법으로 나뉘는데 전자는 임의의 형상을 인식할 수 있고, 영상의

전처리와 매칭 방법이 간단한 반면, 계산량이 많아 시간이 많이 걸

리고 반복적인 패턴과 조명의 영향에 크게 좌우되며 물체와 카메라

와의 각도에 따라 폐색되는 부분은 잘못된 매칭을 수행한다. 반면

후자는 계산량이 적어 시간이 적게 걸리고 3차원형상의 기하학적인

왜곡에 상대적으로 강하다. 하지만 물리적인 현상에 바탕을 둔 몇

가지 제한 조건을 적용하여 가능한 점들 중에서 매칭을 하므로 특

징 추출과정에서 매칭의 정확도가 크게 좌우되고, 제한된 점에 대하

여만 매칭을 수행한다. 따라서 본 논문에서는 두 가지 방법의 장점

및 단점을 보완하여 빠르고 정확한 매칭 알고리즘을 제안한다.

대표적인 직선추출 알고리즘인 허프 변환을 통하여 영상의 전처리

를 수행할 때 시간이 너무 많이 걸리는 단점을 보완하기 위하여 전

승훈[8]이 제안한 MHT 을 사용하여 특징 추출을 한다. 여기서 소실

점와 같은 임의 방향의 직선을 구할 때는 Sobel operator에서 구한

기울기 값이 정확하지 않으므로 제안하는 방법으로 소실점 및 매칭

에 필요한 일정길이 이상의 직선을 구한다. 다음으로 직선의 길이와

중심점의 위치와 같은 제한 조건을 가지고 매칭을 할 때 오류를 발

생할 수 있으므로 Correlation방법을 적용하여 정확한 매칭을 한다.

- 5 -

본 논문의 구성은 다음과 같다.

제 2장에서는 본 논문에서 사용한 Imaging Geometry 및 원근 변

환, 카메라 보정, 매칭등 스테레오 비젼의 기본적인 사항에 대하여

알아보고 제 3장에서는 기존의 스테레오 매칭 알고리즘에 대하여

알아보고 제안하는 알고리즘에 대하여 기술하며 제 4장에서는 제안

하는 알고리즘 및 기존의 매칭 알고리즘을 구현하고, 실험하여 결과

를 보이며 제안하는 알고리즘의 신뢰성과 타당성을 검증하기 위하

여 간단한 주행실험을 한다. 마지막으로 제 5장에서는 결론 및 향후

연구 방향에 대하여 기술한다.

- 6 -

제 2 장 이론 적 배 경

2 .1 스 테레 오 비 젼

컴퓨터 비젼의 궁극적인 목적은 인간의 시각 시스템을 컴퓨터로

구현하는데 있다. 즉 3차원 공간상의 환경정보를 인식하는 것이 가

장 기본적인 과제라 할 수 있다. 3차원 공간상의 환경정보를 획득하

는 방법으로는 Structured Light 혹은 T ime of Flight의 원리를 이

용하는 능동적인 방법과 추가의 에너지원을 이용하지 않는 수동적

인 방법으로 나눌 수 있다. 레이저나 초음파와 같은 능동적인 방법

은 외부환경의 변화에 민감하지 않고 간단한 구조로 거리 정보를

획득할 수 있으나 거리 정보의 해상도가 낮고 장비가 고가인 단점

이 있다. 반면 추가적인 에너지원이 필요하지 않은 수동적인 방법

중 스테레오 비젼 방법은 환경에 대한 영향을 덜 받으며 많은 정보

를 획득할 수 있고, 소프트웨어적인 수정을 통해 적용대상이나 내용

을 쉽게 변경할 수 있는 장점이 있어 비교적 단순한 작업대상의 제

한된 3차원 공간상의 환경정보 획득에는 가장 일반적으로 사용되는

방법이다. 하지만 스테레오 비젼 방법은 두 대의 카메라로부터 입력

되는 영상정보가 많아 처리시간이 많이 걸리고, 연속적인 환경정보

를 이산적인 값으로 표현함으로써 발생하는 양자화 오차 즉 영상의

해상도 문제, 매칭 알고리즘의 복잡성, 조명이나 물체와 카메라와의

상대적인 변화에 따른 매칭의 오류 등 많은 문제점들이 있다. 이를

해결하기 위한 많은 연구가 이루어지고 있고, 최근에는 하드웨어의

성능향상으로 1초에 30 프레임의 거리영상을 얻을 수 있는 스테레

오 비젼 시스템이 발표된 연구도 있다[14].

두 개의 렌즈로부터 입력되는 좌·우 영상에서 일치되는 점의

Disparity를 구하고 이 Disparity에 간단한 삼각 측량법을 적용하여

깊이를 검출하는 스테레오 비젼의 일반적인 매칭 알고리즘은 다음

과 같다.

- 7 -

1. Left and Right Image 획득

2. 왼쪽 과 오른쪽에 특징점들을 찾는다.

3. 두 영상의 특징점들 간의 대응관계를 찾는다.

4. 대응하는 특징점들에서 Disparity를 계산한다.

5. Disparity로부터 거리정보를 얻는다.

2 .1 영 상형 성 및 Pers pectiv e T ran s form

3차원 공간상의 점을 2차원의 평면에 투사시켜 영상형성 모델은

크게 평행투사(parallel projection )와 원근 투사(perspective

projection )로 나뉜다[1][8][15][16][17].

평행투사는 orthographic projection이라고도 하는데 이것은 핀 홀

(Pinhole)이 Z방향의 물체로부터 무한히 먼 거리에 위치하는 경우의

원근 투영에 해당된다. 이 투영법은 핀 홀을 통과하기보다는 광학

축에 평행한 빛에 의하여 영상을 형성하는 방법으로 생각할 수 있

다. 즉 모든 물체는 X와 Y좌표의 변형이 없는 영상에 표면에 투영

된다. 반면 원근 투영은 central projection이라고도 하며 빛은 직진

하고 핀 홀을 통해 들어오는 영상평면의 한 점은 빛에 의해 결정된

특정 방향에 대응된다. 따라서 2차원 평면에 투사된 3차원 공간상의

한 점의 위치를 파악하기 위한 모델로는 원근 투영이 적합하다고

할 수 있다[5][7][16].

그림2.1에서와 같이 실좌표계와 카메라 좌표계가 일직선상에 있

고, 영상 평면의 중심은 원점이고, 렌즈 중심 좌표는 (0, 0, λ)라고

하면 3차원 공간상의 임의의 한 점(X, Y, Z)이 투사되는 영상 평면

의 점(x , y )은 닮은 꼴 삼각형을 이용하여 다음과 같이 계산한다.

- 8 -

그림 2.1 Monocular Imaging Model

a )Orthographic projection b)Per spective projection

그림2.2 Orthographic projection과 Perspective projection

- 9 -

= Xλ - Z

(2.1)

= Yλ - Z

식(2.1)을 이용하여 3차원 공간상의 점(X, Y, Z)이 영상 평면에 투

영되었을 때 나타나는 점(x , y )을 다음과 같이 직접 구할 수도 있지

만 위의 식은 Z에 의해 나눠지는 비선형이고, 또한 실제 로봇의 좌

표시스템으로 변환할 때는 선행행렬의 형태인 동차좌표

(homogeneous coordinate)시스템으로 표현하는 것이 더 편리하다.

카메라 좌표의 동차형태를 c h , 3차원 공간좌표의 동차형태를

w h , 원근 변환 행렬을 P라고 하면 다음과 같다.

c h = P w h

=

1 0 0 00 1 0 00 0 1 00 0 - 1/ λ 1

kXk YkZk

(2.2)

본 논문에서는 실내복도와 같은 제한된 환경에서 주위환경정보를

획득하여 실용성 있고 안정되게 장애물을 회피하여 주행하는 것이

목적이므로 식(2.2)을 역 변환시켜 영상 평면에 나타나는 점(x , y )좌

표를 가지고 3차원상의 공간정보를 획득해야하다.

영상 평면의 좌표를 ( x 0 , y 0 , 0 )이라 가정하면 다음과 같은 결과

를 나타낸다.

- 10 -

w h = P - 1 c h

=

1 0 0 00 1 0 00 0 1 00 0 1/ λ 1

k x 0

k y 0

0k

=

k x 0

k y 0

0k

(2.3)

직교 좌표로 나타내면 다음과 같으며, 이 식은 영상 평면의 한 점

이 3차원상의 공간 좌표와 같다는 의미이고 이것은 영상 평면의 z

값을 0 이기 때문에 나타나는 잘못된 결과이고 3차원상의 한 점에

대한 정보가 없다면 2차원 영상 평면에 투영된 한 점으로부터 3차

원의 점을 완벽하게 복구할 수 없다는 것을 나타낸다.

w =XYZ

=x 0

y 0

0(2.4)

따라서 두 대의 카메라로부터 입력되는 좌·우 영상에서 일치되

는 점의 Disparity를 구하고 이 Disparity에 간단한 삼각 측량법을

적용하여 깊이를 검출하는 스테레오 비젼 알고리즘은 다음과 같다.

두 개의 카메라는 동일하고 두 좌표계는 원점이 다를 뿐 완전히

일직선상에 있으며 카메라와 실 좌표계를 일치시켜 놓으면 다음과

같은 관계식을 얻을 수 있다.

X 1 =x 1

λ(λ - Z 1) (2.5)

X 2 =x 2

λ(λ - Z 2 ) (2.6)

- 11 -

그림2.3 Binocular Imaging Model

두 카메라가 B만큼 떨어져있고 Z좌표는 같으므로

X 2 = X 1 + B (2.7)

Z 2 = Z 1 = Z (2.8)

식(2.7)과 식(2.8)을 식(2.5)과 식(2.6)에 대입하여 풀면

X 1 =x 1

λ(λ - Z ) (2.9)

X 1 + B =x 2

λ(λ - Z ) (2.10)

- 12 -

식(2.9)과 식(2.10)을 대입해 풀면 다음과 같이 두 영상 평면에 나

타나는 일치하는 점 ( x 2 , x 1)의 차이 값으로 거리 정보를 획득 할

수 있다. 여기서 ( x 2 - x 1)의 값을 Disparity라고 한다.

Z = λ - λBx 2 - x 1

(2.11)

2 .2 카 메라 보정

Stereo Vision을 이용하여 3차원 공간상의 물체를 인식할 때 대부

분의 경우 많은 오류를 포함한다. 이것은 여러 가지 이유 중 CCD센

서나 렌즈의 왜곡현상으로 기인한 카메라 내적인 기하학적인 특성

에 문제가 있기 때문이다. 또한 실세계 좌표계에 대한 카메라 프레

임의 3차원 방향이나 위치가 잘못되어 있는 경우에도 많은 오류가

발생한다. 이와 같이 카메라의 내·외적인 기하학적인 특성 때문에

발생하는 오류를 방지할 목적으로 영상을 전처리하기 전에 반드시

수행되어야하는 것이 카메라 보정(Carmera Calibration )이다. 그림

2.4는 중앙에서 가장자리부분으로 갈수록 렌즈에 의한 왜곡

(Distortion )이 심하게 됨을 볼 수 있다. 그림2.5는 이론상으로는 영

상 평면의 중앙이 카메라의 광축(Optical Axis )과 영상 평면이 만나

는 점과 일치되어야 하나 약간 어긋나고 있는 것을 볼 수 있다. 광

축 중심의 조금한 변화는 카메라와 물체와의 거리가 멀어짐에 따라

해상도(Resolution )가 크게 낮아지므로 거리정보를 획득할 때 많은

오차를 유발한다.

따라서 내부 카메라 보정은 카메라의 중심점(Principal Point ), 렌

즈 왜곡(Lens distortion), 초점 거리, Scale factor등을 구하는 것을

말하고. 외부 카메라 보정은 카메라의 천이 및 회전된 정도를 말하

는 것으로 두 카메라사이의 상대적인 위치를 파악하는 데 중요하다.

- 13 -

그림2.4 CCD카메라로부터 얻어진 왜곡된 영상

그림2..5 광축의 중심점이 어긋난 영상

카메라 보정 방법은 크게 제어점을 이용하는 방법, 기하학적인 성

질을 이용하는 방법, 제어점을 사용하지 않는 방법으로 나뉜다. 제

어점을 이용하는 방법은 이미 알고 있는 3차원상의 좌표점을 이용

하는 방법이며 가장 널리 사용되고 있다[18]. 기하학적인 방법은 소

실점과 같이 물체의 위치가 바뀌어도 변화지 않는 성질을 이용한다

- 14 -

[19]. 마지막으로 제어점을 사용하지 않고 최소한 두 개 이상의 영

상을 얻어 보정하게 된다. 이것은 이동 로봇과 같이 자체적으로 카

메라 보정을 하여야 하는 경우에 사용한다. 그림2.6은 카메라 보정

을 위한 원근 투영 모델이며 제어점을 이용한 카메라 보정 절차는

다음과 같다[20].

첫 번째 단계는 실세계 좌표 ( x w , y w , z w ) 계에서 카메라 중심

좌표 ( x c , y c , z c )계로의 강체(rigid body )회전, 이동 변환시켜

calibration상수 R, T 를 구한다.

x c

y c

z c

= Rx w

y w

z w

+T c

T c

T c

(2.12)

두 번째 단계는 이상적인 핀 홀 카메라 모델을 이용 카메라 좌표

계에서의 점의 위치를 왜곡(distortion )되지 않은 센서 평면 위의 한

점 ( X u , Y u )으로 원근 투영시켜 초점 거리 f를 구한다.

X u = fx c

z c(2.13)

Y u = fy c

z c(2.14)

세 번째 단계는 왜곡이 없는 이상적인 센서 평면에서 왜곡이 있

는 실제 이미지 좌표 위치인 ( X d , Y d )로 변환시켜 렌즈 왜곡 계수

k 1을 구한다.

X u = X d ( 1 + k 1 ρ 2 ) (2.15)

Y u = Y d ( 1 + k 1 ρ2 ) (2.16)

ρ = X d2 + Y d

2 (2.17)

- 15 -

마지막 단계는 센서 평면 위에 생성되는 이미지 좌표와 카메라의

프레임 버퍼에 저장되는 좌표인 ( X f , Y f )로 변환시켜 Scale

Factor S x를 구한다.

그림2.6 카메라 보정을 위한 원근 투영 모델

undistorted undistorted/ distorted distorted

sensor plane sensor plane image plane

그림2.7 왜곡 없는 센서로부터 왜곡된 프레임 좌표계로의 변환

- 16 -

본 논문에서는 실내복도와 같은 제한된 환경에서 장애물을 회피

하고 실용성 있는 주행을 위해 MHT 을 적용하여 빠른 매칭을 하

며 매칭에서 발생하는 오류를 줄이는데 목적이 있으므로 다음과 같

은 간단한 방법을 통하여 광축 중심 좌표와 거리정보와 밀접한 간

계가 있는 초점거리(Focal length )만을 보정한다.

초점거리 f를 구하는 과정은 다음과 같다.

1. 그림2.8과 같이 거리를 달리하는 두 개의 Image acquisit ion

2. 영상에서 y 1, y2 픽셀거리 측정

3. 식(2.18)∼식(2.21)에 의해 초점거리를 계산

4. 픽셀단위의 초점거리를 mm 단위로 환산

그림2.8과 같은 Focal length를 구하는 렌즈 모델에서 h, △d, y 1,

y2를 구하고 삼각법에 의해 다음과 같은 식을 유도 할 수 있다.

y 1

f= h

d(2.18)

y 2

f= h

d + d(2.19)

식(2.18)과 식(2.19)을 y에 대하여 정리하고 풀면 다음과 같은 식

(2.20)을 유도할 수 있다.

d =y 2

y 1 - y 2d (2.20)

식(2.20)을 식(2.18)에 대입하여 정리하면 초점거리를 구하는 식

(2.21)을 구할 수 있다.

- 17 -

f = d

( 1y 2

- 1y 1

) h(2.21)

본 실험에서 측정한 값은 h =219mm , y 1=96pixel, y2=91pixel, △

d=50mm이었고 계산한 초점거리 f는 7.9mm로 추정되었다.

그림2.8 초점거리를 얻기 위한 렌즈 모텔

그림2.9 초점거리 실험 영상

- 18 -

광축 중심 좌표를 구하기 위해 그림2.9와 같은 격자 무늬를 고정하

고 카메라를 Z방향으로 움직이면 그림에 표시된 무늬상의 두 점은

카메라를 Z방향으로 멀리하면 할수록 광축 중심 좌표로 움직이게

된다. 이와 같은 원리를 적용하는 과정은 다음과 같다.

1. 카메라와 무늬 사이의 거리를 달리하면서 여러 장의 영상 획득

2. 두 점에 대한 여러 개의 좌표 점(x . y )을 획득

3. 식(2.20)의 근사식을 이용하여 직선의 방정식 계산

4. 직선의 교점으로 광축의 중심 좌표

A

xy =

ab (2.19)

식(2.19)은 다음 식으로 근사 된다.

xy = ( A T A )

- 1A T

ab (2.20)

- 19 -

그림2.10 카메라 보정에 사용된 무늬

광축을 구하기 위한 각 점에 대한 data는 표1과 같다.

표 1 광축 실험 데이타

left image right imagea점(pixel) b점(pixel) a점(pixel) b점(pixel)73 26 223 28 85 34 237 35

86 42 211 42 99 49 224 49

97 53 202 53 110 61 215 61

105 60 195 61 118 68 208 68

- 20 -

a)left image a)right image

b)left image b)right image

c)left image c)right image

d)left image d)right image

그림2.11 광축 실험 영상

- 2 1 -

측정결과 왼쪽 카메라의 Optical Axis의 (x , y )는 (153,112)

이고, 오른쪽 카메라는 (165, 118)로 추정되었고 왼쪽과 오른쪽

카메라의 Optical Axis의 중심이 많이 어긋난 것을 알 수 있

다.

2 .3 스 테레 오 매 칭

투시된 영상들로부터 주어진 장면에 대한 유용한 정보를 얻는 것

을 목적으로 하는 컴퓨터 비젼은 영상면에서 물체표면까지의 거리

정보를 얻기 위해 일반적으로 두 대의 카메라를 이용한다. 3차원 공

간상의 한 점을 두 대의 카메라에 투영하면 두 영상에서 맺히는 점

의 위치는 차이가 나고 이것은 거리 정보를 얻는 중요한 단서가 된

다. 즉 왼쪽 영상에서의 일치점을 오른쪽 영상에서 찾는 문제가 스

테레오 비젼을 이용한 영상처리에서는 가장 중요하다. 이것을

Correspondence Problem이라고 하고 서로 다른 위치에서 얻은 스테

레오 영상에서 Correspondence Problem을 해결하여 Disparity를 구

하는 과정을 매칭이라고 한다. 두 영상에서 일치점을 찾는 매칭 과

정은 많은 모호성(Ambiguity )을 내포하고 있으며 다음과 같은 이유

로 쉽지 않다.

첫째, 폐색영역(Occluded Region)의 존재 때문이다. 이것은 한쪽

영상에서는 나타나지만 다른 쪽 영상에서는 나타나지 않아 잘못된

매칭이 될 수 있다. 둘째, 한쪽 영상에는 나타나고 다른 쪽 영상에

는 나타나지 않는 noise의 문제이다. 셋째는 Photometric Influence

때문에 물체의 표면에서부터 도달한 빛의 밝기가 달라 매칭에 오류

가 발생할 수 있다. 뿐만 아니라 매칭과정에서 가장 문제가 되는 부

분은 시간이 많이 걸린다는 점이며 이를 해결하여 효과적으로 매칭

을 하는 다양한 방법들이 제시되고 있다.

대표적으로 Epipolar Constraint를 들 수 있다[2][17][20].

- 22 -

그림2.12 Epipolar Constraint

그림2.10에서 3차원 공간상의 한 점P와 두 렌즈의 초점 F L과 F R

을 연결한 면을 Epipolar Plane이라고 하고, Epipolar Plane과 두

영상사이의 교차선을 Epipolar line이라고 하면 P와 F L의 직선, 즉

line of sight상의 모든 점은 오른 쪽 영상의 Epipolar line상에 나타

나게 된다. 따라서 두 카메라의 광축이 평행하다면 왼쪽 영상의 한

점에 대한 일치점을 오른쪽 영상에서 찾을 때 탐색공간을 2차원이

아닌 1차원으로 제한함으로써 시간을 줄여 효율적인 매칭을 수행한

다.

Continuity Constraint [2][20]는 한 표면에 속하는 점들의

Disparity변화는 카메라에서 물체까지의 거리에 비해 상대적으로 작

다는 것을 이용 탐색공간을 줄여 매칭 시간을 줄인다.

- 23 -

Position Constraint [2][16][17]는 Epipolar line을 따라 탐색공간의

범위를 거리정보의 최대와 최소값으로 제한함으로써 시간을 줄이고

효율적인 매칭을 수행한다. 왼쪽 영상의 한 점PL (XL )대하여 오른쪽

영상에서 일치점 PR (XR )을 탐색할 때 탐색구간을 다음과 같이 제한

할 수 있다.

m ( qr) = f XZ m in

(2.21)

P R ( X L ) - m ( qr ) P R ( X R ) P R ( X L ) (2.22)

그림2.13 Position Constraint in Parallel Stereo Vision

Use of Progressive View s [8]는 영상을 일정 Sampling T ime마다

획득할 때 Sampling T ime에 비해 갑작스런 장애물의 등장이 없는

한 이전의 영상에서 구한 Disparity range와 비슷하다는 것을 이용

하여 Matching할 때 많은 시간을 절약한다.

Locate T ie- Point on the Edge[8][20]는 특징 기반 매칭법과

Correlation의 절충형으로 기울기 값이 큰 부분에만 T ie- Point를 위

치시켜 불필요한 Correlation값을 계산하지 않으므로 효율적인 매칭

을 수행한다. 이외에 영상을 축소하는 방법, 영상을 분할하는 방법,

소실점을 이용하는 방법 등 효율적인 매칭을 위한 많은 연구가 있

다.

- 24 -

2 .3 .1 특 징 기 반 매 칭

스테레오 비젼에서 매칭방법은 크게 특징 기반 매칭과 영역 기반

매칭으로 나눈다. 특징 기반 매칭은 영상의 밝기 대신 좌·우영상의

특징들을 찾고 물리적인 현상에 바탕을 둔 몇 가지 제한 조건을 적

용하여 가능한 점들 중에서 위의 조건을 만족하는 것을 매칭한다.

이러한 특징들은 보통 경계선, 끝 점( Corner Point ) 등이 있으며 영

상자체의 밝기보다는 물리적인 변화에 대한 밝기이므로 광학적인

변화에 강한 특성이 있고, 일치점이 Area Based Matching보다 적으

므로 속도가 빠르다. 또한 반복적인 Pattern에도 적용가능하며 3차

원 형상의 기하학적인 왜곡에 상대적으로 강하다. 하지만 3차원 형

상의 모든 점이 아닌 제한된 특징들에 대하여 매칭을 하므로 상세

한(detail) 정보가 필요할 때는 다른 방법을 이용해야 하는 단점이

있다. 또한 임의의 형상에 대한 매칭이 불가능하다. 직선과 같은 특

징들을 가지고 매칭 할 때는 빠른 시간에 매칭을 수행할 수 있지만

직선의 길이나 중심점의 위치에 오차가 많이 발생하거나 비슷한 특

성을 가진 특징들이 있다면 오류가 발생하는 단점이 있다[1][8][16].

하지만 이런 단점에도 불구하고 3차원 공간상의 형상에 대하여 상

세한 정보가 필요하지 않는 실내주행이동로봇은 실시간 주행이 목

적이며 모든 형상에 대한 상세한 정보보다도 부분적인 정확한 정보

가 필요하므로 특징 기반 매칭방법이 타당하며 많은 연구가 진행되

어 왔다[1][6][8][10][11][16].

2 .3 .2 A re a B as ed M atching

특징 기반 매칭방법과는 달리 왼쪽 영상과 오른쪽 영상의 영역간

유사성에 근거하여 일치점을 찾는다. 기준 영상 즉 왼쪽 영상에서

매칭하려는 점을 포함하는 일정한 넓이의 Sample Window를 설정

하고 오른쪽 영상에서 T arget Window를 이동하면서 Correlation값

이 최대가 되는 점을 매칭 한다. 여기서 Window크기 설정은 매칭

속도와 정확성과 많은 관련이 있으므로 적용대상에 따라 적당한 크

기를 설정해야 한다. Correlation Function은 일반적으로 SSD (Sum

- 25 -

of Squared Difference) 혹은 SAD(Sum of Absolute Difference)를

사용하며, I L ( i , j )와 I R ( i , j )은 왼쪽 영상과 오른쪽 영상에서 i번

째 행과 j번째 열 픽셀의 명암값이라고 하면, 이들은 다음과 같은

식으로 표현된다.

SSD =m

j = 1

m

i = 1( I L ( i , j ) - I R ( i , j ) ) 2 (2.23)

SAD=m

j = 1

m

i = 1| I L ( i , j ) - I R ( i , j ) | (2.24)

SSD와 SAD는 속도면에서 빠른 방법이나 Contrast of gray

value가 높으면 함수 값이 높아지며 Photometric Influence영향으로

3차원 공간상의 한 점에 대한 명암값은 왼쪽 영상과 오른쪽 영상에

서 다르게 나타날 수 있다. 이러한 문제를 극복하는 방법은 다음과

같이 평균과 분산으로 정규화 한다.

C =m

j = 1

m

i = 1

( I L ( i , j ) - L )

L-

( I R ( i , j ) - R )

R

2

(2.25)

Area Based Matching방법은 명암의 변화가 뚜렷하고 3차원 형상

의 Disparity Function이 연속적으로 완만하게 변할 때 좋은 특성을

가지며 비교적 단순한 방법이고, 매칭의 밀도를 임의로 조절할 수

있으나 3차원 형상이 불연속적이고 급하게 변하는 경우 Spike형태

의 잡음이 발생하고 반복적인 Pattern이 많을 경우 매칭에 많은 오

류가 발생한다[19]. 또한 계산 시간이 많이 걸리는 단점이 있다.

- 26 -

2 .3 .3 깊 이 해 상도

Stereo Image형성 그림2.3과 식(2.11)을 이용하여 Disparity와

Depth의 관계를 알아볼 수 있다. 계산의 편리를 위해 이상적인 핀

홀 카메라 Model로 바꾸어 보면 식(2.11)은 다음과 같이 표현된다.

Z = Bx 1 - x 2

(2.26)

식(2.26)에서 x 1 - x 2를 Disparity라고 하며 d로 치환하고

Disparity의 변화에 따른 거리 정보가 어떻게 변화는 지를 알아보기

위해 Disparity d에 대하여 미분하면 다음과 같은 식을 얻을 수 있

다.

Z = - Z 2

bd (2.27)

깊이 해상도 Z는 Disparity의 변화에 따른 깊이 변화의 최소값

을 의미한다. 즉, 카메라에서 3차원상의 물체까지 거리정보를 알기

위해 두 영상에서 일치점을 발견하여 구한 Disparity최소 오차는 깊

이정보에서 얼마의 오차를 발생시키는가를 나타낸다. 식(2.27)에서

Z는 거리의 제곱에 비례하여 커지므로 거리가 멀면 멀수록 깊이

해상도는 크게 낮아진다. 하지만 Base Line이 커지면 Z가 낮아지

므로 깊이 해상도를 크게 할 수 있으나 공통가시영역(Common

View able Area)이 줄어들고 폐색이 발생하여 오류가 많이 발생한다

[15][16][17][22]. 일반적으로 Disparity의 최소단위인 한 픽셀 이하에

대한 Disparity를 구할 수 없으나 보간법을 이용하여 정밀도를 높

일 수 있다.

Disparity의 변화에 따른 거리 정보의 변화는 그림2.12와 같이 나

타나지만 렌즈 왜곡, 카메라의 정렬 및 매칭 오류 때문에 깊이 해상

도는 더욱 바빠질 수 있다.

- 27 -

그림2.14 깊이 해상도

- 28 -

제 3 장 MHT 과 Correlation을 이용한 매칭 알고리즘

본 논문에서 제안하고자 하는 MHT 과 Correlation을 이용한 새로

운 매칭 알고리즘을 제안하기 전에 기존의 특징 기반 매칭 알고리

즘에 대하여 살펴보고 제안하는 알고리즘과의 비교를 통해 문제점

을 알아보고 새로운 매칭 알고리즘을 제안한다.

3 .1 특 징 기 반 매 칭 알 고리 즘 구 현

3 .1 .1 B urn s lin e det e ct ion에 의한 매칭

2장에서 살펴본 봐와 같이 3차원 공간상에 존재하는 물체의 한

점을 투영하고 왼쪽 영상에서의 일치점을 오른쪽 영상에서 찾는

스테레오 매칭은 거리 정보를 얻기 위해 아주 중요하지만 많은 시

간이 걸리는 단점이 있다.

이러한 문제점을 극복하기 위해 영상에 존재하는 모든 점에 대하

여 매칭을 수행하는 것이 아니라 매칭하고자 하는 특징들을 찾고

이러한 특징들에 대하여 매칭을 수행하면 빠른 시간에 거리정보를

얻을 수 있다. 특징들을 이용한 방법 중 직선의 특징을 검출하는

Burns Line Detection [10]방법은 널리 알려진 방법이며, 특징을 찾고

매칭까지의 전체적인 수행과정은 다음과 같다.

1. 경계선 추출

2. CCA을 사용하여 Line- support region을 검출

3. Least - square fitting법을 사용하여 Line- support region의 대표직

선을 검출

4. 소실점 검출

5. 좌·우 영상에서 매칭을 위한 일정길이 이상의 직선 검출

6. 특징 기반 매칭

7. (2.11)식을 적용 거리정보 추출

- 29 -

3 .1 .1 .1 경 계선 추출

좌·우 영상에서 Sobel Operator를 사용하여 기울기의 크기와 방

향을 구하고 일정크기 이상의 기울기에 대하여 에지 선분을 추출한

다[8].

- 1 - 2 - 1

0 0 0

1 2 1

- 1 0 1

- 2 0 2

- 1 0 1

그림3.1 Sobel Mask

x 방향 기울기의 크기를 Gx , y 방향의 기울기의 크기를 Gy 라하며

한 픽셀에 대한 기울기의 크기와 방향은 다음과 같은 식에 의해 구

해진다.

f = m ag ( f ) | G X | + | G Y | (3.1)

( x , y ) = t an - 1 ( G Y

G X ) (3.2)

- 30 -

3 .1 .1 .2 CCA 을 사용하 여 Lin e - s upport re g ion을 검출

Sobel operator를 통하여 기울기의 크기와 방향을 얻으며 구하고

자 하는 특징들의 특성을 고려하여 threshold이상의 경계선만을 추

출한다. 다음으로 원하는 방향의 직선 검출을 위해 Line support

region을 결정해야 하며 이때 사용하는 방법이 CCA이다. Connected

Component Algorithm은 Run length coding과 Blob coloring이 있

지만 빠른 속도에 유리한 blob coloring을 이용한다. Line- support

region을 구하는 전체적인 과정은 다음과 같다.

1. 경계선 추출

2. 첫 번째 scan에서 어떤 점의 기울기의 크기가 고려하는 점이라면

그림3.2와 같은 mask를 적용하고 모두가 background라면 새로운 라

벨을 부여한다.

3. 만약 현재 점과 연결된 점의 기울기의 크기와 방향이 구하고자

하는 특징들의 특성과 유사하다면 그 점의 라벨을 부여한다.

4. 두 개 이상이 존재한다면 우선 둘의 라벨이 같다면 그 점의 라

벨을 현재 점에 부여하고, 다르다면 적은 값의 라벨을 현재 점에 부

여하고 두 라벨을 Equivalent table에 기록한다.

5. 두 번째 scan에서 Equivalent table에 기록된 각각의 점들을 동일

한 점이라고 처리한다.

Ul U Ur

Lcurrent

pixel

U

Lcurrent

pixel

그림3.2 8- CCA mask 와 4- CCA mask

- 3 1 -

3 .1 .1 .3 V ani s h in g P oint 추 출

실내복도와 같은 환경에서 벽·바닥이 만나는 두 직선을 영상에

서 연장하였을 때 한 점에서 만나게 되는데 이점을 우리는 소실점

이라 한다. 그림[2.1]과 식(2.2)을 Optical Axis의 중심과 Scale

factor를 고려하여 다시 나타내면 식(4.1)과 식(4.2)로 나타낼 수 있

다.

x - x 0

x= X

- Z

(4.1)

y - y 0

y= Y

- Z

c h =

x 0 - x 0 x 0

0 y - y 0 y 0

0 0 1 00 0 1

K XK YK ZK

(4.2)

본 실험에 사용된 카메라는 Pioneer 2 DXE 이동로봇 그림4.4에

장착되어 있으며 이때 로봇 좌표계 R, 카메라 좌표계 C, Rotate

등 각각의 좌표시스템을 모두 고려하면 식(2.2)는 다음과 같이 나타

낼 수 있다.

c h = P CR w h (4.3)

계산의 편리를 위해 Image coordinate sy stem과 World

coordinate sy stem을 일치시키고 Rotate coordinate system만 고려

하여 다음과 같이 나타낼 수 있다.

- 32 -

c h = P w h

=

x 0 - x 0 x 0

0 y - y 0 y 0

0 0 1 00 0 1

cosh 0 - s inh 00 1 0 0

s inh 0 cosh 00 0 0 1

K XK YK ZK

(4.4)

식(4.4)를 정리하면 다음과 같이 나타낼 수 있다.

=

x cosh - x 0 s inh 0 x s inh - x 0 cosh x 0

- y 0 s inh y - y 0 cosh y 0

s inh 0 cosh 0s inh 0 cosh

K XK YK ZK

(4.5)

식(4.5)에서 K=1로 하고 영상 좌표 x , y를 구해보면 다음과 같다.

x = x cosh - x 0 s inh - ( x s inh + x 0 cosh )Z + x 0

s inh X + cosh Z +

(4.6)

y =- y 0 s inh X - y Y - y 0 cosh Z + y 0

s inh X + cosh Z +

x , y는 3차원 공간상에 임의의 한 점을 나타내고 있다. 소실점은

3차원 공간상의 임의의 한 점이 아닌 벽·바닥이 만나는 직선 위의

한 점이 무한히 멀리 있다고 가정한 점이 영상에서 한 점에 만나게

된다는 것이므로 다음과 같은 식에 의해 소실점을 추정할 수 있다.

- 33 -

V x = L imZ

x cosh - x 0 s inh - ( x s inh + x 0 cosh )Z + x 0

s inh X + cosh Z +

(4.7)

V y = L imZ

- y 0 s inh X - y Y - y 0 cosh Z + y 0

s inh X + cosh Z +

식(4.7)을 정리하여 풀고 그림2.1을 보고 부호를 정리하면 다음과

같은 식으로 나타난다.

V x = x 0 + x t anh

(4.8)

V y = y 0

따라서 소실점은 이론상으로 Optical Axis의 중심에 위치한다는

것을 알 수 있는데 Robot의 heading방향에 따라 x 방향의 소실점

V x는 식(4.8)같이 변하는 것을 알 수 있다. 이 때 로봇의 Heading

값을 알 수 있으며 로봇이 주행해야할 방향을 결정한다. 따라서 특

징점을 추출하는 과정에서 소실점으로 추정되는 임의 방향을 가진

가장 긴 선을 Least Square Fitting하여 소실점을 구한다.

- 34 -

3 .1 .1 .4 L e a s t S qu are F it t in g 을 이용 한 lin e 검출

전 단계에서 구한 Line- support region을 대표하는 직선을 검출하

기 위하여 Least Square Fitt ing법을 사용하며 추정된 직선의 방정

식을 식(3.3)이라고 하고, 실제 직선의 값과 추정된 직선의 값의 오

차를 나타내는 식(3.4)은 다음과 같이 나타낼 수 있다.

y = a + bx (3.3)

SSE (sum of square error )=n

i = 1e i

2 =n

i = i( y i - ( a + b x i))

2(3.4)

식(3.4)을 최소로 하는 a와 b를 아래와 같은 과정을 통해 구하면

추정하는 방정식(3.3)을 구할 수 있다.

a = y - bx

(3.5)

b =S xy

S xx

where

y = 1n

n

i = 1y i , x = 1

n

n

i = 1x i

S xx =n

i = 1( x i - x )

2

(3.6)

S yy =n

i = 1( y i - y )

2

S x y =n

i = 1( x i - x )( y i - y )

- 35 -

3 .1 .2 M H T 를 이용한 매칭

영상내의 수많은 점들 중에 어떤 직선 위에 놓여 있는 점만을 검

색하고자 할 때 각 모든 두 점들에 의해 결정되는 모든 선들을 찾

고 난 다음 찾고자 하는 선들에 가까운 점들의 모든 점들의 부분집

합을 찾는 것이다. 이 방법은 간단히 생각할 수 있는 것이지만 계산

양이 너무 많아 이동 로봇과 같이 빠른 처리를 요하는 곳에는 적합

하지 않다. 허프 변환[7][8][23]은 그림3.3의 직선을 식(3.7)과 같이

나타내고 영상에 있는 모든 점들에 대하여 그림3.4와 같은 ρθ평면

으로 mapping 시킨다.

x cos + y sin = (3.7)

직선상에 있는 점들은 ρθ평면에서는 하나의 점으로 나타나며

보통 θ를 증가시키면서 ρ에 대하여 풀고 Accumulator table에 누

적시킨다. 여기서 θ의 범위는 [0,π]이며 ρ는 양수나 음의 값을 가

질 수 있다. 허프 변환은 노이즈를 많이 포함하는 이진 영상에서 선

이나 원 등의 도형을 추출하는 데에는 유효한 방법이나 추출 대상

도형에 따라 거대한 Parameter space가 필요하므로 기억용량이나

처리속도 등에 불리한 점이 있으며, 누적도 낮은 짧은 선을 검출하

는 경우 어려움이 많다.

그림3.3 Normal representation of a line

- 36 -

그림3.4 ρθ평면으로 mapping

이와 같은 문제점을 해결하기 위한 MHT [8][23]은 영상처리의 첫

단계인 경계선 추출에서 기울기의 방향을 고려한다. 영상내에 존재

하는 모든 경계선들에 대하여 모든 방향으로 ρθ평면에 mapping

을 하는 것이 아니라 에지 추출에서 구한 기울기의 방향을 고려하

여 한번만 mapping을 수행한다. 따라서 기존의 허프 변환에 비하여

많은 메모리의 사용을 줄일 수 있고, 계산량의 감소효과를 얻을 수

있다.

MHT 을 이용한 매칭 수행과정을 나타내면 다음과 같다.

1. 경계선 추출

2. 기울기의 방향을 고려하여 ρθ평면으로 mapping

3. 소실점 검출

4. 좌·우 영상에서 Matching을 위한 일정길이 이상의 선 검출

5. line fitt ing (one pixel)

6. 특징 기반 매칭

7. 2.11식을 적용 거리정보 추출

- 37 -

3 .2 M HT 과 Correlation을 이용 한 새 로운 매칭 알고 리즘

특징들을 추출하여 매칭을 수행하는 특징 기반 매칭 방법에서

Burns line detection방법은 Contrast가 약한 경계선을 추출할 수 있

는 장점을 가지고 있지만 매칭을 하기 위해 직선을 구하기까지 총

5회의 영상검색과정이 필요하므로 시간이 많이 걸리는 단점이 있으

며[8], 또한 매칭할 때 Least sqare fitting법을 통하여 구한 직선선

분의 길이나, 중심점, 시작점의 위치가 허용범위에 있을 때 매칭을

수행하므로 거리정보에 오차가 발생할 수 있다.

MHT 을 이용한 매칭 방법은 Burns line detection방법에 비하여

처리 속도에 많은 향상을 가져온다[8]. 하지만 매칭과정에서 line

fitt ing을 하고 Burns line detection방법과 같이 직선선분의 길이나,

중심점, 시작점의 위치를 가지고 매칭을 하므로 거리정보의 오차 및

매칭오류가 발생할 수 있다.

따라서 좀더 정확한 매칭을 하면서 처리속도를 향상시킬 수 있는

다음과 같은 방법을 제안하며 전체적인 수행과정은 다음과 같다.

1. 영상 축소

2. 경계선 추출

3. 기울기의 방향을 고려하여 ρθ평면으로 mapping

4. 사선방향의 누적도가 가장 큰 값으로 소실점 검출

5. Connected Component labeling

6. 일정길이 이상 직선 추출

7. Line정보 와 Correlation으로 매칭

8. (2.11)식을 이용하여 거리정보 추출

- 38 -

그림3.5 MHT 과 Correlation을 이용한 매칭 알고리즘 순서도

- 39 -

제 4 장 실험 및 결과

4 .1 실 험 환 경

4 .1 .1 실내 환경에 대한 제 한

본 논문에서는 직선 추출 알고리즘을 사용하여 매칭을 하므로 다

음과 같은 실내 환경에 대한 제한을 함으로써 실험을 수행하였다.

그림4.1은 실험에 사용된 환경이며, 폭 3185mm, 벽의 중간에

102mm두께의 기둥이 있고 바닥은 수평이며, 벽은 수직이다. 바닥에

서 양쪽 벽의 중간까지는 문의 색깔과 비슷한 색으로 페인트 되어

있고, 약간 튀어나온 기둥은 벽·바닥직선을 검출하기 위해 조금은

장애가 될 수도 있어 제한사항을 정확히 만족하지는 않지만 일반적

인 실내복도 환경에서도 적용 가능함을 보이기 위해 실험을 수행하

였다.

1. 실내복도에서 벽·바닥 직선이 존재한다.

2. 바닥은 수평이며, 벽은 수직이다.

3. 수직선분이 충분히 검출된다.

4. 실내 조명은 충분히 밝아야 한다.

5. 장애물은 수직선분을 가지고 있다.

그림4.1 실험한 복도 환경

- 40 -

4 .1 .2 실험 장치 구성

본 논문에 사용된 실험 장치는 카메라, Frame grabber ,

PC(pentiumⅣ), 이동 로봇으로 구성되어 있다. Color CCD 카메라

(VCC- 8300B)를 사용하였지만, 본 논문의 목적이 실내주행이동로봇

을 위한 빠른 매칭 알고리즘을 제한하고 보다 정확한 거리정보를

획득하는데 목적이 있으므로 영상을 획득할 때는 하나의 Band만을

받아 raw file 형태로 영상을 받게 된다. 그림4.3이 본 실험에 사용

된 VCC- 8300B이며 자세한 사항은 표2와 같다. CCD 카메라에서 입

력되는 신호를 정지영상정보로 자체 비디오 버퍼에 저장하는 Frame

grabber를 하나를 사용할 경우 병렬적으로 이미지를 받아들이는 것

이 아니라 외부 레지스터에게 이미지를 전달하고, 그 레지스터들을

루프를 돌림으로써 얻게 되므로 좌·우 영상은 시간적으로 오차를

발생한 영상이 되고 스테레오 비젼에서는 많은 문제가 될 수 있다.

따라서 Frame grabber 두 개를 사용하여 각각의 sync를 맞추어,

좌·우 카메라의 영상을 동시에 받아들여 시간적인 오차를 제거했

다. 그림4.2는 본 실험에 사용된 Matrox MeteorⅡ M/ C board를 나

타낸다.

그림4.2 실험에 사용된 Frame grabber (Matrox MeteorⅡ M/ C)

- 4 1 -

표 2 VCC- 8300B Specification

Standard VGA/ EIA RGB

P ow er Con sum ption 7.5W m a s

P ow er Requir em ent s DC 12V

Pickup Device

Int er line P rogres siv e CCD

1/ 2 in ch optical form at

659 (H ) * 494 (V ) Picture elem ent s

CCD Im ag e sen sor

Video Output SignalM onit or Out 1/ 30S (VGA ) 1/ 60S (V S/ VBS )

Analog RGB 1/ 30S VGA 1/ 60S EIA

CCD

im ag e size Diagonal 8m m

Numb er of effect iv e pix els 659 (H ) * 494 (V )

Chip size 8.1m m (H ) * 6.33m m (V )

Unit cell size 9.9um (H ) * 9.9um (V )

Sub str at e m at erial Silicon

그림4.3 실험에 사용된 Camera (VCC- 8300B)

- 42 -

이동 로봇은 그림4.4의 ActivMedia Robot ' s Pioneer 2 DXE를 사

용하였으며 자세한 사항은 표2에 나타냈다.

표 3 Pioneer 2 DXE Specification

Phy sical

Charact er istics

Len gth (cm ) 44.5

W idth (cm ) 40

H eight (cm ) 24.5

Clearance (cm ) 6.5

W eight (kg ) 9

payload (kg ) 23

P ow er

Batt er ies 12VDC lead- acid 3

Charg e (w att - hr s ) 252

Run t im e (hr s )/ w ith P C (hr s ) 8- 10/ 3- 4

Recharg e tim e hr/ bat t ery st d ch arger 6

M obility

W h eels 2 P neum atic

W h eel diam (m m ) 191

W h eel w idth (m m ) 50

Cast er (mm ) 75

St eerin g Differ ent ial

Gear r at io 19.7 : 1

그림4.4 pioneer 2 DXE

- 43 -

4 .2 실 험

4 .2 .1 영상 획득

카메라로부터 입력된 영상정보를 Frame grabber에서 640 × 480

크기로 보내주는데 본 논문에서는 320 × 240크기로 변환하여

Noise를 제거하고 영상처리시간을 단축한다. 그림4.5는 장애물을

2535mm에서 놓고 획득한 영상이며 그림4.6은 3035mm에 놓고 획득

한 영상이다. 거리정보의 오차를 알아보기 위해 Z방향으로 500mm

마다 이동하며 모두 10개의 영상을 획득하였다. 또한 X방향의 거리

정보의 오차를 알아보기 위해 105mm마다 이동하여 모두 6개의 영

상을 획득하여 총 60개의 영상정보를 바탕으로 정보를 얻어 실험하

였다.

a ) Left Image(256 gray ) b ) Right Image (256 gray )

그림4.5 원 영상

- 44 -

a) Left Image(256 gray ) b ) Right Image(256 gray )

그림4.6 원 영상

4 .2 .2 경계선 추출

매칭을 위한 특징들을 그림3.1과 같은 Sobel Operator를 사용하여

획득하였으며 그림4.3을 잘 보면 실험 복도의 환경이 전체적으로 어

둡고 바닥에서 벽의 중앙부분까지가 출입문의 색깔과 너무 비슷하

여 수직선을 추출하기 어려운 환경이므로 T hreshold값을 가능한 작

게 하여(30이상) Contrast가 약한 경계선 추출에 대비한다.

a) Left Edge Detection b) Right Edge Detection

그림4.7 경계선 추출(그림4.3)

- 45 -

a)Left Edge Detection b ) Right Edge Detection

그림4.8 경계선 추출(그림4.4)

4 .2 .3 M H T 을 적용하여 원 하는 방향의 직선 추출

경계선 추출에서 구한 기울기의 방향을 고려하여 원하는 방향의

직선을 추출한다. 본 실험 복도환경은 벽의 중앙부분까지 문의 색깔

과 비슷한 페인트가 칠해져 있으므로 문의 위 부분의 직선이 잘 나

타나고 있으며, 또한 벽·바닥 직선보다 벽의 중앙직선이 더욱 뚜렷

이 나타나고 있다. 따라서 본 실험에서는 실험가정에 의거하여 벽과

장애물의 수직선분만을 추출하고 벽·바닥 직선을 검출하기 위해

벽의 중앙에 나타나는 사선은 제거하기로 한다. 그림4.7을 자세히

보면 벽 중앙의 직선이 많이 제거되었어나 벽·바닥의 직선은 그대

로 나타나고 있다.

- 46 -

a) Left Image b ) Right Image

그림4.9 원하는 Line Detection (그림4.5)

a) Left Image b) Right Image

그림4.10 원하는 직선 추출(그림4.6)

4 .2 .4 소실점 추출

본 논문의 목적은 보다 빠르고 정확한 매칭 알고리즘을 제안하고

거리정보를 얻는 것이지만, 제안하는 알고리즘의 신뢰성과 타당성을

위해 간단한 주행실험을 하며 특징점을 추출하는 과정에서 소실점

으로 추정되는 점 보다 작은 곳에서 수직선이 아닌 임의의 직선 중

가장 긴 직선을 소실점으로 결정하였다.

- 47 -

a) Left Image b ) Right Image

그림4.11 MHT 로 구한 소실점

a) Left Image b ) Right Image

그림4.12 Least Square fit ting으로 구한 소실점

2장에서 Optical Axis 중심점을 구하였을 때 왼쪽 ( x 0 , y 0 )는

(153,112)였고, 오른쪽 ( x 0 , y 0 )는 (165,118)이였다. 소실점을 실험에

서 구한 결과 그림4.10에서 왼쪽 ( x 0 , y 0 )는 (151,117)이고 오른쪽

( x 0 , y 0 )는 (182,124)였다. 그림4.11에서 왼쪽 ( x 0 , y 0 )는 (153,119)

이고 오른쪽 ( x 0 , y 0 )는 (169,121)였다. Least Square fitting법이 제

안하는 알고리즘보다 오차가 적게 나타나고 있다. 또한 왼쪽 영상에

- 48 -

서는 비교적 정확하게 나타났으나 오른쪽 영상에서는 x 방향으로

오차가 조금 크게 나타났다. 이는 벽·바닥이 직선이 직선으로 나타

나는 환경이 아니라 중간에 기둥이 있어 짧은 직선으로 소실점을

찾는데서 오는 오차이다. 하지만 벽·바닥의 직선이 좀 더 길게 나

타나는 환경에서는 본 알고리즘으로 구한 소실점은 좀 더 정확하게

나타날 수 있을 것이며, 또한 이 정도의 오차는 로봇이 주행하는데

큰 어려움이 없을 것으로 판단된다. 그리고 로봇이 계속해서 움직인

다고 하면 벽·바닥 직선은 다시 구해질 것이고 새로운 데이타를

가지고 소실점을 구하게 되면 오차는 줄어들게 될 것으로 판단된다.

4 .2 .5 Conn e c t e d Com pon e nt lab e lin g

왼쪽 영상과 오른쪽 영상에서 구한 수직선은 MHT 을 이용하여

동일선상에 있는 모든 점을 나타낸 것이므로, 이를 적당한 길이 이

상만을 가지는 선분만을 나타내어 매칭을 하는 것이 효율적이다.

따라서 본 실험에서는 동일 선상에 있는 점들 중에 연결되어 있

는 점들의 수를 조사하여 20픽셀이상의 직선을 검출한다. 이 때 나

타나 있는 모든 점들을 Labeling하는 것은 많은 시간을 요하게 되므

로 본 실험에서는 전 단계에서 소실점을 찾고 수직선에 한정하여

찾으므로 많은 시간을 단축하였다. Labeling할 때 CCA를 사용하지

만, 3장에서 설명한 4- CCA mask중에서 U 부분만을 고려하여

Labeling을 수행하면서 Matching을 위해 직선의 길이를 저장하여

놓는다.

- 49 -

a) Left Image b ) Right Image

그림4.13 일정길이 이상 직선 추출(제안하는 알고리즘)

a) Left Image b ) Right Image

그림4.14 일정길이 이상 직선 추출(Burns Line Detection )

4 .3 .6 Lin e정보와 Corre lat ion을 이 용한 매칭

소실점은 전 단계에서 구했으므로 그림4.11에서 보는 것과 같이

모든 수직선분만을 가지고 매칭을 수행한다. 식(2.21)과 식(2.22)식의

Position Constraint를 사용하여 탐색공간을 줄이고 왼쪽 영상에서

Raw방향으로 Scan하면서 T hreshold이상의 값을 가진 점을 만나면

그 점이 속한 직선의 길이가 허용범위의 오차에 있으며 두 번째로

- 50 -

직선의 중심선의 위치가 오차범위에 있어야 하며 시작점의 위치도

오차범위에 있다면 원 영상들간의 Correlation을 하여 많은 선들 중

에서 정확한 선과 매칭을 수행한다.

a) Right Image b ) Left Image

그림4.15 매칭 영상(제안하는 알고리즘)

a) Right Image b ) Left Image

그림4.16 매칭 영상(Burns Line Detection )

실제 매칭을 수행할 때는 오른쪽 카메라에서 입력되는 영상을 기

준으로 왼쪽 카메라에서 입력되는 영상에서 오른쪽 방향으로 일치

점을 찾는다. 따라서 그림4.11은 전 단계에서 제시된 그림과는 달리

오른쪽 영상이 왼쪽에 먼저 나오고 왼쪽 영상에서 매칭된 직선만을

표시했다. 본 알고리즘은 T ie Point를 두는 오른쪽 영상에서 매칭에

실패할 경우 그 선분을 지워 매칭 시간을 단축했다. 이것은 그림

- 5 1 -

4.11에서 보듯이 하나의 경계선은 여러 개의 픽셀로 이루어져 있지

만 실제로는 한번만 매칭을 하게 하는 역할을 한다.

본 실험에 사용된 복도환경은 페인트 때문에 문이나 기둥의 수직

선분을 추출하기 어려웠으나 T hreshold값을 낮게 하여 Contrast가

약한 기둥을 추출했다. 다음 그림들은 매칭에 사용된 영상들 중에

2035mm에 장애물을 둔 영상만을 가지고 각 Disparity별로 나타내고

있다.

a) Disparity 4 b ) Disparity 5

c) Disparity 6 d) Disparity 7

그림4.17 각 Disparity별로 나타낸 매칭 영상

(제안하는 방법, 2035mm )

- 52 -

e) Disparity 8 f) Disparity 9

g ) Disparity 10 h ) Disparity 11

i) Disparity 12- 19 j ) Disparity 20

그림4.17 각 Disparity별로 나타낸 매칭 영상

(제안하는 방법, 2035mm )

- 53 -

a) Disparity 4 b ) Disparity 5

c) Disparity 6 d) Disparity 7

a) Disparity 8 b ) Disparity 9

그림4.18 각 Disparity별 매칭 영상

(Burns Line Detection , 2035mm )

- 54 -

a) Disparity 10 b ) Disparity 11- 18

a ) Disparity 19

그림4.18 각 Disparity별 매칭 영상

(Burns Line Detection , 2035mm )

그림4.13은 제안하는 알고리즘에 의하여, 그림4.14는 기존의 매칭

알고리즘에 의하여 각 Disparity별로 나타낸 매칭 영상이다. 기존의

매칭 알고리즘에 의한 영상과 제안하는 알고리즘에 의한 매칭 영상

은 비슷하게 나타나고 있는 것을 볼 수 있으며, 각 Disparity별로 나

타낸 영상에서 아무것도 나타나지 않는 것은 정확하게 매칭을 하고

있다는 것을 나타낸다. 하지만 그림4.13에서 가장 가까운 Disparity

는 20이지만 4.14에서는 19로 나타나고 있다. 또한 그림4.13에서는

나타나지만 그림4.14는 나타나지 않는 것도 있다. 이는 두 알고리즘

중 어느 하나는 거리정보에서 오차가 나고 있다는 것을 나타낸다.

- 55 -

4 .2 .7 거리정보 추출

매칭에서 얻은 Disparity를 가지고 거리정보를 계산하여 표4와 표

5에 각각 나타냈으며, 표4는 제안된 알고리즘으로 측정한 값이고,

표5는 기존의 매칭 알고리즘으로 측정한 값이다. Z방향으로 가까운

거리에서는 Z값과 X값의 오차가 2% 이내로 정확하게 나타난다. 하

지만 거리가 멀어질수록 Z방향과 X방향으로 오차는 점점 증가하고

있다. 이는 깊이 해상도는 거리가 멀어질수록 감소하는 것과 일치한

다. Z방향의 거리변화에 따른 Z방향의 거리정보는 표6에서 보는 것

과 같이 2% 이내로 정확하게 측정되고 있으나, X방향의 거리정보는

오차가 최대20%까지 크게 오차가 발생하고 있다. 이는 매칭의 오류

가 아니고 카메라의 Optical center에서 멀어질수록 렌즈 왜곡이 많

이 발생하여 생기는 결과로 볼 수 있다.

본 논문에서는 렌즈 왜곡을 고려하지 않았으므로 기존 알고리즘

과 제안하는 알고리즘과의 비교는 Z방향의 변화에 따른 거리측정값

과 수행시간으로 제한하고 표5 와 표7, 그림4.19와 그림4.20, 그림

4.21, 그림4.22로 나타낸다. 표5와 그림에서 보는 봐와 같이 Z방향의

측정값은 제안하는 알고리즘의 측정값이 기존의 매칭 알고리즘보다

오차가 적은 것을 알 수 있으나 X방향의 측정값은 큰 차이가 없다.

표 4 한 영상에서 매칭된 모든 점의 거리측정(제안하는 알고리즘)

실제 거리(mm ) 측정 거리(mm ) 오차(%)Z방향 X방향 Z방향 X방향 Z방향 X방향

1 2035 105 1994 105 2 02 2035 - 125 1994 - 120 2 43 5260 1495 5699 1659 8.3 104 5260 1590 5699 1785 8.3 125 5790 1495 6649 1783 14.8 196 6990 1590 6649 1583 4.8 0.47 7900 1590 7979 1660 1 4

- 56 -

표 5 Z방향의 변화에 따른 거리측정(제안하는 알고리즘)

실제 거리(mm ) 측정 거리(mm ) 오차(%)Z방향 X방향 Z방향 X방향 Z방향 X방향

1 2035 105 1994 105 2 02 2535 105 2493 112 1.6 6.63 3035 105 3069 123 1.1 17.14 3535 105 3627 127 2.6 20.95 4035 105 3989 120 1.1 14.26 4535 105 4433 111 2.2 5.77 5035 105 4960 114 1.4 8.58 5535 105 5699 114 2.9 8.59 6035 105 6649 133 10.1 26.7

표 6 한 영상에서 매칭된 모든 점의 거리측정(Burns Line Detection )

실제 거리(mm ) 측정 거리(mm ) 오차(%)Z방향 X방향 Z방향 X방향 Z방향 X방향

1 2035 105 2099 115 3.1 9.52 5260 1590 5699 1785 8.3 12.23 5260 1495 5699 1657 8.3 13.34 5790 1495 5699 1514 1.57 1.25 6990 1590 7979 1342 14.1 15.56 7900 1590 7979 1200 1 24.57 8900 811 7979 671 10.3 17.2

표 7 Z방향의 변화에 따른 거리측정(Burns Line Detection )

실제 거리(mm ) 측정 거리(mm ) 오차(%)Z방향 X방향 Z방향 X방향 Z방향 X방향

1 2035 105 2099 115 3.1 9.52 2535 105 2493 112 1.6 6.63 3035 105 3069 115 1.1 9.54 3535 105 3627 127 2.6 20.95 4035 105 4433 133 9.8 26.66 4535 105 4987 137 10 30.47 5035 105 4987 125 1 198 5535 105 5699 128 2.9 219 6035 105 5699 128 5.5

- 57 -

그림19 Z방향의 거리측정 그래프(제안하는 알고리즘)

그림20 Z방향의 거리측정 그래프(Burns Line Detection)

- 58 -

그림4.21 X방향의 거리측정 그래프(제안하는 알고리즘)

그림4.22 X방향의 거리측정 그래프(Burns Line Detection )

- 59 -

전체수행시간은 제안하는 알고리즘이 390m s가 소요되었고, 기존

알고리즘은 460ms가 소요되었다. 이 시간은 로봇이 주행하는데 필

요한 로봇의 Heading값, 현재 로봇의 위치에서 좌·우 벽까지의 거

리, 장애물까지의 거리, 장애물의 폭 등을 모두 계산한 시간이다. 기

울기의 크기 및 방향을 구하는데 많은 시간이 소요되는 이유는 전

체프로그램에 사용된 버퍼의 초기화를 이 부분에서 수행하기 때문

이다. 제안하는 알고리즘의 전체 수행시간은 표6과 같으며 대부분의

시간이 매칭을 하는 과정보다 특징점을 추출하는 과정에서 소요되

는 것을 알 수 있다.

표 8 프로그램의 전체수행 시간 비교(pentiumⅡ 366)

기울기의 크기, 방향 MHT 매칭전체수

행시간

제안하는 알고리즘 220ms 110 60ms 390ms

Burns Detection

Algorithm460ms

- 60 -

4 .3 실 험 결 과

본 실험에 사용된 VCC- 8300 카메라의 Optical Axis의 중심이 실

제 중심과는 많이 차이가 났으며 소실점을 계산한 결과 왼쪽 영상

에서는 비교적 정확하게 구할 수 있었으나, 오른쪽 영상에서는 x방

향으로 많은 오차가 발생했다. 이것은 본 실험에 이용된 복도환경의

벽에 기둥이 있어 사선방향으로 나타나는 벽·바닥의 긴 직선을 구

할 수 없어 생기는 것이므로 다른 환경에서 구한다면 오차는 거의

발생하지 않을 것으로 판단된다. 또한 소실점은 로봇이 주행하는데

필요한 방향만을 결정하므로 큰 영향을 주지는 않는다는 것을 간단

한 주행실험을 통하여 확인하였다. 매칭과정에서는 정확한 Disparity

를 계산하였지만 Z방향의 거리가 멀어질수록 많은 오차가 발생했다.

이는 카메라자체가 가지고 있는 깊이 해상도의 문제이며, X방향이

멀어질수록 나타나는 오차는 그림2.4에서 보는 봐와 같이 본 실험에

사용된 카메라가 많은 렌즈 왜곡이 일어나고 있기 때문이다. 기존

알고리즘과 제안하는 알고리즘을 비교할 때 Z방향의 거리정보 값은

정확하게 측정되었지만 X방향으로는 오차가 크며 별 차이가 없다.

Z방향의 거리정보 값이 오차가 적다는 것은 정확한 매칭을 하고 있

다는 것이므로 렌즈 왜곡의 문제만 해결된다면 X방향으로도 더 정

확하게 거리정보를 측정할 수 있을 것으로 판단된다. 전체수행시간

을 비교했을 때 제안하는 알고리즘이 70ms 더 빠른 것을 확인하였

으며 전체수행시간의 대부분을 특징점을 추출하는 과정에서 소요하

였다.

본 논문은 이동로봇의 주행이 목적은 아니지만 매칭과정을 통해

얻은 거리정보의 타당성과 신뢰성을 검증하기 위하여 간단한 장애

물 회피 실험을 하였다. 실험결과 장애물을 정확하게 인식하고 경로

계획에 따라 장애물을 회피하여 주행하였으나 소실점의 오차가 크

고 X방향의 거리정보에 오차가 큰 경우에는 장애물을 회피하는 경

로로 이동하지 않았다.

- 6 1 -

5. 결론 및 추후과제

본 논문에서는 스테레오 비젼을 이용한 실내주행 이동로봇이 실

내 복도와 같은 제한된 환경에서 장애물을 회피하며 실시간으로 주

행하기 위한 보다 빠르고 정확한 매칭 알고리즘을 제안하였다. 이를

위해 우선 축소한 영상을 사용하며 MHT 을 사용하여 매칭을 위한

특징점과 로봇이 주행하는데 필요한 소실점를 동시에 구하였다. 기

존의 MHT 은 직선의 길이나 시작점의 위치가 허용범위에 있을 때

매칭을 수행함으로써 많은 오류가 발생할 수 있지만, 오류를 줄이면

서 보다 정확한 매칭을 위해 원 영상과의 Correlation을 적용하여

실험한 결과 정확한 Disparity를 얻을 수 있었고 기존의 MHT 과 비

교하여 수행 속도 면에서도 크게 차이가 없었다. 이는 실험결과에서

보듯이 전체수행시간의 대부분을 특징점을 추출하는데 소비하기 때

문이다. 또한 제안하는 알고리즘의 타당성과 신뢰성을 검증하기 위

하여 장애물을 회피하는 간단한 실험을 하였고 만족할만한 결과를

얻을 수 있었다. 본 논문은 이동로봇이 보다 빠르게 주위환경정보를

획득하여 주행하는 것을 목적으로 하였으나 아직도 실시간 주행을

하기에는 많이 부족하다. 제안된 알고리즘의 속도가 계획했던 것 보

다 느린 이유는 실험에 이용된 복도환경이 벽·바닥 직선을 검출하

기에는 너무 Contrast가 약하여 MHT 에서 사선방향의 직선을 검출

하기 위해 T hreshold값을 낮게 함으로써 처리해야 할 영상정보가

배 이상 많이 발생했기 때문이다. 또한 장애물이나 주위환경에서 획

득하는 특징점이 직선이라는 제한이 따르므로 실내에서 직선이 많

이 존재하는 장애물과 환경에서만이 유효한 알고리즘이다.

따라서 현재 제안된 알고리즘은 벽·바닥 영역이 완전히 분할되

어 있는 것이 아니므로 임의 형상의 장애물을 회피하기 위해 영상

전체에 Correlation을 적용하여야 하며, 이것은 많은 영상 처리시간

을 필요로 한다. 그러므로 임의 형상의 장애물을 회피하고 빠른 영

상처리를 하며 조명의 영향에도 강건하게 적용할 수 있는 영역을

분할하는 알고리즘 개발이 필요하다고 하겠다.

- 62 -

참고문헌

[1] 이승진,” "실내 주행 이동 로봇의 위한 기하학적 제한조건을

이용한 새로운 스테레오 매칭 알고리즘",” KAIST 석사 학위

논문, 98년 12월.

[2] Dana H .Ballard, and Christopher M .Brown, Computer Vision ,

Prentice- Hall, 1982.

[3] 최우창, “"다중센서를 이용한 자율 주행보봇의 위치 보정 및

장애물 회피", 인하대 석사학위논문, 98년 8월.

[4] 유원필, "실내 주행 이동 로봇을 위한 한 장의 컬러 이미지를

이용한 거리 측정에 관한 연구", KAIST 석사 학위 논문,

93년 12월.

[5] K .S .Fu, R.C.Gonzalez and C.S .G.Lee, ROBOT ICS : Control,Sensing , Vision and Intelligence, McGraw - Hill, 1987.

[6] Xavier Lebegue, and J .K.Aggarw al,"Significant Line

Segments for an Indoor Mobile Robot", IEEE T ransactions

on Robotics and Automation , vol.9, No.6, pp.801- 815

December 1993.

[7] 김성호, "영상축소와 분산처리를 이용한 이동로봇의 실시간

영상처리", KAIST 석사 학위 논문, 94년 12월.

[8] 전승훈,“ "스테레오 비젼을 이용한 이동로봇의 실내주행을 위한

장애물 인식", KAIST 석사학위논문, 95년 12월.

[9] M .D.Levine, D.A .O'Handley , G.M .Yagi, "ComputerDetermination of Depth Maps", Computer Graphics, and

Image Processing , vol.2, pp 131- 150, 1973.[10] J .Brian Burns, Allen R. Hanson, and Edward M . Riseman,

"Extracting Straight Lines", IEEE T ransactions on PatternAnaly sis and Machine Intelligence, vol.PAMI- 8,

No.4,pp .425- 455, July 1986.[11] P .Kahn, L.Kitchen , and E .M .Riseman, "A Fast Line Finder

for Vision- Guided Robot Navigation", IEEE T ransactions onPattern Analysis and Machine Intelligence, vol.12,No.11,

pp.1098- 1102, November 1990.

- 63 -

[12] T .Kanade and M .Okutomi, "A Stereo Matching Algorithm

with an Adaptive Window : T heory and Experiment , IEEET rans . on PAMI, pp.920- 932, 1994.

[13] A .Fusiello, V .Roberto, and E . T rucco, "Efficient Stereo withMultiple Windowing", Proceeding of ICPR, pp.858- 868, 1997.

[14] T . Kanade et al., "A stereo machine for video- rate densedepth mapping and it s now applications", Proceedings of

IEEE Conference on Computer Vision and PatternRecognition pp. 196- 202, 1996.

[15] 김종협, “"스테레오 비전 방식을 이용한 자율 이동로봇의

점유격자 지도 작성", 고려대 석사학위논문 2001년 6월.

[16] 조형석,“ "역 투시 변환을 이용한 스테레오 비젼 알고리즘에

관한 연구", ”KAIST 박사 학위 논문.

[17] 최익수, "스테레오비젼에서 일치점 분석을 이용한 깊이정보

추출", 조선대학교 박사 학위 논문, 1999년 2월.

[18] B. Caprile and V. T orre, "Using vanishing point s for cameracalibration , International Journal of Computer Vision ,

pp.127- 140, 1990.[19] D.Murray and J . Little, "Using real- time stereo vision for

mobile robot navigation", Autonomous Robots 8(2), pp.161- 171, 2000.

[20] R. Y. T sai, "A ver satile camera calibration technique forhigh- accuracy 3D machine vision meterology using

off- the- shelf T V cameras and lens", IEEE Jouranl ofRobotics and Automation , vol. 3, pp. 323- 344, 1987.

[21] 최형일, 영상 처리 컴퓨터 비젼 입문, 홍릉과학출판사, 1997.

[22] 심영석, “"3차원 정보를 얻기 위한 Stereo Vision System에

관한 연구", ”한양대 석사학위논문, 88년 12월.

[23] Rarael C. Gonzalez & Richard E . Woods, “Digital Image

Processing , ”Addison - Wesley Publisher s 1992.

- 64 -