KR20200087757A - 호모그래픽 적응을 통한 완전 콘볼루셔널 관심 포인트 검출 및 디스크립션 - Google Patents

호모그래픽 적응을 통한 완전 콘볼루셔널 관심 포인트 검출 및 디스크립션 Download PDF

Info

Publication number
KR20200087757A
KR20200087757A KR1020207012922A KR20207012922A KR20200087757A KR 20200087757 A KR20200087757 A KR 20200087757A KR 1020207012922 A KR1020207012922 A KR 1020207012922A KR 20207012922 A KR20207012922 A KR 20207012922A KR 20200087757 A KR20200087757 A KR 20200087757A
Authority
KR
South Korea
Prior art keywords
interest
calculated
image
points
descriptor
Prior art date
Application number
KR1020207012922A
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 매직 립, 인코포레이티드
Publication of KR20200087757A publication Critical patent/KR20200087757A/ko

Links

Images

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24143Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
    • G06K9/00664
    • G06K9/4628
    • G06K9/4671
    • G06K9/6274
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • G06N3/0481
    • 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
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/242Aligning, centring, orientation detection or correction of the image by image rotation, e.g. by 90 degrees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)
  • Investigating Or Analysing Materials By The Use Of Chemical Reactions (AREA)
  • Investigating Or Analyzing Materials By The Use Of Fluid Adsorption Or Reactions (AREA)
  • Image Processing (AREA)

Abstract

뉴럴 네트워크를 트레이닝하고 뉴럴 네트워크를 사용하여 이미지 관심 포인트 검출 및 디스크립션을 수행하기 위한 시스템들, 디바이스들 및 방법들이 개시된다. 뉴럴 네트워크는 관심 포인트 검출기 서브네트워크 및 디스크립터 서브네트워크를 포함할 수 있다. 광학 디바이스는 제1 이미지 및 제2 이미지를 캡처하기 위한 적어도 하나의 카메라를 포함할 수 있다. 관심 포인트들의 제1 세트 및 제1 디스크립터는 제1 이미지에 기초하여 뉴럴 네트워크를 사용하여 계산될 수 있고, 관심 포인트들의 제2 세트 및 제2 디스크립터는 제2 이미지에 기초하여 뉴럴 네트워크를 사용하여 계산될 수 있다. 제1 이미지와 제2 이미지 사이의 호모그래피는 관심 포인트들의 제1 세트 및 제2 세트 및 제1 및 제2 디스크립터들에 기초하여 결정될 수 있다. 광학 디바이스는 호모그래피에 기초하여 접안렌즈 상에 프로젝팅되는 가상 이미지 광을 조정할 수 있다.

Description

호모그래픽 적응을 통한 완전 콘볼루셔널 관심 포인트 검출 및 디스크립션
[0001] 본 출원은 2017년 11월 14일에 출원되고 발명의 명칭이 "FULLY CONVOLUTIONAL INTEREST POINT DETECTION AND DESCRIPTION VIA HOMOGRAPHIC ADAPTATION"인 미국 가특허 출원 번호 제62/586,149호, 및 2017년 12월 20일에 출원되고 발명의 명칭이 "FULLY CONVOLUTIONAL INTEREST POINT DETECTION AND DESCRIPTION VIA HOMOGRAPHIC ADAPTATION"인 미국 가특허 출원 번호 제62/608,248호를 우선권으로 주장하며, 이로써 이 문서의 전체 개시내용들은 본원에 완전히 기술된 것처럼 모든 목적들을 위해 인용에 의해 포함된다.
[0002] 관심 포인트 검출은 컴퓨터 비전에서 중요한 개념이다. 포즈 추정, SLAM(simultaneous localization and mapping), 모션으로부터의 구조(structure-from-motion), 스파스 3차원(3D) 매핑, 카메라 보정 및 이미지 매칭과 같은 다수의 기하학적 컴퓨터 비전 작업들에서의 제1 단계는 이미지들로부터 관심 포인트들을 추출하는 것이다. 관심 포인트들은 이미지 내의 2D(two-dimensional) 위치들이며, 이들은 상이한 조명 조건들 및 관점들에서 안정적이고 반복 가능하다. 다중 뷰 기하학적 구조로서 알려진 수학 및 컴퓨터 비전의 전체 서브필드는, 포인트들이 신뢰할 수 있게 추출되고 이미지들에 걸쳐 매칭될 수 있다는 가정 하에 구축된 정리들 및 알고리즘들로 구성된다. 그러나 대부분의 실세계 컴퓨터 비전 시스템들에 대한 입력은 이상적인 포인트 위치들이 아니라 대신에, 라벨링되지 않은 원시 이미지들이다. 이러한 이미지들에서 관심 포인트들을 검출하기 위한 여러 접근법들이 개발되었지만, 성공은 단지 제한적이었다.
[0003] 이들 영역들에서 이루어진 진보에도 불구하고, 이미지 관심 포인트 검출과 관련된 개선된 방법들, 시스템들 및 디바이스들에 대한 당업계의 요구가 존재한다.
[0004] 본 개시내용은 일반적으로 관심 포인트 검출 및 매칭의 컴퓨터 비전 작업에 관한 것이다. 보다 구체적으로, 본 개시내용의 실시예들은 뉴럴 네트워크를 이용한 이미지 관심 포인트 검출 및 디스크립션을 위한 시스템들, 디바이스들 및 방법들을 제공한다. 본 개시내용의 부분들이 AR(augmented reality) 디바이스를 참조하여 설명되지만, 본 개시내용은 컴퓨터 비전 및 이미지 디스플레이 시스템들에서의 다양한 애플리케이션들에 적용 가능하다.
[0005] 본 발명의 제1 양상에 따라, 이미지 관심 포인트 검출 및 디스크립션을 위해 뉴럴 네트워크를 트레이닝하는 방법이 제공된다. 방법은 복수의 기준 세트들을 포함하는 기준 데이터세트를 생성하는 단계를 포함할 수 있으며, 복수의 기준 세트들 각각은 이미지 및 이미지에 대응하는 기준 관심 포인트들의 세트를 포함한다. 방법은 또한, 복수의 기준 세트들의 각각의 기준 세트에 대해 : 이미지에 호모그래피를 적용함으로써, 워프된 이미지(warped image)를 생성하는 단계, 기준 관심 포인트들의 세트에 호모그래피를 적용함으로써, 기준 관심 포인트들의 워프된 세트를 생성하는 단계, 입력으로서 이미지를 수신하는 뉴럴 네트워크에 의해, 계산된 관심 포인트들의 세트 및 계산된 디스크립터(descriptor)를 계산하는 단계, 입력으로서 워프된 이미지를 수신하는 뉴럴 네트워크에 의해, 계산된 워프된 관심 포인트들의 세트 및 계산된 워프된 디스크립터를 계산하는 단계, 계산된 관심 포인트들의 세트, 계산된 디스크립터, 계산된 워프된 관심 포인트들의 세트, 계산된 워프된 디스크립터, 기준 관심 포인트들의 세트, 기준 관심 포인트들의 워프된 세트 및 호모그래피에 기초하여 손실을 계산하는 단계, 및 손실에 기초하여 뉴럴 네트워크를 수정하는 단계를 포함할 수 있다.
[0006] 일부 실시예들에서, 뉴럴 네트워크는 관심 포인트 검출기 서브네트워크 및 디스크립터 서브네트워크를 포함한다. 일부 실시예들에서, 관심 포인트 검출기 서브네트워크는, 입력으로서 이미지를 수신하고 이미지에 기초하여 계산된 관심 포인트들의 세트를 계산하도록 구성된다. 일부 실시예들에서, 디스크립터 서브네트워크는 입력으로서 이미지를 수신하고 이미지에 기초하여 계산된 디스크립터를 계산하도록 구성된다. 일부 실시예들에서, 손실에 기초하여 뉴럴 네트워크를 수정하는 단계는 손실에 기초하여 관심 포인트 검출기 서브네트워크 및 디스크립터 서브네트워크 중 하나 또는 둘 모두를 수정하는 단계를 포함한다. 일부 실시예들에서, 방법은 기준 데이터세트를 생성하기 전에, 복수의 합성 이미지들 및 합성 관심 포인트들의 복수의 세트들을 포함하는 합성 데이터세트를 사용하여 관심 포인트 검출기 서브네트워크를 트레이닝하는 단계를 포함한다. 일부 실시예들에서, 기준 데이터세트를 생성하는 단계는 관심 포인트 검출기 서브네트워크를 사용하여 기준 데이터세트를 생성하는 단계를 포함한다.
[0007] 일부 실시예들에서, 기준 데이터세트를 생성하는 단계는, 복수의 기준 세트들의 각각의 기준 세트에 대해, 복수의 라벨링되지 않은 이미지들을 포함하는 라벨링되지 않은 데이터세트로부터 이미지를 획득하는 단계, 이미지에 복수의 호모그래피들을 적용함으로써 복수의 워프된 이미지들을 생성하는 단계, 입력으로서 복수의 워프된 이미지들을 수신하는 뉴럴 네트워크에 의해, 계산된 워프된 관심 포인트들의 복수의 세트들을 계산하는 단계, 계산된 워프된 관심 포인트들의 복수의 세트들에 복수의 인버스 호모그래피들을 적용함으로써, 계산된 관심 포인트들의 복수의 세트들을 생성하는 단계, 및 기준 관심 포인트들의 세트를 획득하기 위해 계산된 관심 포인트들의 복수의 세트들을 어그리게이팅(aggregating)하는 단계를 포함한다. 일부 실시예들에서, 복수의 기준 세트들 각각은 이미지에 대응하는 기준 디스크립터를 더 포함한다. 일부 실시예들에서, 기준 데이터세트를 생성하는 단계는, 복수의 기준 세트들의 각각의 기준 세트에 대해, 복수의 라벨링되지 않은 이미지들을 포함하는 라벨링되지 않은 데이터세트로부터 이미지를 획득하는 단계, 이미지에 복수의 호모그래피들을 적용함으로써 복수의 워프된 이미지들을 생성하는 단계, 입력으로서 복수의 워프된 이미지들을 수신하는 뉴럴 네트워크에 의해, 복수의 계산된 워프된 디스크립터들을 계산하는 단계, 복수의 계산된 워프된 디스크립터들에 복수의 인버스 호모그래피들을 적용함으로써 복수의 계산된 디스크립터들을 생성하는 단계, 및 기준 디스크립터를 획득하기 위해 복수의 계산된 디스크립터들을 어그리게이팅하는 단계를 포함한다. 일부 실시예들에서, 기준 관심 포인트들의 세트는 이미지의 특정 픽셀이 특정 픽셀에 로케이팅된 관심 포인트를 가질 가능성에 대응하는 값들을 갖는 2차원 맵이다. 일부 실시예들에서,
[0008] 본 발명의 제2 양상에 따라, 뉴럴 네트워크를 사용하여 이미지 관심 포인트 검출 및 디스크립션을 수행하는 방법이 제공된다. 방법은 제1 이미지를 캡처하는 단계를 포함할 수 있다. 방법은 또한 제2 이미지를 캡처하는 단계를 포함할 수 있다. 방법은, 입력으로서 제1 이미지를 수신하는 뉴럴 네트워크에 의해, 계산된 관심 포인트들의 제1 세트 및 제1 계산된 디스크립터를 계산하는 단계를 더 포함할 수 있다. 방법은, 입력으로서 제2 이미지를 수신하는 뉴럴 네트워크에 의해, 계산된 관심 포인트들의 제2 세트 및 제2 계산된 디스크립터를 계산하는 단계를 더 포함할 수 있다. 방법은, 계산된 관심 포인트들의 제1 세트 및 제2 세트 및 제1 계산된 디스크립터 및 제2 계산된 디스크립터에 기초하여 제1 이미지와 제2 이미지 사이의 호모그래피를 결정하는 단계를 더 포함할 수 있다. 일부 실시예들에서, 뉴럴 네트워크는 계산된 관심 포인트들의 제1 세트 및 계산된 관심 포인트들의 제2 세트를 계산하도록 구성된 관심 포인트 검출기 서브네트워크 및 제1 계산된 디스크립터 및 제2 계산된 디스크립터를 계산하도록 구성된 디스크립터 서브네트워크를 포함한다.
[0009] 일부 실시예들에서, 관심 포인트 검출기 서브네트워크는, 디스크립터 서브네트워크가 제1 계산된 디스크립터를 계산하는 것과 동시에, 계산된 관심 포인트들의 제1 세트를 계산하도록 구성된다. 일부 실시예들에서, 관심 포인트 검출기 서브네트워크는, 디스크립터 서브네트워크가 제2 계산된 디스크립터를 계산하는 것과 동시에, 계산된 관심 포인트들의 제2 세트를 계산하도록 구성된다. 일부 실시예들에서, 방법은 복수의 기준 세트들을 포함하는 기준 데이터세트를 생성함으로써 뉴럴 네트워크를 트레이닝하는 단계를 더 포함한다. 일부 실시예들에서, 복수의 기준 세트들 각각은 이미지 및 이미지에 대응하는 기준 관심 포인트들의 세트를 포함한다. 뉴럴 네트워크를 트레이닝하는 단계는, 복수의 기준 세트들의 각각의 기준 세트에 대해, 이미지에 호모그래피를 적용함으로써, 워프된 이미지를 생성하는 단계, 기준 관심 포인트들의 세트에 호모그래피를 적용함으로써, 기준 관심 포인트들의 워프된 세트를 생성하는 단계, 입력으로서 이미지를 수신하는 뉴럴 네트워크에 의해, 계산된 관심 포인트들의 세트 및 계산된 디스크립터를 계산하는 단계, 입력으로서 워프된 이미지를 수신하는 뉴럴 네트워크에 의해, 계산된 워프된 관심 포인트들의 세트 및 계산된 워프된 디스크립터를 계산하는 단계, 계산된 관심 포인트들의 세트, 계산된 디스크립터, 계산된 워프된 관심 포인트들의 세트, 계산된 워프된 디스크립터, 기준 관심 포인트들의 세트, 기준 관심 포인트들의 워프된 세트 및 호모그래피에 기초하여 손실을 계산하는 단계, 및 손실에 기초하여 뉴럴 네트워크를 수정하는 단계를 더 포함할 수 있다.
[0010] 일부 실시예들에서, 손실에 기초하여 뉴럴 네트워크를 수정하는 단계는 손실에 기초하여 관심 포인트 검출기 서브네트워크 및 디스크립터 서브네트워크 중 하나 또는 둘 모두를 수정하는 단계를 포함한다. 일부 실시예들에서, 방법은 기준 데이터세트를 생성하기 전에, 복수의 합성 이미지들 및 합성 관심 포인트들의 복수의 세트들을 포함하는 합성 데이터세트를 사용하여 관심 포인트 검출기 서브네트워크를 트레이닝하는 단계를 더 포함한다. 일부 실시예들에서, 기준 데이터세트를 생성하는 단계는 관심 포인트 검출기 서브네트워크를 사용하여 기준 데이터세트를 생성하는 단계를 포함한다. 일부 실시예들에서, 기준 데이터세트를 생성하는 단계는, 복수의 기준 세트들의 각각의 기준 세트에 대해, 복수의 라벨링되지 않은 이미지들을 포함하는 라벨링되지 않은 데이터세트로부터 이미지를 획득하는 단계, 이미지에 복수의 호모그래피들을 적용함으로써 복수의 워프된 이미지들을 생성하는 단계, 입력으로서 복수의 워프된 이미지들을 수신하는 뉴럴 네트워크에 의해, 계산된 워프된 관심 포인트들의 복수의 세트들을 계산하는 단계, 계산된 워프된 관심 포인트들의 복수의 세트들에 복수의 인버스 호모그래피들을 적용함으로써, 계산된 관심 포인트들의 복수의 세트들을 생성하는 단계, 및 기준 관심 포인트들의 세트를 획득하기 위해 계산된 관심 포인트들의 복수의 세트들을 어그리게이팅하는 단계를 포함한다. 일부 실시예들에서, 복수의 기준 세트들 각각은 이미지에 대응하는 기준 디스크립터를 더 포함한다. 일부 실시예들에서, 기준 데이터세트를 생성하는 단계는, 복수의 기준 세트들의 각각의 기준 세트에 대해, 복수의 라벨링되지 않은 이미지들을 포함하는 라벨링되지 않은 데이터세트로부터 이미지를 획득하는 단계, 이미지에 복수의 호모그래피들을 적용함으로써 복수의 워프된 이미지들을 생성하는 단계, 입력으로서 복수의 워프된 이미지들을 수신하는 뉴럴 네트워크에 의해, 복수의 계산된 워프된 디스크립터들을 계산하는 단계, 복수의 계산된 워프된 디스크립터들에 복수의 인버스 호모그래피들을 적용함으로써 복수의 계산된 디스크립터들을 생성하는 단계, 및 기준 디스크립터를 획득하기 위해 복수의 계산된 디스크립터들을 어그리게이팅하는 단계를 포함한다.
[0011] 본 발명의 제3 양상에 따라, 광학 디바이스(즉, 광학 시스템)가 제공된다. 광학 디바이스는 제1 이미지 및 제2 이미지를 캡처하도록 구성된 적어도 하나의 카메라를 포함할 수 있다. 광학 디바이스는 또한, 카메라에 커플링되고 동작들을 수행하도록 구성된 하나 이상의 프로세서들을 포함할 수 있다. 동작들은 적어도 하나의 카메라로부터 제1 이미지 및 제2 이미지를 수신하는 동작을 포함할 수 있다. 동작들은 또한, 입력으로서 제1 이미지를 이용하는 뉴럴 네트워크에 의해, 계산된 관심 포인트들의 제1 세트 및 제1 계산된 디스크립터를 계산하는 동작을 포함할 수 있다. 동작들은, 입력으로서 제2 이미지를 이용하는 뉴럴 네트워크에 의해, 계산된 관심 포인트들의 제2 세트 및 제2 계산된 디스크립터를 계산하는 동작을 더 포함할 수 있다. 동작들은, 계산된 관심 포인트들의 제1 세트 및 제2 세트 및 제1 계산된 디스크립터 및 제2 계산된 디스크립터에 기초하여 제1 이미지와 제2 이미지 사이의 호모그래피를 결정하는 동작을 더 포함할 수 있다. 일부 실시예들에서, 뉴럴 네트워크는 계산된 관심 포인트들의 제1 세트 및 계산된 관심 포인트들의 제2 세트를 계산하도록 구성된 관심 포인트 검출기 서브네트워크 및 제1 계산된 디스크립터 및 제2 계산된 디스크립터를 계산하도록 구성된 디스크립터 서브네트워크를 포함한다.
[0012] 일부 실시예들에서, 관심 포인트 검출기 서브네트워크는, 디스크립터 서브네트워크가 제1 계산된 디스크립터를 계산하는 것과 동시에, 계산된 관심 포인트들의 제1 세트를 계산하도록 구성된다. 일부 실시예들에서, 관심 포인트 검출기 서브네트워크는, 디스크립터 서브네트워크가 제2 계산된 디스크립터를 계산하는 것과 동시에, 계산된 관심 포인트들의 제2 세트를 계산하도록 구성된다. 일부 실시예들에서, 뉴럴 네트워크는 복수의 기준 세트들을 포함하는 기준 데이터세트를 생성함으로써 이전에 트레이닝되었고, 복수의 기준 세트들 각각은 이미지 및 이미지에 대응하는 기준 관심 포인트들의 세트를 포함한다. 일부 실시예들에서, 뉴럴 네트워크는, 복수의 기준 세트들의 각각의 기준 세트에 대해, 이미지에 호모그래피를 적용함으로써, 워프된 이미지를 생성하고, 기준 관심 포인트들의 세트에 호모그래피를 적용함으로써, 기준 관심 포인트들의 워프된 세트를 생성하고, 입력으로서 이미지를 수신하는 뉴럴 네트워크에 의해, 계산된 관심 포인트들의 세트 및 계산된 디스크립터를 계산하고, 입력으로서 워프된 이미지를 수신하는 뉴럴 네트워크에 의해, 계산된 워프된 관심 포인트들의 세트 및 계산된 워프된 디스크립터를 계산하고, 계산된 관심 포인트들의 세트, 계산된 디스크립터, 계산된 워프된 관심 포인트들의 세트, 계산된 워프된 디스크립터, 기준 관심 포인트들의 세트, 기준 관심 포인트들의 워프된 세트 및 호모그래피에 기초하여 손실을 계산하고, 손실에 기초하여 뉴럴 네트워크를 수정함으로써 이전에 트레이닝되었다.
[0013] 일부 실시예들에서, 손실에 기초하여 뉴럴 네트워크를 수정하는 것은 손실에 기초하여 관심 포인트 검출기 서브네트워크 및 디스크립터 서브네트워크 중 하나 또는 둘 모두를 수정하는 것을 포함한다. 일부 실시예들에서, 기준 데이터세트를 생성하는 것은, 복수의 기준 세트들의 각각의 기준 세트에 대해, 복수의 라벨링되지 않은 이미지들을 포함하는 라벨링되지 않은 데이터세트로부터 이미지를 획득하는 것, 이미지에 복수의 호모그래피들을 적용함으로써 복수의 워프된 이미지들을 생성하는 것, 입력으로서 복수의 워프된 이미지들을 수신하는 뉴럴 네트워크에 의해, 계산된 워프된 관심 포인트들의 복수의 세트들을 계산하는 것, 계산된 워프된 관심 포인트들의 복수의 세트들에 복수의 인버스 호모그래피들을 적용함으로써, 계산된 관심 포인트들의 복수의 세트들을 생성하는 것, 그리고 기준 관심 포인트들의 세트를 획득하기 위해 계산된 관심 포인트들의 복수의 세트들을 어그리게이팅하는 것을 포함한다. 일부 실시예들에서, 복수의 기준 세트들 각각은 이미지에 대응하는 기준 디스크립터를 더 포함한다. 일부 실시예들에서, 기준 데이터세트를 생성하는 것은, 복수의 기준 세트들의 각각의 기준 세트에 대해, 복수의 라벨링되지 않은 이미지들을 포함하는 라벨링되지 않은 데이터세트로부터 이미지를 획득하는 것, 이미지에 복수의 호모그래피들을 적용함으로써 복수의 워프된 이미지들을 생성하는 것, 입력으로서 복수의 워프된 이미지들을 수신하는 뉴럴 네트워크에 의해, 복수의 계산된 워프된 디스크립터들을 계산하는 것, 복수의 계산된 워프된 디스크립터들에 복수의 인버스 호모그래피들을 적용함으로써 복수의 계산된 디스크립터들을 생성하는 것, 그리고 기준 디스크립터를 획득하기 위해 복수의 계산된 디스크립터들을 어그리게이팅하는 것을 포함한다.
[0014] 종래 기술들에 비해 본 발명에 의해 다수의 이익들이 달성된다. 예컨대, 본 발명의 일부 실시예들은 단일 또는 다중-채널 2D(two-dimensional) 이미지들(예컨대, 인터넷 RGB 사진들, 소형 로봇 그레이스케일 카메라들, 수중 이미지들, 항공 이미지들, 망원경 이미저리, 깊이 센서 이미지들, 열 카메라 이미지들 등)의 임의의 세트 상에서 동작하는 관심 포인트 검출기들 및 디스크립터들을 트레이닝하기 위한 자기-지도 프레임워크(self-supervised framework)를 제공한다. 이러한 실시예들은 매우 다수의 다중-뷰 기하학적 구조 문제들에 적합하다. 실시예들은 하나의 순방향 패스(forward pass)에서 픽셀-레벨 관심 포인트 위치들 및 연관된 디스크립터들을 공동으로 컴퓨팅하는, 풀 사이즈 이미지들 상에서 동작하는 완전-콘볼루셔널 모델(fully-convolutional model)들을 제공한다. 일부 실시예들은 호모그래픽 적응(homographic adaptation) : 관심 포인트 검출 정확도를 높이고 교차-도메인 적응(예컨대, 합성 대 실제)을 수행하기 위한 다중-스케일의 다중-호모그래피 접근법으로서 설명될 수 있다. 본 발명의 실시예들은 MS-COCO 일반 이미지 데이터세트에 대한 트레이닝 실행들과 관련하여 입증된 바와 같이, 종래의 코너 검출기들 또는 사전-적응된 딥 모델들보다 더 풍부한 관심 포인트들을 검출한다. 이러한 실시예들은 HPatches 데이터세트 상에서 관심 포인트 반복성을 가능하게 하고, 포인트 매칭 정확도 및 호모그래피 추정 작업에 대한, ORB 및 SIFT와 같은 다른 종래의 디스크립터들을 능가한다. 또한, 본 발명의 실시예들은 명시적인 기하학적 대응 정보를 요구하지 않는다. 본 발명의 다른 이익들은 당업자들에게 쉽게 명백해질 것이다.
[0015] 도 1은 본 발명의 일부 실시예들에 따라, 뉴럴 네트워크를 사용하여 한 쌍의 입력 이미지들의 관심 포인트들 사이의 포인트 대응들의 결정을 예시한다.
[0016] 도 2는 본 발명의 일부 실시예들에 따른 뉴럴 네트워크의 일반적인 아키텍처를 예시한다.
[0017] 도 3은, 관심 포인트 검출기 서브네트워크가 복수의 합성 이미지들을 포함하는 합성 데이터세트를 사용하여 트레이닝되는, 본 발명에 따른 제1 트레이닝 단계를 예시한다.
[0018] 도 4는 기준 데이터세트가 호모그래픽 적응을 사용하여 컴파일되는, 본 발명에 따른 제2 트레이닝 단계를 예시한다.
[0019] 도 5는 뉴럴 네트워크가 기준 데이터세트를 사용하여 트레이닝되는, 본 발명에 따른 제3 트레이닝 단계를 예시한다.
[0020] 도 6은 본 발명의 일부 실시예들에 따라, 뉴럴 네트워크를 사용하여 2개의 캡처된 이미지들 사이의 호모그래피의 계산을 예시한다.
[0021] 도 7은 본 발명의 일부 실시예들에 따른 합성 데이터세트의 예를 예시한다.
[0022] 도 8은 본 발명의 일부 실시예들에 따른 라벨링되지 않은 데이터세트의 예를 예시한다.
[0023] 도 9는 본 발명의 일부 실시예들에 따른 뉴럴 네트워크의 예시적인 아키텍처를 예시한다.
[0024] 도 10은 본 발명의 일부 실시예들에 따라, 제2 트레이닝 단계 동안 사용되는 호모그래픽 적응의 다양한 단계들을 예시한다.
[0025] 도 11은 본 발명의 일부 실시예들에 따른 랜덤 호모그래피 생성의 소정의 양상들을 예시한다.
[0026] 도 12는 본원에서 설명된 실시예들을 활용할 수 있는 AR 디바이스의 개략도를 예시한다.
[0027] 도 13은 본 발명의 일부 실시예들에 따라, 뉴럴 네트워크를 트레이닝하고 뉴럴 네트워크를 사용하여 이미지 관심 포인트 검출 및 디스크립션을 수행하는 방법을 예시한다.
[0028] 도 14는 본 발명의 일부 실시예들에 따라, 이미지 관심 포인트 검출 및 디스크립션을 위한 뉴럴 네트워크를 트레이닝하는 방법을 예시한다.
[0029] 도 15는 본원에서 설명된 일부 실시예들에 따른 단순화된 컴퓨터 시스템을 예시한다.
[0030] 콘볼루셔널 뉴럴 네트워크들은 입력으로서 이미지들을 요구하는 거의 모든 작업들에서 수공예 표현(hand-engineered representation)들보다 우수한 것으로 나타났다. 특히, 2D(two-dimensional) "키-포인트들" 또는 "랜드마크들"을 예측하는 완전 콘볼루셔널 뉴럴 네트워크는 인간 포즈 추정, 객체 검출 및 룸 레이아웃 추정과 같은 다양한 작업들을 목표로 제대로 연구된다. 이러한 기술들 중 일부는 인간 주석들로 라벨링된 2D 실측(ground truth) 위치들의 대형 데이터세트를 활용한다. 대규모 지도 머신 학습 문제로서 관심 포인트 검출을 유사하게 포뮬레이팅(formulate)하고 최신 콘볼루셔널 뉴럴 네트워크 아키텍처를 트레이닝하여 이들을 검출하는 것이 자연스러워 보인다. 불행하게도, 입의 코너 또는 좌측 발목과 같은 시맨틱 신체 부분들을 검출하도록 네트워크가 트레이닝되는 인체 키-포인트 추정과 같은 보다 시맨틱 작업들과 비교할 때, 관심 포인트 검출의 관념은 시맨틱적으로(semantically) 불분명하다. 이러한 어려움은, 관심 포인트들을 확실하게 지도하는 콘볼루션 뉴럴 네트워크를 트레이닝하는 것을 중요하게 만든다.
[0031] 실제 이미지들에서 관심 포인트들을 정의하기 위해 인간 지도를 사용하는 대신에, 본 발명의 실시예들은 자기-트레이닝을 사용하는 자기-지도 솔루션(self-supervised solution)을 제공한다. 본원에서 설명된 실시예들의 접근법들에서, 인간 지식보다는, 관심 포인트 검출기 그 자체에 의해 지도되는, 실제 이미지들에서의 의사-실측(pseudo-ground truth) 관심 포인트 위치들의 대형 데이터세트가 생성된다. 의사-실측 관심 포인트들을 생성하기 위해, 완전 콘볼루셔널 뉴럴 네트워크가 먼저, 합성 이미지 데이터세트로부터의 수백만 개의 고유한 예들에 대해 트레이닝된다. 피처 추출은 이미지 시퀀스들에서 이미지 매칭 및 추적을 위한 기본 단계이므로, 구별 포인트들의 검출 및 정밀한 위치가 중요할 수 있음을 인식하였다. 이들 구별 포인트들은 코너들, 에지들(다면체(poly-hedra)의 분석을 위한 기본 엘리먼트들) 및 원형 피처들 이를테면, 구멍들, 디스크 또는 링들의 중심들로서 특징화된다. 접합부들(Y, X, T, L)은 또한 이러한 구별 포인트들을 검출하는 데 있어 중요한 것으로 간주되었다. 예컨대, T-접합부들은 일반적으로 개재(interposition) 및 이에 따라 깊이 불연속성들을 표시한다.
[0032] 이러한 통찰력들로부터 차용하여, 관심 포인트 검출기의 대규모 트레이닝을 위한 합성 형상들의 대형 데이터세트가 관심 포인트 위치들에 어떠한 모호성도 없는 단순한 기하학적 형상들로 구성되도록 생성될 수 있다. 본원에서 설명된 바와 같은 관심 포인트 검출기는 합성 형상들의 데이터세트 상에서 종래의 관심 포인트 검출기들을 현저하게 능가하는 것으로 나타났다. 실제 이미지들에 적용될 때, 관심 포인트 검출기는, 도메인 적응이 합성 이미지들에 대한 트레이닝 시에 알려진 문제임을 고려하여 잘 수행된다. 그러나, 다양한 세트의 이미지 텍스처들 및 패턴들에 대해 고전적인 관심 포인트 검출기들과 비교할 때, 관심 포인트 검출기의 성능은 다소 일관적이지 않다. 관심 포인트 검출기와 고전적인 검출기들 사이의 실세계 이미지들에 대한 성능의 갭을 메우기 위해, 본 발명의 실시예들(본원에서 호모그래픽 적응으로서 대안적으로 지칭됨)은 다중-스케일의 멀티트랜스폼(multitransform)들을 허용한다.
[0033] 호모그래픽 적응은 관심 포인트 검출기들의 자기-지도 트레이닝을 가능하게 한다. 일부 실시예들에서, 관심 포인트 검출기가 다수의 상이한 관점들 및 스케일들로부터 장면을 볼 수 있도록 하기 위해 입력 이미지가 여러 번 워프된다. 의사-실측 관심 포인트들을 생성하고 검출기의 성능을 높이기 위해 관심 포인트 검출기와 함께 사용될 때, 결과적인 검출들이 더욱 반복 가능하다. 견고하고 반복 가능한 관심 포인트들을 검출한 후 일 단계는 고정된 차원 디스크립터 벡터를 각각의 포인트에(또는 모든 이미지 픽셀들에) 부착하는 것이며, 이는 이미지들에 걸쳐 관심 포인트들을 매칭하는 데 사용될 수 있다. 따라서, 본 발명의 일부 실시예들에서, 관심 포인트 검출기 서브네트워크는 디스크립터 서브네트워크와 결합될 수 있다. 결과적인 네트워크는 도 1에 도시된 바와 같이 한 쌍의 이미지들로부터 포인트들을 추출하고 포인트 대응들을 설정하는 데 사용될 수 있다.
[0034] 자기-지도 접근법을 포함하는 본 발명의 실시예들에 따라, 초기 관심 포인트 검출기 및 호모그래픽 적응 절차는 타겟의 라벨링되지 않은 도메인으로부터의 이미지들을 자동으로 라벨링한다. 생성된 레벨들은 차례로, 이미지로부터 포인트들 및 디스크립터들을 공동으로 추출하는 완전 콘볼루셔널 네트워크를 트레이닝하는 데 사용된다. 완전 콘볼루셔널 네트워크는 광범위한 애플리케이션들, 특히 두 이미지들 사이의 호모그래피를 컴퓨팅하는 것과 같은 이미지간 기하학적 구조 작업(image-to-image geometry task)들을 수반하는 애플리케이션들에서 사용될 수 있다. 호모그래피들은, 카메라 중심을 중심으로 한 회전만을 하는 카메라 모션, 객체들까지 멀리 떨어진 장면들 및 평면 장면들에 대한 정확한 또는 거의 정확한 이미지간 변형들을 제공한다. 대부분의 세계는 상당히 평평하기 때문에, 호모그래피는 상이한 관점들로부터 동일한 3D(three-dimensional) 포인트가 보여질 때 무슨일이 발생하는지에 대한 양호한 모델이다. 호모그래피들은 3D 정보를 요구하지 않기 때문에, 이들은 랜덤으로 샘플링되고 거의 이중선형 보간을 수반하는 임의의 2D 이미지에 쉽게 적용될 수 있다. 이러한 이유들로, 호모그래피들은 본 발명의 일부 실시예들에서 활용된다.
[0035] 도 1은 본 발명의 일부 실시예들에 따라, 뉴럴 네트워크(100)를 사용하여 한 쌍의 입력 이미지들(102)의 관심 포인트들 사이의 포인트 대응들(106)의 결정을 예시한다. 구체적으로, 도 1은 포인트 대응을 활용하는 단일 순방향 패스에서 SIFT(scale invariant feature transform)-유사 2D 관심 포인트 위치들 및 디스크립터들을 컴퓨팅하는 완전 콘볼루셔널 뉴럴 네트워크인 뉴럴 네트워크(100)의 2개의 인스턴스화들(즉, 뉴럴 네트워크들(100-1, 100-2))을 도시한다. 입력으로서 입력 이미지들(102-1, 102-2)을 수신할 때, 뉴럴 네트워크들(100-1, 100-2)은 입력 이미지들(102-1, 102-2)에 기초하여 계산된 디스크립터들(110-1, 110-2) 및 계산된 관심 포인트들(108-1, 108-2)의 세트들을 각각 계산한다. 그 후, 포인트 대응들(106)이 계산된 관심 포인트들(108-1, 108-2) 사이의 비교에 의해 결정되며, 이는 관심 포인트들 각각과 연관된 디스크립터들에 의해 통지된다. 예컨대, 상이한 관심 포인트들과 연관된 디스크립터들이 매칭될 수 있다. 가장 유사한 디스크립터들을 갖는 상이한 이미지들에 대응하는 관심 포인트들은 몇몇 가능한 유사성 스코어링 절차들 중 하나에 따라 서로 대응하는 것으로 결정될 수 있다.
[0036] 일 예에 따라, 입력 이미지(102-1)에 대응하는 제1 관심 포인트는, (픽셀간 거리에 따라) 제1 관심 포인트에 대해 5개의 가장 가까운 관심 포인트들 중에서, 5개의 가장 가까운 관심 포인트들과 연관된 디스크립터와 비교하여, 제2 관심 포인트와 연관된 디스크립터가 제1 관심 포인트와 연관된 디스크립터와 가장 유사하다고 결정(예컨대, L2 거리를 사용함으로써 결정됨)함으로써 입력 이미지(102-2)에 대응하는 제2 관심 포인트에 대응하는 것으로 결정될 수 있다. 다른 예에 따라, 입력 이미지(102-1)에 대응하는 제1 관심 포인트는, 입력 이미지(102-2)에 대응하는 모든 관심 포인트들 중에서, 입력 이미지(102-2)에 대응하는 모든 관심 포인트들과 연관된 디스크립터들과 비교하여, 제2 관심 포인트와 연관된 디스크립터가 제1 관심 포인트와 연관된 디스크립터와 가장 유사하다고 결정함으로써 입력 이미지(102-2)에 대응하는 제2 관심 포인트에 대응하는 것으로 결정될 수 있다.
[0037] 도 2는 본 발명의 일부 실시예들에 따른 뉴럴 네트워크(100)의 일반적인 아키텍처를 예시한다. 뉴럴 네트워크(100)는 관심 포인트 검출기 서브네트워크(112) 및 디스크립터 서브네트워크(114)를 포함할 수 있고, 2개의 서브네트워크들 각각은 단일 서브네트워크 입력(120-1, 120-2)(각각) 및 단일 서브네트워크 출력(122-1, 122-2)(각각)을 갖는다. 2개의 서브네트워크들이 별개로 예시되지만, 이들은 도 9를 참조하여 설명된 바와 같이 하나 이상의 콘볼루셔널 층들 및/또는 뉴런들을 공유할 수 있다. 일부 실시예들에서, 뉴럴 네트워크(100)는 입력 이미지(102)를 입력으로서 수신하도록 구성된 네트워크 입력(116)을 포함할 수 있다. 입력 이미지(102)는 그 후 서브네트워크 입력들(120-1, 120-2)에 공급될 수 있다. 서브네트워크 입력(120-1)에서 입력 이미지(102)의 수신 시에, 관심 포인트 검출기 서브네트워크(112)는 서브네트워크 출력(122-1)에서 계산된 관심 포인트들(108)을 계산 및 출력할 수 있으며, 이는 그 후 네트워크 출력(118-1)에 공급된다. 서브네트워크 입력(120-2)에서 입력 이미지(102)의 수신 시에, 디스크립터 서브네트워크(114)는 서브네트워크 출력(122-2)에서 계산된 디스크립터(110)를 계산 및 출력할 수 있으며, 이는 그 후 네트워크 출력(118-2)에 공급된다. 따라서, 서브네트워크들(112, 114)은 동일한 입력에 기초하여 상이한 출력들을 제공하고, 뉴럴 네트워크(100)의 상이한 브랜치들을 표현할 수 있다.
[0038] 뉴럴 네트워크(100)는 풀-사이즈 이미지 상에서 동작할 수 있고 단일 순방향 패스에서 고정 길이 디스크립터들을 동반하는 관심 포인트 검출들을 생성할 수 있다. 일부 실시예들에서, 입력 이미지(102)는 H × W의 차원을 가질 수 있고, 여기서 H는 픽셀 단위의 입력 이미지(102)의 높이이고 W는 픽셀 단위의 입력 이미지(102)의 폭이다. 동일한 실시예들에서, 계산된 관심 포인트들(108)은 관심 포인트 픽셀 위치들의 리스트(예컨대, 좌표 쌍들의 리스트)일 수 있거나, 또는 부가적으로 또는 대안적으로, 계산된 관심 포인트들(108)은 H × W의 차원을 갖는 2D 맵일 수 있으며, 여기서 각각의 픽셀은 입력(즉, 입력 이미지(102))에서 그 픽셀에 대한 가능성 "포인트"에 대응한다. 동일한 실시예들에서, 계산된 디스크립터(110)는 각각이 식별된 관심 포인트에 대응하는 고정 길이 디스크립터들의 세트일 수 있거나, 또는 부가적으로 또는 대안적으로, 계산된 디스크립터(110)는 H × W × D의 차원을 가질 수 있으며, 여기서 D는 H × W 이미지의 각각의 픽셀에서 계산된 디스크립터들의 길이이다. 따라서, 관심 포인트를 포함할 가능성이 낮은 픽셀들 조차도 길이 D의 디스크립터를 갖는다.
[0039] 뉴럴 네트워크(100)의 트레이닝은 네트워크들의 층들 및/또는 뉴런들이 수정되게 하는 트레이닝 국면 동안 에러 신호, 손실 신호 및/또는 정정 신호를 수신할 수 있는 네트워크 수정기(126) 및/또는 서브네트워크 수정기들(124-1, 124-2)에 의해 가능해질 수 있다. 뉴럴 네트워크(100)는 네트워크 출력들(계산된 관심 포인트들(108) 및 계산된 디스크립터(110))과 실측 데이터 사이의 에러가 동일한 입력 이미지(102) 또는 상이한 이미지들을 통한 후속 실행 동안 감소될 수 있도록 수정될 수 있다. 예컨대, 뉴럴 네트워크(100)는 출력과 실측 사이의 차이를 표시하는 에러 신호/값에 기초하여, 최소화될 일부 수량을 표시하는 손실 신호/값에 기초하여, 그리고/또는 뉴럴 네트워크(100)에 대해 행해질 특정 수정을 표시하는 수정 신호에 기초하여 수정될 수 있다. 뉴럴 네트워크(100)를 수정하는 것은 관심 포인트 검출기 서브네트워크(112)만을 수정하는 것, 디스크립터 서브네트워크(114)만을 수정하는 것, 및/또는 서브네트워크들(112, 114) 둘 모두를 수정하는 것을 포함할 수 있다.
[0040] 도 3은, 관심 포인트 검출기 서브네트워크(112)가 복수의 합성 이미지들을 포함하는 합성 데이터세트(128)를 사용하여 트레이닝되는, 본 발명에 따른 제1 트레이닝 단계를 예시한다. 도 3에 예시된 트레이닝 단계는 관심 포인트 검출기 서브네트워크(112)만을 포함할 수 있고 디스크립터 서브네트워크(114)를 무시할 수 있다. 이미-존재하는 관심 포인트 라벨링된 이미지들의 대형 데이터베이스가 없기 때문에, 딥(deep) 관심 포인트 검출기는 사변형들, 삼각형들, 라인들 및 타원들의 합성 데이터 렌더링을 통해 단순화된 2D 기하학적 구조로 구성된 대규모 합성 데이터세트를 생성하는 것이 유리하다. 이들 형상들의 예들은 도 7을 참조하여 도시된다. 이 데이터세트에서, 단순 Y-접합부들, L-접합부들, T-접합부들뿐만 아니라 작은 타원들의 중심들 및 선분들의 끝점들로 관심 포인트들을 모델링함으로써 라벨 모호성이 제거될 수 있다.
[0041] 합성 이미지들이 렌더링되면, 호모그래픽 워프들이 각각의 이미지에 적용되어 다수의 트레이닝 예들을 보강한다. 데이터는 실시간으로 생성될 수 있으며, 어떠한 예도 네트워크가 두 번 볼 수 없을 수 있다. 단일 트레이닝 반복 동안, 합성 이미지(130)는 계산된 관심 포인트들(108)의 세트를 계산하는 관심 포인트 검출기 서브네트워크(112)에 제공된다. 합성 이미지(130)에 대응하는 합성 관심 포인트(132)들의 세트는 계산된 관심 포인트들(108)과 비교되고 비교에 기초하여 손실(134)이 계산된다. 관심 포인트 검출기 서브네트워크(112)는 그 후 손실(134)에 기초하여 수정된다. 손실(134)이 미리 결정된 임계치 아래로 떨어지는 것 그리고/또는 합성 데이터세트(128)가 철저히 사용되는 것과 같은 하나 이상의 조건들이 충족될 때까지 다수의 트레이닝 반복들이 수행된다.
[0042] FAST, Harris 코너들 및 Shi-Tomasi의 "Good Features To Track"과 같은 다른 종래의 코너 검출 접근법들과 비교하여, 관심 포인트 검출기 서브네트워크(112)는 합성 데이터세트(128)에 대해 더 우수한 결과들을 생성한다. 관심 포인트 검출기 서브네트워크에 대한 추가의 평가는, 실측 코너 위치들로 인간이 쉽게 라벨링할 수 있는 단순 합성 기하학적 구조를 사용하는 것으로 구성된다. 하나의 성능 평가에서, 관심 포인트 검출기 서브네트워크(112)의 2개의 상이한 모델들이 사용되었다. 두 모델들은 동일한 인코더 아키텍처를 공유했지만 층 당 뉴런들의 수는 상이했으며, 제1 모델은 층 당 64-64-64-64-128-128-128-128-128 뉴런들을 갖고, 제2 모델은 층 당 9-9-16-16-32-32-32-32-32 뉴런들을 갖는다. 각각의 검출기에는 이들이 단순 코너들을 얼마나 잘 로컬화했는지를 결정하도록 합성 데이터세트(128)에 관한 평가 데이터세트가 주어졌다. 평가는 관심 포인트 검출기 서브네트워크(112)가 모든 카테고리들에서 고전적인 검출기들을 능가했음을 시연하였으며, 고전적인 검출기들은 특히 랜덤 입력들의 경우에 어려움을 갖는다.
[0043] 도 4는 기준 데이터세트(144)가 호모그래픽 적응을 사용하여 컴파일되는, 본 발명에 따른 제2 트레이닝 단계를 예시한다. 기준 데이터세트(144)는 예컨대, 기준 관심 포인트들 및 기준 디스크립터들뿐만 아니라, 실세계 이미지들을 포함하는 라벨링되지 않은 데이터세트(136)로부터 취해진 이미지들을 포함하는 의사-실측 데이터세트를 표현한다. 입력 이미지(102)는 라벨링되지 않은 데이터세트(136)로부터 취해지고, 입력 이미지(102)에 기초하여 계산된 관심 포인트들(108)의 세트 및 계산된 디스크립터(110)를 계산하는 뉴럴 네트워크(100)에 제공된다. 데이터는 기준 데이터세트(144)에 기준 세트(142)로서 저장될 수 있고, 각각의 기준 세트(142)는 입력 이미지(102), 입력 이미지(102)에 대응하는 계산된 관심 포인트(108) 및 입력 이미지(102)에 대응하는 계산된 디스크립터(110)를 포함한다.
[0044] 단일 트레이닝 반복 동안, 입력 이미지(102)의 매우 다수의 호모그래픽 워프들에 걸친 평균 응답을 사용하기 위해 호모그래픽 적응이 사용될 수 있다. 호모그래피 생성기(138)는 뉴럴 네트워크(100)를 통해 이미지를 통과시키기 전에 입력 이미지(102)에 복수의 랜덤 또는 의사-랜덤 호모그래피들을 적용하기 위해 사용될 수 있다. 뉴럴 네트워크(100)의 다른 측 상에서, 인버스 호모그래피 생성기(140)는 계산된 관심 포인트들(108)에 복수의 인버스 호모그래피들을 적용하는 데 사용될 수 있으며, 복수의 인버스 호모그래피들은 계산된 관심 포인트들(108)을 언워프(unwarp)하기 위한 복수의 호모그래피들의 인버스이다. 프로세스는 동일한 입력 이미지(102)에 대해 반복되어 복수의 언워프된 계산된 관심 포인트들을 획득할 수 있다. 복수의 언워프된 계산된 관심 포인트들은 기준 세트(142)의 부분으로서 입력 이미지(102) 및 기준 디스크립터와 함께 기준 데이터세트(144)에 저장된 기준 관심 포인트들의 세트를 획득하기 위해 어그리게이팅/결합될 수 있다.
[0045] 부가적으로 또는 대안적으로, 뉴럴 네트워크(100)에 의해 출력된 디스크립터들을 개선하기 위해 호모그래픽 적응이 사용될 수 있다. 예컨대, 단일 트레이닝 반복 동안, 호모그래피 생성기(138)는 뉴럴 네트워크(100)를 통해 이미지를 통과시키기 전에 입력 이미지(102)에 복수의 랜덤 또는 의사-랜덤 호모그래피들을 적용하기 위해 사용될 수 있다. 뉴럴 네트워크(100)의 다른 측 상에서, 인버스 호모그래피 생성기(140)는 계산된 디스크립터(110)에 복수의 인버스 호모그래피들을 적용하는 데 사용될 수 있으며, 복수의 인버스 호모그래피들은 계산된 디스크립터(110)를 언워프하기 위한 복수의 호모그래피들의 인버스이다. 프로세스는 동일한 입력 이미지(102)에 대해 반복되어 복수의 언워프된 계산된 디스크립터들을 획득할 수 있다. 복수의 언워프된 계산된 관심 디스크립터들은 기준 세트(142)의 부분으로서 입력 이미지(102) 및 기준 관심 포인트들의 세트와 함께 기준 데이터세트(144)에 저장된 기준 디스크립터를 획득하기 위해 어그리게이팅/결합될 수 있다.
[0046] 호모그래픽 워프들의 수(Nh)는 이 접근법의 하이퍼-파라미터이다. 일부 실시예들에서, 제1 호모그래피는 아이덴티티(identity)와 동일하게 세팅되어서, Nh = 1이 된다(어떠한 적응도 없음을 의미함). 테스트 시에, Nh의 범위는 바람직한 값을 시도 및 결정하도록 변동되었고, 일부 실시예들에서 Nh는 작음(Nh = 10)에서부터, 중간(Nh = 100) 및 큼(Nh = 1000)으로 이어진다. 결과들은 100개 초과의 호모그래피들을 수행할 때 리턴들이 줄어든다는 것을 제안한다. MS-COCO으로부터의 이미지들의 홀드-아웃 세트(held-out set) 상에서, 어떠한 호모그래픽 적응도 없이 .67의 반복성 스코어가 충족되었고, Nh = 100 변환들을 수행할 때 21%의 반복성 부스트, Nh = 1000일 때 22%의 반복성 부스트는 100개 초과의 호모그래피들을 사용하는 최소의 이익들을 충분히 시연하였다.
[0047] 관심 포인트 응답 맵들 또는 디스크립터 맵들을 결합할 때, 스케일 내 어그리게이션(within-scale aggregation) 및 스케일-간 어그리게이션(across-scale aggregation)을 차별화하는 것이 유리할 수 있다. 실세계 이미지들은 통상적으로 상이한 스케일들의 피처들을 포함하는데, 고해상도 이미지들에서 흥미롭다고 여겨지는 그의 일부 포인트들은 종종 더 거친, 더 낮은 해상도 이미지들에서 심지어 보이지 않는다. 그러나 단일-스케일 내에서 회전들 및 병진운동들과 같은 이미지의 변형들은 관심 포인트들이 나타나고/사라지게 하지 않아야 한다. 이미지들의 이러한 근본적인 다중-스케일 성질은 스케일-내 및 스케일-간 어그리게이션 전략들에 대해 상이한 암시들을 갖는다. 스케일 내 어그리게이션은 집합의 교집합을 컴퓨팅하는 것과 유사해야 하고, 스케일-간 어그리게이션은 집합의 합집합과 유사해야 한다. 스케일에 걸친 평균 응답은 관심 포인트 신뢰도의 다중-스케일 척도로서 또한 사용될 수 있다. 스케일들에 걸친 평균 응답은 관심 포인트가 모든 스케일들에 걸쳐 가시적일 때 최대화되고, 이들은 추적 애플리케이션들에 대한 가장 강력한 관심 포인트들일 가능성이 높다.
[0048] 스케일들에 걸쳐 어그리게이팅할 때, Ns로 고려되는 스케일들의 수는 접근법의 하이퍼-파라미터이다. Ns = 1의 세팅은 어떠한 다중-스케일 어그리게이션에도 대응하지 않는다(또는 단순히 가능한 큰 이미지 크기에 걸쳐서만 어그리게이팅함). 일부 실시예들에서, Ns > 1에 대해, 프로세싱되는 이미지들의 다중-스케일 세트는 "다중-스케일 이미지 피라미드"로서 지칭된다. 피라미드의 레벨들을 저울질하는 가중화 방식들은 더 높은 해상도 이미지들에 더 큰 가중치를 부여할 수 있다. 이는, 더 낮은 해상도에서 검출된 관심 포인트들이 열등한 로컬화 능력을 갖고, 최종 어그리게이팅된 포인트들이 또한 로컬화되어야 하기 때문에 중요할 수 있다. 실험 결과들은 스케일-내 어그리게이션이 반복성에 가장 큰 영향을 미친다는 것을 시연하였다. 일부 실시예들에서, 호모그래픽 적응 기술은 실제 이미지들 상에서 서브네트워크들(112, 114) 및 네트워크(100)의 일반화 능력을 개선하도록 트레이닝 시간에 적용된다.
[0049] 호모그래픽 적응 접근법에 대한 이론적 지원은 다음 단락들에서 설명된다. 일부 실시예들에서, 초기 관심 포인트 함수는 fθ(·)에 의해 표현되며, 여기서 I는 입력 이미지, x는 결과적인 포인트들, 및 H는 랜덤 호모그래피이고, 다음을 만족한다:
Figure pct00001
.
이상적인 관심 포인트 오퍼레이터는 호모그래피들에 대해 공변적(covariant)되어야 한다. 출력이 입력에 따라 변형되는 경우, 함수 fθ(·)는 H와 공분적이다. 다시 말해, 공변 검출기는, 모두에 대해, 다음을 만족시킬 것이다:
Figure pct00002
.
명확성을 위해, 표기 Hx는 결과적인 관심 포인트들에 적용되는 호모그래피 행렬 H를 나타내고, H(I)는 호모그래피 행렬 H에 의해 워프되는 전체 이미지 I를 나타낸다. 호모그래피 관련 항들을 우측으로 이동시키는 것은 다음을 생성한다:
Figure pct00003
.
[0050] 실제로, 관심 포인트 검출기는 완벽하게 공변되지 않을 것이고, 이전 수식에서 상이한 호모그래피들은 상이한 관심 포인트들(x)을 초래할 것이다. 일부 실시예들에서, 이는 충분히 큰 랜덤 샘플 H들에 대해 경험적 합산을 수행함으로써 해결된다. 샘플들에 대한 결과적인 어그리게이션은 다음과 같이 정의된 우수한 관심 포인트 검출기 F(·)를 산출한다:
Figure pct00004
일부 실시예들에서, 모든 행렬들이 양호한 결과들을 생성하진 않는데, 그 이유는 기술적 능력의 결여 때문이 아니라, 모든 가능한 랜덤 호모그래피들이 그럴듯한 카메라 변형들을 나타내는 것은 아니기 때문이다. 일부 실시예들에서, 잠재적인 호모그래피들은, 절제된 정규 분포(truncated normal distribution)를 사용하여 병진이동, 스케일, 면내 회전 및 대칭적 원근 왜곡에 대해 미리 결정된 범위들 내에서 샘플링함으로써 보다 단순하고 덜 표현적인 변형 클래스들로 분해된다. 이러한 변형들은 경계 아티팩트를 회피하는데 도움이 되도록 초기 루트 중심 자르기(initial root center crop)와 함께 구성된다.
[0051] 도 5는 뉴럴 네트워크(100)가 기준 데이터세트(144)를 사용하여 트레이닝되는 본 발명에 따른 제3 트레이닝 단계를 예시한다. 단일 트레이닝 반복 동안, 기준 데이터세트(144)에 포함된 단일 기준 세트(142)가 리트리브된다. 각각의 기준 세트(142)는 입력 이미지(102), 입력 이미지(102)에 대응하는 기준 관심 포인트들의 세트(148) 및 (선택적으로) 입력 이미지(102)에 대응하는 기준 디스크립터(150)를 포함할 수 있다. 하나 이상의 호모그래피 생성기들(138)을 사용하여, 입력 이미지(102)에 호모그래피를 적용함으로써 워프된 입력 이미지(103)가 생성되고, 동일한 호모그래피를 기준 관심 포인트들(148)에 적용함으로써 기준 관심 포인트들(149)의 워프된 세트가 생성된다. 순차적으로 또는 동시에, 뉴럴 네트워크(100-1)는 입력 이미지(102)를 수신하고 입력 이미지(102)에 기초하여 계산된 관심 포인트(108)의 세트 및 계산된 디스크립터(110)를 계산하고, 뉴럴 네트워크(100-2)는 워프된 입력 이미지(103)를 수신하고 워프된 입력 이미지(103)에 기초하여 계산된 워프된 관심 포인트들(109)의 세트 및 계산된 워프된 디스크립터(111)를 계산한다.
[0052] 손실 L은 아래에서 설명되는 바와 같이, 계산된 관심 포인트들(108), 계산된 디스크립터(110), 계산된 워프된 관심 포인트들(109), 계산된 워프된 디스크립터(111), 기준 관심 포인트들(148), 워프된 기준 관심 포인트들(149) 및/또는 호모그래피 H에 기초하여 계산될 수 있다. 뉴럴 네트워크(100)는 그 후 손실 L에 기초하여 수정될 수 있다. 손실 L에 기초하여 뉴럴 네트워크(100)를 수정하는 것은 관심 포인트 검출기 서브네트워크(112)만을 수정하는 것, 디스크립터 서브네트워크(114)만을 수정하는 것, 및/또는 서브네트워크들(112, 114) 둘 모두를 수정하는 것을 포함할 수 있다. 일부 실시예들에서, 뉴럴 네트워크(100)는 동일한 기준 세트(142)를 사용한 후속 실행 동안 손실 L이 감소되도록 수정된다. 손실 L이 미리 결정된 임계치 아래로 떨어지는 것 그리고/또는 기준 데이터세트(144)가 철저히 사용되는 것과 같은 하나 이상의 조건들이 충족될 때까지 다수의 트레이닝 반복들이 수행된다.
[0053] 일부 실시예들에서, 손실 L은 2개의 중간 손실들(하나는 관심 포인트 검출기에 대한 것(Lp)이고, 하나는 디스크립터에 대한 것(Ld)임)의 합이다. 동시성 손실 최적화는, (a) 의사-실측 관심 포인트 위치들 및 (b) 두 이미지들을 관련시키는 랜덤으로 생성된 호모그래피 H로부터의 실측 대응 둘 모두를 갖는 합성적으로 워프된 이미지들의 쌍들의 가용성으로 인해 가능해진다. 손실 L은 다음과 같이 λ의 함수로서 밸런싱된다:
Figure pct00005
.
여기서 X는 계산된 관심 포인트들(108)이고(또는 이와 관련됨), X'는 계산된 워프된 관심 포인트들(109)이고(또는 이와 관련됨), 여기서 Y는 기준 관심 포인트들(148)이고(또는 이와 관련됨), Y'는 워프된 기준 관심 포인트들(149)이고(또는 이와 관련됨), D는 계산된 디스크립터(110)이고(또는 이와 관련됨), D'는 계산 워프된 디스크립터(111)이다(또는 이와 관련됨). S는 유사성 스코어 행렬이고, 랜덤으로 생성된 호모그래피 H에 전적으로 기초하여 결정될 수 있다. 도 5에 예시된 바와 같이, 전체 호모그래피 H 또는 유사성 스코어 행렬 S는 손실 계산기에 공급될 수 있다.
[0054] 관심 포인트 검출기 손실 함수 Lp는 셀들 xhw ∈ X에 대한 완전 콘볼루셔널 교차 엔트로피 손실이다. 대응하는 실측 관심 포인트 라벨들 Y 및 개별 엔트리들은 yhw이다. 따라서 손실은 다음과 같다:
Figure pct00006
이고, 여기서
Figure pct00007
이다.
디스크립터 손실은 입력 이미지(102)로부터의 디스크립터 셀들 dhw ∈ D 및 워프된 입력 이미지(103)로부터의 d'h'w ' ∈ D'의 모든 쌍들에 적용된다. (h, w) 셀과 (h', w') 셀 사이의 호모그래피-유도 대응은 다음과 같이 작성될 수 있다:
Figure pct00008
.
여기서 phw는 (h, w) 셀에서 중심 픽셀의 위치를 나타내고,
Figure pct00009
는 호모그래피 H로 셀 위치 phw를 곱하는 것을 나타낸다. 이미지들의 쌍에 대한 전체 대응 세트는 S이다.
[0055] 일부 실시예들에서, 가중화 항 λd는 음의 대응들 보다 더 양의 대응들의 존재를 밸런싱하는 데 도움이 된다. 디스크립터 손실은 다음에 의해 주어진다:
Figure pct00010
이고 여기서,
Figure pct00011
이다.
[0056] 도 6은 본 발명의 일부 실시예들에 따라, 뉴럴 네트워크(100)를 사용하여 2개의 캡처된 이미지들(154-1, 154-2) 사이의 호모그래피 H의 계산을 예시한다. 예시된 실시예는 다른 가능성들 중에서도, 뉴럴 네트워크(100), 이를테면, 광학 디바이스, 예컨대, AR 또는 MR(mixed reality) 디바이스, 자율-주행차, 무인 항공 비히클, 유인 비히클, 로봇을 활용하는 다수의 시스템들 또는 디바이스들에 대응할 수 있다.
[0057] 본원에서 설명된 기술들을 사용한 트레이닝 후에, 뉴럴 네트워크(100)는 캡처된 이미지들(154-1, 154-2)이 단일 카메라(152) 또는 다수의 카메라들로부터 수신되는 런타임 모드에서 동작할 수 있다. 예컨대, 캡처된 이미지(154-1)는 제1 카메라로부터 수신될 수 있고 캡처된 이미지(154-2)는 제2 카메라로부터 수신될 수 있다. 캡처된 이미지들(154-1, 154-2)은 상이한 카메라들에 의해 동시에 또는 상이한 카메라들에 의해 또는 단일 카메라에 의해 상이한 시간들에 캡처될 수 있다. 뉴럴 네트워크(100)는 네트워크 입력(116)을 통해 캡처된 이미지들(154-1, 154-2)을 수신할 수 있고, 캡처된 이미지(154-1)에 기초하여 계산된 관심 포인트들(108-1)의 세트 및 계산된 디스크립터(110-1), 및 캡처된 이미지(154-2)에 기초하여 계산된 관심 포인트들(108-2)의 세트 및 계산된 디스크립터(110-2)를 계산할 수 있다.
[0058] 일부 실시예들에서, 호모그래피 H를 결정하기 전에, 포인트 대응들(106)이 계산된 관심 포인트들(108-1 및 108-2) 사이의 비교에 의해 결정되며, 이는 관심 포인트들 각각과 연관된 디스크립터들에 의해 통지된다. 예컨대, 상이한 관심 포인트들과 연관된 디스크립터들이 매칭될 수 있다. 가장 유사한 디스크립터들을 갖는 상이한 이미지들에 대응하는 관심 포인트들은 몇몇 가능한 유사성 스코어링 절차들 중 하나에 따라 서로 대응하는 것으로 결정될 수 있다. 호모그래피 H는 포인트 대응들(106)로부터 계산될 수 있다. 예컨대, 캡처된 이미지들(154-1, 154-2) 사이의 상대적 포즈는 포인트 대응들(106)에 기초하여 계산될 수 있고, 호모그래피 H는 카메라 회전 및 상대적 포즈의 병진이동을 표현하는 행렬로서 계산될 수 있다. 부가적으로 또는 대안적으로, 상대적 포즈는 호모그래피 H와 동일할 수 있다.
[0059] 도 7은 본 발명의 일부 실시예들에 따른 합성 데이터세트(128)의 예를 예시한다. 일부 실시예들에서, 합성 데이터세트(128)는 원들, 삼각형들, 사변형들(예컨대, 정사각형들, 직사각형들, 마름모꼴들, 평행 사변형들 등), 오각형들, 육각형들, 별들, 큐브들, 구형들, 타원체들, 원통들, 원뿔들, 프리즘들, 피라미드들, 라인들 등과 같은 비교적 잘-정의된 관심 포인트들을 갖는 매우 다수의 형상 유형들을 나타내는 복수의 형상들을 포함할 수 있다.
[0060] 도 8은 본 발명의 일부 실시예들에 따른 라벨링되지 않은 데이터세트(136)의 예를 예시한다. 라벨링되지 않은 데이터세트(136)는 가변 조명, 노이즈, 카메라 효과들 등을 갖는 실세계의 이미지들을 포함할 수 있다. 실제 이미지들은 합성 이미지들보다 훨씬 덜 정연하고 노이즈가 심하며 합성 세계에서 쉽게 모델링될 수 없는 다양한 시각 효과들을 포함한다.
[0061] 도 9는 본 발명의 일부 실시예들에 따른 뉴럴 네트워크(100)의 예시적인 아키텍처를 예시한다. 예시된 실시예에서, 뉴럴 네트워크(100)는 입력 이미지 차원을 프로세싱하고 감소시키는 단일 공유 인코더를 포함한다. 인코더에 의해 프로세싱되면, 일부 실시예들에서, 아키텍처는 2개의 디코더 "헤드들"(하나는 관심 포인트 검출을 위한 것이고 다른 하나는 관심 포인트 디스크립션을 위한 것임)로 분할되며, 이들은 작업 특정 가중치들을 학습한다.
[0062] 일부 실시예들에서, 뉴럴 네트워크(100)는 이미지의 차원을 감소시키기 위해 VGG-스타일 인코더를 사용한다. 인코더는 콘볼루셔널 층들, 풀링 동작들을 통한 공간 다운샘플링 및 비선형 활성화 기능들로 구성된다. 일부 실시예들에서, 인코더는 차원들 H × W의 이미지 I에 대해 Hc = H/8 및 Wc = W/8을 정의하도록 3개의 최대-풀링 층들이다. 더 낮은 차원 출력들에서의 픽셀들은 셀들로서 지칭되며, 여기서 인코더에서 3개의 2 × 2 비중첩 최대 풀링 동작들은 8 × 8 픽셀 셀들을 초래한다. 인코더는 더 작은 공간 차원 및 더 큰 채널 깊이(즉, Hc < H, Wc < W 및 F > 1)를 갖는 입력 이미지
Figure pct00012
를 매핑한다.
[0063] 일부 경우들에서, 고밀도 예측(dense prediction)을 위한 네트워크 설계는 인코더-디코더 쌍을 수반할 수 있으며, 여기서 공간 해상도는 풀링 또는 스트라이드 콘볼루션(strided convolution)을 통해 감소되고 그 후 업콘볼루션 동작들을 통해 풀 해상도로 다시 업샘플링된다. 불행하게도, 업샘플링 층들은 많은 양의 컴퓨팅을 추가하는 경향이 있고 원치않는 체크보드 아티팩트들을 도입할 수 있고, 이에 따라 본원에서 개시된 일부 실시예들에 대해, 관심 포인트 검출 헤드는 명시적 디코더를 활용하여 모델의 컴퓨테이션을 감소시킨다. 일부 실시예들에서, 관심 포인트 검출기 헤드는 값
Figure pct00013
를 컴퓨팅하고 크기
Figure pct00014
의 텐서를 출력한다. 65개의 채널들은 로컬의 비중첩하는 픽셀들의 8 × 8 그리드 구역에 추가의 "관심 포인트 없음" 더스트빈(dustbin)을 더한 것에 대응한다. 채널별 소프트맥스(softmax) 함수 후에, 더스트빈 차원이 제거되고
Figure pct00015
내지
Figure pct00016
재성형 함수가 수행된다.
[0064] 디스크립터 헤드는
Figure pct00017
를 컴퓨팅하고 크기의
Figure pct00018
텐서를 출력한다. L2-정규화된 고정 길이 디스크립터들의 고밀도 맵을 출력하기 위해, UCN과 유사한 모델은 디스크립터들의 반-고밀도 그리드(예컨대, 8개의 픽셀마다 하나)를 먼저 출력하는 데 사용될 수 있다. 고밀도 보다는, 반-고밀도로 디스크립터들을 학습하는 것이 트레이닝 메모리를 감소시키고 런-타임을 다루기 쉽게 유지한다. 그 후, 디코더는 디스크립터의 비큐빅 보간(bicubic interpolation)을 수행하고, 그 후 유닛 길이가 되도록 활성화(activation)들을 L2-정규화한다. 도 9에 도시된 바와 같이, 두 디코더들은 입력의 공유된 그리고 공간적으로 감소된 표현 상에서 동작한다. 모델을 빠르고 쉽게 트레이닝하도록 유지하기 위해, 일부 실시예들에서, 두 디코더들은 비-학습 업샘플링을 사용하여 표현들을
Figure pct00019
로 되돌린다.
[0065] 일부 실시예들에서, 인코더는 크기가 64-64-64-64-128-128-128-128인 8개의 3 × 3 콘볼루션 층들을 갖는 VGG-형 아키텍처이다. 두 층들마다 2 × 2 최대 풀 층이 존재한다. 각각의 디코더 헤드는 관심 포인트 검출기 및 디스크립터 각각에 대해 65 유닛들 및 256 유닛들을 갖는 1 × 1 콘볼루션 층이 이어지는 256 유닛들의 단일 3 × 3 콘볼루셔널 층을 갖는다. 네트워크의 모든 콘볼루션 층들 뒤에는 ReLU 비-선형 활성화 및 BatchNorm 정규화가 이어질 수 있다.
[0066] 도 10은 본 발명의 일부 실시예들에 따라, (도 4를 참조하여 설명된) 제2 트레이닝 단계 동안 사용되는 호모그래픽 적응의 다양한 단계들을 예시한다. 단계(1002)에서, 라벨링되지 않은 이미지(예컨대, 입력 이미지(102))는 라벨링되지 않은 데이터세트(136)로부터 취해진다. 단계(1004)에서, 다수의 랜덤 호모그래피들이 호모그래피 생성기(138)에서 샘플링된다. 단계(1006)에서, 랜덤 호모그래피들이 라벨링되지 않은 이미지에 적용되어 다수의 워프된 이미지들을 생성한다. 단계(1008)에서, 워프된 이미지들은 관심 포인트 검출기 서브네트워크(112)를 통과한다. 단계(1010)에서, 다수의 포인트 응답들(예컨대, 계산된 관심 포인트들(108)의 세트들)이 관심 포인트 검출기 서브네트워크(112)에 의해 계산된다. 단계(1012)에서, 포인트 응답들(즉, 히트맵들)은 포인트 응답들에 다수의 인버스 호모그래피들(인버스 호모그래피 생성기(140)에 의해 생성됨)을 적용함으로써 언워프되어, 다수의 언워프 히트맵들을 생성한다. 단계(1014)에서, 언워프 히트맵들은 예컨대, 다양한 이용 가능한 기술들 중 하나를 통해 평균화, 합산 또는 결합함으로써 어그리게이팅된다.
[0067] 도 11은 본 발명의 일부 실시예들에 따른 랜덤 호모그래피 생성의 소정의 양상들을 예시한다. 랜덤 사실적 호모그래픽 변형들을 생성하기 위해, 호모그래피는 병진이동들, 스케일링, 회전들 및 대칭적 원근 왜곡과 같은 보다 단순한 변형들로 분해될 수 있다. 샘플 구역이 오리지널 이미지 외부의 픽셀들을 포함할 때 발생하는 경계 아티팩트들을 회피하는 데 도움이 되도록, 랜덤 호모그래피가 도 11에 예시된 바와 같이 중심 자르기로 시작한다. 단순 변형들의 변형 크기들은 랜덤 가우시안 및 균일 분포들이다. 최종 호모그래피 변형을 생성하기 위해, 랜덤으로 샘플링된 단순 변형들이 연속적으로 적용되어 최종 호모그래피를 획득한다.
[0068] 도 12는 본원에서 설명된 실시예들을 활용할 수 있는 AR 디바이스(1200)의 개략도를 예시한다. AR 디바이스(1200)는 좌측 접안렌즈(1202A) 및 우측 접안렌즈(1202B)를 포함할 수 있다. 일부 실시예들에서, AR 디바이스(1200)는, 다른 가능성들 중에서도, 좌측 접안렌즈(1202A) 근처에 또는 그에 직접 부착된 좌측 전방-대면 세계 카메라(1206A), 우측 접안렌즈(1202B) 근처에 또는 그에 직접 부착된 우측 전방-대면 세계 카메라(1206B), 좌측 접안렌즈(1202A) 근처에 또는 그에 직접 부착된 좌측-대면 세계 카메라(1206C), 우측 접안렌즈(1202B) 근처에 또는 그에 직접 부착된 우측-대면 세계 카메라(1206D), 사용자의 좌측 눈을 관찰하도록 포지셔닝된 좌측 눈 추적기, 사용자의 우측 눈을 관찰하도록 포지셔닝된 우측 눈 추적기 및 주변 광 센서를 포함(그러나 이에 제한되지 않음)하는 하나 이상의 센서들을 포함한다. 일부 실시예들에서, AR 디바이스(1200)는 좌측 접안렌즈(1202A)에 광학적으로 링크된 좌측 프로젝터(1214A) 및 우측 접안렌즈(1202B)에 광학적으로 링크된 우측 프로젝터(1214B)와 같은 하나 이상의 이미지 프로젝션 디바이스들을 포함한다.
[0069] AR 디바이스(1200)의 컴포넌트들 중 일부 또는 모두는, 프로젝팅된 이미지들이 사용자에게 보여질 수 있도록 머리 장착될 수 있다. 하나의 특정 구현에서, 도 12에 도시된 AR 디바이스(1200)의 모든 컴포넌트들은 사용자에 의해 착용 가능한 단일 디바이스(예컨대, 단일 헤드셋) 상에 장착된다. 다른 구현에서, 프로세싱 모듈(1250)의 하나 이상의 컴포넌트들은 AR 디바이스(1200)의 다른 컴포넌트들로부터 물리적으로 분리되고 하나 이상의 유선 및/또는 무선 연결들에 의해 통신 가능하게 연결된다. 예컨대, 프로세싱 모듈(1250)은 AR 디바이스(1200)의 머리 장착 부분 상의 로컬 모듈(1252) 및 로컬 모듈(1252)로부터 물리적으로 분리되고 그에 통신 가능하게 링크된 원격 모듈(1256)을 포함할 수 있다. 원격 모듈(1256)은 프레임에 고정적으로 부착되거나, 사용자에 의해 착용된 헬멧 또는 모자에 고정적으로 부착되거나, 헤드폰들에 임베딩되거나, 또는 그렇지 않으면 사용자에게 제거 가능하게 부착되는 것(예컨대, 백팩 스타일 구성, 벨트 커플링 스타일 구성 등)과 같은 다양한 구성들로 장착될 수 있다.
[0070] 프로세싱 모듈(1250)은 프로세서 및 연관된 디지털 메모리 이를테면, 비-휘발성 메모리(예컨대, 플래시 메모리)를 포함할 수 있으며, 이들 둘 모두는 데이터의 프로세싱, 캐싱 및 저장을 보조하는데 활용될 수 있다. 데이터는 센서들(예컨대, AR 디바이스(1200)에 동작 가능하게 커플링될 수 있음) 또는 그렇지 않으면, 사용자에 부착된 것 이를테면, 카메라들(1206), 주변 광 센서, 눈 추적기들, 마이크로폰, 관성 측정 유닛들, 가속도계들, 컴퍼스들, GPS 유닛들, 라디오 디바이스 및/또는 자이로들로부터 캡처된 데이터를 포함할 수 있다. 예컨대, 프로세싱 모듈(1250)은 카메라들(1206)로부터 이미지(들)(1220)를 수신할 수 있다. 구체적으로, 프로세싱 모듈(1250)은 좌측 전방-대면 세계 카메라(1206A)로부터 좌측 전방 이미지(들)(1220A), 우측 전방-대면 세계 카메라(1206B)로부터 우측 전방 이미지(들)(1220B), 좌측-대면 세계 카메라(1206C)로부터 좌측 이미지(들)(1220C), 및 우측-대면 세계 카메라(1206D)로부터 우측 이미지(들)(1220D)를 수신할 수 있다. 일부 실시예들에서, 이미지(들)(1220)는 단일 이미지, 한 쌍의 이미지들, 이미지들의 스트림을 포함하는 비디오, 페어링된 이미지들의 스트림을 포함하는 비디오 등을 포함할 수 있다. 이미지(들)(1220)는, AR 디바이스(1200)가 전력이 공급되는 동안 주기적으로 생성되어 프로세싱 모듈(1250)에 전송될 수 있거나, 프로세싱 모듈(1250)에 의해 카메라들 중 하나 이상에 전송된 명령에 대한 응답으로 생성될 수 있다. 다른 예로서, 프로세싱 모듈(1250)은 주변 광 센서로부터 주변 광 정보를 수신할 수 있다. 다른 예로서, 프로세싱 모듈(1250)은 눈 추적기들로부터 시선 정보를 수신할 수 있다. 다른 예로서, 프로세싱 모듈(1250)은 프로젝터들(1214) 중 하나 또는 둘 모두로부터 이미지 정보(예컨대, 이미지 밝기 값들)를 수신할 수 있다.
[0071] 접안렌즈들(1202A, 1202B)은, 프로젝터들(1214A, 1214B) 각각으로부터의 광을 지향 및 아웃커플링하도록 구성된 투명 또는 반투명 도파관들을 포함할 수 있다. 구체적으로, 프로세싱 모듈(1250)은 좌측 프로젝터(1214A)로 하여금 좌측 가상 이미지 광(1222A)을 좌측 접안렌즈(1202A)에 출력하게 할 수 있고, 우측 프로젝터(1214B)로 하여금 우측 가상 이미지 광(1222B)을 우측 접안렌즈(1202B)에 출력하게 할 수 있다. 일부 실시예들에서, 접안렌즈들(1202) 각각은, 상이한 컬러들 및/또는 상이한 깊이 평면들에 대응하는 복수의 도파관들을 포함할 수 있다. 카메라들(1206A, 1206B)은 사용자의 좌측 및 우측 눈들 각각의 시야와 실질적으로 중첩되는 이미지들을 캡처하도록 포지셔닝될 수 있다. 따라서, 카메라들(1206)의 배치는 사용자의 눈들 근처에 있을 수 있지만 사용자의 시야를 가릴 만큼 그렇게 근처는 아니다. 대안적으로 또는 부가적으로, 카메라들(1206A, 1206B)은, 가상 이미지 광(1222A, 1222B)의 인커플링 위치들과 각각 정렬되도록 포지셔닝될 수 있다. 카메라들(1206C, 1206D)은, 사용자의 측에 대해, 예컨대, 사용자의 주변 비전에서 또는 사용자의 주변 비전 외부에서 이미지들을 캡처하도록 포지셔닝될 수 있다. 카메라들(1206C, 1206D)을 사용하여 캡처된 이미지(들)(1220C, 1220D)는 카메라들(1206A, 1206B)을 사용하여 캡처된 이미지(들)(1220A, 1220B)와 반드시 중첩할 필요는 없다.
[0072] 도 13은 본 발명의 일부 실시예들에 따라, 뉴럴 네트워크(100)를 트레이닝하고 뉴럴 네트워크(100)를 사용하여 이미지 관심 포인트 검출 및 디스크립션을 수행하는 방법(1300)을 예시한다. 방법(1300)의 하나 이상의 단계들은 예시된 실시예에 도시된 것과 상이한 순서로 수행될 수 있고, 방법(1300)의 하나 이상의 단계들이 방법(1300)의 수행 동안 생략될 수 있다.
[0073] 단계(1302)에서, 뉴럴 네트워크(100)가 트레이닝된다. 단계(1302-1)에서, 뉴럴 네트워크(100)의 관심 포인트 검출기 서브네트워크(112)는 합성 데이터세트(128)를 사용하여 트레이닝된다. 합성 데이터세트(128)는 복수의 합성 이미지들 및 복수의 합성 이미지들에 대응하는 합성 관심 포인트들의 복수의 세트들을 포함할 수 있다. 단계(1302-1)는 도 3을 참조하여 추가로 설명된다.
[0074] 단계(1302-2)에서, 기준 데이터세트(144)는 관심 포인트 검출기 서브네트워크(112) 및/또는 디스크립터 서브네트워크(114)를 사용하여 생성된다. 일부 실시예들에서, 기준 데이터세트(144)는 입력 이미지(102)에 복수의 호모그래피들을 적용함으로써 복수의 워프된 이미지들이 생성되는 호모그래픽 적응을 사용하여 생성되고, 계산된 관심 포인트들(108)의 복수의 세트들은 관심 포인트 검출기 서브네트워크(112)를 통해 복수의 워프된 이미지들을 통과시킴으로써 계산된다. 그 후, 계산된 관심 포인트들(108)의 복수의 세트들은 언워프 및 어그리게이팅되어 기준 데이터세트(144)에 저장된 기준 관심 포인트들의 세트를 획득한다. 부가적으로 또는 대안적으로, 복수의 계산된 디스크립터들(110)이, 디스크립터 서브네트워크(114)를 통해 복수의 워프된 이미지들을 통과시킴으로써 계산된다. 그 후, 복수의 계산된 디스크립터들(110)은 언워프 및 어그리게이팅되어 기준 데이터세트(144)에 저장된 기준 디스크립터를 획득한다. 단계(1302-2)는 도 4를 참조하여 추가로 설명된다.
[0075] 단계(1302-3)에서, 관심 포인트 검출기 서브네트워크(112) 및 디스크립터 서브네트워크(114)는 기준 데이터세트(144)를 사용하여 동시에 트레이닝된다. 단일 트레이닝 반복 동안, 입력 이미지(102), 기준 관심 포인트들(148) 및 (선택적으로) 기준 디스크립터(150)를 포함하는 기준 세트(142)는 기준 데이터세트(144)로부터 리트리브되고 손실 L을 계산하는 데 사용된다. 관심 포인트 검출기 서브네트워크(112) 및 디스크립터 서브네트워크(114) 중 하나 또는 둘 모두는 계산된 손실 L에 기초하여 수정될 수 있다. 단계(1302-3)는 도 5를 참조하여 추가로 설명된다.
[0076] 단계(1304)에서, 이미지 관심 포인트 검출 및 디스크립션은 뉴럴 네트워크(100)를 사용하여 수행된다. 일부 실시예들에서, 제1 캡처된 이미지(154-1) 및 제2 캡처된 이미지(154-2)는 카메라(152) 또는 2개의 상이한 카메라들을 사용하여 캡처된다. 캡처된 이미지들(154-1, 154-2)은 그 후 뉴럴 네트워크(100)를 통해 통과될 수 있다. 계산된 관심 포인트들(108-1, 108-2) 및 계산된 디스크립터들(110-1, 110-2)은 호모그래피 H를 계산하기 위해 사용될 수 있다. 일부 실시예들에서, AR 디바이스(1200)는 호모그래피 H에 기초하여 가상 이미지 광(1222A, 1222B) 중 하나 또는 둘 모두를 조정할 수 있다. 예컨대, 프로젝터들(1214A, 1214B)에 의해 접안렌즈들(1202A, 1202B) 상에 프로젝팅된 가상 이미지 광(1222A, 1222B)을 사용자가 봄으로써 지각되는 가상 콘텐츠를 보는 동안 AR 디바이스(1200)의 사용자가 자신의 머리를 돌릴 때, 가상 광은 새로운 시야각과 연관된 호모그래피 H에 기초하여 조정될 필요가 있을 수 있다. 단계(1304)는 도 6을 참조하여 추가로 설명된다.
[0077] 도 14는 본 발명의 일부 실시예들에 따라, 이미지 관심 포인트 검출 및 디스크립션을 위한 뉴럴 네트워크(100)를 트레이닝하는 방법(1400)을 예시한다. 방법(1400)의 하나 이상의 단계들은 예시된 실시예에 도시된 것과 상이한 순서로 수행될 수 있고, 방법(1400)의 하나 이상의 단계들이 방법(1400)의 수행 동안 생략될 수 있다.
[0078] 단계(1402)에서, 워프된 입력 이미지(103)는 입력 이미지(102)에 호모그래피를 적용함으로써 생성된다. 단계(1404)에서, 워프된 기준 관심 포인트들(149)은 호모그래피를 기준 관심 포인트들(148)에 적용함으로써 생성된다. 단계(1406)에서, 계산된 관심 포인트들(108) 및 계산된 디스크립터(110)는 입력 이미지(102)를 입력으로서 수신하는 뉴럴 네트워크(100)에 의해 계산된다. 단계(1408)에서, 계산된 워프된 관심 포인트들(109) 및 계산된 워프된 디스크립터(111)는 워프된 입력 이미지(103)를 입력으로서 수신하는 뉴럴 네트워크(100)에 의해 계산된다.
[0079] 단계(1410)에서, 손실 L은 계산된 관심 포인트들(108), 계산된 디스크립터(110), 계산된 워프된 관심 포인트들(109), 계산된 워프된 디스크립터(111), 기준 관심 포인트들(148), 워프된 기준 관심 포인트들(149) 및/또는 호모그래피 중 하나 이상에 기초하여 계산된다. 일부 실시예들에서, 손실 L은 호모그래피에 기초하여 추가로 계산된다. 단계(1412)에서, 뉴럴 네트워크(100)는 손실 L에 기초하여 수정된다.
[0080] 도 15는 본원에서 설명된 일부 실시예들에 따른 단순화된 컴퓨터 시스템(1500)을 예시한다. 도 15는, 다양한 실시예들에 의해 제공되는 방법들의 단계들 중 일부 또는 전부를 수행할 수 있는 컴퓨터 시스템(1500)의 일 예의 개략적인 예시를 제공한다. 도 15는 단지 다양한 컴포넌트들의 일반화된 예시만을 제공하는 것으로 의도되며, 그 컴포넌트들 중 임의의 또는 모든 컴포넌트는 적절히 활용될 수 있다는 것이 주의되어야 한다. 따라서, 도 15는, 개별 시스템 엘리먼트들이 어떻게 상대적으로 분리되어 구현될 수 있는지 또는 상대적으로 더 통합된 방식으로 구현될 수 있는지를 광범위하게 예시한다.
[0081] 버스(1505)를 통해 전기적으로 커플링될 수 있는(또는 그렇지 않으면, 적절히 통신할 수 있는) 하드웨어 엘리먼트들을 포함하는 컴퓨터 시스템(1500)이 도시된다. 하드웨어 엘리먼트들은, 하나 이상의 범용 프로세서들 및/또는 (디지털 신호 프로세싱 칩들, 그래픽 가속 프로세서들 등과 같은) 하나 이상의 특수-목적 프로세서들을 제한 없이 포함하는 하나 이상의 프로세서들(1510); 마우스, 키보드, 카메라 등을 제한 없이 포함할 수 있는 하나 이상의 입력 디바이스들(1515); 및 디스플레이 디바이스, 프린터 등을 제한 없이 포함할 수 있는 하나 이상의 출력 디바이스들(1520)을 포함할 수 있다.
[0082] 컴퓨터 시스템(1500)은, 로컬 및/또는 네트워크 액세스 가능 저장소를 제한 없이 포함할 수 있고 그리고/또는 디스크 드라이브, 드라이브 어레이, 광학 저장 디바이스, 고체-상태 저장 디바이스, 예컨대 "RAM"(random access memory) 및/또는 "ROM"(read-only memory)(프로그래밍 가능하고, 플래시-업데이트 가능하고, 기타 등등이 가능할 수 있음)를 제한 없이 포함할 수 있는 하나 이상의 비-일시적인 저장 디바이스들(1525)을 더 포함하고 그리고/또는 이들과 통신할 수 있다. 그러한 저장 디바이스들은, 다양한 파일 시스템들, 데이터베이스 구조들 등을 제한 없이 포함하는 임의의 적절한 데이터 저장소들을 구현하도록 구성될 수 있다.
[0083] 컴퓨터 시스템(1500)은 또한, 모뎀, 네트워크 카드(무선 또는 유선), 적외선 통신 디바이스, 무선 통신 디바이스 및/또는 칩셋, 이를테면, BluetoothTM 디바이스, 802.11 디바이스, WiFi 디바이스, WiMax 디바이스, 셀룰러 통신 설비들 등을 제한 없이 포함할 수 있는 통신 서브시스템(1519)을 포함할 수 있다. 통신 서브시스템(1519)은 데이터가 네트워크, 이를테면, 일 예를 들자면, 아래에서 설명되는 네트워크, 다른 컴퓨터 시스템들, 텔레비전들, 및/또는 본원에서 설명된 임의의 다른 디바이스들과 교환될 수 있도록 허용하는 하나 이상의 입력 및/또는 출력 통신 인터페이스들을 포함할 수 있다. 원하는 기능성 및/또는 다른 구현 관심사들에 의존하여, 휴대용 전자 디바이스 또는 유사한 디바이스는 통신 서브시스템(1519)을 통해 이미지 및/또는 다른 정보를 통신할 수 있다. 다른 실시예들에서, 휴대용 전자 디바이스, 예컨대, 제1 전자 디바이스는 입력 디바이스(1515)로서 컴퓨터 시스템(1500), 예컨대, 전자 디바이스에 통합될 수 있다. 일부 실시예들에서, 컴퓨터 시스템(1500)은 위에서 설명된 바와 같이, RAM 또는 ROM 디바이스를 포함할 수 있는 작동(working) 메모리(1535)를 더 포함할 것이다.
[0084] 컴퓨터 시스템(1500)은 또한, 운영 체제(1540), 디바이스 드라이버들, 실행 가능 라이브러리들, 및/또는 하나 이상의 애플리케이션 프로그램들(1545)과 같은 다른 코드를 포함하는, 작동 메모리(1535) 내에 현재 로케이팅되는 것으로서 도시되는 소프트웨어 엘리먼트들을 포함할 수 있으며, 그 엘리먼트들은, 본원에서 설명된 바와 같이, 다양한 실시예들에 의해 제공된 컴퓨터 프로그램들을 포함할 수 있고, 그리고/또는 다른 실시예들에 의해 제공된 방법들을 구현하고, 그리고/또는 시스템들을 구성하도록 설계될 수 있다. 단지 예로서, 위에서 논의된 방법들에 관하여 설명된 하나 이상의 절차들은, 컴퓨터 및/또는 컴퓨터 내의 프로세서에 의해 실행 가능한 코드 및/또는 명령들로 구현될 수 있고, 일 양상에서, 그 후, 그러한 코드 및/또는 명령들은, 설명된 방법들에 따라, 하나 이상의 동작들을 수행하도록 범용 컴퓨터 또는 다른 디바이스를 구성하고 그리고/또는 적응시키는 데 사용될 수 있다.
[0085] 이들 명령들 및/또는 코드의 세트는, 위에서 설명된 저장 디바이스(들)(1525)와 같은 비-일시적인 컴퓨터-판독 가능 저장 매체 상에 저장될 수 있다. 일부 경우들에서, 저장 매체는, 컴퓨터 시스템(1500)과 같은 컴퓨터 시스템 내에 포함될 수 있다. 다른 실시예들에서, 저장 매체는 컴퓨터 시스템과 별개일 수 있고, 예컨대, 콤팩트 디스크와 같은 제거 가능 매체일 수 있고 그리고/또는 저장 매체가 저장 매체 상에 저장된 명령들/코드로 범용 컴퓨터를 프로그래밍하고, 구성하고 그리고/또는 적응시키는 데 사용될 수 있도록 설치 패키지로 제공될 수 있다. 이들 명령들은, 컴퓨터 시스템(1500)에 의해 실행 가능한 실행가능 코드의 형태를 취할 수 있고, 그리고/또는 예컨대, 다양한 일반적으로 이용 가능한 컴파일러들, 설치 프로그램들, 압축/압축해제 유틸리티들 등을 사용하여, 컴퓨터 시스템(1500) 상에 컴파일 및/또는 설치하게 되면, 실행 가능 코드의 형태를 취하는 소스 및/또는 설치 가능한 코드의 형태를 취할 수 있다.
[0086] 특정 요건들에 따라 실질적인 변동들이 이루어질 수 있음이 당업자들에게 명백할 것이다. 예컨대, 맞춤화된 하드웨어가 또한 사용될 수 있고, 그리고/또는 특정한 엘리먼트들이 하드웨어, 애플릿(applet)들 등과 같은 이식 가능한(portable) 소프트웨어 등을 포함하는 소프트웨어, 또는 둘 모두로 구현될 수 있다. 추가로, 네트워크 입력/출력 디바이스들과 같은 다른 컴퓨팅 디바이스들에 대한 연결이 이용될 수 있다.
[0087] 위에 언급된 바와 같이, 일 양상에서, 일부 실시예들은 본 기술의 다양한 실시예들에 따른 방법들을 수행하기 위해 컴퓨터 시스템, 이를테면, 컴퓨터 시스템(1500)을 이용할 수 있다. 실시예들의 세트에 따라, 프로세서(1510)가 작동 메모리(1535)에 포함되는 운영 체제(1540) 및/또는 다른 코드, 이를테면, 애플리케이션 프로그램(1545)에 포함될 수 있는 하나 이상의 명령들의 하나 이상의 시퀀스들을 실행하는 것에 대한 응답으로, 그러한 방법들의 절차들 중 일부 또는 전부가 컴퓨터 시스템(1500)에 의해 수행된다. 그러한 명령들은, 저장 디바이스(들)(1525) 중 하나 이상과 같은 다른 컴퓨터-판독 가능 매체로부터 작동 메모리(1535)로 판독될 수 있다. 단지 예로서, 작동 메모리(1535)에 포함된 명령들의 시퀀스들의 실행은 프로세서(들)(1510)로 하여금, 본원에서 설명된 방법들의 하나 이상의 절차들을 수행하게 할 수 있다. 부가적으로 또는 대안적으로, 본원에서 설명된 방법들의 부분들은 특수 하드웨어를 통해 실행될 수 있다.
[0088] 본원에서 사용된 바와 같이, "머신-판독 가능 매체" 및 "컴퓨터-판독 가능 매체"라는 용어들은 머신이 특정한 방식으로 동작하게 하는 데이터를 제공하는 것에 참여하는 임의의 매체를 지칭한다. 컴퓨터 시스템(1500)을 사용하여 구현되는 실시예들에서, 다양한 컴퓨터-판독 가능 매체들이, 실행을 위한 명령들/코드를 프로세서(들)(1510)에 제공하는 데 수반될 수 있고, 그리고/또는 그러한 명령들/코드를 저장 및/또는 반송(carry)하는 데 사용될 수 있다. 다수의 구현들에서, 컴퓨터-판독 가능 매체는 물리적이고 그리고/또는 유형의(tangible) 저장 매체이다. 그러한 매체는 비-휘발성 매체들 또는 휘발성 매체들의 형태를 취할 수 있다. 비-휘발성 매체들은, 예컨대, 저장 디바이스(들)(1525)와 같이 광학 및/또는 자기 디스크들을 포함한다. 휘발성 매체들은 작동 메모리(1535)와 같은 동적 메모리를 제한 없이 포함한다.
[0089] 물리적인 및/또는 유형의 컴퓨터-판독 가능 매체들의 일반적인 형태들은, 예컨대, 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프, 또는 임의의 다른 자기 매체, CD-ROM, 임의의 다른 광학 매체, 펀치카드들, 페이퍼테이프, 홀들의 패턴들을 갖는 임의의 다른 물리적인 매체, RAM, PROM, EPROM, FLASH-EPROM, 임의의 다른 메모리 칩 또는 카트리지, 또는 컴퓨터가 명령들 및/또는 코드를 판독할 수 있는 임의의 다른 매체를 포함한다.
[0090] 다양한 형태들의 컴퓨터-판독 가능 매체들은, 실행을 위한 하나 이상의 명령들의 하나 이상의 시퀀스들을 프로세서(들)(1510)에 반송하는 데 수반될 수 있다. 단지 예로서, 명령들은 초기에, 원격 컴퓨터의 자기 디스크 및/또는 광학 디스크 상에서 반송될 수 있다. 원격 컴퓨터는, 자신의 동적 메모리로 명령들을 로딩하고, 컴퓨터 시스템(1500)에 의해 수신 및/또는 실행되도록 송신 매체를 통해 신호들로서 명령들을 전송할 수 있다.
[0091] 통신 서브시스템(1519) 및/또는 그의 컴포넌트들은 일반적으로 신호들을 수신할 것이고, 그 후, 버스(1505)는 신호들 및/또는 신호들에 의해 반송된 데이터, 명령들 등을 작동 메모리(1535)에 반송할 수 있으며, 그 메모리로부터, 프로세서(들)(1510)는 명령들을 리트리브(retrieve) 및 실행한다. 작동 메모리(1535)에 의해 수신된 명령들은 선택적으로, 프로세서(들)(1510)에 의한 실행 이전 또는 그 이후, 비-일시적인 저장 디바이스(1525)에 저장될 수 있다.
[0092] 위에서 논의된 방법들, 시스템들, 및 디바이스들은 예들이다. 다양한 구성들은 다양한 절차들 또는 컴포넌트들을 적절히 생략, 치환 또는 부가할 수 있다. 예컨대, 대안적인 구성들에서, 방법들은 설명되는 것과 상이한 순서로 수행될 수 있고, 그리고/또는 다양한 스테이지들이 추가, 생략 및/또는 결합될 수 있다. 또한, 소정의 구성들에 대해 설명된 특징들은 다양한 다른 구성들로 결합될 수 있다. 구성들의 상이한 양상들 및 엘리먼트들은 유사한 방식으로 결합될 수 있다. 또한, 기술은 발전하며, 따라서 대부분의 엘리먼트들은 예들이고, 본 개시내용 또는 청구항들의 범위를 제한하지 않는다.
[0093] 특정한 세부사항들은, 구현들을 포함하는 예시적인 구성들의 완전한 이해를 제공하기 위해 설명에서 제공된다. 그러나, 구성들은 이 특정한 세부사항들 없이 실시될 수 있다. 예컨대, 잘-알려진 회로들, 프로세스들, 알고리즘들, 구조들, 및 기술들은 구성들을 불명료하게 하는 것을 회피하기 위해 불필요한 세부사항 없이 도시되었다. 이러한 설명은 예시적인 구성들만을 제공하며, 청구항들의 범위, 적용 가능성, 또는 구성들을 제한하지 않는다. 오히려, 구성들의 이전 설명은, 설명된 기술들을 구현하기 위한 가능한 설명을 당업자들에게 제공할 것이다. 다양한 변화들이 본 개시내용의 사상 또는 범위를 벗어나지 않으면서 엘리먼트들의 기능 및 어레인지먼트(arrangement)에서 행해질 수 있다.
[0094] 또한, 구성들은, 개략적 흐름도 또는 블록도로서 도시된 프로세스로서 설명될 수 있다. 각각이 순차적인 프로세스로서 동작들을 설명할 수 있지만, 동작들의 대부분은 병렬로 또는 동시에 수행될 수 있다. 부가적으로, 동작들의 순서는 재배열될 수 있다. 프로세스는, 도면에 포함되지 않는 부가적인 단계들을 가질 수 있다. 또한, 방법들의 예들은, 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 디스크립션(description) 언어들, 또는 이들의 임의의 결합에 의해 구현될 수 있다. 소프트웨어, 펌웨어, 미들웨어 또는 마이크로코드로 구현되는 경우, 필요한 작업들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들은, 저장 매체와 같은 비-일시적인 컴퓨터-판독 가능 매체에 저장될 수 있다. 프로세서들은 설명된 작업들을 수행할 수 있다.
[0095] 여러 예시적인 구성들을 설명하였지만, 다양한 수정들, 대안적인 구성들, 및 등가물들은 본 개시내용의 사상을 벗어나지 않으면서 사용될 수 있다. 예컨대, 위의 엘리먼트들은 더 큰 시스템의 컴포넌트일 수 있으며, 여기서, 다른 규칙들이 본 기술의 애플리케이션에 우선할 수 있거나 그렇지 않으면 본 발명의 애플리케이션을 수정할 수 있다. 또한, 다수의 단계들은, 위의 엘리먼트들이 고려되기 전에, 그 동안, 또는 그 이후에 착수될 수 있다. 따라서, 위의 설명은 청구항들의 범위를 제한하지 않는다.
[0096] 본원에서 그리고 첨부된 청구항들에 이용된 바와 같이, 단수 형태들은, 맥락에서 명확히 다르게 나타내지 않으면 복수의 지시대상들을 포함한다. 따라서, 예컨대, "사용자"에 대한 참조는 복수의 그러한 사용자들을 포함하고, "프로세서"에 대한 참조는 당업자에게 알려진 하나 이상의 프로세서들 및 그의 등가물들에 대한 참조를 포함하는 식이다.
[0097] 또한, 본 명세서에서 그리고 다음의 청구항들에서 사용될 때, "포함하는"("comprise", "comprising", "contains", "containing", "include", "including", 및 "includes")이란 단어는 언급된 특징들, 정수들, 컴포넌트들 또는 단계들의 존재를 특정하도록 의도되지만, 이들은 하나 이상의 다른 특징들, 정수들, 컴포넌트들, 단계들, 동작들 또는 그룹들의 존재 또는 부가를 배제하지 않는다.
[0098] 또한, 본원에서 설명된 예들 및 실시예들은 단지 예시 목적들을 위한 것이고, 이를 고려한 다양한 수정들 또는 변화들이 당업자에게 연상될 것이며 본 출원의 사상 및 범위 및 첨부된 청구항들의 범위 내에 포함될 것임이 이해된다.

Claims (20)

  1. 이미지 관심 포인트 검출 및 디스크립션(description)을 위해 뉴럴 네트워크를 트레이닝하는 방법으로서,
    복수의 기준 세트들을 포함하는 기준 데이터세트를 생성하는 단계 ― 상기 복수의 기준 세트들 각각은,
    이미지; 및
    상기 이미지에 대응하는 기준 관심 포인트들의 세트를 포함함 ― ; 및
    상기 복수의 기준 세트들의 각각의 기준 세트에 대해 :
    상기 이미지에 호모그래피(homography)를 적용함으로써, 워프된 이미지(warped image)를 생성하는 단계;
    상기 기준 관심 포인트들의 세트에 상기 호모그래피를 적용함으로써, 기준 관심 포인트들의 워프된 세트를 생성하는 단계;
    입력으로서 상기 이미지를 수신하는 상기 뉴럴 네트워크에 의해, 계산된 관심 포인트들의 세트 및 계산된 디스크립터(descriptor)를 계산하는 단계;
    입력으로서 상기 워프된 이미지를 수신하는 상기 뉴럴 네트워크에 의해, 계산된 워프된 관심 포인트들의 세트 및 계산된 워프된 디스크립터를 계산하는 단계;
    상기 계산된 관심 포인트들의 세트, 상기 계산된 디스크립터, 상기 계산된 워프된 관심 포인트들의 세트, 상기 계산된 워프된 디스크립터, 상기 기준 관심 포인트들의 세트, 상기 기준 관심 포인트들의 워프된 세트 및 상기 호모그래피에 기초하여 손실을 계산하는 단계; 및
    상기 손실에 기초하여 상기 뉴럴 네트워크를 수정하는 단계를 포함하는,
    이미지 관심 포인트 검출 및 디스크립션을 위해 뉴럴 네트워크를 트레이닝하는 방법.
  2. 제1 항에 있어서,
    상기 뉴럴 네트워크는 관심 포인트 검출기 서브네트워크 및 디스크립터 서브네트워크를 포함하고,
    상기 관심 포인트 검출기 서브네트워크는, 입력으로서 상기 이미지를 수신하고 상기 이미지에 기초하여 상기 계산된 관심 포인트들의 세트를 계산하도록 구성되고; 그리고
    상기 디스크립터 서브네트워크는 입력으로서 상기 이미지를 수신하고 상기 이미지에 기초하여 상기 계산된 디스크립터를 계산하도록 구성되는,
    이미지 관심 포인트 검출 및 디스크립션을 위해 뉴럴 네트워크를 트레이닝하는 방법.
  3. 제2 항에 있어서,
    상기 손실에 기초하여 상기 뉴럴 네트워크를 수정하는 단계는 상기 손실에 기초하여 상기 관심 포인트 검출기 서브네트워크 및 상기 디스크립터 서브네트워크 중 하나 또는 둘 모두를 수정하는 단계를 포함하는,
    이미지 관심 포인트 검출 및 디스크립션을 위해 뉴럴 네트워크를 트레이닝하는 방법.
  4. 제2 항에 있어서,
    상기 기준 데이터세트를 생성하기 전에, 복수의 합성 이미지들 및 합성 관심 포인트들의 복수의 세트들을 포함하는 합성 데이터세트를 사용하여 상기 관심 포인트 검출기 서브네트워크를 트레이닝하는 단계를 더 포함하고,
    상기 기준 데이터세트를 생성하는 단계는 상기 관심 포인트 검출기 서브네트워크를 사용하여 상기 기준 데이터세트를 생성하는 단계를 포함하는,
    이미지 관심 포인트 검출 및 디스크립션을 위해 뉴럴 네트워크를 트레이닝하는 방법.
  5. 제1 항에 있어서,
    상기 기준 데이터세트를 생성하는 단계는,
    상기 복수의 기준 세트들의 각각의 기준 세트에 대해 :
    복수의 라벨링되지 않은 이미지들을 포함하는 라벨링되지 않은 데이터세트로부터 상기 이미지를 획득하는 단계;
    상기 이미지에 복수의 호모그래피들을 적용함으로써 복수의 워프된 이미지들을 생성하는 단계;
    입력으로서 상기 복수의 워프된 이미지들을 수신하는 상기 뉴럴 네트워크에 의해, 계산된 워프된 관심 포인트들의 복수의 세트들을 계산하는 단계;
    상기 계산된 워프된 관심 포인트들의 복수의 세트들에 복수의 인버스 호모그래피들을 적용함으로써, 계산된 관심 포인트들의 복수의 세트들을 생성하는 단계; 및
    상기 기준 관심 포인트들의 세트를 획득하기 위해 상기 계산된 관심 포인트들의 복수의 세트들을 어그리게이팅(aggregating)하는 단계를 포함하는,
    이미지 관심 포인트 검출 및 디스크립션을 위해 뉴럴 네트워크를 트레이닝하는 방법.
  6. 제1 항에 있어서,
    상기 복수의 기준 세트들 각각은 상기 이미지에 대응하는 기준 디스크립터를 더 포함하고,
    상기 기준 데이터세트를 생성하는 단계는,
    상기 복수의 기준 세트들의 각각의 기준 세트에 대해 :
    복수의 라벨링되지 않은 이미지들을 포함하는 라벨링되지 않은 데이터세트로부터 상기 이미지를 획득하는 단계;
    상기 이미지에 복수의 호모그래피들을 적용함으로써 복수의 워프된 이미지들을 생성하는 단계;
    입력으로서 상기 복수의 워프된 이미지들을 수신하는 상기 뉴럴 네트워크에 의해, 복수의 계산된 워프된 디스크립터들을 계산하는 단계;
    상기 복수의 계산된 워프된 디스크립터들에 복수의 인버스 호모그래피들을 적용함으로써 복수의 계산된 디스크립터들을 생성하는 단계; 및
    상기 기준 디스크립터를 획득하기 위해 상기 복수의 계산된 디스크립터들을 어그리게이팅하는 단계를 포함하는,
    이미지 관심 포인트 검출 및 디스크립션을 위해 뉴럴 네트워크를 트레이닝하는 방법.
  7. 제1 항에 있어서,
    상기 기준 관심 포인트들의 세트는 상기 이미지의 특정 픽셀이 상기 특정 픽셀에 로케이팅된 관심 포인트를 가질 가능성에 대응하는 값들을 갖는 2차원 맵인,
    이미지 관심 포인트 검출 및 디스크립션을 위해 뉴럴 네트워크를 트레이닝하는 방법.
  8. 뉴럴 네트워크를 사용하여 이미지 관심 포인트 검출 및 디스크립션을 수행하는 방법으로서,
    제1 이미지를 캡처하는 단계;
    제2 이미지를 캡처하는 단계;
    입력으로서 상기 제1 이미지를 수신하는 상기 뉴럴 네트워크에 의해, 계산된 관심 포인트들의 제1 세트 및 제1 계산된 디스크립터를 계산하는 단계;
    입력으로서 상기 제2 이미지를 수신하는 상기 뉴럴 네트워크에 의해, 계산된 관심 포인트들의 제2 세트 및 제2 계산된 디스크립터를 계산하는 단계; 및
    상기 계산된 관심 포인트들의 제1 세트 및 제2 세트 및 상기 제1 계산된 디스크립터 및 상기 제2 계산된 디스크립터에 기초하여 상기 제1 이미지와 상기 제2 이미지 사이의 호모그래피를 결정하는 단계를 포함하고,
    상기 뉴럴 네트워크는,
    상기 계산된 관심 포인트들의 제1 세트 및 상기 계산된 관심 포인트들의 제2 세트를 계산하도록 구성된 관심 포인트 검출기 서브네트워크; 및
    상기 제1 계산된 디스크립터 및 상기 제2 계산된 디스크립터를 계산하도록 구성된 디스크립터 서브네트워크를 포함하는,
    뉴럴 네트워크를 사용하여 이미지 관심 포인트 검출 및 디스크립션을 수행하는 방법.
  9. 제8 항에 있어서,
    상기 관심 포인트 검출기 서브네트워크는 상기 디스크립터 서브네트워크가 상기 제1 계산된 디스크립터를 계산하는 것과 동시에 상기 계산된 관심 포인트들의 제1 세트를 계산하도록 구성되고;
    상기 관심 포인트 검출기 서브네트워크는 상기 디스크립터 서브네트워크가 상기 제2 계산된 디스크립터를 계산하는 것과 동시에 상기 계산된 관심 포인트들의 제2 세트를 계산하도록 구성되는,
    뉴럴 네트워크를 사용하여 이미지 관심 포인트 검출 및 디스크립션을 수행하는 방법.
  10. 제8 항에 있어서,
    복수의 기준 세트들을 포함하는 기준 데이터세트를 생성하고 ― 상기 복수의 기준 세트들 각각은,
    이미지; 및
    상기 이미지에 대응하는 기준 관심 포인트들의 세트를 포함함 ― ; 그리고
    상기 복수의 기준 세트들의 각각의 기준 세트에 대해 :
    상기 이미지에 호모그래피를 적용함으로써, 워프된 이미지를 생성하고;
    상기 기준 관심 포인트들의 세트에 상기 호모그래피를 적용함으로써, 기준 관심 포인트들의 워프된 세트를 생성하고;
    입력으로서 상기 이미지를 수신하는 상기 뉴럴 네트워크에 의해, 계산된 관심 포인트들의 세트 및 계산된 디스크립터를 계산하고;
    입력으로서 상기 워프된 이미지를 수신하는 상기 뉴럴 네트워크에 의해, 계산된 워프된 관심 포인트들의 세트 및 계산된 워프된 디스크립터를 계산하고;
    상기 계산된 관심 포인트들의 세트, 상기 계산된 디스크립터, 상기 계산된 워프된 관심 포인트들의 세트, 상기 계산된 워프된 디스크립터, 상기 기준 관심 포인트들의 세트, 상기 기준 관심 포인트들의 워프된 세트 및 상기 호모그래피에 기초하여 손실을 계산하고; 그리고
    상기 손실에 기초하여 상기 뉴럴 네트워크를 수정함으로써,
    상기 뉴럴 네트워크를 트레이닝하는 단계를 더 포함하는,
    뉴럴 네트워크를 사용하여 이미지 관심 포인트 검출 및 디스크립션을 수행하는 방법.
  11. 제10 항에 있어서,
    상기 손실에 기초하여 상기 뉴럴 네트워크를 수정하는 것은 상기 손실에 기초하여 관심 포인트 검출기 서브네트워크 및 상기 디스크립터 서브네트워크 중 하나 또는 둘 모두를 수정하는 것을 포함하는,
    뉴럴 네트워크를 사용하여 이미지 관심 포인트 검출 및 디스크립션을 수행하는 방법.
  12. 제10 항에 있어서,
    상기 기준 데이터세트를 생성하기 전에, 복수의 합성 이미지들 및 합성 관심 포인트들의 복수의 세트들을 포함하는 합성 데이터세트를 사용하여 상기 관심 포인트 검출기 서브네트워크를 트레이닝하는 것을 더 포함하고,
    상기 기준 데이터세트를 생성하는 것은 상기 관심 포인트 검출기 서브네트워크를 사용하여 상기 기준 데이터세트를 생성하는 것을 포함하는,
    뉴럴 네트워크를 사용하여 이미지 관심 포인트 검출 및 디스크립션을 수행하는 방법.
  13. 제10 항에 있어서,
    상기 기준 데이터세트를 생성하는 것은,
    상기 복수의 기준 세트들의 각각의 기준 세트에 대해 :
    복수의 라벨링되지 않은 이미지들을 포함하는 라벨링되지 않은 데이터세트로부터 상기 이미지를 획득하는 것;
    상기 이미지에 복수의 호모그래피들을 적용함으로써 복수의 워프된 이미지들을 생성하는 것;
    입력으로서 상기 복수의 워프된 이미지들을 수신하는 상기 뉴럴 네트워크에 의해, 계산된 워프된 관심 포인트들의 복수의 세트들을 계산하는 것;
    상기 계산된 워프된 관심 포인트들의 복수의 세트들에 복수의 인버스 호모그래피들을 적용함으로써, 계산된 관심 포인트들의 복수의 세트들을 생성하는 것; 그리고
    상기 기준 관심 포인트들의 세트를 획득하기 위해 상기 계산된 관심 포인트들의 복수의 세트들을 어그리게이팅하는 것을 포함하는,
    뉴럴 네트워크를 사용하여 이미지 관심 포인트 검출 및 디스크립션을 수행하는 방법.
  14. 제10 항에 있어서,
    상기 복수의 기준 세트들 각각은 상기 이미지에 대응하는 기준 디스크립터를 더 포함하고,
    상기 기준 데이터세트를 생성하는 것은,
    상기 복수의 기준 세트들의 각각의 기준 세트에 대해 :
    복수의 라벨링되지 않은 이미지들을 포함하는 라벨링되지 않은 데이터세트로부터 상기 이미지를 획득하는 것;
    상기 이미지에 복수의 호모그래피들을 적용함으로써 복수의 워프된 이미지들을 생성하는 것;
    입력으로서 상기 복수의 워프된 이미지들을 수신하는 상기 뉴럴 네트워크에 의해, 복수의 계산된 워프된 디스크립터들을 계산하는 것;
    상기 복수의 계산된 워프된 디스크립터들에 복수의 인버스 호모그래피들을 적용함으로써 복수의 계산된 디스크립터들을 생성하는 것; 그리고
    상기 기준 디스크립터를 획득하기 위해 상기 복수의 계산된 디스크립터들을 어그리게이팅하는 것을 포함하는,
    뉴럴 네트워크를 사용하여 이미지 관심 포인트 검출 및 디스크립션을 수행하는 방법.
  15. 광학 디바이스로서,
    제1 이미지 및 제2 이미지를 캡처하도록 구성된 적어도 하나의 카메라; 및
    상기 카메라에 커플링되고, 동작들을 수행하도록 구성된 하나 이상의 프로세서들을 포함하고, 상기 동작들은,
    상기 적어도 하나의 카메라로부터 상기 제1 이미지 및 상기 제2 이미지를 수신하는 동작;
    입력으로서 상기 제1 이미지를 이용하는 뉴럴 네트워크에 의해, 계산된 관심 포인트들의 제1 세트 및 제1 계산된 디스크립터를 계산하는 동작;
    입력으로서 상기 제2 이미지를 이용하는 뉴럴 네트워크에 의해, 계산된 관심 포인트들의 제2 세트 및 제2 계산된 디스크립터를 계산하는 동작; 및
    상기 계산된 관심 포인트들의 제1 세트 및 제2 세트 및 상기 제1 계산된 디스크립터 및 상기 제2 계산된 디스크립터에 기초하여 상기 제1 이미지와 상기 제2 이미지 사이의 호모그래피를 결정하는 동작을 포함하고,
    상기 뉴럴 네트워크는,
    상기 계산된 관심 포인트들의 제1 세트 및 상기 계산된 관심 포인트들의 제2 세트를 계산하도록 구성된 관심 포인트 검출기 서브네트워크; 및
    상기 제1 계산된 디스크립터 및 상기 제2 계산된 디스크립터를 계산하도록 구성된 디스크립터 서브네트워크를 포함하는,
    광학 디바이스.
  16. 제15 항에 있어서,
    상기 관심 포인트 검출기 서브네트워크는 상기 디스크립터 서브네트워크가 상기 제1 계산된 디스크립터를 계산하는 것과 동시에 상기 계산된 관심 포인트들의 제1 세트를 계산하도록 구성되고;
    상기 관심 포인트 검출기 서브네트워크는 상기 디스크립터 서브네트워크가 상기 제2 계산된 디스크립터를 계산하는 것과 동시에 상기 계산된 관심 포인트들의 제2 세트를 계산하도록 구성되는,
    광학 디바이스.
  17. 제15 항에 있어서,
    상기 뉴럴 네트워크는,
    복수의 기준 세트들을 포함하는 기준 데이터세트를 생성하고 ― 상기 복수의 기준 세트들 각각은,
    이미지; 및
    상기 이미지에 대응하는 기준 관심 포인트들의 세트를 포함함 ― ; 및
    상기 복수의 기준 세트들의 각각의 기준 세트에 대해 :
    상기 이미지에 호모그래피를 적용함으로써, 워프된 이미지를 생성하고;
    상기 기준 관심 포인트들의 세트에 상기 호모그래피를 적용함으로써, 기준 관심 포인트들의 워프된 세트를 생성하고;
    입력으로서 상기 이미지를 수신하는 상기 뉴럴 네트워크에 의해, 계산된 관심 포인트들의 세트 및 계산된 디스크립터를 계산하고;
    입력으로서 상기 워프된 이미지를 수신하는 상기 뉴럴 네트워크에 의해, 계산된 워프된 관심 포인트들의 세트 및 계산된 워프된 디스크립터를 계산하고;
    상기 계산된 관심 포인트들의 세트, 상기 계산된 디스크립터, 상기 계산된 워프된 관심 포인트들의 세트, 상기 계산된 워프된 디스크립터, 상기 기준 관심 포인트들의 세트, 상기 기준 관심 포인트들의 워프된 세트 및 상기 호모그래피에 기초하여 손실을 계산하고; 그리고
    상기 손실에 기초하여 상기 뉴럴 네트워크를 수정함으로써,
    이전에 트레이닝된,
    광학 디바이스.
  18. 제17 항에 있어서,
    상기 손실에 기초하여 상기 뉴럴 네트워크를 수정하는 것은 상기 손실에 기초하여 관심 포인트 검출기 서브네트워크 및 상기 디스크립터 서브네트워크 중 하나 또는 둘 모두를 수정하는 것을 포함하는,
    광학 디바이스.
  19. 제17 항에 있어서,
    상기 기준 데이터세트를 생성하는 것은,
    상기 복수의 기준 세트들의 각각의 기준 세트에 대해 :
    복수의 라벨링되지 않은 이미지들을 포함하는 라벨링되지 않은 데이터세트로부터 상기 이미지를 획득하는 것;
    상기 이미지에 복수의 호모그래피들을 적용함으로써 복수의 워프된 이미지들을 생성하는 것;
    입력으로서 상기 복수의 워프된 이미지들을 수신하는 상기 뉴럴 네트워크에 의해, 계산된 워프된 관심 포인트들의 복수의 세트들을 계산하는 것;
    상기 계산된 워프된 관심 포인트들의 복수의 세트들에 복수의 인버스 호모그래피들을 적용함으로써, 계산된 관심 포인트들의 복수의 세트들을 생성하는 것; 그리고
    상기 기준 관심 포인트들의 세트를 획득하기 위해 상기 계산된 관심 포인트들의 복수의 세트들을 어그리게이팅하는 것을 포함하는,
    광학 디바이스.
  20. 제17 항에 있어서,
    상기 복수의 기준 세트들 각각은 상기 이미지에 대응하는 기준 디스크립터를 더 포함하고,
    상기 기준 데이터세트를 생성하는 것은,
    상기 복수의 기준 세트들의 각각의 기준 세트에 대해 :
    복수의 라벨링되지 않은 이미지들을 포함하는 라벨링되지 않은 데이터세트로부터 상기 이미지를 획득하는 것;
    상기 이미지에 복수의 호모그래피들을 적용함으로써 복수의 워프된 이미지들을 생성하는 것;
    입력으로서 상기 복수의 워프된 이미지들을 수신하는 상기 뉴럴 네트워크에 의해, 복수의 계산된 워프된 디스크립터들을 계산하는 것;
    상기 복수의 계산된 워프된 디스크립터들에 복수의 인버스 호모그래피들을 적용함으로써 복수의 계산된 디스크립터들을 생성하는 것; 그리고
    상기 기준 디스크립터를 획득하기 위해 상기 복수의 계산된 디스크립터들을 어그리게이팅하는 것을 포함하는,
    광학 디바이스.
KR1020207012922A 2017-11-14 2018-11-14 호모그래픽 적응을 통한 완전 콘볼루셔널 관심 포인트 검출 및 디스크립션 KR20200087757A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762586149P 2017-11-14 2017-11-14
US62/586,149 2017-11-14
US201762608248P 2017-12-20 2017-12-20
US62/608,248 2017-12-20
PCT/US2018/061048 WO2019099515A1 (en) 2017-11-14 2018-11-14 Fully convolutional interest point detection and description via homographic adaptation

Publications (1)

Publication Number Publication Date
KR20200087757A true KR20200087757A (ko) 2020-07-21

Family

ID=66431332

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207012922A KR20200087757A (ko) 2017-11-14 2018-11-14 호모그래픽 적응을 통한 완전 콘볼루셔널 관심 포인트 검출 및 디스크립션

Country Status (8)

Country Link
US (2) US10977554B2 (ko)
EP (1) EP3710981A4 (ko)
JP (2) JP7270623B2 (ko)
KR (1) KR20200087757A (ko)
AU (1) AU2018369757B2 (ko)
CA (1) CA3078977A1 (ko)
IL (2) IL274426B2 (ko)
WO (1) WO2019099515A1 (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3078977A1 (en) * 2017-11-14 2019-05-23 Magic Leap, Inc. Fully convolutional interest point detection and description via homographic adaptation
US11080562B1 (en) * 2018-06-15 2021-08-03 Apple Inc. Key point recognition with uncertainty measurement
US10957112B2 (en) 2018-08-13 2021-03-23 Magic Leap, Inc. Cross reality system
US11227435B2 (en) 2018-08-13 2022-01-18 Magic Leap, Inc. Cross reality system
US10832437B2 (en) * 2018-09-05 2020-11-10 Rakuten, Inc. Method and apparatus for assigning image location and direction to a floorplan diagram based on artificial intelligence
CN113196209A (zh) 2018-10-05 2021-07-30 奇跃公司 在任何位置渲染位置特定的虚拟内容
EP3654247A1 (en) * 2018-11-15 2020-05-20 IMEC vzw Convolution engine for neural networks
WO2020154970A1 (en) * 2019-01-30 2020-08-06 Baidu.Com Times Technology (Beijing) Co., Ltd. Deep learning–based feature extraction for lidar localization of autonomous driving vehicles
US11210547B2 (en) * 2019-03-20 2021-12-28 NavInfo Europe B.V. Real-time scene understanding system
IT201900007815A1 (it) * 2019-06-03 2020-12-03 The Edge Company S R L Metodo per il rilevamento di oggetti in movimento
CN110766024B (zh) * 2019-10-08 2023-05-23 湖北工业大学 基于深度学习的视觉里程计特征点提取方法及视觉里程计
WO2021076748A1 (en) 2019-10-15 2021-04-22 Magic Leap, Inc. Cross reality system with wireless fingerprints
WO2021076754A1 (en) 2019-10-15 2021-04-22 Magic Leap, Inc. Cross reality system with localization service
CN114586071A (zh) 2019-10-15 2022-06-03 奇跃公司 支持多设备类型的交叉现实***
CN114730546A (zh) 2019-11-12 2022-07-08 奇跃公司 具有定位服务和基于位置的共享内容的交叉现实***
WO2021118962A1 (en) 2019-12-09 2021-06-17 Magic Leap, Inc. Cross reality system with simplified programming of virtual content
US20210237774A1 (en) 2020-01-31 2021-08-05 Toyota Research Institute, Inc. Self-supervised 3d keypoint learning for monocular visual odometry
JP2023514207A (ja) 2020-02-13 2023-04-05 マジック リープ, インコーポレイテッド 位置特定に関するジオロケーション情報の優先順位化を伴うクロスリアリティシステム
WO2021163300A1 (en) 2020-02-13 2021-08-19 Magic Leap, Inc. Cross reality system with map processing using multi-resolution frame descriptors
EP4103910A4 (en) 2020-02-13 2024-03-06 Magic Leap, Inc. CROSS-REALLY SYSTEM WITH ACCURATE COMMON MAPS
JP2023515524A (ja) 2020-02-26 2023-04-13 マジック リープ, インコーポレイテッド 高速位置特定を伴うクロスリアリティシステム
US11741728B2 (en) * 2020-04-15 2023-08-29 Toyota Research Institute, Inc. Keypoint matching using graph convolutions
US11900547B2 (en) 2020-04-29 2024-02-13 Magic Leap, Inc. Cross reality system for large scale environments
JP2023524038A (ja) 2020-05-01 2023-06-08 マジック リープ, インコーポレイテッド 階層正規化がかけられる画像記述子ネットワーク
US11830160B2 (en) * 2020-05-05 2023-11-28 Nvidia Corporation Object detection using planar homography and self-supervised scene structure understanding
US20220230410A1 (en) * 2021-01-19 2022-07-21 Objectvideo Labs, Llc Object localization in video
US11822620B2 (en) * 2021-02-18 2023-11-21 Microsoft Technology Licensing, Llc Personalized local image features using bilevel optimization
CN113361542B (zh) * 2021-06-02 2022-08-30 合肥工业大学 一种基于深度学习的局部特征提取方法
JPWO2023021755A1 (ko) * 2021-08-20 2023-02-23
US20230120604A1 (en) * 2021-10-14 2023-04-20 Ubotica Technologies Limited System and Method for Maximizing Inference Accuracy using Recaptured Datasets
CN114863134B (zh) * 2022-04-01 2024-06-14 浙大宁波理工学院 基于交替优化深度学习模型的三维模型兴趣点提取方法
KR102600939B1 (ko) 2022-07-15 2023-11-10 주식회사 브이알크루 비주얼 로컬라이제이션을 위한 데이터를 생성하기 위한 방법 및 장치
JP2024077816A (ja) * 2022-11-29 2024-06-10 ソニーグループ株式会社 情報処理方法、情報処理装置およびプログラム
KR102615412B1 (ko) 2023-01-19 2023-12-19 주식회사 브이알크루 비주얼 로컬라이제이션을 수행하기 위한 방법 및 장치
KR102600915B1 (ko) 2023-06-19 2023-11-10 주식회사 브이알크루 비주얼 로컬라이제이션을 위한 데이터를 생성하기 위한 방법 및 장치

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8401276B1 (en) * 2008-05-20 2013-03-19 University Of Southern California 3-D reconstruction and registration
US10540566B2 (en) * 2012-06-29 2020-01-21 Nec Corporation Image processing apparatus, image processing method, and program
US9177224B1 (en) * 2013-03-14 2015-11-03 Amazon Technologies, Inc. Object recognition and tracking
US8885901B1 (en) * 2013-10-22 2014-11-11 Eyenuk, Inc. Systems and methods for automated enhancement of retinal images
IL231862A (en) * 2014-04-01 2015-04-30 Superfish Ltd Image representation using a neural network
US9576221B2 (en) 2014-07-09 2017-02-21 Ditto Labs, Inc. Systems, methods, and devices for image matching and object recognition in images using template image classifiers
JP2017041113A (ja) * 2015-08-20 2017-02-23 日本電気株式会社 画像処理装置、画像処理システム、画像処理方法及びプログラム
CN108603922A (zh) * 2015-11-29 2018-09-28 阿特瑞斯公司 自动心脏体积分割
JP6897668B2 (ja) * 2016-03-30 2021-07-07 ソニーグループ株式会社 情報処理方法および情報処理装置
AU2017317599B2 (en) * 2016-08-22 2021-12-23 Magic Leap, Inc. Augmented reality display device with deep learning sensors
US11379688B2 (en) * 2017-03-16 2022-07-05 Packsize Llc Systems and methods for keypoint detection with convolutional neural networks
JP2020518915A (ja) * 2017-04-27 2020-06-25 パスハラキス スタブロスPASCHALAKIS, Stavros 自動眼底画像分析用のシステムおよび方法
JP7250709B2 (ja) * 2017-06-28 2023-04-03 マジック リープ, インコーポレイテッド 畳み込み画像変換を使用して同時位置特定およびマッピングを実施する方法およびシステム
CA3078977A1 (en) * 2017-11-14 2019-05-23 Magic Leap, Inc. Fully convolutional interest point detection and description via homographic adaptation

Also Published As

Publication number Publication date
US10977554B2 (en) 2021-04-13
EP3710981A4 (en) 2020-12-23
JP2023083561A (ja) 2023-06-15
AU2018369757A1 (en) 2020-05-14
JP7403700B2 (ja) 2023-12-22
JP7270623B2 (ja) 2023-05-10
IL274426A (en) 2020-06-30
JP2021503131A (ja) 2021-02-04
US20210241114A1 (en) 2021-08-05
IL274426B1 (en) 2023-09-01
CA3078977A1 (en) 2019-05-23
IL304881B2 (en) 2024-07-01
EP3710981A1 (en) 2020-09-23
IL304881B1 (en) 2024-03-01
WO2019099515A1 (en) 2019-05-23
IL304881A (en) 2023-10-01
IL274426B2 (en) 2024-01-01
CN111344716A (zh) 2020-06-26
US11537894B2 (en) 2022-12-27
AU2018369757B2 (en) 2023-10-12
US20190147341A1 (en) 2019-05-16

Similar Documents

Publication Publication Date Title
AU2018369757B2 (en) Fully convolutional interest point detection and description via homographic adaptation
JP7422785B2 (ja) ニューラルネットワークおよび角検出器を使用した角検出のための方法および装置
JP7250709B2 (ja) 畳み込み画像変換を使用して同時位置特定およびマッピングを実施する方法およびシステム
JP7357676B2 (ja) 自己改良ビジュアルオドメトリを実施するためのシステムおよび方法
US20200160546A1 (en) Estimating depth for a video stream captured with a monocular rgb camera
US20190272670A1 (en) Real-time hand modeling and tracking using convolution models
CN111344716B (zh) 经由单应性变换适应的全卷积兴趣点检测和描述
Jung et al. Model Reconstruction of Real-World 3D Objects: An Application with Microsoft HoloLens
WO2023132261A1 (ja) 情報処理システム、情報処理方法および情報処理プログラム
Singh Computational modeling of gaze behaviour in real-world settings
Herath et al. Unconstrained Segue Navigation for an Immersive Virtual Reality Experience

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal