KR20160019512A - 점 특징 및 선 특징을 사용한 강력한 추적 - Google Patents

점 특징 및 선 특징을 사용한 강력한 추적 Download PDF

Info

Publication number
KR20160019512A
KR20160019512A KR1020167000670A KR20167000670A KR20160019512A KR 20160019512 A KR20160019512 A KR 20160019512A KR 1020167000670 A KR1020167000670 A KR 1020167000670A KR 20167000670 A KR20167000670 A KR 20167000670A KR 20160019512 A KR20160019512 A KR 20160019512A
Authority
KR
South Korea
Prior art keywords
image
point
feature
current image
model
Prior art date
Application number
KR1020167000670A
Other languages
English (en)
Other versions
KR101722654B1 (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 KR20160019512A publication Critical patent/KR20160019512A/ko
Application granted granted Critical
Publication of KR101722654B1 publication Critical patent/KR101722654B1/ko

Links

Images

Classifications

    • G06T7/2033
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/183Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
    • 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
    • G06T7/0044
    • 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/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • 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

개시된 실시예들은 강력한 특징 기반 추적을 위한 장치, 시스템들, 및 방법들에 관한 것이다. 몇몇 실시예들에서, 타겟 오브젝트를 포함하는, 카메라로 캡쳐된 현재 이미지에 대해 스코어가 컴퓨팅될 수 있다. 이 스코어는, 카메라에 의해 캡쳐된 이전 이미지 및 현재 이미지의 특징들의 비교로부터 결정된 하나 또는 그 초과의 메트릭들에 기초할 수 있다. 이 비교는 현재 이미지에 대해 추정된 카메라 포즈에 기초할 수 있다. 몇몇 실시예들에서, 점 임계치 및/또는 선 임계치와 스코어의 비교에 기초하여, 점 기반 특징 대응 방법, 테두리 기반 특징 대응 방법, 또는 결합된 점 및 테두리 기반 특징 대응 방법 중 하나가 선택될 수 있고, 점 임계치 및 선 임계치는 타겟의 모델로부터 획득된다. 선택된 방법을 사용하여 현재 이미지와 모델 이미지 사이에서 특징 대응성들을 설정함으로써, 카메라 포즈가 개선될 수 있다.

Description

점 특징 및 선 특징을 사용한 강력한 추적{ROBUST TRACKING USING POINT AND LINE FEATURES}
관련 출원들에 대한 상호 인용
[0001] 본 출원은, 2013년 6월 14일자로 출원되고 "Robust Tracking Using Point and Line Features"로 명명된 U.S. 가출원 번호 61/835,402의 이득 및 그에 대한 우선권을 주장하는, 2014년 5월 15일자로 출원되고 "Robust Tracking Using Point and Line Features"으로 명명된 U.S. 출원 번호 14/278,928의 이득 및 그에 대한 우선권을 주장하며, 이들 출원들 둘 다는 인용에 의해 그들 전체가 본원에 통합된다.
[0002] 본 개시물은 일반적으로 강력한 특징(feature) 기반 추적을 위한 장치, 시스템들, 및 방법들에 관한 것이고, 특히, 점(point) 특징과 선(line) 특징의 결합을 사용하는 강력한 특징-기반 추적을 위한 시스템들 및 방법들에 관한 것이다.
[0003] 기술의 최근 발전들에 따라, 증강 현실(AR:Augmented Reality) 애플리케이션들이 스마트폰들과 같은 일상적인 사용자 디바이스들 상에서 점점 더 일반적이다. 실시간으로 상호작용할 수 있는 AR 애플리케이션들에서는, 실시간 이미지들이 프로세싱되어, 가상 오브젝트(들)가 이 이미지에 부가될 수 있고 3차원(3D)에서 이 가상 오브젝트가 캡쳐된 이미지에 정렬될 수 있다. 통상적으로, 가상 오브젝트들은 실세계 이미지들을 보충한다. 그러므로, 이미지 시퀀스들을 통해, 실제 이미지에 존재하는 오브젝트들을 검출 및 국부화하고 오브젝트들에 대한 카메라의 포즈를 결정하는 것은, 정확한 가상 오브젝트 배치를 가능하게 하고 실세계와 가상 세계의 블렌딩을 보존한다.
[0004] 이미지 캡쳐를 위해 핸드-헬드 사용자 디바이스들이 사용될 때, 추적 실패 및/또는 불량한 포즈 추정을 야기할 수 있는, 신속하고 제약되지 않은 손 움직임들을 용인하기 위해, 강력한 추적 방법들이 바람직하다. 점 기반 특징들이 쉽게 국부화되고, 이미지들 사이의 특징 대응성들의 결정을 가능하게 하지만, 이러한 점 기반 특징들은 추적 오류들에 민감하고, 이는 포즈 드리프트를 유도할 수 있다. 다른 한편으로, 선 또는 테두리(edge) 기반 특징들은 포즈 드리프트에 덜 민감한데, 그 이유는 선 또는 테두리 기반 특징들이 조명 및 양상 변화들에 직면함에도 안정적이기 때문이다. 그러나, 선 또는 테두리 기반 특징들은 특징 대응성 결정 동안의 오류들에 민감하고, 이는 강력한 테두리-추적을 난제가 되게 한다.
[0005] 그러므로, 더욱 최선의 AR 경험을 위한 강력함 및 추적 정확성을 달성하기 위해 현재의 특징-기반 추적 접근법들을 향상시키는 강력한 추적 방법들이 필요하다.
[0006] 개시된 실시예들은 점 특징 및 테두리 특징을 사용하여 강력한 특징-기반 추적을 수행하기 위한 시스템들, 방법들 및 장치에 관한 것이다.
[0007] 몇몇 실시예들에서, 방법은, 타겟 오브젝트를 포함하는, 카메라로 캡쳐된 현재 이미지에 대한 스코어를 컴퓨팅하는 단계를 포함할 수 있고, 스코어는, 카메라에 의해 캡쳐된 이전 이미지 및 현재 이미지의 특징들의 비교로부터 결정된 하나 또는 그 초과의 메트릭들에 적어도 부분적으로 기초하고, 비교는 현재 이미지에 대해 추정된 카메라 포즈에 기초한다. 추가로, 적어도 하나의 점 임계치 및 적어도 하나의 선 임계치와 스코어의 비교에 적어도 부분적으로 기초하여, 점 기반 특징 대응 방법, 테두리 기반 특징 대응 방법, 또는 결합된 점 및 테두리 기반 특징 대응 방법 중 하나의 방법이 선택될 수 있고, 적어도 하나의 점 임계치 및 적어도 하나의 선 임계치는 타겟의 모델로부터 획득된다.
[0008] 다른 양상에서, 사용자 디바이스(UD:User device)는, 타겟 오브젝트를 포함하는 복수의 이미지들을 캡쳐하도록 구성된 카메라, 타겟 오브젝트의 모델을 저장하도록 구성된 메모리, 및 카메라 및 메모리에 커플링된 프로세서를 포함할 수 있다. 몇몇 실시예들에서, 프로세서는, 카메라에 의해 캡쳐된 현재 이미지에 대한 스코어를 컴퓨팅하도록 구성될 수 있고, 스코어는, 카메라에 의해 캡쳐된 이전 이미지 및 현재 이미지의 특징들의 비교로부터 결정된 하나 또는 그 초과의 메트릭들에 적어도 부분적으로 기초하고, 비교는 현재 이미지에 대해 추정된 카메라 포즈에 기초한다. 프로세서는 추가로, 적어도 하나의 점 임계치 및 적어도 하나의 선 임계치와 스코어의 비교에 적어도 부분적으로 기초하여, 점 기반 특징 대응 방법, 테두리 기반 특징 대응 방법, 또는 결합된 점 및 테두리 기반 특징 대응 방법 중 하나의 방법을 선택하도록 구성될 수 있고, 적어도 하나의 점 임계치 및 적어도 하나의 선 임계치는 타겟 오브젝트의 모델로부터 획득된다.
[0009] 추가 양상에서, 장치는, 타겟 오브젝트를 포함하는 복수의 이미지들을 캡쳐하기 위한 이미징 수단; 타겟 오브젝트의 모델을 저장하기 위한 스토리지 수단 ―스토리지 수단은 이미징 수단에 커플링됨―; 이미징 수단에 의해 캡쳐된 현재 이미지에 대한 스코어를 컴퓨팅하기 위한 수단 ―스코어는, 이미징 수단에 의해 캡쳐된 이전 이미지 및 현재 이미지의 특징들의 비교로부터 결정된 하나 또는 그 초과의 메트릭들에 적어도 부분적으로 기초하고, 비교는 현재 이미지에 대해 추정된 이미징 수단 포즈에 기초함―; 및 적어도 하나의 점 임계치 및 적어도 하나의 선 임계치와 스코어의 비교에 적어도 부분적으로 기초하여, 점 기반 특징 대응 방법, 테두리 기반 특징 대응 방법, 또는 결합된 점 및 테두리 기반 특징 대응 방법 중 하나의 방법을 선택하기 위한 수단을 포함할 수 있고, 적어도 하나의 점 임계치 및 적어도 하나의 선 임계치는 타겟의 저장된 모델로부터 획득된다.
[0010] 또한, 개시된 실시예들은 비-일시적 컴퓨터 판독가능 매체에 관한 것이고, 이 비-일시적 컴퓨터 판독가능 매체는, 프로세서에 의해 실행될 때, 방법의 단계들을 수행하는 명령들을 포함하고, 이 단계들은, 타겟 오브젝트를 포함하는, 카메라로 캡쳐된 현재 이미지에 대한 스코어를 컴퓨팅하는 단계를 포함할 수 있고, 스코어는, 카메라에 의해 캡쳐된 이전 이미지 및 현재 이미지의 특징들의 비교로부터 결정된 하나 또는 그 초과의 메트릭들에 적어도 부분적으로 기초하고, 비교는 현재 이미지에 대해 추정된 카메라 포즈에 기초한다. 추가로, 적어도 하나의 점 임계치 및 적어도 하나의 선 임계치와 스코어의 비교에 적어도 부분적으로 기초하여, 점 기반 특징 대응 방법, 테두리 기반 특징 대응 방법, 또는 결합된 점 및 테두리 기반 특징 대응 방법 중 하나의 방법이 선택될 수 있고, 적어도 하나의 점 임계치 및 적어도 하나의 선 임계치는 환경의 모델로부터 획득된다.
[0011] 본 발명의 실시예들은 단지 예로서 도면들을 참조하여 설명될 것이다.
[0012] 도 1은 개시된 실시예들과 일치하는 방식으로 특징 기반 추적을 구현할 수 있는 예시적 사용자 디바이스의 블록도를 도시한다.
[0013] 도 2a는 개시된 실시예들과 일치하는 방식으로 이미지를 분석하기 위한 예시적 방법에 대한 흐름도를 도시한다.
[0014] 도 2b는 개시된 실시예들과 일치하는 방식으로 점 특징과 선 특징의 결합에 기초한 특징 추적을 위한 예시적 방법에 대한 흐름도를 도시한다.
[0015] 도 3a는 개시된 실시예들과 일치하는 방식으로 이미지를 분석하기 위한 예시적 방법에 대한 흐름도를 도시한다.
[0016] 도 3b는 개시된 실시예들과 일치하는 방식으로 점 특징과 선 특징의 결합에 기초한 특징 추적을 위한 예시적 방법에 대한 흐름도를 도시한다.
[0017] 도 4a는 개시된 실시예들과 일치하는 방식으로 점 추적기를 사용하여 개선된 포즈를 컴퓨팅하기 위한 예시적 방법의 흐름도를 도시한다.
[0018] 도 4b는 개시된 실시예들과 일치하는 방식으로 선 추적기를 사용하여 개선된 포즈를 컴퓨팅하기 위한 예시적 방법의 흐름도를 도시한다.
[0019] 도 4c는 개시된 실시예들과 일치하는 방식으로 점 추적기 및 선 추적기 둘 다를 사용하여 개선된 포즈를 컴퓨팅하기 위한 예시적 방법의 흐름도를 도시한다.
[0020] 도 5는 개시된 실시예들과 일치하는 방식으로 점 특징 및 선 특징을 사용하여 강력한 특징 기반 추적을 가능하게 하도록 인에이블링된 예시적 컴퓨팅 디바이스의 개략적인 블록도를 도시한다.
[0021] 도 6은 개시된 실시예들과 일치하는 방식으로 점 특징과 선 특징의 결합에 기초한 특징 추적을 위한 예시적 방법에 대한 흐름도를 도시한다.
[0022] 컴퓨터 비전에서, 검출은, 캡쳐된 이미지 프레임에서 타겟 오브젝트를 국부화하고, 오브젝트에 대한 카메라 포즈를 컴퓨팅하는 프로세스를 지칭한다. 추적은 이미지 프레임들의 시간상 시퀀스에 따라 오브젝트에 대한 카메라 포즈 추정을 지칭한다. 특징 추적에서, 특징들은 한 번 검출될 수 있고, 이후, 후속하는 이미지들에서, 이전 정보 또는 카메라 포즈에 관한 가정들을 사용하여, 직접적으로 추적될 수 있다. 카메라 포즈의 초기 결정(초기화)에 대해, 특징 매칭이 사용될 수 있다. 특징 매칭에서, 두 개의 이미지들 사이의 대응성들이, 카메라 포즈에 관한 이전 정보 없이, 양쪽 이미지들에서 특징들을 검출함으로써 설정될 수 있고, 이후, 이 특징들은 서로에 대하여 매칭될 수 있다. 예컨대, 초기화 동안, 가장 가까운 매칭 이미지를 찾기 위해, 초기의 캡쳐된 이미지가 하나 또는 그 초과의 저장된 모델 레퍼런스 이미지들과 비교될 수 있고, 각각의 레퍼런스 이미지는 알려진 좌표들을 갖는 별개의 특징들의 알려진 포즈 및 세트와 연관된다. 가장 가까운 매칭 이미지와 연관된 카메라 포즈가 초기 이미지에 대한 카메라 포즈의 초기 추정치로서 사용될 수 있다.
[0023] 통상적으로, 특징-기반 추적 방법들에서는, 오브젝트들을 표현하는데 특징들이 사용될 수 있다. 그러므로, 통상적인 특징-기반 오브젝트 추적은 특징 추출 단계 및 특징 대응 단계를 포함할 수 있다. 특징 추출이 이미지에서 특징들의 검출을 지칭하는 반면에, 특징 대응은 두 개의 이미지들의 특징들 사이의 대응성을 매칭시키거나 또는 결정하는 프로세스이다. 그러므로, 상이한 이미징 조건들(예컨대, 스케일, 일루미네이션, 배향 등) 하에서 다수의 뷰들에 걸쳐 두드러질 개연성이 있는 두드러진 특징들의 사용은, 특징 대응성 결정을 가능하게 한다. 특징 대응성에서의 애매모호함이 추적 오류들을 유도할 수 있다. 통상적인 시스템들에서, 이미지들 사이의 특징 대응성은 통상적으로, 점 기반 특징들(점들을 추적함), 또는 선 또는 테두리 기반 특징들(테두리 추적)을 사용하여 설정된다. 용어들 "선"과 "테두리"는 본원의 특징 추적의 설명들에서 상호 교환 가능하게 사용된다.
[0024] 점 기반 특징 추적은 이미지들 사이의 특징 대응성들의 쉬운 결정을 가능하게 하고, 예상 밖의 프레임 간 모션에 대해 비교적 강력하다. 그러나, 점 기반 기술들에서의 계산 효율성은 종종, 윈도우들(이 윈도우들에 걸쳐, 대응성이 결정됨)의 크기를 감소시킴으로써 구현된다. 대응성 결정을 위한 윈도우 크기의 감소는 이미지 시퀀스들에 걸쳐 추적 오류들을 유도하고, 이는 포즈 드리프트에 기여한다. 두드러진 테두리들의 검출은 변하는 일루미네이션에 직면함에도 강력하다. 급격한 테두리들을 추적할 때, 심지어 일루미네이션 및 양상 변화들이 있더라도, 테두리 정보에만 의존하는 것이 우수한 결과들을 제공한다. 그러나, 테두리 기반 추적은 대응성 미스매치들에 민감하다. 예컨대, 많은 테두리들이 서로 클러스터링되는 이미지들에서는, 대응성 미스매치들이 발생할 수 있고, 이로써 이는 강력함에 영향을 끼친다.
[0025] 점 기반 추적과 테두리 기반 추적을 결합시키기 위한 통상적인 시도들은 통상적으로, 몇몇 조건들에 기초하여 점 추적과 에지 추적 사이에서 교번한다. 다시 말해, 언제라도, 특징 대응성을 설정하는데 점 기반 추적 또는 테두리 기반 추적이 사용된다. 이들 방법들은 두 개의 스킴들 사이에서만 교번하고, 따라서, 하나의 접근법에서의 불량한 포즈 추정치가 다른 접근법에서의 추정치에 영향을 끼칠 수 있다.
[0026] 그러므로, 본원에 개시된 몇몇 실시예들은, 추적 능력들을 향상시키기 위해, 점 기반 추적 기술과 테두리 기반 추적 기술을 결합시킴으로써, 컴퓨터 비전 및 다른 이미지 프로세싱 기술들에 적용된다.
[0027] 이들 실시예들과 다른 실시예들은 추가로, 하기의 도면들에 대하여 하기에서 설명된다. 다른 양상들이 하기의 상세한 설명으로부터 당업자들에게 쉽게 명백해질 것임이 이해되며, 여기서 다양한 양상들은 예시로서 도시되고 설명된다. 도면들과 상세한 설명은 성질상 예시적인 것으로서 간주되어야 하고, 제한적인 것으로서 간주되지 않아야 한다.
[0028] 도 1은 개시된 실시예들과 일치하는 방식으로 특징 기반 추적을 구현할 수 있는 예시적 사용자 디바이스(UD)(100)의 블록도를 도시한다. 본원에 사용된 바와 같이, UD(100)는, 모바일 스테이션 또는 모바일 디바이스, 예컨대, 셀룰러 폰, 모바일 폰, 또는 다른 무선 통신 디바이스, PCS(personal communication system) 디바이스, PND(personal navigation device), PIM(Personal Information Manager), 또는 PDA(Personal Digital Assistant), 랩톱, 태블릿, 노트북 및/또는 핸드헬드 컴퓨터 또는 다른 모바일 디바이스의 형태를 취할 수 있다. 몇몇 실시예들에서, UD(100)는 웨어러블 컴퓨팅 디바이스의 형태를 취할 수 있고, 이 웨어러블 컴퓨팅 디바이스는 웨어러블 헤드세트와 쌍을 이루는 카메라 및/또는 디스플레이 디바이스를 포함할 수 있다. 예컨대, 헤드세트는 HMD(head mounted display)를 포함할 수 있고, 이 HMD는 라이브 및/또는 실세계 이미지들을 디스플레이하는데 사용될 수 있다. 몇몇 실시예들에서, 라이브 이미지들은 하나 또는 그 초과의 가상 오브젝트들과 겹쳐질 수 있다. 몇몇 실시예들에서, UD(100)는 무선 통신 및/또는 내비게이션 신호들을 수신할 수 있다.
[0029] 추가로, 용어 "사용자 디바이스"는 또한, 예컨대 단거리 무선, 적외선, 유선 연결, 또는 다른 연결들에 의해 PND(personal navigation device)와 통신하는 디바이스들을 포함하도록 의도되고, 그리고/또는 포지션-관련 프로세싱이 이 디바이스에서 또는 PND에서 일어난다. 또한, 무선 신호 수신, 도움 데이터 수신, 및/또는 관련 프로세싱이 디바이스에서 일어나는지, 서버에서 일어나는지, 또는 네트워크와 연관된 다른 디바이스에서 일어나는지에 관계없이, "사용자 디바이스"는 다양한 무선 통신 디바이스들을 비롯해 서버와 같은 다른 컴퓨팅 디바이스와 통신할 수 있는 모든 디바이스들을 포함하도록 의도된다. 이들의 임의의 동작 가능한 결합이 또한 "사용자 디바이스"로 간주된다.
[0030] 용어 사용자 디바이스는 또한, 네트워크에 연결되거나 또는 무선으로든 또는 유선 연결을 통해서든 다른 디바이스와 다른 방식으로 통신하도록 구성되지 않을 수 있는 게임 또는 다른 디바이스들을 포함하도록 의도된다. 예컨대, 사용자 디바이스는 통신 엘리먼트들 및/또는 네트워킹 기능성을 생략할 수 있다. 예컨대, 본원에 설명된 실시예들은, 다른 디바이스와 유선 또는 무선 네트워킹을 위해 연결되도록 구성되지 않은 자립형 디바이스에서 구현될 수 있다.
[0031] 몇몇 실시예들에서, UD(100)는 이미지 분석, 특징 검출/추적, 특징 대응성 결정, 모델링, 3D 재구성, AR 등을 포함하는 다양한 컴퓨터 비전(CV:Computer Vision) 방법들을 구현할 수 있다. 몇몇 인스턴스들에서, CV 방법들은 3D 환경의 기존 모델에 기초할 수 있다. 추가로, 몇몇 실시예들에서, CV 방법들은, 개시된 실시예들과 일치하는 방식으로, 실시간으로 또는 거의 실시간으로 구현될 수 있다.
[0032] 도 1에 도시된 바와 같이, UD(100)는 하나 또는 그 초과의 카메라들 또는 이미지 센서들(110)(이후에, "카메라(들)(110)"로 지칭됨), 센서 뱅크 또는 센서들(130), 디스플레이(140), 하나 또는 그 초과의 프로세서(들)(150)(이후에, "프로세서(들)(150)"로 지칭됨), 메모리(160) 및/또는 트랜시버(170)를 포함할 수 있고, 이들은 연결들(120)을 통해 서로에 그리고 UD(100) 상의 다른 기능 유닛들(미도시)에 동작 가능하게 커플링될 수 있다. 연결들(120)은 버스들, 선들, 섬유들, 링크들 등 또는 이들의 어떤 결합을 포함할 수 있다.
[0033] 트랜시버(170)는, 예컨대, 하나 또는 그 초과의 타입들의 무선 통신 네트워크들을 통해 하나 또는 그 초과의 신호들을 송신하도록 인에이블링된 송신기 및 하나 또는 그 초과의 타입들의 무선 통신 네트워크들을 통해 송신되는 하나 또는 그 초과의 신호들을 수신하기 위한 수신기를 포함할 수 있다. 트랜시버(170)는 다양한 기술들, 예컨대, 펨토셀들, IEEE 802.11 표준 패밀리에 기초할 수 있는 Wi-Fi 네트워크들 또는 WLAN(Wireless Local Area Network)들, WPANS(Wireless Personal Area Networks), 이를테면 Bluetooth, NFC(Near Field Communication), IEEE 802.15x 표준 패밀리에 기초한 네트워크들 등, 및/또는 WWAN(Wireless Wide Area Network)들, 예컨대, LTE, WiMAX 등에 기초한 무선 네트워크들(이들로 제한되지는 않음)과의 통신을 허용할 수 있다.
[0034] 예컨대, 트랜시버(170)는 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), WiMax 등과의 통신을 가능하게 할 수 있다.
[0035] CDMA 네트워크는 하나 또는 그 초과의 RAT(radio access technology)들, 예컨대, cdma2000, W-CDMA(Wideband-CDMA) 등을 구현할 수 있다. 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, 및 LTE는 "제3세대 파트너쉽 프로젝트(3GPP)"로서 알려진 조직으로부터의 문서들에서 설명된다. cdma2000은 "제3세대 파트너쉽 프로젝트 2(3GPP2)"로 명명된 컨소시엄으로부터의 문서들에서 설명된다. 3GPP 및 3GPP2 문서들은 공개적으로 이용 가능하다. 또한, 이 기술들은, WWAN, WLAN 및/또는 WPAN의 임의의 결합과 함께 구현될 수 있다. 또한, 사용자 디바이스는 유선 네트워크들을 통해 통신하기 위한 하나 또는 그 초과의 포트들을 포함할 수 있다. 몇몇 실시예들에서, 트랜시버(170), 및/또는 사용자 디바이스(100) 상의 하나 또는 그 초과의 다른 포트들은 생략될 수 있다. 본원에 개시된 실시예들은 자립형 CV/AR 시스템/디바이스에서, 예컨대, 다른 디바이스와의 통신을 요구하지 않는 모바일 스테이션에서 사용될 수 있다.
[0036] 몇몇 실시예들에서, 카메라(들)(110)는 다수의 카메라들, 전면쪽 및/또는 후면쪽 카메라들, 광각 카메라들을 포함할 수 있고, 또한, CCD(charge coupled device)들, CMOS(complementary metal oxide semiconductor), 및/또는 다양한 다른 이미지 센서들을 통합할 수 있다. 스틸 또는 비디오 카메라들일 수 있는 카메라(들)(110)는, 환경의 일련의 이미지 프레임들을 캡쳐할 수 있고, 캡쳐된 이미지 프레임들을 프로세서(150)에 전송할 수 있다. 카메라(들)(110)에 의해 캡쳐된 이미지들은 (예컨대, RGB(Red-Green-Blue)에서) 컬러일 수 있거나, 또는 그레이스케일(grayscale)일 수 있다. 일 실시예에서, 카메라(들)(110)에 의해 캡쳐된 이미지들은 원시 비 압축 포맷으로 있을 수 있고, 그리고 프로세서(들)(150)에 의해 프로세싱되고 그리고/또는 메모리(160)에 저장되기 이전에 압축될 수 있다. 몇몇 실시예들에서, 이미지 압축은 프로세서(들)(150)에 의해 무손실 또는 손실성 압축 기술들을 사용하여 수행될 수 있다.
[0037] 프로세서(들)(150)는 카메라(110)에 의해 캡쳐된 이미지 프레임들을 프로세싱하기 위해 소프트웨어를 실행할 수 있다. 예컨대, 프로세서(들)(150)는, 이미지 분석, 특징 추출, 특징 추적/검출, 특징 대응을 수행하고, 카메라(110)의 포즈를 결정하고 그리고/또는 카메라(들)(110)에 의해 캡쳐된 이미지에 대응하는 환경의 3D 재구성을 수행하기 위해, 카메라(들)(110)에 의해 캡쳐된 하나 또는 그 초과의 이미지 프레임들을 프로세싱할 수 있다.
[0038] 카메라(110)의 포즈는 레퍼런스 프레임에 대한 카메라(110)의 포지션 및 배향을 지칭한다. 몇몇 실시예들에서, 카메라 포즈는 6 자유도(6DOF:6-Degrees Of Freedom)에 대해 결정될 수 있고, 이 6 자유도는 세 개의 병진(translation) 컴포넌트들(X 좌표, Y 좌표, Z 좌표에 의해 주어질 수 있음) 및 세 개의 각도 컴포넌트들(예컨대, 롤(roll), 피치(pitch) 및 요(yaw))을 지칭한다. 몇몇 실시예들에서, 카메라(110) 및/또는 UD(100)의 포즈는, 프로세서(들)(150)에 의해, 시각적 추적 솔루션을 사용하여, 카메라(110)에 의해 캡쳐된 이미지 프레임들에 기초하여 결정 및/또는 추적될 수 있다.
[0039] 프로세서(들)(150)는 하드웨어, 펌웨어, 및 소프트웨어의 결합을 사용하여 구현될 수 있다. 프로세서(들)(150)는 이미지 분석, 3D 재구성, 추적, 이미지들로부터의 특징 추출, 이미지들 사이의 특징 대응, 모델링, 이미지 프로세싱 등을 비롯해 CV에 관련된 컴퓨팅 프로시저 또는 프로세스의 적어도 일부분을 수행하도록 구성 가능한 하나 또는 그 초과의 회로들을 표현할 수 있고, 메모리(160)로부터 명령들 및/또는 데이터를 리트리빙할 수 있다. 몇몇 실시예들에서, 프로세서(들)(150)는 CV 모듈(155)을 포함할 수 있고, 이 CV 모듈(155)은 다양한 CV 애플리케이션들, 예컨대, 위에서 개설된 예시적 CV 애플리케이션들을 실행할 수 있거나 또는 이들의 실행을 가능하게 할 수 있다.
[0040] 메모리(160)는 프로세서들(150) 내에 구현될 수 있고 그리고/또는 프로세서들(150) 외부에 구현될 수 있다. 프로세서(들)(150)는 하나 또는 그 초과의 ASIC(application specific integrated circuit)들, 중앙 및/또는 그래픽 프로세싱 유닛(CPU(central processing unit)들 및/또는 GPU(graphical processing unit)들), DSP(digital signal processor)들, DSPD(digital signal processing device)들, PLD(programmable logic device)들, FPGA(field programmable gate array)들, 제어기들, 마이크로-제어기들, 마이크로프로세서들, 임베딩된 프로세서 코어들, 전자 디바이스들, 본원에 설명된 기능들을 수행하도록 설계된 다른 전자 유닛들, 또는 이들의 결합을 사용하여 구현될 수 있다.
[0041] 메모리(160)는 프로세서(들)(150) 내에 구현될 수 있고 그리고/또는 프로세서들(150) 외부에 구현될 수 있다. 본원에 사용된 바와 같이, 용어 "메모리"는 임의의 타입의 장기, 단기, 휘발성, 비휘발성, 또는 다른 메모리를 지칭하고, 메모리의 임의의 특정 타입 또는 메모리들의 수, 또는 메모리가 저장되는 물리적 미디어의 타입으로 제한되지 않아야 한다. 몇몇 실시예들에서, 메모리(160)는 이미지 분석, 추적, 특징 검출/추출, 특징 대응성 결정, 모델링, 3D 재구성, AR 애플리케이션들 및 프로세서(150)에 의해 수행되는 다른 작업들을 비롯해 다양한 CV 및/또는 이미지 프로세싱 방법들을 가능하게 하기 위한 코드를 보유할 수 있다. 예컨대, 메모리(160)는 데이터, 캡쳐된 스틸 이미지들, 3D 모델들, 깊이 정보, 비디오 프레임들, 프로그램 결과들, 뿐만 아니라 다양한 센서들에 의해 제공되는 데이터를 보유할 수 있다. 일반적으로, 메모리(160)는 임의의 데이터 스토리지 메커니즘을 표현할 수 있다. 메모리(160)는 예컨대, 주 메모리 및/또는 보조 메모리를 포함할 수 있다. 주 메모리는, 예컨대, 랜덤 액세스 메모리, 읽기 전용 메모리 등을 포함할 수 있다. 도 1에서 프로세서들(150)과 별개인 것으로서 예시되지만, 주 메모리의 일부 또는 전부가 프로세서들(150) 내에 제공될 수 있거나 또는 그렇지 않으면 프로세서들(150)에 커플링 및/또는 공동 위치될 수 있음이 이해되어야 한다.
[0042] 보조 메모리는, 예컨대, 주 메모리와 동일한 또는 유사한 타입의 메모리, 및/또는 하나 또는 그 초과의 데이터 스토리지 디바이스들 또는 시스템들, 이를테면, 예컨대, 플래시/USB 메모리 드라이브들, 메모리 카드 드라이브들, 디스크 드라이브들, 광학 디스크 드라이브들, 테이프 드라이브들, 고체 상태 드라이브들, 하이브리드 드라이브들 등을 포함할 수 있다. 특정 구현들에서, 보조 메모리는 UD(100)에 커플링된 탈착 가능한 미디어 드라이브(미도시)에서 비-일시적 컴퓨터-판독가능 매체를 동작 가능하게 수용할 수 있거나, 또는 그렇지 않으면 이 비-일시적 컴퓨터-판독가능 매체에 커플링되도록 구성 가능할 수 있다. 몇몇 실시예들에서, 비 일시적 컴퓨터 판독가능 매체는 메모리(160) 및/또는 프로세서(150)의 일부를 형성할 수 있다.
[0043] 몇몇 실시예들에서, UD(100)는 다양한 다른 센서들(130), 예컨대, 스테레오 카메라들, 주변광 센서들, 마이크로폰들, 음향 센서들, 초음파 센서들, 레이저 거리 측정기들 등 중에서 하나 또는 그 초과를 포함할 수 있다. 특정 예시적 구현들에서, 사용자 디바이스(100)는 IMU(Inertial Measurement Unit)를 포함할 수 있고, 이 IMU는 3개 축 자이로스코프(들), 3개 축 가속도계(들), 및/또는 자력계(들)를 포함할 수 있다. IMU는 속도, 배향, 및/또는 다른 포지션 관련 정보를 프로세서(150)에 제공할 수 있다. 몇몇 실시예들에서, IMU는 카메라들(130)에 의한 각각의 이미지 프레임의 캡쳐와 동기화된 측정 정보를 출력할 수 있다. 몇몇 실시예들에서, IMU의 출력은, 부분적으로, 프로세서(들)(150)에 의해, 카메라(110) 및/또는 UD(100) 포즈의 추정된 포즈를 결정하고, 정정하고, 그리고/또는 그렇지 않으면 조정하는데 사용될 수 있다. 추가로, 몇몇 실시예들에서, 카메라(들)(110)에 의해 캡쳐된 이미지들은 또한, IMU에 대한 바이어스 조정들을 재교정하거나 또는 수행하는데 사용될 수 있다.
[0044] 추가로, UD(100)는 3D 이미지들을 비롯한 컬러 이미지들을 렌더링할 수 있는 스크린 또는 디스플레이(140)를 포함할 수 있다. 몇몇 실시예들에서, UD(100)는, UD(100)에 커플링된 별개의 모니터 또는 디스플레이를 통한 3D 재구성 이미지들의 디스플레이를 허용하기 위한 포트들을 포함할 수 있다. 몇몇 실시예들에서, 디스플레이 및/또는 UD(100)는 웨어러블 디바이스의 형태를 취할 수 있다. 몇몇 실시예들에서, 디스플레이(140)는 카메라(110)에 의해 캡쳐된 라이브 이미지들, 증강 현실(AR:Augmented Reality) 이미지들, GUI(Graphical User Interface)들, 프로그램 출력 등을 디스플레이하는데 사용될 수 있다. 몇몇 실시예들에서, 디스플레이(140)는 터치스크린을 포함하고 그리고/또는 터치스크린과 함께 하우징될 수 있고, 이 터치스크린은, 사용자들이 가상 키보드들, 아이콘들, 메뉴들, 또는 다른 GUI들, 사용자 제스처들 및/또는 입력 디바이스들, 예컨대, 스타일러스 및 다른 입력 디바이스들의 어떤 결합을 통해 데이터를 입력하도록 허용하기 위한 것이다. 몇몇 실시예들에서, 디스플레이(140)는 LCD(Liquid Crystal Display) 디스플레이 또는 LED(Light Emitting Diode) 디스플레이, 예컨대, OLED(Organic LED) 디스플레이를 사용하여 구현될 수 있다. 다른 실시예들에서, 디스플레이(140)는 웨어러블 디스플레이일 수 있고, 이 웨어러블 디스플레이는 UD(100)의 다른 기능 유닛들에 동작 가능하게 커플링될 수 있지만, 이러한 다른 기능 유닛들과 별개로 하우징될 수 있다. 몇몇 실시예들에서, UD(100)는 MS(100)에 커플링된 별개의 모니터를 통한 이미지들의 디스플레이를 허용하기 위한 포트들을 포함할 수 있다.
[0045] UD(100)에 포함된 모든 모듈들이 도 1에서 도시된 것은 아니다. 또한, 예시적 사용자 디바이스(100)는 다양한 방식들로, 본 개시물과 일치하는 식으로, 예컨대, 도시된 기능 블록들 중 하나 또는 그 초과를 부가하거나, 결합하거나, 또는 생략함으로써 수정될 수 있다. 예컨대, 몇몇 구성들에서, 사용자 디바이스(100)는 트랜시버(170)를 포함하지 않을 수 있다. 몇몇 실시예들에서, UD(100)는 부가하여, SPS(Satellite Positioning System) 유닛을 포함할 수 있고, 이 SPS 유닛은 위치 정보를 UD(100)에 제공하는데 사용될 수 있다. 몇몇 실시예들에서, 사용자 디바이스(100)의 일부분들은 하나 또는 그 초과의 칩셋들 등의 형태를 취할 수 있다.
[0046] 몇몇 실시예들에서, UD(100)는, 시각적 특징 기반 추적을 사용할 수 있는 다양한 AR 애플리케이션들을 실행할 수 있다. 몇몇 실시예들에서, UD(100)는 본원에 개시된 실시예들과 일치하는 방식으로 테두리 및 특징 추적의 결합에 기초한 추적 방법을 실행할 수 있다.
[0047] 도 2a는 개시된 실시예들과 일치하는 방식으로 이미지를 분석하기 위한 예시적 방법(200)에 대한 흐름도를 도시한다. 예시적 방법(200)에서는, 방법을 예시하기 위해 그리고 설명의 목적들을 위해 임계치들에 대한 특정 값들이 사용되었다. 그러나, 이들 임계치 값들은 사용된 예시적 값들로 제한되지 않으며, 적절하게 변해질 수 있다.
[0048] 몇몇 실시예들에서, 방법(200)은 모델 생성 단계 동안 오프라인 프로세스로서 수행될 수 있다. 예컨대, 점 기반 특징과 테두리 기반 특징의 결합을 사용하여, 추적될 타겟의 3D 모델이 생성될 수 있다. 몇몇 실시예들에서, 모델은 추적되고 있는 타겟으로부터의 점들 및 선들의 데이터베이스를 포함할 수 있다. 예컨대, 일 실시예에서, 3D 모델은 3D 공간에서 점 클라우드들 및 테두리들 둘 다를 포함할 수 있다. 추가로, 3D 모델은 3D 점 위치들 및 디스크립터(descriptor)들의 데이터베이스들, 그리고 두드러진 테두리들의 CAD(computer-aided design) 모델들을 포함할 수 있다. 몇몇 실시예들에서, 모델 생성은 카메라(110)에 의해 캡쳐된 라이브 이미지들에 기초하여 실시간으로 수행될 수 있다. 몇몇 실시예들에서, 방법(200)은 모델 생성 또는 분석 동안 프로세서(들)(150) 및/또는 CV 모듈(155)에 의해 수행될 수 있다. 단계(205)에서, 모델에 관련된 하나 또는 그 초과의 이미지들이 분석되어, 이 이미지(들)로부터 특징들이 추출될 수 있다. 추출된 특징들은 점 및/또는 선/테두리 특징들을 포함할 수 있다. 일반적으로, 개시된 실시예들과 일치하는 방식으로, 테두리 검출 기술들, 예컨대, Canny 테두리 검출 및 이들의 그 변형들, 차분(differential) 테두리 검출 기술들, Sobel 테두리 검출 등과 결합하여, 하나 또는 그 초과의 점 검출 기술들, 예컨대, SIFT(Scale Invariant Feature Transform), SURF(Speeded Up Robust Features) 등이 사용될 수 있다. 검출 기술들은 모서리(corner) 검출기들, 예컨대, "FAST(Feature from Accelerated Segment Test)", "SUSAN(Smallest Univalue Segment Assimilating Nucleus)", MSER(Maximally Stable Extremal Region) 기반 검출기들, Harris 검출기들 등을 포함한다. 예컨대, 모서리 검출기들이 사용되는 인스턴스들에서는, 모서리 검출기에 의해 검출되는 모서리 점들이 점 특징들로서 사용될 수 있다. 일반적으로, 임의의 적절한 점 및/또는 테두리 검출 기술은 이용 가능한 시스템 자원들, 원하는 정확성, 속력, 및 다른 설계 파라미터들에 기초하여 사용될 수 있다.
[0049] 다음 차례로, 단계(210)에서, 이미지(들)가 점 특징들이 풍부하다면, 즉, "점 풍부(rich)"라면(단계(210)에서 "Y"), 단계(215)에서, 임계치 값 T-점은 "0.0"으로 셋팅될 수 있고, 방법은 단계(240)로 진행한다. 그렇지 않으면(단계(210)에서 "N"), 방법은 단계(220)로 진행한다.
[0050] 단계(220)에서, 이미지(들)에서 점 특징들이 부족하다면, 즉, "점 빈약(poor)"이라면(단계(220)에서 "Y"), 단계(225)에서, 임계치 값 T-점은 "1.0"으로 셋팅될 수 있고, 방법은 단계(240)로 진행한다. 그렇지 않으면(단계(220)에서 "N"), 방법은 단계(230)로 진행하는데, 여기서 임계치 값 T-점은 이미지에서 검출된 점 특징들의 수에 기초하여 0.0 내지 1.0의 수로 셋팅될 수 있다.
[0051] 몇몇 실시예들에서, 이미지가 점 풍부인지 또는 점 빈약인지의 결정은 이 이미지로부터 추출된 점 특징들의 수에 기초하여 이루어질 수 있다. 예컨대, 추출된 점 특징들의 수가 제1 점 카운트 값을 초과한다면, 이미지는 점 풍부인 것으로 여겨질 수 있다. 반대로, 추출된 점 특징들의 수가 제2 점 카운트 값 미만이라면, 이미지는 점 빈약인 것으로 여겨질 수 있다. 점 카운트가 제1 점 카운트와 제2 점 카운트의 사이에 속하는 몇몇 이미지들은, 점 풍부도 점 빈약도 아닐 수 있다. 점 카운트 값은, 이용 가능한 프로세싱 전력, 원하는 응답 시간들, 원하는 추적 정확성의 정도, 및/또는 다른 시스템 파라미터들에 기초하여, 체험적으로 셋팅될 수 있다.
[0052] 다음 차례로, 단계(240)에서, 이미지(들)가 선 특징들이 풍부라면, 즉, "선 풍부"라면(단계(240)에서 "Y"), 단계(245)에서, 임계치 값 T-선은 "0.4"로 셋팅될 수 있고, 방법은 종료할 수 있다. 그렇지 않으면(단계(240)에서 "N"), 방법은 단계(250)로 진행한다. 위의 T-점 및 T-선의 값들은 예시적이다. 일반적으로, T-점 및 T-선의 값들은 점 특징 또는 선 특징에 따른 가중치들에 기초하여 선택될 수 있다. T-선 = 0.4인 위의 예에서, 점 특징들에는 선 특징들보다 더 큰 가중치가 부여되었다.
[0053] 단계(250)에서, 이미지(들)에서 선 특징들이 부족하다면, 즉, "선 빈약"이라면(단계(250)에서 "Y"), 단계(255)에서, 임계치 값 T-선은 "0.0"으로 셋팅될 수 있고, 방법은 종료할 수 있다. 그렇지 않으면(단계(250)에서 "N"), 방법은 단계(260)로 진행하는데, 여기서 임계치 값 T-선은, 종료 이전에 이미지에서 검출된 선 특징들의 수에 기초하여 0.0 내지 0.4의 수로 셋팅될 수 있다.
[0054] 몇몇 실시예들에서, 이미지가 선 풍부인지 또는 선 빈약인지의 결정은 이미지 및/또는 이미지의 일부분들로부터 추출된 선 특징들의 수에 기초하여 이루어질 수 있다. 예컨대, 추출된 선 특징들의 수가 어떤 선 카운트 값을 초과한다면, 이미지는 선 풍부인 것으로 여겨질 수 있다. 반대로, 추출된 선 특징들의 수가 어떤 선 카운트 값 미만이라면, 이미지는 선 빈약인 것으로 여겨질 수 있다. 선 카운트 값은, 환경, 이용 가능한 프로세싱 전력, 원하는 응답 시간들, 원하는 추적 정확성의 정도, 및/또는 다른 시스템 파라미터들에 기초하여, 체험적으로 셋팅될 수 있다.
[0055] 위에서 표시된 임계치들의 값들 T-점 및 T-선은 예시적이고, 그리고 예시적인 목적들만을 위한 것이다. 일반적으로, T-점 및 T-선에 대해 선택된 값들은 다양한 시스템 파라미터들에 따라 그리고/또는 모델링된 환경에 기초하여 변해질 수 있고, 그리고/또는 점 특징 및/또는 선 특징에 대한 선호도를 표시하도록 변해질 수 있다. 몇몇 실시예들에서, T-점 및 T-선은 0 ≤ T 점, T-선 ≤ 1이 되도록 하는 값들을 취할 수 있다. 방법(200)에서 사용되는 T-점 및 T-선의 값들은 추적 목적들을 위한 3D 모델에서 점, 선, 또는 점 및 선 특징들을 사용하는 바람직함 및/또는 이용 가능성의 표시자들로서의 역할을 할 수 있다.
[0056] 방법(200)에서, 예컨대, 모델 생성 단계 동안 결정된 T-선 및 T-점의 값들은 특징 추적 단계 동안 결정된 스코어와 비교될 수 있다. 예컨대, 특징 추적 단계에서의 스코어는, 모델 생성 단계 동안 생성된 모델에 있는 특징 점들에 매칭되는, 라이브 이미지에서 추적된 타겟에 있는 특징 점들의 수에 기초할 수 있다. 몇몇 실시예들에서, T-점 및/또는 T 선의 값들과 스코어의 비교에 기초하여, 점-기반, 선-기반, 또는 점 및 선 기반 특징들 중 하나가 타겟 추적을 위해 사용될 수 있다. 일반적으로, 방법(200)에서는 T-점 및 T-선에 대해 임의적인 값들이 사용될 수 있고, 그 뒤에, 점, 선, 또는 점 및 선 기반 특징 추적에 대한 선호도들과 일치하는 스코어에 대한 적절한 값의 선택이 이어진다. 선택된 값들은, 특징 추적 단계 동안 점-기반, 선-기반, 또는 점 및 선 기반 특징 추적이 호출될 때를 결정하는데 사용될 수 있다.
[0057] 몇몇 실시예들에서, 방법(200)은 주어진 환경에 대해 서버 또는 다른 컴퓨팅 디바이스에 의해 수행될 수 있고, 모델 및 연관된 결과들, 예컨대, 임계치 값들 T-점 및 T-선은 UD(100)에 전송되고 그리고/또는 UD(100)에 의해 획득되고, 그 환경에 대해 CV 애플리케이션과 함께 추후 사용을 위해 메모리(160)에 저장될 수 있다.
[0058] 몇몇 실시예들에서, 3D 모델은 다양한 카메라 포즈들에서의 다수의 이미지들 또는 키프레임들을 포함할 수 있고, T-점 및 T-선 값들이 이 키프레임들의 어떤 서브세트에 대해 결정될 수 있다. 몇몇 실시예들에서, 각각의 키프레임은, 키프레임에 특정한 특징들의 분포에 기초할 수 있는 대응하는 T-점 및/또는 T-선 값들과 연관될 수 있다. 몇몇 실시예들에서, 모델에 대한 하나 또는 그 초과의 키프레임들이 프로세싱되어, 각각의 프로세싱된 키프레임에 대응하는 T 점 및/또는 T 선 값들이 획득될 수 있다. 모델이 실시간으로 그리고/또는 라이브 이미지들로부터 생성되고 있는 실시예들에서, 대응하는 T-점 및/또는 T-선 값들의 프로세싱 및 결정은, 이미지가 키프레임으로서 지정될 때 일어날 수 있다. 추가로, T-점 및/또는 T-선 값들이 특정 키프레임들에 대응하는 몇몇 실시예들에서, 방법(200)은 각각의 키프레임 및 대응하는 T-점 및/또는 T-선 값들에 대해 수행될 수 있고, 임의의 관련된 특징 디스크립터들이 키프레임과 연관되고 모델의 일부로서 저장될 수 있다.
[0059] 도 2b는 개시된 실시예들과 일치하는 방식으로 점 특징과 선 특징의 결합에 기초한 특징 추적을 위한 예시적 방법(275)에 대한 흐름도를 도시한다. 방법들(200 및 275)은 단지 예시적이고, 다양한 수정들이 방법들에 이루어질 수 있다. 예컨대, 몇몇 실시예들에서, 방법(275)은 온라인 프로세스로서, 또는 타겟이 AR 애플리케이션에 의해 추적되고 있을 때 실시간으로 수행될 수 있다. 몇몇 실시예들에서, 방법(275)은 프로세서(들)(150)에 의해, 카메라(110)에 의해 캡쳐되고 있는 라이브 이미지들에 기초한 타겟 추적 동안 수행될 수 있다. 몇몇 실시예들에서, 방법(275)은, T-점 및/또는 T-선 값들을 결정하여, 추출된 점 특징 및 선 특징을 갖는(그러나, T-점 및/또는 T 선 값들이 없는) 기존의 모델에 부가하기 위해, 방법(200)을 실시간으로 호출할 수 있다. 몇몇 실시예들에서, 위에서 주목된 바와 같이, 키프레임 기반 모델이 실시간으로 그리고/또는 라이브 이미지들로부터 생성되고 있는 곳에서, (예컨대, 방법(200)을 호출함으로써) 대응하는 T 점 및/또는 T-선 값들의 프로세싱 및 결정은 또한, 이미지가 키프레임으로서 지정될 때 일어날 수 있다.
[0060] 단계(280)에서, 카메라(110)에 의해 캡쳐된 이미지가 프로세싱되어, 이 이미지로부터 점 특징들이 추출될 수 있다. T-스코어는, 특징 추적 단계 동안의 점 매치들의 수에 기초하여, 캡쳐된 이미지에 할당될 수 있다. 예컨대, 현재 이미지 프레임이 이전 이미지, 예컨대, 바로 선행하는 이미지 프레임 및/또는 평균 정규화 상호 상관(NCC:Normalized Cross Correlation) 스코어와 점 매치들을 위해 비교될 수 있다. 몇몇 실시예들에서, 스코어는 위의 파라미터들 중 하나 또는 그 초과의 가중 합계(weighted sum)를 포함할 수 있다. 예컨대, T-스코어는 0 내지 1의 값(예컨대, 0 ≤ T-스코어 ≤ 1)으로서 컴퓨팅될 수 있다.
[0061] NCC는, 심지어 커다란 상대적 카메라 모션을 갖는 상황들에서도, 이미지 쌍들 상에서의 매칭을 허용하는 상관 기반 방법이다. "불량(bad)" 특징 점 매치들은, 성공적이지 않은 NCC 매칭 시도들의 수, 즉, 실패한 점 매치들 및/또는 낮은 상관 스코어들을 갖는 매치들의 수를 지칭한다. 예컨대, 현재 이미지 프레임은 이전 이미지, 예컨대, 바로 선행하는 이미지 프레임과 비교될 수 있다. T 스코어 값은, 우수 특징 점 매치들의 수 및/또는 불량 특징 점 매치들의 수 중 하나 또는 그 초과에 기초할 수 있다. NCC가 볼 개연성이 있는 점을 국부화하는데 실패하기 때문에, 불량 특징 점 매치들은 현재 이미지 프레임의 품질에 관련된 메트릭으로서 보일 수 있다. 예컨대, 특징 점 매치들이 높은 NCC 값들(예컨대, 100 또는 그 초과) 및 낮은 추적 오류(예컨대, 2 픽셀 재-투사(re-projection) 오류를 초과하지 않음)를 갖는다면, 이 특징 점 매치들은 "우수"로서 지정될 수 있다. 위에서 개설된 NCC 값들 및 추적 오류들이 단지 예시적이고, 시스템 파라미터들, 예컨대, 원하는 성능, 추적 정확성 등에 기초하여 수정될 수 있음을 주목하라. 위의 NCC 값 미만(예컨대, 100 미만)이거나 또는 위의 추적 오류를 초과(예컨대, 2개 픽셀들 초과)하는 특징 매치들이 "불량"으로서 지정될 수 있다.
[0062] 몇몇 실시예들에서, T 스코어 값은 특징 점 매치들의 최대 또는 예상 수에 대한 정확한 매치들의 비율 중 하나 또는 그 초과에 기초할 수 있다. 예컨대, 추적 품질 및 추적 시간을 실험적으로 관찰함으로써, 특징 점 매치들의 예상 수가 결정될 수 있다. 몇몇 실시예들에서, 특징 점 매치들의 최대 또는 예상 수에 대한 정확한 매치들의 비율은, 디폴트 값으로 사전구성될 수 있고 그리고/또는 사용자 구성될 수 있다. 일 실시예에서, 시스템은 원하는 성능을 위해 구성될 수 있고, 원하는 성능에 이르기 위해 추적되는 특징들의 최대 또는 예상 수를 체험적으로 조정할 수 있다. 반대로, 시스템은 원하는 추적 품질을 위해 구성될 수 있고, 원하는 추적 정확성에 이르기 위해 추적되는 특징들의 최대 또는 예상 수를 체험적으로 조정할 수 있다.
[0063] 몇몇 실시예들에서, 이미지 피라미드의 모든 레벨들에서 스코어링이 수행될 수 있다. 예컨대, 카메라(110)에 의해 캡쳐된 이미지들이 다운샘플링 및 필터링되어, 이미지들의 피라미드가 생성될 수 있는데, 여기서 최고 해상도(또는 원시) 이미지가 이미지 피라미드의 최상단에 있을 수 있고 최저 해상도 이미지가 피라미드의 최하단에 있을 수 있다. 예컨대, 피라미드의 최고 레벨(레벨 0)은 원시 또는 최고 해상도 이미지를 가질 수 있고, 아래의 각각의 레벨은 바로 위의 레벨에 비해 이미지를 어떤 팩터에 의해 다운샘플링할 수 있다. 예컨대, (레벨 0에서) 크기 640 X 480의 이미지 I0에 대해, 이미지들 I1, I2, I3 및 I4는 크기들 320x240, 160x120, 80x60 및 40x30을 각각 갖고, 여기서 아래첨자는 이미지 피라미드에서 이미지 레벨을 표시한다.
[0064] 방법(200)에서, 예컨대, 모델 생성 단계 동안 결정된 T-선 및/또는 T-점의 값들은 단계(280)에서 결정된 T-스코어와 비교될 수 있다. 위에서 논의된 바와 같이, 단계(280)에서 결정된 T-스코어의 값은 선행하는 이미지와 라이브 이미지의 비교로부터 획득된 다양한 메트릭들에 기초할 수 있다. 예컨대, 도 2b에 도시된 예시적 방법(275)에서, T-스코어는 점 매치들의 수에 기초하여 결정된다. 키프레임 기반 모델이 사용되고 있고 키프레임들이 대응하는 T-점 및/또는 T-선 값들을 갖는 실시예들에서, 현재 카메라 포즈는 유클리드 거리에 기초하여 현재 카메라 포즈에 가장 가까운 키프레임을 결정하는데 사용될 수 있고, (이 가장 가까운 키프레임에 대한) T-선 및/또는 T 점의 대응하는 값들이 현재 이미지에 대한 T-스코어와 비교될 수 있다.
[0065] 몇몇 실시예들에서, T-점 및/또는 T 선의 값들과 T-스코어의 비교에 기초하여, 점-기반, 선-기반, 또는 점 및 선 기반 특징 추적 중 하나가 호출될 수 있다. 일반적으로, T-스코어는, T-점 및 T-선을 획득하는데 사용된 방법과 호환 가능한 임의의 스코어링 스킴을 사용하여 컴퓨팅될 수 있다. 예컨대, T-점 및 T-선이 0 ≤ T 점, T-선 ≤ 1이 되도록 값들을 취한다면, T 스코어는 0 내지 1의 T-스코어 값(0 ≤ T-스코어 ≤ 1)을 획득하도록 컴퓨팅 또는 정규화될 수 있다. T-스코어가 이미지 쌍에 대한 특징 비교들에 관련된 메트릭들에 기초하여 컴퓨팅되기 때문에, T-스코어는 특정한 특징 추적 방법에 대한 현재 이미지 프레임의 적합성의 표시자로서 보일 수 있다. 따라서, (단계(280)에서와 같이), 예컨대, T-스코어가 점 매치들의 수에 기초하여 결정된다면, 낮은 T-스코어는, 현재 프레임이 점 기반 특징 추적에 대해 잘 맞지 않음을 제안할 것이다.
[0066] 다음 차례로, 단계(285)에서, 앞선 단계에서 컴퓨팅되었던 T-스코어의 값이 T-점과 비교될 수 있다. T-스코어 ≥ T-점이면 (단계(285)에서 "Y"), 단계(287)에서, 후속하는 포즈 개선 단계를 위해 점 특징들만을 사용하라는 결정이 이루어질 수 있고, 방법(275)은 루틴(297)을 호출할 수 있다.
[0067] 도 2a에서는, 예시적 방법(200)에서, 점 풍부 이미지에 대해서는 T-점 = 0.0인 반면에, 선 풍부 이미지에 대해서는 T-선 = 0.4 (> 0.0)이다. 예시적 방법(200)에서 할당된 가중치들은, 예시적 방법(275)과 함께, 선들보다 점들을 우선하는데 사용된다. 이에 따라, 예시적 방법(275)에서는, 단계(280)에서, T-스코어가 점 매치들에 기초하여 컴퓨팅되고, 단계(285)에서, T-스코어 ≥ T-점이면, 단계(287)에서, 점 기반 특징 추적이 특징 추적 방법으로서 선택된다. 이미지가 점 풍부일 때 T-점 = 0.0이기 때문에, 예시적 방법(275)에서는, 단계(285)에서의 조건(T-스코어 ≥ T-점)이 점 풍부 이미지들에 대해 항상 충족되고, 이미지가 점 풍부일 때에는 점 기반 특징 추적이 선택된다.
[0068] T-스코어 < T-점이면(단계(285)에서 "N"), 단계(290)에서, (단계(280)로부터의) T 스코어의 값이 T-선과 비교될 수 있다. T-스코어 ≤ T-선이면(단계(290)에서 "Y"), 단계(293)에서, 후속하는 포즈 개선 단계를 위해 테두리 특징들을 사용하라는 결정이 이루어질 수 있고, 방법(275)은 297을 호출할 수 있다.
[0069] 그렇지 않으면(단계(290)에서 "N"), 단계(295)에서, T-선 < T-스코어 < T-점이고, 후속하는 포즈 개선 단계를 위해 점 및 테두리들을 사용하라는 결정이 이루어질 수 있으며, 방법(275)은 루틴(297)을 호출할 수 있다.
[0070] 다시, 도 2a를 참조하면, 선 풍부 이미지들에 대해 T-선 = 0.4(> 0.0)이고, 이에 따라, 몇몇 인스턴스들에서는, 심지어 단계(285)에서의 조건(T-스코어 ≥ T-점)이 충족되지 않고 점-기반 특징 추적이 선택되지 않을 때에도, 단계(290)에서 T-스코어는 T-선 = 0.4 미만이 아닐 수 있고, 이에 따라 단계(295)에서 점 및 선 기반 특징 추적 방법이 선택될 수 있다. 예시적 방법(275)에서는, 선 기반 특징 추적 방법이 선택되도록, 심지어 선 풍부 이미지에 대해서도, 단계(285)에서의 조건(T-스코어 ≥ T 점)이 충족되지 않아야 하고(이미지가 점 풍부가 아니어야 함 ― 그렇지 않으면, 점 기반 특징 추적이 우선됨), 단계(290)에서 T-스코어는 T-선 0.4보다 더 낮아야 한다. 낮은 T-스코어는 점 기반 특징 추적에 대한 빈약한 스코어를 표시한다. 따라서, 예시적 방법들(200 및 275)에서는, 점 기반 특징들 및 점 기반 특징 추적이 선 기반 특징들 및 선 기반 특징 추적보다 우선된다. 그러나, 방법들(200 및 275)은 단지 예시적이고, 선 특징 및 점 특징에 동일한 가중치들을 주거나 또는 대안적으로 점 특징들보다 선 특징들을 가중시키는데 상이한 가중 스킴이 사용될 수 있다. 단계(280) 및 결정 박스들(285 및 290)은, 선택된 가중 스킴을 반영하도록 조정될 수 있다.
[0071] 루틴(297)에서는, 단계들(287, 293, 또는 295) 중 하나에서 이루어진 이전 결정에 기초하여, 포즈 추정치가 개선될 수 있다. 예컨대, 일 실시예에서, 단계들(287, 293, 또는 295) 중 하나에서 이루어진 결정에 기초하여, 2D 3D 특징 대응성들을 사용하여, 이전의 또는 추정된 6DOF 카메라 포즈가 개선될 수 있다.
[0072] 도 3a는 개시된 실시예들과 일치하는 방식으로 모델 생성 단계 동안 이미지를 분석하기 위한 예시적 방법(300)에 대한 흐름도를 도시한다. 몇몇 실시예들에서, 방법(300)은 오프라인 프로세스로서 모델 생성 단계 동안 수행될 수 있다. 몇몇 실시예들에서, 방법(300)은 프로세서(들)(150)에 의해 모델 생성 동안 카메라(110)에 의해 캡쳐된 하나 또는 그 초과의 이미지들에 기초하여 수행될 수 있다. 몇몇 실시예들에서, 방법(300)은 모델의 키프레임들의 어떤 서브세트에 대해 반복될 수 있다. 방법들(300 및 320)(도 3b)은 단지 예시적이고, 다양한 수정들이 방법들에 이루어질 수 있다. 예컨대, 예시적 방법들(300 및 320)은 선 특징들보다 점 특징들의 선택 및 사용을 우선한다. 그러나, 방법들은 선호도들을 변화시키도록 쉽게 변경될 수 있다.
[0073] 몇몇 실시예들에서, 모델은 키프레임들을 포함할 수 있고, 각각의 키 프레임은, 키프레임에 특정한 특징들의 분포에 기초할 수 있는 대응하는 T-점 및/또는 T-선 값들과 연관될 수 있다. 몇몇 실시예들에서, 모델에 대한 하나 또는 그 초과의 키프레임들이 프로세싱되어, 각각의 프로세싱된 키프레임에 대응하는 T 점 및/또는 T 선 값들이 획득될 수 있다. 모델이 실시간으로 그리고/또는 라이브 이미지들로부터 생성되고 있는 실시예들에서, 대응하는 T-점 및/또는 T-선 값들의 프로세싱 및 결정은, 이미지가 키프레임으로서 지정될 때 일어날 수 있다. 추가로, T-점 및/또는 T-선 값들이 특정 키프레임들에 대응하는 몇몇 실시예들에서, 방법(300)은 각각의 키프레임 및 대응하는 T-점 및/또는 T-선 값들에 대해 수행될 수 있고, 임의의 관련된 특징 디스크립터들이 키프레임과 연관되고 모델의 일부로서 저장될 수 있다.
[0074] 단계(303)에서, 모델에 관련된 하나 또는 그 초과의 이미지들 각각이 세부구역들로 분할되어, 이미지 세부구역들로부터 점 특징들이 추출될 수 있다. 몇몇 실시예들에서, 세부구역들은 다양한 다각형들의 형태를 취할 수 있다. 일 실시예에서, 하기에 설명되는 예시적 실시예와 같이, 이미지들은 복수의 그리드들로 분할될 수 있다.
[0075] 단계(305)에서, 제1 그리드 또는 다음 차례의 그리드가 선택될 수 있고, 점 특징들이 그리드/모델에 대한 특징 목록에 부가될 수 있다. 단계(307)에서, 그리드가 점 빈약이라면(단계(307)에서 "Y"), 단계(310)에서, 선 특징들이 그리드에 대해 추출될 수 있고, 이미지에서 그리드들에 걸쳐 균일한 특징 분포를 생성하기 위하여, 특징 목록에 부가될 수 있다. 예컨대, 몇몇 실시예들에서, 부가된 선 특징들의 수는 그리드로부터 점 특징들이 부재하는 정도에 따라 좌우될 수 있다. 몇몇 실시예들에서, 각각의 그리드에 대해 모델에 부가되는 점 및/또는 선 특징들의 수의 테이블이 유지될 수 있다.
[0076] 몇몇 실시예들에서, 그리드가 점 풍부인지 또는 점 빈약인지의 결정은 이 그리드로부터 추출된 점 특징들의 수에 기초하여 이루어질 수 있다. 예컨대, 그리드로부터 추출된 점 특징들의 수가 제1 점 카운트 값을 초과한다면, 그리드는 점 풍부인 것으로 여겨질 수 있다. 반대로, 그리드에서 추출된 점 특징들의 수가 제2 점 카운트 값 미만이라면, 그리드는 점 빈약인 것으로 여겨질 수 있다. 점 카운트가 제1 점 카운트와 제2 점 카운트의 사이에 속하는 몇몇 그리드들은, 점 풍부도 점 빈약도 아닐 수 있다. 각각의 그리드에 대한 점 카운트 값은, 이용 가능한 프로세싱 전력, 원하는 응답 시간들, 원하는 추적 정확성의 정도, 및/또는 다른 시스템 파라미터들에 기초하여, 체험적으로 셋팅될 수 있다.
[0077] 단계(310)에서, 몇몇 실시예들에서, 부분적으로, 각각의 그리드로부터 비슷한 수의 점 및/또는 선 특징들을 추출함으로써, 특징 분포 균일성이 가능하게 된다. 따라서, 몇몇 실시예들에서, 추출된 선들의 수는 그리드에 있는 점들의 수에 관련하여 역으로 변할 수 있다. 따라서, 점들의 수가 증가함에 따라, 그리드로부터 더 적은 수의 선들이 추출될 수 있다. 반대로, 그리드가 낮은 점 밀도를 나타낼 때, 그리드로부터 추출되는 선들의 수는 증가될 수 있다. 이미지에 걸친 특징 균일성은 이미지에 걸쳐 대응성들을 찾는 것을 가능하게 하고, 이는 포즈 개선 정확성에 기여한다.
[0078] 모델의 이미지(들)가 그리드들로 분할되는 실시예들에서, 타겟 이미지의 전체에 걸쳐 점 및 선 특징들의 균일한 분포는 추적 동안 더 높은 정확성을 야기할 수 있다. 특징 점들/테두리들을 분산시키기 위한 그리드들의 사용은 치우친(skewed) 특징 분포(예컨대, 점 특징들의 대부분이 작은 구역에 집중될 때)보다 장점들을 제공하는데, 그 이유는 특징 분포가 균일하지 않을 때 추적 불안정성이 생길 수 있기 때문이다. 점 빈약 구역들에서는, 대응성 애매모호함이 증가된다. 그러므로, 개시된 실시예들과 일치하는 방식으로, 선 특징들의 점 빈약 구역들에 대한 부가는 유익할 수 있고, 증가된 추적 안정성 및 더 나은 후속하는 포즈 개선을 유도할 수 있다.
[0079] 단계(307)에서, 그리드가 점 풍부라면(단계(307)에서 "N"), 단계(309)에서, 선 특징들이 선택적으로, 그리드/모델에 대한 특징 목록에 부가될 수 있고, 방법은 단계(312)로 진행한다. 몇몇 실시예들에서, 단계(309)에서, 점 풍부 그리드들에 대해서는, 어떠한 선 특징들도 부가되지 않을 수 있고, 그리고/또는 단계(309)는 생략될 수 있다. 따라서, 예시적 방법(300)에서는, 몇몇 인스턴스들에서, 그리드가 점 풍부이고(단계(307)에서 "N") 이에 따라 점 기반 특징 추적이 우선될 때, 선 기반 특징들이 부가되지 않을 수 있다.
[0080] 그러나, 몇몇 구현들에서는, 단계(309)에서, 예컨대, 변하는 수의 선 기반 특징들이 그리드에서 이용 가능한 점 특징들의 수에 기초하여 그리드에 부가될 수 있다. 몇몇 실시예들에서, 단계(309)에서, 부가되는 선 기반 특징들의 선택적인 수는 상한치에 따를 수 있다. 다른 예로서, 단계(309)에서, 점 기반 특징들의 수에 대한 고려 없이, 최소 수의 선 기반 특징들이 그리드에 부가될 수 있다.
[0081] 추가의 예로서, 방법(300)은 선 기반 특징들을 우선하도록 수정될 수 있는데, 단계(307)는, 그리드 구역이 선 풍부인지의 여부를 테스트하고 선택적으로 이 그리드 구역이 선 빈약일 때 (예컨대, 단계(309)에서) 점 특징들을 부가하도록 수정될 수 있다. 예컨대, 빠른 상대적 타겟 움직임이 있는 인스턴스에서 그리고/또는 모션 블러(motion blur)의 존재 시 추적을 가능하게 하기 위해, 선 기반 특징들이 우선될 수 있다. 일반적으로, 방법(300)은, 선 기반 특징들의 수가 점 기반 특징들의 수의 함수가 되도록, 또는 반대로, 점 기반 특징들의 수가 선 기반 특징들의 수의 함수가 되도록 수정될 수 있다.
[0082] 단계(312)에서, 프로세싱될 부가의 그리드들이 있다면(단계(312)에서 "Y"), 다음 차례의 반복을 시작하기 위해 단계(305)가 호출되고, 다른 그리드가 선택될 수 있다. 프로세싱될 어떠한 추가의 그리드들도 없다면(단계(312)에서 "N"), 방법은 종료한다.
[0083] 도 3b는 개시된 실시예들과 일치하는 방식으로 점 특징과 선 특징의 결합에 기초한 특징 추적을 위한 예시적 방법(320)에 대한 흐름도를 도시한다. 앞서 개설된 바와 같이, 예시적 방법(320)에서, 점 특징들이 선 특징들보다 우선된다 ―방법들(200 및 275)에서보다 더 적은 범위에도 불구하고. 몇몇 실시예들에서, 방법(320)은 온라인 프로세스로서, 또는 타겟이 AR 애플리케이션에 의해 추적되고 있을 때 실시간으로 수행될 수 있다. 몇몇 실시예들에서, 방법(320)은 프로세서(들)(150)에 의해, 카메라(110)에 의해 캡쳐되고 있는 라이브 이미지들에 기초한 타겟 추적 동안 수행될 수 있다. 몇몇 실시예들에서, 방법(320)은, T-점 및/또는 T-선 값들을 결정하여, 추출된 점 특징 및 선 특징을 갖는(그러나, T-점 및/또는 T 선 값들이 없는) 기존의 모델에 부가하기 위해, 방법(300)을 실시간으로 호출할 수 있다. 몇몇 실시예들에서, 위에서 주목된 바와 같이, 키프레임 기반 모델이 실시간으로 그리고/또는 라이브 이미지들로부터 생성되고 있는 곳에서, (예컨대, 방법(300)을 호출함으로써) 대응하는 T 점 및/또는 T-선 값들의 프로세싱 및 결정은 또한, 이미지가 키프레임으로서 지정될 때 일어날 수 있다.
[0084] 단계(280)에서, 카메라(110)에 의해 캡쳐된 현재 이미지가 프로세싱되어, 이 이미지로부터 점 특징들이 추출될 수 있다. T-스코어는, 특징 추적 단계 동안의 점 매치들의 수에 기초하여, 캡쳐된 이미지에 동적으로 할당될 수 있다. 예컨대, 현재 이미지에 대한 카메라 포즈의 추정치는 이전 이미지에 대한 이전 카메라 포즈에 기초하여 결정될 수 있고, 몇몇 인스턴스들에서, 이 이전 이미지는 카메라(110)에 의해 캡쳐된 바로 선행하는 이미지일 수 있다. 점 매치들을 획득하기 위해, 현재 이미지는 이전 이미지와 비교될 수 있다. 동적으로 컴퓨팅되는 T 스코어 값은 점 매치들의 공간 분포, 특징 점 매치들의 최대 또는 예상 수에 대한 우수 특징 점 매치들의 수/불량 특징 점 매치들의 수, 및/또는 점 매치들에 대한 평균 NCC 스코어 중 하나 또는 그 초과에 기초할 수 있다.
[0085] 특징 점 매치들이 T-스코어를 결정하는데 사용될 때, 예컨대, "우수(good)"로서 지정된 특징 점 매치들은 높은 NCC 값들(예컨대, 100 또는 그 초과) 및 낮은 추적 오류(예컨대, 2 픽셀 재-투사 오류를 초과하지 않음)를 가질 수 있다. 위에서 개설된 NCC 값들 및 추적 오류들이 단지 예시적이고, 시스템 파라미터들, 예컨대, 원하는 성능, 추적 정확성 등에 기초하여 수정될 수 있음을 주목하라. 위의 NCC 값 미만(예컨대, 100 미만)이거나 또는 위의 추적 오류를 초과(예컨대, 2개 픽셀들 초과)하는 특징 매치들이 "불량"으로서 지정될 수 있다.
[0086] 추가로, 추적 품질 및 추적 시간을 실험적으로 관찰함으로써, 특징 점 매치들의 예상 수가 결정될 수 있다. 몇몇 실시예들에서, 특징 점 매치들의 최대 또는 예상 수에 대한 정확한 매치들의 비율은, 디폴트 값으로 사전구성될 수 있고 그리고/또는 사용자 구성될 수 있다. 일 실시예에서, 시스템은 원하는 성능을 위해 구성될 수 있고, 원하는 성능에 이르기 위해 추적되는 특징들의 최대 또는 예상 수를 체험적으로 조정할 수 있다. 반대로, 시스템은 원하는 추적 품질을 위해 구성될 수 있고, 원하는 추적 정확성에 이르기 위해 추적되는 특징들의 최대 또는 예상 수를 체험적으로 조정할 수 있다.
[0087] 몇몇 실시예들에서, T-스코어 값은 점 매치들의 공간 분포와 연관된 균일성의 정도에 따라 좌우될 수 있다. 일 실시예에서, 점 매치들의 공간 분포가 더욱 균일할 때, 더 높은 T-스코어가 할당될 수 있다. 몇몇 실시예들에서, 스코어는 위의 파라미터들 중 하나 또는 그 초과의 가중 합계를 포함할 수 있다. 예컨대, T-스코어는 0 내지 1의 값(예컨대, 0 ≤ T-스코어 ≤ 1)으로서 컴퓨팅될 수 있다.
[0088] 단계(325)에서, 모델의 가시 구역(이 가시 구역은 현재 이미지에 대응하는, 앞서 생성된 모델에 있는 구역임)이 분석될 수 있다. 몇몇 실시예들에서, 모델링된 가시 구역의 각각의 그리드에 대한 점 특징 및 선 특징(모델 생성 동안 저장되었음)의 수를 표시하는, 앞서 생성된 테이블에 있는 정보에 기초하여, 모델의 가시 구역이 분석될 수 있다. 몇몇 실시예들에서, 모델을 현재 이미지에 대한 카메라의 뷰로 투사시키기 위해, 환경의 저장된 모델(예컨대, 3D-모델) 및 현재 이미지에 대한 카메라 포즈의 추정치(이전 포즈에 기초할 수 있음)를 사용함으로써, 모델의 가시 구역이 결정될 수 있다. 키프레임 기반 모델이 사용되고 있고 키 프레임들이 대응하는 T-점 및/또는 T-선 값들을 갖는 실시예들에서, 카메라 포즈는 유클리드 거리에 기초하여 현재 카메라 포즈에 가장 가까운 키프레임을 결정하는데 사용될 수 있다. 이후, 현재 카메라 포즈에 가장 가까운 키프레임이 카메라의 뷰로 투사될 수 있고, 가시 구역에서 (가장 가까운 키프레임에 대한) T-선 및/또는 T 점의 대응하는 값들이 현재 이미지에 대한 T 스코어와 비교될 수 있다. 몇몇 실시예들에서, 타겟의 기하학적 구조가 가시 구역을 결정하는데 사용될 수 있다. 예컨대, 원통형 타겟들에 대해, 원통 기하학적 구조 기반 파라미터들이 각도 범위를 결정하는데 사용될 수 있다.
[0089] 다음 차례로, 단계(330)에서, 모델의 가시 구역이 점 풍부라면(단계(330)에서 "Y"), 단계(333)에서, 임계치 값 T-점은 "0.0"으로 셋팅될 수 있고, 방법은 단계(345)로 진행한다. 그렇지 않으면(단계(330)에서 "N"), 방법은 단계(335)로 진행한다. 각각의 이미지 세부구역에 대한 점 및/또는 선 특징들의 수에 관련된 정보를 포함하는, 앞서 저장된 테이블에 있는 정보가, 모델의 가시 구역이 점 풍부인지를 결정하는데 사용될 수 있음을 주목하라. 예컨대, 일 실시예에서, 가시 구역의 각각의 그리드와 연관된 점 특징들의 카운트 및 테두리 특징들의 카운트의 합계 또는 다른 함수가, 모델의 가시 구역이 점 풍부인지를 결정하는데 사용될 수 있다.
[0090] 단계(335)에서, 모델의 가시 구역이 "점 빈약"이라면(단계(335)에서 "Y"), 단계(337)에서, 임계치 값 T-점은 "1.0"으로 셋팅될 수 있고, 방법은 단계(345)로 진행한다. 그렇지 않으면(단계(335)에서 "N"), 방법은 단계(340)로 진행하는데, 여기서 임계치 값 T-점은 모델링된 가시 구역에서 검출된 점 특징들의 수에 기초하여 0.0 내지 1.0의 수로 셋팅될 수 있다. 앞서 저장된 테이블에 있는 정보가, 모델링된 가시 구역이 점 빈약인지를 결정하는데(단계(335)에서) 그리고/또는 T-점의 값을 셋팅하는데(단계(340)에서) 사용될 수 있음을 주목하라.
[0091] 다음 차례로, 단계(345)에서, 모델링된 가시 구역이 선 특징들이 풍부하다면, 즉, 선 풍부라면(단계(345)에서 "Y"), 단계(347)에서, 임계치 값 T-선이 "0.6"으로 셋팅될 수 있고, 방법은 단계(365)로 진행할 수 있다. 그렇지 않으면(단계(345)에서 "N"), 방법은 단계(350)로 진행할 수 있다. 각각의 이미지 세부구역에 대한 점 및/또는 선 특징들의 수에 관련된 정보를 포함하는, 앞서 저장된 테이블에 있는 정보가, 모델링된 가시 구역이 선 풍부인지를 결정하는데 사용될 수 있다.
[0092] 단계(350)에서, 모델링된 가시 구역이 선 빈약이라면(단계(350)에서 "Y"), 단계(357)에서, 임계치 값 T-선은 "0.0"으로 셋팅될 수 있고, 방법은 단계(365)로 진행할 수 있다. 그렇지 않으면(단계(350)에서 "N"), 방법은 단계(360)로 진행할 수 있는데, 여기서 임계치 값 T-선은 이미지에서 검출된 선 특징들의 수에 기초하여 0.0 내지 0.6의 수로 셋팅될 수 있다. 각각의 이미지 세부구역에 대한 점 및/또는 선 특징들의 수에 관련된 정보를 포함하는, 앞서 저장된 테이블에 있는 정보가, 모델링된 가시 구역이 선 빈약인지를 결정하는데(단계(350)에서) 그리고/또는 T-선의 값을 셋팅하는데(단계(360)에서) 사용될 수 있음을 주목하라.
[0093] 단계(365)에서, 단계(280)에서 컴퓨팅되었던 T-스코어의 값이 T-점과 비교될 수 있다. T-스코어 ≥ T-점이라면(단계(365)에서 "Y"), 단계(367)에서, 후속하는 포즈 개선 단계를 위해 점 특징들만을 사용하라는 결정이 이루어질 수 있고, 방법(320)은 루틴(297)을 호출할 수 있다.
[0094] T-스코어 < T-점이라면(단계(365)에서 "N"), 단계(370)에서, (단계(280)로부터의) T 스코어의 값이 T-선과 비교될 수 있다. T-스코어 ≤ T-선이라면(단계(370)에서 "Y"), 단계(377)에서, 후속하는 포즈 개선 단계를 위해 테두리 특징들을 사용하라는 결정이 이루어질 수 있고, 방법(320)은 루틴(297)을 호출할 수 있다.
[0095] 그렇지 않으면(단계(370)에서 "N"), 단계(295)에서, T-선 < T-스코어 < T-점이고, 후속하는 포즈 개선 단계를 위해 점 및 테두리들을 사용하라는 결정이 이루어질 수 있고, 방법(320)은 루틴(297)을 호출할 수 있다.
[0096] 위에서 표시된 임계치들의 값들 T-점 및 T-선은 예시적이고, 예시적인 목적들만을 위한 것이다. 일반적으로, T-점 및 T-선에 대해 선택된 값들은 다양한 시스템 파라미터들에 따라 그리고/또는 모델링된 환경에 기초하여 변해질 수 있고, 그리고/또는 점 특징 및/또는 선 특징에 대한 선호도를 표시하도록 변해질 수 있다.
[0097] 도 3a에서는, 예시적 방법(300)에서, 몇몇 인스턴스들에서, 테두리 기반 특징들이 점 풍부 그리드들에 부가되지 않을 수 있고, 이에 따라 점 기반 특징 추적이 우선된다. 유사하게, 도 3b에서는, 예시적 방법(320)에서, 점 기반 특징 추적이 우선된다. 가시 이미지 구역이 점 풍부일 때 (단계(333)에서) T 점 = 0.0이기 때문에, 단계(365)에서의 조건 T 스코어 ≥ T-점이 점 풍부 가시 구역들에 대해 항상 충족되고, 가시 이미지 구역이 점 풍부일 때에는 점 기반 특징 추적이 선택된다.
[0098] 그러나, 예시적 방법(300)에서는, 도 2a 및 도 2b의 방법들에서보다 더 큰 가중치가 테두리 기반 특징들에 제공되었다. 예컨대, 선 풍부 가시 구역에 대해 (단계(347)에서) T 선 = 0.6이고, 이에 따라 단계(370)에서의 조건 T-스코어 ≤ T-선이 (선 풍부 구역들에 대해 T-선에 값 0.4가 할당되었던 도 2a 및 도 2b에 비해) 충족될 개연성이 더 높다. 따라서, 단계(377)에서의 특징 추적을 위해 선 특징들이 선택 및/또는 사용될 개연성이 더 높다. 대응하게, 단계(380)에서 추적을 위해 점 특징과 선 특징 둘 다를 사용할 가능성이 더 낮다. 따라서, 다양한 특징 추적 방법들의 선택/사용의 범위가 최적으로, 시스템 파라미터들에 기초하여 맞춤화될 수 있다.
[0099] 루틴(297)에서는, 단계들(367, 377, 또는 380) 중 하나에서 이루어진 이전 결정에 기초하여 포즈 추정치가 개선될 수 있다. 예컨대, 일 실시예에서, 단계들(367, 377, 또는 380) 중 하나에서 이루어진 결정에 기초하여 2D-3D 특징 대응성들로부터 6DOF 카메라 포즈가 추정될 수 있다. 몇몇 실시예들에서, 가중 최소 제곱 근사화 또는 그 변형들이 특징 대응성들을 컴퓨팅하는데 사용될 수 있다.
[00100] 도 4a는 점 추적기를 사용하여 개선된 포즈를 컴퓨팅하기 위한 예시적 방법(400)의 흐름도를 도시한다. 몇몇 실시예들에서, 특징 대응성을 결정하기 위한 방법으로서 (단계(365)에서) 점 기반 특징들이 앞서 선택되었다면, 방법(400)의 일부분들이 루틴(297)에 의해 수행 및/또는 호출될 수 있다.
[00101] 단계(405)에서, 점 기반 특징들을 사용하여, 현재 추정된 포즈에 기초하여, 모델에 대한 기존의 특징들과 현재 이미지를 비교함으로써, 특징 대응성이 결정될 수 있다.
[00102] 다음 차례로, 단계(410)에서, 야코비안(Jacobian)이 컴퓨팅될 수 있다. 야코비안
Figure pct00001
은 포즈 변화들(
Figure pct00002
) 내지 투사된 점 변화들(
Figure pct00003
) 사이의 선형 맵핑을 설명한다.
Figure pct00004
(1)
여기서, 6개 파라미터들을 갖는
Figure pct00005
는 3D 공간에서 회전 및 병진에 관련되고,
Figure pct00006
는 2x6 행렬인데,
Figure pct00007
에 대한 측정 오류의 편미분은
Figure pct00008
이고
Figure pct00009
는 2x1 측정 오류 벡터
Figure pct00010
이고
Figure pct00011
Figure pct00012
의 투사(projection)이고
Figure pct00013
는 측정된 또는 발견된 대응성이다.
방정식 (1)은 단계(410)에서 야코비안을 컴퓨팅하는데 사용될 수 있다.
[00103] 다음 차례로, 단계(415)에서,
Figure pct00014
가 2x1 행렬이고
Figure pct00015
가 점마다 컴퓨팅될 수 있기 때문에, 2개의 선형 제약들이 점마다 획득될 수 있다. 단계(420)에서, 충분한 점 대응성들을 이용하여,
Figure pct00016
를 최소화하고 모든 투사들
Figure pct00017
을 발견된 대응성들
Figure pct00018
로 유도하는 포즈 업데이트를 위한 솔루션을 컴퓨팅하기 위해, 가중 최소 제곱(W.L.S:weighted least squares) 기술이 사용될 수 있다.
[00104] 그러므로, 모든 투사들
Figure pct00019
을 발견된 대응성들
Figure pct00020
로 유도하는 포즈 업데이트를 위한 솔루션이 충분한 점/선들 대응성들을 이용하여 획득될 수 있다.
여기서,
Figure pct00021
(2)
그리고
Figure pct00022
(3)
위의 방정식 (2) 및 방정식 (3)은 포즈 업데이트를 컴퓨팅하는데 사용될 수 있다.
[00105] 도 4b는 선 추적기를 사용하여 개선된 포즈를 컴퓨팅하기 위한 예시적 방법(400)의 흐름도를 도시한다. 몇몇 실시예들에서, 방법(400)의 일부분들은, 테두리 기반 특징들이 특징 대응성을 결정하기 위한 방법으로서 앞서 선택되었다면, 루틴(297)에 의해 수행될 수 있다.
[00106] 단계(430)에서, 테두리 기반 특징들을 사용하여 모델에 대한 기존의 특징들과 현재 이미지를 비교함으로써, 특징 대응성이 결정될 수 있다. 다음 차례로, 단계(410)에서, 야코비안이 방정식 (1)을 사용하여 컴퓨팅될 수 있다.
[00107] 단계(440)에서, 테두리 픽셀들에 대해, 정상 거리(normal distance)가 최소화될 수 있어, 각각의 테두리는 하기의 방정식 (4)에 의해 주어지는 1개 선형 제약을 제공한다.
Figure pct00023
(4)
여기서,
Figure pct00024
Figure pct00025
가 이미지 평면 상에 투사될 때
Figure pct00026
의 법선 벡터이다.
[00108] 그러므로, 모든 투사들
Figure pct00027
을 발견된 대응성들
Figure pct00028
로 유도하는 포즈 업데이트를 위한 솔루션이, 충분한 선 대응성들을 이용하여, 하기의 방정식 (5) 및 방정식 (6)을 사용하여 획득될 수 있다.
Figure pct00029
(5)
여기서, 모든
Figure pct00030
선 대응성들에 대해,
Figure pct00031
(6)
위의 방정식 (5) 및 방정식 (6)은 포즈 업데이트를 컴퓨팅하는데 사용될 수 있다.
[00109] 도 4c는 점 추적기 및 선 추적기 둘 다를 사용하여 개선된 포즈를 컴퓨팅하기 위한 예시적 방법(450)의 흐름도를 도시한다. 몇몇 실시예들에서, 방법(400)의 일부분들은, 점 및 테두리 기반 특징들이 특징 대응성을 결정하기 위한 방법으로서 앞서 선택되었다면, 루틴(297)에 의해 수행될 수 있다.
[00110] 단계들(405 및 430)에서, 점 기반 특징 및 테두리 기반 특징을 사용하여 모델에 대한 기존의 특징들과 현재 이미지를 비교함으로써, 특징 대응성들이 결정될 수 있다. 예컨대, 점 추적기 및 테두리 추적기가 이미지 상에서 결정된 대응성들에 대해 동작할 수 있다.
[00111] 다음 차례로, 단계(410)에서, 방정식 (1)을 사용하여, 야코비안이 컴퓨팅될 수 있다. 단계(415)에서, 점마다 2개의 선형 제약들이 획득될 수 있고, 단계(440)에서, 선마다 1개의 선형 제약이 위의 방정식 (4)에 의해 제공되어 획득될 수 있다.
[00112] 그러므로, 모든 투사들
Figure pct00032
을 발견된 대응성들
Figure pct00033
로 유도하는 포즈 업데이트를 위한 솔루션이, 충분한 점 대응성 및 선 대응성을 이용하여, 위의 방정식 (3) 및 방정식 (6)과 하기의 방정식 (7)을 사용하여 획득될 수 있다.
Figure pct00034
(7)
여기서,
Figure pct00035
이고, 각각,
Figure pct00036
은 점들 및 선들에 할당된 가중치들이다. 방정식 (3), 방정식 (6) 및 방정식 (7)이 포즈 업데이트를 컴퓨팅하는데 사용될 수 있다.
[00113] 몇몇 실시예들에서, 위에서 설명된 방법들은 타겟들에 대한 임계치들의 적응을 가능하게 하고, 결과적으로, 개시된 방법들의 실행 시간을 최적화시키고 특징 추적기의 안정성을 향상시킨다.
[00114] 본원에 개시된 실시예들은 3D 타겟들을 비롯한 다양한 타겟들에 대해 정확하고 강력한 추적을 가능하게 하고, 6-DoF를 갖는 추적을 허용한다. 개시된 실시예들은 예상 밖의 프레임 간 모션, 변하는 일루미네이션, 및 양상 변화들의 존재 시 정확한 추적을 가능하게 하고, 이는 이로써 추적 강력함을 향상시킨다. 본원에 설명된 방법론들은 애플리케이션에 따라 다양한 수단들에 의해 구현될 수 있다. 예컨대, 펌웨어 및/또는 소프트웨어 구현을 위해, 방법론들은, 본원에 설명된 기능들을 수행하는 모듈들(예컨대, 프로시저들, 함수들 등)로 구현될 수 있다. 본원에 설명된 방법론들을 구현할 때, 명령들을 유형으로 실시하는 임의의 머신-판독가능 매체가 사용될 수 있다. 예컨대, 소프트웨어 코드가 메모리에 저장되고 프로세서 유닛에 의해 실행될 수 있다. 몇몇 실시예들에서, 기능들은 컴퓨터-판독가능 매체 상에 하나 또는 그 초과의 명령들 또는 코드로서 저장될 수 있다. 예들은 데이터 구조로 인코딩된 컴퓨터-판독가능 미디어 및 컴퓨터 프로그램으로 인코딩된 컴퓨터-판독가능 미디어를 포함한다. 컴퓨터-판독가능 미디어는 물리적 컴퓨터 스토리지 미디어를 포함한다.
[00115] 스토리지 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수 있다. 제한이 아닌 예로서, 이러한 컴퓨터-판독가능 미디어는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스들, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있고; 본원에 사용된 바와 같이, 디스크(disk) 및 디스크(disc)는 콤팩트 디스크(CD:compact disc), 레이저 디스크(disc), 광학 디스크(disc), 디지털 다기능 디스크(DVD:digital versatile disc), 플로피 디스크(disk) 및 블루레이 디스크(disc)를 포함하는데, 디스크(disk)들이 보통 데이터를 자기적으로 재생하는 반면에, 디스크(disc)들은 레이저들을 이용하여 데이터를 광학적으로 재생한다. 이들의 결합들이 또한 컴퓨터-판독가능 미디어의 범위 내에 포함되어야 한다.
[00116] 컴퓨터 판독가능 매체 상의 스토리지에 부가하여, 명령들 및/또는 데이터는 통신 장치에 포함되는 송신 미디어 상의 신호들로서 제공될 수 있다. 예컨대, 통신 장치는 명령들 및 데이터를 표시하는 신호들을 갖는 트랜시버를 포함할 수 있다. 명령들 및 데이터는 하나 또는 그 초과의 프로세서들로 하여금 청구항들에서 서술되는 기능들을 구현하게 하도록 구성된다. 즉, 통신 장치는 개시된 기능들을 수행하기 위한 정보를 표시하는 신호들을 갖는 송신 미디어를 포함한다. 제1 시간에는, 통신 장치에 포함된 송신 미디어가 개시된 기능들을 수행하기 위해 정보의 제1 부분을 포함할 수 있는 반면에, 제2 시간에는 통신 장치에 포함된 송신 미디어가 개시된 기능들을 수행하기 위해 정보의 제2 부분을 포함할 수 있다.
[00117] 이제, 도 5가 참조되며, 이 도 5는 개시된 실시예들과 일치하는 방식으로 점 특징 및 선 특징을 사용하여 강력한 특징 기반 추적을 가능하게 하도록 인에이블링된 컴퓨팅 디바이스(500)를 예시하는 개략적인 블록도이다. 몇몇 실시예들에서, 컴퓨팅 디바이스(500)는 서버의 형태를 취할 수 있다. 몇몇 실시예들에서, 컴퓨팅 디바이스(500)는, 예컨대, 하나 또는 그 초과의 프로세싱 유닛들(552), 메모리(554), 스토리지(560), 및 (적용 가능할 때) 통신 인터페이스(590)(예컨대, 유선 또는 무선 네트워크 인터페이스)를 포함할 수 있고, 이들은 하나 또는 그 초과의 연결들(556)(예컨대, 버스들, 선들, 섬유들, 링크들 등)과 동작 가능하게 커플링될 수 있다. 특정 예시적 구현들에서, 컴퓨팅 디바이스(500)의 어떤 일부분은 칩셋 등의 형태를 취할 수 있다. 몇몇 실시예들에서, 컴퓨팅 디바이스(500)는 무선 네트워크(미도시)를 통해 하나 또는 그 초과의 UD들(100)에 무선으로 커플링될 수 있고, 이 무선 네트워크는 WWAN, WLAN 또는 WPAN 중 하나일 수 있다.
[00118] 몇몇 실시예들에서, 컴퓨팅 디바이스(500)는 방법들(200, 275, 300, 320, 400, 425, 및/또는 450)의 일부분들을 수행할 수 있다. 몇몇 실시예들에서, 위의 방법들은 프로세싱 유닛들(552) 및/또는 컴퓨터 비전(CV: Computer Vision) 모듈(566)에 의해 수행될 수 있다. 예컨대, 위의 방법들은 컴퓨팅 디바이스(500) 상의 하나 또는 그 초과의 기능 유닛들과 함께 그리고/또는 UD(100)와 함께 프로세싱 유닛들(552) 및/또는 CV 모듈(566)에 의해 전체적으로 또는 부분적으로 수행될 수 있다. 예컨대, 컴퓨팅 디바이스(500)는 UD(100)로부터 캡쳐된 이미지들의 시퀀스를 수신할 수 있고, CV 모듈(566)을 사용하여, 메모리(554)에 저장된 환경의 모델을 이용하여, 방법들(200, 275, 300, 320, 400, 425, 및/또는 450) 중 하나 또는 그 초과의 일부분들을 전체적으로 또는 부분적으로 수행할 수 있다.
[00119] 통신 인터페이스(590)는 유선 송신 및/또는 수신을 지원하는 다양한 유무선 연결들을 포함할 수 있고, 원해진다면, 부가하여 또는 대안적으로, 하나 또는 그 초과의 타입들의 무선 통신 네트워크들을 통해 하나 또는 그 초과의 신호들의 송신 및 수신을 지원할 수 있다. 통신 인터페이스(590)는 UD(100) 및/또는 다양한 다른 컴퓨터들 및 주변장치들과의 통신을 위한 인터페이스들을 포함할 수 있다. 예컨대, 일 실시예에서, 통신 인터페이스(590)는 컴퓨팅 디바이스(500)에 의해 수행되는 통신 기능들 중 하나 또는 그 초과를 구현하는 네트워크 인터페이스 카드들, 입력-출력 카드들, 칩들 및/또는 ASIC들을 포함할 수 있다. 몇몇 실시예들에서, 통신 인터페이스(590)는 또한, 환경에 대한 3D 모델 정보를 전송하기 위해 그리고/또는 방법들(200, 275, 300, 320, 400, 425 및/또는 450)에 관련된 이미지들, 데이터 및/또는 명령들을 수신하기 위해 UD(100)와 인터페이싱할 수 있다.
[00120] 프로세싱 유닛들(552)은, 요청된 컴퓨테이션들을 수행하기 위해 그리고/또는 요청된 정보 및/또는 결과들을 통신 인터페이스(590)를 통해 UD(100)에 전송하기 위해, 수신된 정보의 일부 또는 전부를 사용할 수 있다. 몇몇 실시예들에서, 프로세싱 유닛들(552)은 하드웨어, 펌웨어, 및 소프트웨어의 결합을 사용하여 구현될 수 있다. 몇몇 실시예들에서, 프로세싱 유닛(552)은 CV 모듈(566)을 포함할 수 있고, 이 CV 모듈(566)은 환경의 3D 모델들을 생성 및/또는 프로세싱하고, 3D 재구성을 수행하고, 방법들(200, 275, 300, 320, 400, 425, 및/또는 450)과 같은 다양한 컴퓨터 비전 방법들을 구현하고 실행할 수 있다. 몇몇 실시예들에서, 프로세싱 유닛(552)은 컴퓨팅 디바이스(500)의 동작에 관련된 데이터 신호 컴퓨팅 프로시저 또는 프로세스의 적어도 일부분을 수행하도록 구성 가능한 하나 또는 그 초과의 회로들을 표현할 수 있다.
[00121] 예컨대, CV 모듈(566)은 개시된 실시예들과 일치하는 방식으로 UD(100)로부터 수신된 하나 또는 그 초과의 이미지 프레임들을 프로세싱함으로써, 점 특징과 선 특징의 결합을 사용하여 특징-기반 추적을 구현할 수 있다. 몇몇 실시예들에서, CV 모듈(566)은, 수신된 이미지들에 기초하여, 점 특징 및 선 특징 둘 다를 사용하여, 그리고/또는 환경의 3D 재구성을 사용하여, 이미지 분석, 모델 생성, 특징 추출, 타겟 추적, 특징 대응, 카메라 포즈 결정 중 하나 또는 그 초과를 수행할 수 있다. 몇몇 실시예들에서, 다양한 AR 애플리케이션들의 실행 과정 동안, 위의 방법들 중 하나 또는 그 초과가 호출될 수 있다.
[00122] 본원에서 흐름도들 및 메시지 흐름들에서 설명된 방법론들은 애플리케이션에 따라 다양한 수단들에 의해 구현될 수 있다. 예컨대, 이들 방법론들은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 임의의 결합으로 구현될 수 있다. 하드웨어 구현을 위해, 프로세싱 유닛(552)은 하나 또는 그 초과의 ASIC(application specific integrated circuit)들, DSP(digital signal processor)들, DSPD(digital signal processing device)들, PLD(programmable logic device)들, FPGA(field programmable gate array)들, 프로세서들, 제어기들, 마이크로-제어기들, 마이크로프로세서들, 전자 디바이스들, 본원에 설명된 기능들을 수행하도록 설계된 다른 전자 유닛들, 또는 이들의 결합 내에 구현될 수 있다.
[00123] 펌웨어 및/또는 소프트웨어 구현을 위해, 방법론들은, 본원에 설명된 기능들을 수행하는 모듈들(예컨대, 프로시저들, 함수들 등)로 구현될 수 있다. 본원에 설명된 방법론들을 구현할 때, 명령들을 유형으로 실시하는 임의의 머신-판독가능 매체가 사용될 수 있다. 예컨대, 소프트웨어는 탈착 가능한 미디어 드라이브(570)에 저장될 수 있고, 이 탈착 가능한 미디어 드라이브(570)는 탈착 가능한 미디어를 포함하는 비-일시적 컴퓨터-판독가능 미디어(558)의 사용을 지원할 수 있다. 프로그램 코드는 비-일시적 컴퓨터 판독가능 미디어(558) 또는 메모리(554) 상에 상주할 수 있고, 프로세싱 유닛들(552)에 의해 판독 및 실행될 수 있다. 메모리는 프로세싱 유닛들(552) 내에 또는 프로세싱 유닛들(552)의 외부에 구현될 수 있다. 본원에 사용된 바와 같이, 용어 "메모리"는 임의의 타입의 장기, 단기, 휘발성, 비휘발성, 또는 다른 메모리를 지칭하고, 그리고 임의의 특정 타입의 메모리 또는 메모리들의 수, 또는 메모리가 저장되는 스토리지 미디어의 타입으로 제한되지 않아야 한다.
[00124] 펌웨어 및/또는 소프트웨어로 구현된다면, 기능들은 비-일시적 컴퓨터-판독가능 매체(558) 및/또는 메모리(554) 상에 하나 또는 그 초과의 명령들 또는 코드로서 저장될 수 있다. 예들은 데이터 구조로 인코딩된 컴퓨터-판독가능 미디어 및 컴퓨터 프로그램으로 인코딩된 컴퓨터-판독가능 미디어를 포함한다. 예컨대, 자신에 저장된 프로그램 코드를 포함하는 비 일시적 컴퓨터-판독가능 매체(558)는 개시된 실시예들과 일치하는 방식으로 강력한 특징 기반 추적을 가능하게 하기 위한 프로그램 코드를 포함할 수 있다.
[00125] 비-일시적 컴퓨터-판독가능 미디어는 다양한 물리적 컴퓨터 스토리지 미디어를 포함할 수 있다. 스토리지 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수 있다. 제한이 아닌 예로서, 이러한 비-일시적 컴퓨터-판독가능 미디어는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스들, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있고; 본원에 사용된 바와 같이, 디스크(disk) 및 디스크(disc)는 콤팩트 디스크(CD:compact disc), 레이저 디스크(disc), 광학 디스크(disc), 디지털 다기능 디스크(DVD:digital versatile disc), 플로피 디스크(disk) 및 블루레이 디스크(disc)를 포함하는데, 디스크(disk)들이 보통 데이터를 자기적으로 재생하는 반면에, 디스크(disc)들은 레이저들을 이용하여 데이터를 광학적으로 재생한다. 비-일시적 컴퓨터 판독가능 미디어의 다른 실시예들은 플래시 드라이브들, USB 드라이브들, 고체 상태 드라이브들, 메모리 카드들 등을 포함한다. 이들의 결합들이 또한 컴퓨터-판독가능 미디어의 범위 내에 포함되어야 한다.
[00126] 컴퓨터 판독가능 매체 상의 스토리지에 부가하여, 명령들 및/또는 데이터는 송신 미디어 상의 신호들로서, 명령들/데이터를 메모리(554), 스토리지(560)에 저장할 수 있는 통신 인터페이스(590)에 제공될 수 있고, 그리고/또는 실행을 위해 명령들/데이터이 프로세싱 유닛들(552)에 릴레잉될 수 있다. 예컨대, 통신 인터페이스(590)는 명령들 및 데이터를 표시하는 무선 또는 네트워크 신호들을 수신할 수 있다. 명령들 및 데이터는 하나 또는 그 초과의 프로세서들로 하여금 청구항들에서 서술되는 기능들을 구현하게 하도록 구성된다. 즉, 통신 장치는 개시된 기능들을 수행하기 위해 정보를 표시하는 신호들을 갖는 송신 미디어를 포함한다.
[00127] 메모리(554)는 임의의 데이터 스토리지 메커니즘을 표현할 수 있다. 메모리(554)는 예컨대, 주 메모리 및/또는 보조 메모리를 포함할 수 있다. 주 메모리는, 예컨대, 랜덤 액세스 메모리, 읽기 전용 메모리, 비-휘발성 RAM 등을 포함할 수 있다. 본 예에서 프로세싱 유닛(552)과 별개인 것으로서 예시되지만, 주 메모리의 일부 또는 전부가 프로세싱 유닛(552) 내에 제공될 수 있거나 또는 그렇지 않으면 프로세싱 유닛(552)에 커플링/공동 위치될 수 있음이 이해되어야 한다. 보조 메모리는, 예컨대, 주 메모리와 동일한 또는 유사한 타입의 메모리, 및/또는 예컨대 하드 디스크 드라이브들, 광학 디스크 드라이브들, 테이프 드라이브들, 고체 상태 메모리 드라이브 등을 포함하는 스토리지(560), 예컨대, 하나 또는 그 초과의 데이터 스토리지 디바이스들(560)을 포함할 수 있다.
[00128] 몇몇 실시예들에서, 스토리지(560)는 하나 또는 그 초과의 데이터베이스들을 포함할 수 있고, 이 데이터베이스들은 3D 모델들, 이미지들, 데이터베이스들, 및/또는 저장된 모델들, 키프레임들, 가상 오브젝트들에 관련된 정보 등과 연관된 테이블들을 포함하는, 환경에 관련된 정보를 보유할 수 있다. 몇몇 실시예들에서, 다양한 컴퓨테이션들 동안, 프로세싱 유닛들(552) 및/또는 CV 모듈(566)에 의해, 데이터베이스들에 있는 정보가 판독, 사용 및/또는 업데이트될 수 있다.
[00129] 특정 구현들에서, 보조 메모리는 비-일시적 컴퓨터-판독가능 매체(558)를 동작 가능하게 수용할 수 있거나, 또는 그렇지 않으면 이 비-일시적 컴퓨터-판독가능 매체(558)에 커플링되도록 구성 가능할 수 있다. 그로 인해서, 특정 예시적 구현들에서, 본원에 제시된 방법들 및/또는 장치들은 비 일시적 컴퓨터 판독가능 매체(558)를 사용하여 전체적으로 또는 부분적으로 구현될 수 있고, 이 비 일시적 컴퓨터 판독가능 매체(558)에는 컴퓨터 구현가능 명령들이 저장되어 있을 수 있고, 이 명령들은, 적어도 하나의 프로세싱 유닛(552)에 의해 실행된다면, 본원에 설명된 예시적 동작들의 일부분들 또는 전부를 수행하도록 동작 가능하게 인에이블링될 수 있다. 몇몇 실시예들에서, 컴퓨터 판독가능 매체(558)는 탈착 가능한 미디어 드라이브(570)를 사용하여 판독될 수 있고, 그리고/또는 메모리(554)의 일부를 형성할 수 있다.
[00130] 도 6은 개시된 실시예들과 일치하는 방식으로 점 특징과 선 특징의 결합에 기초한 특징 추적을 위한 예시적 방법(600)에 대한 흐름도를 도시한다.
[00131] 몇몇 실시예들에서, 단계(610)에서, 타겟 오브젝트를 포함하는 현재 카메라-캡쳐된 이미지에 대한 스코어가 컴퓨팅될 수 있다. 이 스코어는, 카메라에 의해 캡쳐된 이전 이미지 및 현재 이미지의 특징들의 비교로부터 결정된 하나 또는 그 초과의 메트릭들에 적어도 부분적으로 기초할 수 있고, 이 비교는 현재 이미지에 대해 추정된 카메라 포즈에 기초할 수 있다. 몇몇 실시예들에서, 현재 이미지에 대해 추정된 카메라 포즈는, 이전 이미지에 대해 획득된 이전 카메라 포즈에, 그리고 현재 이미지에서 타겟 오브젝트의 추정된 위치에 적어도 부분적으로 기초하여 획득될 수 있다. 하나 또는 그 초과의 메트릭들은 현재 이미지와 이전 이미지 사이의 특징 매치들의 수; 현재 이미지와 이전 이미지 사이의 특징 매치들의 예상 수에 대한 특징 매치들의 비율; 또는 현재 이미지와 이전 이미지 사이의 특징 점 매치들에 대한 평균 정규화 상호 상관(NCC) 스코어 중 적어도 하나를 포함할 수 있다.
[00132] 다음 차례로, 단계(620)에서, 적어도 하나의 점 임계치 및 적어도 하나의 선 임계치와 스코어의 비교에 적어도 부분적으로 기초하여, 점 기반 특징 대응 방법, 테두리 기반 특징 대응 방법, 또는 결합된 점 및 테두리 기반 특징 대응 방법 중 하나가 선택될 수 있고, 적어도 하나의 점 임계치 및 적어도 하나의 선 임계치는 타겟의 모델로부터 획득된다. 몇몇 실시예들에서, 적어도 하나의 점 임계치는 점 기반 특징 추적에 대해 모델의 적합성의 표시를 제공할 수 있고, 적어도 하나의 선 임계치는 선 기반 특징 추적에 대해 모델의 적합성의 표시를 제공할 수 있다.
[00133] 몇몇 실시예들에서, 선택된 특징 대응 방법을 사용하여, 현재 이미지와 적어도 하나의 모델 이미지 사이의 특징 대응성들이 결정될 수 있는데, 추정된 카메라 포즈에 기초하여, 모델 이미지가 선택될 수 있다. 이후, 가중 최소 제곱 근사화를 사용함으로써 현재 이미지와 적어도 하나의 모델 이미지 사이에 획득된 특징 대응성들에 기초하여, 추정된 카메라 포즈가 개선될 수 있다.
[00134] 몇몇 실시예들에서, 타겟의 모델은 타겟 오브젝트의 복수의 저장된 이미지들을 포함할 수 있다. 몇몇 실시예들에서, 타겟 오브젝트의 각각의 저장된 이미지는 복수의 이미지 세부구역들을 포함할 수 있고, 각각의 이미지 세부구역은 점 특징들의 카운트 및 테두리 특징들의 카운트와 연관될 수 있다. 추가로, 적어도 하나의 점 임계치 및 적어도 하나의 선 임계치는 모델의 가시 구역으로부터, 가시 구역의 각각의 이미지 세부구역과 연관된 점 특징들의 카운트 및 테두리 특징들의 카운트에 적어도 부분적으로 기초하여 획득될 수 있고, 여기서 모델의 가시 구역은 현재 이미지에 대응한다. 몇몇 구현들에서, 각각의 이미지 세부구역은 모델의 각각의 이미지를 복수의 그리드들로 세분함으로써 획득되는 그리드의 형태를 취할 수 있다.
[00135] 타겟의 모델이 타겟의 복수의 저장된 이미지들(이미지들 각각은 복수의 이미지 세부구역들을 가짐)을 포함하는 실시예들에서, 하나 또는 그 초과의 메트릭들은 추가로, 현재 이미지와 이전 이미지 사이의 점 매치들의 공간 분포의 균일성에 기초할 수 있다.
[00136] 개시된 양상들의 앞선 설명은, 당업자가 본 개시물을 만들거나 또는 사용하는 것을 가능하게 하기 위해 제공된다. 이들 양상들에 대한 다양한 수정들이 당업자들에게 쉽게 명백할 것이며, 본 개시물의 사상 또는 범위로부터 벗어남 없이, 본원에 정의된 일반적인 원리들이 다른 양상들에 적용될 수 있다.

Claims (30)

  1. 오브젝트 추적 방법으로서,
    타겟 오브젝트를 포함하는, 카메라로 캡쳐된 현재 이미지에 대한 스코어를 컴퓨팅하는 단계 ―상기 스코어는, 상기 카메라에 의해 캡쳐된 이전 이미지 및 상기 현재 이미지의 특징(feature)들의 비교로부터 결정된 하나 또는 그 초과의 메트릭들에 적어도 부분적으로 기초하고, 상기 비교는 상기 현재 이미지에 대해 추정된 카메라 포즈에 기초함―; 및
    적어도 하나의 점(point) 임계치 및 적어도 하나의 선(line) 임계치와 상기 스코어의 비교에 적어도 부분적으로 기초하여, 점 기반 특징 대응 방법, 테두리(edge) 기반 특징 대응 방법, 또는 결합된 점 및 테두리 기반 특징 대응 방법 중 하나의 방법을 선택하는 단계
    를 포함하고,
    상기 적어도 하나의 점 임계치 및 상기 적어도 하나의 선 임계치는 상기 타겟의 모델로부터 획득되는,
    오브젝트 추적 방법.
  2. 제 1 항에 있어서,
    상기 하나 또는 그 초과의 메트릭들은:
    상기 현재 이미지와 상기 이전 이미지 사이의 특징 매치들의 수;
    상기 현재 이미지와 상기 이전 이미지 사이의 특징 매치들의 예상 수에 대한 특징 매치들의 비율; 또는
    상기 현재 이미지와 상기 이전 이미지 사이의 특징 점 매치들에 대한 평균 정규화 상호 상관(NCC:Normalized Cross Correlation) 스코어
    중 적어도 하나를 포함하는,
    오브젝트 추적 방법.
  3. 제 1 항에 있어서,
    상기 타겟의 상기 모델은 상기 타겟 오브젝트의 복수의 저장된 이미지들을 포함하는,
    오브젝트 추적 방법.
  4. 제 3 항에 있어서,
    선택된 특징 대응 방법을 사용하여, 상기 현재 이미지와 적어도 하나의 모델 이미지 사이의 특징 대응성들을 결정하는 단계 ―상기 모델 이미지는 상기 추정된 카메라 포즈에 기초하여 선택됨―, 및
    가중 최소 제곱 근사화(weighted least squares approximation)를 사용함으로써 상기 현재 이미지와 상기 적어도 하나의 모델 이미지 사이에서 획득된 상기 특징 대응성들에 기초하여, 상기 추정된 카메라 포즈를 개선시키는 단계
    를 더 포함하는,
    오브젝트 추적 방법.
  5. 제 3 항에 있어서,
    상기 타겟 오브젝트의 각각의 저장된 이미지는 복수의 이미지 세부구역들을 포함하고, 각각의 이미지 세부구역은 점 특징들의 카운트 및 테두리 특징들의 카운트와 연관되며, 그리고,
    상기 적어도 하나의 점 임계치 및 상기 적어도 하나의 선 임계치는, 상기 모델의 가시 구역으로부터, 상기 가시 구역의 각각의 이미지 세부구역과 연관된 상기 점 특징들의 카운트 및 상기 테두리 특징들의 카운트에 적어도 부분적으로 기초하여 획득되고, 상기 모델의 상기 가시 구역은 상기 현재 이미지에 대응하는,
    오브젝트 추적 방법.
  6. 제 5 항에 있어서,
    상기 각각의 이미지 세부구역은 상기 모델의 각각의 이미지를 복수의 그리드들로 세분함으로써 획득되는 그리드인,
    오브젝트 추적 방법.
  7. 제 5 항에 있어서,
    상기 하나 또는 그 초과의 메트릭들은:
    상기 현재 이미지와 상기 이전 이미지 사이의 점 매치들의 공간 분포의 균일성;
    상기 현재 이미지와 상기 이전 이미지 사이의 우수(good) 매치들의 수;
    상기 현재 이미지와 상기 이전 이미지 사이의 불량(bad) 매치들의 수;
    상기 현재 이미지와 상기 이전 이미지 사이의 특징 매치들의 예상 수에 대한 특징 매치들의 비율; 또는
    상기 현재 이미지와 상기 이전 이미지 사이의 특징 점 매치들에 대한 평균 정규화 상호 상관(NCC:Normalized Cross Correlation) 스코어
    를 포함하는,
    오브젝트 추적 방법.
  8. 제 1 항에 있어서,
    상기 현재 이미지에 대해 추정된 카메라 포즈는 상기 이전 이미지에 대해 획득된 이전 카메라 포즈, 및 상기 현재 이미지에서 상기 타겟 오브젝트의 추정된 위치에 적어도 부분적으로 기초하여 획득되는,
    오브젝트 추적 방법.
  9. 제 1 항에 있어서,
    상기 적어도 하나의 점 임계치는 점 기반 특징 추적에 대해 상기 모델의 적합성의 표시를 제공하고, 그리고
    상기 적어도 하나의 선 임계치는 선 기반 특징 추적에 대해 상기 모델의 적합성의 표시를 제공하는,
    오브젝트 추적 방법.
  10. 사용자 디바이스(UD:User device)로서,
    타겟 오브젝트를 포함하는 복수의 이미지들을 캡쳐하도록 구성된 카메라,
    상기 타겟 오브젝트의 모델을 저장하도록 구성된 메모리, 및
    상기 카메라 및 상기 메모리에 커플링된 프로세서
    를 포함하고,
    상기 프로세서는,
    상기 카메라에 의해 캡쳐된 현재 이미지에 대한 스코어를 컴퓨팅하고 ―상기 스코어는, 상기 카메라에 의해 캡쳐된 이전 이미지 및 상기 현재 이미지의 특징들의 비교로부터 결정된 하나 또는 그 초과의 메트릭들에 적어도 부분적으로 기초하고, 상기 비교는 상기 현재 이미지에 대해 추정된 카메라 포즈에 기초함―; 그리고
    적어도 하나의 점 임계치 및 적어도 하나의 선 임계치와 상기 스코어의 비교에 적어도 부분적으로 기초하여, 점 기반 특징 대응 방법, 테두리 기반 특징 대응 방법, 또는 결합된 점 및 테두리 기반 특징 대응 방법 중 하나의 방법을 선택하도록 구성되고,
    상기 적어도 하나의 점 임계치 및 상기 적어도 하나의 선 임계치는 상기 타겟 오브젝트의 상기 모델로부터 획득되는,
    사용자 디바이스(UD).
  11. 제 10 항에 있어서,
    상기 하나 또는 그 초과의 메트릭들은:
    상기 현재 이미지와 상기 이전 이미지 사이의 특징 매치들의 수;
    상기 현재 이미지와 상기 이전 이미지 사이의 매치들의 예상 수에 대한 특징 매치들의 비율; 또는
    상기 현재 이미지와 상기 이전 이미지 사이의 특징 점 매치들에 대한 평균 정규화 상호 상관(NCC:Normalized Cross Correlation) 스코어
    중 적어도 하나를 포함하는,
    사용자 디바이스(UD).
  12. 제 10 항에 있어서,
    상기 타겟 오브젝트의 상기 모델은 상기 타겟 오브젝트의 복수의 저장된 이미지들을 포함하는,
    사용자 디바이스(UD).
  13. 제 12 항에 있어서,
    상기 프로세서는, 추가로,
    선택된 특징 대응 방법을 사용하여, 상기 현재 이미지와 적어도 하나의 모델 이미지 사이의 특징 대응성들을 결정하고 ―상기 모델 이미지는 상기 추정된 카메라 포즈에 기초하여 선택됨―, 그리고
    가중 최소 제곱 근사화를 사용함으로써 상기 현재 이미지와 상기 적어도 하나의 모델 이미지 사이에서 획득된 상기 특징 대응성들에 기초하여, 추정된 현재 카메라 포즈를 개선시키도록
    구성되는,
    사용자 디바이스(UD).
  14. 제 12 항에 있어서,
    상기 타겟 오브젝트의 복수의 저장된 이미지들 각각은 복수의 이미지 세부구역들을 포함하고, 각각의 이미지 세부구역은 점 특징들의 카운트 및 테두리 특징들의 카운트와 연관되며, 그리고,
    상기 프로세서는, 추가로,
    상기 모델의 가시 구역으로부터, 상기 가시 구역의 각각의 이미지 세부구역과 연관된 상기 점 특징들의 카운트 및 상기 테두리 특징들의 카운트에 적어도 부분적으로 기초하여, 상기 적어도 하나의 점 임계치 및 상기 적어도 하나의 선 임계치를 획득하도록 구성되고,
    상기 모델의 상기 가시 구역은 상기 현재 이미지에 대응하는,
    사용자 디바이스(UD).
  15. 제 14 항에 있어서,
    상기 각각의 이미지 세부구역은 상기 모델의 각각의 이미지를 복수의 그리드들로 세분함으로써 획득되는 그리드인,
    사용자 디바이스(UD).
  16. 제 14 항에 있어서,
    메트릭들은:
    상기 현재 이미지와 상기 이전 이미지 사이의 특징 점 매치들의 공간 분포의 균일성;
    상기 현재 이미지와 상기 이전 이미지 사이의 특징 매치들의 수;
    상기 현재 이미지와 상기 이전 이미지 사이의 특징 매치들의 예상 수에 대한 특징 매치들의 비율; 또는
    상기 현재 이미지와 상기 이전 이미지 사이의 특징 점 매치들에 대한 평균 정규화 상호 상관(NCC:Normalized Cross Correlation) 스코어
    를 포함하는,
    사용자 디바이스(UD).
  17. 제 10 항에 있어서,
    상기 프로세서는, 추가로,
    상기 이전 이미지에 대해 획득된 이전 카메라 포즈, 및 상기 현재 이미지에서 상기 타겟 오브젝트의 추정된 위치에 적어도 부분적으로 기초하여, 상기 현재 이미지에 대해 추정된 카메라 포즈를 결정하도록 구성되는,
    사용자 디바이스(UD).
  18. 제 10 항에 있어서,
    상기 적어도 하나의 점 임계치는 점 기반 특징 추적에 대해 상기 모델의 적합성의 표시를 제공하고, 그리고
    상기 적어도 하나의 선 임계치는 테두리 기반 특징 추적에 대해 상기 모델의 적합성의 표시를 제공하는,
    사용자 디바이스(UD).
  19. 장치로서,
    타겟 오브젝트를 포함하는 복수의 이미지들을 캡쳐하기 위한 이미징 수단;
    상기 타겟 오브젝트의 모델을 저장하기 위한 스토리지 수단 ―상기 스토리지 수단은 상기 이미징 수단에 커플링됨―;
    상기 이미징 수단에 의해 캡쳐된 현재 이미지에 대한 스코어를 컴퓨팅하기 위한 수단 ―상기 스코어는, 상기 이미징 수단에 의해 캡쳐된 이전 이미지 및 상기 현재 이미지의 특징들의 비교로부터 결정된 하나 또는 그 초과의 메트릭들에 적어도 부분적으로 기초하고, 상기 비교는 상기 현재 이미지에 대해 추정된 이미징 수단 포즈에 기초함―; 및
    적어도 하나의 점 임계치 및 적어도 하나의 선 임계치와 상기 스코어의 비교에 적어도 부분적으로 기초하여, 점 기반 특징 대응 방법, 테두리 기반 특징 대응 방법, 또는 결합된 점 및 테두리 기반 특징 대응 방법 중 하나의 방법을 선택하기 위한 수단
    을 포함하고,
    상기 적어도 하나의 점 임계치 및 상기 적어도 하나의 선 임계치는 상기 타겟 오브젝트의 저장된 모델로부터 획득되는,
    장치.
  20. 제 19 항에 있어서,
    상기 하나 또는 그 초과의 메트릭들은:
    상기 현재 이미지와 상기 이전 이미지 사이의 특징 매치들의 수;
    상기 현재 이미지와 상기 이전 이미지 사이의 매치들의 예상 수에 대한 특징 매치들의 비율; 또는
    상기 현재 이미지와 상기 이전 이미지 사이의 점 매치들에 대한 평균 정규화 상호 상관(NCC:Normalized Cross Correlation) 스코어
    중 적어도 하나를 포함하는,
    장치.
  21. 제 19 항에 있어서,
    상기 타겟 오브젝트의 상기 모델은 상기 타겟 오브젝트의 복수의 이미지들을 포함하는,
    장치.
  22. 제 21 항에 있어서,
    선택된 특징 대응 방법을 사용하여, 상기 현재 이미지와 적어도 하나의 모델 이미지 사이의 특징 대응성들을 결정하기 위한 수단 ―상기 모델 이미지는 현재 카메라 포즈에 기초하여 선택됨―, 및
    가중 최소 제곱 근사화를 사용함으로써 상기 현재 이미지와 상기 적어도 하나의 모델 이미지 사이에서 획득된 상기 특징 대응성들에 기초하여, 추정된 현재 이미징 수단 포즈를 개선시키기 위한 수단
    을 더 포함하는,
    장치.
  23. 제 21 항에 있어서,
    상기 타겟 오브젝트의 복수의 이미지들 각각은 복수의 이미지 세부구역들을 포함하고, 각각의 이미지 세부구역은 점 특징들의 카운트 및 테두리 특징들의 카운트와 연관되며, 그리고,
    상기 장치는,
    상기 모델의 가시 구역으로부터, 상기 가시 구역의 각각의 이미지 세부구역과 연관된 상기 점 특징들의 카운트 및 상기 테두리 특징들의 카운트에 적어도 부분적으로 기초하여, 상기 적어도 하나의 점 임계치 및 상기 적어도 하나의 선 임계치를 획득하기 위한 수단
    을 더 포함하며,
    상기 모델의 상기 가시 구역은 상기 현재 이미지에 대응하는,
    장치.
  24. 제 23 항에 있어서,
    메트릭들은:
    상기 현재 이미지와 상기 이전 이미지 사이의 특징 점 매치들의 공간 분포의 균일성;
    상기 현재 이미지와 상기 이전 이미지 사이의 특징 매치들의 수;
    상기 현재 이미지와 상기 이전 이미지 사이의 특징 매치들의 예상 수에 대한 특징 매치들의 비율; 또는
    상기 현재 이미지와 상기 이전 이미지 사이의 특징 점 매치들에 대한 평균 정규화 상호 상관(NCC:Normalized Cross Correlation) 스코어
    를 포함하는,
    장치.
  25. 비-일시적 컴퓨터-판독가능 매체로서,
    프로세서에 의해 실행될 때, 방법의 단계들을 수행하는 명령들
    을 포함하고,
    상기 방법은,
    타겟 오브젝트를 포함하는, 카메라로 캡쳐된 현재 이미지에 대한 스코어를 컴퓨팅하는 단계 ―상기 스코어는, 상기 카메라에 의해 캡쳐된 이전 이미지 및 상기 현재 이미지의 특징들의 비교로부터 결정된 하나 또는 그 초과의 메트릭들에 적어도 부분적으로 기초하고, 상기 비교는 상기 현재 이미지에 대해 추정된 카메라 포즈에 기초함―; 및
    적어도 하나의 점 임계치 및 적어도 하나의 선 임계치와 상기 스코어의 비교에 적어도 부분적으로 기초하여, 점 기반 특징 대응 방법, 테두리 기반 특징 대응 방법, 또는 결합된 점 및 테두리 기반 특징 대응 방법 중 하나의 방법을 선택하는 단계
    를 포함하고,
    상기 적어도 하나의 점 임계치 및 상기 적어도 하나의 선 임계치는 상기 타겟 오브젝트의 모델로부터 획득되는,
    비-일시적 컴퓨터-판독가능 매체.
  26. 제 25 항에 있어서,
    메트릭들은:
    상기 현재 이미지와 상기 이전 이미지 사이의 특징 매치들의 수;
    상기 현재 이미지와 상기 이전 이미지 사이의 특징 매치들의 예상 수에 대한 특징 매치들의 비율; 또는
    상기 현재 이미지와 상기 이전 이미지 사이의 특징 점 매치들에 대한 평균 정규화 상호 상관(NCC:Normalized Cross Correlation) 스코어
    중 적어도 하나를 포함하는,
    비-일시적 컴퓨터-판독가능 매체.
  27. 제 25 항에 있어서,
    상기 모델은 상기 타겟 오브젝트의 복수의 저장된 이미지들을 포함하는,
    비-일시적 컴퓨터-판독가능 매체.
  28. 제 27 항에 있어서,
    선택된 특징 대응 방법을 사용하여, 상기 현재 이미지와 적어도 하나의 모델 이미지 사이의 특징 대응성들을 결정하는 단계 ―상기 모델 이미지는 상기 추정된 카메라 포즈에 기초하여 선택됨―, 및
    가중 최소 제곱 근사화를 사용함으로써 상기 현재 이미지와 상기 적어도 하나의 모델 이미지 사이에서 획득된 상기 특징 대응성들에 기초하여, 상기 추정된 카메라 포즈를 개선시키는 단계
    를 더 포함하는,
    비-일시적 컴퓨터-판독가능 매체.
  29. 제 27 항에 있어서,
    각각의 저장된 이미지는 복수의 이미지 세부구역들을 포함하고, 각각의 이미지 세부구역은 점 특징들의 카운트 및 테두리 특징들의 카운트와 연관되며, 그리고,
    상기 적어도 하나의 점 임계치 및 상기 적어도 하나의 선 임계치는, 상기 모델의 가시 구역으로부터, 상기 가시 구역의 각각의 이미지 세부구역과 연관된 상기 점 특징들의 카운트 및 상기 테두리 특징들의 카운트에 적어도 부분적으로 기초하여 획득되고, 상기 모델의 상기 가시 구역은 상기 현재 이미지에 대응하는,
    비-일시적 컴퓨터-판독가능 매체.
  30. 제 29 항에 있어서,
    상기 하나 또는 그 초과의 메트릭들은:
    상기 현재 이미지와 상기 이전 이미지 사이의 점 매치들의 공간 분포의 균일성;
    상기 현재 이미지와 상기 이전 이미지 사이의 특징 매치들의 수;
    상기 현재 이미지와 상기 이전 이미지 사이의 특징 매치들의 예상 수에 대한 특징 매치들의 비율; 또는
    상기 현재 이미지와 상기 이전 이미지 사이의 점 매치들에 대한 평균 정규화 상호 상관(NCC:Normalized Cross Correlation) 스코어
    를 포함하는,
    비-일시적 컴퓨터-판독가능 매체.
KR1020167000670A 2013-06-14 2014-05-16 점 특징 및 선 특징을 사용한 강력한 추적 KR101722654B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361835402P 2013-06-14 2013-06-14
US61/835,402 2013-06-14
US14/278,928 2014-05-15
US14/278,928 US9406137B2 (en) 2013-06-14 2014-05-15 Robust tracking using point and line features
PCT/US2014/038461 WO2014200665A1 (en) 2013-06-14 2014-05-16 Robust tracking using point and line features

Publications (2)

Publication Number Publication Date
KR20160019512A true KR20160019512A (ko) 2016-02-19
KR101722654B1 KR101722654B1 (ko) 2017-04-03

Family

ID=52018894

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167000670A KR101722654B1 (ko) 2013-06-14 2014-05-16 점 특징 및 선 특징을 사용한 강력한 추적

Country Status (6)

Country Link
US (1) US9406137B2 (ko)
EP (1) EP3008695B1 (ko)
JP (1) JP6125100B2 (ko)
KR (1) KR101722654B1 (ko)
CN (1) CN105283905B (ko)
WO (1) WO2014200665A1 (ko)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9135646B2 (en) * 2013-10-09 2015-09-15 Ricoh Company, Ltd. Associating advertising content with a channel
CN107004276A (zh) * 2014-07-03 2017-08-01 A·古曼 从一对图像中觉察3d结构的方法
JP6723798B2 (ja) * 2015-05-20 2020-07-15 キヤノン株式会社 情報処理装置、方法、プログラム
US10282591B2 (en) * 2015-08-24 2019-05-07 Qualcomm Incorporated Systems and methods for depth map sampling
US9849591B2 (en) * 2015-10-02 2017-12-26 X Development Llc Localization of a robot in an environment using detected edges of a camera image from a camera of the robot and detected edges derived from a three-dimensional model of the environment
US10260862B2 (en) * 2015-11-02 2019-04-16 Mitsubishi Electric Research Laboratories, Inc. Pose estimation using sensors
US10217231B2 (en) * 2016-05-31 2019-02-26 Microsoft Technology Licensing, Llc Systems and methods for utilizing anchor graphs in mixed reality environments
US10290111B2 (en) * 2016-07-26 2019-05-14 Qualcomm Incorporated Systems and methods for compositing images
JP2018036901A (ja) * 2016-08-31 2018-03-08 富士通株式会社 画像処理装置、画像処理方法および画像処理プログラム
WO2018144929A1 (en) * 2017-02-02 2018-08-09 Infatics, Inc. (DBA DroneDeploy) System and methods for improved aerial mapping with aerial vehicles
US11048325B2 (en) 2017-07-10 2021-06-29 Samsung Electronics Co., Ltd. Wearable augmented reality head mounted display device for phone content display and health monitoring
CN108021921A (zh) * 2017-11-23 2018-05-11 塔普翊海(上海)智能科技有限公司 图像特征点提取系统及其应用
EP3724713A4 (en) * 2017-12-15 2021-08-25 Magic Leap, Inc. IMPROVED ITEM DETERMINATION FOR A DISPLAY DEVICE
WO2019194561A1 (ko) * 2018-04-03 2019-10-10 한국과학기술원 이동형 단말기에서의 증강 현실을 제공하기 위한 위치 인식 방법 및 시스템
US10964053B2 (en) * 2018-07-02 2021-03-30 Microsoft Technology Licensing, Llc Device pose estimation using 3D line clouds
CN109059941B (zh) * 2018-07-06 2019-11-29 禾多科技(北京)有限公司 特征地图构建方法、视觉定位方法及对应装置
US10848664B2 (en) * 2018-07-26 2020-11-24 Sony Corporation Image capture device and method for image score-based video quality enhancement
WO2020036898A1 (en) 2018-08-13 2020-02-20 Magic Leap, Inc. A cross reality system
CN108709560A (zh) * 2018-08-15 2018-10-26 苏州中研讯科智能科技有限公司 基于直线段特征的载运机器人高精度定位导航方法
WO2020072985A1 (en) 2018-10-05 2020-04-09 Magic Leap, Inc. Rendering location specific virtual content in any location
US10839556B2 (en) 2018-10-23 2020-11-17 Microsoft Technology Licensing, Llc Camera pose estimation using obfuscated features
CN109712170B (zh) * 2018-12-27 2021-09-07 广东省智能制造研究所 基于视觉惯性里程计的环境对象追踪方法和装置
JP2022551733A (ja) 2019-10-15 2022-12-13 マジック リープ, インコーポレイテッド 位置特定サービスを伴うクロスリアリティシステム
JP2022551735A (ja) 2019-10-15 2022-12-13 マジック リープ, インコーポレイテッド 無線フィンガプリントを用いたクロスリアリティシステム
EP4059007A4 (en) 2019-11-12 2023-11-01 Magic Leap, Inc. CROSS-REALLY SYSTEM WITH LOCATION SERVICE AND SHARED LOCATION-BASED CONTENT
WO2021118962A1 (en) 2019-12-09 2021-06-17 Magic Leap, Inc. Cross reality system with simplified programming of virtual content
US11830149B2 (en) * 2020-02-13 2023-11-28 Magic Leap, Inc. Cross reality system with prioritization of geolocation information for localization
WO2021163300A1 (en) 2020-02-13 2021-08-19 Magic Leap, Inc. Cross reality system with map processing using multi-resolution frame descriptors
JP2023514205A (ja) 2020-02-13 2023-04-05 マジック リープ, インコーポレイテッド 正確な共有マップを伴うクロスリアリティシステム
EP4111425A4 (en) 2020-02-26 2024-03-13 Magic Leap Inc MIXED REALITY SYSTEM WITH QUICK LOCATION
US11900547B2 (en) 2020-04-29 2024-02-13 Magic Leap, Inc. Cross reality system for large scale environments
KR20230098944A (ko) * 2021-12-27 2023-07-04 주식회사 버넥트 모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법
CN115690205B (zh) * 2022-10-09 2023-12-05 北京自动化控制设备研究所 基于点线综合特征的视觉相对位姿测量误差估计方法
CN116436543B (zh) * 2023-06-14 2023-08-25 四川恒湾科技有限公司 一种基于fdd系统中多失真源的无源交调校正方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001076151A (ja) * 1999-09-08 2001-03-23 Denso Corp 画像情報に含まれる認識対象物の認識方法
JP2001101419A (ja) * 1999-07-27 2001-04-13 Matsushita Electric Works Ltd 画像特徴追跡処理方法、画像特徴追跡処理装置、3次元データ作成方法
US20030012410A1 (en) * 2001-07-10 2003-01-16 Nassir Navab Tracking and pose estimation for augmented reality using real features
JP2009110304A (ja) * 2007-10-30 2009-05-21 Canon Inc 画像処理装置、画像処理方法
JP2010079452A (ja) * 2008-09-24 2010-04-08 Canon Inc 位置姿勢計測装置及び方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1297691A2 (en) 2000-03-07 2003-04-02 Sarnoff Corporation Camera pose estimation
EP1567988A1 (en) 2002-10-15 2005-08-31 University Of Southern California Augmented virtual environments
US7764808B2 (en) * 2003-03-24 2010-07-27 Siemens Corporation System and method for vehicle detection and tracking
US7616807B2 (en) 2005-02-24 2009-11-10 Siemens Corporate Research, Inc. System and method for using texture landmarks for improved markerless tracking in augmented reality applications
ATE450019T1 (de) * 2006-03-23 2009-12-15 Nds Ltd System zur analyse von bewegung
NO327279B1 (no) 2007-05-22 2009-06-02 Metaio Gmbh Kamerapositurestimeringsanordning og- fremgangsmate for foroket virkelighetsavbildning
JP2011043863A (ja) * 2007-11-16 2011-03-03 Nec Corp 対象領域判定・追跡装置、方法、プログラム及び対象領域判定装置
US8442305B2 (en) * 2009-06-30 2013-05-14 Mitsubishi Electric Research Laboratories, Inc. Method for determining 3D poses using points and lines
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
US9317133B2 (en) 2010-10-08 2016-04-19 Nokia Technologies Oy Method and apparatus for generating augmented reality content
US20120092329A1 (en) 2010-10-13 2012-04-19 Qualcomm Incorporated Text-based 3d augmented reality
CN102184550B (zh) * 2011-05-04 2013-02-13 华中科技大学 一种动平台地面运动目标检测方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001101419A (ja) * 1999-07-27 2001-04-13 Matsushita Electric Works Ltd 画像特徴追跡処理方法、画像特徴追跡処理装置、3次元データ作成方法
JP2001076151A (ja) * 1999-09-08 2001-03-23 Denso Corp 画像情報に含まれる認識対象物の認識方法
US20030012410A1 (en) * 2001-07-10 2003-01-16 Nassir Navab Tracking and pose estimation for augmented reality using real features
JP2009110304A (ja) * 2007-10-30 2009-05-21 Canon Inc 画像処理装置、画像処理方法
JP2010079452A (ja) * 2008-09-24 2010-04-08 Canon Inc 位置姿勢計測装置及び方法

Also Published As

Publication number Publication date
WO2014200665A1 (en) 2014-12-18
KR101722654B1 (ko) 2017-04-03
JP6125100B2 (ja) 2017-05-10
EP3008695A1 (en) 2016-04-20
US9406137B2 (en) 2016-08-02
CN105283905A (zh) 2016-01-27
JP2016521885A (ja) 2016-07-25
CN105283905B (zh) 2018-03-09
EP3008695B1 (en) 2018-05-09
US20140368645A1 (en) 2014-12-18

Similar Documents

Publication Publication Date Title
KR101722654B1 (ko) 점 특징 및 선 특징을 사용한 강력한 추적
US9674507B2 (en) Monocular visual SLAM with general and panorama camera movements
CN108810538B (zh) 视频编码方法、装置、终端及存储介质
US9747516B2 (en) Keypoint detection with trackability measurements
CN104885098B (zh) 基于移动装置的文本检测及跟踪
US10154190B2 (en) Balancing exposure and gain at an electronic device based on device motion and scene distance
US10313657B2 (en) Depth map generation apparatus, method and non-transitory computer-readable medium therefor
US20140369557A1 (en) Systems and Methods for Feature-Based Tracking
KR102398478B1 (ko) 전자 디바이스 상에서의 환경 맵핑을 위한 피쳐 데이터 관리
KR20160003233A (ko) 컴퓨터 비전 애플리케이션 초기화를 용이하게 하는 방법들
JP2016502712A (ja) 単眼視覚slamのための高速初期化
KR101738572B1 (ko) 뎁스 이미지를 이용한 마커리스 증강현실 데이터처리 디바이스 및 뎁스 이미지를 이용한 증강현실 데이터처리방법
KR102450236B1 (ko) 전자 장치, 그 제어 방법 및 컴퓨터 판독가능 기록 매체
CN108776822B (zh) 目标区域检测方法、装置、终端及存储介质
EP2888716B1 (en) Target object angle determination using multiple cameras
US20220345621A1 (en) Scene lock mode for capturing camera images

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