KR20150130483A - 평면의 자연스러운 특성 타겟들의 인시츄 생성 - Google Patents

평면의 자연스러운 특성 타겟들의 인시츄 생성 Download PDF

Info

Publication number
KR20150130483A
KR20150130483A KR1020157028697A KR20157028697A KR20150130483A KR 20150130483 A KR20150130483 A KR 20150130483A KR 1020157028697 A KR1020157028697 A KR 1020157028697A KR 20157028697 A KR20157028697 A KR 20157028697A KR 20150130483 A KR20150130483 A KR 20150130483A
Authority
KR
South Korea
Prior art keywords
reference image
planar target
target
image
subsequent
Prior art date
Application number
KR1020157028697A
Other languages
English (en)
Other versions
KR102169492B1 (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 KR20150130483A publication Critical patent/KR20150130483A/ko
Application granted granted Critical
Publication of KR102169492B1 publication Critical patent/KR102169492B1/ko

Links

Images

Classifications

    • G06T7/2033
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • 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/0044
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Abstract

평면의 자연스러운 피쳐 타겟들의 인시츄 생성을 위한 시스템, 장치, 및 방법이 기재된다. 일 실시예에서, 평면 타겟은 단일 제 1 기준 이미지로부터 초기화되고, 하나 또는 그 초과의 후속 이미지들은 프로세싱된다. 일 실시예에서, 평면 타겟은, 하나 또는 그 초과의 후속 이미지들의 프로세싱 시에 6 자유도로 트래킹되고, 제 2 기준 이미지는 프로세싱된 하나 또는 그 초과의 후속 이미지들로부터 선택된다. 일 실시예에서, 제 2 기준 이미지를 선택할 시에, 평면 타겟은 더 정확한 평면 타겟으로 개량된다.

Description

평면의 자연스러운 특성 타겟들의 인시츄 생성{IN SITU CREATION OF PLANAR NATURAL FEATURE TARGETS}
관련 출원(들)에 대한 상호-참조
[0001] 본 출원은, 발명의 명칭이 "In Situ Creation of Planar Natural Feature Targets"으로 2013년 3월 14일자로 출원된 미국 출원 제 13/802,834호의 이점 및 그 미국 출원을 우선권으로 주장하며, 그 미국 출원은 본 발명의 양수인에게 양도되고, 그 전체가 인용에 의해 본 명세서에 포함된다.
[0002] 본 명세서에 기재된 요지는 일반적으로, 평면의 타겟 생성 및 트래킹에 관한 것이다.
[0003] 카메라 센서 데이터 또는 이미지들은 환경의 3D 맵을 구축하기 위한 입력으로서 사용될 수 있다. 증강 현실(AR) 시스템에서, 가상 오브젝트들은 디바이스 디스플레이에 삽입될 수 있으며, 가상 오브젝트들은 실제/물리 세계 오브젝트들과 상호작용하거나 그들을 대체한다. AR 시스템은, 실제 세계 오브젝트들을 이미지들 또는 비디오로서 레코딩하기 위한 카메라 센서로부터의 입력을 포함하고, AR 뷰를 디바이스 디스플레이 상에 디스플레이할 수 있다.
[0004] AR 시스템들은, 기준에 대한 사용자의 포지션 및 배향(포즈(pose))을 추정하기 위해 트래킹 시스템을 구현할 수 있다. 종래의 트래킹 시스템들은, 트래킹되는 기준의 타입 뿐만 아니라 트래킹을 시작하기 위해 사용되는 초기화 절차들에 의해 제한된다. 예를 들어, 종래의 트래킹 시스템들에서, 이전의 포착된 기준 또는 인공적인 마커는, 환경의 3차원(3D) 모델의 트래킹을 초기화시키는데 사용될 수도 있다. 그렇지 않으면, 이전에 알려진 기준 없다면, 오브젝트들은 잘못된 위치에 나타나거나, 환경의 맵 주변에서 플로팅(float)할 수도 있다.
[0005] 단일 카메라를 이용하는 트래킹 시스템은 또한, 단일 카메라에 의해 캡쳐된 2개의 후속하는 기준 이미지들로부터 3D 맵을 초기화시키는 것에 의존할 수도 있다. 2개의 기준 이미지들에 기초하여 종래의 기술들을 사용하여 3D 맵을 생성하는 것은, 2개의 기준 이미지들 사이의 카메라 모션이 적절하고, 이미지들 둘 모두 내의 장면들 사이에 충분한 중첩을 또한 보유하는 경우에만 가능하다.
[0006] 종래의 트래킹 구현들은 또한, 2개의 기준 이미지들을 선택하기 위한 직접적인 사용자 입력에 의존할 수도 있거나, 3D 맵이 초기화될 수 있기 전에 6 자유도(6DoF)의 카메라 모션을 레코딩하기 위한 부가적인 시각적인 타겟을 제공할 수도 있다.
[0007] 예를 들어, 몇몇 트래킹 방법들은, 3D 재구성 방법들이 타겟의 실제 평면을 발견하기 위해 사용될 수 있도록 시각적인 피드백 없이 특정한 비직감적인 모션 시퀀스를 수행하도록 사용자에게 요구한다.
[0008] 트래킹 기술들의 종래의 방법들의 상기 제한들의 결과로서, 현재의 증강 현실 사용자 경험은 자연스럽지 않게 느낄 수 있다. 또한, 대부분의 사용자들은, 2개의 기준 이미지들을 사용하는 종래의 트래킹 초기화에 필요한 모션들을 알거나 이해할 가능성이 없다. 통상적인 사용자들은 또한, 증강 현실 시스템이 장면에 대한 트래킹 업데이트들을 디스플레이할 수 있기 전에 왜 그들이 특정한 모션들을 수행해야만 하는지에 대해 종종 혼란을 느낀다.
[0009] 따라서, 개선된 사용자-친화적인 3D 환경 초기화 및 트래킹이 소망된다.
[0010] 본 명세서에 기재된 실시예들은 평면의 타겟 생성 및 트래킹을 위한 방법에 관한 것일 수도 있다. 방법은, 단일의 제 1 기준 이미지로부터 및 후속 이미지를 프로세싱하기 전에 3차원 타겟을 초기화하는 단계를 포함한다. 방법은, 하나 또는 그 초과의 후속 이미지들을 프로세싱하는 단계, 및 하나 또는 그 초과의 후속 이미지들의 프로세싱 시에 6 자유도(6DoF)로 평면 타겟을 트래킹하는 단계를 더 포함한다. 방법은, 프로세싱된 하나 또는 그 초과의 후속 이미지들로부터 제 2 기준 이미지를 선택하는 단계, 및 평면 타겟을 더 정확한 평면 타겟으로 개량(refine)하는 단계를 더 포함한다.
[0011] 본 명세서에 기재된 실시예들은 또한, 평면 타겟 생성 및 트래킹을 수행하기 위한 명령들을 갖는 컴퓨터 판독가능 비-일시적인 저장 매체에 관한 것일 수도 있다. 매체는, 단일의 제 1 기준 이미지로부터 및 후속 이미지를 프로세싱하기 전에 3차원 타겟을 초기화하는 것을 포함한다. 매체는, 하나 또는 그 초과의 후속 이미지들을 프로세싱하는 것, 및 하나 또는 그 초과의 후속 이미지들의 프로세싱 시에 6DoF로 평면 타겟을 트래킹하는 것을 더 포함한다. 매체는, 프로세싱된 하나 또는 그 초과의 후속 이미지들로부터 제 2 기준 이미지를 선택하는 것, 및 평면 타겟을 더 정확한 평면 타겟으로 개량하는 것을 더 포함한다.
[0012] 본 명세서에 기재된 실시예들은 또한, 단일의 제 1 기준 이미지로부터 및 후속 이미지를 프로세싱하기 전에 3차원 타겟을 초기화하기 위한 수단을 포함하는 장치에 관한 것일 수도 있다. 장치는, 하나 또는 그 초과의 후속 이미지들을 프로세싱하기 위한 수단, 및 하나 또는 그 초과의 후속 이미지들의 프로세싱 시에 6DoF로 평면 타겟을 트래킹하기 위한 수단을 더 포함한다. 장치는, 프로세싱된 하나 또는 그 초과의 후속 이미지들로부터 제 2 기준 이미지를 선택하기 위한 수단, 및 평면 타겟을 더 정확한 평면 타겟으로 개량하기 위한 수단을 더 포함한다.
[0013] 본 명세서에 기재된 실시예들은 추가적으로, 프로세서, 및 평면 타겟 생성 및 트래킹을 수행하기 위한 명령들을 저장하도록 구성가능한 저장 디바이스를 포함하는 데이터 프로세싱 시스템에 관한 것일 수도 있다. 명령들은 프로세서로 하여금, 단일의 제 1 기준 이미지로부터 및 후속 이미지를 프로세싱하기 전에 3차원 타겟을 초기화하게 한다. 명령들은 추가적으로 프로세서로 하여금, 하나 또는 그 초과의 후속 이미지들을 프로세싱하게 하고, 프로세싱된 하나 또는 그 초과의 후속 이미지들로부터 제 2 기준 이미지를 선택하게 하고, 6DoF로 평면 타겟을 트래킹하게 하며, 평면 타겟을 더 정확한 평면 타겟으로 개량하게 한다.
[0014] 다른 실시예들에서, 평면 타겟은 전면-평행 뷰로부터 초기화되는 것으로 가정되며, 전체 기준 이미지는 평면 타겟을 초기화시키는데 사용된다.
[0015] 다른 특성들 및 이점들은 첨부한 도면들 및 상세한 설명으로부터 명백할 것이다.
[0016] 도 1은 기재된 방법을 수행할 수 있는 시스템의 일 실시예의 블록도이다.
[0017] 도 2는 인시츄 타겟 생성을 위한 방법의 일 실시예의 흐름도를 도시한다.
[0018] 도 3은 카메라 평면에 대한 전면-평행인 예시적인 타겟을 도시한다.
[0019] 도 4는 평면 타겟의 전면에 대략적으로 포지셔닝되는 디바이스로부터의 제 1 관점을 도시한다.
[0020] 도 5는 평면 타겟의 전면에 포지셔닝되는 디바이스로부터의 제 2 관점을 도시한다.
[0021] 도 6 및 도 7은 일 실시예에서, 정확히 추정된 타겟 평면들을 갖는 각각의 타겟 표현들에 대한 도 4 및 도 5로부터의 동일한 디바이스 관점을 각각 도시한다.
[0022] 도 7은 인시츄 타겟 생성을 위한 방법의 다른 실시예의 흐름도를 도시한다.
[0023] 단어 "예시적인" 또는 "예"는 예, 예시, 또는 예증으로서 기능하는 것을 의미하도록 본 명세서에서 사용된다. "예시적인" 것 또는 "예"로서 본 명세서에 설명된 임의의 양상 또는 실시예는 다른 양상들 또는 실시예들에 비해 반드시 바람직하거나 유리한 것으로서 해석될 필요는 없다.
[0024] 도 1은 본 발명의 실시예들이 실시될 수도 있는 시스템을 도시한 블록도이다. 시스템은, 범용 프로세서(161), 이미지 프로세서(166), 포즈 프로세서(168), 그래픽 엔진(167) 및 메모리(164)를 포함할 수도 있는 디바이스(100)일 수도 있다. 디바이스(100)는 또한, 프로세서들(161, 166, 및 168) 중 적어도 하나에 추가적으로 커플링된 하나 또는 그 초과의 버스들(177) 또는 신호 라인들에 커플링된 다수의 디바이스 센서들을 포함할 수도 있다. 디바이스(100)는, 모바일 디바이스, 무선 디바이스, 셀 폰, 개인 휴대 정보 단말, 웨어러블(wearable) 디바이스(예를 들어, 안경들, 시계, 헤드 웨어(head wear), 또는 유사한 신체 부착된 디바이스), 모바일 컴퓨터, 태블릿, 개인용 컴퓨터, 랩탑 컴퓨터, 또는 프로세싱 능력들을 갖는 임의의 타입의 디바이스일 수도 있다.
[0025] 일 실시예에서, 디바이스(100)는 모바일/휴대용 플랫폼일 수도 있다. 디바이스(100)는, 카메라(들)(114) 및/또는 CMOS 센서들(미도시)과 같이 이미지를 캡쳐하기 위한 수단을 포함할 수도 있으며, 선택적으로는, 가속도계들, 자이로스코프들, 전자 나침판, 또는 다른 유사한 모션 감지 엘리먼트들과 같은 모션 센서들(111)을 포함할 수도 있다. 디바이스(100)는 또한, 전면 및/또는 후면-대면 카메라(예를 들어, 카메라들(114)) 상에서 이미지들을 캡쳐할 수도 있다. 디바이스(100)는, 디스플레이(112)와 같이 증강 현실 이미지를 디스플레이하기 위한 수단을 포함하는 사용자 인터페이스(150)를 더 포함할 수도 있다. 사용자 인터페이스(150)는 또한, 키보드, 키패드(152), 또는 사용자가 디바이스(100)로 정보를 입력할 수 있는 다른 입력 디바이스를 포함할 수도 있다. 원한다면, 터치 스크린/센서를 갖는 디스플레이(112)로 가상 키패드를 통합시키는 것은 키보드 또는 키패드(152)를 제거할 수도 있다. 사용자 인터페이스(150)는 또한, 예를 들어, 디바이스(100)가 셀룰러 전화기와 같은 모바일 플랫폼이면, 마이크로폰(154) 및 스피커(156)를 포함할 수도 있다. 디바이스(100)는, 위성 포지션 시스템 수신기, 전력 디바이스(예를 들어, 배터리) 뿐만 아니라 휴대용 및 비-휴대용 전자 디바이스들과 통상적으로 연관된 다른 컴포넌트들과 같은 다양한 다른 엘리먼트들을 포함할 수도 있다.
[0026] 디바이스(100)는 모바일 또는 무선 디바이스로서 기능할 수도 있으며, 임의의 적절한 무선 통신 기술에 기초한 또는 그렇지 않으면 그 기술을 지원하는 무선 네트워크에 걸쳐 하나 또는 그 초과의 무선 통신 링크들을 통해 통신할 수도 있다. 예를 들어, 몇몇 양상들에서, 디바이스(100)는 클라이언트 또는 서버일 수도 있으며, 무선 네트워크와 연관될 수도 있다. 몇몇 양상들에서, 네트워크는, 신체 영역 네트워크 또는 개인 영역 네트워크(예를 들어, 울트라-광대역 네트워크)를 포함할 수도 있다. 몇몇 양상들에서, 네트워크는, 로컬 영역 네트워크 또는 광역 네트워크를 포함할 수도 있다. 무선 디바이스는, 예를 들어, CDMA, TDMA, OFDM, OFDMA, WiMAX, 및 Wi-Fi와 같은 다양한 무선 통신 기술들, 프로토콜들, 또는 표준들 중 하나 또는 그 초과를 지원하거나 그렇지 않으면 사용할 수도 있다. 유사하게, 무선 디바이스는, 다양한 대응하는 변조 또는 멀티플렉싱 방식들 중 하나 또는 그 초과를 지원하거나 그렇지 않으면 사용할 수도 있다. 모바일 무선 디바이스는, 다른 모바일 디바이스들, 셀 폰들, 다른 유선 및 무선 컴퓨터들, 인터넷 웹 사이트들 등과 무선으로 통신할 수도 있다.
[0027] 일 실시예에서, 본 명세서에서 설명된 바와 같은 인시츄 타겟 생성 모듈(ITC)은 단일 기준 이미지로부터 즉시 평면 타겟을 초기화시킬 수도 있다. 용어 모듈은, 인용된 기능들을 수행할 수 있는 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 몇몇 결합을 지칭한다. 예를 들어, ITC는, 단일 카메라(114) 또는 단안형(monocular) 시각 입력으로부터 이미지들 또는 비디오를 수신할 수도 있다. 평면 타겟 초기화는, 단일 기준 이미지를 프로세싱할 시에 그리고 임의의 다른 이미지들이 프로세싱되기 전에 발생할 수도 있다. ITC는, 단일 기준 이미지를 프로세싱(예를 들어, 타겟과 연관된 피쳐(reature) 포인트들을 추출)할 수도 있으며, 포인트 대응물들(예를 들어, 2개 또는 그 초과의 이미지들로부터의 피쳐들)의 세트로부터 6 자유도의 카메라 포지션 및 배향(포즈)을 추정할 수도 있다. 본 명세서에서 사용된 바와 같이, 피쳐 포인트들의 검출 및 피쳐 포인트들에 대한 6DoF 카메라 포즈의 추정은 타겟을 "트래킹"하는 것으로 결합하여 지칭된다. ITC는, 사용자의 환경에 대한 사전 지식 없이 (예를 들어, 사전거주된(prepopulated) 맵, CAD 모델, 장면 내의 마커들, 또는 유사한 미리 정의된 타겟 서술자(descriptor) 없이) 및 2개의 상이한 정밀한 기준 이미지들의 사용 없이 평면 타겟을 초기화시킬 수도 있다. 몇몇 실시예들에서, ITC는, 초기화 동안 시각적인 (예를 들어, 디스플레이된 타겟 조정) 피드백을 제공할 수도 있다.
[0028] ITC는, 이미지들 또는 비디오 입력을 수신한 이후, 입력 이미지들 또는 비디오의 증강 현실(AR) 표현을 출력 또는 디스플레이할 수도 있다. 몇몇 실시예들에서, ITC는 디바이스(100)의 능력들에 의존하여, 실시간으로, 거의 실시간으로, 짧은 시간 윈도우 내에서, 또는 단일 이미지로부터의 타겟의 초기화 시에 즉시 타겟의 AR 표현(예를 들어, 시각적인 오브젝트의 실제 세계 장면으로의 변형 또는 부가)을 디스플레이할 수도 있다. 몇몇 실시예들에서, ITC 모듈은, 임의의 부가적인 센서 입력 없이 (예를 들어, 가속도계, 레이저 거리계, 자이로스코프, GPS, 또는 포지션을 결정하기 위해 사용되는 다른 센서들의 보조 없이) AR 표현을 초기화 및 디스플레이할 수도 있다. 따라서, 비싸고 복잡한 다수의 카메라 어레이 시스템들이 최소화될 수 있으며, ITC는 일반적으로 이용가능한 카메라 센서들에 커플링될 수도 있다. 예를 들어, ITC는 단일 카메라, 스마트폰과 같은 모바일 디바이스, 또는 AR 안경들과 같은 웨어러블 디바이스에 커플링될 수도 있다.
[0029] 일 실시예에서, ITC는, 타겟 오브젝트의 전면-평행 뷰로서 전체 캡쳐된 카메라 이미지(예를 들어, 단일 기준 이미지)를 처리(예를 들어, 초기화 동안 관점 파라미터/구성을 전달)함으로써 평면 타겟을 초기화시킬 수 있다. 다른 실시예들에서, ITC는, 전체 카메라 이미지의 일부 또는 서브-섹션에 대해 평면 타겟을 초기화할 수도 있다. ITC는, 임의의 미리 결정된 마커들 또는 태그들 없이 평면 타겟의 자연스러운 피쳐 트래킹을 위한 정확한 데이터세트를 생성할 수도 있다.
[0030] ITC가 단일 기준 이미지로부터 평면 타겟을 완전히 초기화시킬 수 있기 때문에, 어떠한 부가적인 특정한 카메라 모션들 또는 입력도 트래킹이 시작하기 전에 사용되지 않는다. 몇몇 실시예들에서, ITC는 장면 또는 오브젝트를 즉시, 실시간으로, 거의 실시간으로, 또는 기준 이미지를 수신하는 짧은 시간 윈도우 내에서 트래킹할 수도 있으며, 동시적인 실시간 AR 업데이트들(예를 들어, 타겟의 증강)을 디스플레이에 제공할 수도 있다. 단일 초기 기준 이미지의 초기화로부터의 타겟 트래킹을 가능하게 함으로써, 사용자들은 자연스럽게 (즉, 특정한 프롬프트(prompt) 또는 명령들 없이) 계속 카메라를 이동/리포지셔닝하고 카메라를 이용하여 타겟 또는 장면을 탐사하도록 장려된다. 상이한 각도들 및 관점들에서의 장면의 더 큰 탐사는 ITC가, 제 1 기준 이미지로부터의 충분한 병진(translation)에 대해 테스트될 수 있는 부가적인 후속 이미지들을 수집하게 한다. 일단 충분한 병진을 갖는 이미지가 검출되면, 이미지는, 맵, 타겟, 및 카메라 포즈의 삼각측량 또는 추가적인 개량에서 사용될 제 2 기준 이미지로서 할당될 수 있다.
[0031] 도 2는 인시츄 타겟 생성의 일 실시예의 흐름도를 도시한다. 블록(205)에서, ITC는, 캡쳐된 이미지로부터 (예를 들어, 단일 기준 이미지로서) 및 임의의 다른/후속 이미지들을 프로세싱하기 전에 평면 타겟을 초기화시킬 수 있다. 몇몇 실시예들에서, 초기화는, 즉시, 실시간으로, 거의 실시간으로, 또는 기준 이미지 캡쳐의 짧은 시간 윈도우 내에서 발생할 수도 있다. ITC는, 단일 기준 이미지의 프로세싱에 기초하여 평면 타겟을 생성할 수도 있다. 본 명세서에서 사용된 바와 같이, 평면은, 2차원 표면을 갖는 대략적으로 평평한 오브젝트들을 설명하는데 사용된다. 예를 들어, 캡쳐된 이미지(예를 들어, 카메라(114)로부터 캡쳐된 초기화 이미지)를 프로세싱하는 것은, 추출된 피쳐들 또는 피쳐 포인트들의 세트를 계산하는 것, 및 타겟의 전면-평행 뷰로서 단일 기준 이미지를 처리하는 것을 포함할 수 있다. 평면 타겟의 초기화는 더 상세히 후술된다.
[0032] 블록(210)에서, ITC는 하나 또는 그 초과의 후속 이미지들을 프로세싱할 수도 있다. 프로세싱은, 후속 이미지 내에서 피쳐들의 세트를 결정하는 것을 포함할 수 있다. 피쳐들의 세트는, 단일 기준 이미지를 프로세싱한 이후에 결정된 동일한 피쳐들일 수도 있지만, 단일 기준 이미지를 프로세싱한 이후 카메라 포즈가 변경되었다면, 하나 또는 그 초과의 피쳐들에 대한 기준 피쳐 위치는 후속 이미지에서 상이할 수도 있다.
[0033] 블록(215)에서, ITC는, 하나 또는 그 초과의 후속 이미지들의 프로세싱 시에 6 자유도로 평면 타겟(예를 들어, 평면의 자연스러운 피쳐 타겟)을 트래킹할 수 있다. 몇몇 실시예들에서, ITC 트래킹은 즉시, 순간적으로, 실시간으로, 거의 실시간으로, 또는 단일 기준 이미지의 ITC에 의한 수신에 후속하는 짧은 시간 기간 내에서 발생할 수도 있다. 타겟을 트래킹하는 것은, 단일 기준 이미지로부터의 각각의 피쳐 포인트의 위치들을 후속 이미지(들) 내의 대응하는 피쳐들과 비교하는 것, 및 이미지들 둘 모두에서 발견된 동일한 피쳐 포인트들 중 하나 또는 그 초과의 위치에서의 변화를 결정하는 것을 포함할 수도 있다. 각각의 후속 이미지(예를 들어, 초기 기준 이미지 이후 캡쳐 및 프로세싱된 이미지)에 대해, ITC는, 업데이트된 카메라 포즈를 제공하기 위해 기준 피쳐 위치들을 업데이트할 수도 있다.
[0034] ITC는, 하나 또는 그 초과의 후속 이미지들(예를 들어, 단일 기준 이미지의 캡쳐로부터 추후의 시점에서 캡쳐된 하나 또는 그 초과의 이미지들)의 프로세싱에 기초하여 타겟(예를 들어, 장면, 오브젝트, 또는 맵)을 계속 트래킹할 수도 있다. 몇몇 실시예들에서, ITC는 또한, 디바이스 디스플레이로 하여금, 즉시, 실시간으로, 거의 실시간으로, 또는 평면 타겟의 초기화의 짧은 시간 윈도우 내에서 타겟의 증강 현실 표현을 출력하게 할 수도 있다.
[0035] 블록(216)에서, ITC는, 프로세싱된 하나 또는 그 초과의 후속 이미지들로부터 제 2 기준 이미지를 선택할 수도 있다. 예를 들어, 제 2 기준 이미지는, ITC가 제 1 기준 이미지에 대한 제 2 기준 이미지의 병진이 병진 임계치를 충족한다고 결정할 시에 선택될 수도 있다.
[0036] 블록(220)에서, ITC는 평면 타겟을 더 정확한 평면 타겟으로 추가적으로 개량할 수도 있다. 예를 들어, ITC는, 병진 임계치를 충족하는 후속 이미지로부터의 누산된 피쳐(들)에 기초하여 카메라 및 모델(타겟)을 최적화시킬 수도 있다. 평면 타겟의 개량에 대한 추가적인 세부사항들은 후술된다.
[0037] 몇몇 실시예들에서, ITC는, 즉시, 실시간으로, 거의 실시간으로, 또는 캡쳐된 이미지(즉, 단일 기준 이미지)를 수신하는 짧은 시간 윈도우 내에서 그리고 임의의 후속 이미지들을 프로세싱하기 전에 평면 타겟을 초기화시킬 수 있다. 몇몇 실시예들에서, ITC는, 단일 기준 이미지의 프로세싱에 전체적으로 기초하여 완성 평면 타겟을 생성할 수도 있다.
[0038] 추가적으로, 몇몇 실시예들에서, ITC는, 오브젝트 또는 장면 마커들과 같은 타겟에 대한 미리 결정된 정보, 맵, 대안적인 센서 데이터 측정들 또는 초기 캡쳐된 이미지 이전에 수집된 다른 타겟 정보에 대한 액세스를 갖지 않을 수도 있고 그 정보에 관련된 입력을 요청하지 않을 수도 있다.
[0039] 몇몇 실시예들에서, 디바이스(예를 들어, 디바이스(100))는 임의의 직접적인 또는 수동적인 사용자 상호작용 없이 (예를 들어, 프로세서(161)를 사용함으로써) ITC를 자동적으로 시작, 실행, 또는 구동할 수도 있다. 몇몇 실시예들에서, 디바이스는, 카메라(예를 들어, 카메라(114))로부터 제 1 이미지를 캡쳐하고, 평면 타겟 초기화, 트래킹, 및/또는 증강 현실 프로세싱을 위해 그 이미지를 ITC에 전송할 수도 있다. 대안적으로, 몇몇 실시예들에서, ITC는 디바이스로 하여금, 터치 스크린을 터치하는 것, 버튼을 누르는 것, 또는 유사한 입력에 의해 타겟의 초기화 및 트래킹을 시작하도록 사용자에게 프롬프트하게 할 수도 있다. ITC는 또한, 애플리케이션 또는 프로그램에 통합될 수도 있으며, 애플리케이션 또는 프로그램은 단일 기준 이미지를 캡쳐하고 ITC를 트리거링할 수 있다.
[0040] 몇몇 실시예들에서, 캡쳐된 이미지는 디바이스 상의 이미지 피드(feed)로부터 수신될 수도 있거나, 사용자는 캡쳐된 이미지의 챕쳐를 개시할 수도 있다. 단일 기준 이미지는, 카메라 이동 또는 모션이 검출되는 경우, 카메라(114)에 의해 자동적으로 캡쳐될 수도 있다. 캡쳐된 이미지들은 스틸(still) 카메라 이미지들 또는 비디오 피드로부터의 프레임들일 수도 있다.
[0041] 본 명세서에서 사용된 바와 같이, 피쳐(예를 들어, 피쳐 포인트 또는 관심 포인트)는 이미지의 관심있는 또는 두드러진(notable) 부분으로서 존재한다. 이미지로부터 추출된 피쳐들은, 3차원 공간(예를 들어, 축들 X, Y, 및 Z 상의 좌표들)을 따른 별개의 포인트들을 표현할 수도 있으며, 모든 각각의 피쳐 포인트는 연관된 피쳐 위치를 가질 수도 있다. 단일 기준 이미지는, 후속 이미지들에서 발견된 피쳐들에 대한 비교를 위해 사용되는 기준 피쳐들을 가질 수도 있다. 후속 이미지들 내의 피쳐들은, 단일 기준 이미지의 기준 피쳐들로서 매칭하거나 매칭하기를 실패(즉, 동일함)한다. 피쳐 검출은, 피쳐가 특정한 픽셀에 존재하는지를 결정하기 위해 모든 각각의 픽셀을 조사하기 위한 이미지 프로세싱 동작일 수도 있다. 피쳐 검출은 전체 이미지, 또는 대안적으로는 이미지의 특정한 일부들 또는 부분들을 프로세싱할 수도 있다.
[0042] 각각의 캡쳐된 이미지 또는 비디오 프레임에 대해, 일단 피쳐들이 검출되면, 피쳐 주변에서 로컬 이미지 패치(patch)가 추출될 수 있다. 피쳐들은, 피쳐들을 로컬화하고 그들의 설명들을 생성하는 SIFT(Scale Invariant Feature Transform)와 같은 잘-알려진 기술을 사용하여 추출될 수도 있다. 원한다면, SURF(Speed Up Robust Features), GLOH(Gradient Location-Orientation histogram), NCC(ormalized Cross Correlation) 또는 다른 동등한 기술들과 같은 다른 기술들이 사용될 수도 있다. 이미지에 대한 추출된 피쳐들의 수가 임계치(예를 들어, 100개의 포인트 피쳐들 또는 다른 수의 포인트들)를 초과하는 것으로 결정되는 경우, 이미지는 단일 기준 이미지로서 저장될 수 있으며, 추출된 피쳐들은 타겟의 기준 피쳐들/포인트들(또는 추출된 피쳐 포인트들)로서 정의될 수 있다.
[0043] 본 명세서에서 사용된 바와 같이, 타겟은, 이미지 내의 단일 격리된 오브젝트 또는 다수의 오브젝트들로부터의 추출된 피쳐들을 포함할 수도 있다. 예를 들어, 이미지에서 캡쳐된 전체 장면은 다수의 오브젝트들을 포함할 수도 있으며, 각각의 오브젝트는 하나 또는 그 초과의 추출된 피쳐들을 가질 수도 있다. 이미지 또는 장면 내의 오브젝트들의 그룹은 또한, 전체 그룹과 연관된 집합적인 결합된 피쳐 세트를 가질 수도 있다.
[0044] ITC는, 평면 타겟을 생성하기 위해 전체 단일 기준 이미지로부터의 피쳐들을 사용할 수도 있다. 타겟을 결정하기 위해, ITC는, 모든 피쳐들이 카메라 평면과 평행한 평면 상에 놓여있다는 초기 가정을 행할 수도 있다(기준 피쳐들은 뷰잉 방향과 수직한 카메라로부터의 동일한 거리/깊이에서 초기화될 수도 있음).
[0045] 초기화된 평면 타겟은, 메모리(예를 들어, 메모리(164))에 저장되거나, 단일 기준 이미지로부터 추출 또는 계산된 하나 또는 그 초과의 피쳐들과 연관될 수도 있다.
[0046] 일 실시예들에서, ITC는, 즉시, 실시간으로, 거의 실시간으로, 또는 평면 타겟의 초기화의 짧은 시간 윈도우 내에서 타겟 트래킹을 가능하게 할 수도 있다. 몇몇 실시예들에서, ITC는, 단일 기준 이미지로부터 후속하여 캡쳐된 이미지들로의 즉시, 실시간, 또는 거의 실시간의 카메라 트래킹을 제공할 수도 있다. 몇몇 실시예들에서, 본 명세서에 약술된 트래킹 방법들은 부분적으로 차단된(occluded) 타겟들의 ITC 트래킹을 용이하게 할 수도 있다. 또한, 기재된 방법들은, 오브젝트의 특정한 회전과는 독립적으로 타겟들의 ITC 트래킹을 용이하게 할 수도 있다(예를 들어, 수평 또는 수직하게 정렬된 오브젝트들은 ITC 트래킹에 대해 동등하게 실행가능함).
[0047] 일 실시예에서, 디바이스가 타겟(예를 들어, 기준 이미지 내의 하나 또는 그 초과의 오브젝트들 또는 장면)에 대해 이동함에 따라, 카메라는, 상이한 관점들로부터 타겟의 후속의 부가적인 이미지들을 계속 캡쳐 및 프로세싱할 수 있다. ITC는, 프로세싱된 이미지들과 연관된 AR 표현을 디바이스 디스플레이(예를 들어, 디스플레이(112))에 출력할 수 있다. 일 실시예에서, 인시츄 타겟 생성은 실시간 피드백을 제공하며, 사용자가 추가적인 카메라 모션을 제공하기 위해 장려되도록 임의의 트래킹 에러들의 즉시, 실시간, 또는 거의 실시간의 디스플레이를 제공할 수도 있다. 부가적인 카메라 모션은, 타겟을 추가적으로 개량하기에 유용한 부가적인 이미지 기준들을 제공할 수 있다. 예를 들어, 초기 트래킹 에러들에 대해서도, ITC는, 제 2 기준 이미지가 탐색될 때까지 사용자에 의한 추가적인 장면 탐사를 프롬프트하기에 충분히 정확한 타겟 표현을 제공할 수 있다. 제 2 기준 이미지는, 임의의 에러들을 추가적으로 감소시키고 타겟을 개량하기 위해 사용될 수 있다. 일 실시예에서, 제 1 기준 이미지가 추적되는 타겟에 대한 전면-평행 뷰에 인접/근접한 경우, 초기 예비 타겟 트래킹 에러들은 감소된다.
[0048] 도 3은 카메라 평면에 대한 전면-평행인 타겟을 도시한다. 도 3은 평면 타겟(310) 상에 4개의 원형 오브젝트들(360, 365, 360, 및 375)을 도시한다. 4개의 오브젝트들은, 각각의 오브젝트가 동일한 Z 좌표, 및 카메라/디바이스 평면으로부터 동일한 깊이를 갖도록 동일한 평면을 따라 놓여있다. 디바이스(100)는, 실제 세계 오브젝트(310)의 표현(330)을 (예를 들어, 디바이스 디스플레이(112)를 통해) 디스플레이할 수 있다. 실제 세계 오브젝트(310)의 표현(330)은 더 상세히 후술되는 바와 같은 증강 현실을 포함할 수 있다.
[0049] 일반적으로, ITC는, 기준 이미지를 획득하기 위해 대략 전면-평행한 이미지들에 대해 동작할 수도 있으며, 정확하게 전면-평행한 타겟 캡쳐 및 프로세싱에 제한되지 않는다. ITC는, 전체 제 1 기준 이미지(430)를 타겟으로서 할당하며, 카메라 평면이 타겟에 정확히 전면-평행하지 않는 경우들에서 전면-평행 뷰를 가정할 수도 있다.
[0050] 도 4는 일 실시예에서, 평면 타겟의 전면에 대략적으로 포지셔닝되는 디바이스로부터의 제 1 관점을 도시한다. 도 4는, 디바이스(100)의 관점으로부터의 타겟(405)(예를 들어, 페인팅)의 대략적인 전면-평행 관점을 도시한다. 디바이스(100)는, 실제 세계 오브젝트(405)의 표현(425)을 (예를 들어, 디바이스 디스플레이(112)를 통해) 디스플레이할 수 있다. 실제 세계 오브젝트(405)의 표현(425)은 더 상세히 후술되는 바와 같은 증강 현실을 포함할 수 있다. 예시적인 제 1 관점(400)은, 디스플레이(112) 내의 전체 이미지에 기초한 타겟(430)의 생성을 도시한다. 도 4는, 코너들(410 및 415)(피쳐들)이 상이한 Z 좌표들에 놓여있을 수도 있고, 카메라(114) 평면에 대해 상이한 깊이들을 가질 수도 있다는 것을 도시한다.
[0051] 도 5는 일 실시예에서, 평면 타겟의 전면에 대략적으로 포지셔닝되는 디바이스(100)로부터의 제 2 관점을 도시한다. 도 5는, 제 1 관점으로부터의 트래킹 타겟(즉, 전체 제 1 기준 이미지(430))으로 인한 강한 왜곡(515)을 도시한다. 기준 이미지(430)의 왜곡(515)은 또한, 왜곡된 AR 표현을 생성할 수도 있다. 예를 들어, 전체 기준 이미지(420)를 사용한 초기 가정이 근사할 수도 있지만, 트래킹은 추가적인 사용자 상호작용을 장려하기에 충분히 정확할 수 있다. 사용자는, 타겟의 표현(예를 들어, 디바이스 디스플레이(112) 상에 디스플레이된 왜곡된 AR)을 뷰잉할 시에, 디바이스(100)를 리포지셔닝시키고 타겟의 대안적인 각도를 캡쳐하기를 자연스럽게 시도할 수도 있다. 후속 기준 이미지들이 프로세싱된 이후(예를 들어, 제 2 기준 이미지가 충분한 병진을 갖는 것으로 결정된 이후), ITC는, 제 1 및 제 2 기준 이미지들에서 평면 타겟에 의해 커버된 영역 및 제 1 및 제 2 기준 이미지들에 수직한 평면 타겟의 실제 평면을 계산하기 위해 타겟 피쳐들을 정확히 삼각측량할 수 있다.
[0052] 도 6 및 도 7은 일 실시예에서, 정확히 추정된 타겟 평면들을 갖는 각각의 타겟 표현들(610 및 710)을 갖는다는 것을 제외하고, 도 4 및 도 5의 동일한 디바이스 관점들을 각각 도시한다. 예를 들어, ITC는, 도 4의 평면 타겟으로서 전체 제 1 기준 이미지를 이용하여 초기화하며, 충분한 베이스라인 또는 병진을 갖는 제 2 기준 이미지를 결정할 시에, ITC는 도 6 및 도 7에 도시된 바와 같이 타겟을 정확히 추정할 수 있다.
[0053] 도 6 및 도 7은, (예를 들어, 제 1 및 제 2 기준 프레임들의 삼각측량 이후) 정확한 워핑(warping)을 가지며, AR 시스템에서 사용되는 경우, 실제 세계 오브젝트의 표현을 정확히 증강시킬 수 있다. 예를 들어, 도 6 및 도 7의 음형(shaded) 영역들은, (예를 들어, 새로운 페인팅, 상업 광고, 사용자 선택된 이미지, 비디오 또는 몇몇 다른 AR 오브젝트를 대체물로서 삽입하여) 본래의 페인팅(405)과는 상이한 오브젝트로 대체되거나 오버레이(overlay)될 수도 있다.
[0054] 일 실시예에서, ITC는, 이미지 내의 타겟을 식별하고, 좌표 시스템 및/또는 카메라 평면에 대한 타겟의 포지션 및 배향을 결정한다. 이러한 정보는, 예를 들어, 사용자가 AR 시스템으로서 디바이스를 사용하게 하기 위해 사용될 수 있거나, 알려지지 않은 환경을 네비게이팅하도록 로봇에 의해 사용될 수 있다. 카메라 포지션 및 배향(포즈)은, 기준 포즈로부터 관측된 포즈로 오브젝트를 가져오는(bring) 회전 및 병진 변환에 의해 설명될 수 있다. 이러한 회전 변환은, 상이한 방식들로 (예를 들어, 회전 메트릭스, 사원수(quaternion), 또는 다른 표현으로서) 표현될 수 있다.
[0055] 일 실시예에서, ITC는, 관측된 카메라(114) 모션이 주어지면 업데이트될 수 있는 장면의 부분들(예를 들어, 추출된 피쳐 포인트들)을 자동적으로 선택한다. 일 실시예에서, ITC는, 카메라(114)가 모션중이고 이미지들을 레코딩하는 동안 캡쳐된 이미지들로부터, 완전한 3D 맵 초기화를 위해 사용할 제 2 기준 이미지를 자동적으로 선택할 수 있다. 또한, ITC는, 초기 평면 타겟으로부터 카메라(114) 모션을 추정할 수 있으며, 제 2 이미지 프레임이 수신 또는 프로세싱되기 전에 즉각적인 카메라 트래킹을 제공할 수 있다. 일 실시예에서, ITC는, 사용자 입력 없이, 및 임의의 다른 외부 트래킹 방법들에 대한 의존없이 동작할 수도 있다.
[0056] 상술된 바와 같이, 디바이스(100)는 휴대용 전자 디바이스(예를 들어, 스마트 폰, 전용 증강 현실(AR) 디바이스, 게임 디바이스, 안경들과 같은 웨어러블 디바이스, 또는 AR 프로세싱 및 디스플레이 능력들을 갖는 다른 디바이스)일 수 있다. 본 명세서에 설명된 AR 시스템을 구현하는 디바이스는, 쇼핑몰들, 거리들, 룸들, 또는 사용자가 휴대용 디바이스를 취할 수도 있는 임의의 장소와 같은 다양한 환경들에서 사용될 수도 있다. AR 콘텍스트에서, 사용자는, 그들의 디바이스의 디스플레이를 통해 실제 세계의 표현을 뷰잉하도록 디바이스(100)를 사용할 수도 있다. 사용자는, 실제 세계 이미지들/비디오를 수신하고, 디바이스 상에서 부가적인 또는 대안적인 정보를 디스플레이된 실제 세계 이미지들/비디오 상으로 중첩 또는 오버레이하기 위해 그들의 디바이스의 카메라를 사용함으로써 그들의 AR 가능한 디바이스와 상호작용할 수도 있다. 사용자가 그들의 디바이스 상에서 AR 구현을 뷰잉하는 경우, 실제 세계 오브젝트들 또는 장면들은 디바이스 디스플레이 상에서 실시간으로 대체 또는 수정될 수도 있다. 가상 오브젝트들(예를 들어, 텍스트, 이미지들, 비디오)은, 디바이스 디스플레이 상에 도시된 장면의 표현으로 삽입될 수도 있다.
[0057] 일 실시예에서, AR 디바이스의 사용자 경험은, 사용자가 디바이스를 이동시킬 경우 그리고 사용자의 환경에 대한 사전 지식 없이 디바이스 상에서 디스플레이된 AR을 자동적으로 업데이트함으로써 매우 향상될 수 있다. 예를 들어, 몇몇 실시예들에서, ITC는 장면 또는 유사한 것 내의 맵, CAD 모델, 마커들 없이 동작할 수도 있다. ITC는 또한, 다수의 상이하고 정밀한 이미지 캡쳐들 없이 시각적인 피드백(예를 들어, 디스플레이(112) 상에 표현된 타겟에 대한 AR 업데이트들)을 제공함으로써 사용자의 경험을 향상시킬 수도 있다. 몇몇 실시예들에서, AR 시스템에 대한 시각적인 업데이트들은, 실시간으로, 거의 실시간으로, 거의 즉각적으로, 또는 제 1 기준 이미지를 캡쳐하는 짧은 시간 윈도우 내에서 디스플레이 및 사용자에게 제공될 수도 있다.
[0058] 디바이스(100) 및/또는 카메라(114)의 이동은 디스플레이로 하여금, 트래킹되는 타겟(예를 들어, 하나 또는 그 초과의 오브젝트들 또는 장면들)의 증강을 실시간으로, 또는 거의 실시간으로 업데이트하게 할 수도 있다. 초기 기준 이미지 포지션으로부터 떨어진 디바이스의 이동에 대해, 디바이스는 대안적인 뷰들로부터 부가적인 이미지들을 캡쳐할 수 있다. 대안적인 뷰들이 디스플레이되는 경우, 장면 증강은, ITC가 부가적인 이미지들을 프로세싱하는 동안 더 정확하게 될 수 있다. 일 실시예에서, (예를 들어, 사용자 또는 로봇 개시된 이동에 의해) 카메라(114)가 이동하고 카메라 포즈가 변하는 경우, ITC는 제 2 기준 이미지로서 사용할 적절한 이미지를 선택할 수도 있다. 제 2 기준 이미지는, 이미지 피드 또는 스트림으로부터 선택될 수도 있다. 일 실시예에서, 초기 기준 이미지로부터의 충분한 병진을 갖는 이미지의 탐색 시에, 탐색된 이미지는 제 2 기준 이미지로서 자동적으로 할당될 수도 있다. 제 2 기준 이미지로부터의 피쳐들은 추출되며, 타겟을 개량하고 트래킹 정확도를 증가시키기 위해 제 1 이미지 프레임으로부터의 피쳐들을 이용하여 삼각측량될 수도 있다. 피쳐들을 추출하고 제 2 기준 이미지로부터 삼각측량한 이후, 증가된 정확도의 증강이 달성될 수 있다(예를 들어, 오브젝트 주변의 경계들은 더 정밀하게 피트(fit)할 수도 있고, 장면 내의 오브젝트의 표현은 더 현실적으로 나타날 것이며, 타겟 배치는 카메라(114) 포즈에 대해 더 정확할 수 있음).
[0059] 일 실시예에서, 오브젝트 또는 그래픽은, 카메라(114)에 의해 캡쳐되고 디스플레이(112) 상에 디스플레이되는 비디오 스트림(또는 이미지)로 삽입 또는 통합될 수도 있다. 몇몇 실시예들에서, ITC는 타겟을 증강시키기 위하여 부가적인 정보에 대해 사용자를 선택적으로 프롬프트할 수도 있다. 예를 들어, 사용자는, 타겟의 표현을 증강시키기 위해 사용자 콘텐츠를 부가할 수 있을 수도 있다. 사용자 콘텐츠는, 타겟의 표현과 통합되거나, 또는 그 표현과 오버레이되거나, 또는 그 표현을 대체할 수 있는 이미지, 3D 오브젝트, 비디오, 텍스트, 또는 다른 콘텐츠 타입일 수도 있다.
[0060] 디스플레이는 본래의 장면으로부터의 심리스(seamless)한 트래킹으로 실시간으로 업데이트될 수도 있다. 예를 들어, 간판(sign) 상의 텍스트는 대안적인 텍스트로 대체될 수도 있거나, 3D 오브젝트는 장면에서 전략적으로 배치되고 디스플레이(100) 상에 디스플레이될 수도 있다. 사용자가 카메라(114)의 포지션 및 배향을 변경시키는 경우, 그래픽 또는 오브젝트는 카메라(114)의 상대적인 이동을 매칭시키도록 조정 또는 증강될 수 있다. 예를 들어, 가상 오브젝트가 증강 현실 디스플레이로 삽입되면, 가상 오브젝트로부터 떨어지는 카메라 이동은, 카메라(114)에 의해 이동되는 거리에 대해 가상 오브젝트의 사이즈를 감소시킬 수 있다. 예를 들어, 가상 오브젝트로부터 4걸음을 뒤로 취하는 것은, 다른 모든 변수들이 동일하다면, 가상 오브젝트로부터 절반의 걸음을 뒤로 취하는 것과 비교하여 가상 오브젝트의 사이즈에서 더 큰 감소를 야기해야 한다. 모션 그래픽들 또는 애니메이션은 ITC에 의해 표현되는 장면 내에서 애니메이팅(animate)될 수 있다. 예를 들어, 애니메이팅된 오브젝트는, 증강 현실 디스플레이에서 도시된 장면 내에서 "이동"할 수 있다.
[0061] 당업자는, 본 명세서에 설명된 실시예들이 AR 이외의 방식들(예를 들어, 평면의 자연스러운 피쳐 타겟들의 인시츄 생성을 이용하기 위한 로봇 포지셔닝 또는 다른 구현)로 구현될 수 있음을 인식할 것이다.
[0062] 도 8은 인시츄 타겟 생성의 일 실시예를 도시한 흐름도이다. 블록(810)에서, ITC는, 상술된 바와 같이 제 1 기준 이미지로부터 평면 타겟을 생성 또는 초기화할 수 있다.
[0063] 블록(815)에서, ITC는 타겟을 트래킹하기를 시작할 수 있다. 일 실시예에서, 카메라(114)가 임의의 방향으로 (예를 들어, 6DoF로) 이동하는 경우, 초기 타겟 트래킹이 개시된다. 일 실시예에서, 카메라 또는 이미지 센서가 타겟에 대한 적어도 부분적인 직결선(line of sight)을 보유하는 (즉, 전체적으로 차단되지 않은) 동안, ITC는 6DoF로 타겟을 트래킹한다.
[0064] 블록(820)에서, 타겟을 개량하기 위해 사용할 제 2 기준 이미지로서 현재의 캡쳐된 이미지를 선택하기 전에, ITC는 병진 또는 베이스라인 임계치가 충족되는지를 결정할 수 있다. 예를 들어, 병진 임계치는, 제 1 기준 이미지의 제 1 카메라 포즈(예를 들어, 제 1 기준 이미지가 캡쳐되었던 순간의 카메라 포즈)로부터 제 2 기준 이미지의 제 2 카메라 포즈(예를 들어, 제 2 기준 이미지가 캡쳐되었던 순간의 카메라 포즈)까지의 카메라 포즈에서의 이동 또는 변화의 양에 기초할 수도 있다. 카메라 이동은, 제 1 카메라 포지션으로부터 제 2(즉, 현재의) 카메라 포지션으로의 뷰잉 방향 사이에서 각도의 형성을 초래한다. 각도가 충분한 수의 피쳐들에 대해 많이 충분한 경우(즉, 미리 결정된 임계값이 달성되는 경우), ITC는, 제 1 기준 이미지 및 제 2 기준 이미지를 사용하여 강인한(robust) 삼각측량을 실행할 수 있다.
[0065] 일 실시예에서, 임계 병진이 발생하는 경우, ITC는, 병진 임계치를 충족시키는 것과 연관된 이미지(예를 들어, 후속/캡쳐된 이미지)를 제 2 기준 이미지로서 할당하고, 블록(825)로 계속할 수 있다. 그렇지 않으면, ITC는 블록(815)에서 초기 평면 타겟을 계속 트래킹할 수 있다. 일 실시예에서, ITC는, (예를 들어, 카메라(114)로부터 캡쳐된 일련의 프레임들로부터의) 다수의 이미지들을 통해 반복할 수 있으며, 병진 임계치가 충족되는지를 결정하기 위해 각각의 이미지를 프로세싱한다.
[0066] 블록(825)에서, ITC는, 제 1 기준 이미지로부터의 하나 또는 그 초과의 추출된/계산된 피쳐들(예를 들어, 피쳐 포인트들, 또는 기준 피쳐들)을 제 2 기준 이미지와 매칭할 수 있다.
[0067] 블록(830)에서, ITC는, 제 1 및 제 2 기준 이미지 및 그들 각각의 피쳐들에 기초하여, 매칭된 피쳐들을 삼각측량할 수 있다. ITC는, 상이한 뷰잉 방향들로부터의 오브젝트 또는 장면의 동일한 섹션을 도시하는 2개의 이미지들을 프로세싱할 수도 있다. ITC는 대응물들(즉, 제 1 및 제 2 이미지들 둘 모두에서 발견되는 동일한 장면 피쳐 포인트들)을 발견할 수 있다. ITC는, 제 1 기준 이미지로부터 제 2 기준 이미지로 카메라를 이동했던 모션과 함께 이들 대응하는 피쳐 포인트들의 3D 구조를 계산할 수 있다.
[0068] 블록(835)에서, ITC는, 상대적인 카메라 포즈 및 피쳐 포인트들(예를 들어, 3D 피쳐 좌표들)을 더 정확하게 추정하기 위해 번들(bundle) 조정을 수행할 수 있다. 피쳐 포인트들은, 3차원 공간에서 하나 또는 그 초과의 포인트들의 포지션을 표현할 수도 있으며, 각각의 포인트는 3개의 카테시안 좌표들에 의해 설명된다. 상이한 관점들로부터 다수의 피쳐 포인트들을 도시하는 이미지들의 세트가 주어지면, 번들 조정은, 장면 지오메트리를 설명하는 3D 좌표들을 뿐만 아니라 이미지를 포착하기 위해 이용되는 카메라의 광학 특징들 및 상대적인 모션의 파라미터들을 동시에 개량하는 것으로서 정의될 수 있다. 몇몇 실시예들에서, 번들 조정은, 관측된 이미지 위치들과 예측된 이미지 포인트들 사이의 재-투영(re-projection) 에러를 최소화시키는 것을 도울 수 있다. 번들 조정은, 관측된 이미지 피쳐들에 관련된 잡음에 대한 최적의 재구성을 획득하기 위해 뷰잉 파라미터들(예를 들어, 카메라 포즈, 고유한 교정 및 방사 왜곡)을 고려할 수도 있다.
[0069] 블록(840)에서, ITC는 평면내(in-plane) 피쳐들을 보유할 수도 있다. 일 실시예에서, ITC는, 평면 내에 놓여 있는 피쳐들로 모든 피쳐들의 세트를 감소시킬 수도 있으며, 어떤 기준 이미지가 추정된 평면을 표현하는데 더 양호하게 적합한지에 의존하여, 단일 기준 이미지(즉, 제 1 기준 이미지) 또는 제 2 기준 이미지 중 어느 하나를 사용(예를 들어, 선택)하여 새로운 타겟 데이터세트를 생성할 수도 있다. 일 실시예에서, ITC는, 제 1 또는 제 2 기준 이미지들 중 어떤 것도 전면-평행 임계치에 충분히 근접하지 않으면, 개정된 뷰로부터 타겟을 생성하기 위해 제 1 또는 제 2 기준 이미지들을 워핑할 수 없다.
[0070] 블록(845)에서, ITC는, 부가적인 기준 이미지들로부터의 누산된 피쳐(들)에 기초하여 카메라 및 모델(타겟)을 추가적으로 최적화시킬 수 있다. 일 실시예에서, ITC는, 카메라의 레코딩된 이동들(예를 들어, 초기 기준 이미지에 후속하는 이동)에 기초하여 카메라 및 모델을 최적화시킨다. 카메라가 (예를 들어, 사용자 개시된 이동 또는 로봇 이동에 의해) 이동하는 경우, 디스플레이는 실시간으로 업데이트될 수 있다. 실시간 피드백을 수신하는 것은, 카메라를 계속 이동시키도록 사용자를 장려할 수 있다. 부가적인 카메라 이동은, 모델의 추가적인 개량 및 트래킹에서의 더 큰 정확도를 제공할 수 있다. 예를 들어, 증강 현실 콘텍스트에서, 디바이스는 통합된 그래픽 또는 오브젝트를 장면으로 디스플레이하며, 그래픽 또는 오브젝트는, 카메라가 이동(예를 들어, 하나 또는 그 초과의 6DoF에서의 이동)될 경우, 그래픽 또는 오브젝트가 다른 오브젝트들 또는 환경에 대한 (제 1 기준 이미지로부터 결정된 포지션 및 배향에 대한) 자신의 상대적인 포지션을 보유하도록 장면에 포지셔닝된다.
[0071] 블록(850)에서, ITC는, 개량된 타겟을 트래킹하고 선택적으로는 타겟의 증강된 표현을 디스플레이에 제공하도록 계속될 수 있다. ITC는, 계속된 트래킹 및 AR 디스플레이를 위해 다른 모듈에 개량된 타겟을 출력할 수도 있다.
[0072] 본 명세서의 교시들은 다양한 장치들(예를 들어, 디바이스들)에 포함(예를 들어, 그 장치들 내에서 구현 또는 그 장치들에 의해 수행)될 수도 있다. 일 실시예에서, ITC는, 입력으로서 이미지들 또는 비디오를 수신하기 위하여 프로세서에 의해 실행된 엔진으로서 구현될 수 있다. 본 명세서에 교시된 하나 또는 그 초과의 양상들은, 폰(예를 들어, 셀룰러 폰), 개인 휴대 정보 단말("PDA"), 태블릿, 모바일 컴퓨터, 랩탑 컴퓨터, 태블릿, 엔터테인먼트 디바이스(예를 들어, 뮤직 또는 비디오 디바이스), 헤드셋(예를 들어, 헤드폰들, 이어피스들 등), 의료용 디바이스(예를 들어, 바이오메틱(biometric) 센서, 심박수 모니터, 계보기, EKG 디바이스 등), 사용자 I/O 디바이스, 컴퓨터, 서버, 판매-시점관리(point of sale) 디바이스, 엔터테인먼트 디바이스, 셋탑 박스, 또는 임의의 다른 적절한 디바이스로 포함될 수도 있다. 이들 디바이스들은 상이한 전력 및 데이터 요건들을 가질 수도 있으며, 각각의 특성 또는 특성들의 세트에 대해 생성된 상이한 전력 프로파일들을 초래할 수도 있다.
[0073] 몇몇 양상들에서, 무선 디바이스는, 통신 시스템을 위한 액세스 디바이스(예를 들어, Wi-Fi 액세스 포인트)를 포함할 수도 있다. 그러한 액세스 디바이스는, 예를 들어, 유선 또는 무선 통신 링크를 통해 트랜시버(140)(예를 들어, 인터넷 또는 셀룰러 네트워크와 같은 광역 네트워크)에 걸쳐 다른 네트워크로의 접속을 제공할 수도 있다. 따라서, 액세스 디바이스는, 다른 디바이스(예를 들어, Wi-Fi 스테이션)가 다른 네트워크 또는 몇몇 다른 기능에 액세스할 수 있게 할 수도 있다. 부가적으로, 디바이스들 중 하나 또는 둘 모두가 휴대가능할 수도 있거나, 또는 몇몇 경우들에서는 비교적 비-휴대가능할 수도 있음을 인식해야 한다.
[0074] 당업자들은, 정보 및 신호들이 다양한 상이한 기법들 및 기술들 중 임의의 기법 및 기술을 사용하여 표현될 수도 있음을 이해할 것이다. 예를 들어, 상기 설명 전반에 걸쳐 참조될 수도 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들, 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 자기 입자들, 광학 필드들 또는 광학 입자들, 또는 이들의 임의의 결합에 의해 표현될 수도 있다.
[0075] 당업자들은, 본 명세서에 기재된 실시예들과 관련하여 설명된 다양한 예시적인 로직 블록들, 모듈들, 엔진들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이 둘의 결합들로서 구현될 수도 있음을 추가적으로 인식할 것이다. 하드웨어와 소프트웨어의 이러한 상호교환가능성을 명확히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 엔진들, 회로들, 및 단계들은 그들의 기능 관점들에서 일반적으로 상술되었다. 그러한 기능이 하드웨어로 구현되는지 또는 소프트웨어로 구현되는지 여부는 특정 애플리케이션, 및 전체 시스템에 부과된 설계 제약들에 의존한다. 당업자들은 설명된 기능을 각각의 특정 애플리케이션에 대해 다양한 방식들로 구현할 수도 있지만, 그러한 구현 결정들이 본 발명의 범위를 벗어나게 하는 것으로서 해석되지는 않아야 한다.
[0076] 본 명세서에 기재된 실시예들과 관련하여 설명된 다양한 예시적인 로직 블록들, 모듈들, 및 회로들은 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적회로(ASIC), 필드 프로그래밍가능 게이트 어레이(FPGA) 또는 다른 프로그래밍가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본 명세서에 설명된 기능들을 수행하도록 설계된 이들의 임의의 결합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 또한, 프로세서는 컴퓨팅 디바이스들의 결합, 예를 들어 DSP와 마이크로프로세서의 결합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 또는 그 초과의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로서 구현될 수도 있다.
[0077] 본 명세서에 기재된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계들은 직접 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이 둘의 결합으로 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드디스크, 착탈형 디스크, CD-ROM, 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는, 프로세서가 저장 매체로부터 정보를 판독하고, 저장 매체에 정보를 기입할 수 있도록 프로세서에 커플링된다. 대안적으로, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서 및 저장 매체는 ASIC에 상주할 수도 있다. ASIC는 사용자 단말에 상주할 수도 있다. 대안적으로, 프로세서 및 저장 매체는 사용자 단말에서 개별 컴포넌트들로서 상주할 수도 있다.
[0078] 하나 또는 그 초과의 예시적인 실시예들에서, 설명된 기능들 또는 모듈들은 하드웨어(예를 들어, 하드웨어(162)), 소프트웨어(예를 들어, 소프트웨어(165)), 펌웨어(예를 들어, 펌웨어(163)), 또는 이들의 임의의 결합으로 구현될 수도 있다. 컴퓨터 프로그램 물건으로서 소프트웨어로 구현되면, 기능들 또는 모듈들은 비-일시적인 컴퓨터 판독가능 매체 상에 하나 또는 그 초과의 명령들 또는 코드로서 저장되거나 이들을 통해 송신될 수도 있다. 컴퓨터 판독가능 매체들은, 일 장소에서 다른 장소로의 컴퓨터 프로그램의 전달을 용이하게 하는 임의의 매체들을 포함한 통신 매체들 및 컴퓨터 저장 매체들 둘 모두를 포함할 수 있다. 저장 매체들은 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수도 있다. 제한이 아닌 예로서, 그러한 비-일시적인 컴퓨터-판독가능 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장부, 자기 디스크 저장부 또는 다른 자기 저장 디바이스들, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 반송(carry) 또는 저장하는데 사용될 수 있고, 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속수단(connection)이 컴퓨터-판독가능 매체로 적절히 지칭된다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선(twisted pair), 디지털 가입자 라인(DSL), 또는 (적외선, 라디오, 및 마이크로파와 같은) 무선 기술들을 사용하여 웹 사이트, 서버, 또는 다른 원격 소스로부터 송신되면, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 (적외선, 라디오, 및 마이크로파와 같은) 무선 기술들이 매체의 정의에 포함된다. 본 명세서에서 사용된 바와 같이, 디스크(disk) 및 디스크(disc)는 컴팩트 디스크(disc)(CD), 레이저 디스크(disc), 광학 디스크(disc), 디지털 다기능 디스크(digital versatile disc)(DVD), 플로피 디스크(disk) 및 블루-레이 디스크(disc)를 포함하며, 여기서 디스크(disk)들은 일반적으로 데이터를 자기적으로 재생하지만, 디스크(disc)들은 레이저를 이용하여 광학적으로 데이터를 재생한다. 상기한 것들의 결합들이 또한 비-일시적인 컴퓨터-판독가능 매체들의 범위 내에 포함되어야 한다.
[0079] 기재된 실시예의 이전 설명은 당업자가 본 발명을 사용하거나 또는 실시할 수 있도록 제공된다. 이들 실시예들에 대한 다양한 변형들은 당업자들에게 용이하게 명백할 것이며, 본 명세서에서 정의된 일반적인 원리들은 본 발명의 사상 또는 범위를 벗어나지 않으면서 다른 실시예들에 적용될 수도 있다. 따라서, 본 발명은 본 명세서에 설명된 실시예들로 제한되도록 의도되는 것이 아니라, 본 명세서에 기재된 원리들 및 신규한 특성들과 일치하는 가장 넓은 범위에 부합할 것이다.

Claims (40)

  1. 평면 타겟 생성 및 트래킹을 위한 프로세서-구현된 방법으로서,
    단일 제 1 기준 이미지로부터 및 후속 이미지를 프로세싱하기 전에 평면 타겟을 초기화하는 단계;
    하나 또는 그 초과의 후속 이미지들을 프로세싱하는 단계;
    상기 하나 또는 그 초과의 후속 이미지들의 프로세싱 시에 6 자유도들로 상기 평면 타겟을 트래킹하는 단계;
    프로세싱된 하나 또는 그 초과의 후속 이미지들로부터 제 2 기준 이미지를 선택하는 단계; 및
    상기 제 2 기준 이미지를 선택할 시에, 상기 평면 타겟을 더 정확한 평면 타겟으로 개량(refine)하는 단계를 포함하는, 평면 타겟 생성 및 트래킹을 위한 프로세서-구현된 방법.
  2. 제 1 항에 있어서,
    상기 평면 타겟을 초기화시키기 위한 파라미터로서 상기 평면 타겟의 전면-평행 뷰를 가정하는 단계를 더 포함하는, 평면 타겟 생성 및 트래킹을 위한 프로세서-구현된 방법.
  3. 제 2 항에 있어서,
    상기 단일 제 1 기준 이미지 또는 상기 제 2 기준 이미지 중 어떤 것도 상기 평면 타겟의 실제 전면-평행 뷰들이 아니라면, 상기 단일 제 1 기준 이미지 또는 상기 제 2 기준 이미지로부터 상기 평면 타겟의 개정된 뷰를 생성하는 단계를 더 포함하는, 평면 타겟 생성 및 트래킹을 위한 프로세서-구현된 방법.
  4. 제 1 항에 있어서,
    상기 하나 또는 그 초과의 후속 이미지들을 프로세싱하는 단계는, 상기 하나 또는 그 초과의 후속 이미지들로부터 복수의 피쳐(feature)들을 추출하는 단계를 더 포함하는, 평면 타겟 생성 및 트래킹을 위한 프로세서-구현된 방법.
  5. 제 1 항에 있어서,
    상기 단일 제 1 기준 이미지로부터 상기 평면 타겟을 초기화시키는 단계는, 전체 단일 제 1 기준 이미지를 상기 평면 타겟으로서 할당하는 단계를 더 포함하는, 평면 타겟 생성 및 트래킹을 위한 프로세서-구현된 방법.
  6. 제 1 항에 있어서,
    상기 단일 제 1 기준 이미지로부터 상기 평면 타겟을 초기화시키는 단계는,
    상기 단일 제 1 기준 이미지로부터 복수의 기준 피쳐들을 추출하는 단계; 및
    각각의 추출된 기준 피쳐에 대해, 상기 평면 타겟 내에서 각각의 기준 피쳐 위치를 결정하는 단계를 더 포함하는, 평면 타겟 생성 및 트래킹을 위한 프로세서-구현된 방법.
  7. 제 6 항에 있어서,
    상기 평면 타겟을 더 정확한 평면 타겟으로 개량하는 단계는,
    상기 후속 이미지들 각각의 프로세싱에 기초하여, 상기 기준 피쳐 위치들 중 하나 또는 그 초과에 대한 업데이트된 기준 피쳐를 결정하는 단계;
    상기 단일 제 1 기준 이미지와 연관된 기준 카메라 뷰와 복수의 후속 카메라 뷰들 사이의 병진(translation)들을 측정하는 단계 - 상기 후속 카메라 뷰들 각각은 상기 후속 이미지들 중 하나와 연관됨 -;
    각각의 후속 이미지에 대해, 대응하는 측정된 병진이 병진 임계치를 충족시킨다고 결정하는 단계; 및
    상기 각각의 후속 이미지를 상기 제 2 기준 이미지로서 할당하는 단계를 더 포함하는, 평면 타겟 생성 및 트래킹을 위한 프로세서-구현된 방법.
  8. 제 7 항에 있어서,
    상기 평면 타겟을 더 정확한 평면 타겟으로 개량하는 단계는, 상기 제 2 기준 이미지로부터의 대응하는 피쳐들을 이용하여 상기 단일 제 1 기준 이미지로부터 상기 기준 피쳐들을 삼각측량(triangulate)하는 단계를 더 포함하며,
    상기 삼각측량하는 단계는,
    상기 단일 제 1 기준 이미지 및 상기 제 2 기준 이미지에서 상기 평면 타겟에 의해 커버된 영역을 계산하는 단계; 및
    상기 단일 제 1 기준 이미지 및 상기 제 2 기준 이미지에서 상기 평면 타겟에 수직한 실제 평면을 계산하는 단계를 더 포함하는, 평면 타겟 생성 및 트래킹을 위한 프로세서-구현된 방법.
  9. 제 1 항에 있어서,
    상기 평면 타겟은, 상기 단일 제 1 기준 이미지에서 부분적으로 차단된 것, 임의의 평면 형상, 또는 중력에 대한 임의의 배향 중 하나 또는 그 초과인, 평면 타겟 생성 및 트래킹을 위한 프로세서-구현된 방법.
  10. 제 1 항에 있어서,
    상기 평면 타겟의 초기화 시에 그리고 상기 후속 이미지를 프로세싱하기 전에 상기 평면 타겟의 증강 현실 표현을 디스플레이하는 단계; 및
    6 자유도들로의 상기 평면 타겟을 트래킹하는 것에 기초하여, 상기 증강 현실 표현을 업데이트하는 단계를 더 포함하는, 평면 타겟 생성 및 트래킹을 위한 프로세서-구현된 방법.
  11. 데이터 프로세싱 디바이스로 하여금 평면 타겟 생성 및 트래킹을 위한 방법을 수행하게 하는 실행가능한 프로그램 명령들을 포함하는 컴퓨터 판독가능 비-일시적인 저장 매체로서,
    상기 방법은,
    단일 제 1 기준 이미지로부터 및 후속 이미지를 프로세싱하기 전에 평면 타겟을 초기화하는 단계;
    하나 또는 그 초과의 후속 이미지들을 프로세싱하는 단계;
    상기 하나 또는 그 초과의 후속 이미지들의 프로세싱 시에 6 자유도들로 상기 평면 타겟을 트래킹하는 단계;
    프로세싱된 하나 또는 그 초과의 후속 이미지들로부터 제 2 기준 이미지를 선택하는 단계; 및
    상기 제 2 기준 이미지를 선택할 시에, 상기 평면 타겟을 더 정확한 평면 타겟으로 개량(refine)하는 단계를 포함하는, 컴퓨터 판독가능 비-일시적인 저장 매체.
  12. 제 11 항에 있어서,
    상기 평면 타겟을 초기화시키기 위한 파라미터로서 상기 평면 타겟의 전면-평행 뷰를 가정하는 단계를 더 포함하는, 컴퓨터 판독가능 비-일시적인 저장 매체.
  13. 제 12 항에 있어서,
    상기 단일 제 1 기준 이미지 또는 상기 제 2 기준 이미지 중 어떤 것도 상기 평면 타겟의 실제 전면-평행 뷰들이 아니라면, 상기 단일 제 1 기준 이미지 또는 상기 제 2 기준 이미지로부터 상기 평면 타겟의 개정된 뷰를 생성하는 단계를 더 포함하는, 컴퓨터 판독가능 비-일시적인 저장 매체.
  14. 제 11 항에 있어서,
    상기 하나 또는 그 초과의 후속 이미지들을 프로세싱하는 단계는, 상기 하나 또는 그 초과의 후속 이미지들 각각으로부터 복수의 피쳐들을 추출하는 단계를 더 포함하는, 컴퓨터 판독가능 비-일시적인 저장 매체.
  15. 제 11 항에 있어서,
    상기 단일 제 1 기준 이미지로부터 상기 평면 타겟을 초기화시키는 단계는, 전체 단일 제 1 기준 이미지를 상기 평면 타겟으로서 할당하는 단계를 더 포함하는, 컴퓨터 판독가능 비-일시적인 저장 매체.
  16. 제 11 항에 있어서,
    상기 단일 제 1 기준 이미지로부터 상기 평면 타겟을 초기화시키는 단계는,
    상기 단일 제 1 기준 이미지로부터 복수의 기준 피쳐들을 추출하는 단계; 및
    각각의 추출된 기준 피쳐에 대해, 상기 평면 타겟 내에서 각각의 기준 피쳐 위치를 결정하는 단계를 더 포함하는, 컴퓨터 판독가능 비-일시적인 저장 매체.
  17. 제 16 항에 있어서,
    상기 평면 타겟을 더 정확한 평면 타겟으로 개량하는 단계는,
    상기 후속 이미지들 각각의 프로세싱에 기초하여, 상기 기준 피쳐 위치들 중 하나 또는 그 초과에 대한 업데이트된 기준 피쳐를 결정하는 단계;
    상기 단일 제 1 기준 이미지와 연관된 기준 카메라 뷰와 복수의 후속 카메라 뷰들 사이의 병진들을 측정하는 단계 - 상기 후속 카메라 뷰들 각각은 상기 후속 이미지들 중 하나와 연관됨 -;
    각각의 후속 이미지에 대해, 대응하는 측정된 병진이 병진 임계치를 충족시킨다고 결정하는 단계; 및
    상기 각각의 후속 이미지를 상기 제 2 기준 이미지로서 할당하는 단계를 더 포함하는, 컴퓨터 판독가능 비-일시적인 저장 매체.
  18. 제 17 항에 있어서,
    상기 평면 타겟을 더 정확한 평면 타겟으로 개량하는 단계는, 상기 제 2 기준 이미지로부터의 피쳐들을 이용하여 상기 단일 제 1 기준 이미지로부터 상기 기준 피쳐들을 삼각측량하는 단계를 더 포함하며,
    상기 삼각측량하는 단계는,
    상기 단일 제 1 기준 이미지 및 상기 제 2 기준 이미지에서 상기 평면 타겟에 의해 커버된 영역을 계산하는 단계; 및
    상기 단일 제 1 기준 이미지 및 상기 제 2 기준 이미지에서 상기 평면 타겟에 수직한 실제 평면을 계산하는 단계를 더 포함하는, 컴퓨터 판독가능 비-일시적인 저장 매체.
  19. 제 11 항에 있어서,
    상기 평면 타겟은, 상기 단일 제 1 기준 이미지에서 부분적으로 차단된 것, 임의의 평면 형상, 또는 중력에 대한 임의의 배향 중 하나 또는 그 초과인, 컴퓨터 판독가능 비-일시적인 저장 매체.
  20. 제 11 항에 있어서,
    상기 평면 타겟의 초기화 시에 그리고 상기 후속 이미지를 프로세싱하기 전에 상기 평면 타겟의 증강 현실 표현을 디스플레이하는 단계; 및
    6 자유도들로의 상기 평면 타겟을 트래킹하는 것에 기초하여, 상기 증강 현실 표현을 업데이트하는 단계를 더 포함하는, 컴퓨터 판독가능 비-일시적인 저장 매체.
  21. 데이터 프로세싱 디바이스로서,
    프로세서; 및
    상기 프로세서에 커플링되고, 명령들을 저장하기 위해 구성가능한 저장 디바이스를 포함하며,
    상기 명령들은, 상기 프로세서에 의해 실행된 경우, 상기 프로세서로 하여금,
    단일 제 1 기준 이미지로부터 및 후속 이미지를 프로세싱하기 전에 평면 타겟을 초기화하게 하고;
    하나 또는 그 초과의 후속 이미지들을 프로세싱하게 하고;
    상기 하나 또는 그 초과의 후속 이미지들의 프로세싱 시에 6 자유도들로 상기 평면 타겟을 트래킹하게 하고;
    프로세싱된 하나 또는 그 초과의 후속 이미지들로부터 제 2 기준 이미지를 선택하게 하며; 그리고,
    상기 제 2 기준 이미지를 선택할 시에, 상기 평면 타겟을 더 정확한 평면 타겟으로 개량하게 하는, 데이터 프로세싱 디바이스.
  22. 제 21 항에 있어서,
    상기 평면 타겟을 초기화시키기 위한 파라미터로서 상기 평면 타겟의 전면-평행 뷰를 가정하기 위한 명령들을 더 포함하는, 데이터 프로세싱 디바이스.
  23. 제 22 항에 있어서,
    상기 단일 제 1 기준 이미지 또는 상기 제 2 기준 이미지 중 어떤 것도 상기 평면 타겟의 실제 전면-평행 뷰들이 아니라면, 상기 단일 제 1 기준 이미지 또는 상기 제 2 기준 이미지로부터 상기 평면 타겟의 개정된 뷰를 생성하기 위한 명령들을 더 포함하는, 데이터 프로세싱 디바이스.
  24. 제 21 항에 있어서,
    상기 하나 또는 그 초과의 후속 이미지들을 프로세싱하는 것은, 상기 하나 또는 그 초과의 후속 이미지들 각각로부터 복수의 피쳐들을 추출하기 위한 명령들을 더 포함하는, 데이터 프로세싱 디바이스.
  25. 제 21 항에 있어서,
    상기 단일 제 1 기준 이미지로부터 상기 평면 타겟을 초기화시키는 것은, 전체 단일 제 1 기준 이미지를 상기 평면 타겟으로서 할당하기 위한 명령들을 더 포함하는, 데이터 프로세싱 디바이스.
  26. 제 21 항에 있어서,
    상기 단일 제 1 기준 이미지로부터 상기 평면 타겟을 초기화시키는 것은,
    상기 단일 제 1 기준 이미지로부터 복수의 기준 피쳐들을 추출하고; 그리고,
    각각의 추출된 기준 피쳐에 대해, 상기 평면 타겟 내에서 각각의 기준 피쳐 위치를 결정
    하기 위한 명령들을 더 포함하는, 데이터 프로세싱 디바이스.
  27. 제 26 항에 있어서,
    상기 평면 타겟을 더 정확한 평면 타겟으로 개량하는 것은,
    상기 후속 이미지들 각각의 프로세싱에 기초하여, 상기 기준 피쳐 위치들 중 하나 또는 그 초과에 대한 업데이트된 기준 피쳐를 결정하고;
    상기 단일 제 1 기준 이미지와 연관된 기준 카메라 뷰와 복수의 후속 카메라 뷰들 사이의 병진들을 측정하고 - 상기 후속 카메라 뷰들 각각은 상기 후속 이미지들 중 하나와 연관됨 -;
    각각의 후속 이미지에 대해, 대응하는 측정된 병진이 병진 임계치를 충족시킨다고 결정하며; 그리고,
    상기 각각의 후속 이미지를 상기 제 2 기준 이미지로서 할당
    하기 위한 명령들을 더 포함하는, 데이터 프로세싱 디바이스.
  28. 제 27 항에 있어서,
    상기 평면 타겟을 더 정확한 평면 타겟으로 개량하는 것은, 상기 제 2 기준 이미지로부터의 대응하는 피쳐들을 이용하여 상기 단일 제 1 기준 이미지로부터 상기 기준 피쳐들을 삼각측량하기 위한 명령들을 더 포함하며,
    상기 삼각측량하는 것은,
    상기 단일 제 1 기준 이미지 및 상기 제 2 기준 이미지에서 상기 평면 타겟에 의해 커버된 영역을 계산하고; 그리고,
    상기 단일 제 1 기준 이미지 및 상기 제 2 기준 이미지에서 상기 평면 타겟에 수직한 실제 평면을 계산하는 것을 더 포함하는, 데이터 프로세싱 디바이스.
  29. 제 21 항에 있어서,
    상기 평면 타겟은, 상기 단일 제 1 기준 이미지에서 부분적으로 차단된 것, 임의의 평면 형상, 또는 중력에 대한 임의의 배향 중 하나 또는 그 초과인, 데이터 프로세싱 디바이스.
  30. 제 21 항에 있어서,
    상기 평면 타겟의 초기화 시에 그리고 상기 후속 이미지를 프로세싱하기 전에 상기 평면 타겟의 증강 현실 표현을 디스플레이하는 것; 및
    6 자유도들로의 상기 평면 타겟을 트래킹하는 것에 기초하여, 상기 증강 현실 표현을 업데이트하는 것을 더 포함하는, 데이터 프로세싱 디바이스.
  31. 평면 타겟 생성 및 트래킹을 위한 장치로서,
    단일 제 1 기준 이미지로부터 및 후속 이미지를 프로세싱하기 전에 평면 타겟을 초기화하기 위한 수단;
    하나 또는 그 초과의 후속 이미지들을 프로세싱하기 위한 수단;
    상기 하나 또는 그 초과의 후속 이미지들의 프로세싱 시에 6 자유도들로 상기 평면 타겟을 트래킹하기 위한 수단;
    프로세싱된 하나 또는 그 초과의 후속 이미지들로부터 제 2 기준 이미지를 선택하기 위한 수단; 및
    상기 제 2 기준 이미지를 선택할 시에, 상기 평면 타겟을 더 정확한 평면 타겟으로 개량하기 위한 수단을 포함하는, 평면 타겟 생성 및 트래킹을 위한 장치.
  32. 제 31 항에 있어서,
    상기 평면 타겟을 초기화시키기 위한 파라미터로서 상기 평면 타겟의 전면-평행 뷰를 가정하기 위한 수단을 더 포함하는, 평면 타겟 생성 및 트래킹을 위한 장치.
  33. 제 32 항에 있어서,
    상기 단일 제 1 기준 이미지 또는 상기 제 2 기준 이미지 중 어떤 것도 상기 평면 타겟의 실제 전면-평행 뷰들이 아니라면, 상기 단일 제 1 기준 이미지 또는 상기 제 2 기준 이미지로부터 상기 평면 타겟의 개정된 뷰를 생성하기 위한 수단을 더 포함하는, 평면 타겟 생성 및 트래킹을 위한 장치.
  34. 제 31 항에 있어서,
    상기 하나 또는 그 초과의 후속 이미지들을 프로세싱하는 것은, 상기 하나 또는 그 초과의 후속 이미지들 각각으로부터 복수의 피쳐들을 추출하기 위한 수단을 더 포함하는, 평면 타겟 생성 및 트래킹을 위한 장치.
  35. 제 31 항에 있어서,
    상기 단일 제 1 기준 이미지로부터 상기 평면 타겟을 초기화시키는 것은, 전체 단일 제 1 기준 이미지를 상기 평면 타겟으로서 할당하기 위한 수단을 더 포함하는, 평면 타겟 생성 및 트래킹을 위한 장치.
  36. 제 31 항에 있어서,
    상기 단일 제 1 기준 이미지로부터 상기 평면 타겟을 초기화시키는 것은,
    상기 단일 제 1 기준 이미지로부터 복수의 기준 피쳐들을 추출하기 위한 수단; 및
    각각의 추출된 기준 피쳐에 대해, 상기 평면 타겟 내에서 각각의 기준 피쳐 위치를 결정하기 위한 수단을 더 포함하는, 평면 타겟 생성 및 트래킹을 위한 장치.
  37. 제 36 항에 있어서,
    상기 평면 타겟을 더 정확한 평면 타겟으로 개량하는 것은,
    상기 후속 이미지들 각각의 프로세싱에 기초하여, 상기 기준 피쳐 위치들 중 하나 또는 그 초과에 대한 업데이트된 기준 피쳐를 결정하기 위한 수단;
    상기 단일 제 1 기준 이미지와 연관된 기준 카메라 뷰와 복수의 후속 카메라 뷰들 사이의 병진들을 측정하는 것 - 상기 후속 카메라 뷰들 각각은 상기 후속 이미지들 중 하나와 연관됨 -;
    각각의 후속 이미지에 대해, 대응하는 측정된 병진이 병진 임계치를 충족시킨다고 결정하기 위한 수단; 및
    상기 각각의 후속 이미지를 상기 제 2 기준 이미지로서 할당하기 위한 수단을 더 포함하는, 평면 타겟 생성 및 트래킹을 위한 장치.
  38. 제 37 항에 있어서,
    상기 평면 타겟을 더 정확한 평면 타겟으로 개량하는 것은, 상기 제 2 기준 이미지로부터의 대응하는 피쳐들을 이용하여 상기 단일 제 1 기준 이미지로부터 상기 기준 피쳐들을 삼각측량하기 위한 수단을을 더 포함하며,
    상기 삼각측량하는 것은,
    상기 단일 제 1 기준 이미지 및 상기 제 2 기준 이미지에서 상기 평면 타겟에 의해 커버된 영역을 계산하기 위한 수단; 및
    상기 단일 제 1 기준 이미지 및 상기 제 2 기준 이미지에서 상기 평면 타겟에 수직한 실제 평면을 계산하기 위한 수단을 더 포함하는, 평면 타겟 생성 및 트래킹을 위한 장치.
  39. 제 31 항에 있어서,
    상기 평면 타겟은, 상기 단일 제 1 기준 이미지에서 부분적으로 차단된 것, 임의의 평면 형상, 또는 중력에 대한 임의의 배향 중 하나 또는 그 초과인, 평면 타겟 생성 및 트래킹을 위한 장치.
  40. 제 31 항에 있어서,
    상기 평면 타겟의 초기화 시에 그리고 상기 후속 이미지를 프로세싱하기 전에 상기 평면 타겟의 증강 현실 표현을 디스플레이하기 위한 수단; 및
    6 자유도들로의 상기 평면 타겟을 트래킹하는 것에 기초하여, 상기 증강 현실 표현을 업데이트하기 위한 수단을 더 포함하는, 평면 타겟 생성 및 트래킹을 위한 장치.
KR1020157028697A 2013-03-14 2014-02-26 평면의 자연스러운 특성 타겟들의 인시츄 생성 KR102169492B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/802,834 2013-03-14
US13/802,834 US10733798B2 (en) 2013-03-14 2013-03-14 In situ creation of planar natural feature targets
PCT/US2014/018787 WO2014158620A1 (en) 2013-03-14 2014-02-26 In situ creation of planar natural feature targets

Publications (2)

Publication Number Publication Date
KR20150130483A true KR20150130483A (ko) 2015-11-23
KR102169492B1 KR102169492B1 (ko) 2020-10-23

Family

ID=50382554

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157028697A KR102169492B1 (ko) 2013-03-14 2014-02-26 평면의 자연스러운 특성 타겟들의 인시츄 생성

Country Status (7)

Country Link
US (2) US10733798B2 (ko)
EP (2) EP2973395A1 (ko)
JP (1) JP6456347B2 (ko)
KR (1) KR102169492B1 (ko)
CN (2) CN110458865B (ko)
BR (1) BR112015023345B1 (ko)
WO (1) WO2014158620A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10733798B2 (en) 2013-03-14 2020-08-04 Qualcomm Incorporated In situ creation of planar natural feature targets
US20140270477A1 (en) * 2013-03-14 2014-09-18 Jonathan Coon Systems and methods for displaying a three-dimensional model from a photogrammetric scan
US9595125B2 (en) * 2013-08-30 2017-03-14 Qualcomm Incorporated Expanding a digital representation of a physical plane
US20150206343A1 (en) * 2014-01-17 2015-07-23 Nokia Corporation Method and apparatus for evaluating environmental structures for in-situ content augmentation
JP6476657B2 (ja) * 2014-08-27 2019-03-06 株式会社リコー 画像処理装置、画像処理方法、およびプログラム
US9754416B2 (en) * 2014-12-23 2017-09-05 Intel Corporation Systems and methods for contextually augmented video creation and sharing
US10152825B2 (en) 2015-10-16 2018-12-11 Fyusion, Inc. Augmenting multi-view image data with synthetic objects using IMU and image data
RU2613734C1 (ru) * 2015-10-22 2017-03-21 Общество с ограниченной ответственностью "Аби Девелопмент" Захват видео в сценарии ввода данных
US10796477B2 (en) * 2017-06-20 2020-10-06 Edx Technologies, Inc. Methods, devices, and systems for determining field of view and producing augmented reality
US11551368B2 (en) * 2017-08-31 2023-01-10 Sony Group Corporation Electronic devices, methods, and computer program products for controlling 3D modeling operations based on pose metrics
US10706561B2 (en) * 2017-12-21 2020-07-07 612 Authentic Media Systems and methods to track objects in video
JP7427614B2 (ja) * 2018-06-29 2024-02-05 ズークス インコーポレイテッド センサ較正
JP7458405B2 (ja) * 2018-12-20 2024-03-29 パックサイズ リミティド ライアビリティ カンパニー 部分的視覚情報に基づく対象物寸法付けのためのシステムと方法
US11532093B2 (en) 2019-10-10 2022-12-20 Intermap Technologies, Inc. First floor height estimation from optical images
US11370124B2 (en) * 2020-04-23 2022-06-28 Abb Schweiz Ag Method and system for object tracking in robotic vision guidance
US11551366B2 (en) * 2021-03-05 2023-01-10 Intermap Technologies, Inc. System and methods for correcting terrain elevations under forest canopy

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120269388A1 (en) * 2011-04-20 2012-10-25 Qualcomm Incorporated Online reference patch generation and pose estimation for augmented reality
US20120300979A1 (en) * 2011-05-27 2012-11-29 Qualcomm Incorporated Planar mapping and tracking for mobile devices

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2411532B (en) * 2004-02-11 2010-04-28 British Broadcasting Corp Position determination
US7356165B2 (en) * 2004-03-09 2008-04-08 Matsushita Electric Industrial Co., Ltd. Imaging apparatus performing a high reliability data analysis
EP1723605A1 (en) 2004-03-12 2006-11-22 Bracco Imaging, S.P.A. Accuracy evaluation of video-based augmented reality enhanced surgical navigation systems
CN100397411C (zh) * 2006-08-21 2008-06-25 北京中星微电子有限公司 实时鲁棒的人脸追踪显示方法及系统
JP4694624B2 (ja) * 2006-09-13 2011-06-08 パイオニア株式会社 画像補正装置及び方法、並びにコンピュータプログラム
FR2911707B1 (fr) * 2007-01-22 2009-07-10 Total Immersion Sa Procede et dispositifs de realite augmentee utilisant un suivi automatique, en temps reel, d'objets geometriques planaires textures, sans marqueur, dans un flux video.
US8126260B2 (en) * 2007-05-29 2012-02-28 Cognex Corporation System and method for locating a three-dimensional object using machine vision
US8446468B1 (en) * 2007-06-19 2013-05-21 University Of Southern California Moving object detection using a mobile infrared camera
US8401276B1 (en) * 2008-05-20 2013-03-19 University Of Southern California 3-D reconstruction and registration
US8970690B2 (en) * 2009-02-13 2015-03-03 Metaio Gmbh Methods and systems for determining the pose of a camera with respect to at least one object of a real environment
US8379130B2 (en) * 2009-08-07 2013-02-19 Qualcomm Incorporated Apparatus and method of processing images based on an adjusted value of an image processing parameter
FR2951565B1 (fr) * 2009-10-20 2016-01-01 Total Immersion Procede, programme d'ordinateur et dispositif de suivi hybride de representations d'objets, en temps reel, dans une sequence d'images
KR101100784B1 (ko) * 2009-11-10 2012-01-02 광운대학교 산학협력단 물체 인식 방법 및 장치
US8509482B2 (en) 2009-12-21 2013-08-13 Canon Kabushiki Kaisha Subject tracking apparatus, subject region extraction apparatus, and control methods therefor
EP2339537B1 (en) * 2009-12-23 2016-02-24 Metaio GmbH Method of determining reference features for use in an optical object initialization tracking process and object initialization tracking method
KR101080375B1 (ko) 2010-04-23 2011-11-04 광주과학기술원 객체 학습 방법, 객체 학습 방법을 이용한 객체 추적 방법, 객체 학습 및 추적 시스템
KR101657120B1 (ko) * 2010-05-06 2016-09-13 엘지전자 주식회사 이동 단말기 및 이것의 영상 디스플레이 방법
EP2395478A1 (en) 2010-06-12 2011-12-14 Toyota Motor Europe NV/SA Monocular 3D pose estimation and tracking by detection
US9013550B2 (en) 2010-09-09 2015-04-21 Qualcomm Incorporated Online reference generation and tracking for multi-user augmented reality
US9262002B2 (en) 2010-11-03 2016-02-16 Qualcomm Incorporated Force sensing touch screen
US20120120113A1 (en) 2010-11-15 2012-05-17 Eduardo Hueso Method and apparatus for visualizing 2D product images integrated in a real-world environment
EP2689393A1 (en) * 2011-03-23 2014-01-29 Metaio GmbH Method for registering at least one part of a first and second image using a collineation warping function
US9342610B2 (en) * 2011-08-25 2016-05-17 Microsoft Technology Licensing, Llc Portals: registered objects as virtualized, personalized displays
US9305361B2 (en) * 2011-09-12 2016-04-05 Qualcomm Incorporated Resolving homography decomposition ambiguity based on orientation sensors
GB2506338A (en) * 2012-07-30 2014-04-02 Sony Comp Entertainment Europe A method of localisation and mapping
US10733798B2 (en) 2013-03-14 2020-08-04 Qualcomm Incorporated In situ creation of planar natural feature targets

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120269388A1 (en) * 2011-04-20 2012-10-25 Qualcomm Incorporated Online reference patch generation and pose estimation for augmented reality
US20120300979A1 (en) * 2011-05-27 2012-11-29 Qualcomm Incorporated Planar mapping and tracking for mobile devices

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Learning Real-Time Perspective Patch Rectification" *

Also Published As

Publication number Publication date
WO2014158620A1 (en) 2014-10-02
CN105074776A (zh) 2015-11-18
BR112015023345B1 (pt) 2022-08-09
KR102169492B1 (ko) 2020-10-23
BR112015023345A2 (pt) 2017-07-18
JP6456347B2 (ja) 2019-01-23
EP3640889A1 (en) 2020-04-22
JP2016530581A (ja) 2016-09-29
EP2973395A1 (en) 2016-01-20
CN110458865A (zh) 2019-11-15
US20140267397A1 (en) 2014-09-18
US10733798B2 (en) 2020-08-04
US20200334913A1 (en) 2020-10-22
CN110458865B (zh) 2023-08-29
US11481982B2 (en) 2022-10-25
CN105074776B (zh) 2019-08-16

Similar Documents

Publication Publication Date Title
US11481982B2 (en) In situ creation of planar natural feature targets
JP6258953B2 (ja) 単眼視覚slamのための高速初期化
JP6348574B2 (ja) 総体的カメラ移動およびパノラマカメラ移動を使用した単眼視覚slam
JP6228320B2 (ja) 制約なしslam用のセンサベースのカメラ運動検出
EP3251090B1 (en) Occlusion handling for computer vision
EP3907704A1 (en) Augmented reality (ar) capture&play
JP2016522485A (ja) 再構成からの隠消現実感効果および媒介現実感効果
WO2017052805A1 (en) Optimized object detection
CN108028904B (zh) 移动设备上光场增强现实/虚拟现实的方法和系统
US20200211275A1 (en) Information processing device, information processing method, and recording medium
KR20220083166A (ko) 인체 추정 방법 및 장치

Legal Events

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