KR20170131662A - 시각적 피처들을 이용한 이미지들의 자동 연결 - Google Patents

시각적 피처들을 이용한 이미지들의 자동 연결 Download PDF

Info

Publication number
KR20170131662A
KR20170131662A KR1020177031227A KR20177031227A KR20170131662A KR 20170131662 A KR20170131662 A KR 20170131662A KR 1020177031227 A KR1020177031227 A KR 1020177031227A KR 20177031227 A KR20177031227 A KR 20177031227A KR 20170131662 A KR20170131662 A KR 20170131662A
Authority
KR
South Korea
Prior art keywords
image
visual features
matching
ray
frame
Prior art date
Application number
KR1020177031227A
Other languages
English (en)
Other versions
KR101965878B1 (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 구글 엘엘씨
Publication of KR20170131662A publication Critical patent/KR20170131662A/ko
Application granted granted Critical
Publication of KR101965878B1 publication Critical patent/KR101965878B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G06K9/00536
    • G06K9/03
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • 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
    • G06T7/38Registration of image sequences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/12Classification; Matching
    • 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/10016Video; Image sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Automation & Control Theory (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Image Processing (AREA)
  • Processing Or Creating Images (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)

Abstract

본 발명의 양상들은 이미지들 간의 네비게이션 경로들을 발생시키는 것에 관한 것이다. 제1 위치(312)로부터 취해진 제1 이미지(310) 및 제2 위치(322)로부터 취해진 제2 이미지(320)가 선택될 수 있다. 제2 위치(322)와 관련하여 제1 위치(312)의 포지션이 결정될 수 있다. 제1 이미지 및 제2 이미지에 대한 제1 프레임(330) 및 제2 프레임(350)은 포지션에 기초하여 선택될 수 있다. 제1 이미지 프레임(330) 및 제2 이미지 프레임(350) 각각에 대한 제1 세트의 시각적 피처 및 제2 세트의 시각적 피처가 식별될 수 있다. 제1 세트의 시각적 피처들과 제2 세트의 시각적 피처들 간의 매칭하는 시각적 피처들(510, 520)이 결정될 수 있다. 제1 이미지(310) 및 제2 이미지(320) 사이의 시선에 대한 신뢰도는 매칭하는 시각적 피처들(510, 520)의 하나 이상의 포지션들을 평가함으로써 결정될 수 있다. 적어도 상기 신뢰도에 기초하여, 상기 제1 이미지(310)로부터 상기 제2 이미지(320)로의 네비게이션 경로(620)가 생성된다.

Description

시각적 피처들을 이용한 이미지들의 자동 연결
관련 출원들에 대한 상호-참조
본 출원은 그 내용이 본 명세서에 참조로서 포함된 2015년 8월 7일에 출원된 미국 특허 출원 번호 14/821,118의 계속 출원이다.
본 발명은 시각적 피처들을 이용한 이미지들의 자동 연결에 관한 것이다.
이제 전 세계에 엄청난 양의 구형 파노라마 이미지들이 존재한다. 파노라마 이미지들 자체가 지구를 기준으로 현실적으로 포즈를 취할 때 상이한 파노라마 이미지들 간의 이미지가 정렬되기 때문에, 인근의 연결된 파노라마 이미지들을 통해 사용자들은 실제 3차원 공간을 탐색하는 것처럼 느낄 수 있다. 그러나 거리와 그래프 토폴로지를 기반으로 파노라마 이미지들 간의 연결을 결정하는 것은 특히 파노라마 이미지들의 기하구조에 대한 지식이 없어도 중요하지 않다. 파노라마 이미지들이 일반적으로 시선을 공유하는 길거리나 기타 지역들에서 캡처되지 않은 파노라마 이미지들에 대한 추가 과제가 제시된다.
본 개시물의 양상들은 방법을 제공한다. 방법은, 하나 이상의 프로세서들에 의해, 제1 위치(location)로부터 취해진 제1 이미지 및 제2 위치로부터 취해진 제2 이미지를 선택하는 단계와; 상기 하나 이상의 프로세서들에 의해, 상기 제2 위치에 관련하여 상기 제1 위치의 포지션(position)을 결정하는 단계와; 상기 하나 이상의 프로세서들에 의해, 상기 포지션에 기초하여 상기 제1 이미지상의 제1 프레임 및 상기 제2 이미지상의 제2 프레임을 선택하는 단계와; 상기 하나 이상의 프로세서들에 의해, 상기 제1 프레임에서의 상기 제1 이미지의 제1 세트의 시각적 피처(feature)들 및 상기 제2 프레임에서의 상기 제2 이미지의 제2 세트의 시각적 피처들을 식별하는 단계와; 상기 하나 이상의 프로세서들에 의해, 상기 제1 세트의 시각적 피처들과 상기 제2 세트의 시각적 피처들 사이에서 다수의 매칭하는 시각적 피처들을 결정하는 단계와; 상기 하나 이상의 프로세서들에 의해, 상기 매칭하는 시각적 피처들의 하나 이상의 포지션들을 평가함으로써 상기 제1 이미지와 상기 제2 이미지 사이의 시선(line-of-sight)에 대한 신뢰도를 결정하는 단계와; 그리고 상기 하나 이상의 프로세서들에 의해, 적어도 상기 신뢰도에 기초하여, 제1 이미지로부터 제2 이미지로의 네비게이션 경로를 생성하는 단계를 포함한다.
일 예에서, 상기 제1 프레임은 상기 제1 위치의 방향에 있고, 상기 제2 프레임은 상기 제2 위치의 방향에 있으며, 상기 제1 프레임 및 제2 프레임은 상기 제1 위치와 상기 제2 위치 사이의 직선 경로의 중심에 있다. 다른 예에서, 상기 제2 위치에 관련하여 상기 제1 위치의 포지션을 결정하는 단계는 상기 제1 이미지 및 상기 제2 이미지의 포즈 정보(pose information)를 결정하는 단계를 포함하고, 상기 포즈 정보는 기본 방향들에 대한 상기 제1 이미지 및 상기 제2 이미지의 방향 정보를 포함한다.
추가적인 예에서, 상기 방법은, 제1 시각적 피처 및 제2 시각적 피처의 주어진 쌍에 대해, 제1 매칭하는 시각적 피처 및 제2 매칭하는 시각적 피처의 포지션들을 평가하는 단계와; 상기 제1 위치로부터의 제1 광선을 상기 제1 파노라마 이미지에서의 상기 제1 매칭하는 시각적 피처로 캐스팅하는 단계와; 상기 제2 위치로부터의 제2 광선을 상기 제2 파노라마 이미지에서의 상기 제2 매칭하는 시각적 피처로 캐스팅하는 단계와; 그리고 상기 제1 파노라마 이미지와 상기 제2 파노라마 이미지 사이의 영역에서 상기 제1 광선과 상기 제2 광선이 서로 가장 인접하는지를 판단하는 단계를 더 포함하고, 상기 신뢰도는 상기 제1 파노라마 이미지와 상기 제2 파노라마 이미지 사이의 영역에서 상기 제1 광선과 상기 제2 광선이 서로 가장 인접하는지에 대한 판단에 기초하여 또한 결정된다.
또 다른 예에서, 상기 신뢰도를 결정하는 단계는 매칭하는 시각적 피처들의 각 쌍에 가중치를 할당하는 단계를 더 포함하고, 상기 가중치는: (1) 상기 주어진 매칭하는 시각적 피처들의 재투영 오차(reprojection error)와; (2) 상기 제1 위치와 상기 제2 위치 사이의 직선 경로로부터 상기 주어진 매칭하는 시각적 피처들 각각의 각 거리(angular distance)들과; 그리고 (3) 상기 주어진 매칭하는 시각적 피처들 간의 시각적 유사성들 중 적어도 하나와 대응한다. 이 예에서, 상기 신뢰도는: (1) 매칭하는 시각적 피처들인 식별된 시각적 피처들의 퍼센티지와; (2) 상기 매칭하는 시각적 피처들의 각 쌍에 할당된 가중치와; (3) 상기 제1 이미지와 상기 제2 이미지 사이의 거리와; 그리고 (4) 상기 매칭하는 시각적 피처들의 추정된 위치들의 잔여 오차(residual error) 중 적어도 하나에 따라 결정될 수 있다.
이 예에서, 대안으로 또는 추가적으로, 상기 매칭하는 시각적 피처들의 추정된 위치는, 상기 제1 위치로부터의 제1 광선을 상기 제1 세트의 시각적 피처들 내의 제1 피처로 캐스팅하는 단계와; 상기 제2 위치로부터의 제2 광선을 상기 제2 세트의 시각적 피처들 내의 제2 피처로 캐스팅하는 단계 - 상기 제1 피처 및 상기 제2 피처는 한 쌍의 매칭하는 시각적 피처들이며 - 와; 그리고 상기 제1 광선 및 상기 제2 광선이 서로 미리결정된 거리 내에 있을 때, 상기 제1 광선 및 상기 제2 광선은 서로에 대해 가장 근접한 위치에서 가장 가까운 점을 상기 제1 피처 및 상기 제2 피처의 추정된 위치로서 설정하는 단계에 의해 결정될 수 있다. 이러한 대안의 또는 추가적인 예에서, 상기 방법은 또한, 상기 제1 광선 및 상기 제2 광선이 상기 미리결정된 거리 내에 있지 않거나 발산할 때, 상기 매칭하는 시각적 피처들의 수로부터 상기 한 쌍의 매칭하는 시각적 피처들을 제거하는 단계를 또한 포함할 수 있다.
다른 예에서, 상기 네비게이션 경로는 하나 이상의 제약조건들에 따라 더 생성된다. 이러한 예에서, 상기 하나 이상의 제약조건들은, 최소 스패닝 트리 제약조건들, 델로네 삼각분할 제약조건들, 정점당 에지들의 개수 설정, 에지들에 대한 최대 거리 설정, 리던던시 계층(redundancy layer)을 하나만 허용 및 한 쌍의 정점들 사이의 거리를 최소화하는 것 중 적어도 하나를 포함한다.
본 개시물의 다른 양상들은 다른 방법을 제공한다. 이 방법은, 하나 이상의 프로세서들에 의해, 복수의 이미지들을 선택하는 단계와; (1) 상기 복수의 이미지들 내의 이미지들의 매(every) 쌍에 대해, 상기 하나 이상의 프로세서들에 의해, 제2 위치에서 취해진 상기 쌍의 제2 이미지에 관하여 제1 위치에서 취해진 상기 쌍의 제1 이미지의 포지션을 결정하고, (2) 상기 하나 이상의 프로세서들에 의해, 상기 제1 위치와 상기 제2 위치 사이의 직선 경로를 따라 상기 제1 위치로부터 상기 제1 이미지 및 상기 제2 이미지로 프레임을 투영하고, (3) 상기 하나 이상의 프로세서들에 의해, 상기 제1 이미지상의 상기 프레임의 투영 내에서 상기 제1 이미지의 제1 세트의 시각적 피처들을 식별하고, (4) 상기 하나 이상의 프로세서들에 의해, 상기 제2 이미지상의 상기 프레임의 투영 내에서 상기 제2 이미지의 제2 세트의 시각적 피처들을 식별하고, 그리고 (5) 상기 하나 이상의 프로세서들에 의해, 상기 제1 세트의 시각적 피처들과 상기 제2 세트의 시각적 피처들 사이의 매칭하는 시각적 피처를 결정함으로써, 상기 하나 이상의 프로세서들에 의해, 이미지들의 각 쌍 사이의 연결성에 대한 신뢰도를 결정하는 단계와; 적어도 상기 매칭하는 시각적 피처들에 기초하여 상기 제1 이미지와 상기 제2 이미지 사이의 시선에 대한 신뢰도를 결정하는 단계와; 그리고 상기 하나 이상의 프로세서들에 의해, 이미지들의 각각의 쌍에 대한 신뢰도에 따라 이미지들의 하나 이상의 쌍 사이의 네비게이션 경로들을 생성하는 단계를 포함한다.
하나의 예에서, 상기 방법은, 상기 하나 이상의 프로세서들에 의해, 연결 그래프를 생성하는 단계를 더 포함하고, 각각의 이미지는 상기 연결 그래프의 정점이고, 각각의 네비게이션 경로는 상기 연결 그래프의 에지이다. 이 예에서, 상기 연결 그래프를 생성하는 단계는 하나 이상의 제약조건들을 적용함으로써 적어도 하나의 에지를 제거하는 단계를 또한 포함할 수 있다. 상기 하나 이상의 제약조건들은, 최소 스패닝 트리 제약조건들, 델로네 삼각분할 제약조건들, 정점당 에지들의 개수 설정, 에지들에 대한 최대 거리 설정, 리던던시 계층(redundancy layer)을 하나만 허용 및 한 쌍의 정점들 사이의 거리를 최소화하는 것 중 적어도 하나를 포함한다.
상기 개시물의 또 다른 양상은 시스템을 제공한다. 상기 시스템은 제1 위치로부터 취해진 제1 이미지 및 제2 위치로부터 취해진 제2 이미지를 저장하는 메모리와; 그리고 하나 이상의 프로세서들을 갖는 하나 이상의 컴퓨팅 디바이스들을 포함하고, 상기 하나 이상의 프로세서들은, 상기 제2 위치에 관련하여 상기 제1 위치의 포지션을 결정하고, 상기 포지션에 기초하여 상기 제1 이미지상의 제1 프레임 및 상기 제2 이미지상의 제2 프레임을 선택하고, 상기 제1 프레임에서의 상기 제1 이미지의 제1 세트의 시각적 피처들 및 상기 제2 프레임에서의 상기 제2 이미지의 제2 세트의 시각적 피처들을 식별하고, 상기 제1 세트의 시각적 피처들과 상기 제2 세트의 시각적 피처들 사이에서 다수의 매칭하는 시각적 피처들을 결정하고, 상기 매칭하는 시각적 피처들의 하나 이상의 포지션들을 평가함으로써 상기 제1 이미지와 상기 제2 이미지 사이의 시선에 대한 신뢰도를 결정하며, 그리고 적어도 상기 신뢰도에 기초하여, 제1 이미지로부터 제2 이미지로의 네비게이션 경로를 생성하도록 구성된다.
일 예에서, 상기 제1 프레임은 상기 제1 위치의 방향에 있고, 상기 제2 프레임은 상기 제2 위치의 방향에 있으며, 상기 제1 프레임 및 제2 프레임은 상기 제1 위치와 상기 제2 위치 사이의 직선 경로의 중심에 있다. 다른 예에서, 상기 하나 이상의 프로세서들은, 상기 제1 이미지 및 상기 제2 이미지의 포즈 정보를 추가로 판단함으로써 상기 포지션을 결정하도록 또한 구성되고, 상기 포즈 정보는 기본 방향들에 대한 상기 제1 이미지 및 상기 제2 이미지의 방향 정보를 포함한다.
추가의 예에서, 상기 하나 이상의 프로세서들은, 매칭하는 제1 시각적 피처 및 제2 시각적 피처의 주어진 쌍에 대해, 상기 제1 위치로부터의 제1 광선을 상기 제1 파노라마 이미지에서의 상기 제1 매칭하는 시각적 피처로 캐스팅하고, 상기 제2 위치로부터의 제2 광선을 상기 제2 파노라마 이미지에서의 상기 제2 매칭하는 시각적 피처로 캐스팅하고, 상기 제1 파노라마 이미지와 상기 제2 파노라마 이미지 사이의 영역에서 상기 제1 광선과 상기 제2 광선이 서로 가장 인접하는지를 판단하며, 그리고 상기 제1 파노라마 이미지와 상기 제2 파노라마 이미지 사이의 영역에서 상기 제1 광선과 상기 제2 광선이 서로 가장 인접하는지에 대한 판단에 기초하여 상기 신뢰도를 추가로 결정함으로써, 제1 매칭하는 시각적 피처 및 제2 매칭하는 시각적 피처의 포지션들을 평가하도록 더 구성된다.
또 다른 예에서, 상기 하나 이상의 프로세서들은, 매칭하는 시각적 피처들의 각 쌍에 가중치를 추가로 할당함으로써 상기 신뢰도를 결정하도록 구성되고, 상기 가중치는: (1) 상기 주어진 매칭하는 시각적 피처들의 재투영 오차와; (2) 상기 제1 위치와 상기 제2 위치 사이의 직선 경로로부터 상기 주어진 매칭하는 시각적 피처들 각각의 각 거리들과; 그리고 (3) 상기 주어진 매칭하는 시각적 피처들 간의 시각적 유사성들 중 적어도 하나와 대응한다. 이러한 예에서, 상기 하나 이상의 프로세서들은, 상기 제1 위치로부터의 제1 광선을 상기 제1 세트의 시각적 피처들 내의 제1 피처로 캐스팅하는 단계와; 상기 제2 위치로부터의 제2 광선을 상기 제2 세트의 시각적 피처들 내의 제2 피처로 캐스팅하는 단계 - 상기 제1 피처 및 상기 제2 피처는 한 쌍의 매칭하는 시각적 피처들이며 - 와; 그리고 상기 제1 광선 및 상기 제2 광선이 서로 미리결정된 거리 내에 있을 때, 상기 제1 광선 및 상기 제2 광선은 서로에 대해 가장 근접한 위치에서 가장 가까운 점을 상기 제1 피처 및 상기 제2 피처의 추정된 위치로서 설정하는 단계에 의해, 상기 매칭하는 시각적 피처들의 추정된 위치를 결정하도록 또한 구성될 수 있다.
도 1은 본 발명의 양상들에 따른 예시적인 시스템의 기능적 다이어그램이다.
도 2는 도 1의 예시적인 시스템의 도면이다.
도 3은 본 발명의 양상들에 따른 2개의 이미지들 간의 관계들의 도면이다.
도 4는 본 발명의 양상들에 따른 2개의 이미지들과 프레임들 간의 관계들의 도면이다.
도 5a는 본 발명의 양상들에 따른 이미지들 및 데이터의 도면이다.
도 5b는 본 발명의 양상들에 따른 이미지들 및 데이터의 다른 도면이다.
도 5c는 본 발명의 양상들에 따른 이미지들 및 데이터의 다른 도면이다.
도 5d는 본 발명의 양상들에 따른 이미지 및 데이터의 도면이다.
도 6은 본 발명의 양상들에 따른 파노라마 이미지들 및 관계들의 집합의 도이다.
도 7은 본 발명의 양상들에 따른 파노라마 이미지들 및 관계들의 다른 예시적인 집합의 도면이다.
도 8은 본 발명의 양상들에 따른 예시적인 흐름도이다.
도 9는 본 발명의 다른 양상들에 따른 다른 예시적인 흐름도이다.
개관
본 기술은 현실감 있는 네비게이션을 위해 이미지 간 연결들을 자동으로 생성하는 것에 관한 것이다. 이미지는 주어진 위치에서 넓은 시야를 캡처하는 파노라마 이미지일 수 있다. 파노라마 이미지들의 알려진 위치들 및 포즈들을 사용하여, 상이한 파노라마 이미지들 사이의 피처들이 현실적으로 정렬되는 방식으로 하나의 파노라마 이미지가 가까운 파노라마 이미지들에 연결될 수 있다. 현실적인 연결들을 생성하기 위해, 벽 또는 관목들과 같은 장애물들이 고려되어야 한다. 이와 관련하여, 시선이 있는 파노라마 이미지들만 연결되어야 한다. 이후, 사용자들은 실제 3D 공간을 네비게이팅하는 것처럼 파노라마 이미지들을 네비게이팅하여 존재하는 어떤 장애물들 피할 수 있다.
길거리들에 대한 파노라마 이미지들에 대해, 연결은 이미지의 위치와 각도에 기초하여 크게 결정될 수 있다. 예를 들어, 이미지들은, 차량이 거리를 주행하면서 차량으로부터 캡처될 수 있다. 차량이 일정 거리를 주행할 때, 이미지들은 주행 중 또는 일정한 간격으로 캡처될 수 있다. 온-디바이스 센서들을 사용하여, 포즈 및 위치 정보는 이미지가 캡처되는 순간 각 이미지와 관련될 수 있다. 이런 방식으로 거리를 따라 캡처된 이미지들은 일반적으로 명확한 경로를 따를 수 있다. 그와 같이, 이웃하는 이미지들은, 시각적 피처들을 고려하지 않고 이미지들의 포즈 및 위치 정보를 사용하여 공간적으로 자동 연결될 수 있다. 즉, 도로를 따라 서로 옆에 있는 파노라마 이미지들이 연결될 수 있다. 2개의 도로들의 교차 지점에서 파노라마 이미지들이 공간적으로 연결될 수도 있다. 대안적으로, 이미지들이 캡처된 시간의 순서는 이미지들을 공간적으로 자동 연결하도록 사용될 수 있다. 하지만, 길거리들이 없는 파노라마 이미지를 수집하여 프로세스를 안내하기 위해, 거리(distance), 포즈, 공통의 피처, 공유된 시선(shared line-of-sight), 기하학 등과 같은 정보는, 파노라마 이미지들 간의 연결성을 정확하고 신속하게 결정할 수 있다.
2개의 파노라마 이미지들 사이의 연결성을 결정하기 위해, 제1 파노라마 이미지 및 제2 파노라마 이미지가 선택될 수 있다. 제1 파노라마 이미지는 제1 위치로부터 캡처될 수 있고, 그리고 제2 파노라마 이미지는 제1 위치의 근거리, 예를 들어, 수 미터 또는 그 이하의 거리에 있는 제2 위치로부터 캡처될 수 있다. 제1 파노라마 이미지 및 제2 파노라마 이미지는 위치 정보 및 포즈 정보와 관련될 수 있다. 위치 및 포즈 정보는 서로 관련된 제1 파노라마 이미지 및 제2 파노라마 이미지의 위치들을 결정하는데 사용될 수 있다.
일단 파노라마 이미지들의 위치들이 선택되면, 제1 파노라마 이미지 및 제2 파노라마 이미지의 프레임들이 식별될 수 있다. 식별된 프레임들은 제1 위치와 제2 위치 사이의 직선 경로 중심에 위치될 수 있고, 그리고 프레임들이 놓여있는 각각의 파노라마 이미지의 캡처 위치에 상대적인 방향으로 위치된다. 이와 관련하여, 2개의 파노라마 이미지들 사이의 프레임들은 각각의 파노라마 이미지에 대해 동일한 위치에 있을 수 있다. 예로서, 프레임은 각각의 캡처 위치로부터 측정된 0도와 180도 사이의 각 거리(angular distance)를 커버할 수 있다.
각 프레임 내의 제1 파노라마 이미지 및 제2 파노라마 이미지의 시각적 피처들의 세트가 식별될 수 있다. 프레임 내에서 그리고 서로에 관련하여 식별된 시각적 피처들의 위치가 또한 식별될 수 있다. 시각적 피처들은 임의의 수의 객체 인식 기술들을 사용하여 식별될 수 있다.
제1 파노라마 이미지상의 프레임 내의 식별된 시각적 피처들은, 임의의 매칭 피처들을 식별하기 위해 제2 파노라마 이미지상의 프레임 내의 식별된 시각적 피처와 비교될 수 있다. 2개의 시각적 피처들 간의 매칭은, 시각적 피처들이 동일한 객체 또는 객체의 일부를 나타내는 것을 표시할 수 있다.
연결성은, 제1 파노라마 이미지와 제2 파노라마 이미지 사이에 시선이 있는지 여부에 기초할 수 있다. 즉, 제1 파노라마 이미지와 제2 파노라마 이미지 사이에 시선이 있다면, 이후, 제1 파노라마 이미지와 제2 파노라마 이미지가 연결될 수 있다.
제1 파노라마 이미지와 제2 파노라마 이미지 사이의 시선에 대한 신뢰도를 결정하기 위해, 매칭하는 시각적 피처들의 위치들이 평가될 수 있다. 제1 파노라마 이미지와 제2 파노라마 이미지 사이에 시선이 있을 수 있고, 여기에서 매칭하는 시각적 피처들이 제1 파노라마 이미지 및 제2 파노라마 이미지와 관련하여 동일하거나 유사한 방향으로 위치한다. 따라서, 2개의 이미지들이 캡처되고 그리고 매칭하는 시각적 피처들의 주어진 쌍들을 향하여 연장되는 위치로부터 시작하는 광선들이 동일하거나 유사한 방향을 가리키는지 여부에 기초하여, 연결성에 대한 신뢰도가 결정될 수 있다. 매칭하는 시각적 피처들의 주어진 쌍에 대한 광선들이 동일하거나 유사한 방향을 가리키는 경우, 광선들이 반대 방향 또는 거의 반대 방향을 가리킬 때보다 신뢰도가 높을 수 있다.
신뢰도는, 또한, 매칭하는 시각적 피처들의 각 쌍에 주어진 가중치에 기초 할 수 있다. 일 예시에서, 매칭하는 시각적 피처들의 주어진 쌍은, 피처들의 추정된 위치들이 피처들의 실제 위치들에 얼마나 가까운 지에 기초하여 가중될 수 있다. 보다 정확한 추정 거리들과 시각적 피처들의 쌍들을 매칭하는 것은 부정확한 추정 거리들을 가진 것보다 더 큰 가중치를 줄 수 있다. 반면, 예측된 거리들 중 하나 또는 둘 모두가 실제 차이들로부터 허용 가능한 정도 이상 차이가 나는 경우, 그때, 시각적 피처들의 매칭하는 쌍이 잘못된 매칭으로 간주되어 무시될 수 있다.
매칭하는 시각적 피처의 주어진 쌍에 가중치를 부여하는 다른 예는 직선 경로로부터의 시각적 피처들의 각 거리에 기초한다. 작은 각 거리들을 갖는 시각적 특징을 매칭하는 것이 큰 각 거리를 갖는 것보다 더 높은 가중치를 가질 수 있다. 매칭하는 시각적 피처들의 주어진 쌍에 가중치를 부여하기 위한 또 다른 근거는 2개의 파노라마 이미지들의 2개의 프레임들 간에 시각적 피처들을 매칭하는 식별된 피처들의 퍼센티지일 수 있다.
신뢰도가 임계 신뢰도 값을 만족하면, 제1 파노라마 이미지와 제2 파노라마 이미지 간에 시선이 존재하는 것으로 결정될 수 있다. 그와 같이, 제1 위치와 제2 위치 사이의 직선 경로를 따라 제1 파노라마 이미지로부터 제2 파노라마 이미지로 연결이 생성될 수 있다. 그러나, 신뢰도가 임계값을 만족하지 않으면, 그때, 시준선이 존재하지 않거나 오히려, 제1 파노라마 이미지의 위치와 제2 파노라마 이미지의 위치 사이에 사람이 그 위치 사이를 직접 이동하는 것을 방해하는 장애물이 있다고 결정될 수 있다. 이 예에서, 제1 파노라마 이미지와 제2 파노라마 이미지 간에 연결이 생성되지 않을 수 있다. 연결은, 직선 경로를 따라 제1 위치로부터 제2 위치까지의 공간을 통해 네비게이팅하는 것을 시뮬레이트하는 2개의 이미지들 또는 3D 변환들 사이의 3차원(3D) 관계를 식별하는 정보를 포함할 수 있다.
파노라마 이미지들의 전체 집합에 대해, 연결 그래프는 상술한 방법을 사용하여 생성될 수 있다. 연결 그래프에서, 파노라마 이미지의 각 위치는 정점일 수 있으며 그리고 두 파노라마 이미지들 간의 각 연결은 에지일 수 있다. 하나의 파노라마 이미지는 둘 이상의 다른 파노라마 이미지들과 연결될 수 있다. 연결 그래프에서 연결들의 수는 다수의 제약 조건들을 적용함으로써 감소될 수 있다. 제약 조건들은 최소 스패닝 트리들 및/또는 델로네 삼각분할에 사용되는 제약 조건들을 포함할 수 있다. 제약 조건을 적용하면, 이는 연결되지 않은 파노라마 이미지들의 2개의 개별적인 세트들을 생성하고, 파노라마 이미지들의 2개의 세트들 사이의 연결 그래프에서 적어도 하나의 기존 연결이 제거되지 않을 수 있다.
예시적인 시스템들
도 1 및 도 2는, 여기에서 서술된 피처들이 구현될 수 있는 예시적인 시스템 (100)을 포함한다. 이는 여기에 서술된 피처들의 개시 또는 유용성의 범위를 제한하는 것으로 간주되어서는 안된다. 이 예에서, 시스템(100)은 하나 이상의 컴퓨팅 디바이스들(110, 120, 130 및 140) 뿐 아니라 저장 시스템(150)을 포함할 수 있다. 하나 이상의 컴퓨팅 디바이스들(110)은 하나 이상의 프로세서들(112), 메모리(114) 및 일반적으로 범용 컴퓨팅 디바이스들에 존재하는 다른 컴포넌트들을 포함한다. 하나 이상의 컴퓨팅 디바이스들(110)의 메모리(114)는, 하나 이상의 프로세서들(112)에 의해 실행될 수 있는 명령어들(116)을 포함하여 하나 이상의 프로세서들(112)에 의해 액세스 가능한 정보를 저장할 수 있다.
메모리는 또한 프로세서에 의해 검색, 조작 또는 저장될 수 있는 데이터(118)를 포함할 수 있다. 메모리는, 하드 드라이브, 메모리 카드, ROM, RAM, DVD, CD-ROM, 쓰기-가능 및 판독-전용 메모리와 같이, 프로세서가 액세스할 수 있는 정보를 저장할 수 있는 임의의 비 일시적인 유형일 수 있다.
명령어들(116)은, 머신 코드와 같이 직접적으로 또는 스크립트들과 같이 간접적으로, 프로세서에 의해 실행될 임의의 명령어들의 세트일 수 있다. 이와 관련하여, "명령어들(instructions)", "적용(application)", "단계들(steps)" 및 "프로그램들(programs)"이라는 용어들은 여기에서 상호 교환적으로 사용될 수 있다. 명령어들은 프로세서에 의한 직접적인 프로세싱을 위해 객체 코드 포맷으로 저장될 수 있거나, 또는 요구에 따라 해석되거나 사전에 컴파일된 독립 소스 코드 모듈들의 스크립트들 또는 집합들을 포함하는 임의의 다른 컴퓨팅 디바이스 언어로 구현될 수 있다. 명령어들의 기능들, 방법들 및 루틴들은 아래에서보다 자세히 설명된다.
데이터(118)는 명령어들(116)에 따라 프로세서(112)에 의해 검색, 저장 또는 수정될 수 있다. 예를 들어, 여기에 서술된 주제가 임의의 특정 데이터 구조에 의해 제한되지는 않지만, 데이터는 컴퓨터 레지스터들에, 그리고 많은 상이한 필드들 및 레코드들을 갖는 테이블과 같은 관계형 데이터베이스에 저장될 수 있거나 또는 구조화(예를 들어, XML 문서)될 수 있다. 이 데이터는 이진값들, ASCII 또는 유니 코드와 같은 임의의 컴퓨팅 디바이스-판독가능한 형식으로 포맷될 수도 있다. 더욱이, 데이터는 숫자들, 설명 텍스트, 독점 코드들, 포인터들, 다른 네트워크 위치들과 같은 다른 메모리들에 저장된 데이터에 대한 참조들과 같은 관련 정보를 식별하기에 충분한 임의의 정보 또는 관련 데이터를 계산하기 위해 함수에 의해 사용되는 정보를 포함할 수 있다.
하나 이상의 프로세서들(112)은 상업적으로 이용 가능한 CPU와 같은 임의의 종래의 프로세서들을 포함할 수 있다. 대안적으로, 프로세서는 ASIC 또는 다른 하드웨어-기반 프로세서와 같은 전용 컴포넌트일 수 있다. 필요하지는 않지만, 하나 이상의 컴퓨팅 디바이스들(110)은 비디오 디코딩, 비디오 프레임들과 이미지들의 매칭, 비디오들의 왜곡, 왜곡된 비디오들을 인코딩 등과 같은 특정 컴퓨팅 프로세스들을 보다 빠르고 효율적으로 수행하기 위한 특수 하드웨어 컴포넌트들을 포함할 수 있다.
도 1은 컴퓨팅 디바이스(110)의 프로세서(들), 메모리 및 다른 요소들을 동일한 블록 내에 있는 것으로 기능적으로 도시하지만, 프로세서, 컴퓨터, 컴퓨팅 디바이스 또는 메모리는, 실제로 동일한 물리적 하우징 내에 저장될 수도 있고 그렇지 않을 수도 있는 다수의 프로세서, 컴퓨터, 컴퓨팅 디바이스들 또는 메모리들을 포함할 수 있다. 예를 들어, 메모리는 하나 이상의 컴퓨팅 디바이스들(110)의 하우징들과 상이한 하나 이상의 하우징들에 위치된 하드 드라이브 또는 다른 저장 매체 일 수 있다. 따라서, 프로세서, 컴퓨터, 컴퓨팅 디바이스 또는 메모리에 대한 참조들은 병렬로 동작할 수도 있고 그렇지 않을 수도 있는 프로세서, 컴퓨터들, 컴퓨팅 디바이스들 또는 메모리들의 집합에 대한 참조들을 포함하는 것으로 이해될 것이다. 예를 들어, 컴퓨팅 디바이스(110)는 로드 밸런싱된 서버 팜으로서 동작하는 서버 컴퓨팅 디바이스들을 포함할 수 있다. 또한, 이하에서 서술되는 일부 기능들이 단일 프로세서를 갖는 단일 컴퓨팅 디바이스에서 발생하는 것으로 표시되지만, 여기에서 서술된 주제의 다양한 양상들은, 예를 들어, 네트워크(180)를 통해 정보를 통신하는 복수의 컴퓨팅 디바이스들에 의해 구현될 수 있다.
하나 이상의 컴퓨팅 디바이스들(110)은 네트워크(180)의 다양한 노드들에 있을 수 있고 그리고 네트워크(180)의 다른 노드들과 직접 및 간접적으로 통신할 수 있다. 단지 몇 개의 컴퓨팅 디바이스들이 도 1 내지 도 2에 도시되어 있지만, 통상적인 시스템은 다수의 연결된 컴퓨팅 디바이스들을 포함할 수 있고, 각각의 상이한 컴퓨팅 디바이스(및 수집 디바이스)는 네트워크(180)의 상이한 노드에 있다. 여기에 기술된 네트워크(180) 및 개재 노드들은, 네트워크가 인터넷, 월드 와이드 웹, 특정 인트라넷들, 광역 네트워크들 또는 로컬 네트워크들의 일부가 될 수 있도록 다양한 프로토콜들 및 시스템들을 사용하여 상호접속될 수 있다. 네트워크는 이더넷, Wi-Fi 및 HTTP와 같은 표준 통신 프로토콜들, 하나 이상의 회사들이 독점적으로 사용하는 프로토콜들 및 전술한 것의 다양한 조합들을 활용할 수 있다. 상기에서 언급한 바와 같이, 정보가 송신 또는 수신될 때 특정 이점들이 얻어지지만, 여기에서 서술된 주제의 다른 양상들은 정보의 임의의 특정 전송 방식으로 제한되지 않는다.
일례로서, 하나 이상의 컴퓨팅 디바이스들(110)은 네트워크를 통해 컴퓨팅 디바이스들(120, 130 및 140)뿐만 아니라 저장 시스템(150)과 통신할 수 있는 하나 이상의 웹 서버들을 포함할 수 있다. 예를 들어, 하나 이상의 서버 컴퓨팅 디바이스들(110)은, 컴퓨팅 디바이스들(120, 130, 또는 140)의 디스플레이(예를 들어, 디스플레이들(122, 132, 142))상의 사용자(예를 들어, 사용자들(220, 230 또는 240))에게 정보를 전송하고 제시하기 위해 네트워크(180)를 사용할 수 있다. 이와 관련하여, 컴퓨팅 디바이스들(120, 130 및 140)은 클라이언트 컴퓨팅 디바이스들로서 간주될 수 있으며, 이하에서 서술되는 피처들의 전부 또는 일부를 수행할 수 있다.
클라이언트 컴퓨팅 디바이스들 각각은, 상기에서 서술된 하나 이상의 프로세서들, 메모리 및 명령어들을 사용하여 서버 컴퓨팅 디바이스들(110)과 유사하게 구성될 수 있다. 각각의 클라이언트 컴퓨팅 디바이스(120, 130 또는 140)는 사용자(220, 230, 240 및 240)에 의해 사용하도록 의도된 개인 컴퓨팅 디바이스일 수 있고, 그리고 중앙 처리 유닛(CPU), 데이터 및 명령어들을 저장하는 메모리(예를 들어, RAM 및 내부 하드 드라이브들), 디스플레이들(122, 132 또는 142)와 같은 디스플레이(예를 들어, 스크린, 터치 스크린, 프로젝터, 텔레비전, 또는 정보를 디스플레이할 수 있는 다른 디바이스를 갖는 모니터), 및 사용자 입력 디바이스(124)(예를 들어, 마우스, 키보드, 터치 스크린 또는 마이크로폰)를 포함할 수 있다. 클라이언트 컴퓨팅 디바이스 또한 비디오 스트림들, 스피커들, 네트워크 인터페이스 디바이스 및 이들 요소들을 서로 접속하기 위해 사용되는 모든 구성 요소들을 기록하는 카메라를 포함할 수 있다.
클라이언트 컴퓨팅 디바이스들(120, 130 및 140)은 각각 풀 사이즈 개인용 컴퓨팅 디바이스를 포함할 수 있지만, 대안적으로, 상기 클라이언트 컴퓨팅 디바이스들은 인터넷과 같은 네트워크를 통해 서버와 무선으로 데이터를 교환할 수 있는 모바일 컴퓨팅 디바이스들을 포함할 수 있다. 하나의 예로서, 클라이언트 컴퓨팅 디바이스(120)는, 이동 전화, 또는 인터넷을 통해 정보를 획득할 수 있는 무선 가능 PDA, 태블릿 PC 또는 넷북과 같은 디바이스일 수 있다. 다른 예에서, 클라이언트 컴퓨팅 디바이스(130)는 머리에 장착되는 컴퓨팅 시스템일 수 있다. 일 예로서, 사용자는 작은 키보드, 키패드, 마이크로폰을 사용하여, 카메라를 통한 시각 신호들을 사용하여 그리고 터치 스크린을 사용하여 정보를 입력할 수 있다.
저장 시스템(150)은 다양한 유형들의 정보를 저장할 수 있다. 아래에서보다 상세하게 설명하는 바와 같이, 저장 시스템(150)은 이미지들 또는 비디오들과 같은 다양한 포맷들의 비주얼 미디어를 저장할 수 있다. 일부 이미지들 및 비디오들은 네비게이션 경험에서 시퀀스의 일부일 수 있으며, 이는 또한 저장 시스템(150)에 저장될 수 있다. 이러한 이미지들 또는 비디오들은, 이미지를 검색하는 데 사용할 수 있는 이미지 식별자, 이미지를 만든 시간, 이미지를 찍은 위치, 이미지가 보여지는 각도 및 이미지 포맷(JPEG, TIFF 등)과 같은 다른 정보와 관련된 이미지 파일들의 일부일 수 있다. 이미지 파일은, 이미지가 캡처된 날짜 및 시간과 같은 정보가 포함된 타임 스탬프를 포함할 수 있다. 이미지 파일은 또한 위치(예를 들어, 위도 및 경도 또는 다른 위치 좌표)를 나타내는 지리적 위치 정보 및 이미지가 캡처된 방향 정보(포즈)를 포함하는 포즈 정보를 포함할 수 있다.
저장 시스템(150)은 이미지들, 이미지 위치 데이터, 이미지 포즈 정보, 3D 기하구조 데이터, 및 이미지들 또는 비디오들을 분석하고 조작하기 위한 알고리즘들을 저장할 수 있다. 예로서, 위치 정보는 위도/경도 좌표들을 포함할 수 있다. 이미지의 포즈는 이미지가 지구에 대해 사실적으로 포즈(또는 배향)될 수 있도록 결정되거나 알려질 수 있다. 저장된 이미지들 중 적어도 일부는 파노라마 이미지를 포함하여 180도보다 큰 시야를 가질 수 있다. 저장된 이미지들 중 일부는 360도의 시야를 갖는 구형 파노라마 이미지들을 포함할 수 있다. 구형 파노라마 이미지들의 경우, 포즈 정보는 파노라마 이미지의 어느 부분들이 위, 아래, 북쪽, 남쪽, 동쪽 및/또는 서쪽을 가리키고 있는지 나타낼 수 있다. 3D 기하구조 데이터는 적어도 일부의 이미지들에 묘사된 위치들에서의 물리적 피처들을 식별하는 3차원 메시(mesh)들 및/또는 포인트들을 포함할 수 있다. 이미지들은 비슷한 위치에 캡처되거나 유사한 피처들을 가진 것을 기초로 집합으로 구성되고 저장될 수 있다. 이미지들 간의 연결들은 저장 시스템(150)에도 저장될 수 있다.
메모리(114)에서와 같이, 저장 시스템(150)은 하드 드라이브, 메모리 카드, ROM, RAM, DVD, CD-ROM, 기록 가능한 메모리들 및 판독 전용 메모리들과 같은, 서버(110)에 의해 액세스 가능한 정보를 저장할 수 있는 임의의 유형의 컴퓨터 저장 장치일 수 있다. 또한, 저장 시스템(150)은, 데이터가 동일하거나 상이한 지리적 위치들에 물리적으로 위치될 수 있는 복수의 상이한 저장 디바이스들 상에 저장되는 분산 저장 시스템을 포함할 수 있다. 저장 시스템(150)은 도 1에 도시된 바와 같이 네트워크(180)를 통해 컴퓨팅 디바이스들에 접속될 수 있고 그리고/또는 컴퓨팅 디바이스들(110 내지 140)(도시되지 않음) 중 임의의 것에 직접 연결되거나 통합될 수 있다.
예시적인 방법들
위에서 서술되고 도면들에 도시된 동작들 이외에, 다양한 동작들이 이제 서술될 것이다. 하기의 동작들은 아래에서 서술된 정확한 순서대로 수행될 필요가 없다. 오히려, 다양한 단계들이 다른 순서로 또는 동시에 처리될 수 있으며, 단계들이 또한 추가되거나 생략될 수 있다.
도 3에서 도시된 바와 같이, 위치 A로부터 캡처된 제1 파노라마 이미지 (310)는 이웃하는 파노라마 이미지들에 대한 연결성을 결정하기 위해 선택될 수 있다. 위치 B(322)로부터 캡처된 근처의 제2 파노라마 이미지(320)가 선택될 수 있다. 제1 파노라마 이미지 및 제2 파노라마 이미지는 위치 정보 및 포즈 정보와 관련될 수 있다. 제1 파노라마 이미지 및 제2 파노라마 이미지는, 각각, 제1 위치 및 제2 위치로부터 완전한 360도 시야를 갖는 구형 파노라마 이미지들일 수 있다. 제1 파노라마 이미지 및 제2 파노라마 이미지에 의해 캡처된 공간의 3D 기하구조가 알려질 수 있다. 대안으로, 공간의 3D 기하구조는 또한 알려지지 않을 수 있다. 서로 관련된 제1 파노라마 이미지 및 제2 파노라마 이미지의 위치들은 각 파노라마 이미지와 관련된 위치 및 포즈 정보를 사용하여 결정될 수 있다.
일단 파노라마 이미지들의 포지션들이 선택되면, 제1 파노라마 이미지 및 제2 파노라마 이미지의 프레임들이 식별될 수 있다. 따라서, 도 3을 참조하면, 결정된 포지션들을 사용하여, 제1 파노라마 이미지(310)상의 제1 프레임(330)이 선택될 수 있다. 선택된 제1 프레임(330)은 제2 파노라마 이미지(320)에 인접한 반구에 위치될 수 있고 그리고 위치 A와 위치 B 사이의 직선 경로(340) 중심에 있을 수 있다. 제2 파노라마 이미지(320) 상의 제2 프레임(350)이 또한 선택될 수 있다. 제2 프레임(350)은 직선 경로(340) 중심에 있을 수 있다. 제2 프레임(350)은 반구의 대향 위치 A에서 제2 파노라마 이미지(320)의 일부를 감쌀 수 있다.
도 4에 도시된 바와 같이, 제1 파노라마 이미지(310)상의 제3 프레임(430)이 또한 선택될 수 있다. 제3 프레임(430)은 반구 대향 위치 B에서 직선 경로(440) 중심에 있을 수 있다. 추가적으로, 제2 파노라마 이미지(320)상의 제4 프레임(450)이 선택될 수 있다. 제4 프레임(450)은 제1 파노라마 이미지(310)에 인접한 반구에서 직선 경로(440) 중심에 있을 수 있다. 제1 프레임(330), 제2 프레임(350), 제3 프레임(430) 및 제4 프레임(450)은 각각의 캡처 위치로부터 측정된 바와 같이 0도 내지 180도 사이의 각 거리: 예를 들어, 45도 또는 90도를 커버 할 수 있다.
각 프레임 내의 제1 파노라마 이미지 및 제2 파노라마 이미지의 시각적 피처들의 세트들이 식별될 수 있다. 제1 프레임(330) 내의 제1 파노라마 이미지(310)의 제1 세트의 시각적 피처들이 식별될 수 있다. 제2 프레임(350) 내의 제2 파노라마 이미지(320)의 제2 세트의 시각적 피처들이 또한 식별될 수 있다. 제3 세트의 시각적 피처 및 제4 세트의 시각적 피처가, 각각, 제3 프레임(430) 및 제4 프레임(450)에서 식별될 수 있다. 시각적 피처들은 라인들, 코너들, 텍스처들 등을 포함할 수 있다. 프레임 내에서 및 서로에 대해 식별된 시각적 피처들의 위치가 또한 결정될 수 있다. 시각적 피처들은 임의의 수의 객체 인식 기술들을 사용하여 식별될 수 있다.
제1 파노라마 이미지상의 프레임 내의 식별된 시각적 피처들은 임의의 매칭 피처들을 식별하기 위해 제2 파노라마 이미지상의 프레임 내의 식별된 시각적 피처들과 비교될 수 있다. 이와 관련하여, 제1 세트의 시각적 피처들은 제2 세트의 시각적 피처들과 비교될 수 있고, 그리고 제3 세트의 시각적 피처들은 제4 세트의 시각적 피처들과 비교될 수 있다. 추가적으로, 제2 세트의 시각적 피처들은 임의의 매칭하는 피처들을 식별하기 위해 제3 세트의 시각적 피처들과 비교될 수 있다. 2개의 시각적 피처들 사이의 매칭은, 시각적 피처들이 동일한 객체 또는 객체의 일부를 나타내는 것을 표시할 수 있다. 매칭하는 시각적 피처들은, 예를 들어, 대응하는 위치들에서의 매칭 또는 대응하는 객체들, 패턴들, 텍스처들, 컬러들, 형상들 등 또는 임의의 다른 알려진 시각적 피처 매칭 알고리즘들을 포함할 수 있다.
제1 파노라마 이미지와 제2 파노라마 이미지 간의 시선에 대한 신뢰도는 도 5a 내지 도 5d에 도시된 바와 같이 매칭하는 시각적 피처들의 위치들을 평가함으로써 결정될 수 있다. 시선에 대한 신뢰도는, 상기 파노라마 이미지의 캡처 위치로부터 주어진 쌍의 매칭하는 시각적 피처들로 캐스팅된 광선들이 제1 파노라마 이미지와 제2 파노라마 이미지 사이의 영역에서 교차하는지 여부에 기초하여 결정될 수 있다. 매칭하는 시각적 피처들의 주어진 쌍에 대한 광선들이 도 5a에 도시된 바와 같이 제1 파노라마 이미지와 제2 파노라마 이미지 사이의 영역의 외부에서 교차하는 경우, 신뢰도는 도 5b에 도시된 바와 같이, 광선들이 파노라마 이미지들 사이의 영역에서 교차하는 경우보다 높을 수 있다.
도 5a에 도시된 바와 같이, 광선은 위치 A로부터 제1 파노라마 이미지(310)의 시각적 피처(510) 및 위치 B로부터 제2 파노라마 이미지(320)의 시각적 피처(520)로 캐스팅될 수 있다. 도 5a의 광선들이 동일한 방향을 가리키기 때문에, 시선에 대한 신뢰도가 증가될 수 있다. 반면에, 도 5b에 도시된 바와 같이, 광선은 위치 A로부터 제1 파노라마 이미지(310)의 다른 시각적 피처(512)로 그리고 위치 B로부터 제2 파노라마 이미지(320)의 또 다른 시각적 피쳐(522)로 캐스팅될 수 있다. 도 5b의 광선들이 거의 반대 방향들을 가리키기 때문에 시선의 신뢰도는 낮아질 수 있다.
결정된 신뢰도는 매칭하는 시각적 피처들의 각 쌍에 주어진 가중치에 더 기초할 수 있다. 매칭하는 시각적 피처들의 주어진 쌍에 대한 가중치를 부여하는 한 가지 방법은 주어진 쌍 간의 유사도에 기초한다. 예를 들어, 매칭하는 시각적 피처들의 쌍 사이의 유사성이 높을수록 일치 가능성이 높다.
매칭하는 시각적 피처들의 주어진 쌍에 가중치를 부여하는 또 다른 방법은 재투영 오차(reprojection error)에 기초하거나 또는 피처의 예측된 거리가 실제 거리와 얼마나 가까운지에 기초한다. 도 5c에 도시된 바와 같이, 추정된 위치를 결정하기 위해, 광선은 위치 A로부터 제1 세트의 시각적 피처들 중 하나의 피처로 캐스팅될 수 있다. 또 다른 광선은 위치 B에서 제2 세트의 시각적 피처들에서 매칭하는 피처로 캐스팅될 수 있다. 광선들(530)의 교점 또는 대부분의 예에서, 광선들이 실제로 교차하지 않는 서로 가장 가까운 광선들 사이의 점은 피처의 추정된 위치일 수 있다. 위치 A 및 위치 B에 대한 피처의 실제 거리는 알려질 수 있거나 또는 제1 파노라미 이미지 및 제2 파노라마 이미지에 대해 알려진 3D 기하구조 데이터 또는 이들 이미지들의 위치들에 기초하여 결정될 수 있다. 따라서, 위치 A와 교차점(또는 광선들 사이의 지점) 사이의 추정된 거리 (540)가 결정될 수 있고 그리고 위치 A와 피처 사이의 실제 거리와 비교될 수 있다. 위치 B로부터의 추정된 거리(542)에 대해서도 동일하게 할 수 있다. 그 후, 매칭된 시각적 피처들의 주어진 쌍은 추정된 거리들(540, 542)이 실제 거리들에 얼마나 가깝게 있는지에 기초하여 가중될 수 있다. 보다 정확한 추정 거리들을 갖는 매칭하는 시각적 피처들은 부정확한 추정된 거리들을 갖는 것보다 가중될 수 있다. 그러나, 광선들이 서로의 최소 임계 거리 내에 있지 않거나(예를 들어 서로 너무 멀 때) 또는 하나 또는 둘 모두의 예측된 거리들이 실제 차이들로부터 허용 가능한 정도 이상 차이가 나는 경우, 매칭은 거짓 매칭으로 간주될 수 있고 그리고 무시될 수 있다.
매칭하는 시각적 피처들의 주어진 쌍의 가중치는, 또한, 매칭하는 시각적 피처들의 주어진 쌍의 방향으로 캐스팅된 2개의 광선들 사이의 가장 가까운 점에서의 각도 차이에 기초할 수 있다. 2개의 광선들이 실제로 교차하면 각도 차이는 0이다. 더 멀리있는 두 개의 광선들이 교차하고 있으면, 대응하는 시각적 피처들 간의 매칭은 낮다. 따라서 대응하는 광선들이 더 큰 각도 차이를 갖는 매칭되는 시각적 피처들의 쌍에 더 적은 가중치가 할당될 수 있다.
매칭하는 시각적 피처들의 주어진 쌍에 가중치를 부여하는 다른 예는, 직선 경로로부터의 시각적 피처들의 각 거리에 기초한다. 도 5d에 도시된 것처럼, 정합 피처의 각 거리는 위치 A로부터의 매칭 피처들 (550, 552, 554)로의 광선을 캐스팅하고 그리고 광선과 직선 경로(340) 사이의 각을 측정함으로써 결정될 수 있다. 작은 각 거리들을 갖는 시각적 피처들을 매칭하는 것은 더 큰 각 거리들을 갖는 것보다 높게 가중될 수 있다.
신뢰도는 식별된 피처들 중 몇 퍼센트가 시각적 피처들과 매칭하는지에 기초하여 더 결정될 수 있다. 매칭하는 시각적 피처들의 퍼센티지와 신뢰도 간의 관계는, 매칭하는 시각적 피처들 주어진 쌍의 가중치, 매칭하는 시각적 피처들의 절대 수, 제1 파노라마 이미지와 제2 파노라마 이미지 사이의 거리 및 추정된 피처 위치들의 잔여 오차를 포함할 수 있다. 퍼센티지가 작지만 직선 경로에서 작은 각 거리 내에 매칭하는 시각적 피처들의 퍼센티지가 큰 경우 신뢰 수준이 높을 수 있다. 동일한 방식으로, 매칭하는 시각적 피처들의 절대 수가 많으면, 그때, 매칭하는 시각적 피처들의 퍼센티지가 낮더라도 신뢰도는 여전히 높을 수 있다. 파노라마 이미지들 사이의 거리가 길 때 또는 추정된 피처 위치들의 잔류 오차가 작을 때에 대해서도 동일하게 간주될 수 있다.
2개의 이미지들 사이의 시선에 대한 최종 신뢰도는 상기의 임의의 조합에 기초할 수 있다. 이와 관련하여, 가중치는 합계, 가중치 합계 또는 가중치들을 결합하는 임의의 다른 알려진 기술을 사용하여 함께 결합될 수 있다.
최종 신뢰도가 임계값을 만족하면, 제1 파노라마 이미지(310)와 제2 파노라마 이미지(320) 사이에 시선이 존재하는 것으로 판단될 수 있고, 제1 위치와 제2 위치 사이의 직선 경로(340)를 따라 제1 파노라마 이미지(310)로부터 제2 파노라마 이미지로의 연결이 생성될 수 있다. 하지만, 최종 신뢰도가 임계치 e를 만족하지 않으면, 시선이 존재하지 않거나 오히려, 제1 파노라마 이미지의 위치와 제2 파노라마 이미지의 위치 사이에 사람이 위치들 사이를 직접 이동하는 것을 방해하는 장애물이 있음을 알 수 있다. 연결은 직선 경로를 따라 제1 위치로부터 제2 위치까지 공간을 통해 네비게이팅하는 것을 시뮬레이트하는 3D 전이(transition)들과 2개의 이미지들 사이의 3차원(3D) 관계를 식별하는 정보를 포함할 수 있다. 이 점에서, 각 연결은 2개의 이미지들 사이의 네비게이션 경로를 나타낼 수 있다.
상기에서 서술된 피처들이 파노라마 이미지들의 전체 집합에 대해 수행될 때, 접속 그래프가 생성될 수 있다. 도 6에 도시된 바와 같이, 연결 그래프(600)에서, 파노라마 이미지의 위치에 대응하는 각각의 위치 A, B, C, D, E, F는 정점으로 맵핑될 수 있고 그리고 2개의 파노라마 이미지들 사이의 각 연결(610, 620, 630, 640, 650, 660, 670, 680)은 에지일 수 있다. 하나의 파노라마 이미지는, 상기의 피처들을 사용하여 결정된 이미지들 사이에 시선이 존재하는 동안 하나보다 많은 다른 파노라마 이미지와 연결할 수 있다. 집합의 파노라마 이미지들이 조밀하게 연결되어 있고 그리고 모든 파노라마 이미지들 사이에서 많은 양의 시각적 피처들을 공유하면 그래프가 과도하게 연결될 수 있다. 도 7에서 도시된 것처럼 연속적인 방식으로 파노라마 이미지들의 집합을 통과하는 사실적인 네비게이션 경로들을 야기할 수 있는 경로들을 생성해야하는 과제가 존재한다.
연결 그래프에서 연결들의 수를 줄이기 위해, 다수의 제약 조건들이 사용될 수 있다. 제약 조건들은 최소 스패닝 트리들 및/또는 델로네 삼각분할에 사용되는 제약 조건들을 포함할 수 있다. 추가적으로 또는 대안적으로, 제약 조건들은 파노라마 이미지마다 미리 결정된 수의 연결들만을 생성하고, 미리 결정된 거리보다 적은 연결들을 생성하며, 단 하나의 리던던시 계층을 허용하고, 그리고/또는 주어진 노드들의 쌍 사이의 거리를 최소화하는 것을 포함할 수 있다. 제약 조건들은 일련의 증가하는 제한적인 반복들에 적용될 수 있다. 대안적으로, 연결들의 수를 줄이기 위해 사용되는 제약 조건들은 상기에서 서술된 방법의 시작시 연결 형성에 대한 제약 조건들로서 구성될 수 있다. 그 결과, 도 7에 도시된 것처럼, 연결 그래프(600)의 연결들의 수를 줄이기 위해 연결들(620, 650)을 제거하여 작고 밀도가 낮은 새로운 연결 그래프(700)를 생성할 수 있다.
제약 조건들을 적용하면, 이는 연결되지 않은 파노라마 이미지들의 2개의 개별적인 세트들을 생성하고, 파노라마 이미지들의 2개의 세트들 사이의 연결 그래프에서 적어도 하나의 기존 연결이 제거되지 않을 수 있다. 대안으로, 집합의 모든 파노라마 이미지들이 집합의 적어도 하나의 다른 파노라마 이미지에 연결되도록 하기 위해 덜 제한적인 제약 조건들이 적용될 수 있다. 예를 들어, 접속 그래프(700)로부터 접속(680)이 제거되면, 위치 F는 임의의 다른 위치에 접속하지 않을 것이다. 따라서, 연결(680)을 제거하는 제약 조건들이 적용되는 경우, 위치 F와 적어도 하나의 연결을 유지하기 위해 연결(680)에 대한 예외가 만들어질 수 있다.
도 8은 서버 컴퓨팅 디바이스(110)와 같은 하나 이상의 컴퓨팅 디바이스들에 의해 수행될 수 있는 상기에서 서술된 양상들의 일부에 따른 예시적인 흐름도 (800)이다. 이러한 예에서, 제1 위치로부터 취해진 제1 이미지 및 제2 위치로부터 취해진 제2 이미지가 블록(802)에서 선택될 수 있다. 이후, 블록(804)에서, 제2 위치와 관련하여 제1 위치의 포지션이 결정될 수 있다. 블록(806)에서, 제1 이미지상의 제1 프레임 및 제2 이미지상의 제2 프레임이 선택될 수 있으며, 제1 프레임 및 제2 프레임은 각각 제1 위치 및 제2 위치에 대해 동일한 방향으로 존재한다. 블록(808)에서, 제1 세트의 시각적 피처들 및 제2 세트의 시각적 피처들이 각각 제1 프레임 및 제2 프레임에서 식별될 수 있다. 유사한 방식으로, 제1 이미지상의 제3 프레임 및 제2 이미지상의 제4 프레임은 블록(810)에서 선택될 수 있고, 블록(812)에서, 제3 세트 및 제4 세트의 시각적 피처들은 각각 제3 프레임 및 제4 프레임에서 식별될 수 있다. 블록(814)에서, 제1 프레임과 제2 프레임 사이 그리고 제3 프레임과 제4 프레임 사이의 다수의 매칭하는 시각적 피처들이 결정될 수 있다. 매칭하는 시각적 피처들에 기초하여, 블록(816)에서 제1 이미지와 제2 이미지 사이의 시선에 대한 신뢰도가 결정될 수 있다. 신뢰도에 따라, 블록(818)에서 제1 이미지로부터 제2 이미지로의 네비게이션 경로가 생성될 수 있다.
도 9는 서버 컴퓨팅 디바이스(110)와 같은 하나 이상의 컴퓨팅 디바이스들에 의해 수행될 수 있는 상기에서 서술된 양상들 중 일부에 따른 다른 예시적인 흐름도(900)이다. 이 예에서, 블록(902)에서 복수의 이미지들이 선택될 수 있다. 복수의 이미지들 내의 모든 이미지 쌍들에 대해, 이미지들의 각 쌍 사이의 시선에 대한 신뢰도가 블록(904)에서 결정될 수 있다. 이미지들의 각각의 쌍에 대한 신뢰도에 따라, 블록(906)에서, 하나 이상의 이미지 쌍들 간의 네비게이션 경로들이 생성될 수 있다. 따라서, 연결 그래프는 블록(908)에서 생성될 수 있으며, 여기서 각각의 이미지는 연결 그래프의 정점이고 그리고 각 네비게이션 경로는 연결 그래프의 에지이다.
사용자(예를 들어, 사용자 (220))는, 사람이 세계를 걸어갈 때 파노라마들에 의해 묘사된 영역들을 가상적으로 탐색하기 위해 파노라마들 또는 파노라마들의 집합을 사용할 수 있다. 사용자(220)는 명확한 시선이 있고 벽과 같은 물체에 의해 방해받는 경로를 피하는 파노라마들 사이를 이동할 수 있다. 파노라마들 사이에 형성된 연결들은, 2개의 이미지들 사이의 그리고 직선 경로를 따라 제1 위치에서 제2 위치까지의 공간을 네비게이팅하는 것을 시뮬레이션하는 3D 전환 사이들의 3차원(3D) 관계를 식별하는 정보를 포함할 수 있다. 따라서, 사용자(220)는 제1 파노라마(310)에서 시작하여 제1 파노라마와 제2 파노라마 사이에 시선이 있을 때 제2 파노라마(320)로 이동한다. 제1 파노라마(310)와 제2 파노라마(320) 사이에 시선이 없는 경우, 그때, 연결은 존재하지 않고 그리고 장애물이 있으면 사람이 제1 위치에서 제2 위치로 네비게이트할 수 없는 것처럼, 사용자(220)는 제1 파노라마로부터 제2 파노라마까지 네비게이트할 수 없다.
위에서 서술된 피처들은, 이미지들 사이의 연결들을 빠르고 정확하게 생성하여보다 현실적인 사용자 환경을 만들 수 있다. 이러한 연결들은, 2개의 파노라마 이미지들로 묘사된 2개의 위치들 사이의 네비게이션을 사용들을 위해 더 잘 모델링할 수 있다. 파노라마 이미지들 내의 시각적 피처들을 위치 및 포즈 정보와 매칭하는 것을 사용함으로써, 공통의 시선을 가진 파노라마 이미지들이 연결된다. 반면에, 인간이 걸을 수 없는 벽들이나 관목들과 같은 하나 이상의 장애물이 놓여있는 파노라마 이미지들은 연결되지 않는다. 파노라마 이미지들의 집합에서 이러한 연결들을 발생시켜 생성된 그래프는, 실제로 사람이 파노라마 이미지들에 묘사된 공간을 걷는 것처럼 파노라마 이미지들로 묘사된 위치들을 가상적으로 탐색하는 데 사용될 수 있다. 추가로, 서술된 피처들은 파노라마 이미지들 간의 연결들의 수를 최소화하여 사용자로 하여금 좀 더 순차적인 방식으로 파노라마 이미지들을 네비게이트할 수 있도록 한다. 따라서, 이러한 피처들은, 사용자들이 가상적으로 쉽게 위치들을 네비게이트할 수 있도록 지리적으로 근접한 파노라마 이미지들의 그룹들을 빠르고 자동으로 연결하는 방법을 제공한다.
본 발명은 특정 실시예들을 참조하여 서술되었지만, 이들 실시예들은 단지 본 발명의 원리들 및 적용들을 설명하는 것임을 이해해야 한다. 따라서, 예시적인 실시예들에 대해 많은 수정들이 이루어질 수 있으며, 첨부된 청구 범위들에 의해 정의된 본 발명의 사상 및 범위를 벗어나지 않고 다른 구성들이 고안될 수 있음을 이해해야 한다.

Claims (20)

  1. 방법으로서,
    하나 이상의 프로세서들에 의해, 제1 위치(location)로부터 취해진 제1 이미지 및 제2 위치로부터 취해진 제2 이미지를 선택하는 단계와;
    상기 하나 이상의 프로세서들에 의해, 상기 제2 위치에 관련하여 상기 제1 위치의 포지션(position)을 결정하는 단계와;
    상기 하나 이상의 프로세서들에 의해, 상기 포지션에 기초하여 상기 제1 이미지상의 제1 프레임 및 상기 제2 이미지상의 제2 프레임을 선택하는 단계와;
    상기 하나 이상의 프로세서들에 의해, 상기 제1 프레임에서의 상기 제1 이미지의 제1 세트의 시각적 피처(feature)들 및 상기 제2 프레임에서의 상기 제2 이미지의 제2 세트의 시각적 피처들을 식별하는 단계와;
    상기 하나 이상의 프로세서들에 의해, 상기 제1 세트의 시각적 피처들과 상기 제2 세트의 시각적 피처들 사이에서 다수의 매칭하는 시각적 피처들을 결정하는 단계와;
    상기 하나 이상의 프로세서들에 의해, 상기 매칭하는 시각적 피처들의 하나 이상의 포지션들을 평가함으로써 상기 제1 이미지와 상기 제2 이미지 사이의 시선(line-of-sight)에 대한 신뢰도를 결정하는 단계와; 그리고
    상기 하나 이상의 프로세서들에 의해, 적어도 상기 신뢰도에 기초하여, 제1 이미지로부터 제2 이미지로의 네비게이션 경로를 생성하는 단계를 포함하는 것을 특징으로 하는
    방법.
  2. 제1항에 있어서,
    상기 제1 프레임은 상기 제1 위치의 방향에 있고, 상기 제2 프레임은 상기 제2 위치의 방향에 있으며, 상기 제1 프레임 및 제2 프레임은 상기 제1 위치와 상기 제2 위치 사이의 직선 경로의 중심에 있는 것을 특징으로 하는
    방법.
  3. 제1항에 있어서,
    상기 포지션을 결정하는 단계는 상기 제1 이미지 및 상기 제2 이미지의 포즈 정보(pose information)를 결정하는 단계를 더 포함하고, 상기 포즈 정보는 기본 방향들에 대한 상기 제1 이미지 및 상기 제2 이미지의 방향 정보를 포함하는 것을 특징으로 하는
    방법.
  4. 제1항에 있어서,
    제1 시각적 피처 및 제2 시각적 피처의 주어진 쌍에 대해,
    제1 매칭하는 시각적 피처 및 제2 매칭하는 시각적 피처의 포지션들을 평가하는 단계와;
    상기 제1 위치로부터의 제1 광선을 상기 제1 파노라마 이미지에서의 상기 제1 매칭하는 시각적 피처로 캐스팅하는 단계와;
    상기 제2 위치로부터의 제2 광선을 상기 제2 파노라마 이미지에서의 상기 제2 매칭하는 시각적 피처로 캐스팅하는 단계와; 그리고
    상기 제1 파노라마 이미지와 상기 제2 파노라마 이미지 사이의 영역에서 상기 제1 광선과 상기 제2 광선이 서로 가장 인접하는지를 판단하는 단계를 더 포함하고,
    상기 신뢰도는 상기 제1 파노라마 이미지와 상기 제2 파노라마 이미지 사이의 영역에서 상기 제1 광선과 상기 제2 광선이 서로 가장 인접하는지에 대한 판단에 기초하여 또한 결정되는 것을 특징으로 하는
    방법.
  5. 제1항에 있어서,
    상기 신뢰도를 결정하는 단계는 매칭하는 시각적 피처들의 각 쌍에 가중치를 할당하는 단계를 더 포함하고, 상기 가중치는:
    (1) 상기 주어진 매칭하는 시각적 피처들의 재투영 오차(reprojection error)와;
    (2) 상기 제1 위치와 상기 제2 위치 사이의 직선 경로로부터 상기 주어진 매칭하는 시각적 피처들 각각의 각 거리(angular distance)들과; 그리고
    (3) 상기 주어진 매칭하는 시각적 피처들 간의 시각적 유사성들 중 적어도 하나와 대응하는 것을 특징으로 하는
    방법.
  6. 제5항에 있어서,
    상기 신뢰도는:
    (1) 매칭하는 시각적 피처들인 식별된 시각적 피처들의 퍼센티지와;
    (2) 상기 매칭하는 시각적 피처들의 각 쌍에 할당된 가중치와;
    (3) 상기 제1 이미지와 상기 제2 이미지 사이의 거리와; 그리고
    (4) 상기 매칭하는 시각적 피처들의 추정된 위치들의 잔여 오차(residual error) 중 적어도 하나에 따라 결정되는 것을 특징으로 하는
    방법.
  7. 제5항에 있어서,
    상기 매칭하는 시각적 피처들의 추정된 위치는,
    상기 제1 위치로부터의 제1 광선을 상기 제1 세트의 시각적 피처들 내의 제1 피처로 캐스팅하는 단계와;
    상기 제2 위치로부터의 제2 광선을 상기 제2 세트의 시각적 피처들 내의 제2 피처로 캐스팅하는 단계 - 상기 제1 피처 및 상기 제2 피처는 한 쌍의 매칭하는 시각적 피처들이며 - 와; 그리고
    상기 제1 광선 및 상기 제2 광선이 서로 미리결정된 거리 내에 있을 때, 상기 제1 광선 및 상기 제2 광선은 서로에 대해 가장 근접한 위치에서 가장 가까운 점을 상기 제1 피처 및 상기 제2 피처의 추정된 위치로서 설정하는 단계에 의해 결정되는 것을 특징으로 하는
    방법.
  8. 제7항에 있어서,
    상기 제1 광선 및 상기 제2 광선이 상기 미리결정된 거리 내에 있지 않거나 발산할 때, 상기 매칭하는 시각적 피처들의 수로부터 상기 한 쌍의 매칭하는 시각적 피처들을 제거하는 단계를 더 포함하는
    방법.
  9. 제1항에 있어서,
    상기 네비게이션 경로는 하나 이상의 제약조건들에 따라 더 생성되는 것을 특징으로 하는
    방법.
  10. 제9항에 있어서,
    상기 하나 이상의 제약조건들은, 최소 스패닝 트리 제약조건들, 델로네 삼각분할 제약조건들(Delaunay Triangulation constraints), 정점당 에지들의 개수 설정, 에지들에 대한 최대 거리 설정, 리던던시 계층(redundancy layer)을 하나만 허용 및 한 쌍의 정점들 사이의 거리를 최소화하는 것 중 적어도 하나를 포함하는 것을 특징으로 하는
    방법.
  11. 방법에 있어서,
    하나 이상의 프로세서들에 의해, 복수의 이미지들을 선택하는 단계와;
    상기 복수의 이미지들 내의 이미지들의 매(every) 쌍에 대해,
    상기 하나 이상의 프로세서들에 의해, 제2 위치에서 취해진 상기 쌍의 제2 이미지에 관하여 제1 위치에서 취해진 상기 쌍의 제1 이미지의 포지션을 결정하고,
    상기 하나 이상의 프로세서들에 의해, 상기 제1 위치와 상기 제2 위치 사이의 직선 경로를 따라 상기 제1 위치로부터 상기 제1 이미지 및 상기 제2 이미지로 프레임을 투영하고,
    상기 하나 이상의 프로세서들에 의해, 상기 제1 이미지상의 상기 프레임의 투영 내에서 상기 제1 이미지의 제1 세트의 시각적 피처들을 식별하고,
    상기 하나 이상의 프로세서들에 의해, 상기 제2 이미지상의 상기 프레임의 투영 내에서 상기 제2 이미지의 제2 세트의 시각적 피처들을 식별하고, 그리고
    상기 하나 이상의 프로세서들에 의해, 상기 제1 세트의 시각적 피처들과 상기 제2 세트의 시각적 피처들 사이의 매칭하는 시각적 피처를 결정함으로써, 상기 하나 이상의 프로세서들에 의해, 이미지들의 각 쌍 사이의 연결성에 대한 신뢰도를 결정하는 단계와;
    적어도 상기 매칭하는 시각적 피처들에 기초하여 상기 제1 이미지와 상기 제2 이미지 사이의 시선에 대한 신뢰도를 결정하는 단계와; 그리고
    상기 하나 이상의 프로세서들에 의해, 이미지들의 각각의 쌍에 대한 신뢰도에 따라 이미지들의 하나 이상의 쌍 사이의 네비게이션 경로들을 생성하는 단계를 포함하는 것을 특징으로 하는
    방법.
  12. 제11항에 있어서,
    상기 하나 이상의 프로세서들에 의해, 연결 그래프를 생성하는 단계를 더 포함하고, 각각의 이미지는 상기 연결 그래프의 정점이고, 각각의 네비게이션 경로는 상기 연결 그래프의 에지인 것을 특징으로 하는
    방법.
  13. 제12항에 있어서,
    상기 연결 그래프를 생성하는 단계는 하나 이상의 제약조건들을 적용함으로써 적어도 하나의 에지를 제거하는 단계를 더 포함하는 것을 특징으로 하는
    방법.
  14. 제13항에 있어서,
    상기 하나 이상의 제약조건들은, 최소 스패닝 트리 제약조건들, 델로네 삼각분할 제약조건들, 정점당 에지들의 개수 설정, 에지들에 대한 최대 거리 설정, 리던던시 계층(redundancy layer)을 하나만 허용 및 한 쌍의 정점들 사이의 거리를 최소화하는 것 중 적어도 하나를 포함하는 것을 특징으로 하는
    방법.
  15. 시스템으로서,
    제1 위치로부터 취해진 제1 이미지 및 제2 위치로부터 취해진 제2 이미지를 저장하는 메모리와; 그리고
    하나 이상의 프로세서들을 갖는 하나 이상의 컴퓨팅 디바이스들을 포함하고,
    상기 하나 이상의 프로세서들은,
    상기 제2 위치에 관련하여 상기 제1 위치의 포지션을 결정하고,
    상기 포지션에 기초하여 상기 제1 이미지상의 제1 프레임 및 상기 제2 이미지상의 제2 프레임을 선택하고,
    상기 제1 프레임에서의 상기 제1 이미지의 제1 세트의 시각적 피처들 및 상기 제2 프레임에서의 상기 제2 이미지의 제2 세트의 시각적 피처들을 식별하고,
    상기 제1 세트의 시각적 피처들과 상기 제2 세트의 시각적 피처들 사이에서 다수의 매칭하는 시각적 피처들을 결정하고,
    상기 매칭하는 시각적 피처들의 하나 이상의 포지션들을 평가함으로써 상기 제1 이미지와 상기 제2 이미지 사이의 시선에 대한 신뢰도를 결정하며, 그리고
    적어도 상기 신뢰도에 기초하여, 제1 이미지로부터 제2 이미지로의 네비게이션 경로를 생성하도록 구성된 것을 특징으로하는
    시스템.
  16. 제15항에 있어서,
    상기 제1 프레임은 상기 제1 위치의 방향에 있고, 상기 제2 프레임은 상기 제2 위치의 방향에 있으며, 상기 제1 프레임 및 제2 프레임은 상기 제1 위치와 상기 제2 위치 사이의 직선 경로의 중심에 있는 것을 특징으로 하는
    시스템.
  17. 제15항에 있어서,
    상기 하나 이상의 프로세서들은, 상기 제1 이미지 및 상기 제2 이미지의 포즈 정보를 추가로 판단함으로써 상기 포지션을 결정하도록 또한 구성되고, 상기 포즈 정보는 기본 방향들에 대한 상기 제1 이미지 및 상기 제2 이미지의 방향 정보를 포함하는 것을 특징으로 하는
    시스템.
  18. 제15항에 있어서,
    상기 하나 이상의 프로세서들은, 매칭하는 제1 시각적 피처 및 제2 시각적 피처의 주어진 쌍에 대해,
    상기 제1 위치로부터의 제1 광선을 상기 제1 파노라마 이미지에서의 상기 제1 매칭하는 시각적 피처로 캐스팅하고,
    상기 제2 위치로부터의 제2 광선을 상기 제2 파노라마 이미지에서의 상기 제2 매칭하는 시각적 피처로 캐스팅하고,
    상기 제1 파노라마 이미지와 상기 제2 파노라마 이미지 사이의 영역에서 상기 제1 광선과 상기 제2 광선이 서로 가장 인접하는지를 판단하며, 그리고
    상기 제1 파노라마 이미지와 상기 제2 파노라마 이미지 사이의 영역에서 상기 제1 광선과 상기 제2 광선이 서로 가장 인접하는지에 대한 판단에 기초하여 상기 신뢰도를 추가로 결정함으로써,
    제1 매칭하는 시각적 피처 및 제2 매칭하는 시각적 피처의 포지션들을 평가하도록 더 구성되는 것을 특징으로 하는
    시스템.
  19. 제15항에 있어서,
    상기 하나 이상의 프로세서들은, 매칭하는 시각적 피처들의 각 쌍에 가중치를 추가로 할당함으로써 상기 신뢰도를 결정하도록 구성되고, 상기 가중치는:
    (1) 상기 주어진 매칭하는 시각적 피처들의 재투영 오차와;
    (2) 상기 제1 위치와 상기 제2 위치 사이의 직선 경로로부터 상기 주어진 매칭하는 시각적 피처들 각각의 각 거리들과; 그리고
    (3) 상기 주어진 매칭하는 시각적 피처들 간의 시각적 유사성들 중 적어도 하나와 대응하는 것을 특징으로 하는
    시스템.
  20. 제19항에 있어서,
    상기 하나 이상의 프로세서들은,
    상기 제1 위치로부터의 제1 광선을 상기 제1 세트의 시각적 피처들 내의 제1 피처로 캐스팅하는 단계와;
    상기 제2 위치로부터의 제2 광선을 상기 제2 세트의 시각적 피처들 내의 제2 피처로 캐스팅하는 단계 - 상기 제1 피처 및 상기 제2 피처는 한 쌍의 매칭하는 시각적 피처들이며 - 와; 그리고
    상기 제1 광선 및 상기 제2 광선이 서로 미리결정된 거리 내에 있을 때, 상기 제1 광선 및 상기 제2 광선은 서로에 대해 가장 근접한 위치에서 가장 가까운 점을 상기 제1 피처 및 상기 제2 피처의 추정된 위치로서 설정하는 단계에 의해,
    상기 매칭하는 시각적 피처들의 추정된 위치를 결정하도록 구성되는 것을 특징으로 하는
    시스템.
KR1020177031227A 2015-08-07 2016-08-04 시각적 피처들을 이용한 이미지들의 자동 연결 KR101965878B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/821,118 2015-08-07
US14/821,118 US9551579B1 (en) 2015-08-07 2015-08-07 Automatic connection of images using visual features
PCT/US2016/045569 WO2017027322A1 (en) 2015-08-07 2016-08-04 Automatic connection of images using visual features

Publications (2)

Publication Number Publication Date
KR20170131662A true KR20170131662A (ko) 2017-11-29
KR101965878B1 KR101965878B1 (ko) 2019-04-05

Family

ID=56799551

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177031227A KR101965878B1 (ko) 2015-08-07 2016-08-04 시각적 피처들을 이용한 이미지들의 자동 연결

Country Status (8)

Country Link
US (1) US9551579B1 (ko)
EP (1) EP3274964B1 (ko)
JP (1) JP6353175B1 (ko)
KR (1) KR101965878B1 (ko)
CN (1) CN107683498B (ko)
DE (2) DE112016001829T5 (ko)
GB (1) GB2554224A (ko)
WO (1) WO2017027322A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210032678A (ko) * 2019-09-17 2021-03-25 네이버랩스 주식회사 환경 변화에 강인한 이미지의 위치 및 방향 추정 방법 및 시스템

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9972121B2 (en) * 2014-04-22 2018-05-15 Google Llc Selecting time-distributed panoramic images for display
US9934222B2 (en) 2014-04-22 2018-04-03 Google Llc Providing a thumbnail image that follows a main image
USD781317S1 (en) 2014-04-22 2017-03-14 Google Inc. Display screen with graphical user interface or portion thereof
USD780777S1 (en) 2014-04-22 2017-03-07 Google Inc. Display screen with graphical user interface or portion thereof
WO2019100511A1 (en) * 2017-11-22 2019-05-31 Zhejiang Dahua Technology Co., Ltd. An image processing method and system
US11210804B2 (en) * 2018-02-23 2021-12-28 Sony Group Corporation Methods, devices and computer program products for global bundle adjustment of 3D images
CN112987764B (zh) * 2021-02-01 2024-02-20 鹏城实验室 降落方法、装置、无人机以及计算机可读存储介质
CN113008252B (zh) * 2021-04-15 2023-08-22 东莞市异领电子有限公司 基于全景照片的高精度导航装置及导航方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004064737A (ja) * 2002-05-20 2004-02-26 Eastman Kodak Co デジタル画像を処理するための色変換
KR20120026116A (ko) * 2009-06-02 2012-03-16 퀄컴 인코포레이티드 렌더링된 그래픽 엘리먼트들을 위한 성능 메트릭들의 시각적 표현의 디스플레이
KR20130086275A (ko) * 2011-12-29 2013-08-01 인텔 코오퍼레이션 일반화된 강건한 멀티채널 피처 검출기

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5583795A (en) * 1995-03-17 1996-12-10 The United States Of America As Represented By The Secretary Of The Army Apparatus for measuring eye gaze and fixation duration, and method therefor
EP2002549A4 (en) * 2006-03-16 2014-05-21 Curtis M Brubaker SYSTEM AND METHOD FOR OBTAINING REVENUE BY DISPLAYING HYPER RELEVANCE ADVERTISEMENTS ON MOBILE OBJECTS
JP4926822B2 (ja) * 2006-05-24 2012-05-09 株式会社岩根研究所 湧きだし点基準cv領域画像前置装置
US7990394B2 (en) * 2007-05-25 2011-08-02 Google Inc. Viewing and navigating within panoramic images, and applications thereof
JP5030890B2 (ja) * 2008-08-14 2012-09-19 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数画像間の関係付けおよび切り替え表示をするための方法、プログラム、および装置
US9635251B2 (en) * 2010-05-21 2017-04-25 Qualcomm Incorporated Visual tracking using panoramas on mobile devices
CN102663957B (zh) * 2012-03-08 2016-01-13 北京师范大学 一种交互式三维城市全景地图的自动生成方法
CN102682448B (zh) * 2012-03-14 2015-03-04 浙江大学 一种基于双三视张量的立体视觉快速导航定位方法
CN103134499A (zh) * 2013-02-06 2013-06-05 腾讯科技(深圳)有限公司 导航方法及导航装置
CN103398717B (zh) * 2013-08-22 2016-04-20 成都理想境界科技有限公司 全景地图数据库采集系统及基于视觉的定位、导航方法
US9651784B2 (en) * 2014-01-21 2017-05-16 Osterhout Group, Inc. See-through computer display systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004064737A (ja) * 2002-05-20 2004-02-26 Eastman Kodak Co デジタル画像を処理するための色変換
KR20120026116A (ko) * 2009-06-02 2012-03-16 퀄컴 인코포레이티드 렌더링된 그래픽 엘리먼트들을 위한 성능 메트릭들의 시각적 표현의 디스플레이
KR20130086275A (ko) * 2011-12-29 2013-08-01 인텔 코오퍼레이션 일반화된 강건한 멀티채널 피처 검출기

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210032678A (ko) * 2019-09-17 2021-03-25 네이버랩스 주식회사 환경 변화에 강인한 이미지의 위치 및 방향 추정 방법 및 시스템

Also Published As

Publication number Publication date
EP3274964A1 (en) 2018-01-31
US9551579B1 (en) 2017-01-24
WO2017027322A1 (en) 2017-02-16
KR101965878B1 (ko) 2019-04-05
JP6353175B1 (ja) 2018-07-04
DE112016001829T5 (de) 2018-01-04
GB201716739D0 (en) 2017-11-29
GB2554224A (en) 2018-03-28
JP2018520430A (ja) 2018-07-26
DE202016008004U1 (de) 2017-02-08
US20170038212A1 (en) 2017-02-09
CN107683498B (zh) 2019-07-23
EP3274964B1 (en) 2019-04-17
CN107683498A (zh) 2018-02-09

Similar Documents

Publication Publication Date Title
KR101965878B1 (ko) 시각적 피처들을 이용한 이미지들의 자동 연결
US10540804B2 (en) Selecting time-distributed panoramic images for display
US11163813B2 (en) Providing a thumbnail image that follows a main image
Majdik et al. Air‐ground matching: Appearance‐based GPS‐denied urban localization of micro aerial vehicles
US20210274358A1 (en) Method, apparatus and computer program for performing three dimensional radio model construction
KR102200299B1 (ko) 3d-vr 멀티센서 시스템 기반의 도로 시설물 관리 솔루션을 구현하는 시스템 및 그 방법
US9529803B2 (en) Image modification
KR20150082195A (ko) 어노테이션 방법 및 기기
CN114969221A (zh) 一种更新地图的方法及相关设备
CN114185073A (zh) 一种位姿显示方法、装置及系统
KR101758786B1 (ko) 영상 내에서 특정 지점의 위치를 결정하기 위한 장치 및 그 방법
US9240055B1 (en) Symmetry-based interpolation in images
Claridades et al. Using omnidirectional images for semi-automatically generating IndoorGML data
Hong et al. The use of CCTV in the emergency response: A 3D GIS perspective
Porzi et al. An automatic image-to-DEM alignment approach for annotating mountains pictures on a smartphone
Hong et al. A synchronized approach for integrating photos and 3D GIS in the applications of disaster management
SHI et al. Local Scenario Perception and Web AR Navigation
Kim et al. A Method for Generating Network-based Indoor Topology Data using an Omnidirectional Image Dataset
Zhang Visual metric and semantic localization for UGV
Hasan Generation of an Accurate, Metric Spatial Database of a Large Multi Storied Building
Héno et al. 3D Digitization Using Images
Wendt SIFT based augmented reality

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right