KR101175922B1 - 천장영역 인식기반 slam 알고리즘 구현을 위한 내부구조물 라인 제거 방법 - Google Patents
천장영역 인식기반 slam 알고리즘 구현을 위한 내부구조물 라인 제거 방법 Download PDFInfo
- Publication number
- KR101175922B1 KR101175922B1 KR1020100135765A KR20100135765A KR101175922B1 KR 101175922 B1 KR101175922 B1 KR 101175922B1 KR 1020100135765 A KR1020100135765 A KR 1020100135765A KR 20100135765 A KR20100135765 A KR 20100135765A KR 101175922 B1 KR101175922 B1 KR 101175922B1
- Authority
- KR
- South Korea
- Prior art keywords
- motion vector
- ceiling
- boundary line
- feature point
- image
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000033001 locomotion Effects 0.000 claims abstract description 149
- 239000013598 vector Substances 0.000 claims abstract description 142
- 238000013507 mapping Methods 0.000 claims description 10
- 238000000605 extraction Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4023—Scaling of whole images or parts thereof, e.g. expanding or contracting based on decimating pixels or lines of pixels; based on inserting pixels or lines of pixels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
본 발명은 천장영역 인식기반 SLAM 알고리즘을 구현할 때 내부구조물의 라인을 벽면과 천장영역 사이의 경계라인과 구분하여 이를 제거하기 위한 방법에 관한 것이다. 이동 로봇이 천장영역 영상을 수집하면, 천장영역 영상으로부터 경계라인과 천장영역 특징점과 경계라인 특징점을 추출한다. 또한 이동 로봇이 위치 이동 후 위 단계들을 다시 수행한다. 그리고 천장영역 특징점의 이동을 나타내는 제1 이동벡터와 경계라인 특징점의 이동을 나타내는 제2 이동벡터를 각각 구하고 두 이동벡터를 서로 비교한다. 비교 결과 제1 이동벡터와 제2 이동벡터가 상이할 경우 경계라인을 내부구조물에 의한 경계라인으로 판단하여 제거한다. 두 이동벡터가 동일하면 경계라인은 벽면에 의한 경계라인이다.
Description
본 발명은 동시 위치인식과 지도구축(SLAM) 기술에 관한 것으로, 보다 구체적으로는 천장영역 인식기반 SLAM 알고리즘 구현을 위한 내부구조물 라인 제거 방법에 관한 것이다.
이동 로봇이나 무인 차량이 효율적인 작업을 수행하기 위해서는 자기 위치인식 기술이 필수적이다. 동시 위치인식 및 지도구축(Simultaneous Localization And Mapping; SLAM) 기술은 이동 로봇 또는 무인 차량이 미지의 영역을 주행하면서 주변 환경을 인지하고 그 환경에 대한 로봇의 상대적인 위치를 동시에 추정하는 것이다. 기존의 위치인식과 달리, SLAM 기술은 자기 위치나 주변 환경에 대하여 아무런 사전 정보가 없는 경우에 유용하다.
SLAM 기술 중에서 천장영역 인식기반 SLAM 알고리즘은 천장영역과 벽면 사이의 경계라인을 바탕으로 SLAM을 구현한다. 천장의 경계라인은 실내공간의 어디서나 쉽게 찾을 수 있기 때문에 시각기반 SLAM의 측정 입력으로 적합하다. 이동 로봇은 단일 카메라를 통해 천장의 이미지를 연속적으로 수집하여 천장의 경계영역에서 선형특징을 추출하고 그것을 확장된 칼만 필터(Extended Kalman Filter)에 적용하여 자신의 위치와 방향을 인지한다.
그런데 천장의 경계라인을 추출할 때, 벽면과 천장영역의 경계라인이 아닌 내부구조물의 라인을 천장의 경계라인으로 잘못 인식하는 경우가 종종 발생한다. 즉, 파티션이나 책상 모서리 등과 같이 천장에 접해있지 않은 내부구조물의 라인을 벽면과 천장영역의 경계라인과 구분하지 못하고 천장의 경계라인으로 잘못 추출하는 오류가 발생한다.
본 발명은 이러한 종래의 문제점을 해결하기 위한 것으로, 본 발명의 목적은 천장영역 인식기반 SLAM 알고리즘을 구현할 때 내부구조물의 라인을 벽면과 천장영역 사이의 경계라인과 구분하여 이를 제거하기 위한 것이다.
본 발명의 다른 목적은 천장영역 인식기반 SLAM 알고리즘에서 천장 경계라인의 오류를 제거함으로써 이동 로봇이나 무인 차량의 효과적인 자율주행 기능을 제공하기 위한 것이다.
위와 같은 목적들을 달성하기 위하여, 본 발명은 천장영역 인식기반 SLAM 알고리즘 구현 방법에 있어서, (a) 이동 로봇이 천장영역 영상을 수집하는 단계; (b) 상기 천장영역 영상으로부터 경계라인과 천장영역 특징점과 경계라인 특징점을 추출하는 단계; (c) 상기 이동 로봇이 위치 이동 후 상기 (a) 단계와 상기 (b) 단계를 반복하여 수행하는 단계; (d) 상기 천장영역 특징점의 이동을 나타내는 제1 이동벡터 및 상기 경계라인 특징점의 이동을 나타내는 제2 이동벡터를 각각 구하는 단계; (e) 제2 이동벡터의 크기가 제1 이동벡터의 소정의 크기 범위에 속하는지를 판단하여 상기 제1 이동벡터와 상기 제2 이동벡터가 동일한지를 비교하는 단계; (f) 상기 (e) 단계의 비교 결과 상기 제2 이동벡터의 크기가 상기 제1 이동벡터의 소정의 크기 범위에 속하지 않아 상기 제2 이동벡터가 상기 제1 이동벡터와 상이할 경우 상기 경계라인을 내부구조물에 의한 경계라인으로 판단하여 제거하는 단계를 포함하는 천장영역 인식기반 SLAM 알고리즘 구현을 위한 내부구조물 라인 제거 방법을 제공한다.
이러한 방법에서, 상기 (b) 단계는, (b-1) 상기 천장영역 영상에 대하여 천장영역을 분리하는 단계; (b-2) 상기 분리된 천장영역을 기반으로 영상을 맵핑하는 단계; (b-3) 상기 맵핑된 영상의 천장영역에서 특징점을 추출하는 단계; (b-4) 상기 맵핑된 영상에서 상기 경계라인을 추출하는 단계; (b-5) 상기 특징점 중에서 상기 경계라인 위에 존재하는 특징점을 상기 경계라인 특징점으로 등록함으로써 상기 천장영역 특징점과 상기 경계라인 특징점을 구분하는 단계를 포함할 수 있다.
또한, 상기 (b-1) 단계는 상기 천장영역 영상에서 로봇 중심 좌표를 구한 후 상기 천장영역 영상에 대하여 패턴 분할을 수행하고 상기 로봇 중심 좌표가 포함된 영역을 천장영역으로 추출하는 단계일 수 있다.
또한, 상기 (d) 단계는 상기 천장영역 특징점이 여러 개인 경우 각각의 제1 이동벡터를 구한 후 상기 제1 이동벡터들의 평균 이동벡터를 구하는 단계일 수 있다.
또한, 상기 (e) 단계는 상기 경계라인 특징점이 여러 개인 경우 상기 제1 이동벡터들의 평균 이동벡터와 각각의 상기 제2 이동벡터를 차례로 비교하는 단계일 수 있고, 상기 제2 이동벡터의 크기가 상기 제1 이동벡터의 소정의 크기 범위에 속하는지를 판단하기 위해, 상기 제1 이동벡터와 상기 제2 이동벡터의 크기를 각각 A1, A2라 할 때, 수학식 을 만족하는지 판단하는 단계일 수 있으며, 상기 제2 이동벡터의 크기와 방향이 상기 제1 이동벡터의 크기와 방향 범위에 속하는지를 판단하기 위해, 상기 제1 이동벡터와 상기 제2 이동벡터의 크기를 각각 A1, A2, 방향을 나타내는 각도값을 각각 B1, B2라 할 때, 수학식 을 만족하는지 판단하는 단계일 수 있다(α는 크기 오차범위, β는 각도 오차범위를 나타냄).
아울러, 본 발명은 천장영역 인식기반 SLAM 알고리즘 구현 방법에 있어서, (ㄱ) 제1 실내 위치에서 제1 천장영역 영상을 수집하는 단계; (ㄴ) 상기 제1 천장영역 영상으로부터 제1 경계라인과 제1 천장영역 특징점과 제1 경계라인 특징점을 추출하는 단계; (ㄷ) 상기 제1 실내 위치와 다른 제2 실내 위치에서 제2 천장영역 영상을 수집하는 단계; (ㄹ) 상기 제2 천장영역 영상으로부터 제2 경계라인과 제2 천장영역 특징점과 제2 경계라인 특징점을 추출하는 단계; (ㅁ) 상기 제1 천장영역 특징점과 상기 제2 천장영역 특징점으로부터 제1 이동벡터를 구하고, 상기 제1 경계라인 특징점과 상기 제2 경계라인 특징점으로부터 제2 이동벡터를 구하는 단계; (ㅂ) 제2 이동벡터의 크기가 제1 이동벡터의 소정의 크기 범위에 속하는지를 판단하여 상기 제1 이동벡터와 상기 제2 이동벡터가 동일한지를 비교하는 단계; (ㅅ) 상기 제2 이동벡터의 크기가 상기 제1 이동벡터의 소정의 크기 범위에 속하여 상기 제1 이동벡터와 상기 제2 이동벡터가 동일하면 상기 제1 경계라인과 상기 제2 경계라인을 벽면에 의한 경계라인으로 판단하고, 상기 제2 이동벡터의 크기가 상기 제1 이동벡터의 소정의 크기 범위에 속하지 않아 상기 제1 이동벡터와 상기 제2 이동벡터가 동일하지 않으면 상기 제1 경계라인과 상기 제2 경계라인을 내부구조물에 의한 경계라인으로 판단하는 단계를 포함하는 천장영역 인식기반 SLAM 알고리즘 구현을 위한 천장 경계라인 구분 방법을 제공한다.
이러한 방법에서, 상기 (ㄴ) 단계와 상기 (ㄹ) 단계는 각각, 상기 천장영역 영상에 대하여 천장영역을 분리하는 단계; 상기 분리된 천장영역을 기반으로 영상을 맵핑하는 단계; 상기 맵핑된 영상의 천장영역에서 특징점을 추출하는 단계; 상기 맵핑된 영상에서 상기 경계라인을 추출하는 단계; 상기 특징점 중에서 상기 경계라인 위에 존재하는 특징점을 상기 경계라인 특징점으로 등록함으로써 상기 천장영역 특징점과 상기 경계라인 특징점을 구분하는 단계를 포함할 수 있다.
또한, 상기 천장영역의 분리 단계는 상기 천장영역 영상에서 로봇 중심 좌표를 구한 후 상기 천장영역 영상에 대하여 패턴 분할을 수행하고 상기 로봇 중심 좌표가 포함된 영역을 천장영역으로 추출하는 단계일 수 있다.
또한, 상기 (ㅁ) 단계는 상기 제1 천장영역 특징점과 상기 제2 천장영역 특징점이 여러 개인 경우 각각의 제1 이동벡터를 구한 후 상기 제1 이동벡터들의 평균 이동벡터를 구하는 단계일 수 있다.
또한, 상기 (ㅂ) 단계는 상기 제1 경계라인 특징점과 상기 제2 경계라인 특징점이 여러 개인 경우 상기 제1 이동벡터들의 평균 이동벡터와 각각의 상기 제2 이동벡터를 차례로 비교하는 단계일 수 있고, 상기 제2 이동벡터의 크기가 상기 제1 이동벡터의 소정의 크기 범위에 속하는지를 판단하기 위해, 상기 제1 이동벡터와 상기 제2 이동벡터의 크기를 각각 A1, A2라 할 때, 다음 수학식 을 만족하는지 판단하는 단계일 수 있으며, 상기 제2 이동벡터의 크기와 방향이 상기 제1 이동벡터의 크기와 방향의 범위에 속하는지를 판단하기 위해, 상기 제1 이동벡터와 상기 제2 이동벡터의 크기를 각각 A1, A2, 방향을 나타내는 각도값을 각각 B1, B2라 할 때, 다음 수학식 을 만족하는지 판단하는 단계일 수 있다(α는 크기 오차범위, β는 각도 오차범위를 나타냄).
본 발명은 천장영역 인식기반 SLAM 알고리즘을 구현할 때 내부구조물의 라인을 벽면과 천장영역 사이의 경계라인과 구분하여 이를 제거할 수 있는 장점이 있다.
또한, 본 발명은 천장영역 인식기반 SLAM 알고리즘에서 천장 경계라인의 오류를 제거함으로써 이동 로봇이나 무인 차량의 효과적인 자율주행 기능을 제공할 수 있다.
도 1은 천장영역 영상에서 벽면에 의한 경계라인과 내부구조물에 의한 경계라인의 차이를 보여주는 모식도.
도 2는 내부구조물에 의한 특징점의 이동 형태를 보여주는 모식도 및 예시를 위한 사진.
도 3은 본 발명의 실시예에 따른 천장영역 인식기반 SLAM 알고리즘 구현을 위한 내부구조물 라인 제거 방법을 나타내는 흐름도.
도 4는 도 3의 S32 단계의 세부 단계를 나타내는 흐름도.
도 5 내지 도 11은 도 3 및 도 4에 도시된 내부구조물 라인 제거 방법을 각 단계별로 보여주는 예시도.
도 2는 내부구조물에 의한 특징점의 이동 형태를 보여주는 모식도 및 예시를 위한 사진.
도 3은 본 발명의 실시예에 따른 천장영역 인식기반 SLAM 알고리즘 구현을 위한 내부구조물 라인 제거 방법을 나타내는 흐름도.
도 4는 도 3의 S32 단계의 세부 단계를 나타내는 흐름도.
도 5 내지 도 11은 도 3 및 도 4에 도시된 내부구조물 라인 제거 방법을 각 단계별로 보여주는 예시도.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 보다 상세하게 설명하고자 한다. 다만, 실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 잘 알려져 있고 본 발명과 직접 관련이 없는 사항에 대해서는 본 발명의 핵심을 흐리지 않고 명확히 전달하기 위해 설명을 생략할 수 있다.
이동 로봇이 단일 카메라로 천장영역 영상을 수집하고 영상으로부터 천장의 경계라인을 추출할 때, 벽면과 천장영역 사이의 경계라인이 아닌 내부구조물의 라인을 천장의 경계라인으로 잘못 인식하는 경우가 있다. 본 발명은 천장영역 인식기반 SLAM 알고리즘을 구현할 때, 다음과 같은 원리로 내부구조물의 라인을 벽면에 의한 천장 경계라인과 구분할 수 있다.
도 1은 천장영역 영상에서 벽면에 의한 경계라인과 내부구조물에 의한 경계라인의 차이를 보여주는 모식도이다.
도 1에서 상단 2개의 도면(1-a, 1-c)은 제1 위치에서의 천장영역 영상에 해당하고, 하단 2개의 도면(1-b, 1-d)은 제1 위치로부터 일정 거리 이동한 후 제2 위치에서의 천장영역 영상에 해당한다. 또한, 좌측 2개의 도면(1-a, 1-b)은 벽면에 의한 경계라인을 포함하는 경우이고, 우측 2개의 도면(1-c, 1-d)은 내부구조물에 의한 경계라인을 포함하는 경우이다.
도면부호 10번은 천장영역, 11번은 벽면, 12번은 내부구조물(예를 들어 파티션, 책상, 냉장고 등), 13번은 천장구조물(예를 들어 전등, 환풍기 등)이다. 또한, 14a번은 벽면에 의한 경계라인, 14b번은 내부구조물에 의한 경계라인을 각각 가리킨다.
로봇이 제1 위치에서 천장을 촬영하여 얻어진 천장영역 영상은 벽면 경계라인(14a)을 포함한 경우(도면 1-a)나 내부구조물 경계라인(14b)을 포함한 경우(도면 1-b)나 서로 구분이 되지 않는다. 그런데 제2 위치로 이동한 후 촬영한 천장영역 영상을 비교해 보면, 벽면 경계라인(14a)을 포함한 경우(도면 1-c)에는 경계라인(14a)과 천장구조물(13)이 동일한 크기로 이동되어 있는데 반하여, 내부구조물 경계라인(14b)을 포함한 경우(도면 1-d)에는 경계라인(14b)과 천장구조물(13)의 이동 크기가 서로 다르다. 이는 로봇에 장착된 카메라로부터 촬영대상까지의 거리 차이에 기인한다.
다시 정리하면, 서로 다른 지점에서 촬영된 천장영역 영상에서 경계라인(14a)이 이동한 거리가 천장 구조물(13)이 이동한 거리와 같으면 그 경계라인(14a)은 벽면(11)에 의한 경계라인으로 볼 수 있고, 경계라인(14b)이 이동한 거리가 천장 구조물(13)이 이동한 거리와 다르면 그 경계라인(14b)은 내부구조물(12)에 의한 경계라인으로 볼 수 있을 것이다.
이러한 인식을 바탕으로, 본 발명은 천장영역 인식기반 SLAM 알고리즘 구현을 위한 천장 경계라인 구분 방법 및 이를 토대로 한 내부구조물 라인 제거 방법을 제시한다. 이하, 이에 대하여 구체적으로 설명한다.
먼저, 도 2에 대하여 설명한다. 도 2는 내부구조물에 의한 특징점의 이동 형태를 보여주는 모식도 및 예시를 위한 사진이다.
도 2에서 좌측 2개의 도면(2-a, 2-b)은 제1 위치 및 제2 위치에서 각각 촬영된 천장영역 영상의 모식도이다. 도면부호 15번은 특징점을 나타낸다. 두 도면(2-a, 2-b)에서 천장구조물(13)의 특징점(15)이 이동한 형태를 보면, 특징점(15)은 서로 다른 방향으로 이동하고 있음을 알 수 있다. 즉, 특징점의 이동 분석은 이동거리 뿐만 아니라 카메라의 회전 정도를 계산하는 카메라 캘리브레이션(camera calibration)의 문제와 관련된다.
한편, 도 2의 좌측 도면(2-a, 2-b)에서 경계라인(14b)의 특징점(15)이 이동한 크기는 천장구조물(13)의 특징점(15)이 이동한 크기보다 크다. 전술한 원리에 따르면, 이 경우의 경계라인은 내부구조물(12)에 의한 경계라인(14b)임을 알 수 있다.
도 2에서 우측 2개의 도면(2-c, 2-d)은 제1 위치 및 제2 위치에서 각각 실제로 촬영된 천장영역 영상의 예시 화면이다.
이하, 도 3 내지 도 5를 참조하여 설명한다. 도 3은 본 발명의 실시예에 따른 천장영역 인식기반 SLAM 알고리즘 구현을 위한 내부구조물 라인 제거 방법을 나타내는 흐름도이고, 도 4는 도 3의 S32 단계의 세부 단계를 나타내는 흐름도이다. 그리고 도 5 내지 도 11는 도 3 및 도 4에 도시된 내부구조물 라인 제거 방법을 각 단계별로 보여주는 예시도이다.
도 3의 (a) 단계: 먼저, 이동 로봇은 천장영역 영상을 수집한다. 이러한 영상의 예가 도 5에 나타나 있다. 이 영상을 제1 위치에서 수집한 제1 천장영역(1)이라 지칭한다. 제1 천장영역 영상(1)은 천장영역(10), 내부구조물(12), 천장구조물(13), 경계라인(14)을 포함한다. 다만, 이 단계에서는 아직 내부구조물(12)을 벽면과 구분하지 못한다. 따라서 경계라인(14)이 벽면 경계라인인지 내부구조물 경계라인인지 모르는 상태이다.
도 3의 (b) 단계: 이어서, 제1 천장영역 영상(1)으로부터 경계라인, 천장영역 특징점, 경계라인 특징점을 추출한다. 이 단계는 다음과 같이 도 4에 도시된 세부 단계들로 수행될 수 있다.
도 4의 (b-1) 단계: 먼저, 제1 천장영역 영상(1)에 대하여 천장영역(10)을 분리한다. 천장영역(10)을 분리한 예가 도 6에 나타나 있다. 천장영역(10)의 분리는 다음과 같이 수행할 수 있다. 먼저, 제1 천장영역 영상(1)에서 로봇의 중심 좌표를 얻는다. 이때, 카메라가 로봇의 중앙에 장착되어 있다면 제1 천장영역 영상(1)의 중심점이 로봇의 중심 좌표가 된다. 하지만 카메라가 로봇의 중앙에 없다면 아래의 수학식 1을 이용하여 로봇의 중심 좌표를 구할 수 있다.
여기서, h는 영상에서의 로봇 중심 좌표벡터(영상좌표), f는 초점거리, d는 카메라 렌즈로부터 천장까지의 거리, H는 실제 카메라로부터 로봇 중심까지의 벡터(거리좌표)이다.
이어서, 제1 천장영역 영상(1)에 대하여 공지의 패턴 분할(pattern segmentation)을 수행하고, 앞서 구한 로봇의 중심 좌표가 포함된 영역을 천장영역(10)으로 추출한다.
도 4의 (b-2) 단계: 이어서, 분리된 천장영역(10)을 기반으로 영상을 맵핑한다. 맵핑된 영상(1-1)의 예가 도 7에 나타나 있다. 도 7에서 알 수 있듯이, 이 단계에서의 영상 맵핑이란, 제1 천장영역 영상(1)에서 천장영역(10)에 해당하는 부분을 제외한 나머지 부분(16)의 이미지를 제거하여 영상을 재구성하는 것이다. 이와 같이 천장영역(10)을 분리한 뒤 천장영역(10)만 포함된 맵핑 영상(1-1)을 획득하는 이유는 이후의 단계에서 특징점(도 8의 15)을 추출할 때 천장영역(10)이 아닌 다른 영역(16)에서의 특징점 추출을 배제하기 위한 것이다.
도 4의 (b-3) 단계: 다음으로, 맵핑된 영상(1-1)의 천장영역(10)에서 특징점(15)을 추출한다. 특징점 추출의 예가 도 8에 나타나 있다. 이때 특징점 추출은 천장영역(10)의 내부와 경계를 포함하여 이루어진다. 앞서 천장영역(10)을 분리하면서 배제된 영역(16)에서는 특징점이 추출되지 않는다. 특징점(15) 추출은 다양한 공지 기술을 이용할 수 있으며, 일례로 SIFT(Scale Invariant Feature Transform) 알고리즘을 이용한다.
도 4의 (b-4) 단계: 이어서, 맵핑된 영상(1-1)에서 경계라인(14)을 추출한다. 경계라인(14) 추출의 예가 도 9에 나타나 있다. 경계라인(14) 추출은 영상에서 선형특징을 추출하는 다양한 공지 기술을 이용할 수 있다. 일례로 허프 트랜스폼 라인추출(Hugh Transform Line Extraction) 기법을 이용한다.
도 4의 (b-5) 단계: 다음으로, 특징점(15) 중에서 경계라인(14) 위에 존재하는 특징점을 경계라인 특징점(15b)이라고 등록한다. 이렇게 함으로써 천장영역 특징점(15a)과 경계라인 특징점(15b)을 서로 구분할 수 있다.
도 3의 (c) 단계: 이와 같이 제1 위치의 제1 천장영역 영상(1)으로부터 경계라인(14), 천장영역 특징점(15a), 경계라인 특징점(15b)을 추출한 후에, 이동 로봇은 다른 위치(제2 위치)로 이동하고 전술한 (a) 단계와 (b) 단계를 반복하여 수행한다. 즉, 제2 위치에서 제2 천장영역 영상(2)을 수집하고 제2 천장영역 영상(2)으로부터 천장영역(20)을 분리하고 영상을 맵핑(2-1)한 후 경계라인(24), 천장영역 특징점(25a), 경계라인 특징점(25b)을 추출한다. 도 10는 제2 천장영역 영상(2)의 예를 보여주고 있고 , 도 11는 맵핑된 영상(2-1)에서 추출된 경계라인(24), 천장영역 특징점(25a), 경계라인 특징점(25b)을 보여주고 있다.
도 3의 (d) 단계: 이상과 같이 제1 천장영역 영상(1)의 맵핑 영상(1-1)으로부터 제1 경계라인(14), 제1 천장영역 특징점(15a), 제1 경계라인 특징점(15b)을 추출하고, 제2 천장영역 영상(2)의 맵핑 영상(2-1)으로부터 제2 경계라인(24), 제2 천장영역 특징점(25a), 제2 경계라인 특징점(25b)을 추출하고 나면, 도 11에 도시된 바와 같이, 천장영역 특징점(15a, 25a)의 이동을 나타내는 제1 이동벡터(31)와 경계라인 특징점(15b, 25b)의 이동을 나타내는 제2 이동벡터(32)를 각각 구한다.
도 3의 (e) 단계: 그리고 제1 이동벡터(31)와 제2 이동벡터(32)를 서로 비교하여 두 이동벡터(31, 32)가 동일한지 상이한지 판단한다. 이 단계는 여러 가지 실시예가 가능하다. 예를 들어, 제1 이동벡터(31)와 제2 이동벡터(32)의 크기와 방향이 모두 일치할 때 동일하다고 판단할 수 있고, 방향은 상관없이 크기가 일치할 때 동일하다고 판단할 수 있다. 또한, 뒤에서 다시 설명하는 바와 같이, 제2 이동벡터(32)의 크기(또는 크기와 방향)가 제1 이동벡터(31)의 소정의 크기 범위(또는 크기 범위 및 방향 범위)에 속할 때 동일하다고 판단할 수 있다.
또한, 천장영역 특징점(15a, 25a)은 대개 여러 개가 추출되므로, (e) 단계에서 비교하는 제1 이동벡터(31)는 천장영역 특징점들에 대한 평균 이동벡터를 구하여 적용할 수 있다. 그리고 이때 비교되는 제2 이동벡터(32)가 두 개 이상 존재할 경우 제1 이동벡터(31)들의 평균 이동벡터와 각각의 제2 이동벡터(32)를 차례로 반복 비교할 수 있다.
도 3의 (f) 단계: (e) 단계의 비교 결과 제1 이동벡터(31)와 제2 이동벡터(32)가 상이할 경우, 경계라인 특징점(15b, 25b)을 포함하는 경계라인(14, 24)을 내부구조물에 의한 경계라인(도 1의 14b)으로 판단한다. 그리고 이후 수행되는 천장영역 인식기반 SLAM 알고리즘에서 내부구조물 경계라인은 제거하여 반영하지 않는다. 도 11의 경우, 제1 이동벡터(31)와 제2 이동벡터(32)가 상이하므로 경계라인 특징점(15b, 25b)을 포함하는 경계라인(14, 24)을 내부구조물에 의한 경계라인으로 판단한다.
도 3의 (g) 단계: 한편, (e) 단계의 비교 결과 제1 이동벡터(31)와 제2 이동벡터(32)가 동일하면, 경계라인 특징점(15b, 25b)을 포함하는 경계라인(14, 24)을 벽면에 의한 경계라인(도 1의 14a)으로 판단한다.
앞서 설명한 (e) 단계에서 제1 이동벡터(31)와 제2 이동벡터(32)를 서로 비교하는 실시예들 중 두 가지 경우에 대하여 설명한다.
먼저, 한 가지 실시예의 경우, 제1 이동벡터(31)와 제2 이동벡터(32)의 크기를 각각 A1, A2라 할 때, 전술한 (e) 단계에서는 다음의 수학식 2를 만족하는지 판단할 수 있다.
여기서, α는 크기 오차범위를 나타내며 실험에 의해 결정될 수 있는 값이다.
또한, 다른 실시예의 경우, 제1 이동벡터(31)와 제2 이동벡터(32)의 크기를 각각 A1, A2, 방향을 나타내는 각도값을 각각 B1, B2라 할 때, 전술한 (e) 단계에서는 다음의 수학식 3을 만족하는지 판단할 수 있다.
여기서, α는 크기 오차범위, β는 각도 오차범위를 나타내며, 각각 실험에 의해 결정될 수 있다.
이상 설명한 바와 같이, 본 발명은 천장영역 인식기반 SLAM 알고리즘을 구현할 때 내부구조물의 라인을 벽면과 천장영역 사이의 경계라인과 구분하여 이를 제거할 수 있으며, 천장영역 인식기반 SLAM 알고리즘에서 천장 경계라인의 오류를 제거함으로써 이동 로봇이나 무인 차량의 효과적인 자율주행 기능을 제공할 수 있다.
본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명이 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
1, 2: 천장영역 영상 1-1, 2-1: 맵핑 영상
10, 20: 천장영역 11: 벽면
12, 22: 내부구조물 13: 천장구조물
14, 24: 경계라인 14a: 벽면에 의한 경계라인
14b: 내부구조물에 의한 경계라인 15: 특징점
15a, 25a: 천장영역 특징점 15b, 25b: 경계라인 특징점
31: 제1 이동벡터 32: 제2 이동벡터
10, 20: 천장영역 11: 벽면
12, 22: 내부구조물 13: 천장구조물
14, 24: 경계라인 14a: 벽면에 의한 경계라인
14b: 내부구조물에 의한 경계라인 15: 특징점
15a, 25a: 천장영역 특징점 15b, 25b: 경계라인 특징점
31: 제1 이동벡터 32: 제2 이동벡터
Claims (14)
- 천장영역 인식기반 SLAM 알고리즘 구현 방법에 있어서,
(a) 이동 로봇이 천장영역 영상을 수집하는 단계;
(b) 상기 천장영역 영상으로부터 경계라인과 천장영역 특징점과 경계라인 특징점을 추출하는 단계;
(c) 상기 이동 로봇이 위치 이동 후 상기 (a) 단계와 상기 (b) 단계를 반복하여 수행하는 단계;
(d) 상기 천장영역 특징점의 이동을 나타내는 제1 이동벡터 및 상기 경계라인 특징점의 이동을 나타내는 제2 이동벡터를 각각 구하는 단계;
(e) 제2 이동벡터의 크기가 제1 이동벡터의 소정의 크기 범위에 속하는지를 판단하여 상기 제1 이동벡터와 상기 제2 이동벡터가 동일한지를 비교하는 단계;
(f) 상기 (e) 단계의 비교 결과 상기 제2 이동벡터의 크기가 상기 제1 이동벡터의 소정의 크기 범위에 속하지 않아 상기 제2 이동벡터가 상기 제1 이동벡터와 상이할 경우 상기 경계라인을 내부구조물에 의한 경계라인으로 판단하여 제거하는 단계
를 포함하는 천장영역 인식기반 SLAM 알고리즘 구현을 위한 내부구조물 라인 제거 방법. - 청구항 1에 있어서,
상기 (b) 단계는,
(b-1) 상기 천장영역 영상에 대하여 천장영역을 분리하는 단계;
(b-2) 상기 분리된 천장영역을 기반으로 영상을 맵핑하는 단계;
(b-3) 상기 맵핑된 영상의 천장영역에서 특징점을 추출하는 단계;
(b-4) 상기 맵핑된 영상에서 상기 경계라인을 추출하는 단계;
(b-5) 상기 특징점 중에서 상기 경계라인 위에 존재하는 특징점을 상기 경계라인 특징점으로 등록함으로써 상기 천장영역 특징점과 상기 경계라인 특징점을 구분하는 단계
를 포함하는 것을 특징으로 하는 천장영역 인식기반 SLAM 알고리즘 구현을 위한 내부구조물 라인 제거 방법. - 청구항 2에 있어서,
상기 (b-1) 단계는 상기 천장영역 영상에서 로봇 중심 좌표를 구한 후 상기 천장영역 영상에 대하여 패턴 분할을 수행하고 상기 로봇 중심 좌표가 포함된 영역을 천장영역으로 추출하는 단계인 것을 특징으로 하는 천장영역 인식기반 SLAM 알고리즘 구현을 위한 내부구조물 라인 제거 방법. - 청구항 1에 있어서,
상기 (d) 단계는 상기 천장영역 특징점이 여러 개인 경우 각각의 제1 이동벡터를 구한 후 상기 제1 이동벡터들의 평균 이동벡터를 구하는 단계인 것을 특징으로 하는 천장영역 인식기반 SLAM 알고리즘 구현을 위한 내부구조물 라인 제거 방법. - 청구항 4에 있어서,
상기 (e) 단계는 상기 경계라인 특징점이 여러 개인 경우 상기 제1 이동벡터들의 평균 이동벡터와 각각의 상기 제2 이동벡터를 차례로 비교하는 단계인 것을 특징으로 하는 천장영역 인식기반 SLAM 알고리즘 구현을 위한 내부구조물 라인 제거 방법. - 천장영역 인식기반 SLAM 알고리즘 구현 방법에 있어서,
(ㄱ) 제1 실내 위치에서 제1 천장영역 영상을 수집하는 단계;
(ㄴ) 상기 제1 천장영역 영상으로부터 제1 경계라인과 제1 천장영역 특징점과 제1 경계라인 특징점을 추출하는 단계;
(ㄷ) 상기 제1 실내 위치와 다른 제2 실내 위치에서 제2 천장영역 영상을 수집하는 단계;
(ㄹ) 상기 제2 천장영역 영상으로부터 제2 경계라인과 제2 천장영역 특징점과 제2 경계라인 특징점을 추출하는 단계;
(ㅁ) 상기 제1 천장영역 특징점과 상기 제2 천장영역 특징점으로부터 제1 이동벡터를 구하고, 상기 제1 경계라인 특징점과 상기 제2 경계라인 특징점으로부터 제2 이동벡터를 구하는 단계;
(ㅂ) 제2 이동벡터의 크기가 제1 이동벡터의 소정의 크기 범위에 속하는지를 판단하여 상기 제1 이동벡터와 상기 제2 이동벡터가 동일한지를 비교하는 단계;
(ㅅ) 상기 제2 이동벡터의 크기가 상기 제1 이동벡터의 소정의 크기 범위에 속하여 상기 제1 이동벡터와 상기 제2 이동벡터가 동일하면 상기 제1 경계라인과 상기 제2 경계라인을 벽면에 의한 경계라인으로 판단하고, 상기 제2 이동벡터의 크기가 상기 제1 이동벡터의 소정의 크기 범위에 속하지 않아 상기 제1 이동벡터와 상기 제2 이동벡터가 동일하지 않으면 상기 제1 경계라인과 상기 제2 경계라인을 내부구조물에 의한 경계라인으로 판단하는 단계
를 포함하는 천장영역 인식기반 SLAM 알고리즘 구현을 위한 천장 경계라인 구분 방법. - 청구항 8에 있어서,
상기 (ㄴ) 단계와 상기 (ㄹ) 단계는 각각,
상기 천장영역 영상에 대하여 천장영역을 분리하는 단계;
상기 분리된 천장영역을 기반으로 영상을 맵핑하는 단계;
상기 맵핑된 영상의 천장영역에서 특징점을 추출하는 단계;
상기 맵핑된 영상에서 상기 경계라인을 추출하는 단계;
상기 특징점 중에서 상기 경계라인 위에 존재하는 특징점을 상기 경계라인 특징점으로 등록함으로써 상기 천장영역 특징점과 상기 경계라인 특징점을 구분하는 단계
를 포함하는 것을 특징으로 하는 천장영역 인식기반 SLAM 알고리즘 구현을 위한 천장 경계라인 구분 방법. - 청구항 9에 있어서,
상기 천장영역의 분리 단계는 상기 천장영역 영상에서 로봇 중심 좌표를 구한 후 상기 천장영역 영상에 대하여 패턴 분할을 수행하고 상기 로봇 중심 좌표가 포함된 영역을 천장영역으로 추출하는 단계인 것을 특징으로 하는 천장영역 인식기반 SLAM 알고리즘 구현을 위한 천장 경계라인 구분 방법. - 청구항 8에 있어서,
상기 (ㅁ) 단계는 상기 제1 천장영역 특징점과 상기 제2 천장영역 특징점이 여러 개인 경우 각각의 제1 이동벡터를 구한 후 상기 제1 이동벡터들의 평균 이동벡터를 구하는 단계인 것을 특징으로 하는 천장영역 인식기반 SLAM 알고리즘 구현을 위한 천장 경계라인 구분 방법. - 청구항 11에 있어서,
상기 (ㅂ) 단계는 상기 제1 경계라인 특징점과 상기 제2 경계라인 특징점이 여러 개인 경우 상기 제1 이동벡터들의 평균 이동벡터와 각각의 상기 제2 이동벡터를 차례로 비교하는 단계인 것을 특징으로 하는 천장영역 인식기반 SLAM 알고리즘 구현을 위한 천장 경계라인 구분 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100135765A KR101175922B1 (ko) | 2010-12-27 | 2010-12-27 | 천장영역 인식기반 slam 알고리즘 구현을 위한 내부구조물 라인 제거 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100135765A KR101175922B1 (ko) | 2010-12-27 | 2010-12-27 | 천장영역 인식기반 slam 알고리즘 구현을 위한 내부구조물 라인 제거 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120073864A KR20120073864A (ko) | 2012-07-05 |
KR101175922B1 true KR101175922B1 (ko) | 2012-08-23 |
Family
ID=46708147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100135765A KR101175922B1 (ko) | 2010-12-27 | 2010-12-27 | 천장영역 인식기반 slam 알고리즘 구현을 위한 내부구조물 라인 제거 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101175922B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240015464A (ko) | 2022-07-27 | 2024-02-05 | 국방과학연구소 | 소실점을 이용한 특징선 기반 slam 시스템 |
KR20240083956A (ko) | 2022-12-05 | 2024-06-13 | 한국과학기술원 | 로봇의 상태 추정 장치 및 방법 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110490085B (zh) * | 2019-07-24 | 2022-03-11 | 西北工业大学 | 点线特征视觉slam***的快速位姿估计算法 |
-
2010
- 2010-12-27 KR KR1020100135765A patent/KR101175922B1/ko active IP Right Grant
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240015464A (ko) | 2022-07-27 | 2024-02-05 | 국방과학연구소 | 소실점을 이용한 특징선 기반 slam 시스템 |
KR20240083956A (ko) | 2022-12-05 | 2024-06-13 | 한국과학기술원 | 로봇의 상태 추정 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20120073864A (ko) | 2012-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110807350B (zh) | 用于面向扫描匹配的视觉slam的***和方法 | |
KR101782057B1 (ko) | 지도 생성 장치 및 방법 | |
KR101538775B1 (ko) | 전방 영상을 이용한 위치 인식 장치 및 방법 | |
CN101271333B (zh) | 移动机器人的定位方法 | |
EP3343431A1 (en) | Method and system for vehicle localization from camera image | |
JP6343670B2 (ja) | 自律移動装置及び自己位置推定方法 | |
KR101072876B1 (ko) | 이동 로봇에서 자신의 위치를 추정하기 위한 방법 및 장치 | |
EP2887315B1 (en) | Camera calibration device, method for implementing calibration, program and camera for movable body | |
US20130108108A1 (en) | Information Processing Apparatus, Information Processing Method, and Computer Program | |
US20110205338A1 (en) | Apparatus for estimating position of mobile robot and method thereof | |
KR101380628B1 (ko) | 복수의 카메라를 사용한 객체 추적 방법 및 장치 | |
EP2166375B1 (en) | System and method of extracting plane features | |
CN109035207B (zh) | 密度自适应的激光点云特征检测方法 | |
KR101753097B1 (ko) | 차량검출방법, 차량검출을 위한 데이터베이스의 구조, 및 차량검출을 위한 데이터베이스 구축방법 | |
KR101438377B1 (ko) | 이동체의 위치 판단 장치 및 위치 판단 방법 | |
WO2020258297A1 (zh) | 图像语义分割方法、可移动平台及存储介质 | |
JP2010033447A (ja) | 画像処理装置および画像処理方法 | |
KR101167627B1 (ko) | 이동 로봇의 위치 및 지도의 이중 보정 장치 및 방법 | |
KR101175922B1 (ko) | 천장영역 인식기반 slam 알고리즘 구현을 위한 내부구조물 라인 제거 방법 | |
JP2004012429A (ja) | 自己位置/姿勢同定装置、及び自己位置/姿勢同定方法 | |
Thomas et al. | Delio: Decoupled lidar odometry | |
CN114187418A (zh) | 回环检测方法、点云地图构建方法、电子设备及存储介质 | |
KR101167099B1 (ko) | 비전기반의 소실점을 이용한 자율 주행로봇의 구조적 랜드마크 인식 방법 | |
CN115239902A (zh) | 移动设备的周边地图建立方法、装置、设备及存储介质 | |
Emaduddin et al. | Accurate floor detection and segmentation for indoor navigation using RGB+ D and stereo cameras |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20150626 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160816 Year of fee payment: 5 |