KR20160068815A - 동적으로 구축된 환경 맵 데이터에 기초한 오브젝트 추적 - Google Patents

동적으로 구축된 환경 맵 데이터에 기초한 오브젝트 추적 Download PDF

Info

Publication number
KR20160068815A
KR20160068815A KR1020167011051A KR20167011051A KR20160068815A KR 20160068815 A KR20160068815 A KR 20160068815A KR 1020167011051 A KR1020167011051 A KR 1020167011051A KR 20167011051 A KR20167011051 A KR 20167011051A KR 20160068815 A KR20160068815 A KR 20160068815A
Authority
KR
South Korea
Prior art keywords
target
camera
pose
map data
tracking
Prior art date
Application number
KR1020167011051A
Other languages
English (en)
Other versions
KR101812158B1 (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 KR20160068815A publication Critical patent/KR20160068815A/ko
Application granted granted Critical
Publication of KR101812158B1 publication Critical patent/KR101812158B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06K9/00624
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • G06K9/00671
    • G06K9/6262
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • G06T7/0028
    • 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/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Image Analysis (AREA)

Abstract

오브젝트 인식 시스템에서 타겟 오브젝트를 추적하는 컴퓨터 구현 방법은 카메라를 이용하여 복수의 이미지들을 획득하는 단계를 포함한다. 방법은, 타겟 오브젝트를 추적하는 동시에 복수의 이미지들로부터 환경 맵 데이터를 동적으로 구축하는 단계를 더 포함한다. 타겟 오브젝트를 추적하는 것은 복수의 이미지들 중 적어도 하나에 기초하고 타겟 맵 데이터에 기초하여 카메라에 대하여 타겟 오브젝트의 타겟 포즈를 추정하도록 시도하는 것을 포함한다. 다음으로, 방법은 카메라에 대한 타겟 오브젝트의 추적이 성공적인지 여부를 결정한다. 성공적이지 않은 경우, 방법은 동적으로 구축된 환경 맵 데이터에 기초하여 카메라에 대하여 타겟 포즈를 추론하는 단계를 포함한다. 일 양상에서, 방법은, 추적이 성공적이더라도 강인성을 개선하기 위해서 추론된 타겟 포즈를 실제 타겟 포즈와 융합하는 단계를 포함한다.

Description

동적으로 구축된 환경 맵 데이터에 기초한 오브젝트 추적{OBJECT TRACKING BASED ON DYNAMICALLY BUILT ENVIRONMENT MAP DATA}
관련 출원의 교차 참조
[0001]본 출원은, 2013년 10월 4일에 출원된 미국 가출원 제61/887,211호를 우선권으로 주장한다.
[0002]본 개시물은 전반적으로 컴퓨터 비전 기반 오브젝트 인식 애플리케이션들에 관한 것이며, 특히, 증강 현실 시스템에서의 오브젝트 추적에 관한 것이며, 배타적인 것은 아니다.
[0003]모바일 전화들 또는 다른 모바일 플랫폼들에 증강 현실(AR)을 가능하게 하는 것에 대한 어려움에는 실시간으로 오브젝트들을 검출하고 추적하는 문제가 있다. AR 애플리케이션들에 대한 오브젝트 검출은 매우 까다로운 요구사항들이 있다: 그것은 전체 6 자유도를 전달하고 주어진 좌표계에 대하여 절대 측정치들을 제공하며, 매우 강인(robust)하고 실시간으로 실행되어야 한다. 카메라 뷰 내에 있는 오브젝트들을 먼저 검출하고, 후속적으로, 추적하는 것에 의존하는 컴퓨터 비전(CV) 기반 접근법들을 이용하여 카메라 포즈를 계산하는 방법이 관심사이다. 일 양상에서, 검출 동작은 디지털 이미지에 포함된 피처들의 세트를 검출하는 것을 포함한다. 피처는, 그 지역 주변 영역들에 비해 밝기 또는 색상과 같은 속성들에 있어서 상이한 디지털 이미지의 영역을 지칭할 수 있다. 일 양상에서, 피처는, 어떤 속성들이 소정 범위의 값들 내에서 일정하거나 또는 변화하는 디지털 이미지의 영역이다.
[0004]검출된 피처들은 이후, 실세계 오브젝트가 이미지에 존재하는지 여부를 결정하기 위해서 피처 데이터베이스에 포함된 알려진 피처들과 비교된다. 따라서, 비전-기반 AR 시스템의 동작에 있어서 중요한 엘리먼트는 피처 데이터베이스의 구성이다. 일부 시스템들에서, 피처 데이터베이스는, 알려진 타겟 오브젝트들의 다수의 샘플 이미지들을 다양한 알려진 관점들로부터 선택함으로써 런타임 전에 확립된다. 피처들이 이후, 이러한 샘플 이미지들로부터 추출되고 피처 데이터베이스에 부가된다.
[0005]최근, 증강 현실 시스템들은, 카메라에 의해 캡쳐된 컬러 또는 그레이스케일 이미지 데이터에 기초하는 모델 기반 추적 알고리즘들 또는 SLAM(Simultaneous Localization and Mapping) 알고리즘들로 돌아서고 있다. SLAM 알고리즘들은 카메라에 의해 캡처된 인입하는 이미지 시퀀스들로부터 3차원(3D) 포인트들을 재구성하고, 장면의 3D 맵(즉, SLAM 맵)을 실시간으로 구축하는 데에 사용된다. 재구성된 맵으로부터, 현재 이미지 프레임에서 카메라의 6DoF(자유도) 포즈를 로컬화하는 것이 가능하다.
[0006]일부 시스템들에서, 타겟 오브젝트의 SLAM 맵들이 런타임 전에 그리고 오브젝트로부터 가까운 거리에서 생성된다. 런타임 시, 오브젝트의 생성된 SLAM 맵들은, 오브젝트와 관련하여, 인입하는 비디오 프레임들로부터, 카메라의 6DoF 포즈를 추정하는 데에 사용된다.
[0007]기존 방법들에서, 추적 성능은 카메라 뷰에서의 오브젝트의 외관 및 그 크기에 의존한다. 타겟 오브젝트가 작거나, 부분적으로 폐색되었거나, 또는 구별되는 시각적 피처들이 결여된다면, 그 추정된 카메라 포즈는 정확성을 잃게 되고 또한 상당한 추적 지터를 나타낼 수 있다. 더 극단적인 상황들에서, 매우 멀리있는 오브젝트들 및 현재 시야 외부에 있는 오브젝트들이 전혀 추적될 수 없으므로, 타겟으로 등록된 임의의 가상 증강들이 또한 손실될 것이다.
[0008]본원에 논의된 일부 실시예들은 임의의 추적가능한 오브젝트의 개선된 추적 강인성을 제공하고 타겟의 가시 범위를 넘어 추적가능한 포즈들의 범위를 확장시킬 수 있다. 본원에 논의된 실시예들은 기준 타겟을 추적하는 것에 기초하는 임의의 증강 현실(AR) 시스템에 적용될 수 있다. 일 양상에서, 추적 시스템이 타겟 맵 데이터에 기초하여 카메라 프레임들에서 타겟 포즈를 추정하며, 동시에, 포즈 계산기가 타겟을 둘러싸는 환경의 동적으로 생성된 3D 표현(즉, 환경 맵 데이터)에 기초하여 타겟 포즈의 추정을 결정한다. 추적이 타겟 맵 데이터에 기초하여 실패인 경우, 포즈 계산기에 의해 생성되는 추정된 타겟 포즈가 사용될 수 있다.
[0009]예를 들어, SLAM((Simultaneous Localization and Mapping) 시스템은, 카메라가 환경에 대하여 이동함에 따라 타겟을 둘러싸는 환경(타겟 그 자체를 또한 선택적으로 포함할 수 있음)의 3D 표현을 구축할 수 있다. 다음으로, 환경 포즈가 SLAM 맵 데이터에 기초하여 추정된다. 카메라 프레임들 내의 타겟 포즈 및 환경 포즈는 함께 환경 내 타겟 포즈의 추정을 제공하며, 이는 더 많는 관측들이 레코딩됨에 따라 리파인될 수 있다. 타겟의 추적이 실패인 경우, 예를 들어, 타겟이 뷰 밖으로 나갔거나 작아진 경우, 환경 내 타겟 포즈의 추정이 이후 추적된 환경 포즈로부터 타겟 포즈를 추론하기 위해 사용된다. 일 실시예에서, 타겟의 추적이 불안정한 상태, 예를 들어, 작은 사이즈로 인한 지터 또는 이미지 내 피처들의 불량한 커버리지로 인한 낮은 정확도가 되는 경우, 강인성을 개선하기 위해서 추론된 타겟 포즈 및 실제 타겟 포즈가 융합된다.
[0010]본 개시물의 상기 양상들 및 다른 양상들, 오브젝트들, 및 피처들은 첨부된 도면들과 함께, 다양한 실시예들의 다음 설명으로부터 명확해질 것이다.
[00011]본 발명의 비한정적이고 총망라하는 것이 아닌 실시예들이 다음 도면들을 참고로 하여 설명되며, 동일한 도면 부호들은, 다르게 명시되지 않는 한 다양한 도면들에 걸쳐 동일한 부분들을 지칭한다.
[0012]도 1a 및 도 1b는 상이한 거리들에서 타겟 오브젝트를 포함한 장면의 이미지들을 도시한다.
[0013]도 2는 환경 맵 데이터를 구축하는 프로세스를 도시하는 흐름도이다.
[0014]도 3은 장면에서 타겟 오브젝트를 추적하는 프로세스를 도시하는 흐름도이다.
[0015]도 4는 오브젝트 검출 및 추적을 위한 프로세싱 유닛의 기능적 블록도이다.
[0016]도 5는 본원에 논의된 프로세스들을 수행할 수 있는 모바일 플랫폼의 기능적 블록도이다.
[0017]도 6은 오브젝트 인식 시스템의 기능 블록도이다.
[0018]본 명세서 전체에 걸쳐 "일 실시예", "실시예", "일 예" 또는 "예"의 언급은, 실시예 또는 예와 관련하여 설명된 특정 피처, 구조 또는 특징이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 본 명세서 전체에 걸쳐 다양한 부분에서 문구 "하나의 실시예에서" 또는 "일 실시예에서"의 표현들은 반드시 모두 동일한 실시예를 지칭하는 것은 아니다. 추가로, 특정 피처들, 구조들, 또는 특징들이 하나 이상의 실시예들에서 임의의 적절한 방식으로 결합될 수 있다. 본원에 설명된 예 또는 실시예가 다른 예 또는 실시예들보다 바람직하거나 또는 유리한 것으로 해석되지 않는다.
[0019]일 양상에서, 타겟 오브젝트의 추적 시 환경 맵 데이터를 이용하는 것은 임의의 추적가능한 오브젝트의 추적 강인성을 개선하고 추적가능한 포즈들의 범위를 타겟의 가시 범위를 넘어 확장시키고, 심지어 환경에 대하여 이동 중인 오브젝트의 추적 성능을 더욱 증가시킬 수 있다.
[0020]일 실시예에서, 환경 맵 데이터는 맵 피처들 및 프레임 이미지들을 포함하며, 각각의 피처는 키포인트 위치 및 그 위치의 적어도 하나의 대응하는 디스크립터들을 포함한다. 맵 피처들은 장면으로부터 추출된 피처들 (예를 들어, 2D/3D 포인트들, 에지들, 블랍(blob)들 등)을 포함할 수 있다. 키프레임 이미지들은, 맵 피처들이 추출되는 장면의 이미지들을 포함할 수 있다. 예를 들어, 3D 포인트들은, 포인트를 볼 수 있는 키프레임들 중에서 삼각측량에 의해 재구성될 수 있다. 맵 피처들의 디스크립터들(예를 들어, 이미지 패치 디스크립터들 및 라인 디스크립터들)은 맵 포인트가 관찰되는 키프레임들로부터 추출된다.
[0021]일 예에서, 타겟 오브젝트의 타겟 맵 데이터가 오프라인으로 생성되고, 따라서, 오브젝트에 대해 통상적으로 가까운 거리로부터 키프레임들이 생성되는 "오프라인 맵 데이터"로 지칭될 수 있다. 오프라인 맵 데이터는 타겟의 검출 및 추적을 수행하기에 충분히 "좋은"것으로 간주된다. 사용자가 타겟 오브젝트와 상호작용들을 시작할 경우, 그의 오프라인 맵 데이터는 증강 현실 애플리케이션에 로딩되고 타겟 오브젝트가 카메라 이미지들로부터 검출되고 추적된다.
[0022]타겟 오브젝트가 카메라 비디오 프레임들로부터 검출되는 경우, 이것이 추적되고 카메라의 6DoF 포즈가 실시간으로 획득된다. 도 1a는 피처들(106)을 포함한 가까운 거리에서 타겟 오브젝트(104)를 포함하는 장면(102)의 획득된 이미지(100A)를 도시한다. 따라서, 타겟 오브젝트(104)는 카메라 이미지(100A)의 대부분을 취하고(assume) 추적은 통상적으로 잘 작동할 것이다. 그러나, 도 1b에 도시된 바와 같이 카메라가 타겟 오브젝트(104)에서 멀어지게 이동함에 따라, 이미지(100B)에서의 타겟(104)의 스케일은 즉시 작아진다. 오브젝트 스케일은 카메라 이미지들에서 작거나 심지어 이미지 밖에 있기 때문에 추적이 실패할 가능성이 높다.
[0023]따라서, 본원에 개시된 실시예들은, 사용자가 카메라를 오브젝트 주위로 이동시키는 동안 동적으로 획득되는 장면의 환경 맵 데이터를 이용함으로써 추적 시 이러한 한계를 극복한다. 환경의 키프레임들이 환경 맵 데이터에 부가됨에 따라서, 추적은 강인하고 안정된다. 일 실시예에서, 환경 맵 데이터는 "온라인 맵 데이터"로 지칭될 수 있다.
[0024]사용자가 오브젝트 및 그의 환경 주위에서 카메라를 이동시킬 경우, 새로운 키프레임들이 환경 맵 데이터에 부가된다. 종래의 SLAM 프레임워크들은, 후보 키프레임(즉, 현재 카메라 이미지)의 포즈를 기존 키프레임들의 포즈와 비교함으로써 키프레임을 부가한다. 후보 키프레임의 포즈가 기존 키프레임들 중 하나와 유사한 경우, 그것은 무시된다. 이러한 방식으로, 종래의 SLAM 프레임워크는, 가까운 뷰포인트들을 갖는 너무 많이 중복된 키프레임들의 생성을 방지한다. 그러나, 이러한 종래의 방식은 온라인 키프레임들을 부가하는 것을 방지하고 신속하게 오프라인 맵을 확대시키는 것을 곤란하게 한다.
[0025]따라서, 본 개시물의 실시예들은, 온라인 키프레임들을 부가할 경우 포즈 비교 단계에서 오프라인 키프레임들을 스킵함으로써 이러한 문제점을 해결한다. 환경 맵 데이터를 생성하는 경우 온라인 키프레임들만이 이 포즈 비교 시에 고려된다. 제 1 온라인 키프레임이 부가되려고 할 경우, 비교할 온라인 키프레임들이 없다. 이 경우, 모든 오프라인 키프레임들로부터의 포즈 차들이 계산되고 최대치가 포즈 차 측정으로서 사용된다. 일 실시예에서, 오프라인 키프레임들 중 많은 것은 생성 후 폐기되고 3D 포인트들 및 디스크립터들의 맵만이 보관된다. 따라서, 이 예에서, 온라인 맵 데이터는 어떠한 오프라인 키프레임들 없이도 구축되고, 이와 같이, 제 1 온라인 키프레임이 자동으로 수용될 것이고 환경 맵에 부가될 것이다. 도 2는 온라인 맵 데이터를 구축하는 예시적인 프로세스(200)를 도시하는 흐름도이다.
[0026]키프레임 생성이 프로세스 블록(205)에서 시작한다. 환경 맵 데이터에 포함된 기존의 온라인 키프레임들이 존재하지 않는 경우, 프로세스(200)는, 오프라인 키프레임들을 이용하여 포즈 차가 계산되는 프로세스 블록(220)으로 진행한다. 그러나, 결정 블록(210)에서, 실제로 기존 온라인 키프레임들이 존재한다는 것이 결정되면, 프로세스 블록(215)은, 온라인 키프레임들만으로부터 포즈 차(예를 들어, 포즈 차)를 계산하는 것을 포함한다. 결정 블록(225)에서, 계산된 포즈 차는, 그 포즈 차가 충분히 큰지 여부를 결정하기 위해서 포즈 임계치(POSETH)와 비교된다. 충분히 크다면, 새로운 키프레임이 환경 맵 데이터에서 생성된다(즉, 프로세스 블록(230)). 포즈 차가 충분히 크지 않은 경우, 프로세스(200)는, 키프레임 생성이 종료되는 프로세스 블록(235)으로 진행한다. 카메라가 장면에 대해 이동됨에 따라 캡처된 이미지들 중 하나 이상의 것에 대해 프로세스(200)가 반복될 수 있다.
[0027]새로운 키프레임이 기존의 환경 맵 데이터에 부가될 경우, 모든 맵 피처들의 좌표들과 모든 키프레임들의 6DoF 포즈들이 맵 데이터를 글로벌식으로 최적화하기 위해서 SLAM 프레임워크에서 업데이트된다. 따라서, 키프레임이 부가될 경우, 오브젝트 표면 상의 맵 피처들은 최적화 결과들에 따라 약간 변경된다. 이 전략은 글로벌 방식으로 맵의 품질을 개선하는데 유용하다. 그러나, 오프라인 맵 데이터를 변경하는 것은, 현재 실시예들에서 바람직하지 않은데, 이는, 가까운 거리에 있는 타겟의 검출 및 추적의 품질을 저하시킬 수 있기 때문이다. 이를 방지하기 위해서, 본원에 개시된 실시예들은 오프라인 맵 데이터를 '콘스탄트(constant)'로 설정하고 프로세스(200)에서 오프라인 맵 데이터를 업데이트하지 않는다.
[0028]도 3은 장면에서 타겟 오브젝트를 추적하는 프로세스(300)를 도시하는 흐름도이다. 프로세스(300)는, 타겟 오브젝트가 이미 검출되었고 추적이 구현되고 있는 프로세스 블록(305)에서 시작한다. 따라서, 다음 이미지는 프로세스 블록(305)에서 수신된다. 다음, 프로세스 블록(310)에서, 오브젝트 추적기(예를 들어, 추적 알고리즘)는 검출된 오브젝트를 추적하고 카메라에 대하여 타겟의 추정된 포즈를 제공하도록 시도할 수 있다. 추적이 성공적인 경우, 오브젝트 추적기는 이 추정된 타겟 포즈를 AR 엔진으로 전달하는데, 이는 증강 현실과 같은 다른 작업들(즉, 프로세스 블록(345))을 수행할 수 있다.
[0029]프로세스 블록(310)과 동시에 실행되는 것으로, 프로세스(300)는, 환경에 대하여 타겟의 추정 포즈를 계산하는 것을 포함하는 프로세스 블록들(325-335)을 포함한다. 예를 들어, 프로세스 블록(325)에서, 환경의 환경 맵 데이터가 상기 언급된 SLAM 기술들을 적용함으로써 수신된 이미지들에 기초하여 구축된다. 도 2의 프로세스(200)는 프로세스 블록(325)의 하나의 가능한 구현이다. 프로세스 블록(330)에서, 환경 맵 데이터는 이후, 카메라에 대하여 환경의 포즈를 추정하기 위해 사용된다. 프로세스 블록(310)의 추정된 타겟 포즈와 프로세스 블록(330)의 추정된 타겟 포즈가 이후 프로세스 블록(335)에서 함께 사용되어, 이미지들이 더 많이 수신됨에 따라, 리파인될 수 있는 환경 내 타겟 포즈의 추정을 제공한다. 일 예로, 리파인먼트는, 환경에 대해 타겟이 이동되는 경우들을 (예를 들어, 타겟들이 이동하는 것 등에 따라) 처리하는 것을 포함할 수 있다.
[0030]결정 블록(315)에서, 추적이 성공하지 않았다면, 프로세스(300)는, 프로세스 블록(335)에서 추정된 타겟 포즈에 기초하여 카메라에 대한 타겟의 포즈가 추론되는 프로세스 블록(340)으로 진행한다. 추론된 타겟 포즈는 이후, 프로세스 블록(345)에서 AR 엔진으로 전달된다.
[0031]일부 실시예들에서, 타겟의 추적이 불안정한 상태, 예를 들어, 이미지 내의 피처들의 작은 사이즈로 인한 지터 또는 불량한 커버리지로 인한 낮은 정확도상태가 되는 경우, 강인성을 개선하기 위해서, 추론된 타겟 포즈와 실재 타겟 포즈가 융합될 수 있다. 추론된 타겟 포즈 및 실제 타겟 포즈의 융합은 칼만(Kalman) 필터와 같은 필터를 적용하는 것을 포함할 수 있다.
[0032]도 4는 오브젝트 검출 및 추적을 위한 프로세싱 유닛(400)의 기능적 블록도이다. 일 실시예에서, 코드 프로그램의 지시에 따라, 프로세싱 유닛(400)은, 상술된 프로세스들(200 및/또는 300)을 수행할 수 있다. 예를 들어, 이미지들(402)의 시간적 시퀀스가 프로세싱 유닛(400)에 의해 수신된다. 오브젝트 검출기(406)는 이미지들 중 적어도 하나에 포함된 타겟 오브젝트를 검출하고, 오브젝트 추적기(408)는 이미지들(402)의 시퀀스에 기초하여 오브젝트를 추적한다. 이미지들이 획득되면, 맵 데이터 생성기(404)는 환경 맵 데이터(414)에 선택 키프레임들을 부가할 수 있다(예를 들어, 프로세스(200)를 참고한다).
[0033]오브젝트 검출기(406)는 수신된 이미지들에 기초하여 그리고 타겟 맵 데이터(416)에 기초하여 타겟 오브젝트와 관련된 카메라의 현재 포즈를 결정할 수 있다. 상술된 바와 같이, 오브젝트 추적기(408)가 타겟 오브젝트를 추적함에 따라, 포즈 계산기(412)가, 동시에, 환경에 대한 타겟 포즈의 추정치를 발생시킬 수 있다. 타겟 오브젝트의 추적이 손실된 경우, 오브젝트 추적기(408)는, 포즈 계산기(412)에 의해 발생된 타겟 포즈에 기초하여 카메라에 대하여 타겟 포즈를 추론할 수 있다.
[0034]증강 현실(AR) 엔진(410)은 오브젝트 검출기(406) 및/또는 오브젝트 추적기(408)에 의해 결정된 카메라 포즈에 기초하여 증강 현실과 관련된 임의의 동작들을 수행할 수 있다.
[0035]도 5는 본원에 설명된 프로세스들을 수행할 수 있는 모바일 플랫폼(500)의 기능적 블록도이다. 본원에서 사용된 바와 같이, 모바일 플랫폼은 또한 셀룰러 또는 다른 무선 통신 디바이스, PCS(personal communication system) 디바이스, PND(personal navigation device), PIM(Personal Information Manager), PDA(Personal Digital Assistant), 랩탑 또는 내비게이션 포지셔닝 신호들과 같은 무선 통신 및/또는 내비게이션 신호들을 수신할 수 있는 다른 적합한 모바일 디바이스와 같은 디바이스를 지칭한다. 용어 "모바일 플랫폼"은 또한 위성 신호 수신, 보조 데이터 수신, 및/또는 포지션-관련 프로세싱이 디바이스에서 발생하는지 또는 PND에서 발생하는지에 관계없이, 예컨대 단거리 무선 접속, 적외선 접속, 유선 접속, 또는 다른 접속에 의해 개인 내비게이션 디바이스(PND)와 통신하는 디바이스들을 포함하도록 의도된다. 또한, "모바일 플랫폼"은, 이를테면, 인터넷, WiFi 또는 다른 네트워크를 통해, 그리고 위성 신호 수신, 보조 데이터 수신 및/또는 포지션-관련 프로세싱이 디바이스에서 발생하는지, 서버에서 발생하는지 또는 네트워크와 연관된 다른 디바이스에서 발생하는지에 관계없이, 서버와 통신할 수 있는, 무선 통신 디바이스들, 컴퓨터들, 랩탑들, 태블릿 디바이스들 등을 포함하는 모든 디바이스들을 포함하는 것으로 의도된다. 이외에도 "모바일 플랫폼"은 또한 증강 현실(AR), 가상 현실(VR) 및/또는 복합 현실(MR) 애플리케이션들이 가능한 모든 전자 디바이스들을 포함할 수 있다. 위의 모든 동작가능한 조합은 또한 "모바일 플랫폼"으로 간주된다.
[0036]모바일 플랫폼(500)은 선택적으로, 카메라(502)뿐만 아니라 카메라(502)에 의해 캡쳐되는 이미지들을 디스플레이할 수 있는 디스플레이(522)를 포함하는 선택적인 사용자 인터페이스(506)를 포함할 수 있다. 사용자 인터페이스(506)는 또한, 사용자가 입력 정보를 모바일 플랫폼(500)으로 입력할 수 있는 키패드(524) 또는 다른 입력 장치를 포함할 수 있다. 원하는 경우, 키패드(524)는 터치 센서를 구비한 디스플레이(522)에 가상의 키패드를 통합시킴으로써 생략될 수 있다. 사용자 인터페이스(506)는 또한 마이크로폰(526) 및 스피커(528)를 포함할 수 있다.
[0037]모바일 플랫폼(500)은 또한, 카메라(502) 및 사용자 인터페이스(506)에 연결되고 이들과 통신하는 제어 유닛(504)을 포함한다(존재할 경우). 제어 유닛(504)은 카메라(502)로부터 그리고/또는 네트워크 어댑터(516)로부터 수신된 이미지들을 수용하고 프로세싱한다. 제어 유닛(504)은, 프로세싱 유닛(508) 및 연관 메모리(514), 하드웨어(510), 소프트웨어(515) 및 펌웨어(512)에 의해 제공될 수 있다.
[0038]도 4의 프로세싱 유닛(400)은, 상술한 바와 같이, 오브젝트 검출 및 추적을 위한 프로세싱 유닛(508)의 하나의 가능한 구현이다. 제어 유닛(504)은, 원하는 경우, 디스플레이(522)에 원하는 데이터를 렌더링하기 위해서, 예를 들어, 게이밍 엔진일 수 있는 그래픽스 엔진(520)을 더 포함할 수 있다. 처리 유닛(508) 및 그래픽스 엔진(520)은 명확성을 위해 별개로 도시되지만, 단일 유닛일 수 있고 그리고/또는 프로세싱 유닛(508)에서 실행되는 소프트웨어(515)의 명령들에 기초하여 프로세싱 유닛(508)에서 구현될 수 있다. 프로세싱 유닛(508)뿐만 아니라 그래픽스 엔진(520)은 하나 이상의 마이크로프로세서들, 임베디드 프로세서들, 제어기들, ASIC(application specific integrated circuit)들, DSP(digital signal processor)들 등을 포함할 수 있지만, 반드시 포함할 필요가 있는 것은 아니다. 용어들 프로세서 및 프로세싱 유닛은 특정 하드웨어보다는 시스템에 의해 구현된 기능들을 설명한다. 또한, 본원에 사용되는 바와 같이, 용어 "메모리"는 장기, 단기, 또는 모바일 플랫폼(500)과 연관된 다른 메모리를 포함하는 컴퓨터 판독가능 저장 매체의 임의의 타입을 지칭하며, 메모리의 임의의 특정한 타입 또는 메모리들의 수, 또는 메모리가 저장되는 매체들의 타입에 제한되지 않는다.
[0039]본원에 기재된 프로세스들은 애플리케이션에 따라 다양한 수단에 의해 구현될 수 있다. 예를 들어, 이들 프로세스들은, 하드웨어(510), 펌웨어(512), 소프트웨어(515), 또는 이들의 임의의 조합으로 구현될 수 있다. 하드웨어 구현의 경우, 프로세싱 유닛들은, 하나 또는 그 초과의 주문형 집적 회로(ASIC)들, 디지털 신호 프로세서(DSP)들, 디지털 신호 프로세싱 디바이스(DSPD)들, 프로그래밍가능 로직 디바이스(PLD)들, 필드 프로그래밍가능 게이트 어레이(FPGA)들, 프로세서들, 제어기들, 마이크로-제어기들, 마이크로프로세서들, 전자 디바이스들, 본원에 설명된 기능들을 수행하도록 설계된 다른 전자 유닛들, 또는 이들의 조합으로 구현될 수 있다
[0040]펌웨어 및/또는 소프트웨어 구현의 경우, 프로세스들은 본원에 설명된 기능들을 수행하는 모듈들(예를 들어, 절차들, 함수들 등)을 이용하여 구현될 수 있다. 명령들을 유형적으로 구현하는 임의의 컴퓨터 판독가능 매체는 본원에 설명된 프로세스들을 구현하는데 사용될 수 있다. 예를 들어, 프로그램 코드는 메모리(515)에 저장될 수 있고, 프로세싱 유닛(508)에 의해 실행될 수 있다. 메모리는 프로세싱 유닛(508) 내부에서 또는 외부에서 구현될 수 있다.
[0041]펌웨어 및/또는 소프트웨어로 구현되는 경우, 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상에 저장될 수 있다. 예들은, 데이터 구조를 이용하여 인코딩된 비일시적 컴퓨터 판독가능 매체 및 컴퓨터 프로그램을 이용하여 인코딩된 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 판독가능 매체는 물리적 컴퓨터 저장 매체를 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수 있다. 제한이 아닌 예로서, 그러한 컴퓨터-판독가능 매체들은 RAM, ROM, 플래시 메모리, EEPROM, CD-ROM 또는 다른 광학 디스크 저장부, 자기 디스크 저장 또는 다른 자기 저장 디바이스들, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있고; 본원에 사용된 바와 같이, 디스크(disk) 및 디스크(disc)는 컴팩트 디스크(disc)(CD), 레이저 디스크(disc), 광학 디스크(disc), 디지털 다목적 디스크(disc)(DVD), 플로피 디스크(disk) 및 Blu-ray 디스크(disc)를 포함하며, 여기서, 디스크(disk)들은 일반적으로 데이터를 자기적으로 재생하지만, 디스크(disc)들은 레이저들을 이용하여 광학적으로 데이터를 재생한다. 상기의 조합은 또한 컴퓨터 판독 가능 매체의 범위 내에 포함되어야 한다.
[0042]도 6은 오브젝트 인식 시스템(600)의 기능 블록도이다. 도시된 바와 같이, 오브젝트 인식 시스템(600)은, 오브젝트(614)를 포함하는 장면의 이미지들을 캡처할 수 있는 카메라(현재 뷰에 도시되지 않음)를 포함하는 예시적인 모바일 플랫폼(602)을 포함한다. 피처 데이터베이스(612)는, 환경(온라인) 및 타겟(오프라인) 맵 데이터를 포함하여, 상기 언급된 맵 데이터 중 임의의 것을 포함할 수 있다.
[0043]모바일 플랫폼(602)은 카메라에 의해 캡처된 이미지들을 나타내기 위한 디스플레이를 포함할 수 있다. 모바일 플랫폼(602)은 또한, 예를 들어, SPS(Satellite Positioning System)로부터의 신호들을 이용하여 그의 위도 및 경도를 결정한 것에 기초하여 내비게이션용으로 사용될 수 있으며, SPS는, SV(satellite vehicle)들(606), 또는 셀룰러 타워(들)(604) 또는 무선 통신 액세스 포인트들(705)을 포함한 포지션을 결정하기 위한 임의의 다른 적절한 소스를 포함한다. 모바일 플랫폼(602)은 또한, 모바일 플랫폼(602)의 배향을 결정하기 위해 사용될 수 있는 디지털 나침반, 가속도계들 또는 자이로스코프들과 같은 배향 센서들을 포함할 수 있다.
[0044]SPS(satellite positioning system)는 통상적으로, 엔티티들로 하여금 송신기들로부터 수신된 신호들에 적어도 부분적으로 기초하여 지구 상의 또는 지구위의 그들의 위치를 결정할 수 있게 하기 위해서 포지셔닝되는 송신기들의 시스템을 포함한다. 이러한 송신기는 통상적으로, 칩들의 세트 번호에 대한 반복적 PN(pseudo-random noise) 코드를 이용하여 마킹되는 신호들을 송신하며, 그라운드 기반 제어 스테이션들, 사용자 장비 및/또는 우주 비행체들 상에 로케이팅될 수 있다. 특정 예에서, 이러한 송신기들은 지구 궤도를 도는 SV(satellite vehicles)들(606)에 위치될 수 있다. 예를 들어, GPS(Global Positioning System), Galileo, Glonass, 또는 Compass와 같은 GNSS(Global Navigation Satellite System)의 콘스텔레이션의 SV는, (GPS에서와 같이 각각의 위성을 위한 상이한 PN 코드들을 이용하여 또는 Glonass에서와 같이 상이한 주파수들에 대해 동일한 코드를 이용하여) 콘스텔레이션 내 다른 SV들에 의해 송신된 PN 코드들로부터 구별가능한 PN 코드로 마킹된 신호를 송신할 수 있다.
[0045]특정 양상들에 따라, 본원에 제시된 기술들은 SPS를 위한 글로벌 시스템들(예를 들면, GNSS)로 제한되지 않는다. 예를 들어, 본원에 제공된 기술들은 일본의 QZSS(Quasi-Zenith Satellite System), 인도의 IRNSS(Indian Regional Navigational Satellite System), 중국의 Beidou 등 및/또는 하나 이상의 글로벌 그리고/또는 지역적 내비게이션 위성 시스템들과 연관되거나, 그렇지 않으면 이들에 대해 이용하기 위해 인에이블될 수 있는 다양한 증강(augmentation) 시스템들(예를 들어, SBAS(Satellite Based Augmentation System))과 같은 다양한 지역 시스템들에서 사용하기 위해 적용되거나 그렇지 않다면 인에이블될 수 있다. 제한이 아니라 예로서, SBAS는, 예를 들어, WAAS(Wide Area Augmentation System), EGNOS(European Geostationary Navigation Overlay Service), MSAS(Multi-functional Satellite Augmentation System), GAGAN(GPS Aided Geo Augmented Navigation 또는 GPS and Geo Augmented Navigation System) 등과 같은, 무결성 정보, 미분 보정들 등을 제공하는 증강 시스템(들)을 포함할 수 있다. 따라서, 본원에 사용된 바와 같이, SPS는 하나 이상의 글로벌 및/또는 지역적 네비게이션 위성 시스템들 및/또는 증강 시스템들의 임의의 조합을 포함할 수 있고, SPS 신호들은 SPS, SPS-형, 및/또는 이러한 하나 이상의 SPS와 연관된 다른 신호들을 포함할 수 있다.
[0046]모바일 플랫폼(602)은 포지션 결정을 위해 SPS와 함께 사용하도록 제한되지 않는데, 포지션 결정 기술들이 셀룰러 타워들(604)을 포함하는 그리고 WWAN(wide area wireless network), WLAN(wireless local area network), WPAN(wireless personal area network)과 같은 무선 통신 액세스 포인트들(605)로부터의 다양한 무선 통신 네트워크들과 함께 구현될 수 있기 때문이다. 추가로, 모바일 플랫폼(602)은, 데이터베이스(612)로부터, 셀룰러 타워들(604)을 통해 다양한 무선 통신 네트워크들을 이용하여 그리고 무선 통신 액세스 포인트들(605)로부터, 또는 원하는 경우 위성 비행체들(606)을 이용하여 온라인 및/또는 오프라인 맵 데이터와 같은 데이터를 획득하기 위해서 하나 이상의 서버들(608)에 액세스할 수 있다. "네트워크" 및 "시스템"이라는 용어는 종종 상호교환가능하게 사용된다. WWAN은 CDMA(Code Division Multiple Access) 네트워크, TDMA(Time Division Multiple Access) 네트워크, FDMA(Frequency Division Multiple Access) 네트워크, OFDMA(Orthogonal Frequency Division Multiple Access) 네트워크, SC-FDMA(Single-Carrier Frequency Division Multiple Access) 네트워크, LTE(Long Term Evolution) 등일 수 있다. CDMA 네트워크는, cdma2000, W-CDMA(Wideband-CDMA)와 같은 하나 이상의 RAT(radio access technology)들 등을 구현할 수 있다. CDMA2000은, IS-95, IS-2000, 및 IS-856 표준들을 포함한다. TDMA 네트워크는 GSM(Global System for Mobile Communications), D-AMPS(Digital Advanced Mobile Phone System), 또는 일부 다른 RAT를 구현할 수 있다. GSM 및 W-CDMA는 "3GPP(3rd Generation Partnership Project)"로 명명된 컨소시엄으로부터의 문서들에 설명되어 있다. cdma2000은 3GPP2(3rd Generation Partnership Project 2)"로 명명된 컨소시엄으로부터의 문서들에 설명되어 있다. 3GPP 및 3GPP2 문서들은 공개적으로 입수가능하다. WLAN은 IEEE 802.11x 네트워크일 수 있고, WPAN은 Bluetooth 네트워크, IEEE 802.15x 또는 네트워크의 일부 다른 타입일 수 있다. 기술들은 또한 WWAN, WLAN 및/또는 WPAN의 임의의 조합과 함께 구현될 수 있다.
[0047]도 6에 도시된 바와 같이, 시스템(600)은, 피처 데이터베이스(612)에 포함되는 맵 데이터에 기초하여 검출되고 추적되도록 오브젝트(614)의 이미지를 캡처하는 모바일 플랫폼(602)을 포함한다. 도시된 바와 같이, 모바일 플랫폼(602)은, 예를 들어, 셀룰러 타워(604) 또는 무선 통신 액세스 포인트(605)를 통해 WWAN(wireless wide area network)과 같은 네트워크(610)에 액세스할 수 있으며, 이 네트워크(610)는, 타겟 오브젝트들 및 그들의 이미지들과 관련된 정보를 저장하는 데이터베이스(612)에 연결되는 서버(608)에 결합된다. 도 6이 하나의 서버(608)를 도시하지만, 다수의 서버들뿐만 아니라 다수의 데이터베이스들(612)이 사용될 수 있다는 것을 이해해야한다. 모바일 플랫폼(602)은, 서버(608)로부터 데이터베이스(612)의 적어도 일 부분을 획득하고 모바일 플랫폼(602) 내부에 있는 로컬 데이터베이스에 다운로딩된 맵 데이터를 저장함으로써, 도 6에 도시된 바와 같이, 오브젝트 검출 및 추적을 자체적으로 수행할 수 있다. 서버(608)로부터 획득된 데이터베이스의 부분은 모바일 플랫폼의 포지셔닝 시스템에 의해 결정된 바와 같이 모바일 플랫폼의 지리적 위치에 기초할 수 있다. 또한, 서버(608)로부터 획득된 데이터베이스의 부분은 모바일 플랫폼(602) 상의 데이터베이스를 필요로 하는 특정 애플리케이션에 의존할 수 있다. 모바일 플랫폼(602)은 캡처된 쿼리(query) 이미지로부터 피처들을 추출할 수 있고 로컬 데이터베이스에 저장되는 피처들에 대해 쿼리 피처들을 매칭시킬 수 있다. 쿼리 이미지는 카메라로부터의 프리뷰 프레임의 이미지 또는 카메라에 의해 캡처된 이미지, 또는 비디오 시퀀스로부터 추출된 프레임일 수 있다. 오브젝트 검출은, 적어도 부분적으로, 각각의 쿼리 피처에 대해 결정된 신뢰도 레벨들에 적어도 부분적으로 기초할 수 있으며, 이는 이후에 이상치(outlier) 제거에 사용될 수 있다. 모바일 플랫폼의 지리적 위치에 기초하여 데이터베이스(612)의 소부분을 다운로딩하고 모바일 플랫폼(602) 상의 오브젝트 검출을 수행함으로써, 네트워크 레이턴시 문제들이 방지되고 OTA(over the air) 대역폭 사용량이 클라이언트(즉, 모바일 플랫폼) 측 상의 메모리 요구들과 함께 감소된다. 원하는 경우, 그러나, 오브젝트 검출 및 추적이 서버(608)(또는 다른 서버)에 의해 수행될 수 있으며, 여기서, 쿼리 이미지 그 자체 또는 쿼리 이미지로부터 추출된 피처들이 모바일 플랫폼(602)에 의해 서버(608)로 제공된다. 일 실시예에서, 온라인 맵 데이터가 모바일 플랫폼(602)에 의해 국부적으로 저장되는 반면, 오프라인 맵 데이터가 데이터베이스(612) 내 클라우드에 저장된다.
[0048]프로세스 블록들 중 일부 또는 전부가 상기 논의된 각각의 프로세스들에서 나타나는 순서로 제한되는 것으로 간주되지 않는다. 오히려, 본 개시물의 이점을 갖는 기술의 당업자는, 프로세스 블록들 중 일부가 도시되지 않은 다양한 순서들로 실행될 수 있음을 이해할 것이다.
[0049]본원에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 엔진들, 회로들, 및 알고리즘 단계들은, 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이 둘의 조합으로 구현될 수 있다는 것을 당업자는 추가로 인식할 것이다. 하드웨어와 소프트웨어의 상호 교환 가능성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 엔진들, 회로들, 및 단계들이 이들의 기능성의 관점에서 일반적으로 상술되었다. 이러한 기능이 하드웨어 또는 소프트웨어로 구현되는지 여부는 전체 시스템에 부과된 특정 애플리케이션 및 설계 제약들에 의존한다. 당업자는 각각의 특정 애플리케이션마다 다양한 방식들로 설명된 기능을 구현할 수 있지만, 이러한 구현 결정은 본 발명의 범위를 벗어나게 하는 것으로 해석되어서는 안 된다.
[0050]본원에 개시된 실시예들에 대한 다양한 변형은 당업자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 발명의 사상 또는 범위를 벗어나지 않고 다른 실시 형태에 적용될 수 있다. 따라서, 본 발명은 여기에 제시된 실시예들로 한정되도록 의도되는 것이 아니라, 본원에 개시된 원리들 및 신규한 특징들과 일치하는 최광의 범위와 일치하여야 한다.

Claims (30)

  1. 오브젝트 인식 시스템에서 타겟 오브젝트를 추적하는 컴퓨터 구현 방법으로서,
    카메라를 이용하여 복수의 이미지들을 획득하는 단계;
    상기 타겟 오브젝트를 추적하는 동시에 상기 복수의 이미지들로부터 환경 맵 데이터를 동적으로 구축하는 단계 ―상기 타겟 오브젝트를 추적하는 것은 상기 복수의 이미지들 중 적어도 하나에 기초하고 타겟 맵 데이터에 기초하여 상기 카메라에 대하여 상기 타겟 오브젝트의 타겟 포즈를 추정하도록 시도하는 것을 포함함―;
    상기 카메라에 대한 상기 타겟 오브젝트의 상기 추적이 성공적인지 여부를 결정하는 단계; 및 성공적이지 않은 경우,
    상기 환경 맵 데이터에 기초하여 상기 카메라에 대하여 상기 타겟 포즈를 추론하는 단계를 포함하는, 오브젝트 인식 시스템에서 타겟 오브젝트를 추적하는 컴퓨터 구현 방법.
  2. 제 1 항에 있어서,
    상기 카메라에 대한 상기 타겟 오브젝트의 상기 추적이 성공적이라는 것이 결정되는 경우, 상기 환경 데이터에 기초하여 상기 카메라에 대한 상기 타겟 포즈를 추론하는 단계; 및
    추정된 타겟 포즈를 추론된 타겟 포즈와 융합하는 단계를 더 포함하는, 오브젝트 인식 시스템에서 타겟 오브젝트를 추적하는 컴퓨터 구현 방법.
  3. 제 2 항에 있어서,
    상기 추정된 타겟 포즈를 상기 추론된 타겟 포즈와 융합하는 단계는 칼만 필터를 적용하는 단계를 포함하는, 오브젝트 인식 시스템에서 타겟 오브젝트를 추적하는 컴퓨터 구현 방법.
  4. 제 1 항에 있어서,
    상기 환경 맵 데이터에 기초하여 상기 카메라에 대한 상기 타겟 포즈를 추론하는 단계는,
    상기 카메라에 대한 상기 환경의 환경 포즈를 추정하는 단계;
    상기 환경에 대한 상기 타겟 오브젝트의 타겟 포즈를 추정하는 단계; 및
    상기 환경에 대한 추정된 타겟 포즈에 기초하여 상기 카메라에 대한 상기 타겟 포즈를 추론하는 단계를 포함하는, 오브젝트 인식 시스템에서 타겟 오브젝트를 추적하는 컴퓨터 구현 방법.
  5. 제 1 항에 있어서,
    상기 환경 맵 데이터는 상기 카메라를 이용하여 획득된 상기 복수의 이미지들 중 하나 이상의 것에 대응하는 하나 이상의 키프레임들에 기초하는, 오브젝트 인식 시스템에서 타겟 오브젝트를 추적하는 컴퓨터 구현 방법.
  6. 제 5 항에 있어서,
    상기 환경 맵 데이터를 구축하는 단계는 키프레임 SLAM(Simultaneous Localization and Mapping)을 포함하는, 오브젝트 인식 시스템에서 타겟 오브젝트를 추적하는 컴퓨터 구현 방법.
  7. 제 5 항에 있어서,
    상기 환경 맵 데이터를 구축하는 단계는 후보 키프레임과 상기 카메라에 의해 획득된 이미지들에 대응하는 다른 온라인 키프레임들 간의 포즈 차를 계산함으로써 상기 후보 키프레임을 상기 하나 이상의 키프레임들에 부가하는 단계를 포함하는, 오브젝트 인식 시스템에서 타겟 오브젝트를 추적하는 컴퓨터 구현 방법.
  8. 제 7 항에 있어서,
    상기 후보 키프레임과 상기 다른 온라인 키프레임들 간의 상기 포즈 차를 계산하는 단계는 상기 포즈 차를 계산할 경우 오프라인 키프레임들을 스킵하는 단계를 포함하는, 오브젝트 인식 시스템에서 타겟 오브젝트를 추적하는 컴퓨터 구현 방법.
  9. 제 7 항에 있어서,
    상기 포즈 차는 상기 후보 키프레임과 다른 온라인 키프레임들 간의 최소 포즈 차이고, 상기 방법은, 상기 포즈 차가 포즈 임계치를 초과하는 경우 상기 후보 키프레임을 상기 다른 온라인 키프레임들에 부가하는 단계를 더 포함하는, 오브젝트 인식 시스템에서 타겟 오브젝트를 추적하는 컴퓨터 구현 방법.
  10. 오브젝트 인식 시스템에서 타겟 오브젝트를 추적하기 위한 프로그램 코드를 포함하는 컴퓨터 판독가능 매체로서,
    상기 프로그램 코드는,
    카메라를 이용하여 복수의 이미지들을 획득하고;
    상기 타겟 오브젝트를 추적하는 동시에 상기 복수의 이미지들로부터 환경 맵 데이터를 동적으로 구축하고;
    상기 카메라에 대한 상기 타겟 오브젝트의 상기 추적이 성공적인지 여부를 결정하고; 그리고 성공적이지 않은 경우,
    상기 환경 맵 데이터에 기초하여 상기 카메라에 대하여 상기 타겟 포즈를 추론하는
    명령들을 포함하고,
    상기 타겟 오브젝트를 추적하기 위한 명령들은 상기 복수의 이미지들 중 적어도 하나에 기초하고 타겟 맵 데이터에 기초하여 상기 카메라에 대하여 상기 타겟 오브젝트의 타겟 포즈를 추정하도록 시도하기 위한 명령들을 포함하는, 오브젝트 인식 시스템에서 타겟 오브젝트를 추적하기 위한 프로그램 코드를 포함하는 컴퓨터 판독가능 매체.
  11. 제 10 항에 있어서,
    상기 환경 맵 데이터에 기초하여 상기 카메라에 대하여 상기 타겟 포즈를 추론하는 명령들은,
    상기 카메라에 대한 상기 환경의 환경 포즈를 추정하고;
    상기 환경에 대한 상기 타겟 오브젝트의 타겟 포즈를 추정하고; 그리고
    상기 환경에 대한 추정된 타겟 포즈에 기초하여 상기 카메라에 대한 상기 타겟 포즈를 추론하기 위한
    명령들을 포함하는, 오브젝트 인식 시스템에서 타겟 오브젝트를 추적하기 위한 프로그램 코드를 포함하는 컴퓨터 판독가능 매체.
  12. 제 10 항에 있어서,
    상기 환경 맵 데이터는 상기 카메라를 이용하여 획득된 상기 복수의 이미지들 중 하나 이상의 것에 대응하는 하나 이상의 키프레임들에 기초하는, 오브젝트 인식 시스템에서 타겟 오브젝트를 추적하기 위한 프로그램 코드를 포함하는 컴퓨터 판독가능 매체.
  13. 제 12 항에 있어서,
    상기 환경 맵 데이터를 구축하기 위한 명령들은 키프레임 SLAM(Simultaneous Localization and Mapping)을 포함하는, 오브젝트 인식 시스템에서 타겟 오브젝트를 추적하기 위한 프로그램 코드를 포함하는 컴퓨터 판독가능 매체.
  14. 제 12 항에 있어서,
    상기 환경 맵 데이터를 구축하기 위한 명령들은 후보 키프레임을 상기 하나 이상의 키프레임들에 부가하고 상기 후보 키프레임과 상기 카메라에 의해 획득된 이미지들에 대응하는 다른 온라인 키프레임들 간의 포즈 차를 계산하기 위한 명령들을 포함하는, 오브젝트 인식 시스템에서 타겟 오브젝트를 추적하기 위한 프로그램 코드를 포함하는 컴퓨터 판독가능 매체.
  15. 제 14 항에 있어서,
    상기 후보 키프레임과 상기 다른 온라인 키프레임들 간의 상기 포즈 차를 계산하기 위한 명령들은 상기 포즈 차를 계산할 경우 오프라인 키프레임들을 스킵하기 위한 명령들을 포함하는, 오브젝트 인식 시스템에서 타겟 오브젝트를 추적하기 위한 프로그램 코드를 포함하는 컴퓨터 판독가능 매체.
  16. 제 14 항에 있어서,
    상기 포즈 차는 상기 후보 키프레임과 다른 온라인 키프레임들 간의 최소 포즈 차이고, 상기 매체는, 상기 포즈 차가 포즈 임계치를 초과하는 경우 상기 후보 키프레임을 상기 다른 온라인 키프레임들에 부가하는 명령들을 더 포함하는, 오브젝트 인식 시스템에서 타겟 오브젝트를 추적하는 컴퓨터 구현 방법.
  17. 장치로서,
    오브젝트 인식 시스템에서 타겟 오브젝트를 추적하기 위한 프로그램 코드를 저장하도록 구성된 메모리;
    상기 프로그램 코드에 포함된 명령들에 액세스하고 명령들을 실행시키도록 구성된 프로세싱 유닛을 포함하며,
    상기 명령들은 상기 프로세싱 유닛에 의해 실행될 경우, 상기 프로세싱 유닛은,
    카메라를 이용하여 복수의 이미지들을 획득하고;
    상기 타겟 오브젝트를 추적하는 동시에 상기 복수의 이미지들로부터 환경 맵 데이터를 동적으로 구축하고;
    상기 카메라에 대한 상기 타겟 오브젝트의 상기 추적이 성공적인지 여부를 결정하고; 그리고 성공적이지 않은 경우,
    상기 환경 맵 데이터에 기초하여 상기 카메라에 대하여 상기 타겟 포즈를 추론하도록
    상기 장치를 지시하고,
    상기 타겟 오브젝트를 추적하기 위한 명령들은 상기 복수의 이미지들 중 적어도 하나에 기초하고 타겟 맵 데이터에 기초하여 상기 카메라에 대하여 상기 타겟 오브젝트의 타겟 포즈를 추정하도록 시도하기 위한 명령들을 포함하는, 장치.
  18. 제 17 항에 있어서,
    상기 환경 맵 데이터에 기초하여 상기 카메라에 대하여 상기 타겟 포즈를 추론하는 명령들은,
    상기 카메라에 대한 상기 환경의 환경 포즈를 추정하고;
    상기 환경에 대한 상기 타겟 오브젝트의 타겟 포즈를 추정하고; 그리고
    상기 환경에 대한 추정된 타겟 포즈에 기초하여 상기 카메라에 대한 상기 타겟 포즈를 추론하기 위한
    명령들을 포함하는, 장치.
  19. 제 17 항에 있어서,
    상기 환경 맵 데이터는 상기 카메라를 이용하여 획득된 상기 복수의 이미지들 중 하나 이상의 것에 대응하는 하나 이상의 키프레임들에 기초하는, 장치.
  20. 제 19 항에 있어서,
    상기 환경 맵 데이터를 구축하기 위한 명령들은 키프레임 SLAM(Simultaneous Localization and Mapping)을 포함하는, 장치.
  21. 제 19 항에 있어서,
    상기 환경 맵 데이터를 구축하기 위한 명령들은 후보 키프레임을 상기 하나 이상의 키프레임들에 부가하고 상기 후보 키프레임과 상기 카메라에 의해 획득된 이미지들에 대응하는 다른 온라인 키프레임들 간의 포즈 차를 계산하기 위한 명령들을 포함하는, 장치.
  22. 제 21 항에 있어서,
    상기 후보 키프레임과 상기 다른 온라인 키프레임들 간의 상기 포즈 차를 계산하기 위한 명령들은 상기 포즈 차를 계산할 경우 오프라인 키프레임들을 스킵하기 위한 명령들을 포함하는, 장치.
  23. 제 21 항에 있어서,
    상기 포즈 차는 상기 후보 키프레임과 다른 온라인 키프레임들 간의 최소 포즈 차이고, 상기 매체는, 상기 포즈 차가 포즈 임계치를 초과하는 경우 상기 후보 키프레임을 상기 다른 온라인 키프레임들에 부가하는 명령들을 더 포함하는, 장치.
  24. 제 17 항에 있어서,
    상기 복수의 이미지들을 획득하기 위한 상기 카메라를 더 포함하는, 장치.
  25. 장치로서,
    카메라를 이용하여 복수의 이미지들을 획득하기 위한 수단;
    상기 타겟 오브젝트를 추적하는 동시에 상기 복수의 이미지들로부터 환경 맵 데이터를 동적으로 구축하기 위한 수단 ―상기 타겟 오브젝트를 추적하기 위한 수단은 상기 복수의 이미지들 중 적어도 하나에 기초하고 타겟 맵 데이터에 기초하여 상기 카메라에 대하여 상기 타겟 오브젝트의 타겟 포즈를 추정하도록 시도하기 위한 수단을 포함함―;
    상기 카메라에 대한 상기 타겟 오브젝트의 상기 추적이 성공적인지 여부를 결정하기 위한 수단; 및
    상기 카메라에 대한 상기 타겟 오브젝트의 상기 추적이 성공적이지 않은 경우 상기 환경 맵 데이터에 기초하여 상기 카메라에 대하여 상기 타겟 포즈를 추론하기 위한 수단을 포함하는, 장치.
  26. 제 25 항에 있어서,
    상기 카메라에 대한 상기 타겟 오브젝트의 상기 추적이 성공적이라는 것이 결정되는 경우, 상기 환경 데이터에 기초하여 상기 카메라에 대한 상기 타겟 포즈를 추론하기 위한 수단; 및
    추정된 타겟 포즈를 추론된 타겟 포즈와 융합하기 위한 수단을 더 포함하는, 장치.
  27. 제 25 항에 있어서,
    상기 환경 맵 데이터에 기초하여 상기 카메라에 대한 상기 타겟 포즈를 추론하기 위한 수단은,
    상기 카메라에 대한 상기 환경의 환경 포즈를 추정하기 위한 수단;
    상기 환경에 대한 상기 타겟 오브젝트의 타겟 포즈를 추정하기 위한 수단; 및
    상기 환경에 대한 추정된 타겟 포즈에 기초하여 상기 카메라에 대한 상기 타겟 포즈를 추론하기 위한 수단을 포함하는, 장치.
  28. 제 25 항에 있어서,
    상기 환경 맵 데이터는 상기 카메라를 이용하여 획득된 상기 복수의 이미지들 중 하나 이상의 것에 대응하는 하나 이상의 키프레임들에 기초하고, 상기 환경 맵 데이터를 구축하기 위한 수단은 키프레임 SLAM(Simultaneous Localization and Mapping)을 포함하는, 장치.
  29. 제 25 항에 있어서,
    상기 환경 맵 데이터는 상기 카메라를 이용하여 획득된 상기 복수의 이미지들 중 하나 이상의 것에 대응하는 하나 이상의 키프레임들에 기초하고,
    상기 환경 맵 데이터를 구축하기 위한 수단은 후보 키프레임과 상기 카메라에 의해 획득된 이미지들에 대응하는 다른 온라인 키프레임들 간의 포즈 차를 계산함으로써 상기 후보 키프레임을 상기 하나 이상의 키프레임들에 부가하기 위한 수단을 포함하는, 장치.
  30. 제 29 항에 있어서,
    상기 포즈 차는 상기 후보 키프레임과 다른 온라인 키프레임들 간의 최소 포즈 차이고, 상기 장치는, 상기 포즈 차가 포즈 임계치를 초과하는 경우 상기 후보 키프레임을 상기 다른 온라인 키프레임들에 부가하기 위한 수단을 더 포함하는, 장치.
KR1020167011051A 2013-10-04 2014-09-25 동적으로 구축된 환경 맵 데이터에 기초한 오브젝트 추적 KR101812158B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361887211P 2013-10-04 2013-10-04
US61/887,211 2013-10-04
US14/494,947 2014-09-24
US14/494,947 US9524434B2 (en) 2013-10-04 2014-09-24 Object tracking based on dynamically built environment map data
PCT/US2014/057522 WO2015050773A1 (en) 2013-10-04 2014-09-25 Object tracking based on dynamically built environment map data

Publications (2)

Publication Number Publication Date
KR20160068815A true KR20160068815A (ko) 2016-06-15
KR101812158B1 KR101812158B1 (ko) 2017-12-26

Family

ID=52776984

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167011051A KR101812158B1 (ko) 2013-10-04 2014-09-25 동적으로 구축된 환경 맵 데이터에 기초한 오브젝트 추적

Country Status (6)

Country Link
US (1) US9524434B2 (ko)
EP (1) EP3053099A1 (ko)
JP (1) JP6144828B2 (ko)
KR (1) KR101812158B1 (ko)
CN (1) CN105593877B (ko)
WO (1) WO2015050773A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190114652A (ko) * 2018-03-30 2019-10-10 한국전자통신연구원 Slam 기반 카메라 추적에서 라벨된 키프레임을 이용한 이미지 특징 매칭 방법 및 장치
WO2022092511A1 (ko) * 2020-10-30 2022-05-05 에스케이텔레콤 주식회사 3차원 맵을 생성하는 방법 및 생성된 3차원 맵을 이용하여 사용자 단말의 포즈를 결정하는 방법
US11360161B2 (en) 2018-02-08 2022-06-14 Northern Digital Inc. Compensating for distortion in an electromagnetic tracking system

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
US9811731B2 (en) * 2013-10-04 2017-11-07 Qualcomm Incorporated Dynamic extension of map data for object detection and tracking
US9928656B2 (en) * 2015-09-11 2018-03-27 Futurewei Technologies, Inc. Markerless multi-user, multi-object augmented reality on mobile devices
US10073531B2 (en) 2015-10-07 2018-09-11 Google Llc Electronic device pose identification based on imagery and non-image sensor data
JP6775969B2 (ja) * 2016-02-29 2020-10-28 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US11017610B2 (en) * 2016-05-18 2021-05-25 Google Llc System and method for fault detection and recovery for concurrent odometry and mapping
US10802147B2 (en) 2016-05-18 2020-10-13 Google Llc System and method for concurrent odometry and mapping
US10890600B2 (en) 2016-05-18 2021-01-12 Google Llc Real-time visual-inertial motion tracking fault detection
US10025984B2 (en) * 2016-07-18 2018-07-17 X Development Llc Delegation of object and pose detection
US10593116B2 (en) 2016-10-24 2020-03-17 Snap Inc. Augmented reality object manipulation
US10242503B2 (en) 2017-01-09 2019-03-26 Snap Inc. Surface aware lens
US10843068B2 (en) * 2017-01-18 2020-11-24 Xvisio Technology Corp. 6DoF inside-out tracking game controller
US11432879B2 (en) 2017-08-18 2022-09-06 Siemens Healthcare Gmbh Method and apparatus for wide area multi-body 6D pose tracking system
WO2019044498A1 (ja) * 2017-09-04 2019-03-07 日本電産株式会社 移動体、位置推定装置、およびコンピュータプログラム
WO2019068222A1 (en) * 2017-10-06 2019-04-11 Qualcomm Incorporated SIMULTANEOUS RELOCATION AND RESETTING OF VSLAM
US11030813B2 (en) 2018-08-30 2021-06-08 Snap Inc. Video clip object tracking
KR102682524B1 (ko) 2018-09-11 2024-07-08 삼성전자주식회사 증강 현실에서 가상 객체를 표시하기 위한 측위 방법 및 장치
KR20200046437A (ko) 2018-10-24 2020-05-07 삼성전자주식회사 영상 및 맵 데이터 기반 측위 방법 및 장치
US11176737B2 (en) 2018-11-27 2021-11-16 Snap Inc. Textured mesh building
US10909692B2 (en) * 2018-12-14 2021-02-02 Andrew Bennett System and method of detecting and acting upon moving objects
US11164326B2 (en) 2018-12-18 2021-11-02 Samsung Electronics Co., Ltd. Method and apparatus for calculating depth map
US11501499B2 (en) 2018-12-20 2022-11-15 Snap Inc. Virtual surface modification
US10984575B2 (en) 2019-02-06 2021-04-20 Snap Inc. Body pose estimation
US11189098B2 (en) 2019-06-28 2021-11-30 Snap Inc. 3D object camera customization system
JP7438684B2 (ja) * 2019-07-30 2024-02-27 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
CN112400122B (zh) * 2019-08-26 2024-07-16 北京航迹科技有限公司 定位目标对象的系统和方法
US11232646B2 (en) 2019-09-06 2022-01-25 Snap Inc. Context-based virtual object rendering
US11514594B2 (en) 2019-10-30 2022-11-29 Vergence Automation, Inc. Composite imaging systems using a focal plane array with in-pixel analog storage elements
US11263817B1 (en) 2019-12-19 2022-03-01 Snap Inc. 3D captions with face tracking
US11227442B1 (en) 2019-12-19 2022-01-18 Snap Inc. 3D captions with semantic graphical elements
WO2021256103A1 (ja) * 2020-06-19 2021-12-23 日本電気株式会社 測位装置、推定方法、及び非一時的なコンピュータ可読媒体
US11615592B2 (en) 2020-10-27 2023-03-28 Snap Inc. Side-by-side character animation from realtime 3D body motion capture
US11660022B2 (en) 2020-10-27 2023-05-30 Snap Inc. Adaptive skeletal joint smoothing
US11748931B2 (en) 2020-11-18 2023-09-05 Snap Inc. Body animation sharing and remixing
US11734894B2 (en) 2020-11-18 2023-08-22 Snap Inc. Real-time motion transfer for prosthetic limbs
US11450051B2 (en) 2020-11-18 2022-09-20 Snap Inc. Personalized avatar real-time motion capture
CN112887793B (zh) * 2021-01-25 2023-06-13 脸萌有限公司 视频处理方法、显示设备和存储介质
CN112926514A (zh) * 2021-03-26 2021-06-08 哈尔滨工业大学(威海) 一种多目标检测及跟踪方法、系统、存储介质及应用
US11880947B2 (en) 2021-12-21 2024-01-23 Snap Inc. Real-time upper-body garment exchange
US11847259B1 (en) 2022-11-23 2023-12-19 Google Llc Map-aided inertial odometry with neural network for augmented reality devices

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100533033B1 (ko) * 2003-07-28 2005-12-02 엘지전자 주식회사 디지털 영상 처리 기술을 이용한 위치 추적 시스템 및 방법
KR100548418B1 (ko) * 2003-10-31 2006-02-02 엘지전자 주식회사 카메라 일체형 휴대 단말기의 촬영 제한 방법 및 시스템
US8649565B1 (en) 2009-06-18 2014-02-11 Hrl Laboratories, Llc System for automatic object localization based on visual simultaneous localization and mapping (SLAM) and cognitive swarm recognition
US9135514B2 (en) 2010-05-21 2015-09-15 Qualcomm Incorporated Real time tracking/detection of multiple targets
US8638986B2 (en) 2011-04-20 2014-01-28 Qualcomm Incorporated Online reference patch generation and pose estimation for augmented reality
WO2012166814A1 (en) 2011-05-31 2012-12-06 Honda Motor Co., Ltd. Online environment mapping
US20120306850A1 (en) * 2011-06-02 2012-12-06 Microsoft Corporation Distributed asynchronous localization and mapping for augmented reality
US9578226B2 (en) 2012-04-12 2017-02-21 Qualcomm Incorporated Photometric registration from arbitrary geometry for augmented reality
US9147122B2 (en) 2012-05-31 2015-09-29 Qualcomm Incorporated Pose estimation based on peripheral information
US9811731B2 (en) * 2013-10-04 2017-11-07 Qualcomm Incorporated Dynamic extension of map data for object detection and tracking

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11360161B2 (en) 2018-02-08 2022-06-14 Northern Digital Inc. Compensating for distortion in an electromagnetic tracking system
KR20190114652A (ko) * 2018-03-30 2019-10-10 한국전자통신연구원 Slam 기반 카메라 추적에서 라벨된 키프레임을 이용한 이미지 특징 매칭 방법 및 장치
WO2022092511A1 (ko) * 2020-10-30 2022-05-05 에스케이텔레콤 주식회사 3차원 맵을 생성하는 방법 및 생성된 3차원 맵을 이용하여 사용자 단말의 포즈를 결정하는 방법

Also Published As

Publication number Publication date
JP6144828B2 (ja) 2017-06-07
US20150098614A1 (en) 2015-04-09
EP3053099A1 (en) 2016-08-10
CN105593877B (zh) 2018-12-18
US9524434B2 (en) 2016-12-20
JP2016536668A (ja) 2016-11-24
WO2015050773A1 (en) 2015-04-09
CN105593877A (zh) 2016-05-18
KR101812158B1 (ko) 2017-12-26

Similar Documents

Publication Publication Date Title
KR101812158B1 (ko) 동적으로 구축된 환경 맵 데이터에 기초한 오브젝트 추적
US9811731B2 (en) Dynamic extension of map data for object detection and tracking
US11263475B2 (en) Incremental learning for dynamic feature database management in an object recognition system
US9996936B2 (en) Predictor-corrector based pose detection
KR101585521B1 (ko) 장면 구조-기반 자가-포즈 추정
US9674507B2 (en) Monocular visual SLAM with general and panorama camera movements
WO2014011346A1 (en) Sensor-aided wide-area localization on mobile devices
JP2013539872A (ja) マルチユーザ拡張現実におけるオンライン参照生成および追跡
WO2011063282A2 (en) Orientation determination of a mobile station using side and top view images
US20150262380A1 (en) Adaptive resolution in optical flow computations for an image processing system
JP2018513493A (ja) ポーズ決定のための非マッチング特徴に基づく視覚動き推定
JP6393000B2 (ja) 3dマップに関する仮説的ラインマッピングおよび検証

Legal Events

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