KR101002776B1 - 상향 영상을 이용한 이동체의 위치 추정 및 지도 생성 장치및 방법과 그 장치를 제어하는 컴퓨터 프로그램을저장하는 컴퓨터로 읽을 수 있는 기록 매체 - Google Patents

상향 영상을 이용한 이동체의 위치 추정 및 지도 생성 장치및 방법과 그 장치를 제어하는 컴퓨터 프로그램을저장하는 컴퓨터로 읽을 수 있는 기록 매체 Download PDF

Info

Publication number
KR101002776B1
KR101002776B1 KR1020070075912A KR20070075912A KR101002776B1 KR 101002776 B1 KR101002776 B1 KR 101002776B1 KR 1020070075912 A KR1020070075912 A KR 1020070075912A KR 20070075912 A KR20070075912 A KR 20070075912A KR 101002776 B1 KR101002776 B1 KR 101002776B1
Authority
KR
South Korea
Prior art keywords
marker
image
candidate
mark
moving object
Prior art date
Application number
KR1020070075912A
Other languages
English (en)
Other versions
KR20070081798A (ko
Inventor
홍선기
이형기
명현
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020070075912A priority Critical patent/KR101002776B1/ko
Publication of KR20070081798A publication Critical patent/KR20070081798A/ko
Application granted granted Critical
Publication of KR101002776B1 publication Critical patent/KR101002776B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

상향 영상을 이용한 이동체의 위치 추정 및 지도 생성 장치 및 방법과 그 장치를 제어하는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체가 개시된다. 이 장치는, 이동체가 처한 환경의 상향을 촬영하여 획득한 상향 영상에서 구석을 나타내는 구석점들을 관측하고, 관측된 구석점들로부터 표식을 생성하는 표식 생성부 및 표식들로부터 이동체의 위치를 추정하고 지도를 생성하는 위치 및 지도 연산부를 구비하는 것을 특징으로 한다. 따라서, 이동체가 처한 환경에서 얻은 상향 영상으로부터 이동체가 처한 환경 변화 예를 들면 조명 등에 강인한 자연 표식(natural landmark)을 자동으로 생성하므로, 별도의 부착물 예를 들면 적외선 표식, 색상 패턴 등과 같은 인공 표식이 필요없고, 자동으로 생성된 자연 표식을 이용해서 이동체 자신의 위치 추정 및 지도를 동시에 생성할 수 있으며, 상향 영상을 이용하므로써 이동체의 위치 추정 및 지도 작성을 종래의 방법에 비하여 보다 정확하게 수행할 수 있고, 저가의 한 대의 카메라만을 이용해도 되므로 제조 원가를 절감시킬 수 있고, 종래의 SLAM(Simultaneouse Localization And Map Building) 기법의 문제를 해결할 수 있고 EKF(Extended Kalman Filter) 기반 SLAM의 기법의 안정성을 확보할 수 있는 효과를 갖는다.

Description

상향 영상을 이용한 이동체의 위치 추정 및 지도 생성 장치 및 방법과 그 장치를 제어하는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체{Apparatus and method for estimating location and generating map of mobile body, using upper image, computer-readable recording media storing computer program controlling the apparatus}
본 발명은 로봇등과 같은 이동체에 관한 것으로서, 특히, 이동체가 처한 환경의 상향 영상을 이용하여 그 이동체의 위치 추정 및 지도 생성하는 장치 및 방법과 그 장치를 제어하는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체에 관한 것이다.
종래에, 로봇의 지도 생성 방법은 스캔 매칭(scan matching) 방식을 이용하여 매우 정확한 지도를 얻을 수 있으나 지도를 획득하기 위해 레이져 레인지 파인더(Laser Range Finder)와 같은 매우 고가의 센서를 요구하는 문제점을 갖는다. 이러한 종래의 방법들중 하나가 'S. Thrun', 'D. Fox', 'W. Burgard' 및 'F. Dellaert'에 의해 "Robust Monte Carlo Localization for Mobile Robots"라는 제목으로 Artificial Intelligence, Vol. 128, No. 1-2, 2000의 페이지 99-141쪽들에 발표된 논문에 개시되어 있다. 여기에 개시된 종래의 방법은 레이져 레인지 파인더 외에도 천장 영상을 이용하여 지도를 생성하는 방법을 제안하였으나 천장 영상을 모두 저장해야 하므로 많은 연산량을 요구할 뿐만 아니라 로봇의 위치 인식과 지도 생성을 동시에 할 수 없는 문제점을 갖는다. 종래의 방법들중 다른 하나가 'Jose Guivant', 'Favio Masson' 및 'Eduardo Nebot'에 의해 "Simultaneous localization and map building using natural features and absolute information"라는 제목으로 Robotics and Autonomous Systems, 984(2002) 1-12에 발표된 논문에 개시되어 있다. 여기에 개시된 종래의 방법은 주로 실외에서 사용되도록 고안된 방법으로 지도 작성 및 위치 인식을 동시에 할 수 있으나, 이 또한 고가의 레이져 레인지 파인더를 이용하는 문제점을 갖는다. 종래의 방법들중 또 다른 방법들이 'S. Lang', 'F. Yili' 및 'S. K. Tso'에 의해 "Visual Correction of Orientation Error for a Mobile Robot"라는 제목으로 Proc. of International Conf. on Intelligent Robots and Systems, 1999의 페이지 1328-1333쪽들에 발표된 논문 및 "Method for the orientation, route planning and control of an autonomous mobile unit"라는 제목을 갖는 미국 특허 번호 US5,793,934에 개시되어 있다. 여기에 개시된 종래의 방법들 역시 로봇의 위치 인식과 지도 생성을 동시에 할 수 없는 문제점을 갖는다.
종래에, 로봇의 위치를 인식함과 동시에 지도를 생성하는 방법들이 'Andrew J. Davison','Yolanda Gonzalez Cid' 및 'Nobuyuki Kita'에 의해" Real-Time 3D SLAM with Wide-Angle Vision"라는 제목으로 Proc. IFAC Symposium on Intelligent Autonomous Vehicles, 2004에 발표된 논문에 개시되어 있다. 여기에, 개시된 종래의 방법들은 조명에 민감하게 영향을 받는 문제점을 갖는다. 또 다른 종래의 방법이 'Stephen Se', 'David Lowe' 및 'Jim Little'에 의해 "Mobile Robot Localization and Mapping with Uncertainty using Scale-Invariant Visual Landmarks"라는 제목으로 International Journal of Robotics Research, Volume 21, Number 8, August 2002의 페이지 735-758쪽들에 발표된 논문에 개시되어 있다. 여기에 개시된 종래의 방법은 2대의 카메라를 이용해야 할 뿐만 아니라 조명 변화에도 민감하여 위치와 지도를 정확하게 인식하고 생성할 수 없는 문제점을 갖는다.
본 발명이 이루고자 하는 기술적 과제는, 저가의 간단한 카메라만으로 획득한 이동체가 처한 환경의 상향 영상을 이용하여 이동체의 위치를 추정하는 동시에 지도를 생성할 수 있는 상향 영상을 이용한 이동체의 위치 추정 및 지도 생성 장치를 제공하는 데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는, 저가의 간단한 카메라만으로 획득한 이동체가 처한 환경의 상향 영상을 이용하여 이동체의 위치를 추정하는 동시에 지도를 생성할 수 있는 상향 영상을 이용한 이동체의 위치 추정 및 지도 생성 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 또 다른 기술적 과제는, 상기 상향 영상을 이용한 이동체의 위치 추정 및 지도 생성 장치를 제어하는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체를 제공하는 데 있다.
상기 과제를 이루기 위한 본 발명에 의한 상향 영상을 이용한 이동체의 위치 추정 및 지도 생성 장치는, 이동체가 처한 환경의 상향을 촬영하여 획득한 상향 영상에서 구석을 나타내는 구석점들을 관측하고, 관측된 구석점들로부터 표식을 생성하는 표식 생성부 및 상기 표식들로부터 상기 이동체의 위치를 추정하고 지도를 생성하는 위치 및 지도 연산부로 구성되는 것이 바람직하다.
상기 다른 과제를 이루기 위한 본 발명에 의한 상향 영상을 이용한 이동체의 위치 추정 및 지도 생성 방법은, 이동체가 처한 환경의 상향을 촬영하여 획득한 상향 영상에서 구석을 나타내는 구석점들을 관측하고, 관측된 구석점들로부터 표식을 생성하는 단계 및 상기 표식들로부터 상기 이동체의 위치를 추정하고 지도를 생성하는 단계로 이루어지는 것이 바람직하다.
상기 또 다른 과제를 이루기 위한 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체는, 이동체가 처한 환경의 상향을 촬영하여 획득한 상향 영상에서 구석을 나타내는 구석점들을 관측시키고, 관측된 구석점들로부터 표식을 생성시키는 단계 및 상기 표식들로부터 상기 이동체의 위치를 추정시키고 지도를 생성시키는 단계를 수행하는 컴퓨터 프로그램을 저장하는 것이 바람직하다.
이상에서 설명한 바와 같이, 본 발명에 의한 상향 영상을 이용한 이동체의 위치 추정 및 지도 생성 장치 및 방법과 그 장치를 제어하는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체는, 이동체가 처한 환경에서 얻은 상향 영상으로부터 이동체가 처한 환경 변화 예를 들면 조명 등에 강인한 자연 표식(natural landmark)을 자동으로 생성하므로, 별도의 부착물 예를 들면 적외선 표식, 색상 패턴 등과 같은 인공 표식이 필요 없고, 자동으로 생성한 자연 표식을 이용해서 이동체 자신의 위치 추정 및 지도를 동시에 생성할 수 있으며, 상향 영상을 이용하므로써 이동체의 위치 추정 및 지도 작성을 종래의 방법에 비하여 보다 정확하게 수행할 수 있고, 표식의 후보를 새롭게 등록할 때 구석점의 특징을 나타내는 SIFT 기술자 같은 영상 특징 주변 기술자를 이용하기 때문에 이동체가 처한 실내 환경의 전체 조도가 변한다고 하더라도 영상의 밝기 변화는 일정하기 때문에 이동체가 처한 조명의 변화에 강인한 표식을 찾아서 등록할 수 있고 이로 인해 이동체의 위치 인식과 지도 작성을 정확하게 수행할 수 있도록 하고, 즉, 이동체의 평균 거리 오차를 약 6㎝ 내로 유지하고, 방위각 평균 오차를 약 2도내로 유지할 수 있고, 상향 영상을 획득하기 위해 레이져 레인지 파인더 같은 고가의 카메라를 이용하는 종래와 달리 저가의 한 대의 카메라만을 이용해도 되므로 제조 원가를 절감시킬 수 있고, 옵티컬 플로우 트랙킹과 영상 특징 주변 기술자를 모두 이용하므로 종래의 SLAM 기법의 문제인 데이타 관련(data association) 문제 즉, Large closed loop 문제를 해결할 수 있고 EKF 기반 SLAM의 기법의 안정성을 확보할 수 있는 효과를 갖는다.
이하, 본 발명에 의한 상향 영상을 이용한 이동체의 위치 추정 및 지도 생성 장치 및 그 장치의 실시예들 각각의 구성 및 동작과 그 장치 및 그의 실시예에서 수행되는 상향 영상을 이용한 이동체의 위치 추정 및 지도 생성 방법을 첨부한 도면들을 참조하여 다음과 같이 설명한다.
도 1은 본 발명에 의한 상향 영상을 이용한 이동체의 위치 추정 및 지도 생성 장치의 실시예의 블럭도로서, 표식 생성부(10), 위치 및 지도 연산부(12) 및 주행(Odometry) 처리부(14)로 구성된다.
도 2는 본 발명에 의한 상향 영상을 이용한 이동체의 위치 추정 및 지도 생성 방법의 실시예를 설명하기 위한 플로우차트로서, 표식을 생성하는 단계(제20 단 계) 및 위치를 추정하고 지도를 생성하는 단계(제22 단계)로 이루어진다.
도 1에 도시된 표식 생성부(10)는 상향 영상에서 구석점들을 관측하고, 관측된 구석점들로부터 표식을 생성한다(제20 단계). 이 때, 표식은 자동으로 생성될 수 있다. 본 발명에 의하면, 제20 단계에서, 표식 생성부(10)는 현재 상향 영상으로부터 관측된 구석점(corner point)들의 좌표들 및 영상 특징 주변 기술자(LFD:local feature descriptor)들중 적어도 하나를 이용하여, 관측된 구석점들중에서 이전 상향 영상에서 표식(landmark)이나 표식 후보였던 구석점들을 찾고, 이전 상향 영상에서 표식이나 표식 후보가 아니었던 구석점을 새로운 표식 후보로서 등록하고, 이미 등록된 표식 후보들중에서 소정 횟수 이상 구석점으로서 관측된 표식 후보를 표식으로서 등록하고, 등록된 표식을 위치 및 지도 연산부(12)로 출력한다(제20 단계).
여기서, 구석점이란 상향 영상에서 구석을 나타내는 점을 의미하고, 영상 특징 주변 기술자란 구석점의 주변 영상을 분석한 결과를 이용하여 구석점 자체의 특징을 나타내는 데이타로서 구석점들을 서로 구분할 수 있도록 하는 역할을 한다. 상향 영상이란, 이동체(미도시)가 처한 실내 환경의 상향에 대해, 이동체에 부착된 상향을 바라보는 카메라(미도시)에서 획득된 영상을 의미한다. 현재 상향 영상이란 현재에 획득된 상향 영상을 의미하고, 이전 상향 영상이란 이전에 획득하여 후술되는 도 3에 도시된 영상 버퍼(32)에 저장된 영상을 의미한다. 여기서, 상향에 대해 획득된 영상은 이동체가 처한 실내 환경의 천장 뿐만 아니라 그 천장에 인접한 벽면도 포함할 수 있다. 이동체란, 로봇등과 같이 영상을 촬영하면서 이동할 수 있는 물체를 의미한다.
도 3은 도 1에 도시된 표식 생성부(10)의 본 발명에 의한 바람직한 실시예(10A)의 블럭도로서, 영상 획득부(30), 영상 버퍼(32), 표식 및 표식 후보 예측부(34), 영상 특징 정보 추출부(36), 관측 및 등록부(38), 표식 후보 처리부(40) 및 표식 등록부(42)로 구성된다.
도 4는 도 2에 도시된 제20 단계에 대한 본 발명에 의한 실시예(20A)를 설명하기 위한 플로우차트로서, 상향 영상을 획득하고 버퍼링하는 단계(제50 및 제52 단계들), 영상 특징 정보를 추출하고 이전에 표식과 표식 후보를 현재 상향 영상에서 예측하는 단계(제54 및 제56 단계들), 새로운 표식 후보를 등록하고 이전의 표식과 표식 후보를 관리하는 단계(제58 단계) 및 표식 후보를 처리하고 해당하는 표식 후보를 표식으로서 등록하는 단계(제60 및 제62 단계들)로 이루어진다.
도 3에 도시된 영상 획득부(30)는 이동체가 처한 환경의 상향에 대한 영상을 획득하고, 획득된 영상을 영상 버퍼(32), 표식 및 표식 후보 예측부(34) 및 영상 특징 정보 추출부(36)로 각각 출력한다(제50 단계).
도 5는 도 3에 도시된 영상 획득부(30)의 본 발명에 의한 실시예(30A)의 블럭도로서, 상향 영상 획득부(70), 왜곡 보정부(72) 및 저역 통과 필터(74)로 구성된다.
도 6은 도 4에 도시된 제50 단계에 대한 본 발명에 의한 실시예(50A)를 설명하기 위한 플로우차트로서, 상향에 대한 영상을 획득하는 단계(제80 단계) 및 영상의 왜곡을 보정하고 저역 통과 필터링을 수행하는 단계(제82 및 제84 단계들)로 이 루어진다.
본 발명의 일 실시예에 의하면, 상향 영상 획득부(70)는 이동체가 처한 환경의 상향에 대한 영상을 획득하고, 획득된 영상을 왜곡 보정부(72)로 출력한다(제80 단계).
제80 단계후에, 왜곡 보정부(72)는 상향 영상 획득부(70)에서 획득된 상향 영상의 왜곡을 보정하고, 왜곡이 보정된 결과를 저역 통과 필터(74)로 출력한다(제82 단계). 본 발명에 의하면, 연산량을 줄이기 위해, 왜곡 보정부(72)는 상향 영상 획득부(70)에서 획득된 상향 영상에서 관심 영역(ROI:Region Of Interest)을 설정하고, 설정된 관심 영역에 대해서만 왜곡을 보정할 수도 있다.
도 7 (a)는 왜곡 보정부(72)에 입력되는 영상의 일 례를 나타내고, 도 7 (b)는 왜곡 보정부(72)로부터 출력되는 영상의 일 례를 나타낸다.
예를 들어, 이동체의 상부에 장착될 수 있는 상향 영상 획득부(70)가 이동체가 처한 환경의 상향에서 좀 더 넓은 영역의 영상을 획득하기 위해 광각 카메라(미도시) 및 어안 렌즈(fish-eye) 카메라(미도시)로 구현될 경우, 상향 영상 획득부(70)에서 획득되는 영상은 예를 들면, 도 7 (a)에 도시된 바와 같이 왜곡된다. 따라서, 왜곡 보정부(72)는 도 7 (a)에 도시된 바와 같은 왜곡된 영상을 입력하여 왜곡을 보정하고, 왜곡이 보정된 결과인 도 7 (b)에 도시된 영상을 출력한다. 이 때, 전술한 바와 같이 연산량을 줄이기 위해, 왜곡 보정부(72)는 관심 영역(90)에 대해서만 왜곡을 보정할 수 있다.
영상 왜곡 보정에 대해서는 'S. Shah' 및 'J.K.Aggarwal'에 의해 저술되고 "A simple calibration procedure for fish-eye(high distortion) lens camera"라는 제목으로 IEEE International Conf. on Robotics and Automation의 vol.4, May 1994의 페이지 3422 - 3427쪽들에 실린 논문에 개시되어 있다.
제82 단계후에, 저역 통과 필터(74)는 왜곡 보정부(72)에서 왜곡이 보정된 결과에서 고주파 성분의 잡음을 제거하기 위해, 왜곡이 보정된 결과를 저역 통과 필터링하고, 저역 통과 필터링된 결과를 출력단자 OUT4를 통해 출력한다(제84 단계). 이와 같이, 저역 통과 필터(74)를 이용하여 영상에 포함된 고주파 잡음 성분을 제거할 경우, 영상의 스무딩(smoothing) 효과를 제공할 수 있다. 이를 위해, 저역 통과 필터(74)는 가우시안 필터(Gaussian filter)(미도시)로 구현될 수 있다.
예를 들어, 3×3 가우시안 커넬(Gaussian Kernel)의 경우, 저역 통과 필터(74)는 다음 수학식 1과 같은 필터링된 결과를 출력단자 OUT4를 통해 출력한다.
Figure 112007055102419-pat00001
여기서, I'(x,y)는 저역 통과 필터(74)로부터 출력되는 영상의 공간상의 좌표(x,y)에서의 밝기 강도(intensity)를 의미하고, I(x+i,y+j)는 저역 통과 필터(74)로 입력되는 영상의 공간상의 좌표(x+i,y+j)에서의 밝기 강도를 나타내며, G(m,n)=Gmn는 다음 수학식 2와 같이 표현되는 행렬(matrix) G의 원소이다.
Figure 112007055102419-pat00002
여기서, G는 예를 들면 다음 수학식 3과 같이 표현될 수도 있다.
Figure 112007055102419-pat00003
본 발명의 다른 실시예에 의하면, 도 5에 도시된 도시된 바와 달리, 영상 획득부(30)는 상향 영상 획득부(70)만으로 구현될 수 있다. 이 경우, 도 6에 도시된 바와 달리, 제50 단계는 제80 단계만으로 구현된다. 이 때, 상향 영상 획득부(70)에서 획득된 영상이 영상 버퍼(32), 표식 및 표식 후보 예측부(34) 및 영상 특징 정보 추출부(36)로 출력된다.
본 발명의 또 다른 실시예에 의하면, 도 5에 도시된 바와 달리, 영상 획득부(30)는 상향 영상 획득부(70) 및 왜곡 보정부(72)만으로 구현될 수 있다. 이 경우, 도 6에 도시된 바와 달리 제50 단계는 제80 및 제82 단계들만으로 구현된다. 이 때, 왜곡 보정부(72)에서 왜곡 보정된 결과는 영상 버퍼(32), 표식 및 표식 후보 예측부(34) 및 영상 특징 정보 추출부(36)로 출력된다.
본 발명의 또 다른 실시예에 의하면, 도 5에 도시된 바와 달리, 영상 획득 부(30)는 상향 영상 획득부(70) 및 저역 통과 필터(74)만으로 구현될 수 있다. 이 경우, 도 6에 도시된 바와 달리 제50 단계는 제80 및 제84 단계들만으로 구현된다. 이 때, 저역 통과 필터(74)는 상향 영상 획득부(70)에서 획득된 상향 영상을 저역 통과 필터링하고, 저역 통과 필터링된 결과를 출력단자 OUT4를 통해 출력한다(제84 단계).
한편, 제50 단계후에, 영상 버퍼(32)는 영상 획득부(30)에서 획득된 영상을 버퍼링하고, 버퍼링된 결과를 이전 상향 영상으로서 표식 및 표식 후보 예측부(34)로 출력한다(제52 단계). 즉, 영상 버퍼(32)는 현재 상향 영상을 입력하는 동시에 바로 이전 상향 영상을 출력한다.
제52 단계후에, 영상 특징 정보 추출부(36)는 영상 획득부(30)에서 현재 획득된 현재 상향 영상의 구석점들의 좌표들 및 영상 특징 주변 기술자들중 적어도 하나를 영상 특징 정보로서 추출하고, 추출된 영상 특징 정보를 관측 및 등록부(38)로 출력한다(제54 단계).
도 8은 도 3에 도시된 영상 특징 정보 추출부(36)의 본 발명에 의한 실시예(36A)의 블럭도로서, 구석점 검출부(100) 및 기술자 연산부(102)로 구성된다.
도 9는 도 4에 도시된 제54 단계에 대한 본 발명에 의한 실시예(54A)를 설명하기 위한 플로우차트로서, 구석점들을 검출하는 단계(제110 단계) 및 영상 특징 주변 기술자들을 구하는 단계(제112 단계)로 이루어진다.
구석점 검출부(100)는 입력단자 IN2를 통해 영상 획득부(30)로부터 입력한 현재 상향 영상에서 구석점들을 검출하고, 검출된 구석점들의 좌표들을 기술자 연 산부(102)로 출력하는 한편, 출력단자 OUT5를 통해 영상 특징 정보로서 출력한다(제110 단계).
도 10 (a) 및 (b)들은 구석점 검출부(100)의 이해를 돕기 위한 도면들로서, 도 10 (a)는 구석점 검출부(100)에 입력되는 영상의 일 례를 나타내고, 도 10 (b)는 구석점 검출부(100)에서 검출된 구석점들의 모습을 십자가 모양으로 나타낸다.
본 발명에 의하면, 구석점 검출부(100)는 여러 가지의 방법들중에서 가장 성능이 좋다고 알려진 예를 들면 해리스(Harris) 구석점 검출법에 의해 구석점들을 검출할 수 있다. 여기서, 해리스 구석점 검출법에 대해서는 'C. J. Harris' 및 'M. Stephens'에 의해 "A combined corner and edge detector"라는 제목으로 In Proc. 4th Alvey Vision Conf., Manchester, 1988의 페이지 147-151쪽들에 개시되어 있다. 이 경우, 예를 들면 구석점 검출부(100)는 도 10 (a)에 도시된 바와 같은 영상을 입력하여 도 10 (b)에 도시된 바와 같이 구석점을 검출할 수 있다.
예컨대, 해리스 구석점 검출법에 의하면, 구석점 검출부(100)는 다음 수학식 4와 같이 표현되는 R값이 0보다 크고 R값이 국소 최대점(local maximum)이 되는 점을 구석점으로서 결정할 수 있다.
Figure 112007055102419-pat00004
여기서, tr은 트레이스(trace) 연산을 나타내고, det는 디터미넌트(determinant) 연산을 나타내며, M은 영상 강도의 변화 정도(gradient)를 가지고 다음 수학식 5와 같이 구해지는 행렬이다. 본 발명에 의하면, k는 0.04가 될 수 있다.
Figure 112007055102419-pat00005
여기서, I'는 전술한 수학식 1에 표현되는 밝기 강도를 나타낸다.
제110 단계후에, 기술자 연산부(102)는 구석점 검출부(100)에서 검출된 구석점들의 주변에 영상들을 분석하고, 분석된 결과를 이용하여 구석점들별로 영상 특징 주변 기술자를 연산하며, 연산된 영상 특징 주변 기술자를 출력단자 OUT6을 통해 영상 특징 정보로서 출력한다(제112 단계). 본 발명에 의하면, 기술자 연산부(102)에서 연산되는 영상 특징 주변 기술자는 여러 가지 기술자들중에서 바람직하게는 스케일 불변 특징 변환(SIFT:Scale Invariant Feature Transform) 기술자를 의미할 수도 있다. SIFT 기술자는 구석점 주변의 영상의 밝기 변화 분포등을 이용하여 구석점의 특징을 표현한다. 이를 위해, 기술자 연산부(102)는 입력단자 IN2를 통해 영상 획득부(30)로부터 현재 상향 영상을 입력하고 구석점 검출부(100)에서 검출된 구석점들의 좌표를 입력하며, 예를 들면 128 바이트(byte)로 이루어지는 영상 특징 주변 기술자를 출력한다.
'K. Mikolajczk' 및 'C. Schmid'에 의해 "A performance evaluation of local descriptors"라는 제목으로 IEEE Conference on Computer Vision and Pattern Recognition, June 2003에 실린 논문에 의하면, 전술한 SIFT 기술자는 가장 우수하다고 알려져 있다. 또한, SIFT 기술자의 생성 방법에 대해서는 'David G. Lowe'에 의해 "Distinctive image features from scale-invariant keypoints"라는 제목으로 International Journal of Computer Vision, 60, 2 (2004)의 페이지 91-110쪽에 실린 논문에 개시되어 있다.
한편, 제54 단계후에, 표식 및 표식 후보 예측부(34)는 이전 상향 영상에서의 표식 및 표식 후보가 현재 상향 영상에 어느 위치에 있는가를 예측하고, 현재 상향 영상에서 예측된 표식 및 표식 후보의 위치를 관측 및 등록부(38)로 출력한다(제56 단계). 이러한 예측을 통해, 도 3에 도시된 관측 및 등록부(38)는 현재 상향 영상에 대해 검출된 구석점들중에서 이전에 미리 등록된 표식 및 표식 후보점이었던 구석점들을 찾을 수 있다.
한편, 표식 및 표식 후보 예측부(34)에서 영상이 입력될 때마다 예측되고, 각 영상에서 지속적으로 추종된 표식 후보점의 경우, 각 영상에서의 2차원 영상 좌표 궤적 및 영상이 입력될 때의 이동체의 위치 및 방위각을 저장하며, 저장된 이들 정보는 표식 후보점이 표식으로 등록될 때 표식의 3차원 좌표값을 추정할 수 있게 한다.
도 3에 도시된 표식 및 표식 후보 예측부(34)는 도 1에 도시된 위치 및 지도 연산부(12)로부터 표식 정보와 이동체의 위치와 이동체의 방위각을 입력단자 IN1을 통해 입력하고, 표식 등록부(42)로부터 표식 후보 정보를 입력하고, 영상 버퍼(32) 로부터 이전 상향 영상을 입력하고, 영상 획득부(30)로부터 현재 상향 영상을 입력한다. 여기서, 표식 정보는, 표식의 위치 즉, 기준 좌표계(world coordinate)에서 표식에 대한 3차원 좌표 및 표식에 대한 영상 특징 주변 기술자를 포함한다. 표식 후보 정보는 표식 후보의 위치 즉, 기준 좌표계에서 표식 후보에 대한 3차원 좌표 및 표식 후보에 대한 영상 특징 주변 기술자를 포함한다.
도 11은 도 3에 도시된 표식 및 표식 후보 예측부(34)의 본 발명에 의한 바람직한 실시예(34A)의 블럭도로서, 영상 좌표 변환부(130), 선택부(132) 및 위치 예측부(134)로 구성된다.
도 12는 도 4에 도시된 제56 단계에 대한 본 발명에 의한 바람직한 실시예(56A)를 설명하기 위한 플로우차트로서, 좌표를 변환하는 단계(제140 단계), 표식과 표식 후보들중에서 이전 영상에 속하는 표식과 표식 후보를 선택하는 단계(제142 단계) 및 현재 상향 영상에서의 표식과 표식 후보의 좌표 즉 위치를 예측하는 단계(제144 단계)로 이루어진다.
제54 단계후에, 영상 좌표 변환부(130)는 이전 상향 영상을 기준으로 해서 이전에 미리 등록된 표식 및 표식 후보 정보들을 입력단자들 IN3을 통해 입력하고, 입력한 표식 및 표식 후보 정보들에 각각 포함되는 표식 및 표식 후보의 위치들의 3차원 좌표들을 이전 상향 영상이 입력되었을 때의 이동체의 위치 및 이동체의 방위각을 이용하여 이전 상향 영상의 영상 좌표계를 기준으로 2차원 좌표로 변환하고, 변환된 2차원 좌표들을 갖는 표식 및 표식 후보 정보들을 선택부(132)로 출력한다(제140 단계). 이를 위해, 이동체의 위치와 이동체의 방위각은 입력단자 IN4를 통해 영상 좌표 변환부(130)로 입력된다.
도 13은 영상 좌표 변환부(130)의 동작을 설명하기 위한 좌표계들을 예시적으로 나타내는 도면이다.
도 13을 참조하면, 영상 좌표계(Image coordinate)에서 두 개의 좌표축들(Xv, Yv)(이하, v는 영상 좌표계를 의미하는 첨자이다.)이 존재하고, 이동체 좌표계(mobile-body coordinate)에서 두 개의 좌표축들(Xr, Yr)(이하, r는 이동체 좌표계를 의미하는 첨자이다.)이 존재하고, 기준 좌표계에서 세 개의 좌표축들(Xw, Yw, Zw)(이하, w는 기준 좌표계를 의미하는 첨자이다.)이 존재한다. 여기서, 두 개의 바퀴들(154 및 156)을 갖는 이동체는 화살표(152) 방향으로 진행한다고 가정하며, 이동체의 위치 좌표는 기준 좌표계에서 (x,y,θ)w로 표현된다. 여기서, x,y는 위치 좌표를 나타내고, θ는 방위각을 나타낸다. 이 때, 도 13에 도시된 참조부호 150은 영상 획득부(30)에서 획득된 영상을 이동체가 위치한 물리적인 공간 상에 카메라의 촬상 영역(Field of View)을 고려하여 가상적으로 표시한 것이다.
영상 좌표 변환부(130)의 입력단자들 IN3을 통해 입력되는 표식 및 표식 후보 정보들에 각각 포함되는 표식 및 표식 후보의 위치들은 도 13에 도시된 기준 좌표계를 기준으로 3차원 좌표인 (x,y,z)w로 표시될 수 있다. 또한, 영상 좌표 변환부(130)에서 변환된 표식 및 표식 후보의 좌표들 각각은 도 13에 도시된 영상 좌표계를 기준으로 하는 2차원 좌표 (x,y)v로 표시될 수 있다. 여기서, v는 영상 좌표계를 의미하는 첨자이다.
한편, 제140 단계후에, 선택부(132)는 영상 좌표 변환부(130)로부터 입력한 변환된 2차원 좌표를 갖는 표식 및 표식 후보들중에서 이전 상향 영상에 속하는 표식 및 표식 후보만을 선택하고, 선택된 결과를 위치 예측부(134)로 출력한다(제142 단계).
도 14는 도 11에 도시된 선택부(132)의 이해를 돕기 위한 도면으로서, 다수개의 표식들(160, 162, 164, 166, 168 및 170) 및 다수개의 표식 후보들(180, 182, 184 및 186)을 나타낸다. 본 발명의 이해를 돕기 위해, 도 14에서 표식과 표식 후보는 기호로서 구분하여 표시하였지만, 본 발명은 이에 국한되지 않는다.
도 14를 참조하면, 선택부(132)는 변환된 2차원 좌표를 갖는 표식들(160, 162, 164, 166, 168 및 170)과 표식 후보들(180, 182, 184 및 186)중에서 이전 상향 영상(190)에 속하는 표식(168)과 표식 후보들(184 및 186)만을 선택하고, 선택된 표식(168)과 표식 후보들(184 및 186)에 대한 정보들을 위치 예측부(134)로 출력한다.
제144 단계후에, 위치 예측부(134)는 영상 획득부(30)로부터 입력단자 IN5를 통해 입력한 현재 상향 영상과 영상 버퍼(32)로부터 입력단자 IN6을 통해 입력한 이전 상향 영상간의 변화량을 선택부(132)로부터 입력한 선택된 결과 즉, 선택된 각 표식 및 선택된 각 표식 후보에 대해 계산하고, 계산된 변화량을 이용하여 현재 상향 영상에 있을 표식 및 표식 후보의 좌표를 예측하며, 예측된 결과를 출력단자 OUT7을 통해 관측 및 등록부(38)로 출력한다(제144 단계). 이 때, 선택부(132)에서 선택된 결과 및 위치 예측부(134)에서 예측된 결과의 좌표들 각각은 영상 좌표계를 기준으로 하는 2차원 좌표이다.
도 15는 위치 예측부(134)의 이해를 돕기 위한 도면으로서, 이전 상향 영상(190)을 획득할 때의 이동체(200)의 모습과 현재 상향 영상(192)을 획득할 때의 이동체(202)의 모습을 나타낸다.
도 14 및 15를 참조하면, 위치 예측부(134)는 현재 상향 영상(192)과 이전 상향 영상(190)간의 변화량을 선택부(132)에서 선택된 표식(168) 및 선택된 표식 후보들(184 및 186) 각각에 대해 계산하고, 계산된 변화량을 이용하여 현재 상향 영상(192)에 있을 표식(168) 및 표식 후보들(184 및 186) 각각의 좌표를 예측하며, 예측된 결과를 출력단자 OUT7을 통해 관측 및 등록부(38)로 출력한다.
본 발명에 의하면, 위치 예측부(134)는 옵티컬 플로우 트랙커(optical flow tracker)를 이용하여 현재 상향 영상에 있을 표식 및 표식 후보의 위치들을 예측할 수 있다. 여기서, 옵티컬 플로우란 현재 상향 영상과 이전 상향 영상간의 밝기 변화 정보를 이용하여 영상의 이동량과 회전량을 알아낼 수 있는 움직임 벡터(motion vector)를 의미한다. 옵티컬 플로우 트랙커로서 널리 알려진 Lukas-Kanade 옵티컬 플로우 트랙커에 대해서는 'Lucas, B.' 및 'Kanade, T.'에 의해 "An Iterative Image Registration Technique with an Application to Stereo Vision"라는 제목으로 Proc. of 7th International Joint Conference on Artificial Intelligence (IJCAI)의 페이지 674-679쪽들에 실린 논문에 개시되어 있다.
본 발명에 의하면, 도 4에 도시된 바와 달리, 제54 및 제56 단계들은 동시에 수행될 수도 있고, 제56 단계가 제54 단계보다 먼저 수행될 수도 있다.
한편, 제56 단계후에, 관측 및 등록부(38)는 표식 및 표식 후보 예측부(34) 에서 예측된 표식 및 표식 후보에 대한 정보들과 영상 특징 정보 추출부(36)로부터 입력한 영상 특징 정보를 비교하고, 비교된 결과를 이용하여 현재 상향 영상에서 검색된 구석점들중에서 이전 상향 영상에서 표식이나 표식 후보였던 구석점들을 관측하여 찾고, 이전 상향 영상에서 표식도 아니고 표식 후보도 아니었던 구석점을 새로운 표식 후보로서 등록하는 한편, 찾은 구석점에 해당하는 표식이나 표식 후보에 대한 정보들을 관리한다(제58 단계). 이 때, 관측 및 등록부(38)는 등록된 새로운 표식 후보와 관리된 표식 후보에 대한 표식 후보 정보를 표식 후보 처리부(40)로 출력하는 한편, 관리된 표식에 대한 표식 정보를 출력단자 OUT2를 통해 도 1에 도시된 위치 및 지도 연산부(12)로 출력한다.
도 16은 도 3에 도시된 관측 및 등록부(38)의 본 발명에 의한 실시예(38A)의 블럭도로서, 표식 및 표식 후보 검색부(220), 제1 및 제2 거리 계산부들(222 및 226), 제1 및 제2 비교부들(224 및 228), 표식 및 표식 후보 식별부(230), 카운터(232) 및 표식 후보 초기화부(234)로 구성된다.
도 17은 도 4에 도시된 제58 단계에 대한 본 발명에 의한 실시예(58A)를 설명하기 위한 플로우차트로서, 구석점들 각각에 대해 가장 가까운 예측된 표식이나 예측된 표식 후보들을 찾는 단계(제250 단계), 거리의 크기에 상응하여 새로운 표식 후보를 등록하거나 표식과 표식 후보를 관리하는 단계들(제252 ~ 제262 단계들)로 이루어진다.
도 18은 도 16에 도시된 관측 및 등록부(38A)의 이해를 돕기 위한 예시적인 도면으로서, 표식 및 표식 후보 예측부(34)에서 현재 상향 영상에 대해 예측된 표 식(300), 표식 및 표식 후보 예측부(34)에서 현재 상향 영상에 대해 예측된 표식 후보들(306 및 312) 및 영상 특징 정보 추출부(36)로부터 입력한 현재 상향 영상에서 검색된 구석점들(302, 304, 308, 310 및 314)로 구성된다.
표식 및 표식 후보 검색부(220)는 입력단자 IN7을 통해 영상 특징 정보 추출부(36)로부터 입력한 영상 특징 정보에 포함된 구석점들과 입력단자 IN8을 통해 표식 및 표식 후보 예측부(34)에서 예측된 표식 및/또는 표식 후보에 대한 정보를 입력하고, 입력한 구석점들 각각에 대해서, 예측된 표식이나 표식 후보들중에서 구석점과 가장 가까운 표식이나 표식 후보를 찾는다(제250 단계).
도 18을 참조하면, 제250 단계에서, 표식 및 표식 후보 검색부(220)는 구석점들(302, 304, 308, 310 및 314) 각각에 대해서, 구석점(302, 304, 308, 310 또는 314)과 가장 가까운 예측된 표식이나 예측된 표식 후보를 찾는다. 즉, 표식 및 표식 후보 검색부(220)는 구석점(302)과 가장 가까운 예측된 표식(300)을 찾고, 구석점(304)과 가장 가까운 예측된 표식 후보(306)를 찾고, 구석점(308)과 가장 가까운 예측된 표식 후보(312)를 찾고, 구석점(310)과 가장 가까운 예측된 표식 후보(312)를 찾고, 구석점(314)과 가장 가까운 예측된 표식 후보(312)를 찾는다. 이 때, 표식 및 표식 후보 검색부(220)는 도 18에 도시된 바와 같이 구석점과 가장 가까운 예측된 표식이나 예측된 표식 후보를 서로 쌍으로서 묶고, 묶여진 각 쌍에 대한 정보를 출력한다. 즉, 구석점(302)과 예측된 표식(300)이 쌍(270)으로서 묶여지고, 구석점(304)과 예측된 표식 후보(306)가 쌍(278)으로서 묶여지고, 구석점(308)과 예측된 표식 후보(312)가 쌍(272)으로서 묶여지고, 구석점(310)과 예측된 표식 후 보(312)가 쌍(274)으로서 묶여지고, 구석점(314)과 예측된 표식 후보(312)가 쌍(276)으로서 묶여진다. 즉, 각 쌍(270, 272, 274, 276 또는 278)에 속하는 원소는 구석점과 예측된 표식 또는 예측된 표식 후보이다.
제250 단계후에, 구석점들 각각에 대해서, 구석점과 예측된 표식이나 예측된 표식 후보간의 거리가 제1 소정 거리 이하인가를 판단한다(제252 단계). 이를 위해, 제1 거리 계산부(222)는 표식 및 표식 후보 검색부(220)로부터 입력한 구석점들 각각에 대해서, 구석점과 찾아진 표식이나 표식 후보간 거리를 계산하고, 계산된 거리를 제1 비교부(224)로 출력한다. 이 때, 제1 비교부(224)는 제1 거리 계산부(222)에서 계산된 거리와 제1 소정 거리를 비교하고, 비교된 결과를 출력한다. 예를 들어, 제1 소정 거리는 15 픽셀 거리가 될 수 있다. 여기서, 1 픽셀 거리는 하나의 픽셀이 차지는 공간상의 길이를 의미한다.
도 18을 참조하면, 제1 거리 계산부(222)는 표식 및 표식 후보 검색부(220)로부터 입력한 쌍들(270, 272, 274, 276 및 278) 각각에 대해서, 구석점과 찾아진 표식이나 표식 후보간 거리를 계산하고, 계산된 거리들 각각을 제1 비교부(224)로 출력한다.
만일, 찾아진 표식이나 표식 후보와의 거리가 제1 소정 거리 이하인 구석점들 각각에 대해서, 구석점의 영상 특징 주변 기술자와 찾아진 표식이나 표식 후보의 영상 특징 주변 기술자간의 거리가 제2 소정 거리 이하인가를 판단한다(제254 단계). 이를 위해, 제2 거리 계산부(226)는 제1 비교부(224)에서 비교된 결과를 통해 구석점과 찾아진 표식이나 표식 후보와의 거리가 제1 소정 거리 이하인 것으로 인식되면, 그 구석점의 영상 특징 주변 기술자와 찾아진 표식이나 표식 후보의 영상 특징 주변 기술자간의 유클리디언(Euclidean) 거리를 계산하고, 계산된 거리를 제2 비교부(228)로 출력한다. 이를 위해, 제2 거리 계산부(226)는 영상 특징 주변 기술자들을 표식 및 표식 후보 검색부(220)로부터 입력한다. 이 때, 제2 비교부(228)는 제2 거리 계산부(226)에서 계산된 거리와 제2 소정 거리를 비교하고, 비교된 결과를 출력한다. 예를 들어, 영상 특징 주변 기술자가 128개의 원소를 가지는 벡터로 구성되고 각 원소가 바이트 값을 가지게 되어 그 바이트 값의 범위가 0부터 255까지의 값을 갖는 경우, 제2 소정 거리는 638이 될 수 있다.
도 18을 참조하면, 제2 거리 계산부(226)는 표식 및 표식 후보 검색부(220)로부터 입력한 쌍들(270, 272, 274, 276 및 278)중에서 제1 비교부(224)에서 비교된 결과를 통해 구석점과 찾아진 표식이나 찾아진 표식 후보와의 거리가 제1 소정 거리 이하인 것으로 인식되는 각 쌍을 선별하고, 선별된 쌍에 속하는 구석점의 영상 특징 주변 기술자와 선별된 쌍에 속하는 찾아진 표식이나 표식 후보의 영상 특징 주변 기술자간의 유클리디언 거리를 계산하고, 계산된 거리를 제2 비교부(228)로 출력한다.
만일, 구석점의 영상 특징 주변 기술자와 찾아진 표식이나 찾아진 표식 후보의 영상 특징 주변 기술자간의 거리가 제2 소정 거리 이하인 것으로 판단되면, 구석점과 가장 가까운 위치에 표식이 존재하는가 그렇지 않으면 표식 후보가 존재하는가를 판단한다(제256 단계). 이를 위해, 제2 비교부(228)에서 비교된 결과를 통해 구석점의 영상 특징 주변 기술자와 찾아진 표식이나 찾아진 표식 후보의 영상 특징 주변 기술자간의 거리가 제2 소정 거리 이하인 것으로 인식되면, 표식 및 표식 후보 식별부(230)는 그 구석점과 가장 가까운 위치에 표식이 존재하는가 그렇지 않으면 표식 후보가 존재하는가를 식별하고, 식별된 결과를 카운터(232)로 출력한다.
도 18을 참조하면, 표식 및 표식 후보 식별부(230)는 표식 및 표식 후보 검색부(220)로부터 입력한 구석점과 표식이나 표식 후보간의 거리가 제1 소정 거리 이하인 쌍들중에서 제2 비교부(228)에서 비교된 결과를 통해 영상 특징 주변 기술자들간의 거리가 제2 소정 거리 이하인 것으로 인식되는 각 쌍에 대해서, 구석점과 가장 가까운 위치에 표식이 존재하는가 그렇지 않으면 표식 후보가 존재하는가를 식별하고, 식별된 결과를 카운터(232)로 출력한다. 예를 들어, 도 18에 도시된 쌍(270)에서 구석점(302)의 영상 특징 주변 기술자와 표식(300)의 영상 특징 주변 기술자간의 거리가 제2 소정 거리 이하인 것으로 인식될 경우, 표식 및 표식 후보 식별부(230)는 구석점(302)과 쌍을 이루는 것이 표식(300)인 것으로 식별한다. 또한, 도 18에 도시된 쌍(274)에서 구석점(310)의 영상 특징 주변 기술자와 표식 후보(312)의 영상 특징 주변 기술자간의 거리가 제2 소정 거리 이하인 것으로 인식될 경우, 표식 및 표식 후보 식별부(230)는 구석점(310)과 쌍을 이루는 것이 표식 후보(312)인 것으로 식별한다.
만일, 표식 및 표식 후보 식별부(230)로부터 입력한 식별된 결과를 통해, 구석점과 가장 가까운 위치에 표식 후보가 아니라 표식이 존재하는 것으로 인식되면, 카운터(232)는 표식이 관측된 횟수를 나타내는 표식 플래그를 상향 카운팅하고, 카 운팅된 결과를 출력단자 OUT8을 통해 출력한다(제258 단계). 그러나, 표식 및 표식 후보 식별부(230)로부터 입력한 식별된 결과를 통해, 구석점과 가장 가까운 위치에 표식이 아니라 표식 후보가 존재하는 것으로 인식되면, 카운터(232)는 표식 후보가 관측된 횟수를 나타내는 표식 후보 플래그를 상향 카운팅하고, 카운팅된 결과를 출력단자 OUT8을 통해 출력한다(제260 단계). 즉, 카운터(232)는 표식 및 표식 후보 식별부(230)에서 식별된 결과에 응답하여, 표식이 관측된 횟수를 나타내는 표식 플래그를 상향 카운팅하거나 표식 후보가 관측된 횟수를 나타내는 표식 후보 플래그를 상향 카운팅하고, 카운팅된 결과를 출력단자 OUT8을 통해 출력한다. 여기서, 카운터(232)에서 표식 플래그를 상향 카운팅한 결과는 표식 정보로서 출력되고, 카운터(232)로부터 표식 후보 플래그를 상향 카운팅한 결과는 표식 후보 정보로서 출력된다.
예를 들어, 도 18에 도시된 쌍들(270, 274 및 278)에서 도 17에 도시된 제252 및 제254 단계들을 통과하여 영상 특징 주변 기술자들간의 거리가 제2 소정 거리 이하인 것으로 인식된 경우, 카운터(232)는 표식(300)이 관측되었으므로 표식 정보에 포함된 표식 플래그 값을 상향 카운팅하고, 두 개의 표식 후보들(306 및 312)도 관측되었으므로 마찬가지로 표식 후보 정보에 포함된 각각의 표식 후보 플래그 값을 상향 카운팅한다.
만일, 찾아진 표식이나 표식 후보와 제1 소정 거리보다 멀리 위치한 구석점 또는 찾아진 표식이나 표식 후보의 영상 특징 주변 기술자와 제2 소정 거리보다 멀리 위치한 영상 특징 주변 기술자를 갖는 구석점에 대해서는 새로운 표식 후보로서 결정하고, 결정된 새로운 표식 후보에 대한 정보를 등록한다(제262 단계). 이를 위해, 표식 후보 초기화부(234)는 제1 비교부(222)에서 비교된 결과를 통해 구석점과 찾아진 표식이나 찾아진 표식 후보와의 거리가 제1 소정 거리 보다 큰 것으로 인식되는 각 쌍에 포함되는 구석점을 새로운 표식 후보로서 결정하고, 결정된 새로운 표식 후보에 대한 정보를 표식 후보 정보로서 등록한다. 또한, 표식 후보 초기화부(234)는 제2 비교부(226)에서 비교된 결과를 통해 영상 특징 주변 기술자들간의 거리가 제2 소정 거리 보다 큰 것으로 인식되는 각 쌍에 포함되는 구석점을 새로운 표식 후보로서 결정하고, 결정된 새로운 표식 후보에 대한 정보를 표식 후보 정보로서 등록한다. 여기서, 새로운 표식 후보로서 등록되는 표식 후보 정보에 포함되는 표식 후보 플래그는 '0'으로 초기화된다.
예를 들어, 도 18에 도시된 쌍들(272, 276 및 278)에 포함된 구석점들(308, 314 및 304)이 이전 상향 영상에서 표식도 아니고 표식 후보도 아니었던 것으로 인식되면, 구석점들(308, 304 및 314)을 새로운 표식 후보로서 결정하고, 결정된 표식 후보들(304, 308 및 314)에 대한 표식 후보 정보를 등록한다. 예컨대, 도 18에 도시된 쌍(272)에 포함된 구석점(308)과 표식 후보(312)간의 거리가 제1 소정 거리보다 크거나 구석점(308)의 영상 특징 주변 기술자와 표식 후보(312)의 영상 특징 주변 기술자간의 거리가 제2 소정 거리 보다 큰 것으로 인식되면, 구석점(308)을 새로운 표식 후보로서 결정하고, 결정된 표식 후보(308)에 대한 표식 후보 정보를 등록한다.
한편, 제58 단계후에, 표식 후보 처리부(40)는 관측 및 등록부(38)에서 등록 된 표식 후보들중에서 서로 중복되는 표식 후보들을 제거하고, 중복되지 않은 표식 후보들의 2차원 영상 좌표로부터 3차원 영상 좌표를 추정하며, 추정된 3차원 영상좌표를 갖는 중복되지 않은 표식 후보들을 표식 등록부(42)로 출력한다(제60 단계). 이 때, 관측 및 등록부(38)로부터 표식 후보 처리부(40)로 입력되는 등록된 표식 후보들 각각의 좌표는 영상 좌표계로 표현되는 2차원 좌표이다.
도 19는 도 3에 도시된 표식 후보 처리부(40)의 본 발명에 의한 실시예(40A)의 블럭도로서, 제3 거리 계산부(330), 제3 비교부(332), 표식 후보 제거부(334) 및 좌표 추정부(336)로 구성된다.
도 20은 도 4에 도시된 제60 단계에 대한 본 발명에 의한 실시예(60A)를 설명하기 위한 플로우차트로서, 최소 거리와 제3 소정 거리를 비교한 결과에 따라 중복되는 표식 후보를 제거하거나 중복되지 않은 표식 후보의 3차원 좌표를 추정하는 단계(제350 ~ 제356 단계들)로 이루어진다.
제58 단계후에, 제3 거리 계산부(330)는 관측 및 등록부(38)로부터 입력단자 IN9를 통해 입력한 등록된 표식 후보들 각각에 대해서, 등록된 표식 후보와 가장 가까운 다른 등록된 표식 후보간의 최소 거리를 계산하고, 계산된 최소 거리를 제3 비교부(332)로 출력한다(제350 단계).
제350 단계후에, 최소 거리가 제3 소정 거리 이하인가를 판단한다(제352 단계). 이를 위해, 제3 비교부(332)는 제3 거리 계산부(330)로부터 입력한 각 최소 거리와 제3 소정 거리를 비교하고, 비교된 결과들을 표식 후보 제거부(334)로 출력한다. 본 발명에 의하면, 제3 소정 거리는 5 픽셀 거리로 설정될 수 있다.
제3 비교부(332)에서 비교된 결과를 통해 제3 소정 거리 이하의 최소 거리를 갖는 표식 후보들은 서로 중복되는 것으로 걸정하고, 표식 후보 제거부(334)는 입력단자 IN9를 통해 관측 및 등록부(38)로부터 입력한 표식 후보들중에서 중복되는 표식 후보를 제거한다(제354 단계).
예를 들어, 도 18에 도시된 구석점들(308, 304 및 314)이 새로운 표식 후보로서 결정되고, 결정된 표식 후보들(308, 304 및 314)에 대한 표식 후보 정보가 관측 및 등록부(38)에서 등록된 경우, 구석점들(308 및 304)간의 최소 거리가 제3 소정 거리 이하라면, 새로운 표식 후보들(308 및 304)중 하나는 제거된다.
그러나, 제3 소정 거리 보다 크게 이격된 최소 거리를 갖는 표식 후보들은 서로 중복되지 않은 것으로 결정하고, 영상 좌표계에서 2차원 좌표들에 의해 표현되는 중복되지 않은 표식 후보들의 3차원 영상 좌표를 그 2차원 좌표들로부터 예를 들면 삼각법을 통해 추정한다(제356 단계). 이를 위해, 본 발명의 일 실시예에 의하면, 제3 비교부(332)에서 비교된 결과를 통해 제3 소정 거리 보다 크게 이격된 최소 거리를 갖는 표식 후보들은 서로 중복되지 않은 것으로 인식하고, 좌표 추정부(336)는 관측 및 등록부(38)로부터 입력단자 IN9를 통해 입력한 중복되지 않은 표식 후보들의 3차원 영상 좌표를 추정하고, 추정된 3차원 좌표를 갖는 표식 후보를 표식 등록부(42)로 출력단자 OUT10을 통해 출력한다. 또는, 본 발명의 다른 실시예에 의하면, 표식 후보 제거부(334)가 입력단자 IN9를 통해 관측 및 등록부(38)로부터 입력한 표식 후보들중에서 제거되지 않는 표식 후보만을 좌표 추정부(336)로 출력한다면, 좌표 추정부(336)는 표식 후보 제거부(334)에서 제거되지 않은 표 식 후보들을 표식 후보 제거부(334)로부터 입력하고, 입력한 중복되지 않은 표식 후보들의 3차원 영상 좌표를 추정하며, 추정된 3차원 좌표를 갖는 표식 후보를 표식 등록부(42)로 출력단자 OUT10을 통해 출력한다.
만일, 전술한 바와 같이 도 11에 도시된 위치 예측부(134)가 옵티컬 플로우 트랙커를 이용하여 현재 상향 영상에 있을 표식 및 표식 후보의 위치들을 예측한다면, 도 19에 도시된 좌표 추정부(336)는 중복되지 않은 표식 후보들의 2차원 좌표 궤적, 이동체의 위치 및 방위각 궤적으로부터 3차원 영상 좌표를 보다 쉽게 추정할 수 있다.
도 21은 도 19에 도시된 좌표 추정부(336)에서 삼각법을 이용하여 높이 정보를 추출하는 과정의 이해를 돕기 위한 도면으로서, 기준 좌표계에서 위치들(P1, P2 및 PL)의 좌표들을 나타낸다.
도 21을 참조하면, 이동체가 위치(P1)에 위치할 때의 이동체의 위치 및 방위각 값은 (xR1, yR1, θR1)w로서 표현되고, 이동체가 위치(P2)에 위치할 때의 이동체의 위치 및 방위각 값은 (xR2, yR2, θR2)w로서 표현된다. 한편, 표식(PL)이 기준 좌표계에 대하여 (xL, yL, θL)w에 위치하고 이 표식을 위치(P1) 및 위치(P2)에서 각각 상향 영상을 통하여 관측하면, 각 영상 좌표계에 대해서 (xL1, yL1)v 및 (xL2, yL2)v 값을 구할 수 있다. 여기서, 영상 좌표계와 기준 좌표계간의 관계는 도 13에 나타나 있으며, 로봇과 같은 이동체의 위치가 기준 좌표계에서 P1으로부터 P2로 바뀐다고 하더라도 기준 좌표계에서 표식은 동일한 점(xL, yL, θL)w으로 표현되지만, 영상 좌표계 상에서는 P1에서의 표식의 좌표가 (xL1, yL1)v로 표현되고, P2에서의 표식의 좌표가 (xL2, yL2)v로 표현된다. 그리고, 영상 좌표계상의 점은 표식(PL)이 로봇 카메라의 촬상 평면으로 투사된 점이 된다. 이 때, 좌표 추정부(336)는 이동체가 위치(P1)로부터 위치(P2)로 이동한 거리와 각도(θR1 및 θR2) 및 각 영상 좌표계에 대하여 구해진 표식에 대한 관측값 (xL1, yL1)v 및 (xL2, yL2)v으로부터 삼각법을 통해 위치(PL)에 위치한 실제 표식 후보의 높이를 추정할 수 있다.
도 22는 영상 좌표계를 이동체 좌표계로 변환하는 일 례를 나타내는 도면이고, 도 23은 이동체 좌표계를 기준 좌표계로 변환하는 일 례를 나타내는 도면이다.
도 22 및 도 23을 참조하면, 먼저, 좌표 추정부(336)는 영상 좌표계에서 표식 후보의 2차원 좌표를 다음 수학식 6과 같이 이동체 좌표계로 변환한다.
Figure 112007055102419-pat00006
여기서,
Figure 112007055102419-pat00007
은 이동체 좌표계에서 표현되는 표식 후보의 2차원 좌표 를 나타내고,
Figure 112007055102419-pat00008
는 영상 좌표계에서 표현되는 표식 후보의 2차원 좌표를 나타내고, ox와 oy는 비젼 좌표계(vision coordinate)에 대한 광학 중심(optical center) 좌표를 나타내고, sx와 sy는 비젼 좌표계에 대한 각 방향에서의 스케일 인자(scale factor)를 나타낸다.
수학식 6에서,
Figure 112007055102419-pat00009
는 변환 행렬(TR V)로서 다음 수학식 7과 같이 표현될 수 있다.
Figure 112007055102419-pat00010
다음으로, 좌표 추정부(336)는 이동체 좌표계에서의 표식 후보의 2차원 좌표를 다음 수학식 8과 같이 기준 좌표계로 변환한다.
Figure 112007055102419-pat00011
여기서,
Figure 112007055102419-pat00012
은 이동체 좌표계에서 표현되는 표식 후보의 2차원 좌표를 나타내고,
Figure 112007055102419-pat00013
은 기준 좌표계에서 표현되는 표식 후보의 2차원 좌표를 나타내고, TW R는 변환 행렬로서 다음 수학식 9와 같이 표현될 수 있다.
Figure 112007055102419-pat00014
결국, 좌표 추정부(336)는 다음 수학식 10과 같이 표식 후보의 기준 좌표계에서의 3차원 좌표를 구할 수 있다.
Figure 112007055102419-pat00015
여기서, XL은 표식 후보의 기준 좌표계에서의 3차원 좌표를 나타내며 다음 수학식 11과 같이 표현되고, XR은 표식 후보의 영상 좌표계에서의 2차원 좌표를 나타내며 다음 수학식 12와 같이 표현되고, T는 전치(transpose)를 나타내고, H는 다음 수학식 13과 같이 표현되며 좌표계 변환을 나타내는 수학식 14와 삼각법을 나타내는 수학식 15로부터 유도될 수 있다.
Figure 112007055102419-pat00016
Figure 112007055102419-pat00017
Figure 112007055102419-pat00018
Figure 112007055102419-pat00019
Figure 112007055102419-pat00020
Figure 112007055102419-pat00021
Figure 112007055102419-pat00022
본 발명에 의하면, 도 3에 도시된 표식 생성부(10A)는 표식 후보 처리부(40)를 마련하지 않을 수도 있다. 이 경우, 도 4에 도시된 제20A 단계는 제60 단계를 마련하지 않을 수도 있다.
한편, 제60 단계후에, 표식 등록부(42)는 표식 후보들중에서 소정 횟수 이상 구석점으로서 관측된 표식 후보를 표식으로서 새롭게 등록하고, 등록된 표식을 출력단자 OUT3을 통해 출력하는 한편, 표식 후보들중에서 소정 횟수 보다 적게 구석점으로서 관측된 표식 후보에 대한 표식 후보 정보를 표식 및 표식 후보 예측부(34)로 출력한다(제62 단계). 여기서, 소정 횟수는 예를 들면 '5'로 설정될 수 있다. 제62 단계에서 표식 등록부(42)가 새로운 표식을 등록하는 절차를 살펴보면, 먼저 확장된 칼만 필터(EKF:Extended Kalman Filter)의 공분산(covariance) 행렬의 크기를 크게 하고, 관련 표식 위치를 공분산 행렬의 서브 매트릭스(submatrix)에 삽입하고, 관련 표식 잡음을 잡음 공분산 행렬에 삽입한다.
한편, 제20 단계후에, 위치 및 지도 연산부(12)는 표식 생성부(10)로부터 입력한 표식 정보들을 이용하여 이동체의 위치를 추정하는 동시에 지도를 생성하고, 추정된 위치 및 생성된 지도를 출력단자 OUT1을 통해 출력하는 한편, 표식 정보 및 이동체의 위치와 방위각 등을 표식 생성부(10) 즉, 도 3에 도시된 표식 및 표식 후보 예측부(34)로 출력한다(제22 단계). 이를 위해, 도 1에 도시된 이동체의 위치 추정 및 지도 생성 장치는 주행 처리부(14)를 더 마련할 수 있다.
여기서, 주행 처리부(14)는 이동체의 주행을 제어하고, 주행에 대한 정보를 위치 및 지도 연산부(12)로 출력한다. 여기서, 주행에 대한 정보란, 이동체 예를 들면 이동 로봇의 좌우 바퀴에 부착된 인코더(미도시)로부터 획득한 센서값 즉, 로봇 구동 정보가 될 수 있다.
이 때, 위치 및 지도 연산부(12)는 주행 처리부(14)로부터 입력한 주행에 대한 정보와 표식 생성부(10)로부터 입력한 표식들로부터 이동체의 위치를 추정하는 동시에 지도를 생성하며, 표식에 대한 정보를 표식 생성부(10)로 출력한다.
본 발명에 의하면, 위치 및 지도 연산부(12)는 확장된 칼만 필터(EKF)를 이용하여 표식들로부터 이동하는 이동체의 위치를 인식함과 동시에 표식에 대한 지도를 생성하는 SLAM(Simultaneouse Localization And Map Building) 연산부(미도시)로 구현될 수 있다.
도 3에 도시된 표식 등록부(42)에서 새로운 표식을 등록하는 전술한 절차와 도 1에 도시된 위치 및 지도 연산부(12)에 대해서는 'M.W.M. Gamini Dissanayake', 'Paul Newman', 'Steven Clark', 'Hugh F. Durrant-Whyte' 및 'M. Csorba'에 의해 "A Solution to the Simultaneous Localization and Map Building(SLAM) Problem"라는 제목으로 IEEE Trans. on Robotics and Automation. Vol. 17, No. 3, June 2001에 발표된 논문에 개시되어 있다.
이하, 위치 및 지도 연산부(12)에서 수행되는 SLAM 갱신에 대해 다음과 같이 첨부된 도 24 및 도 25을 참조하여 다음과 같이 설명한다.
본 발명에 의하면, 움직임 모델(motion model)과 관측 모델(observation model)을 설정하면 각 문제에 적합하도록 SLAM 기법을 적용할 수 있다. 단, EKF 기반 SLAM 기법의 경우, 일반적인 방법론 및 SLAM 기법에 대한 이론적 증명을 포함하고 있으며, 본 발명에서 제시된 일련의 방법을 포함하고 있지 않다. 즉, 본 발명의 도 1에서 도시된 표식 생성부(10)를 통하여 이동체의 위치 및 방위각 연산 및 지도 작성의 성능을 일반적인 EKF 기반 SLAM 기법에 비하여 향상시켰다.
도 24는 처리 모델(process model)을 설명하기 위한 도면으로서, 기준 좌표계에서 이동체(400)의 좌표(xk,yk)를 나타낸다. 여기서, 매개물(vehicle) 처리 모델 즉, 이동체의 위치 모델은 다음 수학식 16과 같이 표현되고, 표식 처리 모델 즉, 지도의 모델은 다음 수학식 17과 같이 표현될 수 있다.
Figure 112007055102419-pat00023
Figure 112007055102419-pat00024
Figure 112007055102419-pat00025
여기서, (xk,ykk)는 기준 좌표계상에서 이전 상향 영상을 획득할 때의 이동체의 위치와 각도를 나타내고, (xk +1,yk +1k+1)는 기준 좌표계상에서 현재 상향 영 상을 획득할 때의 이동체의 위치와 각도를 나타내고, v는 이동체의 선속도(linear velocity)를 나타내고, w는 이동체의 각속도(angular velocity)를 나타내고, T는 샘플링 시간(sampling time)을 나타낸다.
Figure 112007055102419-pat00026
도 25는 관측 모델을 설명하기 위한 도면으로서, x,y 및 z는 기준 좌표계의 축들을 나타내고, x v 및 y v 는 영상 좌표계의 축들을 나타내고, (x l , y l , z l )는 기준 좌표계에서의 표식의 좌표를 나타내고, (xR, yR 및 θR)은 이동체 좌표계에서의 표식의 좌표를 각각 나타낸다.
도 25를 참조하면, 영상 좌표계상에서 중심점(x v , y v , z v )으로부터 점(402)까지의 거리(d v )는 다음 수학식 18과 같이 표현될 수 있고, 영상 좌표계상에서 x v 축과 점(402)까지의 벡터(
Figure 112007055102419-pat00027
)가 이루는 각도(ψ v )는 다음 수학식 19와 같이 표현될 수 있다.
Figure 112007055102419-pat00028
여기서, f는 스케일 팩터(scale factor)를 나타내며, 물리적으로는 카메라 렌즈의 초점 거리(Focal Length)를 의미한다.
Figure 112007055102419-pat00029
이하, 수학식 16 및 수학식 17에서 주어진 처리 모델 및 수학식 18 및 수학식 19에서 주어진 관측 모델과 'M.W.M. Gamini Dissanayake', 'Paul Newman', 'Steven Clark', 'Hugh F. Durrant-Whyte' 및 'M. Csorba'에 의해 "A Solution to the Simultaneous Localization and Map Building(SLAM) Problem"라는 제목으로 IEEE Trans. on Robotics and Automation. Vol. 17, No. 3, June 2001에 발표된 논문에 개시된 방법 및 전술한 실시예를 참조하면, 본 발명의 실시예는 당업자에게 쉽게 구현될 수 있다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록 매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는 마그네틱 저장 매체(예를 들어, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장 매체를 포함한다.
컴퓨터로 읽을 수 있는 기록 매체에 저장되는 컴퓨터 프로그램은, 이동체가 처한 환경의 상향을 촬영하여 획득한 상향 영상에서 구석을 나타내는 구석점들을 관측시키고, 관측된 구석점들로부터 표식을 생성시키는 단계 및 표식들로부터 이동체의 위치를 추정시키고 지도를 생성시키는 단계를 수행한다.
표식을 생성시키는 단계는 현재 상향 영상에서 구석을 나타내는 구석점들의 좌표들 및 구석점들을 서로 구분시키는 영상 특징 주변 기술자들중 적어도 하나를 이용하여, 구석점들중에서 이전 상향 영상에서 표식이나 표식 후보였던 구석점들을 관측시켜 찾고, 이전 상향 영상에서 표식도 아니고 표식 후보도 아니었던 구석점을 새로운 표식 후보로서 등록시키고, 표식 후보들중에서 소정 횟수 이상 구석점으로서 관측된 표식 후보들을 표식으로서 등록시킨다. 이 때, 표식을 등록시키는 단계는 이동체가 처한 환경의 상향에 대한 영상을 획득시키는 단계와, 획득된 영상을 버퍼링시키고, 버퍼링된 결과를 이전 상향 영상으로서 결정하는 단계와, 현재 상향 영상의 구석점들의 좌표들 및 영상 특징 주변 기술자들중 적어도 하나를 영상 특징 정보로서 추출시키는 단계와, 이전 상향 영상에서의 표식 및 표식 후보를 현재 상향 영상에서 예측시키는 단계와, 예측된 표식 및 표식 후보에 대한 정보들과 영상 특징 정보를 비교시키고, 비교된 결과를 이용하여 구석점들중에서 이전 상향 영상에서 표식이나 표식 후보였던 구석점들을 관측시키고, 이전 상향 영상에서 표식도 아니고 표식 후보도 아니었던 구석점을 새로운 표식 후보로서 등록시키는 단계 및 표식 후보들중에서 소정 횟수 이상 구석점으로서 관측된 표식 후보들을 표식으로서 등록시키는 단계를 수행한다.
영상을 획득시키는 단계는 이동체가 처한 환경의 상향에 대한 영상을 획득시키는 단계 및 획득된 상향 영상의 왜곡을 보정시키는 단계를 수행한다. 영상을 획 득시키는 단계는 왜곡이 보정된 결과를 저역 통과 필터링시키는 단계를 더 수행한다. 또는, 영상을 획득시키는 단계는 이동체가 처한 환경의 상향에 대한 영상을 획득시키는 단계 및 획득된 상향 영상을 저역 통과 필터링시키는 단계를 수행한다. 영상 특징 정보를 추출시키는 단계는 현재 상향 영상에서 구석점들을 검출시키고, 검출된 구석점들의 좌표들을 구하게 하는 단계 및 검출된 구석점들의 주변에 영상들을 분석시키고, 분석된 결과를 이용하여 구석점들별로 영상 특징 주변 기술자를 구하게 하는 단계를 수행한다. 표식 및 표식 후보의 위치들을 현재 상향 영상에서 예측시키는 단계는 이전 상향 영상에서 등록된 표식 및 표식 후보의 위치들의 3차원 좌표들을 상기 이전 상향 영상이 입력되었을 때의 이동체의 위치와 방위각을 이용하여 이전 상향 영상의 영상 좌표계를 기준으로 2차원으로 변환시키는 단계와, 변환된 2차원 좌표를 갖는 표식 및 표식 후보들중에서 이전 상향 영상에 속하는 표식 및 표식 후보만을 선택시키는 단계 및 현재 상향 영상과 이전 상향 영상간의 변화량을 선택된 결과에 대해 계산시키고, 계산된 변화량을 이용하여 현재 상향 영상에 있을 표식 및 표식 후보를 예측시키는 단계를 수행한다.
구석점들을 관측하고 새로운 표식 후보를 등록시키는 단계는 구석점들 각각에 대해서, 구석점과 가장 가까운 예측된 표식이나 표식 후보를 찾게 하는 단계와, 구석점들 각각에 대해서, 구석점과 찾아진 표식이나 표식 후보간의 거리가 제1 소정 거리 이하인가를 판단시키는 단계와, 찾아진 표식이나 표식 후보와의 거리가 제1 소정 거리 이하인 구석점들 각각에 대해서, 구석점의 영상 특징 주변 기술자와 찾아진 표식이나 표식 후보의 영상 특징 주변 기술자간의 거리가 제2 소정 거리 이 하인가를 판단시키는 단계와, 구석점의 영상 특징 주변 기술자와 찾아진 표식이나 표식 후보의 영상 특징 주변 기술자간의 거리가 제2 소정 거리 이하인 것으로 판단되면, 구석점과 가장 가까운 위치에 표식이 존재하는가 그렇지 않으면 표식 후보가 존재하는가를 판단시키는 단계와, 표식이 존재하는 것으로 판단되면, 표식이 관측된 횟수를 나타내는 표식 플래그를 상향 카운팅시키는 단계와, 표식 후보가 존재하는 것으로 판단되면, 표식 후보가 관측된 횟수를 나타내는 표식 후보 플래그를 상향 카운팅시키는 단계 및 찾아진 표식이나 표식 후보와 제1 소정 거리보다 멀리 위치한 구석점 또는 찾아진 표식이나 표식 후보의 영상 특징 주변 기술자와 제2 소정 거리보다 멀리 위치한 영상 특징 주변 기술자에 해당하는 구석점을 새로운 표식 후보로서 결정하고, 결정된 새로운 표식 후보에 대한 정보를 등록시키는 단계를 수행한다.
표식을 등록하는 단계는 등록된 표식 후보들중에서 서로 중복되는 표식 후보들을 제거시키고, 중복되지 않은 표식 후보들의 2차원 영상 좌표로부터 3차원 영상 좌표를 추정시키는 단계를 더 수행한다. 영상 좌표를 추정시키는 단계는 등록된 표식 후보들 각각에 대해서, 가장 가까운 표식 후보간의 최소 거리를 구하게 하는 단계와, 최소 거리가 제3 소정 거리 이하인가를 판단시키는 단계와, 제3 소정 거리이하의 최소 거리를 갖는 표식 후보들은 서로 중복되는 것으로 결정하고, 중복되는 표식 후보를 제거시키는 단계 및 제3 소정 거리 보다 크게 이격된 최소 거리를 갖는 표식 후보들은 서로 중복되지 않은 것으로 결정하고, 중복되지 않은 표식 후보들의 3차원 영상 좌표를 추정시키는 단계를 수행한다.
이하, 이동체로서 로봇을 채택하면서, 본 발명에 의한 상향 영상을 이용한 이동체의 위치 추정 및 지도 생성 장치 및 방법과 그 장치를 제어하는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체에 의해 로봇의 자기 위치 및 방위각을 테스트한 결과를 첨부된 도면들을 참조하여 다음과 같이 설명한다.
먼저, 로봇의 각 위치에서의 거리 오차의 합을 총 샘플수로 제산한 결과를 거리 평균 오차로서 정의하고, 로봇의 각 위치에서의 방위 각도 오차의 합을 총 샘플수로 제산한 결과를 방위각 평균 오차로서 정의한다. 이러한 오차들을 계산하기 위해 먼저, 로봇이 학습을 시작한 초기 위치를 기준 좌표계의 원점으로 설정하고, 그 초기 위치에서의 로봇의 진행 방향을 기준 좌표계의 x축 방향과 일치시킨다. 이 때, 로봇의 실제 위치 및 방위각을 (xd, yd, θd)로서 표기하고, 로봇의 측정 위치 및 방위각을 (x, y, θ)로서 표기할 경우, 거리 오차(ed)는 다음 수학식 22와 같이 표현될 수 있으며 ㎝의 단위를 가질 수 있고, 방위각 오차(eθ)는 다음 수학식 23과 같이 표현될 수 있으며 degree의 단위를 가질 수 있다.
Figure 112007055102419-pat00030
Figure 112007055102419-pat00031
한편, 로봇이 이동하는 테스트 환경이 아파트의 거실이라고 할 때, 먼저 거 실에서 로봇이 이동할 경로를 미리 설정하고, 로봇이 경로를 따라 자동으로 이동하도록 한 후, 로봇의 이동시 실시간으로 거실 지도를 작성하고 위치를 인식하도록 하였다. 이 때, 로봇이 이동하는 경로상의 정해진 포인트 예를 들면 15군데의 포인트들로 로봇을 이동시킨 후, 각 포인트에서 소정 횟수 예를 들면 3회에 걸쳐서 로봇의 위치 및 방위각을 실측한다. 이 때, 로봇내의 프로세서상에서 계산된 위치 및 방위각과 측정된 위치 및 방위각간의 거리 오차 및 방위각 오차를 소정수 예를 들면 45개 만큼 샘플 데이타들로서 획득한다.
도 26은 테스트할 로봇의 외관을 나타내는 도면으로서, 바퀴 구동부(550), 로봇(551), 상향 카메라(552) 및 천정(554)을 나타낸다. 여기서, 도 3에 도시된 영상 특징 정보 추출부(36)는 천정(554)에서 다수개의 구석점들(560 ~ 578)을 검출할 수 있다.
도 26에 도시된 바퀴 구동부(550)는 도 1에 도시된 주행 처리부(14)의 역할을 수행하고, 상향 카메라(552)는 도 3에 도시된 영상 획득부(30)에 내장될 수 있다.
도 27 (a) 및 (b)는 로봇이 이동할 경로를 예시적으로 나타내는 도면들로서, 도 27 (a)는 로봇이 주행할 아파트 거실을 비롯하여 아파트의 평면도를 나타내고, 도 27 (b)는 로봇이 주행하는 경로를 예시적으로 나타내는 도면이다. 각 화살표에 대응되는 숫자는 실제 ㎜ 단위로 표시된 거리 값을 의미한다. 도 27 (b)에 도시된 경로는 기준 좌표계로 표시된다.
도 27 (a)에 도시된 아파트의 거실에서, 로봇은 도 27 (b)에 도시된 화살표 방향의 경로를 따라 지도를 자동으로 학습한다. 이 때, 로봇을 도 27 (b)에 도시된 학습 시작점(0,0)(600)부터 학습을 시작시킨다. 이 때, 도 27 (b)에 도시된 각 포인트(602 ~ 622)에서 기준 좌표계에서 로봇의 좌표값을 실측을 통하여 구하고, 학습이 끝난 후, 이들 포인트에서 위치 및 방위각 오차를 측정한다.
한편, 자와 각도기를 사용하여 로봇의 위치와 방위각을 측정하며, 위치와 방위각을 측정하는 순서는 다음과 같다.
도 28은 로봇의 외관을 나타내는 도면이고, 도 29 (a) ~ (d)들은 로봇의 위치를 측정하는 모습들을 나타내는 도면들이다.
먼저, 로봇을 테스트 포인트 예를 들면 도 27 (b)에 도시된 포인트들(602 ~ 622)중 어느 한 포인트에 위치시킨 다음, 로봇의 바퀴축(634)과 좌우 바퀴들의 외측면들(630 및 632)이 만나는 점들을 지면 방향으로 투영했을 때, 지면과 만나는 점을 도 29 (a) 및 (b)에 도시된 바와 같이 표시한다. 이 때, 로봇을 이동시킨 다음, 도 29 (c)에 도시된 바와 같이 지면에 표시된 두 마크들을 잇는 선분을 그린 후 선분의 중심점과 원점과의 거리를 로봇의 거리, 도 29 (d)에 도시된 바와 같이 선분이 지면의 기준선과 이루는 각도를 로봇의 각도로서 설정한다.
도 30은 전술한 측정 방법을 이용하여 15개의 포인트들 각각에 대해 3회 측정하여 45개의 샘플 데이타를 획득할 경우, 측정 데이타의 일 례를 나타내는 도면이다.
도 31은 도 30에서 얻어진 거리 오차에 대한 Minitab 이라는 데이타 분석 프로그램을 이용하여 실시한 통계적 분석 결과를 설명하기 위한 도면으로서, 최대 허 용 거리 오차(USL)가 10㎝인 경우 측정된 거리 오차에 대한 통계 분석 결과를 나타내는 그래프로서, 종축은 확률 분포를 나타내고 횡축은 거리 오차의 범위를 나타낸다.
도 31로부터 최대 거리 허용 오차(USL)가 10㎝인 경우, 30개의 관측 데이타 수(Sample N)에 대해서 평균 거리 오차(Mean)는 5.9018㎝이고, 이 때, 분산 정도를 측정하는 시그마 수준은 전체 공정 능력(Overall Capability)에 대해서 Z.Bench+1.5의 수식으로 2.74 시그마 수준임을 알 수 있다. 시그마 수준은 원래 불량률을 나타내는 지표로서, 6 시그마 수즌은 100만개 생산시 3.4개의 불량이 발생하는 수준을 의미한다.
도 32는 방위각 오차에 대해서 Minitab 이라는 데이타 분석 프로그램을 이용하여 실시한 통계적 분석 결과를 설명하기 위한 도면으로서, 최대 방위각 허용 오차가 5도인 경우 측정된 방위각 오차에 대한 통계 분석 결과를 나타내는 그래프로서, 종축은 관측된 방위각 데이타의 확률 분포를 나타내고 횡축은 방위각 오차의 범위를 나타낸다.
도 32로부터 최대 방위각 허용 오차(USL)가 5도인 경우, 30개의 관측 데이타 수(Sample N)에 대해서 평균 거리 오차(Mean)는 1.94333도이고, 이 때, 분산 정도를 측정하는 시그마 수준은 전체 공정 능력(Overall Capability)에 대해서 Z.Bench+1.5의 수식으로 3.43 시그마 수준임을 알 수 있다.
도 1은 본 발명에 의한 상향 영상을 이용한 이동체의 위치 추정 및 지도 생성 장치의 실시예의 블럭도이다.
도 2는 본 발명에 의한 상향 영상을 이용한 이동체의 위치 추정 및 지도 생성 방법의 실시예를 설명하기 위한 플로우차트이다.
도 3은 도 1에 도시된 표식 생성부의 본 발명에 의한 바람직한 실시예의 블럭도이다.
도 4는 도 2에 도시된 제20 단계에 대한 본 발명에 의한 실시예를 설명하기 위한 플로우차트이다.
도 5는 도 3에 도시된 영상 획득부의 본 발명에 의한 실시예의 블럭도이다.
도 6은 도 4에 도시된 제50 단계에 대한 본 발명에 의한 실시예를 설명하기 위한 플로우차트이다.
도 7 (a)는 왜곡 보정부에 입력되는 영상의 일 례를 나타내는 도면이다.
도 8은 도 3에 도시된 영상 특징 정보 추출부의 본 발명에 의한 실시예의 블럭도이다.
도 9는 도 4에 도시된 제54 단계에 대한 본 발명에 의한 실시예를 설명하기 위한 플로우차트이다.
도 10 (a) 및 (b)들은 구석점 검출부의 이해를 돕기 위한 도면들이다.
도 11은 도 3에 도시된 표식 및 표식 후보 예측부의 본 발명에 의한 바람직한 실시예의 블럭도이다.
도 12는 도 4에 도시된 제56 단계에 대한 본 발명에 의한 바람직한 실시예를 설명하기 위한 플로우차트이다.
도 13은 영상 좌표 변환부의 동작을 설명하기 위한 좌표계들을 예시적으로 나타내는 도면이다.
도 14는 도 11에 도시된 선택부의 이해를 돕기 위한 도면이다.
도 15는 위치 예측부의 이해를 돕기 위한 도면이다.
도 16은 도 3에 도시된 관측 및 등록부의 본 발명에 의한 실시예의 블럭도이다.
도 17은 도 4에 도시된 제58 단계에 대한 본 발명에 의한 실시예를 설명하기 위한 플로우차트이다.
도 18은 도 16에 도시된 관측 및 등록부의 이해를 돕기 위한 예시적인 도면이다.
도 19는 도 3에 도시된 표식 후보 처리부의 본 발명에 의한 실시예의 블럭도이다.
도 20은 도 4에 도시된 제60 단계에 대한 본 발명에 의한 실시예를 설명하기 위한 플로우차트이다.
도 21은 도 19에 도시된 좌표 추정부에서 삼각법을 이용하여 높이 정보를 추출하는 과정의 이해를 돕기 위한 도면이다.
도 22는 영상 좌표계를 이동체 좌표계로 변환하는 일 례를 나타내는 도면이다.
도 23은 이동체 좌표계를 기준 좌표계로 변환하는 일 례를 나타내는 도면이다.
도 24는 처리 모델을 설명하기 위한 도면이다.
도 25는 관측 모델을 설명하기 위한 도면이다.
도 26은 테스트할 로봇의 외관을 나타내는 도면이다.
도 27 (a) 및 (b)는 로봇이 이동할 경로를 예시적으로 나타내는 도면들이다.
도 28은 로봇의 외관을 나타내는 도면이다.
도 29 (a) ~ (d)들은 로봇의 위치를 측정하는 모습들을 나타내는 도면들이다.
도 30은 전술한 측정 방법을 이용하여 15개의 포인트들 각각에 대해 3회 측정하여 45개의 샘플 데이타를 획득할 경우, 측정 데이타의 일 례를 나타내는 도면이다.
도 31은 도 30에서 얻어진 거리 오차에 대한 Minitab 이라는 데이타 분석 프로그램을 이용하여 실시한 통계적 분석 결과를 설명하기 위한 도면이다.
도 32는 방위각 오차에 대해서 Minitab 이라는 데이타 분석 프로그램을 이용하여 실시한 통계적 분석 결과를 설명하기 위한 도면이다.

Claims (2)

  1. 이동체가 처한 환경의 상향을 촬영하여 획득한 현재 상향 영상에서 구석을 나타내는 구석점들을 검출하는 영상 특징 정보 추출부;
    상기 현재 상향 영상 이전에 획득된 이전 상향 영상 이전에 미리 등록된 표식들 및 표식 후보들 중 상기 이전 상향 영상에 속하는 표식 및 표식 후보에 대하여 상기 현재 상향 영상에서의 위치를 예측하는 표식 및 표식 후보 예측부;
    상기 예측된 표식 및 표식 후보와 상기 검출된 구석점들간의 거리를 비교하여, 상기 이전 상향 영상에서 상기 표식도 아니고 상기 표식 후보도 아니었던 구석점을 표식 후보로 등록하거나, 또는 상기 표식 또는 상기 표식 후보가 검출된 횟수를 나타내는 플래그를 상향 카운팅하는 관측 및 등록부;
    상기 등록된 표식 후보들 중에서 상기 플래그를 참조하여 소정 횟수 이상의 구석점으로 검출된 표식 후보를 표식으로 등록하는 표식 등록부; 및
    상기 등록된 표식들로부터 상기 이동체의 위치를 추정하고 지도를 생성하는 위치 및 지도 연산부를 구비하는 것을 특징으로 하는 이동체의 위치 추정 및 지도 생성 장치.
  2. 제 1 항에 있어서,
    상기 영상 획득부는
    상기 이동체가 처한 환경의 상기 상향에 대한 영상을 획득하는 상향 영상 획득부; 및
    상기 획득된 상향 영상의 왜곡을 보정하는 왜곡 보정부를 더 구비하는 것을 특징으로 하는 장치.
KR1020070075912A 2007-07-27 2007-07-27 상향 영상을 이용한 이동체의 위치 추정 및 지도 생성 장치및 방법과 그 장치를 제어하는 컴퓨터 프로그램을저장하는 컴퓨터로 읽을 수 있는 기록 매체 KR101002776B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070075912A KR101002776B1 (ko) 2007-07-27 2007-07-27 상향 영상을 이용한 이동체의 위치 추정 및 지도 생성 장치및 방법과 그 장치를 제어하는 컴퓨터 프로그램을저장하는 컴퓨터로 읽을 수 있는 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070075912A KR101002776B1 (ko) 2007-07-27 2007-07-27 상향 영상을 이용한 이동체의 위치 추정 및 지도 생성 장치및 방법과 그 장치를 제어하는 컴퓨터 프로그램을저장하는 컴퓨터로 읽을 수 있는 기록 매체

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020050006573A Division KR100776215B1 (ko) 2005-01-25 2005-01-25 상향 영상을 이용한 이동체의 위치 추정 및 지도 생성장치 및 방법과 그 장치를 제어하는 컴퓨터 프로그램을저장하는 컴퓨터로 읽을 수 있는 기록 매체

Publications (2)

Publication Number Publication Date
KR20070081798A KR20070081798A (ko) 2007-08-17
KR101002776B1 true KR101002776B1 (ko) 2010-12-21

Family

ID=38611608

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070075912A KR101002776B1 (ko) 2007-07-27 2007-07-27 상향 영상을 이용한 이동체의 위치 추정 및 지도 생성 장치및 방법과 그 장치를 제어하는 컴퓨터 프로그램을저장하는 컴퓨터로 읽을 수 있는 기록 매체

Country Status (1)

Country Link
KR (1) KR101002776B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101314588B1 (ko) * 2009-10-26 2013-10-07 한국전자통신연구원 인공 표식물의 지도 작성 방법 및 장치와 이를 이용한 이동체 위치 측정 방법 및 장치
KR102196076B1 (ko) * 2020-05-15 2020-12-29 주식회사 케이스랩 삼각-육각 지도 생성방법 및 장치와 이를 이용한 이동체의 광역위치 결정방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222563A (ja) 1999-02-04 2000-08-11 Nec Corp 障害物検出装置および障害物検出装置を搭載した移動体
US20040167670A1 (en) 2002-12-17 2004-08-26 Goncalves Luis Filipe Domingues Systems and methods for computing a relative pose for global localization in a visual simultaneous localization and mapping system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222563A (ja) 1999-02-04 2000-08-11 Nec Corp 障害物検出装置および障害物検出装置を搭載した移動体
US20040167670A1 (en) 2002-12-17 2004-08-26 Goncalves Luis Filipe Domingues Systems and methods for computing a relative pose for global localization in a visual simultaneous localization and mapping system

Also Published As

Publication number Publication date
KR20070081798A (ko) 2007-08-17

Similar Documents

Publication Publication Date Title
KR100776215B1 (ko) 상향 영상을 이용한 이동체의 위치 추정 및 지도 생성장치 및 방법과 그 장치를 제어하는 컴퓨터 프로그램을저장하는 컴퓨터로 읽을 수 있는 기록 매체
Agarwal et al. Metric localization using google street view
KR100493159B1 (ko) 이동체의 효율적 자기 위치 인식을 위한 랜드마크 및 이를이용한 자기 위치 인식 장치 및 방법
KR102151814B1 (ko) 레이더 센서 및 카메라를 이용한 객체 인식 방법 및 그를 위한 장치
Skrzypczyński Mobile robot localization: Where we are and what are the challenges?
Fakhfakh et al. Bayesian curved lane estimation for autonomous driving
Thielemann et al. Pipeline landmark detection for autonomous robot navigation using time-of-flight imagery
Salman et al. Whisker-ratslam applied to 6d object identification and spatial localisation
Ayanoglu et al. Crowdsourcing-based magnetic map generation for indoor localization
Ballardini et al. Leveraging the OSM building data to enhance the localization of an urban vehicle
Cvišić et al. Enhanced calibration of camera setups for high-performance visual odometry
KR101002776B1 (ko) 상향 영상을 이용한 이동체의 위치 추정 및 지도 생성 장치및 방법과 그 장치를 제어하는 컴퓨터 프로그램을저장하는 컴퓨터로 읽을 수 있는 기록 매체
CN116358547B (zh) 一种基于光流估计获取agv位置的方法
Nandkumar et al. Simulation of Indoor Localization and Navigation of Turtlebot 3 using Real Time Object Detection
Strasdat et al. Multi-cue localization for soccer playing humanoid robots
Liu et al. An image-based accurate alignment for substation inspection robot
KR100647285B1 (ko) 인공마크를 이용한 지능형 시스템의 자기위치인식장치 및방법과 이를 이용한 지능형 시스템
Moreira et al. Mobile robot outdoor localization using planar beacons and visual improved odometry
Li et al. A UAV-Based Machine Vision Algorithm for Industrial Gauge Detecting and Display Reading
Shimizu et al. Robust and accurate detection of object orientation and id without color segmentation
Wang et al. Improved simultaneous localization and mapping by stereo camera and SURF
Li et al. CAD-vision-range-based self-localization for mobile robot using one landmark
Hamarsudi et al. Radial Search Lines Method for Estimating Soccer Robot Position Using an Omnidirectional Camera
Jaspers et al. High accuracy model-based object pose estimation for autonomous recharging applications
JP2018014064A (ja) 室内用自走式ロボットの位置測定システム

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20131122

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141119

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151116

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161118

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20171120

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20181119

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20191119

Year of fee payment: 10