KR102316232B1 - 2차원 지도 정보를 기반으로 거리뷰 이미지의 포즈를 정합시키기 위한 전자 장치 및 그의 동작 방법 - Google Patents

2차원 지도 정보를 기반으로 거리뷰 이미지의 포즈를 정합시키기 위한 전자 장치 및 그의 동작 방법 Download PDF

Info

Publication number
KR102316232B1
KR102316232B1 KR1020200013496A KR20200013496A KR102316232B1 KR 102316232 B1 KR102316232 B1 KR 102316232B1 KR 1020200013496 A KR1020200013496 A KR 1020200013496A KR 20200013496 A KR20200013496 A KR 20200013496A KR 102316232 B1 KR102316232 B1 KR 102316232B1
Authority
KR
South Korea
Prior art keywords
map information
pose
street view
information
updating
Prior art date
Application number
KR1020200013496A
Other languages
English (en)
Other versions
KR20210099752A (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 KR1020200013496A priority Critical patent/KR102316232B1/ko
Publication of KR20210099752A publication Critical patent/KR20210099752A/ko
Application granted granted Critical
Publication of KR102316232B1 publication Critical patent/KR102316232B1/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
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration

Landscapes

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

Abstract

다양한 실시예들에 따른 전자 장치 및 그의 동작 방법은, 2차원 지도 정보를 기반으로 거리뷰 이미지의 포즈를 정합시키기 위한 것으로, 실외 환경에 대한 2차원 지도 정보 및 복수 개의 거리뷰 이미지들을 획득하고, 거리뷰 이미지들을 이용하여, 3차원 지도를 생성하고, 2차원 지도 정보를 이용하여 3차원 지도를 정합하고, 정합된 3차원 지도 정보를 기반으로, 실외 환경에 대한 비주얼 로컬리제이션을 제공하도록 구성될 수 있다.

Description

2차원 지도 정보를 기반으로 거리뷰 이미지의 포즈를 정합시키기 위한 전자 장치 및 그의 동작 방법{ELECTRONIC DEVICE FOR CONFORMING POSE OF STREET VIEW IMAGE BASED ON TWO-DIMENSION MAP INFORMATION AND OPERATING METHOD THEREOF}
다양한 실시예들은 2차원 지도 정보를 기반으로 거리뷰 이미지의 포즈를 정합시키기 위한 전자 장치 및 그의 동작 방법에 관한 것이다.
일반적으로 비주얼 로컬리제이션(visual localization; VL)은 실내 환경에서의 내비게이션을 제공하기 위해 제안되었다. 예를 들면, 로봇은 실내 환경에 대한 지도 정보를 이용하여 비주얼 로컬리제이션을 수행하고, 이를 통해 실내에서 이동할 수 있다. 현재, 비주얼 로컬리제이션을 실외 환경으로 확장시키기 위한 연구가 이루어지고 있다. 실외 환경에서의 비주얼 로컬리제이션을 위해서는, 실외 환경에 대한 3차원 지도 정보가 필요하다. 그런데, 실외 환경에 대한 3차원 지도 정보를 기반으로 비주얼 로컬리제이션을 제공하는 데, 각종 오류가 발생되는 문제점이 있다. 예를 들면, 2차원 지도 정보를 이용하여 3차원 지도 정보 상에 커서링 시, 커서링과 관련된 아이템의 형태 또는 사이즈가 왜곡되어 표시될 수 있다.
다양한 실시예들은, 실외 환경에 대한 3차원 지도 정보를 기반으로 실외 환경에서의 비주얼 로컬리제이션을 제공하기 위한 전자 장치 및 그의 동작 방법을 제공한다.
다양한 실시예들은, 3차원 지도 정보를 생성하면서, 2차원 지도 정보를 기반으로 3차원 지도 정보를 처리할 수 있는 전자 장치 및 그의 동작 방법을 제공한다.
다양한 실시예들은, 2차원 지도 정보를 기반으로 거리뷰 이미지의 포즈를 정합시키기 위한 전자 장치 및 그의 동작 방법을 제공한다.
다양한 실시예들에 따른 전자 장치의 동작 방법은, 실외 환경에 대한 2차원 지도 정보 및 복수 개의 거리뷰 이미지들을 획득하는 동작, 상기 2차원 지도 정보 및 상기 거리뷰 이미지들을 이용하여, 3차원 지도 정보를 생성하는 동작, 및 상기 3차원 지도 정보를 기반으로, 상기 실외 환경에 대한 비주얼 로컬리제이션(visual localization)을 제공하는 동작을 포함할 수 있다.
다양한 실시예들에 따른 전자 장치는, 메모리, 및 상기 메모리와 연결되고, 상기 메모리에 저장된 적어도 하나의 명령을 실행하도록 구성된 프로세서를 포함하고, 상기 프로세서는, 실외 환경에 대한 2차원 지도 정보 및 복수 개의 거리뷰 이미지들을 획득하고, 상기 2차원 지도 정보 및 상기 거리뷰 이미지들을 이용하여, 3차원 지도 정보를 생성하고, 상기 3차원 지도 정보를 기반으로, 상기 실외 환경에 대한 비주얼 로컬리제이션을 제공하도록 구성될 수 있다.
다양한 실시예들에 따르면, 전자 장치가 실외 환경에 대한 3차원 지도 정보를 생성함으로써, 실외 환경에서의 비주얼 로컬리제이션을 제공할 수 있다. 즉 전자 장치는 실외 환경에 대한 3차원 지도 정보를 기반으로, 실외 환경에서의 측위를 수행할 수 있다. 이 때 전자 장치가 2차원 지도 정보를 기반으로 3차원 지도 정보를 생성하는 데 필요한 거리뷰 이미지의 포즈를 정합시킴으로써, 비주얼 로컬리제이션을 제공할 때 발생되는 오류를 최소화할 수 있다. 예를 들면, 2차원 지도 정보를 이용하여 3차원 지도 정보 상에 커서링 시, 커서링과 관련된 아이템의 형태 또는 사이즈에 대한 왜곡이 최소화될 수 있다. 또한, 비주얼 로컬리제이션을 기반으로 증강 현실(augmented reality; AR) 내비게이션(navigation)을 제공하는 데 있어서, 2차원 지도 정보의 관심점(point of interest; POI)(예: 상점, 횡단보도, 건물 등) 데이터를 활용할 수 있다.
도 1은 다양한 실시예들에 따른 전자 장치를 도시하는 도면이다.
도 2는 2차원 지도 정보를 설명하기 위한 도면이다.
도 3a 및 도 3b는 3차원 지도 정보를 나타내는 도면들이다.
도 4는 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 도면이다.
도 5는 도 4의 3차원 지도 정보 생성 동작을 도시하는 도면이다.
도 6 및 도 7은 도 4의 3차원 지도 정보 생성 동작을 설명하기 위한 도면들이다.
도 8은 도 5의 각 거리뷰 이미지의 포즈 최적화 동작을 도시하는 도면이다.
도 9는 도 5의 각 거리뷰 이미지의 포즈 최적화 동작을 설명하기 위한 도면이다.
이하, 본 문서의 다양한 실시예들이 첨부된 도면을 참조하여 설명된다.
다양한 실시예들은, 실외 3차원 지도 정보를 기반으로 비주얼 로컬리제이션(visual localization; VL)을 제공하기 위한 전자 장치 및 그의 동작 방법을 제공한다. 다양한 실시예들에 따르면, 전자 장치가 실외 환경에 대한 3차원 지도 정보를 생성함으로써, 실외 환경에서의 비주얼 로컬리제이션을 제공할 수 있다. 즉 전자 장치는 실외 환경에 대한 3차원 지도 정보를 기반으로, 실외 환경에서의 측위를 수행할 수 있다. 이 때 전자 장치가 2차원 지도 정보를 기반으로 3차원 지도 정보를 생성하는 데 필요한 거리뷰 이미지의 포즈를 정합시킬 수 있다. 이를 통해, 전자 장치가 비주얼 로컬리제이션을 제공할 때 발생되는 오류를 최소화할 수 있다. 예를 들면, 2차원 지도 정보를 이용하여 3차원 지도 정보 상에 커서링 시, 커서링과 관련된 아이템의 형태 또는 사이즈에 대한 왜곡이 최소화될 수 있다. 또한, 비주얼 로컬리제이션을 기반으로 증강 현실 내비게이션(AR navigation)을 제공하는 데 있어서, 2차원 지도 정보의 관심점(POI)(예: 상점, 횡단보도, 건물 등) 데이터를 활용할 수 있다.
도 1은 다양한 실시예들에 따른 전자 장치(100)를 도시하는 도면이다. 도 2는 2차원 지도 정보를 설명하기 위한 도면이다. 도 3a 및 도 3b는 3차원 지도 정보를 나타내는 도면들이다.
도 1을 참조하면, 다양한 실시예들에 따른 전자 장치(100)는 통신 모듈(110), 입력 모듈(120), 출력 모듈(130), 메모리(140) 또는 프로세서(150) 중 적어도 어느 하나를 포함할 수 있다. 어떤 실시예에서, 전자 장치(100)의 구성 요소들 중 적어도 어느 하나가 생략될 수 있으며, 적어도 하나의 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서, 전자 장치(100)의 구성 요소들 중 적어도 어느 두 개가 하나의 통합된 회로로 구현될 수 있다. 여기서, 전자 장치(100)는 서버 또는 전자 기기 중 적어도 어느 하나를 포함할 수 있다. 예를 들면, 전자 기기는 스마트폰(smart phone), 휴대폰, 내비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(personal digital assistants), PMP(portable multimedia player), 태블릿 PC, 게임 콘솔(game console), 웨어러블 디바이스(wearable device), IoT(internet of things) 디바이스, VR(virtual reality) 디바이스, AR(augmented reality) 디바이스 또는 로봇(robot) 중 적어도 어느 하나를 포함할 수 있다.
통신 모듈(110)은 전자 장치(100)에서 외부 장치(181, 183)와 통신을 수행할 수 있다. 통신 모듈(110)은 전자 장치(100)와 외부 장치(181, 183) 간 통신 채널을 수립하고, 통신 채널을 통해, 외부 장치(181, 183)와 통신을 수행할 수 있다. 여기서, 외부 장치(181, 183)는 위성, 서버 또는 전자 기기 중 적어도 어느 하나를 포함할 수 있다. 예를 들면, 전자 기기는 스마트폰, 휴대폰, 내비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA, PMP(portable multimedia player), 태블릿 PC, 게임 콘솔, 웨어러블 디바이스, IoT 디바이스, VR(virtual reality) 디바이스, AR 디바이스 또는 로봇 중 적어도 어느 하나를 포함할 수 있다. 통신 모듈(110)은 유선 통신 모듈 또는 무선 통신 모듈 중 적어도 어느 하나를 포함할 수 있다. 유선 통신 모듈은 외부 장치(181)와 유선으로 연결되어, 유선으로 통신할 수 있다. 무선 통신 모듈은 근거리 통신 모듈 또는 원거리 통신 모듈 중 적어도 어느 하나를 포함할 수 있다. 근거리 통신 모듈은 외부 장치(181)와 근거리 통신 방식으로 통신할 수 있다. 예를 들면, 근거리 통신 방식은, 블루투스(Bluetooth), 와이파이 다이렉트(WiFi direct), 또는 적외선 통신(IrDA; infrared data association) 등을 포함할 수 있다. 원거리 통신 모듈은 외부 장치(183)와 원거리 통신 방식으로 통신할 수 있다. 여기서, 원거리 통신 모듈은 네트워크(190)를 통해 외부 장치(183)와 통신할 수 있다. 예를 들면, 네트워크(190)는 셀룰러 네트워크, 인터넷, 또는 LAN(local area network)이나 WAN(wide area network)과 같은 컴퓨터 네트워크 등을 포함할 수 있다.
입력 모듈(120)은 전자 장치(100)의 적어도 하나의 구성 요소에 사용될 신호를 입력할 수 있다. 입력 모듈(120)은, 사용자가 전자 장치(100)에 직접적으로 신호를 입력하도록 구성되는 입력 장치 또는 주변 환경을 감지하여 신호를 발생하도록 구성되는 센서 장치 중 적어도 어느 하나를 포함할 수 있다. 예를 들면, 입력 장치는 마이크로폰(microphone), 마우스(mouse) 또는 키보드(keyboard) 중 적어도 어느 하나를 포함할 수 있다. 어떤 실시예에서, 센서 장치는 터치를 감지하도록 설정된 터치 회로(touch circuitry) 또는 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로 중 적어도 어느 하나를 포함할 수 있다.
출력 모듈(130)은 전자 장치(100)의 외부로 정보를 출력할 수 있다. 출력 모듈(130)은, 정보를 시각적으로 출력하도록 구성되는 표시 장치 또는 정보를 오디오 신호로 출력할 수 있는 오디오 출력 장치 중 적어도 어느 하나를 포함할 수 있다. 예를 들면, 표시 장치는 디스플레이, 홀로그램 장치 또는 프로젝터 중 적어도 어느 하나를 포함할 수 있다. 일 예로, 표시 장치는 입력 모듈(120)의 터치 회로 또는 센서 회로 중 적어도 어느 하나와 조립되어, 터치 스크린으로 구현될 수 있다. 예를 들면, 오디오 출력 장치는 스피커 또는 리시버 중 적어도 어느 하나를 포함할 수 있다.
메모리(140)는 전자 장치(100)의 적어도 하나의 구성 요소에 의해 사용되는 다양한 데이터를 저장할 수 있다. 예를 들면, 메모리(140)는 휘발성 메모리 또는 비휘발성 메모리 중 적어도 어느 하나를 포함할 수 있다. 데이터는 적어도 하나의 프로그램 및 이와 관련된 입력 데이터 또는 출력 데이터를 포함할 수 있다. 프로그램은 메모리(140)에 적어도 하나의 명령을 포함하는 소프트웨어로서 저장될 수 있으며, 운영 체제, 미들 웨어 또는 어플리케이션 중 적어도 어느 하나를 포함할 수 있다.
프로세서(150)는 메모리(140)의 프로그램을 실행하여, 전자 장치(100)의 적어도 하나의 구성 요소를 제어할 수 있다. 이를 통해, 프로세서(150)는 데이터 처리 또는 연산을 수행할 수 있다. 이 때 프로세서(150)는 메모리(140)에 저장된 명령을 실행할 수 있다.
다양한 실시예들에 따르면, 프로세서(150)는 실외 3차원 지도 정보를 기반으로 비주얼 로컬리제이션을 제공할 수 있다. 즉 프로세서(150)는 실외 3차원 지도 정보를 기반으로, 실외 환경에서의 측위(localization)를 수행할 수 있다. 이를 위해, 실외 환경에 대한 3차원 지도 정보가 요구될 수 있다. 프로세서(150)는 실외 환경에 대한 2차원 지도 정보 또는 2차원 이미지 정보 중 적어도 어느 하나를 기반으로, 3차원 지도 정보를 생성할 수 있다. 예를 들면, 실외 환경은 특정 지역으로 정의될 수 있다. 프로세서(150)는 3차원 지도 정보를 메모리(140)에 저장할 수 있다. 그리고, 프로세서(150)는 필요 시에, 3차원 지도 정보를 기반으로, 측위를 수행할 수 있다.
프로세서(150)는 외부 장치(181, 183), 예컨대 서버로부터 실외 환경에 대한 2차원 지도 정보를 획득할 수 있다. 이 때 2차원 지도 정보는 적어도 하나의 객체의 위치, 예컨대 지피에스(GPS; global positioning system) 위치를 포함할 수 있다. 예를 들면, 2차원 지도 정보가, 도 2에 도시된 바와 같이 획득될 수 있다.
프로세서(150)는 실외 환경에 대한 스캐닝을 통해, 2차원 이미지 정보를 획득할 수 있다. 이 때 2차원 이미지 정보는 복수 개의 거리뷰 이미지들과 거리뷰 이미지들 각각에 대한 포즈(pose) 정보를 포함할 수 있다. 여기서, 포즈 정보는 위치, 예컨대 지피에스 위치, 및 포즈, 예컨대 3축 위치 값들과 3축 방향 값들을 포함할 수 있다. 예를 들면, 프로세서(150)는 사전에 2차원 이미지 정보를 메모리(140)에 저장하고, 필요 시에, 메모리(140)로부터 2차원 이미지 정보를 획득할 수 있다.
프로세서(150)는 거리뷰 이미지들로부터, 3차원 지도 정보를 생성할 수 있다. 이 때 프로세서(150)는 SfM(structure from motion) 알고리즘을 이용하여, 거리뷰 이미지들을 이용하여, 3차원 지도 정보를 생성할 수 있다. 예를 들면, 3차원 지도 정보가, 도3a 또는 도 3b에 도시된 바와 같이 생성될 수 있다.
프로세서(150)는 2차원 지도 정보를 기반으로, 3차원 지도 정보의 포즈 정보를 업데이트할 수 있다. 이 때 프로세서(150)는 2차원 지도 정보로부터 적어도 하나의 객체를 검출할 수 있다. 예를 들면, 프로세서(150)는 2차원 지도 정보에서 객체 외곽의 선(line)을 검출할 수 있다. 그리고, 프로세서(150)는 3차원 지도 정보에서 객체에 대응하는 영역을 검출할 수 있다. 여기서, 프로세서(150)는 2차원 지도 정보에서의 객체의 위치를 기반으로, 3차원 지도 정보에서 영역을 검출할 수 있다. 예를 들면, 프로세서(150)는 3차원 지도 정보의 포인트 클라우드(point cloud)를 기반으로, 영역 외곽의 점(point)들을 검출할 수 있다. 이를 통해, 프로세서(150)는 객체에 영역이 정합되도록, 3차원 지도 정보의 포즈를 업데이트할 수 있다. 바꿔 말하면, 프로세서(150)는 3차원 지도 정보에서의 영역 외곽의 점들을 2차원 지도 정보에서의 객체 외곽의 선에 정합시킬 수 있다. 예를 들면, 프로세서(150)는 ICP(iterative closet point) 알고리즘을 이용하여, 3차원 지도 정보의 영역을 2차원 지도 정보의 객체에 정합시킬 수 있다.
도 4는 다양한 실시예들에 따른 전자 장치(100)의 동작 방법을 도시하는 도면이다.
도 4를 참조하면, 전자 장치(100)는 410 동작에서 실외 환경에 대한 2차원 지도 정보 및 2차원 이미지 정보를 획득할 수 있다. 프로세서(150)는 외부 장치(181, 183), 예컨대 서버로부터 실외 환경에 대한 2차원 지도 정보를 획득할 수 있다. 이 때 2차원 지도 정보는 적어도 하나의 객체의 위치, 예컨대 지피에스 위치를 포함할 수 있다. 한편, 프로세서(150)는 실외 환경에 대한 스캐닝을 통해, 2차원 이미지 정보를 획득할 수 있다. 이 때 2차원 이미지 정보는 복수 개의 거리뷰 이미지들과 거리뷰 이미지들 각각에 대한 포즈 정보를 포함할 수 있다. 여기서, 포즈 정보는 위치, 예컨대 지피에스 위치, 및 포즈, 예컨대 3축 위치 값들과 3축 방향 값들을 포함할 수 있다. 예를 들면, 프로세서(150)는 사전에 2차원 이미지 정보를 메모리(140)에 저장할 수 있다. 그리고, 프로세서(150)는 메모리(140)로부터 2차원 이미지 정보를 획득할 수 있다.
전자 장치(100)는 420 동작에서 2차원 지도 정보 또는 2차원 이미지 정보 중 적어도 어느 하나를 기반으로, 실외 환경에 대한 3차원 지도 정보를 생성할 수 있다. 프로세서(150)는 2차원 이미지 정보를 기반으로, 3차원 지도 정보를 생성할 수 있다. 이 때 프로세서(150)는 SfM 알고리즘을 이용하여, 거리뷰 이미지들을 이용하여, 3차원 지도 정보를 생성할 수 있다. 이에 대해, 도 5, 도 6 및 도 7을 참조하여, 보다 상세하게 후술될 것이다.
도 5는 도 4의 3차원 지도 정보 생성 동작을 도시하는 도면이다. 도 6 및 도 7은 도 4의 3차원 지도 정보 생성 동작을 설명하기 위한 도면들이다.
도 5를 참조하면, 전자 장치(100)는 510 동작에서 2차원 지도 정보로부터 적어도 하나의 객체(610)를 검출할 수 있다. 프로세서(150)는, 2차원 지도 정보로부터 객체(610)를 검출할 수 있다. 예를 들면, 프로세서(150)는, 도 6에 도시된 바와 같이 2차원 지도 정보에서 객체(610) 외곽의 선(611)을 검출할 수 있다. 여기서, 프로세서(150)는 2차원 지도 정보로부터 객체(610)의 위치를 획득할 수 있다.
전자 장치(100)는 520 동작에서 2차원 이미지 정보를 기반으로, 3차원 지도 정보를 생성할 수 있다. 프로세서(150)는 2차원 이미지 정보의 거리뷰 이미지들을 이용하여, 3차원 지도 정보를 생성할 수 있다. 그리고, 전자 장치(100)는 530 동작에서 3차원 지도 정보로부터 객체(610)에 대응하는 영역(620)을 검출할 수 있다. 여기서, 프로세서(150)는 2차원 지도 정보에서의 객체(610)의 위치를 기반으로, 3차원 지도 정보에서 객체(610)에 대응하는 영역(620)을 검출할 수 있다. 예를 들면, 프로세서(150)는, 도 6에 도시된 바와 같이 3차원 지도 정보로서 포인트 클라우드(621)를 생성하고, 포인트 클라우드(621)를 기반으로 영역 외곽의 점(623)들을 검출할 수 있다.
전자 장치(100)는 540 동작에서 객체(610)에 영역(620)이 정합되도록, 영역(620)의 포즈를 최적화할 수 있다. 프로세서(150)는, 도 7에 도시된 바와 같이 3차원 지도 정보의 포인트 클라우드(621)를 처리하여, 영역(620) 외곽의 점(623)들을객체(610) 외곽의 선(611)에 정합시킬 수 있다. 예를 들면, 프로세서(150)는 ICP 알고리즘을 이용하여, 영역(620)을 객체(610)에 정합시킬 수 있다. 여기서, 영역(620) 외곽의 점(623)들이 회전(rotation) 또는 병진(translation) 중 적어도 어느 하나를 수행할 수 있다. 이에 대해, 도 8 및 도 9를 참조하여, 보다 상세하게 후술될 것이다.
도 8은 도 5의 각 거리뷰 이미지의 포즈 최적화 동작을 도시하는 도면이다. 도 9는 도 5의 각 거리뷰 이미지의 포즈 최적화 동작을 설명하기 위한 도면이다.
도 8을 참조하면, 전자 장치(100)는 810 동작에서 객체(610)와 영역(620) 사이의 오차(error)를 계산할 수 있다. 프로세서(150)는 객체(610)와 영역(620) 사이의 거리를 기반으로, 오차를 계산할 수 있다. 이 때 프로세서(150)는 영역(620) 외곽의 점(623)들에 대해, 오차들을 각각 계산하고, 오차들을 합산할 수 있다.
예를 들면, 객체(610) 외곽의 선(611) 상의 점들을 위한 직선 방정식(line equation)이, 하기 [수학식 1]과 같이 정의될 수 있다. 그리고, 영역(620) 외곽의 점(623)들에 대한 객체(610) 외곽의 선(611) 상의 점들로의 거리(distance)가, 하기[수학식 2]와 같은 거리 함수(distance function)에 따라 결정될 수 있다. 이를 통해, 프로세서(150)는, 하기 [수학식 3]과 같은 오차 함수를 기반으로, 영역(620) 외곽의 점(623)들로부터 객체(610) 외곽의 선(611) 상의 점들로의 오차들을 합산할 수 있다. 여기서, 오차 함수는 거리 함수에 대한 최소 제곱법(least square)을 기초로 할 수 있다. 여기서, 프로세서(150)는 미리 정해진 기준을 기반으로, 영역(620) 외곽의 점(623)들에 적어도 하나의 가중치를 각각 부여할 수 있다.
Figure 112020011936242-pat00001
여기서,
Figure 112020011936242-pat00002
는 직선 방정식을 나타내고,
Figure 112020011936242-pat00003
는 객체(610) 외곽의 선(611) 상의 점들에 대한 벡터를 나타내고,
Figure 112020011936242-pat00004
는 변수 값을 나타내고,
Figure 112020011936242-pat00005
는 법선 벡터(normal vector)를 나타낼 수 있다.
Figure 112020011936242-pat00006
여기서,
Figure 112020011936242-pat00007
는 거리 함수를 나타내고,
Figure 112020011936242-pat00008
은 상기 [수학식 1]을 기반으로 결정되는 선 벡터(line vector)를 나타내고,
Figure 112020011936242-pat00009
는 영역(620) 외곽의 점(623)들에 대한 벡터를 나타내고,
Figure 112020011936242-pat00010
Figure 112020011936242-pat00011
와 도 9의 (a)에 도시된 바와 같은 관계에 있을 수 있으며, 이를 통해 상기 [수학식 2]와 같은 거리 함수가 도 9의 (b)를 기반으로 정의될 수 있다.
Figure 112020011936242-pat00012
여기서,
Figure 112020011936242-pat00013
는 오차 함수를 나타내고,
Figure 112020011936242-pat00014
는 회전 행렬(rotation matrix)을 나타내고,
Figure 112020011936242-pat00015
은 영역(620) 외곽의 점(623)들의 총 개수를 나타내고,
Figure 112020011936242-pat00016
은 각 점(623)의 식별자를 나타내고,
Figure 112020011936242-pat00017
는 가중치를 나타낼 수 있다. 예를 들면, 가중치는 영역(620) 외곽의 점(623)들 생성 시 시맨틱 세그멘테이션(semantic segmentation) 기법을 통해 얻을 수 있는 의미 정보(건물, 가로수, 신호등, 도로, 등)에 따라 그 중요도를 부과하거나, 영역(620) 외곽의 점(623)들을 생성하기 위해 사용된 특징점 개수, SfM 추정 오차에 따라 다르게 부과될 수 있다.
전자 장치(100)는 820 동작에서 객체(610)와 영역(620) 사이의 오차를 미리 정해진 임계치와 비교할 수 있다. 프로세서(150)는, 오차가 임계치 이하인 지의 여부를 판단할 수 있다. 예를 들면, 임계치는 0 이상일 수 있다. 820 동작에서 오차가 임계치 이하이면, 전자 장치(100)는 도 4로 리턴하여, 430 동작으로 진행할 수 있다.
한편, 820 동작에서 오차가 임계치를 초과하면, 전자 장치(100)는 830 동작에서 3차원 지도 정보에서의 영역(620)의 포즈를 추정할 수 있다. 프로세서(150)는 오차가 감소되는 방향으로, 3차원 지도 정보에서의 영역(620)의 포즈를 추정할 수 있다. 즉 프로세서(150)는, 영역(620) 외곽의 점(623)들에 대한 객체(610) 외곽의 선(611) 상의 타겟 점들로의 거리가 짧아지도록, 영역(620) 외곽의 점(623)들의 위치를 추정할 수 있다. 이 후 전자 장치(100)는 도 5로 리턴하여, 550 동작으로 진행할 수 있다. 다시 도 5를 참조하면, 전자 장치(100)는 550 동작에서 최적화된 포즈를 기반으로, 3차원 지도 정보 및 거리뷰 이미지들을 업데이트할 수 있다. 프로세서(150)는 최적화된 포즈를 이용하여, 3차원 지도 정보를 업데이트할 수 있다. 그리고, 프로세서(150)는 최적화된 포즈를 이용하여, 거리뷰 이미지들 중 적어도 어느 하나의 포즈를 업데이트 할 수 있다. 이 후 전자 장치(100)는 도 4로 리턴하여, 430 동작으로 진행할 수 있다.
일 실시예에 따르면, 도시되지는 않았으나, 전자 장치(100)는 550 동작을 수행한 후에, 530 동작, 540 동작 및 550 동작을 재수행할 수 있다. 이를 통해, 전자 장치(100)는 530 동작에서 3차원 지도 정보에서 객체(610)에 대응하는 영역(620)을 재차 검출할 수 있다. 그리고, 전자 장치(100)는 540 동작에서 객체(610)에 영역(620)이 정합되도록 영역(620)의 포즈를 최적화할 수 있다. 이를 통해, 전자 장치(110)는 550 동작에서 최적화된 포즈를 기반으로, 3차원 지도 정보 및 거리뷰 이미지들을 업데이트할 수 있다. 이 때 전자 장치(100)는 도 8의 820 동작에서 오차가 임계치 이하로 될 때까지, 530 동작, 540 동작 및 550 동작을 반복하여 수행할 수 있다.
다시 도 4를 참조하면, 전자 장치(100)는 430 동작에서 3차원 지도 정보를 기반으로, 비주얼 로컬리제이션을 제공할 수 있다.
일 실시예에 따르면, 프로세서(150)는 3차원 지도 정보를 기반으로, 실외 환경에서의 측위를 수행할 수 있다. 예를 들면, 프로세서(150)는 외부 장치(181, 183)로부터 수신되는 쿼리 이미지(query image)에 대응하여, 측위를 수행할 수 있다. 프로세서(150)는 통신 모듈(110)을 통해, 외부 장치(181, 183)로부터 쿼리 이미지를 수신할 수 있다. 프로세서(150)는 쿼리 이미지를 기반으로, 복수 개의 영역(510)들 중 어느 하나에 대한 3차원 지도 정보를 검출할 수 있다. 이 때 프로세서(150)는 딥러닝(deep learning) 모델을 통해 쿼리 이미지로부터 특징 정보를 추출하고, 특징 정보를 이용하여 3차원 지도 정보를 검출할 수 있다. 그리고, 프로세서(150)는 3차원 지도 정보에서 쿼리 이미지에 대응하는 지점의 위치를 추정할 수 있다.
다른 실시예에 따르면, 프로세서(150)는 3차원 지도 정보를 기반으로, 커서링(cursoring)을 수행할 수 있다. 예를 들면, 프로세서(150)는 사용자의 요청에 대응하여, 커서링을 수행할 수 있다. 프로세서(150)는 입력 모듈(120)을 통해, 3차원 지도 정보에서 특정 영역(620)에 대한 사용자의 요청을 수신할 수 있다. 프로세서(150)는 2차원 지도 정보로부터 특정 영역(620)에 대응하는 객체(610)를 결정하고, 객체의 깊이(depth) 정보를 검출할 수 있다. 그리고, 프로세서(150)는 객체(610)의 깊이 정보를 이용하여, 3차원 지도 정보에서 특정 영역(620)의 깊이 정보를 추정할 수 있다. 이 때 특정 영역(620)이 객체(610)에 정합되어 있으므로, 프로세서(150)는 객체(610)의 깊이 정보를 특정 영역(620)의 깊이 정보로 추정할 수 있다. 이를 통해, 프로세서(150)는 특정 영역(620)의 깊이 정보를 이용하여, 3차원 지도 정보 상에서 특정 영역(620)에 대해 커서링을 수행할 수 있다.
또 다른 실시예에 따르면, 프로세서(150)는 비주얼 로컬리제이션을 기반으로 증강 현실 내비게이션(AR navigation)을 제공하는 데 있어서, 2차원 지도 정보의 관심점(POI)(예: 상점, 횡단보도, 건물 등) 데이터를 활용할 수 있다.
다양한 실시예들에 따른 전자 장치(100)의 동작 방법은, 실외 환경에 대한 2차원 지도 정보 및 복수 개의 거리뷰 이미지들을 획득하는 동작, 2차원 지도 정보 및 거리뷰 이미지들을 이용하여, 3차원 지도 정보를 생성하는 동작, 및 3차원 지도 정보를 기반으로, 실외 환경에 대한 비주얼 로컬리제이션을 제공하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 3차원 지도 정보를 생성하는 동작은, 거리뷰 이미지들로부터 3차원 지도 정보를 생성하는 동작, 및 2차원 지도 정보를 기반으로, 3차원 지도 정보의 포즈를 업데이트하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 3차원 지도 정보를 생성하는 동작은, 2차원 지도 정보로부터 객체(610)를 검출하는 동작, 3차원 지도 정보로부터 객체에 대응하는 영역을 검출하는 동작, 객체(610)에 영역(620)이 정합되도록, 3차원 지도 정보의 포즈를 업데이트하는 동작 및 객체(610)에 영역(620)이 정합되도록, 거리뷰 이미지들 중 적어도 어느 하나의 포즈를 업데이트하는 동작을 더 포함할 수 있다.
다양한 실시예들에 따르면, 3차원 지도 정보를 생성하는 동작은, SfM 알고리즘을 이용하여 거리뷰 이미지들로부터 3차원 지도 정보를 생성할 수 있다.
다양한 실시예들에 따르면, 3차원 지도 정보의 포즈를 업데이트하는 동작은, 객체(610)와 영역(620) 사이의 오차를 계산하는 동작, 오차가 감소되도록, 3차원 지도 정보의 포즈를 추정하는 동작, 및 3차원 지도 정보에 대해, 추정된 포즈로 업데이트하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 3차원 지도 정보의 포즈를 추정하는 동작은, 오차가 미리 정해진 임계치를 초과하면, 수행되는 방법.
다양한 실시예들에 따르면, 객체(610)에 대응하는 영역(620)을 검출하는 동작은, 추정된 포즈로 업데이트하는 동작 후에, 반복될 수 있다.
다양한 실시예들에 따르면, 3차원 지도 정보의 포즈를 업데이트하는 동작은, ICP 알고리즘을 이용하여, 객체(610)에 영역(620)이 정합되도록, 3차원 지도 정보의 포즈를 업데이트할 수 있다.
다양한 실시예들에 따르면, 비주얼 로컬리제이션을 제공하는 동작은, 2차원 지도 정보로부터 객체(610)의 깊이 정보를 검출하는 동작, 검출된 깊이 정보를 이용하여, 3차원 지도 정보에서 객체(610)에 대응하는 영역(620)의 깊이 정보를 추정하는 동작, 및 추정된 깊이 정보를 이용하여, 비주얼 로컬리제이션을 제공하는 동작을 포함할 수 있다.
다양한 실시예들에 따른 전자 장치(100)는, 메모리(140), 및 메모리(140)와 연결되고, 메모리에 저장된 적어도 하나의 명령을 실행하도록 구성된 프로세서(150)를 포함할 수 있다.
다양한 실시예들에 따르면, 프로세서(150)는, 실외 환경에 대한 2차원 지도 정보 및 복수 개의 거리뷰 이미지들을 획득하고, 2차원 지도 정보 및 거리뷰 이미지들을 이용하여, 3차원 지도 정보를 생성하고, 3차원 지도 정보를 기반으로, 실외 환경에 대한 비주얼 로컬리제이션을 제공하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(150)는, 거리뷰 이미지들로부터, 3차원 지도 정보를 생성하고, 2차원 지도 정보를 기반으로, 3차원 지도 정보의 포즈를 업데이트하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(150)는, 2차원 지도 정보로부터 객체(610)를 검출하고, 3차원 지도 정보로부터 객체(610)에 대응하는 영역(620)을 검출하고, 객체(610)에 영역(620)이 정합되도록, 3차원 지도 정보의 포즈를 업데이트하고, 객체(610)에 영역(620)이 정합되도록, 거리뷰 이미지들 중 적어도 어느 하나의 포즈를 업데이트하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(150)는, SfM 알고리즘을 이용하여, 거리뷰 이미지들로부터 3차원 지도 정보를 생성하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(150)는, 객체(610)와 영역(620) 사이의 오차를 계산하고, 오차가 감소되도록, 3차원 지도 정보의 포즈를 추정하고, 3차원 지도 정보에 대해, 추정된 포즈로 업데이트하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(150)는, 오차가 미리 정해진 임계치를 초과하면, 3차원 지도 정보의 포즈를 추정하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(150)는, 3차원 지도 정보에 대해, 추정된 포즈로 업데이트한 후에, 3차원 지도 정보로부터 객체(610)에 대응하는 영역(620)을 재차 검출하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(150)는, ICP 알고리즘을 이용하여, 객체(610)에 영역(620)이 정합되도록, 3차원 지도 정보의 포즈를 업데이트하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(150)는, 2차원 지도 정보로부터 객체(610)의 깊이 정보를 검출하고, 검출된 깊이 정보를 이용하여, 3차원 지도 정보에서 객체(610)에 대응하는 영역(620)의 깊이 정보를 추정하고, 추정된 깊이 정보를 이용하여, 비주얼 로컬리제이션을 제공하도록 구성될 수 있다.
본 문서의 다양한 실시예들은 컴퓨터 장치(예: 전자 장치(100))에 의해 읽을 수 있는 기록 매체(storage medium)(예: 메모리(140))에 저장된 하나 이상의 명령들을 포함하는 컴퓨터 프로그램으로서 구현될 수 있다. 예를 들면, 컴퓨터 장치의 프로세서(예: 프로세서(150))는, 기록 매체로부터 저장된 하나 이상의 명령들 중 적어도 하나를 호출하고, 그것을 실행할 수 있다. 이것은 컴퓨터 장치가 호출된 적어도 하나의 명령에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 하나 이상의 명령들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 컴퓨터 장치로 읽을 수 있는 기록 매체는, 비일시적(non-transitory) 기록 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 기록 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 기록 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
다양한 실시예들에 따른 컴퓨터 프로그램은, 컴퓨터 장치와 결합되어 비주얼 로컬리제이션(visual localization) 제공 방법을 상기 컴퓨터 장치에 실행시키기 위해 컴퓨터 판독 가능한 기록 매체에 저장될 수 있다.
다양한 실시예들에 따르면, 비주얼 로컬리제이션 제공 방법은, 실외 환경에 대한 2차원 지도 정보 및 복수 개의 거리뷰 이미지들을 획득하는 동작, 2차원 지도 정보 및 거리뷰 이미지들을 이용하여, 3차원 지도 정보를 생성하는 동작, 및 3차원 지도 정보를 기반으로, 실외 환경에 대한 비주얼 로컬리제이션을 제공하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 전자 장치(100)가 실외 환경에 대한 3차원 지도 정보를 생성함으로써, 실외 환경에서의 비주얼 로컬리제이션을 제공할 수 있다. 즉 전자 장치(100)는 실외 환경에 대한 3차원 지도 정보를 기반으로, 실외 환경에서의 측위를 수행할 수 있다. 이 때 전자 장치(100)가 2차원 지도 정보를 기반으로 3차원 지도 정보를 생성하는 데 필요한 거리뷰 이미지의 포즈를 정합시킴으로써, 비주얼 로컬리제이션을 제공할 때 발생되는 오류를 최소화할 수 있다. 예를 들면, 2차원 지도 정보를 이용하여 3차원 지도 정보 상에 커서링 시, 커서링과 관련된 아이템의 형태 또는 사이즈에 대한 왜곡이 최소화될 수 있다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성 요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성 요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성 요소를 다른 구성 요소와 구분하기 위해 사용될 뿐 해당 구성 요소들을 한정하지 않는다. 어떤(예: 제 1) 구성 요소가 다른(예: 제 2) 구성 요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성 요소가 상기 다른 구성 요소에 직접적으로 연결되거나, 다른 구성 요소(예: 제 3 구성 요소)를 통하여 연결될 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
다양한 실시예들에 따르면, 기술한 구성 요소들의 각각의 구성 요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성 요소들 중 하나 이상의 구성 요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성 요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성 요소들(예: 모듈 또는 프로그램)은 하나의 구성 요소로 통합될 수 있다. 이런 경우, 통합된 구성 요소는 복수의 구성 요소들 각각의 구성 요소의 하나 이상의 기능들을 통합 이전에 복수의 구성 요소들 중 해당 구성 요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (14)

  1. 전자 장치의 동작 방법에 있어서,
    실외 환경에 대한 2차원 지도 정보 및 복수 개의 거리뷰 이미지들을 획득하는 동작;
    상기 거리뷰 이미지들을 이용하여, 3차원 지도 정보를 생성하는 동작;
    상기 2차원 지도 정보로부터 검출되는 객체 외곽의 선에 상기 3차원 지도 정보로부터 검출되는 상기 객체에 대응하는 영역 외곽의 점들이 정합되도록, 상기 3차원 지도 정보의 포즈를 업데이트하는 동작; 및
    상기 3차원 지도 정보를 기반으로, 상기 실외 환경에 대한 비주얼 로컬리제이션(visual localization)을 제공하는 동작을 포함하는 방법.
  2. 삭제
  3. 제 1 항에 있어서, 상기 3차원 지도 정보의 포즈를 업데이트하는 동작은,
    상기 객체 외곽의 선에 정합되도록 상기 영역 외곽의 점들에 대해 회전 또는 병진 중 적어도 하나를 수행하여, 상기 3차원 지도 정보의 포즈를 업데이트하는 동작; 및
    상기 객체 외곽의 선에 정합되도록 상기 영역 외곽의 점들에 대해 회전 또는 병진 중 적어도 하나를 수행하여, 상기 거리뷰 이미지들 중 적어도 어느 하나의 포즈를 업데이트하는 동작을 포함하는 방법.
  4. 제 1 항에 있어서, 상기 3차원 지도 정보를 생성하는 동작은,
    SfM(structure from motion) 알고리즘을 이용하여, 상기 거리뷰 이미지들로부터 상기 3차원 지도 정보를 생성하는 방법.
  5. 제 1 항에 있어서, 상기 3차원 지도 정보의 포즈를 업데이트하는 동작은,
    상기 2차원 지도 정보로부터 상기 객체 외곽의 선을 검출하는 동작;
    상기 3차원 지도 정보로부터 상기 영역 외곽의 점들을 검출하는 동작;
    상기 객체 외곽의 선과 상기 영역 외곽의 점들 사이의 오차를 계산하는 동작;
    상기 오차가 감소되도록, 상기 3차원 지도 정보의 포즈를 추정하는 동작; 및
    상기 3차원 지도 정보에 대해, 상기 추정된 포즈로 업데이트하는 동작을 포함하는 방법.
  6. 제 5 항에 있어서, 상기 3차원 지도 정보의 포즈를 추정하는 동작은,
    상기 오차가 미리 정해진 임계치를 초과하면, 수행되는 방법.
  7. 제 6 항에 있어서, 상기 영역 외곽의 점들을 검출하는 동작은,
    상기 추정된 포즈로 업데이트하는 동작 후에, 반복되는 방법.
  8. 제 1 항에 있어서, 상기 3차원 지도 정보의 포즈를 업데이트하는 동작은,
    ICP(iterative closet point) 알고리즘을 이용하여, 상기 3차원 지도 정보의 포즈를 업데이트하는 방법.
  9. 제 1 항에 있어서, 상기 비주얼 로컬리제이션을 제공하는 동작은,
    상기 3차원 지도 정보에서의 특정 영역에 대한 사용자의 요청을 기반으로, 상기 2차원 지도 정보로부터 상기 특정 영역에 대응하는 객체의 깊이 정보를 검출하는 동작;
    상기 검출된 깊이 정보를 이용하여, 상기 3차원 지도 정보에서 상기 특정 영역의 깊이 정보를 추정하는 동작; 및
    상기 추정된 깊이 정보를 이용하여, 상기 비주얼 로컬리제이션을 제공하는 동작을 포함하는 방법.
  10. 전자 장치에 있어서,
    메모리; 및
    상기 메모리와 연결되고, 상기 메모리에 저장된 적어도 하나의 명령을 실행하도록 구성된 프로세서를 포함하고,
    상기 프로세서는,
    실외 환경에 대한 2차원 지도 정보 및 복수 개의 거리뷰 이미지들을 획득하고,
    상기 거리뷰 이미지들을 이용하여, 3차원 지도 정보를 생성하고,
    상기 2차원 지도 정보로부터 검출되는 객체 외곽의 선에 상기 3차원 지도 정보로부터 검출되는 상기 객체에 대응하는 영역 외곽의 점들이 정합되도록, 상기 3차원 지도 정보의 포즈를 업데이트하고,
    상기 3차원 지도 정보를 기반으로, 상기 실외 환경에 대한 비주얼 로컬리제이션을 제공하도록 구성되는 장치.
  11. 삭제
  12. 제 10 항에 있어서, 상기 프로세서는,
    상기 2차원 지도 정보로부터 상기 객체 외곽의 선을 검출하고,
    상기 3차원 지도 정보로부터 상기 영역 외곽의 점들을 검출하고,
    상기 객체 외곽의 선에 정합되도록 상기 영역 외곽의 점들에 대해 회전 또는 병진 중 적어도 하나를 수행하여, 상기 3차원 지도 정보의 포즈를 업데이트하고,
    상기 객체 외곽의 선에 정합되도록 상기 영역 외곽의 점들에 대해 회전 또는 병진 중 적어도 하나를 수행하여, 상기 거리뷰 이미지들 중 적어도 어느 하나의 포즈를 업데이트하도록 구성되는 장치.
  13. 제 10 항에 있어서, 상기 프로세서는,
    상기 3차원 지도 정보에서의 특정 영역에 대한 사용자의 요청을 기반으로, 상기 2차원 지도 정보로부터 상기 특정 영역에 대응하는 객체의 깊이 정보를 검출하고,
    상기 검출된 깊이 정보를 이용하여, 상기 3차원 지도 정보에서 상기 특정 영역의 깊이 정보를 추정하고,
    상기 추정된 깊이 정보를 이용하여, 상기 비주얼 로컬리제이션을 제공하도록 구성되는 장치.
  14. 컴퓨터 장치와 결합되어 비주얼 로컬리제이션 제공 방법을 상기 컴퓨터 장치에 실행시키기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램에 있어서,
    상기 비주얼 로컬리제이션 제공 방법은,
    실외 환경에 대한 2차원 지도 정보 및 복수 개의 거리뷰 이미지들을 획득하는 동작;
    상기 거리뷰 이미지들을 이용하여, 3차원 지도 정보를 생성하는 동작;
    상기 2차원 지도 정보로부터 검출되는 객체 외곽의 선에 상기 3차원 지도 정보로부터 검출되는 상기 객체에 대응하는 영역 외곽의 점들이 정합되도록, 상기 3차원 지도 정보의 포즈를 업데이트하는 동작; 및
    상기 3차원 지도 정보를 기반으로, 상기 실외 환경에 대한 비주얼 로컬리제이션을 제공하는 동작을 포함하는 컴퓨터 프로그램.
KR1020200013496A 2020-02-05 2020-02-05 2차원 지도 정보를 기반으로 거리뷰 이미지의 포즈를 정합시키기 위한 전자 장치 및 그의 동작 방법 KR102316232B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200013496A KR102316232B1 (ko) 2020-02-05 2020-02-05 2차원 지도 정보를 기반으로 거리뷰 이미지의 포즈를 정합시키기 위한 전자 장치 및 그의 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200013496A KR102316232B1 (ko) 2020-02-05 2020-02-05 2차원 지도 정보를 기반으로 거리뷰 이미지의 포즈를 정합시키기 위한 전자 장치 및 그의 동작 방법

Publications (2)

Publication Number Publication Date
KR20210099752A KR20210099752A (ko) 2021-08-13
KR102316232B1 true KR102316232B1 (ko) 2021-10-22

Family

ID=77313593

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200013496A KR102316232B1 (ko) 2020-02-05 2020-02-05 2차원 지도 정보를 기반으로 거리뷰 이미지의 포즈를 정합시키기 위한 전자 장치 및 그의 동작 방법

Country Status (1)

Country Link
KR (1) KR102316232B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007171230A (ja) 2005-12-19 2007-07-05 Xanavi Informatics Corp 車載地図表示装置
KR101031661B1 (ko) 2010-10-28 2011-04-29 (주)지오투정보기술 디지털 항공사진정보를 이용한 3차원 객체 모델링 방법
JP2012043185A (ja) * 2010-08-19 2012-03-01 Kddi Corp 三次元地図作成方法および装置ならびに窓領域検出装置
US20160179830A1 (en) 2014-12-19 2016-06-23 Qualcomm Incorporated Scalable 3d mapping system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101835434B1 (ko) * 2015-07-08 2018-03-09 고려대학교 산학협력단 투영 이미지 생성 방법 및 그 장치, 이미지 픽셀과 깊이값간의 매핑 방법
KR20180067908A (ko) * 2016-12-13 2018-06-21 한국전자통신연구원 3차원 모델 복원 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007171230A (ja) 2005-12-19 2007-07-05 Xanavi Informatics Corp 車載地図表示装置
JP2012043185A (ja) * 2010-08-19 2012-03-01 Kddi Corp 三次元地図作成方法および装置ならびに窓領域検出装置
KR101031661B1 (ko) 2010-10-28 2011-04-29 (주)지오투정보기술 디지털 항공사진정보를 이용한 3차원 객체 모델링 방법
US20160179830A1 (en) 2014-12-19 2016-06-23 Qualcomm Incorporated Scalable 3d mapping system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Roddick et al. "Orthographic Feature Transform for Monocular 3D Object Detection", arXiv:1811.08188v1[cs.CV](2018)*
Xiaozhi Qu,"Landmark based localization : Detection and update of landmarks with uncertainty analysis", Universite Paris-Est, Hal archieves-ouvertes(2017)*

Also Published As

Publication number Publication date
KR20210099752A (ko) 2021-08-13

Similar Documents

Publication Publication Date Title
US11163997B2 (en) Methods and apparatus for venue based augmented reality
EP3095092B1 (en) Method and apparatus for visualization of geo-located media contents in 3d rendering applications
US10311633B2 (en) Method and apparatus for visualization of geo-located media contents in 3D rendering applications
US20140126769A1 (en) Fast initialization for monocular visual slam
JP7131994B2 (ja) 自己位置推定装置、自己位置推定方法、自己位置推定プログラム、学習装置、学習方法及び学習プログラム
US11854231B2 (en) Localizing an augmented reality device
US20220230350A1 (en) Position recognition method and system based on visual information processing
Zhang et al. Seeing Eye Phone: a smart phone-based indoor localization and guidance system for the visually impaired
KR102347232B1 (ko) 실외 3차원 지도 정보를 기반으로 비주얼 로컬리제이션을 제공하기 위한 전자 장치 및 그의 동작 방법
Yeh et al. 3D reconstruction and visual SLAM of indoor scenes for augmented reality application
CN113610702B (zh) 一种建图方法、装置、电子设备及存储介质
KR102316232B1 (ko) 2차원 지도 정보를 기반으로 거리뷰 이미지의 포즈를 정합시키기 위한 전자 장치 및 그의 동작 방법
KR102643447B1 (ko) 오브젝트 기반 증강 컨텐츠의 위치 기반 ar 연동을 위한 전자 장치 및 그의 동작 방법
KR102150954B1 (ko) 점군 정보 가공 장치 및 방법
KR20210050997A (ko) 포즈 추정 방법 및 장치, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
KR102158316B1 (ko) 점군 정보 가공 장치 및 방법
KR20210051002A (ko) 포즈 추정 방법 및 장치, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
US20240029350A1 (en) Computing apparatus and model generation method
KR102350226B1 (ko) 증강현실 컨텐츠 배치 장치 및 방법
CN113465600B (zh) 一种导航方法、装置及电子设备和存储介质
US20150092985A1 (en) Updating filter parameters of a system
KR20240071697A (ko) 빌딩 컨트롤 포인트 자동 취득 방법 및 시스템
KR20210020331A (ko) 다중 평면 검출을 이용한 실내 위치 추정 장치 및 방법
KR20230055387A (ko) 딥러닝 기반 실내 약도 생성 및 증강현실 실내 내비게이션을 지원하는 사용자 단말 및 컴퓨터 프로그램
CN117893717A (zh) 增强现实地图的尺度参数确定方法及装置

Legal Events

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