KR101489216B1 - 직선을 기반으로 장소를 인식하는 방법 및 장치 - Google Patents

직선을 기반으로 장소를 인식하는 방법 및 장치 Download PDF

Info

Publication number
KR101489216B1
KR101489216B1 KR20130125392A KR20130125392A KR101489216B1 KR 101489216 B1 KR101489216 B1 KR 101489216B1 KR 20130125392 A KR20130125392 A KR 20130125392A KR 20130125392 A KR20130125392 A KR 20130125392A KR 101489216 B1 KR101489216 B1 KR 101489216B1
Authority
KR
South Korea
Prior art keywords
straight line
image
linear
deriving
database
Prior art date
Application number
KR20130125392A
Other languages
English (en)
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 KR20130125392A priority Critical patent/KR101489216B1/ko
Application granted granted Critical
Publication of KR101489216B1 publication Critical patent/KR101489216B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/469Contour-based spatial representations, e.g. vector-coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

직선을 기반으로 장소를 인식하는 방법 및 장치 것으로서, 장소인식을 위한 영상을 입력받고, 영상에 포함된 윤곽선 픽셀을 이용하여 복수 개의 제 1 직선성분을 검출하며, 제 1 직선성분들 간의 거리 및 각도를 순차적으로 비교하여 병합함으로써, 복수 개의 제 2 직선성분을 검출하고, 윤곽선 픽셀의 밝기 변화를 고려하여 상기 제 2 직선성분에 대한 직선특징을 나타내는 디스크립터 벡터를 각각 도출하며, 디스크립터 벡터를 영상의 특징정보를 저장하도록 구조화된 노드에 맵핑하여 입력된 영상에 대한 직선영상을 출력한다.

Description

직선을 기반으로 장소를 인식하는 방법 및 장치{Apparatus and method for recognizing a place based on a straight line}
본 발명은 직선을 기반으로 장소를 인식하는 방법에 관한 것으로, 특히 카메라를 이용하여 획득한 영상에서 장소를 특징 하는 직선정보를 추출하여 현재 장소를 판별할 수 있는 방법에 관한 것이다.
요즘 대부분의 슬램(SLAM: Simultaneous Localization and Mapping) 기법들은 랜드마크(Landmark)로서 주로 SIFT(Scale Invariant Feature Transform)나 SURF(Speeded Up Robust Features), Fast corner detector와 같은 알고리즘을 통해 추출한 점 정보를 사용한다.
반면, 건물이나 가정의 실내와 같은 경우에는 점 정보뿐만 아니라 직선 성분 역시 환경을 표현하는 훌륭한 특징으로서 오히려 점 정보에 비해 상대적으로 적은 수로 훨씬 더 넓은 공간을 표현할 수 있는 장점이 있다. 하지만, 직선 성분은 일반적인 슬램 기법에 적용하기 위해서는 점 정보와 마찬가지로 연속되는 각 이미지 상에서 안정적으로 직선성분을 추출하고 추적하며 대응관계를 구하는 과정이 필요하다.
한편, 이하에서 인용되는 선행기술 문헌에는 로봇의 위치 검출방법을 소개하고, 제어부가 로봇을 이동시키면서 카메라가 촬영하는 현재 영상을 입력하여 특징점을 추출하고, 추출한 특징점과 카메라가 이전에 촬영한 영상에서 추출한 특징점을 비교하여 로봇의 위치를 검출하는 방법을 제시하고 있다. 하지만, 상기 특징점을 기반으로 위치를 검출하는 방법은 영상에 대한 밝기 값의 그래디언트 히스토그램으로 특징을 기술함으로써 조명변화에 취약하고, 한 영상에서 보통 수백 개의 특징점을 검출하여 해당 장소를 표현하기 위한 정보로 사용함으로써 계산비용이 높으며, 사람이 붐비는 장소를 촬영할 경우 사람 신체로부터 다수의 특징점이 검출되어 상대적으로 장소를 특징짓는 특징점의 비중이 낮아져 성공적으로 장소를 인식하는데 방해가 되는 치명적인 단점이 존재한다.
이와 같은 관점에서, 영상정보만을 이용하여 장소인식을 함에 있어서, 직선을 이용함으로써, 조명변화에 강인하고 계산비용이 낮으며 장소를 인식하는데 탁월한 효과가 있는 기술적 수단이 필요하다는 사실을 알 수 있다.
KR 10-2008-0104574 (로봇의 위치 검출방법, 전자부품연구원) 2008.10.24
따라서, 본 발명이 해결하고자 하는 첫 번째 과제는 영상을 입력받아 직선성분들을 검출하여 직선 특징을 나타내는 디스크립터 벡터를 도출하여 재구성함으로써, 조명변화에 강인하고 연산량이 적으며 장소를 효율적으로 인식할 수 있는 직선을 기반으로 장소를 인식하는 방법을 제공하는 것이다.
따라서, 본 발명이 해결하고자 하는 두 번째 과제는 영상을 입력받아 직선성분들을 검출하여 직선 특징을 나타내는 디스크립터 벡터를 도출하여 재구성함으로써, 조명변화에 강인하고 연산량이 적으며 장소를 효율적으로 인식할 수 있는 직선기반 장소인식 장치를 제공하는 것이다.
본 발명은 상기 첫 번째 과제를 달성하기 위하여, 장소인식을 위한 영상을 입력받는 단계; 상기 영상에 포함된 윤곽선 픽셀(edge pixel)을 이용하여 복수 개의 제 1 직선성분을 검출하며, 상기 제 1 직선성분들 간의 거리 및 각도를 순차적으로 비교하여 병합함으로써, 복수 개의 제 2 직선성분을 검출하는 단계; 상기 윤곽선 픽셀의 밝기 변화를 고려하여 상기 제 2 직선성분에 대한 직선특징을 나타내는 디스크립터 벡터(descriptor vector)를 각각 도출하는 단계; 및 상기 디스크립터 벡터를 상기 영상의 특징정보를 저장하도록 구조화된 노드(node)에 맵핑(mapping)하여 상기 입력된 영상에 대한 직선영상을 출력하는 단계를 포함하는 직선을 기반으로 장소를 인식하는 방법을 제공한다.
본 발명의 일 실시예에 의하면, 상기 직선영상을 출력하는 단계는, 출력된 직선영상을 데이터베이스(database)에 저장된 직선영상과 비교하며, 상기 비교결과 상기 출력된 직선영상이 상기 데이터베이스에 저장된 직선영상이 아닐 경우, 상기 출력된 직선영상을 상기 데이터베이스에 저장하는 단계를 더 포함하는 직선을 기반으로 장소를 인식하는 방법일 수 있다.
또한, 상기 데이터베이스는, 상기 입력받은 영상의 직선특징을 나타내는 디스크립터 벡터를 어휘 트리(vocabulary tree) 구조의 최하위 노드에 맵핑하여 상기 최하위 노드에 인덱스(index)를 부여하고, 상기 디스크립터 벡터에 가중치를 부여하며, 상기 가중치를 이용하여 상기 인덱스가 대응되도록 구축하는 것을 특징으로 하는 직선을 기반으로 장소를 인식하는 방법일 수 있다.
본 발명의 다른 실시예에 의하면, 상기 출력된 직선영상을 데이터베이스에 저장된 직선영상과 비교하는 것은, 상기 데이터베이스에서 상기 출력된 직선영상을 찾을 수 있도록 검색 대상의 빈도수(frequency)를 고려하고, 상기 검색 대상을 담고 있는 노드들 사이의 격차를 보정하여 상기 검색 대상에 점수를 부여함으로써, 상기 저장된 직선영상을 찾을 수 있는 것을 특징으로 하는 직선을 기반으로 장소를 인식하는 방법일 수 있다.
본 발명의 또 다른 실시예에 의하면, 제 2 직선성분을 검출하는 단계는, 상기 입력받은 영상을 윤곽선 픽셀과 비윤곽선 픽셀(non-edge pixel)로 구분하여 검출하는 단계; 상기 검출된 윤곽선 픽셀들이 동일직선상에 위치하는지를 나타내는 동일직선성을 고려하여 소정의 길이만큼 상기 윤곽선 픽셀들을 각각 연결함으로써, 복수 개의 제 1 직선성분을 도출하는 단계; 및 상기 도출된 제 1 직선성분들을 순차적으로 제 1 직선성분들 간의 거리와 각도를 비교하여 각각 병합함으로써, 복수 개의 제 2 직선성분을 도출하는 단계를 포함하는 직선을 기반으로 장소를 인식하는 방법일 수 있다.
본 발명의 또 다른 실시예에 의하면, 상기 입력된 영상으로부터 상기 검출된 윤곽선 픽셀을 검색하며, 상기 윤곽선 픽셀이 검색될 경우 8방향 검색으로 인접한 또 다른 윤곽선 픽셀을 검색하는 것을 특징으로 하는 직선을 기반으로 장소를 인식하는 방법일 수 있다.
본 발명의 또 다른 실시예에 의하면, 상기 디스크립터 벡터를 각각 도출하는 단계는, 상기 제 2 직선성분을 형성하는 일렬로 나열된 상기 윤곽선 픽셀들에 대하여 수직방향으로 각각 하위지역을 설정하는 단계; 상기 윤곽선 픽셀들에 대한 각각의 하위지역에서 방향에 따라 밝기 변화 값을 도출하는 단계; 및 상기 하위지역들에서 방향에 따라 도출된 밝기 변화 값에 대한 평균값 및 표준편차 값을 도출함으로써, 상기 제 2 직선성분에 대한 직선특징을 나타내는 디스크립터 벡터를 각각 도출하는 단계를 포함하는 직선을 기반으로 장소를 인식하는 방법일 수 있다.
본 발명의 또 다른 실시예에 의하면, 상기 제 2 직선성분에 대하여 인접한 상기 윤곽선 픽셀의 밝기 변화가 가장 큰 수직방향을 설정하고, 상기 수직방향에서 90도 시계방향 또는 90도 반 시계방향으로 회전하여 수평방향을 설정함으로써, 상기 하위지역의 방향을 설정하는 것을 특징으로 하는 직선을 기반으로 장소를 인식하는 방법일 수 있다.
본 발명의 상기 두 번째 과제를 달성하기 위하여, 장소인식을 위한 영상을 입력받는 입력부; 상기 영상에 포함된 윤곽선 픽셀을 이용하여 복수 개의 제 1 직선성분을 검출하고, 상기 제 1 직선성분들 간의 거리 및 각도를 순차적으로 비교하여 복수 개의 제 2 직선성분을 검출하며, 상기 윤곽선 픽셀의 밝기 변화를 고려하여 상기 제 2 직선성분에 대한 직선특징을 나타내는 디스크립터 벡터를 각각 도출함으로써, 상기 디스크립터 벡터를 상기 영상의 특징정보를 저장하도록 구조화된 노드에 맵핑하여 인덱스를 부여하는 처리부; 및 상기 인덱스의 집합으로 상기 입력된 영상에 대한 직선영상을 출력하는 출력부를 포함하되, 상기 처리부는 상기 출력부로부터 출력된 직선영상을 데이터베이스에 저장된 직선영상과 비교하며, 상기 비교결과 상기 출력된 직선영상이 상기 데이터베이스에 저장된 직선영상이 아닐 경우, 상기 출력된 직선영상을 상기 데이터베이스에 저장하는 것을 특징으로 하는 직선기반 장소인식 장치를 제공한다.
본 발명의 일 실시예에 의하면, 상기 처리부는, 상기 입력받은 영상을 윤곽선 픽셀과 비윤곽선 픽셀로 구분하여 검출하고, 상기 검출된 윤곽선 픽셀들이 동일직선상에 위치하는지를 나타내는 동일직선성을 고려하여 소정의 길이만큼 상기 윤곽선 픽셀들을 각각 연결함으로써, 복수 개의 제 1 직선성분을 도출하며, 상기 도출된 제 1 직선성분들을 순차적으로 제 1 직선성분들 간의 거리와 각도를 비교하여 각각 병합함으로써, 복수 개의 제 2 직선성분을 도출하는 것을 특징으로 직선기반 장소인식 장치일 수 있다.
또한, 상기 처리부는, 상기 제 2 직선성분을 형성하는 일렬로 나열된 상기 윤곽선 픽셀들에 대하여 수직방향으로 각각 하위지역을 설정하고, 상기 윤곽선 픽셀들에 대한 각각의 하위지역에서 방향에 따라 밝기 변화 값을 도출하며, 상기 하위지역들에서 방향에 따라 도출된 밝기 변화 값에 대한 평균값 및 표준편차 값을 도출함으로써, 상기 제 2 직선성분에 대한 직선특징을 나타내는 디스크립터 벡터를 각각 도출하되, 상기 제 2 직선성분에 대하여 인접한 상기 윤곽선 픽셀의 밝기 변화가 가장 큰 수직방향을 설정하고, 상기 수직방향에서 90도 시계방향 또는 90도 반 시계방향으로 회전하여 수평방향을 설정함으로써, 상기 하위지역의 방향을 설정하는 것을 특징으로 하는 직선기반 장소인식 장치일 수 있다.
본 발명에 따르면, 입력받은 영상에서 직선성분을 검출하여 사용함으로써, 수십 개의 직선만으로 장소를 특징적으로 표현할 수 있다.
또한, 검출된 직선성분의 특징을 기술하기 위하여 밝기변화 값에 대한 통계적 계산을 수행하고 정보를 재구성함으로써, 조명변화에 강인하게 대처하여 장소를 인식할 수 있는 효과가 있다.
나아가, 출력된 직선영상을 데이터베이스에 저장된 직선영상과 비교하며, 상기 비교결과 상기 출력된 직선영상이 상기 데이터베이스에 저장된 직선영상이 아닐 경우, 상기 출력된 직선영상을 상기 데이터베이스에 저장함으로써, 효율적으로 데이터베이스를 갱신하는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 직선을 기반으로 장소를 인식하는 방법을 도시한 흐름도이다.
도 2는 본 발명의 다른 실시예에 따른 제 2 직선성분을 도출하는 방법을 도시한 흐름도이다.
도 3은 본 발명의 다른 실시예에 따른 디스크립터 벡터를 도출하는 방법을 도시한 흐름도이다.
도 4는 본 발명의 다른 실시예에 따른 제 2 직선성분에 따라 설정되는 하위지역을 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 직선기반 장소인식 장치를 도시한 블록도이다.
도 6a는 본 발명의 다른 실시예에 따른 종래의 특징점 기반으로 장소를 인식하는 방법과 본 발명의 직선기반으로 장소를 인식하는 방법을 비교하여 도시한 도면이다.
도 6b는 본 발명의 다른 실시예에 따른 종래의 특징점 기반으로 장소를 인식하는 방법과 본 발명의 직선기반으로 장소를 인식하는 방법을 비교 후 수치화하여 표로 도시한 도면이다.
본 발명의 실시예들을 설명하기에 앞서, 기존의 특징점 기반의 장소인식 방법에서 발생하는 문제점들을 검토한 후, 이들 문제점을 해결하기 위해 본 발명의 실시예들이 채택하고 있는 기술적 수단을 개괄적으로 소개하도록 한다.
기존의 특징점 기반의 장소인식 기술은 입력받은 영상에서 텍스쳐(texture)가 풍부한 부분에 집중적으로 키포인트(keypoint)를 검출하고, 상기 키포인트로 검출된 부분에서의 밝기 값의 그래디언트(pixel intensity gradient) 히스토그램(histogram)으로 특징을 기술함으로써 조명변화에 취약한 점을 보이며, 한 영상에서 보통 수백 개의 특징점을 검출하여 상기 영상에서의 장소를 표현하기 위한 정보로 사용함으로써, 계산비용이 높은 치명적인 단점이 존재한다. 또한, 사람이 붐비는 지역에서 촬영할 경우 사람 신체로부터 다수의 특징점이 검출되어 상대적으로 장소를 특징짓는 특징점의 비중이 낮아져 성공적으로 장소를 인식하는데 방해가 되는 장점 또한 존재한다.
따라서, 본 발명의 실시예들은 입력된 영상으로부터 장소를 인식함에 있어서, 특징점 기반의 방법 대신 직선성분을 도출하여 사용함으로써, 연산의 효율을 높이고, 조명변화에 강인하게 대처할 수 있으며, 사람이 붐비는 지역에서도 장소를 인식하는데 탁월한 효과가 있는 기술적 수단을 제안하고 한다.
이하에서는 도면을 참조하여 본 발명의 실시예들을 구체적으로 설명하도록 한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
도 1은 본 발명의 일 실시예에 따른 직선을 기반으로 장소를 인식하는 방법을 도시한 흐름도로서, 장소인식을 위한 영상을 입력받고, 상기 영상에 포함된 윤곽선 픽셀(edge pixel)을 이용하여 복수 개의 제 1 직선성분을 검출하며, 상기 제 1 직선성분들 간의 거리 및 각도를 순차적으로 비교하여 병합함으로써, 복수 개의 제 2 직선성분을 검출하고, 상기 윤곽선 픽셀의 밝기 변화를 고려하여 상기 제 2 직선성분에 대한 직선특징을 나타내는 디스크립터 벡터(descriptor vector)를 각각 도출하며, 상기 디스크립터 벡터를 상기 영상의 특징정보를 저장하도록 구조화된 노드(node)에 맵핑(mapping)하여 상기 입력된 영상에 대한 직선영상을 출력한다.
보다 구체적으로, S110 단계에서, 장소인식을 위한 영상을 입력받는다. 즉, 카메라를 통해 촬영된 영상을 실시간으로 입력받을 수 있고, 또한, 별도의 입력장치로 영상만을 입력받아 장소인식에 사용할 수도 있다.
S120 단계에서, 상기 영상에 포함된 윤곽선 픽셀을 이용하여 복수 개의 제 1 직선성분을 검출하며, 상기 제 1 직선성분들 간의 거리 및 각도를 순차적으로 비교하여 병합함으로써, 복수 개의 제 2 직선성분을 검출한다. S120 단계는 이하에서 도 2를 통해 구체적으로 설명하도록 한다.
도 2는 본 발명의 다른 실시예에 따른 제 2 직선성분을 도출하는 방법을 도시한 흐름도로서, 상기 입력받은 영상을 윤곽선 픽셀과 비윤곽선 픽셀(non-edge pixel)로 구분하여 검출하고, 상기 검출된 윤곽선 픽셀들이 동일직선상에 위치하는지를 나타내는 동일직선성을 고려하여 소정의 길이만큼 상기 윤곽선 픽셀들을 각각 연결함으로써, 복수 개의 제 1 직선성분을 도출하며, 상기 도출된 제 1 직선성분들을 순차적으로 제 1 직선성분들 간의 거리와 각도를 비교하여 각각 병합함으로써, 복수 개의 제 2 직선성분을 도출하는 단계를 포함하는 직선을 기반으로 장소를 인식한다.
보다 구체적으로, S210 단계에서, 상기 입력받은 영상을 윤곽선 픽셀과 비윤곽선 픽셀(non-edge pixel)로 구분하여 검출할 수 있다. 즉, 도 1의 S110 단계에서 영상을 입력받아 입력된 영상의 모든 픽셀을 윤곽선 픽셀과 비윤곽선 픽셀로 구분할 수 있다. 여기서, 상기 윤곽선 픽셀과 비윤곽선 픽셀은 케니에지검출기(Canny edge detector)를 통해 검출할 수 있다.
S220 단계에서, 상기 검출된 윤곽선 픽셀들이 동일직선상에 위치하는지를 나타내는 동일직선성을 고려하여 소정의 길이만큼 상기 윤곽선 픽셀들을 각각 연결함으로써, 복수 개의 제 1 직선성분을 도출할 수 있다.
보다 구체적으로, 상기 입력된 영상으로부터 상기 검출된 윤곽선 픽셀을 검색할 수 있다. 즉, 상기 입력받은 영상에서 한 점을 기준으로 시작하여 일정방향으로 진행하며 S210 단계에서 검출한 상기 윤곽선 픽셀을 검색할 수 있다. 이후, 첫 번째 윤곽선 픽셀이 검색될 경우, 8방향 검색을 통해 상기 첫 번째 윤곽선 픽셀과 바로 인접한 두 번째 윤곽선 픽셀을 검색하고, 상기 첫 번째 윤곽선 픽셀과 인접한 상기 두 번째 윤곽선 픽셀을 연결할 수 있다. 이후, 상기 연결된 두 번째 윤곽선 픽셀에서 8방향 검색을 통해 인접한 세 번째 윤곽선 픽셀을 검색하고, 상기 연결된 첫 번째 윤곽선 픽셀과 두 번째 윤곽선 픽셀과의 동직선성(co-linearity)를 만족할 경우 상기 첫 번째 윤곽선 픽셀, 상기 두 번째 윤곽선 픽셀, 및 상기 세 번째 윤곽선 픽셀에 대하여 직선적합(line fitting)을 수행하여 제 1 직선성분을 도출할 수 있다. 여기서, 상기 동직선성은 기존의 복수 개의 점 및 기존의 직선이 새로운 점 및 새로운 직선과 동일직선상에 존재하는 경우의 정도를 나타낼 수 있으며, 본 발명에서는 S220 단계에서 검색된 새로운 윤곽선 픽셀이 기존에 연결된 윤곽선 픽셀과의 거리를 연산하여 설정된 거리 내에 포함될 경우 상기 새로운 윤곽선 픽셀은 기존의 연결된 윤곽선 픽셀과 연결할 수 있다. 상기의 거리는 상황에 따라 사용자가 임의로 설정할 수 있다. 또한, 상기 직선적합은 복수 개의 점이 존재할 경우 상기 복수 개의 점을 가장 잘 표현할 수 있는 하나의 직선을 추출하는 것이다.
이제, 검색된 또 다른 윤곽선 픽셀이 상기 동직선성을 위배하기 전까지 S220 단계를 반복하여 수행할 수 있으며, 상기 검색된 또 다른 윤곽선 픽셀이 상기 동직선성을 위배할 경우 S220 단계를 통해 연결되어 도출된 제 1 직선성분의 길이가 설정된 길이를 초과하면, 상기 설정된 길이를 초과한 제 1 직선성분은 반환하여 이후 사용을 위해서 시스템메모리에 저장할 수 있다. 여기서, 상기 설정된 제 1 직선성분의 길이는 상황에 따라 사용자가 임의로 설정할 수 있다. 이후, S220 단계를 통해 제 1 직선성분을 검출하고, 상기 제 1 직선성분의 길이를 고려하여 상기 시스템메모리에 반환하는 과정을 수행함으로써, 상기 입력된 영상 내의 모든 윤곽선 픽셀이 소진될 때까지 S220 단계와 상기 반환과정을 수행할 수 있다.
S230 단계에서, 도출된 제 1 직선성분들을 순차적으로 제 1 직선성분들 간의 거리와 각도를 비교하여 각각 병합함으로써, 복수 개의 제 2 직선성분을 도출할 수 있다.
보다 구체적으로, S220 단계를 통해 복수 개의 제 2 직선성분을 도출하고, 하나의 제 2 직선성분에 대하여 인접한 또 다른 제 2 직선성분의 병합을 위하여 서로 간의 거리와 각도차이를 비교하여 미리 설정된 상기 거리와 각도차이에 대한 임계치에 포함될 경우 상기 비교한 제 2 직선성분들을 병합할 수 있다. 이후, S220 단계에서 도출된 제 2 직선성분들을 S230 단계를 통해 상기 거리 및 각도차이를 비교하여 상기 임계치에 포함될 경우 병합을 지속하는 방법으로 증강적인 제 2 직선성분 병합과정을 수행할 수 있다. 여기서, 상기 거리 및 각도차이에 대한 임계치는 사용자가 상황에 따라 임의로 설정할 수 있다.
이제 다시 도 1로 돌아가 S120 단계에 이후를 설명하도록 한다.
S130 단계에서, 상기 윤곽선 픽셀의 밝기 변화를 고려하여 상기 제 2 직선성분에 대한 직선특징을 나타내는 디스크립터 벡터(descriptor vector)를 각각 도출한다. S130 단계는 이하에서 도 3을 통해 구체적으로 설명하도록 한다.
도 3은 본 발명의 다른 실시예에 따른 디스크립터 벡터를 도출하는 방법을 도시한 흐름도로서, 상기 디스크립터 벡터를 각각 도출하는 단계는, 상기 제 2 직선성분을 형성하는 일렬로 나열된 상기 윤곽선 픽셀들에 대하여 수직방향으로 각각 하위지역을 설정하고, 상기 윤곽선 픽셀들에 대한 각각의 하위지역에서 방향에 따라 밝기 변화 값을 도출하며, 상기 하위지역들에서 방향에 따라 도출된 밝기 변화 값에 대한 평균값 및 표준편차 값을 도출함으로써, 상기 제 2 직선성분에 대한 직선특징을 나타내는 디스크립터 벡터를 각각 도출할 수 있다.
S310 단계에서, 상기 제 2 직선성분을 형성하는 일렬로 나열된 상기 윤곽선 픽셀들에 대하여 수직방향으로 각각 하위지역을 설정할 수 있다. 상기 하위지역은 이하에서 도 4를 통해 구체적으로 설명하도록 한다.
도 4는 본 발명의 다른 실시예에 따른 제 2 직선성분에 따라 설정되는 하위지역을 도시한 도면이다.
보다 구체적으로, 하나의 제 2 직선성분에 위, 아래 수직한 2 개의 방향 중 인접한 픽셀의 밝기 변화가 더 큰 방향을 수직방향(42)으로 설정하고, 수직방향(42)에서 90도 시계방향 또는 반 시계방향으로 회전하여 수평방향(41)을 설정할 수 있다. 이후, 상기 제 2 직선성분을 형성하는 상기 윤곽선 픽셀들이 수평방향(41)의 일렬로 나열되어 있다고 가정하면, 상기 제 2 직선성분을 형성하는 상기 윤곽선 픽셀들은 각각 가로 및 세로가 동일한 크기의 하위지역(sub-region)(43)을 설정할 수 있다. 따라서, 상기 제 2 직선성분을 형성하는 상기 윤곽선 픽셀의 개수가 N 개이고, 상기 윤곽선 픽셀들이 각각 M 개의 하위지역(43)을 포함할 때, 상기 제 2 직선성분에 대한 총 하위지역(43)의 개수는 다음과 같이 표현할 수 있다.
Figure 112013094927863-pat00001
이제 다시 도 3으로 돌아가 S310 단계 이후를 설명하도록 한다.
S320 단계에서, 상기 윤곽선 픽셀들에 대한 각각의 하위지역에서 방향에 따라 밝기 변화 값을 도출할 수 있다.
보다 구체적으로, 상기 제 2 직선성분을 형성하는 상기 윤곽선 픽셀들이 포함하는 각각의 하위지역에서 수직방향과 상기 수직방향의 반대방향, 수평방향과 상기 수평방향의 반대방향인 4방향에 대한 밝기 변화 값을 도출할 수 있다.
S330 단계에서, 상기 하위지역들에서 방향에 따라 도출된 밝기 변화 값에 대한 평균값 및 표준편차 값을 도출함으로써, 상기 제 2 직선성분에 대한 직선특징을 나타내는 디스크립터 벡터를 각각 도출할 수 있다. 여기서, 상기 디스크립터 벡터는 영상에서 추출한 각 특징을 기술하는 벡터일 수 있다.
보다 구체적으로, 상기 제 2 직선성분을 형성하는 상기 윤곽선 픽셀들이 수평방향으로 나열되어, 상기 윤곽선 픽셀들이 포함하는 하위지역들의 밝기 변화 값의 평균 및 밝기 변화 값의 표준편차를 구함으로써, 상기 디스크립터 벡터를 도출할 수 있다. 상기 하위지역의 밝기 변화 값은 다음과 같이 표현할 수 있다.
Figure 112013094927863-pat00002
여기서,
Figure 112013094927863-pat00003
Figure 112013094927863-pat00004
번째 하위지역의 그래디언트 히스토그램을 나타내는 4차원의 열벡터로서
Figure 112013094927863-pat00005
는 순차적으로 각각 수평방향, 상기 수평방향의 반대방향, 수직방향, 및 상기 수직방향의 반대방향의 밝기 변화 값을 나타낼 수 있다.
또한, GDM(L)은 하나의 직선성분 L에 대하여 수평방향으로 N개, 수직방향으로 M개 분포하는 하위지역에서 수학식2를 이용하여 도출한 그래디언트 히스토그램 값들을 가지는 행렬이고, 상기 행렬은 다시
Figure 112013094927863-pat00006
의 열벡터 (column vector)의 형태로 표현할 수 있으며, 각 열벡터
Figure 112013094927863-pat00007
는 4M 차원으로서
Figure 112013094927863-pat00008
라고 할 때, 상기 그래디언트 히스토그램 값들을 가지는 행렬은 다음과 같이 표현할 수 있다.
Figure 112013094927863-pat00009
이제, 하나의 직선성분 L을 특징하는 디스크립터 벡터는 다음과 같이 표현할 수 있다.
Figure 112013094927863-pat00010
여기서, 수학식3을 통하여 계산한 GDM(L)을 수평방향으로 평균 M(GDM(L))과 표준편차 S(GDM(L))를 도출하여 각각을 그 크기인 ||M(GDM(L))||와 ||S(GDM(L))||로 나누어 줌으로써, 정규화(normalization)하여 구한 열벡터로서
Figure 112013094927863-pat00011
의 차원을 가질 수 있다. 또한, M(GDM(L))과 S(GDM(L))은 수학식3의
Figure 112013094927863-pat00012
를 이용하여 다음과 같이 표현할 수 있다.
Figure 112013094927863-pat00013
여기서, 상기 하위지역의 방향에 따른 밝기 값의 평균 및 표준편차가 4차원이고, 상기 제 2 직선성분을 형성하는 윤곽선 픽셀이 각각 M 개의 하위지역을 포함할 때, 하나의 제 2 직선성분의 디스크립터 벡터에 대한 차원은 다음과 같이 표현할 수 있다.
Figure 112013094927863-pat00014
이제, S310 단계 내지 S330 단계를 반복 수행함으로써, 상기 입력된 영상내에 존재하는 모든 제 2 직선성분에 대한 디스크립터 벡터를 도출할 수 있다.
이제 다시 도 1로 돌아가 S130 단계 이후를 설명하도록 한다.
S140 단계에서, 상기 디스크립터 벡터를 상기 영상의 특징정보를 저장하도록 구조화된 노드(node)에 맵핑(mapping)하여 상기 입력된 영상에 대한 직선영상을 출력한다.
보다 구체적으로, S130 단계를 통해 도출된 디스크립터 벡터에 계층적 케이민즈 클러스터링(Hierarchical k-means clustering)을 이용하여 수학식 5를 통해 도출한 차원의 개수만큼 상기 디스크립터 벡터의 특징공간을 양자화(quantization)하는 어휘 트리(Vocabulary Tree)를 구축할 수 있다.
여기서, 상기 계층적 케이민즈 클러스터링은 벡터 데이터 집합을 k개의 소그룹으로 분류하는 대표적인 클러스터링 방식으로, 임의로 k개의 평균값을 정한 후, 많은 수의 반복(Iteration)을 통해 비슷한 데이터끼리 묶어 k개의 소그룹으로 나누는 알고리즘일 수 있다.
또한, 상기 어휘 트리는 깊이 지도의 일종으로, 대량의 이미지를 저장하기 위해 계속해서 트리의 노드가 담고 있는 정보를 업데이트하는 방식의 구조일 수 있다. 상기 어휘 트리 구조에서 사용하는 노드(Node)란 트리구조에서 데이터가 존재하는 공간을 의미할 수 있다. 상기 노드는 루트 노드, 리프 노드, 중간 노드 등으로 나뉠 수 있는데, 루트 노드(Root Node)란 노드의 가장 상위 노드이고, 리프 노드(Leaf Node)란 제일 마지막에 존재하는 노드이며, 중간 노드란 노드의 페이지 분할로 형성되는 노드일 수 있다. 또한, 상기 깊이 지도(Depth Map)는 0~255의 정수 사이의 값, 즉 이미지상의 밝기 정보를 이용하여 3차원 공간상의 깊이 정보를 표시한 2D 이미지를 지칭할 수 있다.
이후, 상기 디스크립터 벡터를 상기 어휘 트리의 구조를 이용하여 최하위 노드 중 하나로 맵핑할 수 있으며, 상기 맵핑된 최하위 노드에 인덱스를 부여함으로써, 상기 입력된 영상에 대한 직선영상을 상기 최하위 노드의 인덱스들의 집합으로 표현하여 출력할 수 있다. 여기서, 상기 디스크립터 벡터는 상기 입력된 영상에 존재하는 모든 제 2 직선성분으로부터 도출된 디스크립터 벡터일 수 있다.
한편, S140 단계에서, 출력된 직선영상을 데이터베이스(database)에 저장된 직선영상과 비교하며, 상기 비교결과 상기 출력된 직선영상이 상기 데이터베이스에 저장된 직선영상이 아닐 경우, 상기 출력된 직선영상을 상기 데이터베이스에 저장할 수 있다.
여기서, 상기 데이터베이스는 상기 입력받은 영상의 직선특징을 나타내는 디스크립터 벡터를 어휘 트리 구조의 최하위 노드에 맵핑하여 상기 최하위 노드에 인덱스를 부여하고, 상기 디스크립터 벡터에 가중치를 부여하며, 상기 인덱스와 상기 가중치가 대응되도록 구축할 수 있다. 즉, 상기 데이터베이스를 구축하는 과정에서는 상기 입력된 영상에서 추출한 디스크립터 벡터를 상기 어휘 트리 구조를 이용하여 대응되는 최하위 노드를 찾아 영상의 인덱스와 해당 디스크립터 벡터의 가중치(weight)를 리스트업(list-up) 하는 인버티드파일즈메커니즘(inverted files mechanism)을 활용하여 상기 데이터베이스를 구축할 수 있다. 여기서, 상기 인버티드파일즈메커니즘은 예를 들어 1, 2, 3 이라는 문서 안에 각각 {a,b,c}, {d,e,f}, {g,h,i}가 있을 경우 상기 인버티드파일즈메커니즘을 통해 a->1, b->1, c->1, d->2, e->2, f->2, g->3, h->3, i->3 식으로 표현할 수 있다.
또한, 상기 출력된 직선영상을 데이터베이스에 저장된 직선영상과 비교하는 것은, 상기 데이터베이스에서 상기 출력된 직선영상을 찾을 수 있도록 검색 대상의 빈도수(frequency)를 고려하고, 상기 검색 대상을 담고 있는 노드들 사이의 격차를 보정하여 상기 검색 대상에 점수를 부여함으로써, 상기 저장된 직선영상을 찾을 수 있다. 다시 말해, 직선영상의 비교를 위해 상기 직선영상을 데이터베이스에 질의(query) 하는 과정에서는 상기 제 2 직선성분으로부터 추출한 디스크립터 벡터를 상기 어휘 트리 구조를 이용하여 대응되는 최하위 노드를 찾고 상기 최하위 노드에 리스트업되어 있는 데이터베이스 영상에 점수를 부여하는 방법으로 상기 데이터베이스에서 상기 출력된 직선영상을 질의하여 데이터베이스에서 상기 출력된 직선영상과 가장 가까운 영상을 찾을 수 있다.
여기서, 질의 영상이 장소인식을 위하여 입력된 영상이고, 상기 질의 영상에서 추출한 디스크립터 벡터가 어휘 트리 구조를 통하여 양자화하였을 때 최하위 노드 인덱스의 개수를
Figure 112013094927863-pat00015
라 하고, 해당 양자화된 질의 벡터를
Figure 112013094927863-pat00016
로 정의하고, 대응되는 양자화된 데이터베이스 벡터 즉, 상기 최하위 노드에 리스트업되어 있는 디스크립터 벡터의 가중치)를
Figure 112013094927863-pat00017
라 정의하고, '질의 영상에서의 최하위 노드
Figure 112013094927863-pat00018
인덱스를 가지는 디스크립터 벡터의 총 개수'를 '질의 영상에서의 디스크립터 벡터의 총 개수'로 나눗셈한 값을
Figure 112013094927863-pat00019
라 하고, '질의 영상과 대응되는 데이터베이스 영상에서의 최하위 노드
Figure 112013094927863-pat00020
인덱스를 가지는 디스크립터 벡터의 총 개수'를 '질의 영상과 대응되는 데이터베이스 영상에서의 디스크립터의 총 개수'로 나눗셈한 값을
Figure 112013094927863-pat00021
라 하고, '데이터베이스에 저장된 영상의 총 개수'를 '최하위 노드 인덱스
Figure 112013094927863-pat00022
를 가지는 디스크립터 벡터를 가진 데이터베이스 영상의 총 개수'로 나눗셈한 값에 자연로그 또는 상용로그를 취한 값을
Figure 112013094927863-pat00023
로 정의하며, 상기 질의 영상에서 추출한 모든 디스크립터 벡터에 대하여 상기 데이터베이스에 저장되어 있는
Figure 112013094927863-pat00024
영상의 점수인
Figure 112013094927863-pat00025
는 다음과 같이 표현할 수 있다.
Figure 112013094927863-pat00026
또한, 상기 입력된 영상이 상기 데이터베이스에 존재하는 영상인지 아닌지를 자동으로 판별하여 존재할 경우 매칭 결과를 반환하고 새로운 영상일 경우 데이터베이스에 저장하도록 다음과 같이 표현할 수 있다.
Figure 112013094927863-pat00027
여기서,
Figure 112013094927863-pat00028
는 구하고자 하는 사후확률(posterior probability)로서 시간 0에서 t까지의 관측
Figure 112013094927863-pat00029
가 주어졌을 때, 현재시간 t에서의 장소인식 가설(place recognition hypothesis)
Figure 112013094927863-pat00030
의 조건부 확률일 수 있다. 즉, 시스템이 시작하여 현재까지 영상이 주어졌을 때 현재 질의되는 영상은 데이터베이스의 어느 영상과 가장 가까운지를 계산하는 방법일 수 있다. 또한, 수학식 7의
Figure 112013094927863-pat00031
는 우도(likelihood)로서 현재의 장소인식 상태
Figure 112013094927863-pat00032
에 따라 현재의 관측
Figure 112013094927863-pat00033
dml 확률을 나타낼 수 있고,
Figure 112013094927863-pat00034
는 전이확률(transition probability)로서 이전시간 t-1에서 현재시간 t로의 상태의 전이를 나타내는 확률모델일 수 있고,
Figure 112013094927863-pat00035
는 이전시간 t-1에서 관측
Figure 112013094927863-pat00036
이 주어졌을 때, 이전 시간에서의 장소인식이
Figure 112013094927863-pat00037
번째 데이터베이스 영상과 일어났을 사후확률일 수 있으며,
Figure 112013094927863-pat00038
을 전체 확률의 합이 1이 되도록 하는 상수일 수 있다.
따라서, 수학시 8은 시스템 시작부터 현재까지의 관측
Figure 112013094927863-pat00039
가 주어졌을 때, 현재의 질의영상에 대한 각 데이터베이스 내에 존재하는 영상
Figure 112013094927863-pat00040
의 매칭 확률이고,
Figure 112013094927863-pat00041
은 현재시간에 장소인식이 일어나지 않은 경우를 나타내고, 상기 장소인식의 결과로 주어질 사후확률은 이전시간에서의 사후확률
Figure 112013094927863-pat00042
에 전이확률모델
Figure 112013094927863-pat00043
로 현재시간으로 확률을 전파하고 여기에 현재에 주어진 관측치
Figure 112013094927863-pat00044
를 반영함으로써 도출할 수 있다. 여기에서 우도는 다음과 같이 표현할 수 있다.
Figure 112013094927863-pat00045
여기서,
Figure 112013094927863-pat00046
는 전체의 합이 1이 되도록 하는 상수이고,
Figure 112013094927863-pat00047
Figure 112013094927863-pat00048
번째 데이터베이스 영상의 점수이고,
Figure 112013094927863-pat00049
는 전체 점수의 표준편차이고,
Figure 112013094927863-pat00050
는 전체 점수의 평균일 수 있다.
또한, 상기 전이확률모델은 이전시간 t-1에서 장소인식이 일어나지 않았을 경우 현재시간 t에서 역시 장소인식이 일어나지 않을 확률을 0.9로 정의할 경우 다음과 같이 표현할 수 있다.
Figure 112013094927863-pat00051
또한, 상기 전이확률모델은 이전시간에 장소인식이 일어나지 않았을 경우 현재시간에서 장소인식이
Figure 112013094927863-pat00052
번째 데이터베이스 영상과 일어날 확률은 0.1의 확률을 장소인식에 고려하는 데이터베이스 영상의 수로 나눈 값으로 정의할 때 다음과 같이 표현할 수 있다.
Figure 112013094927863-pat00053
즉, 이전시간에 장소인식이 일어나지 않았을 경우 현재시간에서 어떤 데이터베이스 영상과 장소인식이 일어날 확률은 모든 고려되는 데이터베이스 영상이 균일하게 나눠 가질 수 있다.
또한, 상기 전이확률모델은 이전시간에 장소인식이
Figure 112013094927863-pat00054
번째 데이터베이스 영상과 일어났을 경우, 현재시간에 장소인식이
Figure 112013094927863-pat00055
번째 데이터베이스 영상과 일어날 확률을 정의할 때 다음과 같이 표현할 수 있다.
Figure 112013094927863-pat00056
여기서,
Figure 112013094927863-pat00057
는 영평균가우시간(zero-mean Gaussian)의 거리
Figure 112013094927863-pat00058
에서의 값으로 가우시안의 표준편차는 시스템의 이동속도와 카메라의 프레임레이트(frame rate)에 따라 적절히 지정될 수 있으며,
Figure 112013094927863-pat00059
는 두 데이터베이스 영상 간의 유사도(appearance similarity)를 계산하는 함수로서 다음과 같이 표현할 수 있다.
Figure 112013094927863-pat00060
여기서,
Figure 112013094927863-pat00061
는 '데이터베이스 영상
Figure 112013094927863-pat00062
에서
Figure 112013094927863-pat00063
인덱스를 가지는 디스크립터 벡터의 총 개수'를 '데이터베이스 영상
Figure 112013094927863-pat00064
내에 존재하는 디스크립터 벡터의 총 개수'를 나눗셈한 값일 수 있다.
한편,
Figure 112013094927863-pat00065
은 현재시간 t에서 장소인식이 일어나지 않았을 경우를 나타내는데 이를 위하여 본 발명에서는 매 시간마다 어휘 트리의 최하위 노드에 데이터베이스 영상으로부터 추출되어 양자화되고 저장된 디스크립터 벡터인 특징벡터의 빈도수를 평가하며, 그 중 가장 빈도 수가 높은 M개의 특징벡터에 대하여 해당 벡터가 저장되어 있는 최하위 노드에 인덱스번호 -1를 리스트업 함으로써, 시스템이 새로운 장소를 방문할 경우 지금까지 가장 높은 빈도로 관측되어온 특징이 관측될 확률이 높을 것이라는 가정 아래 -1 영상이 가장 높은 점수를 받을 수 있도록 유도할 수 있다. 여기서, 상기 M개의 특징벡터는 현재까지 매 영상마다 관측되는 디스크립터 벡터의 평균 개수일 수 있다.
도 5는 본 발명의 일 실시예에 따른 직선기반 장소인식 장치를 도시한 블록도로서, 직선기반 장소인식 장치(70)는 앞서 기술한 도 1의 각 과정에 대응하는 구성을 포함한다. 따라서, 여기서는 설명의 중복을 피하기 위해 하드웨어 장치를 중심으로 그 기능을 약술하도록 한다.
입력부(61)는 장소인식을 위한 영상을 입력받는다.
처리부(62)는 상기 영상에 포함된 윤곽선 픽셀을 이용하여 복수 개의 제 1 직선성분을 검출하고, 상기 제 1 직선성분들 간의 거리 및 각도를 순차적으로 비교하여 복수 개의 제 2 직선성분을 검출하며, 상기 윤곽선 픽셀의 밝기 변화를 고려하여 상기 제 2 직선성분에 대한 직선특징을 나타내는 디스크립터 벡터를 각각 도출함으로써, 상기 디스크립터 벡터를 상기 영상의 특징정보를 저장하도록 구조화된 노드에 맵핑하여 인덱스를 부여한다.
출력부(63)는 상기 인덱스의 집합으로 상기 입력된 영상에 대한 직선영상을 출력한다.
또한, 처리부(62)는 상기 출력부로부터 출력된 직선영상을 데이터베이스(64)에 저장된 직선영상과 비교하며, 상기 비교결과 상기 출력된 직선영상이 상기 데이터베이스(64)에 저장된 직선영상이 아닐 경우, 상기 출력된 직선영상을 상기 데이터베이스(64)에 저장한다.
또한, 처리부(62)는, 입력받은 영상을 윤곽선 픽셀과 비윤곽선 픽셀로 구분하여 검출하고, 상기 검출된 윤곽선 픽셀들이 동일직선상에 위치하는지를 나타내는 동일직선성을 고려하여 소정의 길이만큼 상기 윤곽선 픽셀들을 각각 연결함으로써, 복수 개의 제 1 직선성분을 도출하며, 상기 도출된 제 1 직선성분들을 순차적으로 제 1 직선성분들 간의 거리와 각도를 비교하여 각각 병합함으로써, 복수 개의 제 2 직선성분을 도출한다.
또한, 처리부(62)는, 상기 제 2 직선성분을 형성하는 일렬로 나열된 상기 윤곽선 픽셀들에 대하여 수직방향으로 각각 하위지역을 설정하고, 상기 윤곽선 픽셀들에 대한 각각의 하위지역에서 방향에 따라 밝기 변화 값을 도출하며, 상기 하위지역들에서 방향에 따라 도출된 밝기 변화 값에 대한 평균값 및 표준편차 값을 도출함으로써, 상기 제 2 직선성분에 대한 직선특징을 나타내는 디스크립터 벡터를 각각 도출하되, 상기 제 2 직선성분에 대하여 인접한 상기 윤곽선 픽셀의 밝기 변화가 가장 큰 수직방향을 설정하고, 상기 수직방향에서 90도 시계방향 또는 90도 반 시계방향으로 회전하여 수평방향을 설정함으로써, 상기 하위지역의 방향을 설정한다.
도 6a는 본 발명의 다른 실시예에 따른 종래의 특징점 기반으로 장소를 인식하는 방법과 본 발명의 직선기반으로 장소를 인식하는 방법을 비교하여 도시한 도면이다.
상기 직선기반으로 장소를 인식하는 방법에서는 제 1 직선성분을 도출함에 있어서, 동일직선성을 판단하기 위한 윤곽선 픽셀 간의 거리는 1.5 픽셀이고, 직선적합으로 리스트스퀘어라인피팅(least square line fitting)을 사용하였으며, 제 1 직선성분 반환을 위한 길이는 20 픽셀이다. 또한, 제 1 직선성분 병합을 위한 거리는 20 픽셀이고 각도차이는 3도로 지정하며, 어휘 트리의 최하위 노드는 64000개로 영상을 표현하는데 사용하였다.
도 6a의 실험 비교결과를 보면, 조명변화가 있는 영상을 입력받아 장소인식을 할 경우 본 발명의 직선기반 장소인식 방법(51)은 종래의 특징점 기반 장소인식 방법인 SIFT(52)와 SURF(53) 비교하여 더 높은 정확도로 장소인식 결과를 얻을 수 있음을 볼 수 있다. 도 6a의 각 그래프의 가로축은 데이터베이스에 저장된 영상의 인덱스를 나타내고 세로축은 질의영상의 인덱스를 나타내며 그래프내의 각 점은 질의영상에 대하여 데이터베이스영상이 부여받은 점수에 따라 해당 점수가 클수록 진하게 표현되어 그래프에 표시 되었다. 본 실험을 위하여 사용된 데이터베이스 영상과 질의영상은 같은 구간을 같은 속도로 이동하며 획득하였으므로 대응되는 영상이 같은 인덱스를 가지도록 할 수 있다. 따라서, 그래프에 표시된 각 점이 그래프의 대각선에 위치할수록 장소인식 결과가 좋은 것으로 판단할 수 있다.
도 6a의 직선기반 장소인식 방법인 MSLD(51), SIFT(52), 및 SURF(53)은 같은 데이터베이스 영상과 질의영상을 이용하여 각각 본 발명이 제안하는 직선을 특징으로 사용하여 장소를 인식하는 방법(51)과 기존의 특징점인 SIFT(52)와 SURF(53)를 사용하여 장소를 인식하는 방법을 이용하여 구한 결과를 나타낼 수 있고, 왼쪽 그래프는 데이터베이스영상으로 밤에 촬영한 영상을 사용하여 질의영상으로 비오는 날 낮에 촬영한 영상을 사용함으로써, 장소를 인식한 결과를 나타내며, 오른쪽 그래프는 데이터베이스영상으로 밤에 촬영한 영상을 사용하여 질의영상으로 맑은날 낮에 촬영한 영상을 사용함으로써, 장소를 인식한 결과를 나타낼 수 있다.
따라서, 도 6a의 각 그래프를 통하여 본 발명이 제안하는 직선을 특징으로 하여 장소를 인식하는 방법(51)이 기존의 특징점을 이용하여 장소를 인식하는 방법인 SIFT(52) 및 SURF(53)와 비교하여 우수한 장소인식 결과를 나타냄을 알 수 있으며, 도 6a에 대한 정량적인 결과는 이하에서 도 6b를 통하여 알 수 있다.
도 6b는 본 발명의 다른 실시예에 따른 종래의 특징점 기반으로 장소를 인식하는 방법과 본 발명의 직선기반으로 장소를 인식하는 방법을 비교 후 수치화하여 표로 도시한 도면이다.
보다 구체적으로, 데이터베이스영상으로 스테레오 카메라로부터 촬영한 영상의 왼쪽 영상을 사용하고 질의영상으로 오른쪽 영상을 사용하여 실험한 stereo 섹션과, 데이터베이스영상으로 밤에 촬영한 영상을 사용하고 질의영상으로 비오는 날 낮에 촬영한 영상을 사용한 illumination change 1 섹션, 그리고 데이터베이스영상으로 밤에 촬영한 영상을 사용하고 질의영상으로 맑은 날 낮에 촬영한 영상을 사용한 illumination change 2 섹션으로 나뉜다. 각 섹션의 # success return은 성공적으로 장소인식이 된 질의의 개수이고 % success 는 # success의 전체질의 개수에 대한 퍼센티지(percentage)를 나타내며 # feature는 해당 실험에 사용된 전체 특징벡터의 개수를 나타낼 수 있다.
따라서, 도 6b에서 살펴볼 수 있듯이, 본 발명이 제안하는 직선을 특징으로 하여 장소를 인식하는 방법(51)이 기존의 특징점 기반의 장소인식 방법인 SIFT(52) 및 SURF(53)와 비교하여 모든 실험에서 월등한 결과를 얻는 것을 알 수 있으며, 특히 기존의 특징점 기반의 방법인 SIFT(52) 및 SURF(53)에 비하여 직선을 특징으로 하여 장소를 인식하는 방법(51)이 훨씬 적은 수의 특징벡터를 사용함을 알 수 있다.
상기된 본 발명의 실시예들에 따르면, 영상정보만을 이용하여 장소인식을 함에 있어서, 기존의 특징점 기반의 방법 대신 특징직선을 이용하여 조명변화에 강인하고, 계산비용이 낮으며, 대부분의 특징이 장소의 구조물로부터 검출됨으로써, 장소를 인식하는데 용이하도록 하는 효과가 있다.
한편, 본 발명의 실시예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이상에서 본 발명에 대하여 그 다양한 실시예들을 중심으로 살펴보았다. 본 발명에 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
60 : 직선기반 장소인식 장치
61 : 입력부
62 : 처리부
63 : 출력부
64 : 데이터베이스
65 : 카메라

Claims (12)

  1. 장소인식을 위한 영상을 입력받는 단계;
    상기 영상에 포함된 윤곽선 픽셀(edge pixel)을 이용하여 복수 개의 제 1 직선성분을 검출하며, 상기 제 1 직선성분들 간의 거리 및 각도를 순차적으로 비교하여 병합함으로써, 복수 개의 제 2 직선성분을 검출하는 단계;
    상기 윤곽선 픽셀의 밝기 변화를 고려하여 상기 제 2 직선성분에 대한 직선특징을 나타내는 디스크립터 벡터(descriptor vector)를 각각 도출하는 단계; 및
    상기 디스크립터 벡터를 상기 영상의 특징정보를 저장하도록 구조화된 노드(node)에 맵핑(mapping)하여 상기 입력된 영상에 대한 직선영상을 출력하는 단계를 포함하는 직선을 기반으로 장소를 인식하는 방법.
  2. 제 1 항에 있어서,
    상기 직선영상을 출력하는 단계는,
    출력된 직선영상을 데이터베이스(database)에 저장된 직선영상과 비교하며, 상기 비교결과 상기 출력된 직선영상이 상기 데이터베이스에 저장된 직선영상이 아닐 경우, 상기 출력된 직선영상을 상기 데이터베이스에 저장하는 단계를 더 포함하는 직선을 기반으로 장소를 인식하는 방법.
  3. 제 2 항에 있어서,
    상기 데이터베이스는,
    상기 입력받은 영상의 직선특징을 나타내는 디스크립터 벡터를 어휘 트리(vocabulary tree) 구조의 최하위 노드에 맵핑하여 상기 최하위 노드에 인덱스(index)를 부여하고, 상기 디스크립터 벡터에 가중치를 부여하며, 상기 가중치를 이용하여 상기 인덱스가 대응되도록 구축하는 것을 특징으로 하는 직선을 기반으로 장소를 인식하는 방법.
  4. 제 2 항에 있어서,
    상기 출력된 직선영상을 데이터베이스에 저장된 직선영상과 비교하는 것은,
    상기 데이터베이스에서 상기 출력된 직선영상을 찾을 수 있도록 검색 대상의 빈도수(frequency)를 고려하고, 상기 검색 대상을 담고 있는 노드들 사이의 격차를 보정하여 상기 검색 대상에 점수를 부여함으로써, 상기 저장된 직선영상을 찾을 수 있는 것을 특징으로 하는 직선을 기반으로 장소를 인식하는 방법.
  5. 제 1 항에 있어서,
    제 2 직선성분을 검출하는 단계는,
    상기 입력받은 영상을 윤곽선 픽셀과 비윤곽선 픽셀(non-edge pixel)로 구분하여 검출하는 단계;
    상기 검출된 윤곽선 픽셀들이 동일직선상에 위치하는지를 나타내는 동일직선성을 고려하여 소정의 길이만큼 상기 윤곽선 픽셀들을 각각 연결함으로써, 복수 개의 제 1 직선성분을 도출하는 단계; 및
    상기 도출된 제 1 직선성분들을 순차적으로 제 1 직선성분들 간의 거리와 각도를 비교하여 각각 병합함으로써, 복수 개의 제 2 직선성분을 도출하는 단계를 포함하는 직선을 기반으로 장소를 인식하는 방법.
  6. 제 5 항에 있어서,
    상기 입력된 영상으로부터 상기 검출된 윤곽선 픽셀을 검색하며, 상기 윤곽선 픽셀이 검색될 경우 8방향 검색으로 인접한 또 다른 윤곽선 픽셀을 검색하는 것을 특징으로 하는 직선을 기반으로 장소를 인식하는 방법.
  7. 제 1 항에 있어서,
    상기 디스크립터 벡터를 각각 도출하는 단계는,
    상기 제 2 직선성분을 형성하는 일렬로 나열된 상기 윤곽선 픽셀들에 대하여 수직방향으로 각각 하위지역을 설정하는 단계;
    상기 윤곽선 픽셀들에 대한 각각의 하위지역에서 방향에 따라 밝기 변화 값을 도출하는 단계; 및
    상기 하위지역들에서 방향에 따라 도출된 밝기 변화 값에 대한 평균값 및 표준편차 값을 도출함으로써, 상기 제 2 직선성분에 대한 직선특징을 나타내는 디스크립터 벡터를 각각 도출하는 단계를 포함하는 직선을 기반으로 장소를 인식하는 방법.
  8. 제 7 항에 있어서,
    상기 제 2 직선성분에 위, 아래 수직한 2 개의 방향 중 인접한 픽셀의 밝기 변화가 더 큰 방향을 수직방향으로 설정하고, 상기 수직방향에서 90도 시계방향 또는 90도 반 시계방향으로 회전하여 수평방향을 설정함으로써, 상기 하위지역에서 밝기 변화 값을 도출하기 위한 방향을 설정하는 것을 특징으로 하는 직선을 기반으로 장소를 인식하는 방법.
  9. 제 1 항에 있어서,
    상기 디스크립터 벡터로 직선영상을 출력하는 단계는,
    상기 디스크립터 벡터를 어휘 트리 구조의 최하위 노드에 맵핑하여 인덱스를 부여함으로써, 상기 인덱스의 집합으로 상기 입력된 영상에 대한 직선영상을 출력하는 단계를 포함하는 직선을 기반으로 장소를 인식하는 방법.
  10. 장소인식을 위한 영상을 입력받는 입력부;
    상기 영상에 포함된 윤곽선 픽셀을 이용하여 복수 개의 제 1 직선성분을 검출하고, 상기 제 1 직선성분들 간의 거리 및 각도를 순차적으로 비교하여 복수 개의 제 2 직선성분을 검출하며, 상기 윤곽선 픽셀의 밝기 변화를 고려하여 상기 제 2 직선성분에 대한 직선특징을 나타내는 디스크립터 벡터를 각각 도출함으로써, 상기 디스크립터 벡터를 상기 영상의 특징정보를 저장하도록 구조화된 노드에 맵핑하여 인덱스를 부여하는 처리부; 및
    상기 인덱스의 집합으로 상기 입력된 영상에 대한 직선영상을 출력하는 출력부를 포함하되,
    상기 처리부는 상기 출력부로부터 출력된 직선영상을 데이터베이스에 저장된 직선영상과 비교하며, 상기 비교결과 상기 출력된 직선영상이 상기 데이터베이스에 저장된 직선영상이 아닐 경우, 상기 출력된 직선영상을 상기 데이터베이스에 저장하는 것을 특징으로 하는 직선기반 장소인식 장치.
  11. 제 10 항에 있어서,
    상기 처리부는,
    상기 입력받은 영상을 윤곽선 픽셀과 비윤곽선 픽셀로 구분하여 검출하고, 상기 검출된 윤곽선 픽셀들이 동일직선상에 위치하는지를 나타내는 동일직선성을 고려하여 소정의 길이만큼 상기 윤곽선 픽셀들을 각각 연결함으로써, 복수 개의 제 1 직선성분을 도출하며, 상기 도출된 제 1 직선성분들을 순차적으로 제 1 직선성분들 간의 거리와 각도를 비교하여 각각 병합함으로써, 복수 개의 제 2 직선성분을 도출하는 것을 특징으로 직선기반 장소인식 장치.
  12. 제 10 항에 있어서,
    상기 처리부는,
    상기 제 2 직선성분을 형성하는 일렬로 나열된 상기 윤곽선 픽셀들에 대하여 수직방향으로 각각 하위지역을 설정하고, 상기 윤곽선 픽셀들에 대한 각각의 하위지역에서 방향에 따라 밝기 변화 값을 도출하며, 상기 하위지역들에서 방향에 따라 도출된 밝기 변화 값에 대한 평균값 및 표준편차 값을 도출함으로써, 상기 제 2 직선성분에 대한 직선특징을 나타내는 디스크립터 벡터를 각각 도출하되,
    상기 제 2 직선성분에 위, 아래 수직한 2 개의 방향 중 인접한 픽셀의 밝기 변화가 더 큰 방향을 수직방향으로 설정하고, 상기 수직방향에서 90도 시계방향 또는 90도 반 시계방향으로 회전하여 수평방향을 설정함으로써, 상기 하위지역에서 밝기 변화 값을 도출하기 위한 방향을 설정하는 것을 특징으로 하는 직선기반 장소인식 장치.
KR20130125392A 2013-10-21 2013-10-21 직선을 기반으로 장소를 인식하는 방법 및 장치 KR101489216B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20130125392A KR101489216B1 (ko) 2013-10-21 2013-10-21 직선을 기반으로 장소를 인식하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130125392A KR101489216B1 (ko) 2013-10-21 2013-10-21 직선을 기반으로 장소를 인식하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101489216B1 true KR101489216B1 (ko) 2015-02-06

Family

ID=52591271

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130125392A KR101489216B1 (ko) 2013-10-21 2013-10-21 직선을 기반으로 장소를 인식하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101489216B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190061224A (ko) * 2017-11-27 2019-06-05 한국전자통신연구원 컨텐츠 검색 방법 및 장치
KR102156671B1 (ko) * 2020-01-13 2020-09-16 주식회사 호갱노노 건물의 외벽선을 이용한 구역 형성 방법 및 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130015452A (ko) * 2011-08-03 2013-02-14 부산대학교 산학협력단 지역 정렬을 이용한 부분 이미지 검색 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130015452A (ko) * 2011-08-03 2013-02-14 부산대학교 산학협력단 지역 정렬을 이용한 부분 이미지 검색 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190061224A (ko) * 2017-11-27 2019-06-05 한국전자통신연구원 컨텐츠 검색 방법 및 장치
KR102075709B1 (ko) * 2017-11-27 2020-02-11 한국전자통신연구원 컨텐츠 검색 방법 및 장치
KR102156671B1 (ko) * 2020-01-13 2020-09-16 주식회사 호갱노노 건물의 외벽선을 이용한 구역 형성 방법 및 장치

Similar Documents

Publication Publication Date Title
CN110235138B (zh) 用于外观搜索的系统和方法
WO2019218824A1 (zh) 一种移动轨迹获取方法及其设备、存储介质、终端
CN106354816B (zh) 一种视频图像处理方法及装置
CN109584302B (zh) 相机位姿优化方法、装置、电子设备和计算机可读介质
CN110705478A (zh) 人脸跟踪方法、装置、设备及存储介质
CN103207898B (zh) 一种基于局部敏感哈希的相似人脸快速检索方法
EP2907082B1 (en) Using a probabilistic model for detecting an object in visual data
Lee et al. Place recognition using straight lines for vision-based SLAM
CN108268823B (zh) 目标再识别方法和装置
Guillemant et al. Real-time identification of smoke images by clustering motions on a fractal curve with a temporal embedding method
Dai et al. Building segmentation and outline extraction from UAV image-derived point clouds by a line growing algorithm
CN105160649A (zh) 基于核函数非监督聚类的多目标跟踪方法及系统
CN114782499A (zh) 一种基于光流和视图几何约束的图像静态区域提取方法及装置
CN112907569B (zh) 头部图像区域的分割方法、装置、电子设备和存储介质
CN113255779B (zh) 多源感知数据融合识别方法、系统及计算机可读存储介质
CN106407978B (zh) 一种结合似物度的无约束视频中显著物体检测方法
CN106611030B (zh) 基于视频的对象相似度比较方法和检索方法及其系统
CN112101195A (zh) 人群密度预估方法、装置、计算机设备和存储介质
US20170053172A1 (en) Image processing apparatus, and image processing method
CN114676756A (zh) 图像识别方法、装置及计算机存储介质
Juang et al. Stereo-camera-based object detection using fuzzy color histograms and a fuzzy classifier with depth and shape estimations
KR101489216B1 (ko) 직선을 기반으로 장소를 인식하는 방법 및 장치
CN108564020A (zh) 基于全景3d图像的微手势识别方法
Mercioni et al. A study on Hierarchical Clustering and the Distance metrics for Identifying Architectural Styles
CN109451318B (zh) 便于vr视频编码的方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180102

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 6