KR102461980B1 - 3차원 지도의 생성 방법 - Google Patents

3차원 지도의 생성 방법 Download PDF

Info

Publication number
KR102461980B1
KR102461980B1 KR1020200164278A KR20200164278A KR102461980B1 KR 102461980 B1 KR102461980 B1 KR 102461980B1 KR 1020200164278 A KR1020200164278 A KR 1020200164278A KR 20200164278 A KR20200164278 A KR 20200164278A KR 102461980 B1 KR102461980 B1 KR 102461980B1
Authority
KR
South Korea
Prior art keywords
anchor
map
recognition block
generating
space
Prior art date
Application number
KR1020200164278A
Other languages
English (en)
Other versions
KR20220075794A (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 KR1020200164278A priority Critical patent/KR102461980B1/ko
Publication of KR20220075794A publication Critical patent/KR20220075794A/ko
Application granted granted Critical
Publication of KR102461980B1 publication Critical patent/KR102461980B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • G06T3/0093
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Remote Sensing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명은 3차원 지도의 생성 방법에 관한 것으로, 보다 구체적으로 포인트 클라우드 맵에 추가하여 앵커가 존재하는 인식 블록으로 이루어진 앵커 맵을 함께 이용하여 포인트 클라이드 맵으로 현재 위치를 추정하고 동시에 인식 블록 단위로 위치 보정을 함으로써 실제 현재 위치를 정확하게 추정할 수 있으며, 인식 블록에서 인식 블록에 존재하는 앵커의 크기와 해당 앵커 크기에서의 관성 측정값을 이용하여 현재 위치를 추정함으로써 인식 블록의 어느 장소에 위치하더라도 해당 인식 블록에서 앵커를 인식한 시점부터 현재 위치를 정확하게 보정할 수 있는 3차원 지도의 생성 방법에 관한 것이다.

Description

3차원 지도의 생성 방법{Method for producing three-dimensional map}
본 발명은 비주얼 SLAM 방식으로 3차원 지도를 생성하는 방법에 관한 것으로, 보다 구체적으로 포인트 클라우드 맵에 추가하여 앵커가 존재하는 인식 블록으로 이루어진 앵커 맵을 함께 이용하여 포인트 클라이드 맵으로 현재 위치를 추정하고 동시에 인식 블록 단위로 위치 보정을 함으로써 실제 현재 위치를 정확하게 추정할 수 있으며, 인식 블록에 존재하는 앵커의 크기와 해당 앵커 크기에서의 관성 측정값을 이용하여 현재 위치를 추정함으로써 인식 블록의 어느 장소에 위치하더라도 해당 인식 블록에서 앵커를 인식한 시점부터 현재 위치를 정확하게 보정할 수 있는 3차원 지도의 생성 방법에 관한 것이다.
공간에서 효과적으로 위치를 판단하며 이동하기 위해서 이동하고 있는 공간에 대한 지도를 생성하고 공간상의 자신의 위치를 인식하는 것이 요구된다. 주변 공간에 대하여 위치를 인식하고 지도를 형성하는 것을 동시 위치인식 및 지도형성(SLAM : Simultaneous Localization And Mapping)이라고 한다.
SLAM은 공간에 위치하는 객체의 특징 데이터에 기반하여 지도를 생성하는데, 지도 생성에 사용되는 센서 유형에 따라 SLAM 알고리즘에 활용되는 특징 데이터도 다르다. 예컨대, 초음파(Sonar), 레이저와 같은 거리 센서를 통해 얻어진 거리 정보, GPS 기기를 통해 직접 얻어지는 좌표 정보, IMU장비를 통해 얻어지는 가속도 정보, 카메라의 영상 정보 등이 특징 데이터로 사용될 수 있다.
카메라의 영상 정보를 이용한 SLAM 기법을 비주얼(Visual) SLAM이라고 하는데, 비주얼 SLAM은 영상에서 추출한 시각 특징점을 이용하여 주변 환경에 대한 지도를 생성하고, 생성한 지도에 기반하여 현재 위치를 추정한다.
도 1은 종래 비주얼 SLAM 기법으로 3차원 지도를 생성하는 방법의 일 예를 도시하고 있다.
도 1을 참고로 보다 구체적으로 살펴보면, 지도를 생성하고자 하는 3차원 공간의 영상을 촬영하고 촬영한 영상에서 특징점을 추출한다(S10). 특징점을 추출하기 위하여 사람이 직접 웨어러블 영상 장비를 착용 후 3차원 공간을 돌아다니며 영상을 촬영하고 촬영한 영상에서 특징점을 추출할 수 있거나, 이동 로봇에 영상 촬영 장비를 설치하여 이동 로봇을 3차원 공간으로 이동시키며 영상을 촬영하고 촬영한 영상에서 특징점을 추출할 수 있다.
여기서 영상 장비는 모노 카메라, 스트레오 카메라, 깊이 카메라 또는 이들의 조합이 사용될 수 있다. 한편 카메라는 CCD(charge coupled device) 또는 CMOS(complementary metal oxide semiconductor) 이미지 센서와, 이미지 센서의 출력을 수신하여 2D 이미지를 생성하는 영상처리모듈 등을 구비하고 있다.
특징점은 객체의 형상을 대표하는 요소로서 객체를 묘사하고 모델링할 수 있는 중요한 점이며, 명확하게 식별이 가능한 특이점(interest point)으로서 모서리(corner), 정점(apex) 및 꼭지점(vertex)이 특징점에 해당된다. 영상에서 특징점을 추출하는 방법은 CSS(Curvature Scale Space), FAST-ER(FAST-Enhanced Repeatability)등의 알고리즘을 사용하거나, Harris corner detection 기법을 사용하여 특정한 "점"을 추출하거나, Canny edgy detection 기법을 사용하여 특정한 "선"을 추출하는 것이 가능하다. 다양한 방식으로 특징점을 추출할 수 있으며 이에 대한 상세한 설명은 생략한다.
추출한 특징점은 2차원 상의 좌표로 표시되는데, 특징점의 깊이 정보를 구비하는 3차원 좌표로 변환하여 포인트 클라우드를 생성한다(S30). 촬영한 영상에서 깊이 정보를 획득하기 위하여 모노 카메라를 통해 촬영한 현재 영상 프레임을 기준으로 전/후 영상 프레임을 이용하여 깊이 정보를 획득하거나, 스트레오 카메라를 통해 촬영한 영상 프레임의 시차를 이용하여 깊이 정보를 획득하거나, 깊이 카메라를 이용하여 깊이 정보를 획득할 수 있다.
추출한 특징점은 3차원 공간에서 촬영한 영상에서 계속해서 추척되며, 3차원 공간 전체에 대한 포인트 클라우드를 조합하여(S50), 3차원 공간의 3차원 지도를 생성한다(S70).
생성한 3차원 지도에서 특징점들은 3차원 좌표로 매핑되어 저장되는데, 차후 사용자가 현재 위치에서 촬영한 영상에서 추출되는 특징점들과 생성한 3차원 지도에 일치하는 특징점을 비교하여 3차원 지도에서 현재 위치를 추정할 수 있다.
그러나 종래 비주얼 SLAM에서 생성된 3차원 지도의 경우, 실제 현재 위치와 특징점에 기초하여 추정한 현재 위치에 대한 3차원 지도상의 글로벌 좌표 사이에는 오차가 발생하는 문제점을 가지는데, 이러한 문제점을 극복하기 위하여 관성센서(Inertial Measurement Unit, IMU)를 이용하여 3차원 지도를 작성하거나 현재 위치를 추정하도록 한다.
종래 관성센서를 이용하여 3차원 지도를 생성하는 경우, 3차원 지도를 생성하는 시작 위치로부터 전체 3차원 공간에서 연속하여 관성센서의 측정값을 측정하는데, 3차원 공간에서 보행자의 이동 속도, 가속도, 방향 등을 측정하여 생성되는 관성측정값에도 오차가 발생할 수 있으며 시작 위치부터 전체 3차원 공간에서 연속하여 측정되는 관성 측정값에는 오차가 누적되게 된다. 이로 인하여 관성 센서를 사용하더라도 실제 현재 위치와 특징점에 기초하여 추정한 현재 위치에 대한 3차원 지도상의 글로벌 좌표 사이에도 오차가 여전히 발생하는 문제점을 가진다.
본 발명은 위에서 언급한 종래 3차원 지도의 생성 방법이 가지는 문제점을 해결하기 위한 것으로, 본 발명이 이루고자 하는 목적은 포인트 클라우드 맵에 추가하여 앵커가 존재하는 인식 블록으로 이루어진 앵커 맵을 함께 이용하여 포인트 클라이드 맵으로 현재 위치를 추정하고 동시에 인식 블록 단위로 위치 보정이 가능한 3차원 지도의 생성 방법을 제공하는 것이다.
본 발명이 이루고자 하는 다른 목적은 인식 블록에서 인식 블록에 존재하는 앵커의 크기와 해당 앵커 크기에서의 관성 측정값을 이용하여 인식 블록의 어느 장소에 위치하더라도 해당 인식 블록에서 앵커를 인식한 시점부터 현재 위치를 정확하게 보정할 수 있는 3차원 지도의 생성 방법을 제공하는 것이다.
본 발명이 이루고자 하는 또 다른 목적은 3차원 지도를 생성하기 위하여 3차원 공간을 이동하는 과정에서 인접한 공간을 어떠한 방향으로 이동하더라도 인접한 공간에 앵커를 구비하는 인식 블록을 생성할 수 있는 3차원 지도의 생성 방법을 제공하는 것이다.
본 발명의 목적을 달성하기 위하여 본 발명에 따른 3차원 지도의 생성 방법은 3차원 지도를 생성하고자 하는 공간을 촬영하여 해당 공간의 특징점을 추출하는 단계와, 추출한 특징점을 3차원 좌표로 변환하여 포인트 클라우드를 생성하고 해당 공간의 포인트 클라우드를 조합하여 포인트 클라우드 맵을 생성하는 단계와, 포인트 클라우드 맵에서 특징점의 밀집도에 기초하여 앵커를 생성하고 앵커를 포함하는 정다각기둥의 단위 블록을 연속 생성하여 앵커맵을 생성하는 단계와, 포인트 클라우드 맵과 앵커맵로 이루어진 3차원 지도를 생성하는 단계를 포함하는 것을 특징으로 한다.
바람직하게, 본 발명에 따라 앵커맵을 생성하는 단계는 포인트 클라우드 맵의 현재 위치에서 시작 앵커를 포함하는 정다각기둥의 시작 인식 블록을 생성하는 단계와 시작 인식 블록에 인접한 공간에서 인접 앵커를 포함하는 인접 인식 블록을 생성하는 단계와, 인접 인식 블록에 인접한 공간에서 인접 인식 블록을 연속 생성하여 해당 공간에 대한 앵커맵을 생성하는 단계를 포함하는 것을 특징으로 한다.
여기서 인접 인식 블록은 시작 인식 블록과 동일한 크기와 형상으로 생성되는 것을 특징으로 한다.
바람직하게, 본 발명에 따라 시작 인식 블록을 생성하는 단계는 시작 공간에서 포인트 클라우드 맵의 단위 공간별 특징점의 밀집도를 판단하는 단계와, 판단한 밀집도에 기초하여 시작 공간에서 가장 높은 밀집도를 가지는 단위 공간을 판단하고 밀집도가 가장 높은 단위 공간을 시작 앵커로 생성하는 단계와, 시작 앵커를 포함하는 정다각기둥의 시작 인식 블록을 생성하는 단계를 포함하는 것을 특징으로 한다.
여기서 시작 인식 블록은 시작 앵커를 중심으로 하며 시작 앵커를 포함하는 정다각기둥으로 생성되는 것을 특징으로 한다.
바람직하게, 본 발명에 따라 시작 인식 블록을 생성하는 단계는 시작 앵커를 기준으로 시작 블록에서 최대 이격된 지점으로부터 시작 앵커까지 이동 과정 중 시작 앵커와의 이격 거리에 따라 달라지는 시작 앵커의 크기와 관성 측정값을 서로 매핑한 상관 테이블을 저장하는 단계를 더 포함하는 것을 특징으로 한다.
여기서 시작 인식 블록은 시작 앵커를 중심으로 하고 시작 앵커를 인식할 수 있는 최대 인식 거리를 반지름으로 하는 원에 내접하는 정다각형의 길이를 일변으로 하는 정다각기둥으로 생성되는 것을 특징으로 한다.
여기서 앵커 맵을 생성하는 단계는 포인트 클라우드 맵에서 시작 인식 블록 및 상기 인접 인식 블록의 좌표값을 저장하고, 포인트 클라우드 맵에서 시작 앵커와 인접 앵커의 좌표값을 저장하는 단계를 더 포함하는 것을 특징으로 한다.
여기서 정다각기둥은 정육각기둥인 것을 특징으로 한다.
본 발명에 따른 3차원 지도의 생성 방법은 다음과 같은 효과를 가진다.
첫째, 본 발명에 따른 3차원 지도의 생성 방법은 포인트 클라우드 맵에 추가하여 앵커가 존재하는 인식 블록으로 이루어진 앵커 맵을 함께 이용하여 포인트 클라이드 맵으로 현재 위치를 추정하고 동시에 인식 블록 단위로 위치 보정을 함으로써, 실제 현재 위치를 정확하게 추정할 수 있는 3차원 지도를 제작할 수 있다.
둘째, 본 발명에 따른 3차원 지도의 생성 방법은 인식 블록에서 인식 블록에 존재하는 앵커의 크기와 해당 앵커 크기에서의 관성 측정값을 이용하여 현재 위치를 추정함으로써, 인식 블록의 어느 장소에 위치하더라도 해당 인식 블록에서 앵커를 인식한 시점부터 현재 위치를 정확하게 보정할 수 있는 3차원 지도의 생성 방법을 생성할 수 있다.
셋째, 본 발명에 따른 3차원 지도의 생성 방법은 3차원 지도에서 인식 블록을 정육각형으로 생성함으로써, 3차원 공간을 이동하는 과정에서 인접한 공간을 어떠한 방향으로 이동하더라도 인접 인식 블록에 앵커가 존재할 가능성이 높은 앵커뱁을 구비하는 3차원 지도를 생성할 수 있다.
도 1은 종래 비주얼 SLAM 기법으로 3차원 지도를 생성하는 방법의 일 예를 도시하고 있다.
도 2는 본 발명에 따른 3차원 지도의 생성 시스템을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 3차원 지도 생성 장치를 설명하기 위한 기능 블록도이다.
도 4는 본 발명에 따른 앵커 맵 생성부의 일 예를 설명하기 위한 기능 블록도이다.
도 5는 본 발명에 따른 3차원 지도의 생성 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명에 따라 앵커 맵을 생성하는 방법을 설명하기 위한 흐름도이다.
도 7은 시작 인식 블록과 인접 인식 블록의 일 예를 설명하기 위한 도면이다.
도 8은 본 발명에서 시작 인식 블록을 생성하는 일 예를 설명하기 위한 흐름도이다.
도 9는 시작 공간과 단위 공간의 일 예를 설명하기 위한 도면이다.
도 10은 시작 인식 블록의 생성 예를 설명하기 위한 도면이다.
도 11은 인식 블록을 정사각기둥과 정육각기둥으로 생성함에 따라 앵커의 생성 여부를 설명하기 위한 도면이다.
도 12는 시작 인식 블록에서 상관 정보를 생성하는 방법의 일 예를 설명하기 위한 도면이다.
도 13은 상관 정보의 일 예를 도시하고 있다.
본 발명에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다.
또한, 본 발명에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 발명에서, "구성된다" 또는 "포함한다" 등의 용어는 발명에 기재된 여러 구성 요소들, 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.
이하 첨부한 도면을 참고로 본 발명에 따른 3차원 지도의 생성 방법에 대해 보다 구체적으로 살펴본다.
도 2는 본 발명에 따른 3차원 지도의 생성 시스템을 설명하기 위한 도면이다.
도 2를 참고로 보다 구체적으로 살펴보면, 사용자는 영상 장비(11)와 통신 장비(13)를 착용 후 3차원 지도를 작성하고자 하는 공간을 이동한다. 여기서 영상 장비(11)는 3차원 공간을 촬영하여 영상 정보를 생성하는 모노 카메라, 스트레오 카메라, 깊이 카메라 등을 포함하거나, 사용자의 이동 경로를 측정하기 위한 관성센서를 포함할 수 있다.
한편 통신 장비(13)는 생성한 영상 정보를 네트워크(30)를 통해 서버(50)로 송신하는 장비로, 통신 장비(13)는 와이파이, 5G 통신 등의 무선 통신 방식으로 영상 정보와 관성 측정값을 서버(50)로 송신할 수 있거나 유선 통신 방식으로 영상 정보와 관성 측정값을 서버(50)로 송신할 수 있는 다양한 통신 모듈을 구비하고 있다. 네트워크(30)는 통신 장비(13)와 서버(50) 사이의 통신 방식에 따라 유선 또는 무선으로 영상 정보 또는 관성 측정값을 송신하는 다양한 종류의 네트워크가 사용될 수있다.
본 발명이 적용되는 분야에 따라 서버(50)에서 3차원 지도를 작성하는 대신 통신 장비(13)에서 직접 영상 정보와 관성 측정값으로부터 3차원 지도를 생성하고 생성한 3차원 지도를 네트워크(30)를 통해 서버(50)로 송신할 수 있다.
도 3은 본 발명의 일 실시예에 따른 3차원 지도 생성 장치를 설명하기 위한 기능 블록도이다.
도 3을 참고로 보다 구체적으로 살펴보면, 특징점 추출부(110)는 영상 장비를 통해 생성한 영상으로부터 특징점을 추출한다.
포인트 클라우드 맵 생성부(130)는 사용자가 이동하며 촬영한 영상에서 추출한 특징점을 추적하며 특징점을 3차원 좌표로 변환하여 포인트 클라우드를 생성하고, 생성한 포인트 클라우드를 조합하여 포인트 클라우드 맵을 생성한다.
앵커 맵 생성부(150)는 3차원 지도를 작성하는 공간 중 시작 공간에서 특징점의 밀집도에 기초하여 시작 앵커를 생성하고 시작 앵커를 포함하여 시작 인식 블록을 생성한다. 이후 시작 인식 블록에 인접한 공간에서도 시작 인식 블록과 동일한 형상과 크기를 가지는 인접 인식 블록을 연속 생성하며 인접 인식 블록에서 특징점의 밀집도에 기초하여 인접 앵커를 생성하여 3차원 공간에 대한 앵커 맵을 생성한다.
지도 생성부(170)는 포인트 클라우드 맵과 앵커 맵을 조합하여 포인트 클라우드 맵과 앵커 맵으로 이루어진 3차원 공간에 대한 3차원 지도를 생성한다.
도 4는 본 발명에 따른 앵커 맵 생성부의 일 예를 설명하기 위한 기능 블록도이다.
도 4를 참고로 보다 구체적으로 살펴보면, 밀집도 판단부(151)는 시작 공간을 다수의 단위 공간으로 구분하여 각 단위 공간에 포함된 특징점의 수를 카운트하여 단위 공간별 밀집도를 판단한다. 여기서 시작 공간은 3차원 공간에서 3차원 지도를 생성 시작하는 위치의 공간으로 시작 위치를 기준으로 기설정한 크기를 가지는 공간을 시작 공간으로 결정할 수 있다.
시작 앵커 생성부(153)는 시작 공간에서 단위 공간별 밀집도에 기초하여 시작 공간에서 밀집도가 가장 높은 단위 공간을 판단하며, 밀집도가 가장 높은 단위 공간을 시작 앵커로 결정한다.
시작 인식 블록 생성부(155)는 시작 앵커를 포함하며 시작 앵커를 중심으로 하는 시작 인식 블록을 생성한다. 여기서 시작 인식 블록은 시작 앵커를 중심으로 하는 정다각 기둥으로 생성되는데, 바람직하게 시작 인식 블록은 시작 앵커를 중심으로 정오각형 또는 정육각형으로 생성되는 것을 특징으로 한다.
인접 인식 블록 생성부(157)는 시작 인식 블록이 생성되는 경우, 시작 인식 블록에 인접한 공간에서 인접 인식 블록을 생성하며 인접 인식 블록에서 특징점의 밀집도가 가장 높은 단위 공간을 인접 앵커로 생성한다. 인접 인식 블록 생성부(157)는 인접 인식 블록에 연속하여 3차원 공간 전체에서 인접 앵커를 구비하는 인접 인식 블록을 생성한다. 여기서 인접 인식 블록은 시작 인식 블록과 동일한 크기와 형상으로 생성되는 것을 특징으로 한다.
상관 정보 생성부(158)는 시작 인식 블록에서 시작 앵커를 포함하는 가상 수평면을 생성하고 가상 수평면 중 시작 앵커를 기준으로 최대 이격 거리로부터 시작 앵커로 이동하며 측정되는 관성 측정값과 앵커 크기를 판단하며, 시작 앵커로부터의 이격 거리에 따라 달라지는 관성 측정값과 앵커 크기를 서로 매핑한 상관 정보를 생성하고 저장한다.
앵커 맵 조합부(159)는 시작 앵커를 구비하는 시작 인식 블록과 인접 앵커를 구비하는 인접 인식 블록, 상관 정보와 좌표 정보를 구비하는 앵커 맵을 생성한다. 여기서 좌표 정보는 시작 앵커와 인접 앵커의 3차원 좌표, 시작 인식 블록과 인접 인식 블록의 3차원 좌표를 의미한다.
도 5는 본 발명에 따른 3차원 지도의 생성 방법을 설명하기 위한 흐름도이다.
도 5를 참고로 보다 구체적으로 살펴보면, 3차원 지도를 작성하고자 하는 공간을 이동하며 3차원 공간을 촬영하여 해당 공간의 영상으로부터 특징점을 추출한다(S110). 특징점은 생성한 영상에 존재하는 객체의 형상을 대표하는 요소로서 객체를 묘사하고 모델링할 수 있는 중요한 점이며, 명확하게 식별이 가능한 특이점(interest point)으로서 모서리(corner), 정점(apex) 및 꼭지점(vertex)이 특징점에 해당된다. 본 발명에서 특징점은 종래 공지된 다양한 방식을 이용하여 추출할 수 있으며 이에 대한 상세한 설명은 생략한다.
추출한 특징점을 3차원 좌표로 변환하여 포인트 클라우드를 생성한다(S130). 생성한 영상에서 추출한 특징점의 좌표는 2차원 좌표이며 특징점을 계속해서 추적하며 깊이정보를 구비하는 3차원 좌표로 변환한다. 여기서 3차원 좌표는 글로벌 좌표로, 통상적으로 3차원 지도를 생성하기 시작하는 위치를 기준점(0,0,0)으로 각 특징점을 3차원 좌표로 변환하여 포인트 클라우드를 생성한다. 2차원의 특징점을 3차원 좌표로 변환하는 다양한 공지된 기술들이 존재하며, 이에 대한 상세한 설명을 생략한다.
3차원 지도를 생성하고자 하는 전체 3차원 공간에서 생성된 포인트 클라우드를 조합하여 3차원 공간에 대한 포인트 클라우드 맵을 생성한다(S150).
3차원 공간 중 시작 공간에서 특징점의 밀집도가 가장 높은 단위 공간을 시작 앵커로 하여 시작 앵커를 구비하는 시작 인식 블록을 생성하고 시작 인식 블록에 인접한 공간에서 연속하여 인접 앵커를 구비하는 인접 인식 블록을 생성하여 3차원 공간 전체에 대한 앵커 맵을 생성한다(S170). 생성한 앵커 맵에는 앵커 맵을 구성하는 시작 인식 블록과 인접 인식 블록의 3차원 좌표, 시작 앵커와 인접 앵커의 3차원 좌표 그리고 시작 앵커로부터의 이격 거리에 따라 달라지는 관성 측정값과 앵커 크기를 서로 매핑한 상관 정보가 포함되어 있다.
3차원 공간에 대한 포인트 클라우드 맵과 앵커 맵을 조합하여 3차원 공간에 대한 3차원 지도를 생성한다(S190).
이와 같이 생성한 3차원 지도를 이용하여, 포인트 클라우드 맵에 기초하여 현재 위치를 추정하고 이후 앵커 맵에 기초하여 현재 위치의 인식 블록에서 상관 정보를 이용하여 현재 위치를 보정할 수 있다.
도 6은 본 발명에 따라 앵커 맵을 생성하는 방법을 설명하기 위한 흐름도이다.
도 6을 참고로 보다 구체적으로 살펴보면, 3차원 공간에서 인식 블록이 존재하는지 판단한다(S171). 인식 블록에 인접한 공간에서 연속하여 인접 인식 블록을 생성한다(S175).
그러나 인식 블록이 존재하지 않는 경우, 시작 공간에서부터 시작 앵커를 구비하는 시작 인식 블록을 생성한다(S173). 시작 공간은 3차원 공간 중 임의의 공간일 수 있는데, 바람직하게 시작 공간은 3차원 지도를 생성하기 시작한 위치에서 일정한 크기를 가지는 공간으로 설정될 수 있다. 시작 공간을 다수의 단위 공간으로 구분하여 각 단위 공간에 존재하는 특징점의 개수를 카운트하며, 시작 공간의 단위 공간들 중 밀집도가 가장 높은 단위 공간을 시작 앵커로 결정하여 시작 인식 블록을 생성한다. 시작 인식 블록이 생성시, 시작 인식 블록에 구비된 시작 앵커의 3차원 좌표와 시작 인식 블록의 3차원 좌표를 판단한다.
시작 인식 블록이 생성되면 시작 인식 블록에 인접한 공간에서 인접 인식 블록을 생성하고 인접 인식 블록에 인접한 공간에서 인접 인식 블록을 연속 생성하여 3차원 공간 전체에서 인접 인식 블록을 생성한다(S175). 각 인접 인식 블록에서 특징점의 밀집도가 가장 높은 단위 공간을 인접 앵커로 생성한다. 인접 인식 블록이 생성시, 각 인접 인식 블록에 구비된 인접 앵커의 3차원 좌표와 인접 인식 블록의 3차원 좌료를 판단한다.
시작 인식 블록과 인접 인식 블록로 이루어진 3차원 공간 전체에 대한 앵커 맵을 생성한다(S177).
도 7은 시작 인식 블록과 인접 인식 블록의 일 예를 설명하기 위한 도면이다.
도 7(a)는 시작 인식 블록(SB)부터 시작하여 시작 인식 블록(SB)에 인접한 공간에서 연속하여 생성되는 인접 인식 블록(NB)의 일 예를 도시하고 있다. 도 7(a)에 도시되어 있는 바와 같이 시작 인식 블록(SB)과 인접 인식 블록(NB)는 서로 동일한 크기와 형상으로 생성된다.
도 7(b)는 시작 인식 블록(SB)과 인접 인식 블록(NB)에 포함된 시작 앵커와 인접 앵커의 일 예를 도시하고 있다. 도 7(b)에 도시되어 있는 바와 같이 시작 인식 블록과 인접 인식 블록에서 특징점이 가장 높은 단위 공간이 시작 앵커 또는 인접 앵커(A)로 결정된다.
도 8은 본 발명에서 시작 인식 블록을 생성하는 일 예를 설명하기 위한 흐름도이다.
도 8을 참고로 보다 구체적으로 살펴보면, 시작 공간을 다수의 단위 공간으로 구분하여 각 단위 공간에서의 특징점들의 밀집도를 판단한다(S211).
시작 공간의 단위 공간의 밀집도에 기초하여 가장 밀집도가 높은 단위 공간을 시작 앵커로 결정한다(S213).
시작 앵커를 중심으로 정다각 기둥의 시작 인식 블록을 생성하고(S215), 생성한 시작 인식 블록에서 시작 앵커를 기준으로 최대 이격 거리로부터 시작 앵커로 이동하며 측정되는 관성 측정값과 앵커 크기를 판단하며, 시작 앵커로부터의 이격 거리에 따라 달라지는 관성 측정값과 앵커 크기를 서로 매핑한 상관 테이블를 생성하여 저장한다(S217).
도 9는 시작 공간과 단위 공간의 일 예를 설명하기 위한 도면이다.
시작 공간(SS)은 3차원 공간 중 3차원 지도를 생성하기 위하여 영상을 촬영하기 시작하는 위치에서 임의 크기로 설정된 공간이다. 시작 공간(SS)을 다수의 단위 공간(US)으로 구분하여 각 단위 공간(US)에 존재하는 특징점들의 개수를 카운트한다. 시작 공간(SS)를 구성하는 단위 공간 중 밀집도가 가장 높은 단위 공간을 시작 앵커로 결정한다.
도 10은 시작 인식 블록의 생성 예를 설명하기 위한 도면이다.
도 10에 도시되어 있는 바와 같이, 시작 앵커(A)를 중심으로 하여 시작 앵커(A)가 존재하는 가상 수평면에서 일정 길이(r)를 반지름으로 하는 원에 내접한 정육각형의 길이를 일변으로 하는 정육각 기둥으로 시작 인식 블록을 생성할 수 있다.
본 발명이 적용되는 분야에 따라 시작 앵커를 중심으로 하여 시작 앵커가 존재하는 가상 수평면에서 일정 길이를 반지름으로 하는 원에 내접하는 다양한 정다각형의 길이를 일변으로 하는 정다각 기둥으로 시작 인식 블록을 생성할 수 있으며 이는 본 발명의 범위에 속한다.
본 발명이 적용되는 분야에 따른 시작 앵커를 중심으로 하고 시작 앵커를 인식할 수 있는 최대 인식 거리를 반지름으로 하는 원에 내접하는 정다각형의 길이를 일변으로 하는 정다각기둥으로 시작 인식 블록을 생성할 수 있으며 이는 본 발명의 범위에 속한다.
도 11은 인식 블록을 정사각기둥과 정육각기둥으로 생성함에 따라 앵커의 생성 여부를 설명하기 위한 도면이다.
3차원 지도를 생성하기 위하여 3차원 공간을 이동하며 3차원 공간의 영상을 촬영하는데, 도 11(a)에 도시되어 있는 바와 같이 인식 블록을 정사각기둥으로 형성하면 사용자가 3차원 공간을 대각선으로 이동하는 경우 앵커가 존재하지 않는 인식 블록이 형성될 우려가 있다.
그러나 도 11(b)에 도시되어 있는 바와 같이, 인식 블록을 정육각기둥으로 형성하면 사용자가 3차원 공간을 대각선으로 이동하더라도 앵커가 존재하지 않는 인식 블록이 형성될 가능성이 줄어들게 된다.
도 12는 시작 인식 블록에서 상관 정보를 생성하는 방법의 일 예를 설명하기 위한 도면이다.
도 12(a)에 도시되어 있는 바와 같이, 시작 인식 블록에서 시작 앵커로부터 최대 이격된 지점(P)에서 시작 앵커(A)까지 사용자가 이동하며 이동 과정 중 시작 앵커와의 이격 거리에 따라 달라지는 시작 앵커의 크기와 관성 측정값을 서로 매핑하여 상관 정보를 생성한다.
도 12(b)에 도시되어 있는 바와 같이, 시작 인식 블록에서 시작앵커(A)로부터 이격된 거리(r1, r2, r3)가 멀어질수록 시작 앵커의 크기가 작아지며, 최대 이격 지점에서 시작 앵커으로 근접할수록 관성 측정값은 증가하게 된다. 여기서 앵커의 크기는 앵커를 구성하는 특징점의 전체 면적에 기초하여 판단할 수 있다. 예를 들어, 도 14에 도시되어 있는 바와 같이 앵커를 구성하는 특징점으로 사각형을 구성하는 경우 사각형을 구성하는 픽셀 크기로 앵커 크기를 판단할 수 있다.
따라서 시작 인식 블록에서 시작 앵커로부터 최대 이격된 지점(P)에서 시작 앵커(A)까지 사용자가 이동하는 중 시작 앵커와의 이격 거리에 따라 시작 앵커의 크기와 관성값은 서로 상이하며, 시작 앵커의 크기와 관성값을 서로 매핑하여 상관 정보로 생성한다.
본 발명에서 시작 인식 블록과 인접 인식 블록은 서로 동일한 크기와 형상으로 생성되기 때문에, 시작 인식 블록에서 생성한 상관 정보는 다른 인접 인식 블록에서도 현재 위치 정보를 보정하기 위하여 동일하게 사용될 수 있다.
도 13은 상관 정보의 일 예를 도시하고 있는데, 도 13에 도시되어 있는 바와 같이 시작 앵커와의 이격 거리에 따라 달라지는 관성 측정값과 시작 앵커의 크기가 서로 매핑되어 테이블로 저장될 수 있다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록 매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록 매체는 마그네틱 저장 매체(예를 들어, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장 매체를 포함한다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
11: 영상 장비 13: 통신 장비
30: 네트워크 50: 서버
110: 특징점 추출부 130: 포인트 클라우드 맵 생성부
150: 앵커 맵 생성부 170: 지도 생성부

Claims (9)

  1. 3차원 지도를 생성하고자 하는 3차원 공간을 촬영하여 상기 3차원 공간의 특징점을 추출하는 단계;
    추출한 특징점을 3차원 좌표로 변환하여 포인트 클라우드를 생성하고 상기 3차원 공간의 포인트 클라우드를 조합하여 포인트 클라우드 맵을 생성하는 단계;
    상기 포인트 클라우드 맵에서 특징점의 밀집도에 기초하여 앵커를 생성하고 상기 앵커를 포함하는 정다각기둥의 인식 블록을 연속 생성하여 상기 3차원 공간의 앵커맵을 생성하는 단계; 및
    상기 포인트 클라우드 맵과 상기 앵커맵으로 이루어진 3차원 지도를 생성하는 단계를 포함하고,
    상기 앵커맵을 생성하는 단계는
    상기 포인트 클라우드 맵의 현재 위치에서 시작 앵커를 포함하는 정다각기둥의 시작 인식 블록을 생성하는 단계;
    상기 시작 인식 블록에 인접한 공간에서 인접 앵커를 포함하는 인접 인식 블록을 생성하는 단계; 및
    상기 인접 인식 블록에 인접한 공간에서 인접 인식 블록을 연속 생성하여 상기 3차원 공간에 대한 앵커맵을 생성하는 단계를 포함하며,
    상기 시작 인식 블록은 상기 시작 앵커를 중심에 포함하는 정다각기둥으로 생성되고,
    상기 시작 인식 블록을 생성하는 단계는
    상기 시작 앵커를 기준으로 상기 시작 인식 블록에서 최대 이격된 지점으로부터 상기 시작 앵커까지 이동 과정 중 상기 시작 앵커와의 이격 거리에 따라 달라지는 시작 앵커의 크기와 관성 측정값을 서로 매핑한 상관 테이블을 저장하는 단계를 더 포함하며,
    상기 시작 인식 블록에서 생성한 상기 상관 테이블은, 상기 인접 인식 블록에서의 위치 보정에 사용 가능한 것을 특징으로 하는 3차원 지도의 생성 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 인접 인식 블록은 상기 시작 인식 블록과 동일한 크기와 형상으로 생성되는 것을 특징으로 하는 3차원 지도의 생성 방법.
  4. 제 3 항에 있어서, 상기 시작 인식 블록을 생성하는 단계는
    시작 공간에서 상기 포인트 클라우드 맵의 단위 공간별 특징점의 밀집도를 판단하는 단계;
    판단한 밀집도에 기초하여 시작 공간에서 가장 높은 밀집도를 가지는 단위 공간을 판단하고, 밀집도가 가장 높은 단위 공간을 시작 앵커로 생성하는 단계; 및
    상기 시작 앵커를 포함하는 정다각기둥의 시작 인식 블록을 생성하는 단계를 포함하는 것을 특징으로 하는 3차원 지도의 생성 방법.
  5. 삭제
  6. 삭제
  7. 제 4 항에 있어서, 상기 시작 인식 블록은
    상기 시작 앵커를 중심으로 하고 상기 시작 앵커를 인식할 수 있는 최대 인식 거리를 반지름으로 하는 원에 내접하는 정다각형의 길이를 일변으로 하는 정다각기둥으로 생성되는 것을 특징으로 하는 3차원 지도의 생성 방법.
  8. 제 4 항에 있어서, 상기 앵커 맵을 생성하는 단계는
    상기 포인트 클라우드 맵에서 상기 시작 인식 블록 및 상기 인접 인식 블록의 좌표값을 저장하고,
    상기 포인트 클라우드 맵에서 상기 시작 앵커와 상기 인접 앵커의 좌표값을 저장하는 단계를 더 포함하는 것을 특징으로 하는 3차원 지도의 생성 방법.
  9. 제 1 항에 있어서, 상기 정다각기둥은 정육각기둥인 것을 특징으로 하는 3차원 지도의 생성 방법.
KR1020200164278A 2020-11-30 2020-11-30 3차원 지도의 생성 방법 KR102461980B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200164278A KR102461980B1 (ko) 2020-11-30 2020-11-30 3차원 지도의 생성 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200164278A KR102461980B1 (ko) 2020-11-30 2020-11-30 3차원 지도의 생성 방법

Publications (2)

Publication Number Publication Date
KR20220075794A KR20220075794A (ko) 2022-06-08
KR102461980B1 true KR102461980B1 (ko) 2022-11-03

Family

ID=81980666

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200164278A KR102461980B1 (ko) 2020-11-30 2020-11-30 3차원 지도의 생성 방법

Country Status (1)

Country Link
KR (1) KR102461980B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007069726A1 (ja) 2005-12-16 2007-06-21 Ihi Corporation 自己位置同定方法と装置および三次元形状の計測方法と装置
JP2020125960A (ja) * 2019-02-04 2020-08-20 株式会社豊田中央研究所 移動体位置推定装置、及び移動体位置推定プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102238693B1 (ko) * 2014-06-20 2021-04-09 삼성전자주식회사 포인트 클라우드에서 특징 영역을 추출하는 방법 및 장치
KR102061522B1 (ko) * 2019-10-31 2020-01-02 충북대학교 산학협력단 라이다 센서를 이용한 밀집도 기반의 객체 검출 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007069726A1 (ja) 2005-12-16 2007-06-21 Ihi Corporation 自己位置同定方法と装置および三次元形状の計測方法と装置
JP2020125960A (ja) * 2019-02-04 2020-08-20 株式会社豊田中央研究所 移動体位置推定装置、及び移動体位置推定プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Maria Garcia, et al., "Pedestrian Simultaneous Localization and Mapping in Multistory Buildings Using Inertial Sensors", IEEE Transactions on Intelligent Transportation Systems, Volume15, Issue4(2014)*

Also Published As

Publication number Publication date
KR20220075794A (ko) 2022-06-08

Similar Documents

Publication Publication Date Title
US10701332B2 (en) Image processing apparatus, image processing method, image processing system, and storage medium
EP3251090B1 (en) Occlusion handling for computer vision
US10068344B2 (en) Method and system for 3D capture based on structure from motion with simplified pose detection
KR101862199B1 (ko) 원거리 획득이 가능한 tof카메라와 스테레오 카메라의 합성 시스템 및 방법
US7825948B2 (en) 3D video conferencing
CN107392958B (zh) 一种基于双目立体摄像机确定物体体积的方法及装置
KR101870902B1 (ko) 영상 처리 장치 및 영상 처리 방법
US11328479B2 (en) Reconstruction method, reconstruction device, and generation device
KR101776620B1 (ko) 검색 기반 상관 매칭을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
US9191650B2 (en) Video object localization method using multiple cameras
EP2983131A1 (en) Method and device for camera calibration
JP2008535116A (ja) 3次元レンダリング用の方法及び装置
KR102110459B1 (ko) 3차원 이미지 생성 방법 및 장치
WO2022127181A1 (zh) 客流的监测方法、装置、电子设备及存储介质
KR20140074201A (ko) 추적 장치
CN110717593B (zh) 神经网络训练、移动信息测量、关键帧检测的方法及装置
JP2001266128A (ja) 奥行き情報取得方法,装置および奥行き情報取得プログラムを記録した記録媒体
WO2021193672A1 (ja) 三次元モデル生成方法及び三次元モデル生成装置
KR102461980B1 (ko) 3차원 지도의 생성 방법
KR102410300B1 (ko) 스테레오 카메라를 이용한 카메라 위치 측정 장치 및 방법
JP2009301242A (ja) 頭部候補抽出方法、頭部候補抽出装置、頭部候補抽出プログラムおよびそのプログラムを記録した記録媒体
KR20150040194A (ko) 하이브리드 카메라에 기초한 동공 추적을 이용한 홀로그램 표시 장치 및 방법
KR102425270B1 (ko) 3차원 공간에서 위치를 추정하는 방법
KR102542363B1 (ko) 3차원 공간에서 객체를 인식하는 방법
US20220230342A1 (en) Information processing apparatus that estimates object depth, method therefor, and storage medium holding program therefor

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right