KR20220058401A - 3차원 맵을 생성하는 방법 및 생성된 3차원 맵을 이용하여 사용자 단말의 포즈를 결정하는 방법 - Google Patents

3차원 맵을 생성하는 방법 및 생성된 3차원 맵을 이용하여 사용자 단말의 포즈를 결정하는 방법 Download PDF

Info

Publication number
KR20220058401A
KR20220058401A KR1020210102721A KR20210102721A KR20220058401A KR 20220058401 A KR20220058401 A KR 20220058401A KR 1020210102721 A KR1020210102721 A KR 1020210102721A KR 20210102721 A KR20210102721 A KR 20210102721A KR 20220058401 A KR20220058401 A KR 20220058401A
Authority
KR
South Korea
Prior art keywords
pose
query image
matching
determining
user terminal
Prior art date
Application number
KR1020210102721A
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 CN202180073278.XA priority Critical patent/CN116508061A/zh
Priority to PCT/KR2021/010988 priority patent/WO2022092511A1/ko
Publication of KR20220058401A publication Critical patent/KR20220058401A/ko
Priority to US18/117,743 priority patent/US20230206492A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

본 발명의 일 실시 예에 따른 사용자 단말에 포함된 카메라의 포즈(pose)를 결정하는 방법은, 사용자 단말에 의해 사용자 단말이 위치하는 장소를 촬영한 제1 쿼리 이미지에서 카메라의 제1 포즈가 유효하게 예측되었는지 여부에 기초하여, 제1 쿼리 이미지 이후에 사용자 단말에 의해 장소를 촬영한 제2 쿼리 이미지에서의 카메라의 제2 포즈를 예측하는 예측 모드를 결정하는 단계; 및 결정된 예측 모드에 기초하여, 제2 포즈를 결정하는 단계를 포함할 수 있다.

Description

3차원 맵을 생성하는 방법 및 생성된 3차원 맵을 이용하여 사용자 단말의 포즈를 결정하는 방법 {METHOD OF GENERATING 3D MAP AND METHOD OF DETERMINING POSE OF USER TERMINAL USING GENERATED 3D MAP}
본 발명은 3차원 맵을 생성하는 방법 및 생성된 3차원 맵을 이용하여 사용자 단말의 포즈를 결정하는 방법에 관한 것이다.
일반적으로 네비게이션 애플리케이션 등에서 사용자 단말의 위치를 측정하는데 GPS 정보를 이용한다.
하지만, 터널 등 GPS 음영 지역에서는 GPS 정보를 이용한 위치 측정이 불가한데, GPS 음영 지역에서 사용자 단말의 위치를 측정하는 방법으로는 전파 기반의 측위 방법(예컨대, 기지국/AP 위치와 신호강도 기반 측위, 신호 도착 시간 차 또는 입사각 기반의 측위, 격자 단위의 신호 패턴 매칭 기반의 측위), 카메라를 이용한 측위 방법, 라이다 센서를 이용한 측위 방법 등이 있다.
이 중에서 스마트폰과 같은 사용자 단말을 위한 위치 측정 방법으로는, 스마트폰을 이용한 전파 기반의 측위 방법과 카메라를 이용한 측위 방법이 적합한데, 카메라를 이용한 측위 방법은, 상대적으로 위치 측정의 정확도가 높으나, 사전에 데이터 용량이 큰 3차원 맵을 구축해야 하며, 위치 측정을 위한 연산량이 많은 문제가 있다.
본 발명이 해결하고자 하는 과제는 전술한 문제를 해결하기 위하여, 사용자 단말이 위치한 장소를 촬영한 영상들 중에서 선택된 키 프레임을 이용하여 3차원 맵을 생성하고, 이전 프레임에서 유효한 포즈 정보를 획득하였는지 여부에 기초하여 현재 프레임에서의 포즈 정보를 결정하는 방법을 제공하는 것이다.
다만, 본 발명이 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 측면에 따른 사용자 단말에 포함된 카메라의 포즈(pose)를 결정하는 방법은, 상기 사용자 단말에 의해 상기 사용자 단말이 위치하는 장소를 촬영한 제1 쿼리 이미지에서 상기 카메라의 제1 포즈가 유효하게 예측되었는지 여부에 기초하여, 상기 제1 쿼리 이미지 이후에 상기 사용자 단말에 의해 상기 장소를 촬영한 제2 쿼리 이미지에서의 상기 카메라의 제2 포즈를 예측하는 예측 모드를 결정하는 단계; 및 상기 결정된 예측 모드에 기초하여, 상기 제2 포즈를 결정하는 단계를 포함할 수 있다.
상기 제2 포즈를 결정하는 단계는, 상기 제1 포즈가 유효하게 예측된 경우, 상기 제1 포즈를 이용하여, 상기 제2 쿼리 이미지에 대한 매칭 후보로서, 기 생성된 3차원 맵에 포함되고 상기 장소를 기 촬영한 복수의 키 프레임들 중에서 하나 이상의 매칭 프레임을 선택하는 단계를 포함할 수 있다.
상기 제2 포즈를 결정하는 단계는, 상기 제1 포즈가 유효하게 예측된 경우, 상기 제2 쿼리 이미지에서 추출된 제1 로컬 특징(local feature)들과, 상기 하나 이상의 매칭 프레임들에 포함된 제2 로컬 특징 사이의 로컬 특징 매칭을 수행하는 단계; 및 상기 로컬 특징 매칭의 결과를 더 이용하여, 상기 제2 쿼리 이미지의 상기 제2 포즈를 결정하는 단계를 더 포함할 수 있다.
상기 제2 포즈를 결정하는 단계는, 상기 제1 포즈가 유효하게 예측되지 않은 경우, 기 학습된 신경망을 이용하여 상기 제2 쿼리 이미지의 글로벌 특징을 결정하는 단계; 및 상기 제2 쿼리 이미지의 글로벌 특징과, 기 생성된 3차원 맵에 포함되고 상기 장소를 기 촬영한 복수의 키 프레임들 각각의 글로벌 특징을 비교하여, 상기 제2 쿼리 이미지와의 매칭 후보로서, 상기 복수의 키 프레임들 중에서 하나 이상의 매칭 프레임을 선택하는 단계를 포함할 수 있다.
상기 제2 포즈를 결정하는 단계는, 상기 제1 포즈가 유효하게 예측되었지만, 기 설정된 조건을 만족하는 경우, 기 학습된 신경망을 이용하여 결정된 상기 제2 쿼리 이미지의 글로벌 특징과 기 생성된 3차원 맵에 포함되고 상기 장소를 기 촬영한 복수의 키 프레임들 각각의 글로벌 특징을 비교하여 상기 복수의 키 프레임들 중에서 선택된 하나 이상의 프레임과, 상기 제1 포즈를 이용하여 상기 복수의 키 프레임들 중에서 선택된 하나 이상의 프레임을 매칭 프레임으로 선택하는 단계를 포함하고, 상기 기 설정된 조건은, 상기 카메라의 포즈가 유효하게 예측된 횟수가 기 설정된 임계 횟수 이상인 경우, 및 상기 제1 포즈가 유효하게 예측된 경우의 예측 모드에 따라 결정된 상기 제2 포즈와 상기 제1 포즈가 유효하게 예측되지 않은 경우의 예측 모드에 따라 결정된 상기 제2 포즈의 거리 차이가 기 설정된 임계 거리 이상인 경우 중에서 적어도 하나를 포함할 수 있다.
상기 제2 포즈를 결정하는 단계는, 기 생성된 3차원 맵에 포함되고 상기 장소를 기 촬영한 복수의 키 프레임들 중에서 상기 제2 쿼리 이미지와 매칭되는 하나 이상의 매칭 이미지를 선택하는 단계; 및 상기 하나 이상의 매칭 이미지에 포함된 로컬 특징들과 상기 제2 쿼리 이미지에 포함된 로컬 특징들 사이의 로컬 특징 매칭을 이용하여, 상기 제2 쿼리 이미지의 상기 제2 포즈를 결정하는 단계를 포함하고, 상기 3차원 맵은, 장소 촬영 장치 또는 상기 단말 포즈 결정 장치가 상기 장소를 기 촬영한 영상 중에서 소정의 기준을 이용하여 선택된 복수의 키 프레임들을 이용하여 생성되고, 상기 소정의 기준은 시간 간격, 및 상기 장소 촬영 단말 또는 상기 단말 포즈 결정 장치의 이동 거리를 중에서 적어도 하나를 포함할 수 있다.
상기 3차원 맵은, 상기 복수의 키 프레임들 중에서 적어도 하나를 하나 이상의 각도로 회전하여 생성된 이미지를 더 이용하여 생성된 것일 수 있다.
상기 제2 포즈를 결정하는 단계는, 상기 제2 쿼리 이미지에서 추출된 제1 로컬 특징(local feature)들과, 기 생성된 3차원 맵에 포함되고 상기 장소를 기 촬영한 하나 이상의 키 프레임들에 포함된 제2 로컬 특징 사이의 로컬 특징 매칭을 수행하는 단계; 및 상기 로컬 특징 매칭의 결과를 이용하여, 상기 제2 쿼리 이미지의 상기 제2 포즈를 결정하는 단계를 포함하고, 상기 제2 로컬 특징들은, 상기 제1 로컬 특징들과, 상기 하나 이상의 키 프레임들 각각에 포함된 복수의 로컬 특징들 중에서 상기 제1 로컬 특징들 각각에 매칭되는 로컬 특징들 사이의 거리를 계산하여, 상기 거리가 가장 짧은 거리를 갖는 로컬 특징들일 수 있다.
상기 제2 포즈를 결정하는 단계에서, 상기 로컬 특징 매칭의 결과로서 얻어진 상기 제1 로컬 특징들과 상기 제2 로컬 특징들의 매칭 쌍(pair) 중에서, 매칭된 상기 제1 로컬 특징들과 상기 제2 로컬 특징들 사이의 계산된 거리가 짧은 순서로 기 설정된 개수만큼의 매칭 쌍을 이용할 수 있다.
상기 방법은, 상기 사용자 단말로부터, 상기 제2 쿼리 이미지와 함께, 상기 제1 포즈가 유효하게 예측되었는지 여부에 대한 정보, 상기 제1 포즈 정보, 직전 쿼리 이미지가 유효하게 예측되지 않은 경우에 예측된 상기 사용자 단말의 마지막 포즈 정보 및 이전 이미지들 중에서 포즈가 유효하게 예측되었다고 결정된 횟수가 상기 사용자 단말에 의해 획득되는 단계를 더 포함할 수 있다.
상기 방법은, 상기 제2 포즈와 함께, 상기 제2 포즈를 유효하게 예측하였는지 여부에 대한 정보, 및 상기 제2 쿼리 이미지 및 제2 쿼리 이미지 이전의 이미지들에서 포즈가 유효하게 예측되었다고 결정된 횟수가 상기 사용자 단말에 의해 획득되는 단계를 더 포함할 수 있다.
본 발명의 다른 측면에 따른 단말 포즈 결정 장치는, 사용자 단말로부터, 상기 사용자 단말이 위치하는 장소를 촬영한 제1 쿼리 이미지를 수신하는 송수신기; 및 상기 제1 쿼리 이미지에서 상기 사용자 단말의 카메라의 제1 포즈가 유효하게 예측되었는지 여부에 기초하여, 상기 제1 쿼리 이미지 이후에 상기 사용자 단말로부터 수신하고 상기 장소를 촬영한 제2 쿼리 이미지에서의 상기 카메라의 제2 포즈를 예측하는 예측 모드를 결정하고, 상기 결정된 예측 모드에 기초하여, 상기 제2 포즈를 결정하는 프로세서를 포함할 수 있다.
본 발명의 또 다른 측면에 따른 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체는, 상기 사용자 단말에 의해 상기 사용자 단말이 위치하는 장소를 촬영한 제1 쿼리 이미지에서 상기 카메라의 제1 포즈가 유효하게 예측되었는지 여부에 기초하여, 상기 제1 쿼리 이미지 이후에 상기 사용자 단말에 의해 상기 장소를 촬영한 제2 쿼리 이미지에서의 상기 카메라의 제2 포즈를 예측하는 예측 모드를 결정하는 단계; 및 상기 결정된 예측 모드에 기초하여, 상기 제2 포즈를 결정하는 단계를 포함하고, 단말 포즈 결정 장치에 의해 수행되는 사용자 단말에 포함된 카메라의 포즈(pose)를 결정하는 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함할 수 있다.
본 발명의 실시예에 의하면, 사용자 단말이 위치한 장소를 촬영한 영상들 중에서 선택된 키 프레임을 이용하여 3차원 맵을 생성함으로써, 3차원 맵의 데이터 용량을 감소시킬 수 있다.
또한, 본 발명의 실시예에 의하면, 이전 프레임에서 유효한 포즈 정보를 획득한 경우, 글로벌 특징에 대한 매칭을 수행하지 하지 않으며, 로컬 특징 매칭에 사용하는 로컬 특징의 개수를 감소시킴으로써, 사용자 단말의 포즈 정보를 획득하는데 이용되는 연산량을 감소시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 단말 포즈 결정 시스템을 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따라 3차원 맵을 생성하는 3차원 맵 생성 장치를 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 단말 포즈 결정 모델의 기능을 관념적으로 나타내는 블록도이다.
도 4는 본 발명의 일 실시예에 따라 키 프레임을 회전시켜 이미지를 생성하는 일 예시를 나타낸다.
도 5는 본 발명의 일 실시예에 따라 쿼리 이미지와 매칭 프레임들을 비교하는 일 예시를 나타낸다.
도 6은 본 발명의 일 실시예에 따라 쿼리 이미지에 포함된 로컬 특징과 매칭 이미지에 포함된 로컬 특징을 매칭하는 일 예시를 나타낸다.
도 7은 본 발명의 일 실시예에 따른 쿼리 이미지에 포함되는 로컬 특징과 매칭 프레임에 포함되는 로컬 특징을 매칭시킨 로컬 특징 쌍을 찾는 방법을 나타낸다.
도 8은 쿼리 이미지에 포함된 로컬 특징들과 매칭 프레임에 포함되며 매칭되는 쿼리 이미지에 포함된 로컬 특징과의 거리가 가장 짧은 로컬 특징들에 대한 복수의 로컬 특징 쌍 중에서 거리가 짧은 순서로 소정의 개수만큼 제한시킨 로컬 특징 쌍에 대해서만 로컬 특징 매칭을 수행하는 일 예시를 나타낸다.
도 9는 본 발명의 일 실시예에 따른 글로벌 특징 결정 신경망을 학습시키는 방법을 나타내는 블록도이다.
도 10은 본 발명의 일 실시예에 따른 로컬 특징 결정 신경망을 학습시키는 방법을 나타내는 블록도이다.
도 11은 본 발명의 일 실시예에 따라 3차원 맵을 생성하는 방법을 나타내는 흐름도이다.
도 12a 및 도 12b는 본 발명의 일 실시예에 따라 사용자 단말에 포함된 3차원 맵을 생성하는 방법을 나타내는 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 단말 포즈 결정 시스템을 나타내는 블록도이다.
도 1을 참조하면, 단말 포즈 결정 시스템(10)은 사용자 단말(100) 및 단말 포즈 결정 장치(200)를 포함할 수 있다.
사용자 단말(100)은 제1 프로세서(110), 카메라(120), 제1 송수신기(130) 및 제1 메모리(140)를 포함할 수 있다.
제1 프로세서(110)는 사용자 단말(100)의 기능을 전반적으로 제어할 수 있다.
카메라(120)는 사용자 단말(100)의 주변에 대한 이미지를 촬영할 수 있다.
제1 송수신기(130)는 카메라(120)를 이용하여 촬영한 이미지를 단말 포즈 결정 장치(200)로 전송하고, 단말 포즈 결정 장치(200)로부터 사용자 단말(100)의 위치에 대한 정보를 수신할 수 있다.
실시예에 따라, 제1 송수신기(130)는 카메라(120)를 이용하여 촬영한 이미지와 함께, 이전(직전) 프레임에서 포즈 정보가 유효하게 예측되었는지 여부에 대한 정보, 이전(직전) 프레임에서의 포즈 정보, 단말 포즈 추적 모드로 동작하기 직전에 추정된 사용자 단말(100)의 포즈 정보(즉, 초기 포즈 추정 모드로 추정한 가장 최근의 사용자 단말(100)의 포즈 정보) 및 단말 포즈 추적 모드로 동작한 횟수(예컨대, 연속적 횟수 또는 불연속적 횟수)를 더 전송할 수 있다.
제1 메모리(140)는 카메라(120)를 이용하여 이미지를 촬영하고, 제1 송수신기(130)를 이용하여 상기 이미지를 단말 포즈 결정 장치(200)로 전송하고, 단말 포즈 결정 장치(200)로부터 사용자 단말(100)의 위치에 대한 정보를 수신하는 하나 이상의 모델을 저장할 수 있다.
본 명세서에서 '모델'은 각 장치의 기능을 수행하기 위한 소프트웨어(컴퓨터 프로그램 코드) 또는 그의 집합을 의미하는 것으로서, 일련의 명령어들에 의해 구현될 수 있다.
제1 프로세서(110)는, 제1 메모리(140)에 저장된 상기 하나 이상의 프로그램을 실행하여, 이미지를 촬영하고, 상기 촬영한 이미지를 단말 포즈 결정 장치(200)로 전송하고, 단말 포즈 결정 장치(200)로부터 사용자 단말(100)의 위치에 대한 정보를 수신할 수 있다.
단말 포즈 결정 장치(200)는 사용자 단말(100)로부터 수신한 이미지와 기 저장된 3차원 맵을 이용하여 사용자 단말(100)의 포즈 정보를 예측할 수 있다.
본 명세서에서, 상기 포즈 정보는 사용자 단말(100)의 위치와 방향(즉, 사용자 단말(100)에 포함된 카메라(120)의 위치와 방향)에 대한 정보를 포함할 수 있다. 예컨대, 상기 포즈 정보는 6-자유도(Degree of Freedom, DOF)(즉, X, Y 및 Z를 포함하는 위치 정보, 및 Pitch, Roll 및 Yaw를 포함하는 회전 정보)를 이용하여 표현될 수 있다.
실시예에 따라, 단말 포즈 결정 장치(200)는 서버(예컨대, 클라우드 서버)로 구현될 수 있으나, 이에 한정되지 않는다. 즉, 단말 포즈 결정 장치(200)는 사용자 단말(100)로부터 이미지를 수신하여 사용자 단말(100)의 포즈 정보를 예측하는 어떠한 장치로도 구현될 수 있다.
단말 포즈 결정 장치(200)는 제2 프로세서(210), 제2 송수신기(220) 및 제2 메모리(230)를 포함할 수 있다.
제2 프로세서(210)는 단말 포즈 결정 장치(200)의 기능을 전반적으로 제어할 수 있다.
제2 송수신기(220)는 사용자 단말(100)로부터 카메라(120)를 이용하여 촬영한 이미지를 수신하고, 단말 포즈 결정 모델(260)을 이용하여 예측된 사용자 단말(100)의 포즈 정보를 사용자 단말(100)로 전송할 수 있다.
제2 메모리(230)는 3차원 맵(250) 및 단말 포즈 결정 모델(260)을 저장할 수 있다.
제2 프로세서(210)는, 단말 포즈 결정 모델(260)을 실행하여, 사용자 단말(100)로부터 수신한 이미지 및 3차원 맵(250)으로부터 사용자 단말(100)의 포즈 정보를 예측할 수 있다.
3차원 맵 생성 장치를 이용하여 3차원 맵(250)을 생성하는 방법은 도 2를 통해 보다 자세하게 설명하고, 단말 포즈 결정 모델(260)의 기능은 도 3을 통해 보다 자세하게 설명하기로 한다.
본 명세서에서는 설명의 편의를 위해 3차원 맵(250)이 제2 메모리(230)에 저장된 것으로 설명하지만, 이에 한정되지 않는다. 즉, 단말 포즈 결정 시스템(10)은 단말 포즈 결정 장치(200)와는 구분되는 데이터베이스(미도시)를 포함할 수 있고, 3차원 맵(250)은 데이터베이스(미도시)에 저장될 수 있다. 이와 같은 경우, 단말 포즈 결정 장치(200)는 3차원 맵(250)을 데이터베이스(미도시)로부터 수신하여 사용자 단말(100)의 포즈 정보를 예측할 수 있다.
도 2는 본 발명의 일 실시예에 따라 3차원 맵을 생성하는 3차원 맵 생성 장치를 나타내는 블록도이다.
도 1 및 도 2를 참조하면, 3차원 맵 생성 장치(300)는 제3 프로세서(310), 카메라부(320) 및 제3 메모리(330)를 포함할 수 있다.
실시예에 따라, 3차원 맵 생성 장치(300)는 단말 포즈 결정 장치(200)와 동일할 수 있으나, 이에 한정되지 않는다. 즉, 단말 포즈 결정 장치(200)가 3차원 맵(250)을 생성하고, 생성한 3차원 맵(250)을 이용하여 사용자 단말(100)에 포함된 카메라(120)의 포즈 정보를 결정할 수 있으나, 실시예에 따라, 3차원 맵 생성 장치(300)는 3차원 맵(250)을 생성하고, 단말 포즈 결정 장치(200)는 3차원 맵 생성 장치(300)에서 생성한 3차원 맵(250)을 이용하여 사용자 단말(100)에 포함된 카메라(120)의 포즈 정보를 결정할 수도 있다.
제3 프로세서(310)는 3차원 맵 생성 장치(300)의 기능을 전반적으로 제어할 수 있다.
카메라부(320)는 하나 이상의 카메라를 포함할 수 있다. 카메라부(320)는 상기 하나 이상의 카메라를 이용하여, 3차원 맵을 제작하고자 하는 장소를 촬영한 영상을 생성할 수 있다.
실시예에 따라, 카메라부(320)가 복수의 카메라들을 포함하는 경우, 상기 복수의 카메라들은 상기 장소를 360도로 촬영할 수 있도록 서로 다른 방향을 향하도록 설치될 수 있다.
본 명세서에서는, 설명의 편의를 위하여, 3차원 맵 생성 장치(300)가 카메라부(320)에 포함된 하나 이상의 카메라를 이용하여 상기 장소를 촬영하는 것으로 설명하지만, 이에 한정되지 않는다. 즉, 실시예에 따라, 3차원 맵 생성 장치(300)는 카메라부(320)를 포함하지 않을 수 있고, 이와 같은 경우, 3차원 맵 생성 장치(300)는 외부의 카메라부가 촬영한 이미지를 수신할 수 있다(입력받을 수 있다).
또한, 실시예에 따라, 3차원 맵 생성 장치(300)는 카메라부(320)에 더하여 센서부(미도시)를 포함할 수 있다. 실시예에 따라, 센서부(미도시)는 라이다(LiDar)를 포함할 수 있다. 3차원 맵 생성 장치(300)는 카메라부(320)와 센서부(미도시)를 이용하여 상기 장소에 대한 이미지 및 상기 이미지에 포함된 특징에 대한 정보를 생성할 수 있다.
제3 메모리(330)는 3차원 맵 생성 모델(350)을 저장할 수 있다.
제3 프로세서(310)는, 3차원 맵 생성 모델(350)을 실행하여, 상기 장소를 촬영한 이미지 및 상기 이미지에 포함된 특징점에 대한 정보를 포함하는 3차원 맵을 생성할 수 있다.
3차원 맵 생성 모델(350)은 키 프레임 선택부(351), 키 프레임 회전부(353), 글로벌 특징 결정부(355), 로컬 특징 결정부(357), 포즈 계산부(359) 및 3차원 맵 생성부(361)를 포함할 수 있다.
도 2에 도시된 키 프레임 선택부(351), 키 프레임 회전부(353), 글로벌 특징 결정부(355), 로컬 특징 결정부(357), 포즈 계산부(359) 및 3차원 맵 생성부(361)는 3차원 맵 생성 모델(350)의 기능을 쉽게 설명하기 위하여 3차원 맵 생성 모델(350)의 기능을 개념적으로 나눈 것으로서, 이에 한정되지 않는다. 즉, 실시예들에 따라, 키 프레임 선택부(351), 키 프레임 회전부(353), 글로벌 특징 결정부(355), 로컬 특징 결정부(357), 포즈 계산부(359) 및 3차원 맵 생성부(361)의 기능은 병합/분리 가능하며, 하나 이상의 프로그램에 포함된 일련의 명령어들로 구현될 수도 있다.
키 프레임 선택부(351)는 카메라부(320)를 이용하여 촬영한 영상에 포함된 복수의 프레임들 중에서 3차원 맵을 제작하는데 이용되는 키 프레임들을 선택할 수 있다.
보다 자세하게는, 3차원 맵 생성 장치(300)는 3차원 맵을 제작하고자 하는 장소를 지그재그(zigzag) 형태로 이동하면서 상기 영상을 촬영할 수 있고, 키 프레임 선택부(351)는 기 설정된 기준에 따라 키 프레임들을 선택할 수 있다.
상기 기 설정된 기준은, 시간 간격 및 3차원 맵 생성 장치(300)의 이동 거리를 포함할 수 있다.
즉, 3차원 맵 생성 장치(300)가 촬영한 영상에 포함된 프레임들 중에서 인접하는 몇몇의 프레임들은, 3차원 맵 생성 장치(300)의 이동 속도에 따라, 실질적으로 동일한 장면을 촬영한 프레임일 수 있다. 따라서, 키 프레임 선택부(351)는 중복되는 프레임들을 이용하여 3차원 맵(250)을 생성하지 않도록 기 설정된 기준에 따라 키 프레임들을 선택할 수 있다.
키 프레임 회전부(353)는 키 프레임 선택부(351)에서 선택한 키 프레임들을 하나 이상의 각도로 회전시켜 하나 이상의 이미지를 생성하고, 생성된 이미지를 키 프레임으로 이용할 수 있다.
이는, 복수의 카메라들을 이용하여 영상을 촬영하더라도, 상기 장소를 모든 방향에서 촬영하기에는 한계가 있고, 동일한 시간에 촬영한 영상들 사이의 시점(view)의 변화가 크면, 인식의 성능이 저하되기 때문이며, 키 프레임 회전부(353)가 촬영된 하나의 프레임을 여러 방향으로 회전시킨 이미지들을 키 프레임으로 사용하는 경우, 프레임들 사이에서 촬영되지 않은 영역이 최소화되고, 회전시킨 이미지들과 원본 프레임은 촬영한 위치가 동일하기 때문에 인식의 성능의 저하를 막을 수 있다.
이를 위해, 키 프레임 회전부(353)는 아래의 수학식 1을 이용하여 선택된 키 프레임들을 하나 이상의 각도로 회전시킬 수 있다.
Figure pat00001
여기서, K는 카메라 내부의 기 설정된 파라미터를 나타내고, R은 회전 변환 행렬을 나타내고, m은 회전 전의 키 프레임의 좌표를 나타내고, m'는 회전 후의 키 프레임의 좌표를 나타낼 수 있다.
즉, 키 프레임 회전부(353)는 카메라 내부의 기 설정된 파라미터 및 기 설정된 회전 변환 행렬을 이용하여, 선택된 키 프레임들을 회전시킨 이미지를 생성할 수 있다.
예컨대, 도 4를 더 참조하면, 도 4의 (a)는 키 프레임 선택부(351)가 기 설정된 기준에 따라 선택한 키 프레임을 나타내고, 도 4의 (b)는 키 프레임 회전부(353)가 키 프레임을 수학식 1을 이용하여 회전시킨 이미지를 나타낸다.
도 4의 (a)와 같이 키 프레임이 선택되는 경우, 키 프레임 회전부(353)는 키 프레임을 위 방향으로 소정의 각도만큼 회전시켜 도 4의 (b)의 이미지를 생성할 수 있다. 다만, 회전 전의 키 프레임의 크기와 회전 후의 이미지의 크기가 서로 동일하다면, 키 프레임의 회전으로 인하여 키 프레임에 포함되지 않은 영역(B)이 키 프레임의 회전 후의 이미지에 포함될 수 있다. 이때, 키 프레임에 포함되지 않은 영역(B)은 도 4의 (b)와 같이 검은 색으로 표현될 수 있다.
키 프레임 선택부(351)에 의해 선택된 키 프레임 및 키 프레임 회전부(353)에 의해 생성된 키 프레임(이하, 대표하여 키 프레임)은 글로벌 특징 정보, 하나 이상의 로컬 특징 정보 및 포즈 정보를 포함할 수 있다.
아래와 같이, 상기 키 프레임에 포함된 글로벌 특징 정보, 로컬 특징 정보 및 포즈 정보는 글로벌 특징 결정부(355), 로컬 특징 결정부(357) 및 포즈 계산부(359)에 의해 결정될 수 있다.
우선, 글로벌 특징 결정부(355)는 상기 키 프레임을 고차원의 벡터로 표현한 글로벌 특징을 결정할 수 있다. 상기 글로벌 특징은 상기 키 프레임을 다른 키 프레임들과 구분하기 위한, 일종의 식별자일 수 있다.
실시예에 따라, 글로벌 특징 결정부(355)는 키 프레임이 입력되면, 입력된 키 프레임의 글로벌 특징을 출력하도록 기 학습된 글로벌 특징 결정 신경망(예컨대, NetVLAD)을 포함할 수 있다. 이와 같은 경우, 글로벌 특징 결정부(355)는 기 학습된 글로벌 특징 결정 신경망에 키 프레임을 입력하면, 상기 글로벌 특징 결정 신경망으로부터 출력되는 벡터를 이용하여 상기 글로벌 특징으로 결정할 수 있다.
글로벌 특징 결정부(355)에 포함된 글로벌 특징 결정 신경망을 학습시키는 방법은 도 8을 통해 설명하기로 한다.
로컬 특징 결정부(357)는 상기 키 프레임에 포함된 로컬 특징(local feature)을 하나 이상 추출하고, 상기 로컬 특징의 위치 정보 및 설명자(descriptor) 정보를 나타내는 고차원의 벡터를 결정할 수 있다.
상기 위치 정보는 상기 로컬 특징의 상기 키 프레임 상에서의 위치(2차원 위치) 및 상기 로컬 특징의 절대적인 위치(예컨대, 지구 상에서의 (x, y, z) 좌표)(3차원 위치)를 포함할 수 있다.
또한, 상기 설명자 정보는 상기 로컬 특징을 다른 로컬 특징(즉, 동일한 키 프레임 내에 포함된 다른 로컬 특징 또는 다른 키 프레임 내에 포함된 로컬 특징)과 구분하기 위한 것으로서, 상기 로컬 특징과 상기 로컬 특징 주위의 픽셀과의 상관 관계를 의미할 수 있다.
실시예에 따라, 로컬 특징 결정부(357)는 키 프레임이 입력되면, 입력된 키 프레임의 로컬 특징을 나타내는 고차원의 벡터를 출력하도록 기 학습된 로컬 특징 결정 신경망(예컨대, Super Point)을 포함할 수 있다. 이와 같은 경우, 로컬 특징 결정부(357)는 상기 로컬 특징 결정 신경망에 키 프레임을 입력하면, 상기 로컬 특징 결정 신경망으로부터 출력되는 벡터들을 이용하여 상기 로컬 특징들 결정할 수 있다.
로컬 특징 결정부(357)에 포함된 로컬 특징 결정 신경망을 학습시키는 방법은 도 9를 통해 설명하기로 한다.
포즈 계산부(359)는 기 설정된 SLAM 알고리즘에 로컬 특징 결정부(357)에서 결정된 로컬 특징들을 입력하여, 상기 키 프레임의 포즈 정보 및 상기 키 프레임에 포함된 로컬 특징들의 좌표 정보(예컨대, 지구 상의 3차원 절대 좌표)를 계산할 수 있다.
보다 자세하게는, 포즈 계산부(359)는 상기 키 프레임에 포함된 로컬 특징들을 포즈 정보가 기 정의된 다른 키 프레임들에 포함된 로컬 특징들과 비교하여 키 프레임의 포즈 정보를 계산할 수 있다.
키 프레임 선택부(351) 및 키 프레임 회전부(353)에 의해 선택 또는 생성된 키 프레임마다, 앞서 설명한 바와 같이 글로벌 특징 결정부(355), 로컬 특징 결정부(357) 및 포즈 계산부(359)에 의해 결정된, 글로벌 특징, 하나 이상의 로컬 특징 및 포즈 정보를 포함할 수 있다.
3차원 맵 생성부(361)는 키 프레임을, 키 프레임에 대응되는 글로벌 특징, 로컬 특징 및 포즈 정보와 함께 저장하여 3차원 맵을 생성할 수 있다. 즉, 3차원 맵 생성부(361)는 상기 키 프레임의 글로벌 특징, 상기 키 프레임에 포함된 하나 이상의 로컬 특징 및 상기 키 프레임에 포함된 로컬 특징들의 좌표 정보를 포함하는 상기 키 프레임을 이용하여 3차원 맵을 생성할 수 있다.
3차원 맵 생성 장치(300)는 생성한 3차원 맵을 단말 포즈 결정 장치(200)(또는 데이터베이스)에 저장할 수 있다.
도 3은 본 발명의 일 실시예에 따른 단말 포즈 결정 모델의 기능을 관념적으로 나타내는 블록도이다.
도 1 및 도 3을 참조하면, 단말 포즈 결정 모델(260)은 사용자 단말(100)로부터 수신한 이미지와 기 저장된 3차원 맵(250)을 이용하여 사용자 단말(100)의 포즈 정보를 예측할 수 있다.
이를 위해, 단말 포즈 결정 모델(260)은 예측 모드 결정부(261), 매칭 프레임 선택부(263), 로컬 특징 매칭부(265) 및 카메라 포즈 결정부(267)를 포함할 수 있다.
도 3에 도시된 예측 모드 결정부(261), 매칭 프레임 선택부(263), 로컬 특징 매칭부(265) 및 카메라 포즈 결정부(267)는 단말 포즈 결정 모델(260)의 기능을 쉽게 설명하기 위하여 단말 포즈 결정 모델(260)의 기능을 개념적으로 나눈 것으로서, 이에 한정되지 않는다. 즉, 실시예들에 따라, 예측 모드 결정부(261), 매칭 프레임 선택부(263), 로컬 특징 매칭부(265) 및 카메라 포즈 결정부(267)의 기능은 병합/분리 가능하며, 하나 이상의 프로그램에 포함된 일련의 명령어들로 구현될 수도 있다.
예측 모드 결정부(261)는, 이전 프레임에서의 사용자 단말(100)의 포즈 정보가 유효하게 예측되었는지 여부에 기초하여, 사용자 단말(100)의 포즈를 예측할 예측 모드를 결정할 수 있다.
보다 자세하게는, 이전 프레임에서의 사용자 단말(100)의 포즈 정보가 유효하게 예측되지 않은 경우, 예측 모드 결정부(261)는 사용자 단말(100)의 위치를 모르는 상황에서 사용자 단말(100)에 포함된 카메라(120)의 포즈 정보를 예측하는 초기 포즈 추정 모드로 동작하고, 이전(직전) 프레임에서의 사용자 단말(100)의 포즈 정보가 유효하게 예측된 경우, 예측 모드 결정부(261)는 사용자 단말(100)의 위치를 아는 상황에서 사용자 단말(100)에 포함된 카메라(120)의 포즈 정보를 예측하는 단말 포즈 추적 모드로 동작하고, 이전(직전) 프레임에서의 사용자 단말(100)의 포즈 정보가 유효하게 예측되었지만, 기 설정된 조건을 만족하는 경우, 예측 모드 결정부(261)는 초기 포즈 추정 모드와 단말 포즈 추적 모드가 결합된 중간 모드로 동작할 수 있다.
즉, 이전 프레임에서의 사용자 단말(100)의 포즈 정보가 유효하게 예측되지 않았다면, 단말 포즈 결정 모델(260)은 현재 장소에서의 사용자 단말(100)의 올바른 포즈 정보를 갖고 있지 않으므로, 사용자 단말(100)의 포즈 정보를 결정하기 위한 모든 과정을 수행하여야 하지만, 이전 프레임에서의 사용자 단말(100)의 포즈 정보가 유효하게 예측되었다면, 단말 포즈 결정 모델(260)은 이전 프레임에서의 사용자 단말(100)의 포즈 정보를 이용하여 현재 프레임에서의 사용자 단말(100)의 포즈 정보를 결정할 수 있다.
이를 통해, 단말 포즈 결정 모델(260)은 사용자 단말(100)의 포즈 정보를 결정하는데 이용되는 연산량을 줄일 수 있는 뿐만 아니라, 사용자 단말(100)의 포즈 정보의 정확도 또한 향상시킬 수 있다.
예측 모드 결정부(261)에서 결정된 예측 모드가 초기 포즈 추정 모드인 경우, 매칭 프레임 선택부(263)는 기 학습된 글로벌 특징 결정 신경망을 이용하여 사용자 단말(100)로부터 수신한 쿼리 이미지(Query image)의 글로벌 특징을 결정할 수 있다. 실시예에 따라, 상기 글로벌 특징 결정 신경망은 글로벌 특징 결정부(355)에 포함된 신경망과 동일한 신경망일 수 있다.
매칭 프레임 선택부(263)는 쿼리 이미지의 글로벌 특징을 3차원 맵(250)에 저장된 복수의 키 프레임들의 글로벌 특징과 비교하고, 3차원 맵(250)에 저장된 복수의 키 프레임들 중에서 쿼리 이미지와 글로벌 특징의 차이가 가장 적은 하나 이상의 키 프레임을 매칭 프레임으로 선택할 수 있다. 여기서, 상기 매칭 프레임은 상기 쿼리 이미지와의 로컬 특징 매칭을 통해 상기 쿼리 이미지의 포즈 정보를 결정하는데 이용되는 프레임을 의미할 수 있다.
즉, 매칭 프레임 선택부(263)는 쿼리 이미지의 글로벌 특징과 3차원 맵(250)에 저장된 복수의 키 프레임들의 글로벌 특징 사이의 거리(예컨대, 유클리드 거리(Euclidean distance))를 계산하고, 계산한 거리가 가장 짧은 순으로 기 설정된 개수의 키 프레임을 상기 매칭 프레임으로 선택할 수 있다.
예컨대, 도 5를 더 참조하면, 매칭 프레임 선택부(263)는 쿼리 이미지(QI)의 글로벌 특징과 3차원 맵(250)에 저장된 복수의 키 프레임들의 글로벌 특징의 거리를 계산하고, 계산한 거리가 가장 짧은 순으로 기 설정된 3개의 키 프레임들을 매칭 프레임들(MF1, MF2 및 MF3)로 선택할 수 있다.
반면, 예측 모드 결정부(261)에서 결정된 예측 모드가 단말 포즈 추적 모드인 경우, 매칭 프레임 선택부(263)는 이전 프레임에서 예측된 카메라(120)의 포즈 정보를 이용하여 하나 이상의 매칭 프레임을 선택할 수 있다.
보다 자세하게는, 매칭 프레임 선택부(263)는 아래의 수학식 2를 이용하여 하나 이상의 매칭 프레임을 선택할 수 있다.
Figure pat00002
여기서, TKeyFrame은 이전 프레임에서 예측된 카메라(120)의 포즈 정보를 나타내는 행렬이고, TPrev는 이전 프레임에서의 카메라(120)의 포즈 정보를 이용하여 현재 프레임에서의 카메라(120)의 포즈 정보를 결정하기 위한 변환 행렬을 나타내고, TRelative는 이전 프레임에서 현재 프레임까지의 카메라(120)의 회전 및 위치의 변화를 나타내는 행렬일 수 있다.
즉, 매칭 프레임 선택부(263)는 이전 프레임에서 예측된 카메라(120)의 포즈 정보(TKeyFrame)와 변환 행렬(TPrev)의 역변환(TPrev -1)을 이용하여 현재 프레임에서의 카메라(120)의 상대적인 포즈 정보(TRelative)를 결정할 수 있다.
매칭 프레임 선택부(263)는 상대적인 포즈 정보(TRelative)(즉, 이전 프레임에서 현재 프레임까지의 카메라(120)의 위치의 변화)를 정규화한 값이 기 설정된 임계 거리 이하이고, 이전 프레임에서 현재 프레임까지의 카메라(120)의 회전의 변화(예컨대, 행렬을 axis-angle로 표현했을 때의 회전 각도의 변화)가 기 설정된 임계 각도 이하인 키 프레임들을 매칭 프레임으로 선택할 수 있다.
마지막으로, 예측 모드 결정부(261)에서 결정된 예측 모드가 중간 모드인 경우, 효율성과 정확성을 절충하기 위하여, 매칭 프레임 선택부(263)는 초기 포즈 추정 모드와 단말 포즈 추적 모드를 결합하여 매칭 프레임을 선택할 수 있다.
상기 기 설정된 조건은, 단말 포즈 추적 모드로 동작한 횟수가 임계치 이상인 경우, 및 단말 포즈 추적 모드로 계산한 카메라(120)의 포즈 정보와 초기 포즈 추정 모드로 계산한 카메라(120)의 포즈 정보의 차이(예컨대, 거리 차이)가 기 설정된 임계 값 이상인 경우 중에서 적어도 하나를 포함할 수 있다.
즉, 포즈 정보가 유효하게 예측되었다고 결정되더라도, 단말 포즈 추적 모드로 동작한 횟수가 임계치 이상이거나, 단말 포즈 추적 모드로 계산한 카메라(120)의 포즈 정보와 초기 포즈 추정 모드로 계산한 카메라(120)의 포즈 정보의 차이(예컨대, 거리 차이)가 기 설정된 임계 값 이상인 경우, 예측된 포즈 정보의 유효성을 담보할 수 없으므로, 예측 모드 결정부(261)는 초기 포즈 추정 모드와 단말 포즈 추적 모드를 결합하여 매칭 프레임을 선택할 수 있다.
보다 자세하게는, 예측 모드 결정부(261)에서 결정된 예측 모드가 중간 모드인 경우, 매칭 프레임 선택부(263)는 상기 수학식 2를 이용하여 선택된 하나 이상의 프레임과, 글로벌 특징의 거리 차이를 이용하여 선택한 프레임을 매칭 프레임으로 선택할 수 있으며, 이때, 글로벌 특징의 거리 차이를 이용하여 선택한 프레임의 개수는 초기 포즈 추정 모드에서 선택한 매칭 프레임의 개수보다 적을 수 있다.
위와 같이, 매칭 프레임 선택부(263)가 사용자 단말(100)의 예측 모드를 나누어 매칭 프레임을 선택함으로 인하여, 매칭 프레임 선택부(263)는 쿼리 이미지와 로컬 특징 매칭을 수행할 매칭 프레임을 선택하는데 필요한 연산량을 감소시킬 수 있다.
이후, 로컬 특징 매칭부(265)는 상기 쿼리 이미지에서 하나 이상의 로컬 특징을 추출하고, 상기 쿼리 이미지에서 추출한 로컬 특징들과 매칭 프레임 선택부(263)에서 선택한 매칭 프레임에 포함된 로컬 특징들을 매칭하는 로컬 특징 매칭(local feature matching)을 수행할 수 있다.
로컬 특징 매칭부(265)는 상기 로컬 특징 매칭을 수행하여, 상기 쿼리 이미지에 포함된 로컬 특징과 상기 매칭 프레임에 포함된 로컬 특징 사이의 거리(예컨대, 유클리드 거리)를 계산할 수 있다. 상기 쿼리 이미지에 포함된 로컬 특징과 상기 매칭 프레임에 포함된 로컬 특징 사이의 거리는 상기 쿼리 이미지에 포함된 로컬 특징과 상기 매칭 프레임에 포함된 로컬 특징의 유사도를 의미하는 것으로서, 상기 쿼리 이미지에 포함된 로컬 특징의 설명자와 상기 매칭 프레임에 포함된 로컬 특징의 설명자 사이의 거리(즉, 유사도)일 수 있다.
예컨대, 도 6을 더 참조하면, 로컬 특징 매칭부(265)는 쿼리 이미지(QI)에 포함된 모든 로컬 특징과 제2 매칭 프레임(MF2)에 포함된 모든 로컬 특징 사이의 거리를 계산하고, 거리가 가장 짧은 로컬 특징을 매칭하여 로컬 특징 매칭을 수행할 수 있다.
한편, 로컬 특징 매칭 과정에서의 오차로 인하여, 로컬 특징 매칭부(265)는 로컬 특징을 잘못 매칭할 수 있다. 따라서, 매칭의 오차를 줄이기 위하여, 로컬 특징 매칭부(265)는 쿼리 이미지에 포함된 로컬 특징과 매칭 프레임들에 포함된 로컬 특징의 거리의 차이에 기초하여 로컬 특징 매칭의 유효성을 판단할 수 있다.
보다 자세하게는, 상기 쿼리 이미지에 포함된 로컬 특징과 상기 매칭 프레임들에 포함된 로컬 특징들 중에서 거리가 가장 짧은 제1 거리와, 상기 쿼리 이미지에 포함된 로컬 특징과 상기 매칭 프레임들에 포함된 로컬 특징들 중에서 거리가 두 번째로 짧은 제2 거리의 비율이 기 설정된 임계치 이하(미만)인 경우, 로컬 특징 매칭부(265)는 매칭의 결과가 유효하다고 판단할 수 있다.
반면, 상기 제1 거리와 상기 제2 거리의 비율이 기 설정된 임계치 초과(이상)인 경우, 로컬 특징 매칭부(25)는 로컬 특징 매칭의 결과가 유효하지 않다고 판단하고, 쿼리 이미지와 매칭 프레임들 사이의 로컬 특징 매칭을 다시 수행할 수 있다.
이는, 매칭 프레임들은 쿼리 이미지와 글로벌 특징이 가장 유사한 키 프레임들로서, 매칭 프레임들은 서로 유사하거나, 적어도 큰 차이는 없는 이미지이기 때문이다. 즉, 매칭 프레임들은 서로 유사하기 때문에, 쿼리 이미지와 매칭 프레임들 사이의 로컬 특징 매칭은 큰 차이가 없다고 예상할 수 있으며, 만약에 쿼리 이미지와 매칭 프레임들 각각의 로컬 특징 매칭이 매칭 프레임 별로 큰 차이가 보인다면, 로컬 특징 사이의 매칭이 잘못 수행되었다고 추측할 수 있기 때문이다.
또한, 사용자 단말(100)의 위치 및 방향에 따라 쿼리 이미지에는 수많은 로컬 특징들이 포함될 수 있다. 이때, 로컬 특징 매칭부(265)는 (쿼리 이미지에 포함된 로컬 특징들의 개수 * 매칭 프레임에 포함된 로컬 특징들의 개수 * 매칭 프레임의 개수)만큼 로컬 특징 매칭을 수행하고, 매칭된 로컬 특징 쌍(pair)을 전부 이용하여 포즈 정보 결정을 할 경우,이후 카메라 포즈 결정부(267)에서 수행하는 연산량은 증대될 수 있다.
따라서, 로컬 특징 매칭에 대한 연산량을 줄이기 위하여, 로컬 특징 매칭부(265)는 쿼리 이미지에 포함된 로컬 특징들과 매칭 프레임들 각각에 포함되며 매칭되는 로컬 특징들 사이의 거리를 계산하고, 쿼리 이미지에 포함된 로컬 특징들 중에서 매칭 프레임에 포함되며 매칭되는 로컬 특징과의 거리가 가장 짧은 순서로 기 설정된 개수의 로컬 특징들을 선택하고, 쿼리 이미지에 포함된 로컬 특징들 중에서 선택된 로컬 특징만을 이용하여,이후 카메라 포즈 결정부(267)가 수행할 포즈 정보를 결정할 수 있다.
도 7은 본 발명의 다른 실시예에 따른 쿼리 이미지에 포함되는 로컬 특징과 매칭 프레임에 포함되는 로컬 특징을 매칭하는 방법을 나타낸다.
예컨데, 도 7을 참조하면, 로컬 특징 매칭부(265)는 쿼리 이미지(QI)의 로컬 특징(lf-1a, lf-2a, lf-3a, lf-4a)에 대해 N개의 매칭 프레임(MF-1, MF-2,??)의 로컬 특징과 거리가 가장 짧은 로컬 특징을 각각 로컬 특징 쌍으로 결정한다. 이어서, 로컬 특징 매칭부(265)는 복수의 로컬 특징 쌍을 거리가 작은 순서로 나열한 후, 복수의 로컬 특징 쌍 중에서 소정의 개수의 로컬 특징 쌍을 선택함으로써, 카메라 포즈 결정부(267)에서 수행하는 연산량을 감소시킬 수 있다.
예를 들어, 로컬 특징 매칭부(265)는 쿼리 이미지(QI)의 로컬 특징 중 lf-1a과 가장 거리가 가까운 제1 매칭 프레임(MF-1)의 로컬 특징 중 lf-1b를 제1 로컬 특징 쌍으로 매칭할 수 있다. 이어서 로컬 특징 매칭부(265)는 쿼리 이미지(QI)의 로컬 특징 중 lf-2a과 가장 거리가 가까운 제1 매칭 프레임(MF-1)의 로컬 특징 lf-2b 를 제1 로컬 특징 쌍으로 매칭할 수 있다. 로컬 특징 매칭부(265)는 매칭을 반복하여 쿼리 이미지(QI)의 모든 로컬 특징과 N개의 매칭 프레임(MF-1, MF-2,??)의 로컬 특징을 매칭하여 복수의 로컬 특징 쌍을 획득한다.
실시예에서, 복수의 로컬 특징 쌍은 (lf-1a, lf-1b), (lf-1a, lf-1c), (lf-2a, lf-2b), (lf-2a, lf-2c), (lf-3a, lf-2b), (lf-3a, lf-3c), (lf-4a, lf-4b) 및 (lf-4a, lf-4c)일 수 있다.
이어서, 로컬 특징 매칭부(265)는 복수의 로컬 특징 쌍을 거리가 작은 순서대로 나열하고, 복수의 로컬 특징 쌍 중에서 소정의 개수의 로컬 특징 쌍을 선택한다. 예를 들어, 소정의 개수가 4이고, 복수의 로컬 특징 쌍을 거리가 작은 순서대로 나열한 결과가 (lf-1a, lf-1b), (lf-4a, lf-4b), (lf-1a, lf-1c), (lf-2a, lf-2c), (lf-3a, lf-3c), (lf-3a, lf-2b), (lf-4a, lf-4c), (lf-2a, lf-2b)인 경우, 로컬 특징 매칭부(265)는 (lf-1a, lf-1b), (lf-4a, lf-4b), (lf-1a, lf-1c) 및 (lf-2a, lf-2c)을 포즈 결정 로컬 특징 쌍으로 선택할 수 있다.
이와 같은 방법을 통하여, 이후 카메라 포즈 결정부(267)가 포즈 결정에 이용하는 로컬 특징 쌍의 수가 줄어들게 되므로, 포즈 결정시 수행하는 연산량을 감소시킬 수 있을 뿐 아니라 잘못된 매칭 쌍을 포즈 정보 결정하는데 이용될 확률을 감소시킬 수 있다.
예컨대, 도 8을 더 참조하면, 도 8의 (a)는 쿼리 이미지에 포함된 모든 로컬 특징들에 대해 로컬 특징 매칭을 수행한 결과를 나타내고, 도 8의 (b)는 쿼리 이미지에 포함된 로컬 특징들과 매칭 프레임에 포함되며 매칭되는 쿼리 이미지에 포함된 로컬 특징과의 거리가 가장 짧은 로컬 특징들에 대한 복수의 로컬 특징 쌍 중에서 거리가 짧은 순서로 소정의 개수만큼 제한시킨 로컬 특징 쌍에 대해서만 로컬 특징 매칭을 수행한 결과를 나타낸다.
즉, 도 8에 도시된 바와 같이, 카메라 포즈 결정부(267)가 포즈 결정에 이용하는 로컬 특징 쌍의 수가 줄어들게 되므로, 포즈 결정을 위한 연산량을 줄일 수 있을 뿐만 아니라, 잘못된 로컬 특징 매칭쌍을 포즈를 결정하는데 이용될 확률을 감소킬 수 있음을 확인할 수 있다.
카메라 포즈 결정부(267)는, 쿼리 이미지와 매칭 프레임들 사이의 포즈 결정 로컬 특징 쌍을 이용하여, 쿼리 이미지의 포즈 정보를 결정할 수 있다.
보다 자세하게는, 카메라 포즈 결정부(267)는, 쿼리 이미지에 포함된 로컬 특징의 2차원 좌표(즉, 쿼리 이미지 상의 좌표)와, 매칭 프레임에 포함되며 매칭되는 로컬 특징의 3차원 좌표(즉, 로컬 특징의 지구 상의 3차원 절대 좌표)를 이용하여, 쿼리 이미지의 포즈 정보를 결정할 수 있다.
예컨대, 카메라 포즈 결정부(267)는 쿼리 이미지에 포함된 로컬 특징의 2차원 좌표(즉, 쿼리 이미지 상의 좌표)와, 매칭 프레임에 포함되며 매칭되는 로컬 특징의 3차원 좌표(즉, 로컬 특징의 지구 상의 3차원 절대 좌표)를 포즈 예측 알고리즘(예컨대, P3P 알고리즘)에 입력하여, 쿼리 이미지의 포즈 정보(즉, 쿼리 이미지를 촬영했을 때의 카메라(120)의 포즈 정보)를 예측할 수 있다.
또한, 카메라 포즈 결정부(267)는, 오류 제거 알고리즘(예컨대, RANSAC(RANdom SAmple Consensus) 알고리즘)를 이용하여, 쿼리 이미지와 매칭 이미지 사이의 로컬 특징 매칭 중에서 바르게 매칭된 로컬 특징들의 개수를 결정할 수 있다.
쿼리 이미지와 매칭 이미지 사이의 로컬 특징 매칭 중에서 바르게 매칭된 로컬 특징들의 개수가 기 설정된 임계치 이상(초과)인 경우, 카메라 포즈 결정부(267)는 포즈 예측 알고리즘에 기초하여 예측한 쿼리 이미지의 포즈 정보를 유효한 정보로 인식하고, 예측한 포즈 정보를 쿼리 이미지의 포즈 정보로 결정할 수 있다.
반면, 쿼리 이미지와 매칭 이미지 사이의 로컬 특징 매칭 중에서 바르게 매칭된 로컬 특징들의 개수가 기 설정된 임계치 미만(이하)인 경우, 카메라 포즈 결정부(267)는 포즈 예측 알고리즘에 기초하여 예측한 쿼리 이미지의 포즈 정보를 유효하지 않은 정보로 인식하고, 예측 모드 결정부(261)는 예측 모드를 재설정하여, 쿼리 이미지의 포즈 정보를 다시 결정할 수 있다.
단말 포즈 결정 모델(260)은 결정된 쿼리 이미지의 포즈 정보를 사용자 단말(100)로 전송할 수 있다.
이때, 실시예에 따라, 단말 포즈 결정 모델(260)은 쿼리 이미지의 포즈 정보와 함께, 포즈 정보를 유효하게 예측하였는지 여부에 대한 정보 및 단말 포즈 추적 모드로 동작한 횟수(예컨대, 연속적 횟수 또는 불연속적 횟수)를 더 전송할 수 있다.
상기 단말 포즈 추적 모드로 동작한 횟수는 예측 모드 결정부(261)의 제어에 따라 초기화될 수 있다. 예컨대, 예측 모드 결정부(261)는 예측 모드가 중간 모드 또는 초기 포즈 추정 모드로 동작하는 경우 상기 횟수를 초기화할 수 있다.
도 9는 본 발명의 일 실시예에 따른 글로벌 특징 결정 신경망을 학습시키는 방법을 나타내는 블록도이다.
도 2 및 도 9를 참조하면, 글로벌 특징 결정부(355)에 포함된 글로벌 특징 결정 신경망(356)은 이미지(예컨대, 3차원 맵(250)을 생성하는데 이용되는 키 프레임)을 입력받으면, 상기 이미지를 다른 이미지들과 구분하기 위한 벡터를 출력하도록 학습될 수 있다.
보다 자세하게는, 글로벌 특징 결정 신경망(356)은 입력 데이터로서, 참조 이미지와, 입력에 대한 레이블 데이터로서, 참조 벡터를 입력받으면, 상기 참조 이미지에 대한 글로벌 특징으로서 고차원의 벡터를 출력하도록 학습될 수 있다.
또한, 글로벌 특징 결정 신경망(356)은 피드백으로서, 참조 벡터와, 출력한 고차원의 벡터의 차이를 줄이기 위한 역전파(backpropagation) 값을 더 입력받아 학습될 수 있다.
도 10은 본 발명의 일 실시예에 따른 로컬 특징 결정 신경망을 학습시키는 방법을 나타내는 블록도이다.
도 2 및 도 10을 참조하면, 로컬 특징 결정부(357)에 포함된 로컬 특징 결정 신경망(358)은 이미지(예컨대, 3차원 맵(250)을 생성하는데 이용되는 키 프레임)을 입력받으면, 상기 이미지에 포함된 로컬 특징들을 나타내는 고차원의 벡터를 출력하도록 학습될 수 있다.
보다 자세하게는, 로컬 특징 결정 신경망(358)은 입력 데이터로서, 참조 이미지와, 입력에 대한 레이블 데이터로서, 참조 이미지에 포함된 로컬 특징들에 대한 참조 벡터를 입력받으면, 상기 참조 이미지에 포함된 로컬 특징들에 대한 고차원의 벡터를 출력하도록 학습될 수 있다.
또한, 로컬 특징 결정 신경망(358)은 피드백으로서, 참조 벡터와, 출력한 고차원의 벡터의 차이를 줄이기 위한 역전파(backpropagation) 값을 더 입력받아 학습될 수 있다.
도 11은 본 발명의 일 실시예에 따라 3차원 맵을 생성하는 방법을 나타내는 흐름도이다.
도 2 및 도 11을 참조하면, 키 프레임 선택부(351)는, 기 설정된 기준에 기초하여, 카메라부(320)를 이용하여 촬영한 영상에 포함된 복수의 프레임들 중에서 3차원 맵을 제작하는데 이용되는 키 프레임들을 선택하고(S1000), 키 프레임 회전부(353)는 키 프레임 선택부(351)에서 선택한 키 프레임들을 하나 이상의 각도로 회전시켜 하나 이상의 이미지를 생성하고, 생성된 이미지를 키 프레임으로 이용할 수 있다(S1010).
글로벌 특징 결정부(355)는 기 학습된 글로벌 특징 결정 신경망에 키 프레임을 입력하면, 글로벌 특징 결정 신경망으로부터 출력되는 벡터로부터 글로벌 특징으로 결정할 수 있다(S1020).
로컬 특징 결정부(357)는 기 학습된 로컬 특징 결정 신경망에 키 프레임을 입력하면, 상기 로컬 특징 결정 신경망으로부터 출력되는 벡터들을 이용하여 상기 로컬 특징들 결정할 수 있다(S1030).
포즈 계산부(359)는 기 설정된 SLAM 알고리즘에 로컬 특징 결정부(357)에서 결정된 로컬 특징들을 입력하여, 키 프레임의 포즈 정보 및 상기 키 프레임에 포함된 로컬 특징들의 좌표 정보(예컨대, 지구 상의 3차원 절대 좌표)를 계산할 수 있다(S1040).
3차원 맵 생성부(361)는 키 프레임을, 키 프레임에 대응되는 글로벌 특징, 로컬 특징 및 좌표 정보와 함께 저장하여 3차원 맵(250)을 생성할 수 있다(1050).
도 12a 및 도 12b는 본 발명의 일 실시예에 따라 사용자 단말에 포함된 3차원 맵을 생성하는 방법을 나타내는 흐름도이다.
도 2, 도 12a 및 도 12b를 참조하면, 예측 모드 결정부(261)는, 이전 프레임에서의 사용자 단말(100)의 포즈 정보가 유효하게 예측되었는지 여부에 기초하여, 사용자 단말(100)의 포즈를 예측할 예측 모드를 결정할 수 있다(S1100).
예측 모드 결정부(261)에서 결정된 예측 모드가 초기 포즈 추정 모드인 경우, 매칭 프레임 선택부(263)는 기 학습된 글로벌 특징 결정 신경망을 이용하여 사용자 단말(100)로부터 수신한 쿼리 이미지(Query image)의 글로벌 특징을 결정하고(S1110), 쿼리 이미지의 글로벌 특징을 3차원 맵(250)에 저장된 복수의 키 프레임들의 글로벌 특징과 비교하여, 3차원 맵(250)에 저장된 복수의 키 프레임들 중에서 쿼리 이미지와 글로벌 특징의 차이가 가장 적은 하나 이상의 키 프레임을 매칭 프레임으로 선택할 수 있다(S1120).
반면, 예측 모드 결정부(261)에서 결정된 예측 모드가 단말 포즈 추적 모드인 경우, 매칭 프레임 선택부(263)는 이전 프레임에서 예측된 카메라(120)의 포즈 정보를 이용하여 하나 이상의 매칭 프레임을 선택할 수 있다(S1130).
마지막으로, 예측 모드 결정부(261)에서 결정된 예측 모드가 중간 모드인 경우, 매칭 프레임 선택부(263)는 이전 프레임에서 예측된 카메라(120)의 포즈 정보를 이용하여 선택된 하나 이상의 프레임과, 글로벌 특징의 거리 차이를 이용하여 선택한 프레임을 매칭 프레임으로 선택할 수 있다(S1140).
이후, 로컬 특징 매칭부(265)는 상기 쿼리 이미지에서 하나 이상의 로컬 특징을 추출하고, 상기 쿼리 이미지에서 추출한 로컬 특징들과 매칭 프레임 선택부(263)에서 선택한 매칭 프레임에 포함된 로컬 특징들을 매칭하는 로컬 특징 매칭(local feature matching)을 수행할 수 있다(S1150).
카메라 포즈 결정부(267)는, 쿼리 이미지와 매칭 프레임들 사이의 로컬 특징 매칭의 결과를 이용하여, 쿼리 이미지의 포즈 정보를 예측할 수 있다(S1160).
쿼리 이미지와 매칭 이미지 사이의 로컬 특징 매칭 중에서 바르게 매칭된 로컬 특징들의 개수가 기 설정된 임계치 이상(초과)인 경우(S1170의 '예'), 카메라 포즈 결정부(267)는 포즈 예측 알고리즘에 기초하여 예측한 쿼리 이미지의 포즈 정보를 유효한 정보로 인식하고, 예측한 포즈 정보를 쿼리 이미지의 포즈 정보로 결정할 수 있다(S1180).
반면, 쿼리 이미지와 매칭 이미지 사이의 로컬 특징 매칭 중에서 바르게 매칭된 로컬 특징들의 개수가 기 설정된 임계치 미만(이하)인 경우(S1170의 '아니오'), 카메라 포즈 결정부(267)는 포즈 예측 알고리즘에 기초하여 예측한 쿼리 이미지의 포즈 정보를 유효하지 않은 정보로 인식하고, 예측 모드 결정부(261)는 예측 모드를 재설정하여, 쿼리 이미지의 포즈 정보를 다시 결정할 수 있다.
본 발명에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 인코딩 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 인코딩 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방법으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10: 단말 포즈 결정 시스템
100: 사용자 단말
200: 단말 포즈 결정 장치
250: 3차원 맵
260: 단말 포즈 결정 모델
300: 3차원 맵 생성 장치
350: 3차원 맵 생성 모델

Claims (16)

  1. 사용자 단말에 포함된 카메라의 포즈(pose)를 결정하는 방법에 있어서,
    상기 사용자 단말에 의해 상기 사용자 단말이 위치하는 장소를 촬영한 제1 쿼리 이미지에서 상기 카메라의 제1 포즈가 유효하게 예측되었는지 여부에 기초하여, 상기 제1 쿼리 이미지 이후에 상기 사용자 단말에 의해 상기 장소를 촬영한 제2 쿼리 이미지에서의 상기 카메라의 제2 포즈를 예측하는 예측 모드를 결정하는 단계; 및
    상기 결정된 예측 모드에 기초하여, 상기 제2 포즈를 결정하는 단계를 포함하는
    사용자 단말에 포함된 카메라의 포즈를 결정하는 방법.
  2. 제1 항에 있어서,
    상기 제2 포즈를 결정하는 단계는,
    상기 제1 포즈가 유효하게 예측된 경우, 상기 제1 포즈를 이용하여, 상기 제2 쿼리 이미지에 대한 매칭 후보로서, 기 생성된 3차원 맵에 포함되고 상기 장소를 기 촬영한 복수의 키 프레임들 중에서 하나 이상의 매칭 프레임을 선택하는 단계를 포함하는
    사용자 단말에 포함된 카메라의 포즈를 결정하는 방법.
  3. 제2 항에 있어서,
    상기 제2 포즈를 결정하는 단계는,
    상기 제1 포즈가 유효하게 예측된 경우, 상기 제2 쿼리 이미지에서 추출된 제1 로컬 특징(local feature)들과, 상기 하나 이상의 매칭 프레임들에 포함된 제2 로컬 특징 사이의 로컬 특징 매칭을 수행하는 단계; 및
    상기 로컬 특징 매칭의 결과를 더 이용하여, 상기 제2 쿼리 이미지의 상기 제2 포즈를 결정하는 단계를 더 포함하는
    사용자 단말에 포함된 카메라의 포즈를 결정하는 방법.
  4. 제1 항에 있어서,
    상기 제2 포즈를 결정하는 단계는,
    상기 제1 포즈가 유효하게 예측되지 않은 경우, 기 학습된 신경망을 이용하여 상기 제2 쿼리 이미지의 글로벌 특징을 결정하는 단계; 및
    상기 제2 쿼리 이미지의 글로벌 특징과, 기 생성된 3차원 맵에 포함되고 상기 장소를 기 촬영한 복수의 키 프레임들 각각의 글로벌 특징을 비교하여, 상기 제2 쿼리 이미지와의 매칭 후보로서, 상기 복수의 키 프레임들 중에서 하나 이상의 매칭 프레임을 선택하는 단계를 포함하는
    사용자 단말에 포함된 카메라의 포즈를 결정하는 방법.
  5. 제1 항에 있어서,
    상기 제2 포즈를 결정하는 단계는,
    상기 제1 포즈가 유효하게 예측되었지만, 기 설정된 조건을 만족하는 경우,
    기 학습된 신경망을 이용하여 결정된 상기 제2 쿼리 이미지의 글로벌 특징과 기 생성된 3차원 맵에 포함되고 상기 장소를 기 촬영한 복수의 키 프레임들 각각의 글로벌 특징을 비교하여 상기 복수의 키 프레임들 중에서 선택된 하나 이상의 프레임과, 상기 제1 포즈를 이용하여 상기 복수의 키 프레임들 중에서 선택된 하나 이상의 프레임을 매칭 프레임으로 선택하는 단계를 포함하고,
    상기 기 설정된 조건은,
    상기 카메라의 포즈가 유효하게 예측된 횟수가 기 설정된 임계 횟수 이상인 경우, 및 상기 제1 포즈가 유효하게 예측된 경우의 예측 모드에 따라 결정된 상기 제2 포즈와 상기 제1 포즈가 유효하게 예측되지 않은 경우의 예측 모드에 따라 결정된 상기 제2 포즈의 거리 차이가 기 설정된 임계 거리 이상인 경우 중에서 적어도 하나를 포함하는
    사용자 단말에 포함된 카메라의 포즈를 결정하는 방법.
  6. 제1 항에 있어서,
    상기 제2 포즈를 결정하는 단계는,
    기 생성된 3차원 맵에 포함되고 상기 장소를 기 촬영한 복수의 키 프레임들 중에서 상기 제2 쿼리 이미지와 매칭되는 하나 이상의 매칭 이미지를 선택하는 단계; 및
    상기 하나 이상의 매칭 이미지에 포함된 로컬 특징들과 상기 제2 쿼리 이미지에 포함된 로컬 특징들 사이의 로컬 특징 매칭을 이용하여, 상기 제2 쿼리 이미지의 상기 제2 포즈를 결정하는 단계를 포함하고,
    상기 3차원 맵은,
    장소 촬영 장치 또는 상기 단말 포즈 결정 장치가 상기 장소를 기 촬영한 영상 중에서 소정의 기준을 이용하여 선택된 복수의 키 프레임들을 이용하여 생성되고,
    상기 소정의 기준은 시간 간격, 및 상기 장소 촬영 단말 또는 상기 단말 포즈 결정 장치의 이동 거리를 중에서 적어도 하나를 포함하는
    사용자 단말에 포함된 카메라의 포즈를 결정하는 방법.
  7. 제6 항에 있어서,
    상기 3차원 맵은,
    상기 복수의 키 프레임들 중에서 적어도 하나를 하나 이상의 각도로 회전하여 생성된 이미지를 더 이용하여 생성된 것인
    사용자 단말에 포함된 카메라의 포즈를 결정하는 방법.
  8. 제1 항에 있어서,
    상기 제2 포즈를 결정하는 단계는,
    상기 제2 쿼리 이미지에서 추출된 제1 로컬 특징(local feature)들과, 기 생성된 3차원 맵에 포함되고 상기 장소를 기 촬영한 하나 이상의 키 프레임들에 포함된 제2 로컬 특징 사이의 로컬 특징 매칭을 수행하는 단계; 및
    상기 로컬 특징 매칭의 결과를 이용하여, 상기 제2 쿼리 이미지의 상기 제2 포즈를 결정하는 단계를 포함하고,
    상기 제2 로컬 특징들은,
    상기 제1 로컬 특징들과, 상기 하나 이상의 키 프레임들 각각에 포함된 복수의 로컬 특징들 중에서 상기 제1 로컬 특징들 각각에 매칭되는 로컬 특징들 사이의 거리를 계산하여, 상기 거리가 가장 짧은 거리를 갖는 로컬 특징들인
    사용자 단말에 포함된 카메라의 포즈를 결정하는 방법.
  9. 제8 항에 있어서,
    상기 제2 포즈를 결정하는 단계에서,
    상기 로컬 특징 매칭의 결과로서 얻어진 상기 제1 로컬 특징들과 상기 제2 로컬 특징들의 매칭 쌍(pair) 중에서, 매칭된 상기 제1 로컬 특징들과 상기 제2 로컬 특징들 사이의 계산된 거리가 짧은 순서로 기 설정된 개수만큼의 매칭 쌍을 이용하여,
    사용자 단말에 포함된 카메라의 포즈를 결정하는 방법.
  10. 제1 항에 있어서,
    상기 제2 쿼리 이미지와 함께, 상기 제1 포즈가 유효하게 예측되었는지 여부에 대한 정보, 상기 제1 포즈 정보, 직전 쿼리 이미지가 유효하게 예측되지 않은 경우에 예측된 상기 사용자 단말의 마지막 포즈 정보 및 이전 이미지들 중에서 포즈가 유효하게 예측되었다고 결정된 횟수가 상기 사용자 단말에 의해 획득되는 단계를 더 포함하는
    사용자 단말에 포함된 카메라의 포즈를 결정하는 방법.
  11. 제1 항에 있어서,
    상기 제2 포즈와 함께, 상기 제2 포즈를 유효하게 예측하였는지 여부에 대한 정보, 및 상기 제2 쿼리 이미지 및 제2 쿼리 이미지 이전의 이미지들에서 포즈가 유효하게 예측되었다고 결정된 횟수가 상기 사용자 단말에 의해 획득되는 단계를 더 포함하는
    사용자 단말에 포함된 카메라의 포즈를 결정하는 방법.
  12. 사용자 단말로부터, 상기 사용자 단말이 위치하는 장소를 촬영한 제1 쿼리 이미지를 수신하는 송수신기; 및
    상기 제1 쿼리 이미지에서 상기 사용자 단말의 카메라의 제1 포즈가 유효하게 예측되었는지 여부에 기초하여, 상기 제1 쿼리 이미지 이후에 상기 사용자 단말로부터 수신하고 상기 장소를 촬영한 제2 쿼리 이미지에서의 상기 카메라의 제2 포즈를 예측하는 예측 모드를 결정하고, 상기 결정된 예측 모드에 기초하여, 상기 제2 포즈를 결정하는 프로세서를 포함하는
    단말 포즈 결정 장치.
  13. 제12 항에 있어서,
    상기 프로세서는,
    상기 제1 포즈가 유효하게 예측된 경우, 상기 제1 포즈를 이용하여, 상기 제2 쿼리 이미지에 대한 매칭 후보로서, 기 생성된 3차원 맵에 포함되고 상기 장소를 기 촬영한 복수의 키 프레임들 중에서 하나 이상의 후보 프레임을 선택하는
    단말 포즈 결정 장치.
  14. 제12 항에 있어서,
    상기 프로세서는,
    상기 제1 포즈가 유효하게 예측되지 않은 경우, 기 학습된 신경망을 이용하여 상기 제2 쿼리 이미지의 글로벌 특징을 결정하고, 상기 제2 쿼리 이미지의 글로벌 특징과, 기 생성된 3차원 맵에 포함되고 상기 장소를 기 촬영한 복수의 키 프레임들 각각의 글로벌 특징을 비교하여, 상기 제2 쿼리 이미지와의 매칭 후보로서, 상기 복수의 키 프레임들 중에서 하나 이상의 후보 프레임을 선택하는
    단말 포즈 결정 장치.
  15. 제13 항에 있어서,
    상기 프로세서는,
    상기 제1 포즈가 유효하게 예측되었지만, 기 설정된 조건을 만족하는 경우, 상기 제2 쿼리 이미지와의 매칭 후보로서, 기 학습된 신경망을 이용하여 결정된 상기 제2 쿼리 이미지의 글로벌 특징과 기 생성된 3차원 맵에 포함되고 상기 장소를 기 촬영한 복수의 키 프레임들 각각의 글로벌 특징을 비교하여 상기 복수의 키 프레임들 중에서 선택된 하나 이상의 후보 프레임과, 상기 제1 포즈를 이용하여 상기 복수의 키 프레임들 중에서 선택된 하나 이상의 프레임을 후보 프레임을 선택하고,
    상기 기 설정된 조건은,
    상기 카메라의 포즈가 유효하게 예측된 횟수가 기 설정된 임계 횟수 이상인 경우, 및 상기 제1 포즈가 유효하게 예측된 경우의 예측 모드에 따라 결정된 상기 제2 포즈와 상기 제1 포즈가 유효하게 예측되지 않은 경우의 예측 모드에 따라 결정된 상기 제2 포즈의 거리 차이가 기 설정된 임계 거리 이상인 경우 중에서 적어도 하나를 포함하는
    단말 포즈 결정 장치.
  16. 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서,
    상기 컴퓨터 프로그램은,
    제1 항 내지 제11 항 중 어느 한 항에 따른 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함하는
    컴퓨터 판독 가능한 기록매체.
KR1020210102721A 2020-10-30 2021-08-04 3차원 맵을 생성하는 방법 및 생성된 3차원 맵을 이용하여 사용자 단말의 포즈를 결정하는 방법 KR20220058401A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202180073278.XA CN116508061A (zh) 2020-10-30 2021-08-19 生成三维地图的方法和使用生成的三维地图确定用户终端的姿态的方法
PCT/KR2021/010988 WO2022092511A1 (ko) 2020-10-30 2021-08-19 3차원 맵을 생성하는 방법 및 생성된 3차원 맵을 이용하여 사용자 단말의 포즈를 결정하는 방법
US18/117,743 US20230206492A1 (en) 2020-10-30 2023-03-06 Method for generating three-dimensional map and method for determining pose of user terminal by using generated three-dimensional map

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200143252 2020-10-30
KR1020200143252 2020-10-30

Publications (1)

Publication Number Publication Date
KR20220058401A true KR20220058401A (ko) 2022-05-09

Family

ID=81582899

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210102721A KR20220058401A (ko) 2020-10-30 2021-08-04 3차원 맵을 생성하는 방법 및 생성된 3차원 맵을 이용하여 사용자 단말의 포즈를 결정하는 방법

Country Status (1)

Country Link
KR (1) KR20220058401A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117596367A (zh) * 2024-01-19 2024-02-23 安徽协创物联网技术有限公司 一种低功耗视频监控摄像头及其控制方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117596367A (zh) * 2024-01-19 2024-02-23 安徽协创物联网技术有限公司 一种低功耗视频监控摄像头及其控制方法

Similar Documents

Publication Publication Date Title
Chen et al. Aspanformer: Detector-free image matching with adaptive span transformer
Zhou et al. To learn or not to learn: Visual localization from essential matrices
CN107341442B (zh) 运动控制方法、装置、计算机设备和服务机器人
CN109657533A (zh) 行人重识别方法及相关产品
US10395379B2 (en) Image object tracking method and apparatus
JP2009015827A (ja) 物体追跡方法、物体追跡システム、及び物体追跡プログラム
US20220172386A1 (en) Method and device for simultaneous localization and mapping (slam)
WO2016179808A1 (en) An apparatus and a method for face parts and face detection
KR102387797B1 (ko) 3차원 가상 공간 모델을 이용한 사용자 포즈 추정 방법 및 장치
CN112184757A (zh) 运动轨迹的确定方法及装置、存储介质、电子装置
CN111695502A (zh) 用于人脸识别的特征更新方法、装置和计算机设备
CN114565668A (zh) 即时定位与建图方法及装置
KR20220024736A (ko) 시각적 포지셔닝 방법 및 관련 장치
CN116958584B (zh) 关键点检测方法、回归模型的训练方法、装置及电子设备
KR20200012379A (ko) 이미지 기반 실내위치 검출장치 및 검출방법
CN112652021A (zh) 相机偏移检测方法、装置、电子设备及存储介质
KR20220058401A (ko) 3차원 맵을 생성하는 방법 및 생성된 3차원 맵을 이용하여 사용자 단말의 포즈를 결정하는 방법
Wang et al. Object as query: Lifting any 2d object detector to 3d detection
CN117615255B (zh) 基于云台的拍摄追踪方法、装置、设备及存储介质
US20230350418A1 (en) Position determination by means of neural networks
KR102465437B1 (ko) 인공지능 기반 객체 추적 장치 및 방법
KR102426594B1 (ko) 크라우드소싱 환경에서 객체의 위치를 추정하는 시스템 및 방법
US20230206492A1 (en) Method for generating three-dimensional map and method for determining pose of user terminal by using generated three-dimensional map
KR102449031B1 (ko) 딥러닝을 이용한 실내 위치 측위 방법
CN116508061A (zh) 生成三维地图的方法和使用生成的三维地图确定用户终端的姿态的方法