KR20150120408A - 카메라 보조 모션 방향 및 속도 추정 - Google Patents
카메라 보조 모션 방향 및 속도 추정 Download PDFInfo
- Publication number
- KR20150120408A KR20150120408A KR1020157024499A KR20157024499A KR20150120408A KR 20150120408 A KR20150120408 A KR 20150120408A KR 1020157024499 A KR1020157024499 A KR 1020157024499A KR 20157024499 A KR20157024499 A KR 20157024499A KR 20150120408 A KR20150120408 A KR 20150120408A
- Authority
- KR
- South Korea
- Prior art keywords
- mobile device
- images
- motion
- determining
- features
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Navigation (AREA)
- Telephone Function (AREA)
Abstract
카메라 보조 모션 방향 및 속도 추정을 위한 방법들 및 디바이스들이 개시된다. 모바일 디바이스의 포지션 특징들을 결정하는 방법은, 모바일 디바이스로부터 뷰들을 나타내는 복수의 이미지들을 캡처하는 단계, 모바일 디바이스의 배향에 적어도 부분적으로 기초하여 복수의 이미지들의 시점들을 조절하는 단계, 복수의 이미지들을 이용하여 모바일 디바이스의 모션 방향에 관한 오정렬 각도를 결정하는 단계, 및 오정렬 각도 및 모션 방향을 저장 디바이스에 저장하는 단계를 포함한다.
Description
[0001] 본 출원은, "Camera Aided Motion Direction and Speed Estimation"이란 명칭으로 2013년 2월 14일자로 출원된 미국 출원 제13/767,755호의 우선권 및 장점을 청구하며, 이는 본원의 양수인에게 양도되며, 인용에 의해 본원에 포함된다.
[0002] 본 개시물은 무선 통신 분야에 관한 것이다. 특히, 본 개시물은 모바일 디바이스의 포지션 특징들을 결정하는 것에 관한 것이다.
[0003] 다양한 모바일 디바이스 애플리케이션들, 예컨대 항법 보조기(navigation aids), 비지니스 디렉토리들(business directories), 지역 뉴스 및 기상 서비스들 등은, 디바이스의 포지션에 대한 정보(knowledge)를 리버리징한다(leverage). 다양한 경우들에서, 모바일 디바이스의 포지션은 디바이스에 관한 모션 추적을 통해 식별된다. 예를 들어, 센서-보조 보행자 네비게이션 애플리케이션들의 경우, 모션 방향은 포워드 모션 방향에 대한 디바이스 센서들의 배향을 사용하여 결정된다. 모바일 디바이스의 배향과 포워드 모션 방향 사이의 각도는, 정렬 각도 또는 오정렬 각도로 지칭된다. 사용자들이 도보로 여행을 하는 동안 사용자들을 어시스트하는 모바일 애플리케이션들의 경우, 모바일 디바이스의 배향은 자주 변할 수 있으며, 이는 결국 모바일 디바이스의 오정렬 각도를 자주 변화시킬 수 있고, 이러한 모바일 애플리케이션들의 사용자 경험에 악영향을 미칠 수 있다.
[0004] 따라서, 통상적 솔루션들에 대한 상기 문제점들을 해결할 수 있는 방법들 및 시스템들이 요구된다.
[0005] 본 개시물은 모바일 디바이스의 포지션 특징들을 결정하기 위한 방법 및 장치들에 관한 것이다. 본 개시물의 실시예들에 따라, 모바일 디바이스의 포지션 특징들을 결정하는 방법은, 모바일 디바이스로부터 뷰들(views)을 나타내는 복수의 이미지들을 캡처하는 단계, 모바일 디바이스의 배향에 적어도 부분적으로 기초하여 복수의 이미지들의 시점들(perspectives)을 조정하는 단계, 복수의 이미지들을 사용하여 모바일 디바이스의 모션 방향에 관한 오정렬 각도를 결정하는 단계, 및 저장 디바이스에 오정렬 각도 및 모션 방향을 저장하는 단계를 포함한다. 이 방법은, 모바일 디바이스의 사용자에게 네비게이팅하기 위해, 오정렬 각도 및 오정렬 각도의 컨피던스(confidence)를 적용하는 단계를 더 포함한다.
[0006] 복수의 이미지들의 시점들을 조정하는 방법은, 하나 또는 그 초과의 센서들로부터 수집된 데이터를 사용하여 계산된 모바일 디바이스의 배향에 기초하여 복수의 이미지들의 시점들을 조정하는 단계; 복수의 이미지들의 센터들 부근의 구역을 사용하여 복수의 이미지들의 시점들에 대해 보상하는 단계; 및 복수의 이미지들의 피처들의 로케이션들의 가중화된 평균에 적어도 부분적으로 기초하여 복수의 이미지들의 시점들에 대해 보상하는 단계 중 적어도 하나를 포함한다.
[0007] 오정렬 각도를 결정하는 방법은, 복수의 이미지들로부터 피처들을 추적하는 단계, 모바일 디바이스의 모션 방향을 추정하는 단계, 센서 데이터를 사용하여 모바일 디바이스의 배향을 추정하는 단계 및 모바일 디바이스의 모션 방향 및 배향에 적어도 부분적으로 기초하여 오정렬 각도를 결정하는 단계를 포함한다. 복수의 이미지들로부터 피처들을 추적하는 방법은 복수의 이미지들에서의 적어도 하나의 움직이는 객체(object)를 제거하기 위해 복수의 이미지들의 피처들에서의 아웃라이어들(outliers)을 거부하는 단계를 포함한다.
[0008] 방법은, 모바일 디바이스의 자이로스코프에 의해 제공되는 정보를 사용하여 모바일 디바이스의 모션 방향에 관한 오정렬 각도의 컨피던스를 결정하는 단계, 모바일 디바이스의 자력계에 의해 제공되는 정보를 사용하여 모바일 디바이스의 모션 방향에 관한 오정렬 각도의 컨피던스를 결정하는 단계, 및 복수의 이미지들의 피처들을 사용하여 모바일 디바이스의 모션 방향에 관한 오정렬 각도의 컨피던스를 결정하는 단계 중 적어도 하나를 더 포함한다.
[0009] 방법은, 모바일 디바이스의 속도 추정(speed estimation)을 결정하는 단계, 모바일 디바이스의 속도 추정의 컨피던스를 결정하는 단계, 및 모바일 디바이스의 사용자에게 네비게이팅하기 위해, 속도 추정 및 속도 추정의 컨피던스를 적용하는 단계를 더 포함한다. 속도 추정을 결정하는 방법은, 복수의 이미지들로부터 피처들을 추출하는 단계, 복수의 이미지들로부터의 피처들을 사용하여 모바일 디바이스의 평균 변위(average displacement)를 계산하는 단계, 및 모바일 디바이스의 평균 변위에 적어도 부분적으로 기초하여 속도 추정을 계산하는 단계를 포함한다. 속도 추정을 계산하는 방법은, 복수의 이미지들로부터의 피처들을 비교하는 단계, 복수의 이미지들에 있는 2개의 연속 이미지들 사이의 픽셀들의 간격을 결정하는 단계, 2개의 연속 이미지들 사이의 시간 인터벌을 결정하는 단계, 및 2개의 연속 이미지들 사이의 픽셀들의 간격 및 시간 인터벌에 따라, 모바일 디바이스의 속도 추정을 계산하는 단계를 포함한다. 방법은, 모바일 디바이스의 GPS 로케이션 정보 및 WIFI 로케이션 정보 중 적어도 하나에 따라 모바일 디바이스의 높이(height)를 캘리브레이팅(calibrating)하는 단계를 더 포함한다.
[0010] 또 다른 실시예에서, 장치는 프로세싱 로직을 포함하는 제어 유닛을 포함하며, 프로세싱 로직은, 모바일 디바이스로부터 뷰들을 나타내는 복수의 이미지들을 캡처하도록 구성된 로직, 모바일 디바이스의 배향에 적어도 부분적으로 기초하여 복수의 이미지들의 시점들을 조정하도록 구성된 로직, 복수의 이미지들을 사용하여 모바일 디바이스의 모션 방향에 관한 오정렬 각도를 결정하도록 구성된 로직, 및 오정렬 각도 및 모션 방향을 저장 디바이스에 저장하도록 구성된 로직을 포함한다.
[0011] 또 다른 실시예에서, 컴퓨터 프로그램 물건은 하나 또는 그 초과의 컴퓨터 시스템들에 의한 실행을 위한 명령들을 저장하는 비-일시적 매체를 포함하며, 명령들은, 모바일 디바이스로부터 뷰들을 나타내는 복수의 이미지들을 캡처하기 위한 명령들, 모바일 디바이스의 배향에 적어도 부분적으로 기초하여 복수의 이미지들의 시점들을 조정하기 위한 명령들, 복수의 이미지들을 사용하여 모바일 디바이스의 모션 방향에 관한 오정렬 각도를 결정하기 위한 명령들, 및 오정렬 각도 및 모션의 ?향을 저장 디바이스에 저장하기 위한 명령들을 포함한다.
[0012] 또 다른 실시예에서, 시스템은, 모바일 디바이스로부터 뷰들을 나타내는 복수의 이미지들을 캡처하기 위한 수단, 모바일 디바이스의 배향에 적어도 부분적으로 기초하여 복수의 이미지들의 시점들을 조정하기 위한 수단, 복수의 이미지들을 사용하여 모바일 디바이스의 모션 방향에 관한 오정렬 각도를 결정하기 위한 수단, 및 오정렬 각도 및 모션 ?향을 저장 디바이스에 저장하기 위한 수단을 포함한다.
[0013] 본 개시물에 대한 앞서 논의된 특징들 및 장점들뿐 아니라 본 개시물의 추가적인 특징들 및 장점들은, 하기 도면들과 함께 본 개시물의 실시예들의 상세한 설명부를 읽은 후 보다 명확히 이해가능해질 것이다.
[0014] 도 1a는, 본 개시물의 일부 양상들에 따른, 모바일 디바이스의 모션 방향에 관한 오정렬 각도의 예를 예시한다. 도 1b는 도 1a의 모바일 디바이스(102)의 측면도를 예시한다.
[0015] 도 2a-2c는, 본 개시물의 일부 양상들에 따른, 카메라 피치(pitch) 및 피처들의 비대칭 분포에 대한 시점 보상(perspective compensation)을 수행하는 방법을 예시한다.
[0016] 도 3a 및 도 3b는, 본 개시물의 일부 양상들에 따른, 움직이는 객체들의 검출 및 제거 방법을 예시한다.
[0017] 도 4는, 본 개시물의 일부 양상들에 따른, 예시적 모바일 디바이스의 블록도를 예시한다.
[0018] 도 5a는 본 개시물의 일부 양상들에 따른, 모바일 디바이스의 오정렬 각도 및 속도를 추정하는 방법을 예시한다.
[0019] 도 5b는 본 개시물의 일부 양상들에 따른 모바일 디바이스의 속도를 추정하는 방법을 예시한다.
[0020] 도 6은, 본 개시물의 일부 양상들에 따른 모바일 디바이스의 포지션 특징들을 결정하는 예시적인 방법을 예시한다.
[0021] 도 7a는, 본 개시물의 일부 양상들에 따른, 일정 시간 기간(a period of time)에 걸쳐 모바일 디바이스에 대한 모션, 오정렬 각도 및 오정렬 각도와 연관된 컨피던스를 모니터링하는 방법을 예시한다.
[0022] 도 7b는, 본 개시물의 일부 양상들에 따른, 일정 시간 기간에 걸친 모바일 디바이스의 평균 오정렬 각도에 대한 변화들을 나타내는 그래프를 예시한다.
[0023] 도면들 전반에 걸쳐 동일한 번호들이 사용된다.
[0014] 도 1a는, 본 개시물의 일부 양상들에 따른, 모바일 디바이스의 모션 방향에 관한 오정렬 각도의 예를 예시한다. 도 1b는 도 1a의 모바일 디바이스(102)의 측면도를 예시한다.
[0015] 도 2a-2c는, 본 개시물의 일부 양상들에 따른, 카메라 피치(pitch) 및 피처들의 비대칭 분포에 대한 시점 보상(perspective compensation)을 수행하는 방법을 예시한다.
[0016] 도 3a 및 도 3b는, 본 개시물의 일부 양상들에 따른, 움직이는 객체들의 검출 및 제거 방법을 예시한다.
[0017] 도 4는, 본 개시물의 일부 양상들에 따른, 예시적 모바일 디바이스의 블록도를 예시한다.
[0018] 도 5a는 본 개시물의 일부 양상들에 따른, 모바일 디바이스의 오정렬 각도 및 속도를 추정하는 방법을 예시한다.
[0019] 도 5b는 본 개시물의 일부 양상들에 따른 모바일 디바이스의 속도를 추정하는 방법을 예시한다.
[0020] 도 6은, 본 개시물의 일부 양상들에 따른 모바일 디바이스의 포지션 특징들을 결정하는 예시적인 방법을 예시한다.
[0021] 도 7a는, 본 개시물의 일부 양상들에 따른, 일정 시간 기간(a period of time)에 걸쳐 모바일 디바이스에 대한 모션, 오정렬 각도 및 오정렬 각도와 연관된 컨피던스를 모니터링하는 방법을 예시한다.
[0022] 도 7b는, 본 개시물의 일부 양상들에 따른, 일정 시간 기간에 걸친 모바일 디바이스의 평균 오정렬 각도에 대한 변화들을 나타내는 그래프를 예시한다.
[0023] 도면들 전반에 걸쳐 동일한 번호들이 사용된다.
[0024] 클라이언트-서버 기반 동적 탐색을 위한 방법들 및 장치들의 실시예들이 개시된다. 하기 설명들은 임의의 당업자들이 본 개시물의 사용 및 구성을 가능케 하기 위해 제시된다. 특정 실시예들 및 애플리케이션들의 설명들은 오로지 예로써만 제공된다. 본원에 설명된 예들의 다양한 변형들 및 조합들이 당업자들에게는 자명할 것이며, 본원에 정의된 일반적 원리들은 본 개시물의 범주 및 사상을 이탈하지 않고 다른 예들 및 애플리케이션들에 적용될 수 있다. 따라서, 본 개시물은 설명 및 도시된 예들로 제한되게 의도되는 것이 아니라, 본원에 개시된 원리들 및 특징들에 부합하는 최광의 범주를 따른다. "예시적" 또는 "예"란 용어는 본원에서 "예, 경우, 또는 실례로서 기능함"을 의미하도록 사용된다. "예시적인" 또는 "예"로써 본원에서 설명되는 임의의 양상들 및 실시예가 반드시, 다른 양상들 또는 실시예들에 비해 바람직하거나 유리한 것으로 해석되는 것은 아니다.
[0025] 도 1a는, 본 개시물의 일부 양상들에 따른 모바일 디바이스의 모션 방향에 관한 오정렬 각도의 예를 예시한다. 도 1a에 도시된 것처럼, 일부 사용 경우들에서, 모바일 디바이스(102)의 모션 방향(101)은 모바일 디바이스 배향(103)과 상이할 수 있다. 오정렬 각도(105)는 모바일 디바이스 배향(103)과 모션 방향(101) 사이의 각도이다. 몇몇 공보들에서, 오정렬 각도(105)는 또한 정렬 각도로도 지칭될 수 있다는 것이 주목된다. 오정렬 각도(105)를 예측하는 능력은 보행자 네비게이션(pedestrian navigation) 애플리케이션들에 유용할 수 있다. 모바일 디바이스는 하나 또는 그 초과의 카메라(들)(108) 및 디스플레이(112)를 포함할 수 있다.
[0026] 본 개시물의 양상들에 따라, 모바일 디바이스(102)가 보행자 네비게이션 모드에 있을 때, 모바일 디바이스(102)의 하나 또는 그 초과의 카메라들(108)은 오정렬 각도(105)를 결정하기 위해 이미지 프레임들을 캡처하도록 구성될 수 있다. 캡처된 이미지는 디스플레이(112)에서 사용자에게 보여질 수 있다.
[0027] 도 1b는 도 1a의 모바일 디바이스(102)의 측면도를 예시한다. 하나의 접근방식에서, 모바일 디바이스(102)는 이미지 프레임들을 캡처하기 위해 정면 카메라(들)(108a)(모바일 디바이스의 정면측에 로케이팅됨) 또는 후면 카메라(들)(108b)(모바일 디바이스의 후면측에 로케이팅됨)를 사용하도록 구성될 수 있다. 예를 들어, 도 1b에 도시된 것처럼, 정면 카메라(들)(108a)는 모바일 디바이스(102) 윗쪽 구역의 시야(field of view)를 캡처하도록 구성될 수 있으며, 후면 카메라(들)(108b)는 모바일 디바이스(102)의 아랫쪽 구역의 시야를 캡처하도록 구성될 수 있다. 또 다른 접근방식에서, 모바일 디바이스(102)는 모바일 디바이스(102)의 정면 뷰와 후면 뷰 둘 다에서 이미지 프레임들을 캡처하기 위해 정면 카메라(들)(108a) 및 후면 카메라(들)(108b) 둘 다를 사용하도록 구성될 수 있다. 이런 접근방식으로, 일부 장소들에서, 모바일 디바이스 배향(103)에 관한 모바일 디바이스(102)의 모션 방향을 추정하기 위해 플로어(floor) 상의 또는 천정 상의 피처들이 수집될 수 있다.
[0028] 또 다른 접근방식에서, 정면 카메라(들)(108a)와 후면 카메라(들)(108b) 둘 다가 동시에(in parallel) 사용될 수 있다. 이 접근방식에서, 정면 카메라(들)(108a) 및 후면 카메라(들)(108b)에서 2개의 상이한 시점들에 의해 야기되는 에러들은 상반되는 부호들(opposite signs)을 가질 수 있고 보상될 수 있는데, 이는 정면 카메라(들)(108a)와 후면 카메라(들)(108b)의 시점들이 서로 180도 떨어져 배향되기 때문이다. 또 다른 접근방식에서, 어떤 시야가 추적하기 더 쉬운 더 많은 피처들을 갖는지에 기초하여 그리고 어떤 시야가 더 적은 움직이는 객체들을 갖는지에 기초하여 어느 한쪽의 카메라가 선택될 수 있다.
[0029] 후면 카메라(들)(108b) 상의 정면 카메라(들)(108a)를 선택하는데, 또는 이 반대의 경우를 선택하는데 이용될 수 있는 다양한 기준들이 있으며, 이는, 1) 어느쪽 시야가 더 많은 피처들을 부여하는지; 2) 어느쪽 시야가 추적하기 더 쉬운지; 그리고 3) 어느쪽 시야가 움직이는 객체들을 덜 갖는지를 포함하지만, 이로 제한되는 것은 아니다. 카메라는, 어느 쪽이 피처를 추적하기 위한 더 높은 평균 컨피던스 메트릭을 부여하는지에 기초하여 선택될 수 있다. 추가로, 본 개시물의 양상들에 따라, 어떤 카메라가 추적을 할 수 있게 되는지에 대한 결정은 적응적으로(adaptively) 이루어질 수 있는데, 이는 모바일 디바이스(102)의 환경은 사용자가 이 모바일 디바이스(102)를 휴대하고 있는 동안 변할 수 있기 때문이다. 또한, 본 개시물의 양상들에 따라, 모바일 디바이스(102)는, 이미지 프레임들이 움직이는 파트들의 피처들을 포함할 수도 있기 때문에 아웃라이어들을 거부하기 위한 메트릭들을 사용하도록 구성될 수 있다. 예를 들어, 이러한 움직이는 파트들의 하나의 소스는 사용자의 발들일 수 있다. 이러한 움직이는 파트들의 또 다른 소스는 사용자의 머리일 수 있다.
[0030] 도 2a-2c는, 본 개시물의 일부 양상들에 따른, 카메라 피치 및 피처들의 비대칭 분포에 대한 시점 보상을 수행하는 방법을 예시한다. 도 2a에 도시된 것처럼, 화살표들(202a, 204a, 206a 및 208a)은 보행자 네비게이션 애플리케이션에서 일어날 수 있는 카메라 피치로 인한 피처들의 비대칭 분포를 예시한다. 이러한 피처들의 비대칭 분포는 모바일 디바이스(102)의 모션 방향에 대한 부정확한 추정을 유도할 수 있다. 도 2b는, 이미지 배경없이, 보행자 네비게이션 애플리케이션에서 카메라 피치로 인한 동일한, 피처들의 비대칭 분포(화살표들로 표현됨)를 예시한다. 대응하는 화살표들은 202b, 204b, 206b 및 208b로 도시된다. 도 2c는 대응하는 화살표들(202c, 204c, 206c, 및 208c)로 나타낸, 시점 조정된 피처들의 분포를 예시한다.
[0031] 피처들의 비대칭 분포 문제들을 해결하기 위해, 하나의 접근방식에서, 모바일 디바이스(102)는 자력계, 가속도계, 및 자이로스코프와 같은 센서들을 이용하여 계산되는, 수직선(vertical)에 대한 모바일 디바이스의 각도에 기초하여 시점 정정을 수행하도록 구성될 수 있다. 또 다른 접근방식에서, 모바일 디바이스(102)는 모바일 디바이스(102)의 모션 방향을 계산하는데 있어 이미지 프레임의 센터 부근의 피처들을 사용하도록 구성될 수 있다. 또 다른 접근방식에서, 로케이션에 기초한 피처들의 가중화된 평균(예를 들어, 센터 부근의 피처들에 대해 더 많은 가중치)이 모바일 디바이스(102)의 모션 방향을 계산하는데 사용될 수 있다. 예를 들어, 화살표(202a)로 나타낸 이미지의 센터를 따른 피처들에는 1(100%)의 가중치가 할당될 수 있고, 화살표(204a)에 의해 나타낸 피처들에는 .8(80%)의 가중치가 할당될 수 있고, 화살표(206a)에 의해 나타낸 피처들에는 .6(60%)의 가중치가 할당될 수 있고, 화살표(206a)에 의해 나타낸 피처들에는 .4(40%)의 가중치가 할당될 수 있는 식이다.
[0032] 본 개시물의 양상들에 따라, 이미지 프레임들의 피처들을 식별하는 것 및 추적하는 것은 다수의 기술들을 사용하여 수행될 수 있다. 하나의 접근방식에서, 피처들을 식별하는 방법은 각각 2×2 그래디언트 매트릭스(gradient matrix)의 최소 고유치(minimum eigenvalue)를 검사(examining)함으로써 수행될 수 있다. 이후, 피처들은, 2개의 윈도우들 사이의 차를 최소화시키는 뉴튼-랩슨법(Newton-Raphson method)을 사용하여 추적된다. 다해상도 추적(multi-resolution tracking) 방법은 이미지들 사이의 비교적 큰 변위들을 허용한다. 하나의 프레임에서 다음 프레임으로 피처들을 추적하는 동안, 에러들이 축적될 수 있다는 것이 주목된다. 잠재적 불량(bad) 피처들을 검출하기 위해, 모바일 디바이스(102)는 현재 프레임의 피처 주위 윈도우에서의 이미지 신호가 이전 프레임의 피처 주위 이미지 신호에 대한 것과 계속(still) 유사한지를 모니터링하도록 구성될 수 있다. 피처들이 다수의 프레임들에 걸쳐 추적될 수 있기 때문에, 이미지 콘텐츠가 변형될 수 있다. 이런 문제를 해결하기 위해, 유사성(similarity) 또는 아핀(affine) 맵핑을 이용하여 일관성 검사(consistency check)가 수행될 수 있다.
[0033] 본 개시물의 양상들에 따라, 이미지에서의 객체를 식별하기 위해, 객체들 상의 포인트들이 추출되어 객체의 피처 설명들(또한, 키포인트들, 피처 포인트들 또는 줄여서 피처들로도 지칭됨)을 제공할 수 있다. 트레이닝 이미지로부터 추출된 이 설명은 이후, 다수의 다른 객체들을 포함하는 테스트 이미지에 객체를 로케이팅하도록 시도될 때, 객체를 식별하는데 이용될 수 있다. 신뢰성있는 인식(recognition)을 수행하기 위해, 트레이닝 이미지로부터 추출된 피처들이 이미지 스케일, 잡음 및 일루미네이션(illumination)에서의 변화들하에서도 검출가능할 수 있다. 통상 이러한 포인트들은 이미지의 하이-콘트라스트(high-contrast) 영역들(예컨대, 객체 에지들) 상에 놓인다.
[0034] 이러한 피처들의 또 다른 특징은, 원래의 장면에서 이러한 피처들 사이의 상대적 포지션들이 이미지들 간에(from one image to another) 변하지 않을 수 있다는 점이다. 예를 들어, 단지 도어의 4개의 코너들만이 피처들로서 이용될 경우, 이들은 도어의 포지션과 상관없이 작동할 수 있다; 그러나 프레임의 포인트들이 사용될 경우, 도어가 열리는지 아니면 닫히는지에 대한 인식은 실패할 수 있다. 유사하게, 연접식(articulated) 또는 플랙시블한 객체들에 로케이팅된 피처들은 통상적으로, 그들 내부 지오메트리에서의 어떤 변화가, 프로세싱되는 세트내의 2개의 이미지들 사이에서 발생할 경우 작동되지 않을 수 있다. 일부 구현들에서, SIFT는 이미지들로부터 다수의 피처들을 검출하여 이용하며, 이는 모든 피처 매칭 에러들의 평균 에러에서의 국부적 변형들에 의해 야기되는 에러들의 기여도(contribution)를 감소시킬 수 있다. 따라서, 개시된 방법은 클러터(clutter) 중에 있더라도 그리고 부분적 폐쇄(partial occlusion)하에서도 객체들을 식별할 수 있다; 이는 SIFT 피처 디스크립터가 균일한 스케일링, 배향에 대해 불변일 수 있고 그리고 아핀 왜곡 및 일루미네이션 변화들에 부분적으로 불변일 수 있기 때문이다.
[0035] 예를 들어, 객체의 키포인트들이 먼저 한 세트의 기준 이미지들(reference images)로부터 추출되어 데이터베이스에 저장될 수 있다. 새로운 이미지로부터의 각각의 피처를 이 데이터베이스에 비교하고 그들의 피처 벡터들의 유클리디안 거리(Euclidean distance)에 기초하여 후보 매칭 피처들을 찾아냄으로써, 객체가 새로운 이미지에서 인식된다. 전체 세트의 매치들로부터, 새로운 이미지에서의 객체 및 객체의 로케이션, 스케일, 및 배향에 대해 동의하는 서브세트들의 키포인트들이 양호한 매치들을 필터링(filter out)하기 위해 식별될 수 있다. 일반화된 허프 변환(generalized Hough transform)의 해시 테이블(hash table) 구현을 사용함으로써 일관된(consistent) 클러스터들의 결정이 수행될 수 있다. 이후, 객체 및 객체의 포즈에 동의한 3개 또는 그 초과의 피처들의 각각의 클러스터가 추가적 상세 모델 검증으로 처리될 수 있고, 이후 아웃라이어들이 폐기될 수 있다. 이후, 특정 세트의 피처들이 객체의 존재를 표시하는 확률이 개연성있는 오류 매치들(probable false matches)의 수 및 피트의 정확도(accuracy of fit)에 기초하여 계산될 수 있다. 테스트들을 통과한 객체 매치들은 하이 컨피던스를 갖는 정확한 것으로 식별될 수 있다.
[0036] 본 개시물의 양상들에 따라, 이미지 피처 생성은 이미지를 큰 콜렉션의 피처 벡터들로 변환시키는데, 이 피처 벡터들 각각은, 이미지 트랜슬레이션(image translation), 스케일링, 및 로테이션에 대해 불변일 뿐만 아니라 일루미네이션 변화들에 대해 불변이며 로컬 지오메트릭 왜곡에 대해 강건(robust)할 수 있다. 이들 피처들은 영장류 시각(primate vision)에서 객체 인식을 위해 이용되는 하측두 피질(inferior temporal cortex)의 뉴런들과 유사한 특성들을 공유한다. 키(key) 로케이션들은 평활한 그리고 리샘플링된 일련의 이미지들에 대해 스케일 공간에 적용되는 가우시안 함수 차의 결과에 대한 최대치 및 최소치로서 정의될 수 있다. 에지를 따르는 로우(low) 콘트라스트 후보 포인트들 및 에지 응답 포인트들은 폐기될 수 있다. 주(dominant) 배향들이 로컬화된 키포인트들에 할당된다. 이 접근방식은 키포인트들이 매칭 및 인식에 훨씬 안정적임을 보장한다. 로컬 아핀 왜곡에 강건한 SIFT 디스크립터들은 이후 키 로케이션의 반경 주위의 픽셀들, 로컬 이미지 배향 플레인들의 블러링(blurring) 및 리샘플링을 고려함으로써 획득될 수 있다.
[0037] 피처들의 매칭 및 인덱싱은 SIFT 키들을 저장하는 것 및 새로운 이미지로부터 매칭 키들을 식별하는 것을 포함할 수 있다. 하나의 접근방식에서, k-d 트리 알고리즘(또한, 베스트-빈-퍼스트(best-bin-first) 탐색 방법으로도 지칭됨)의 변경은, 제한된 계산량을 이용하여 높은 확률을 갖는 최근접 이웃들을 식별하는데 이용될 수 있다. 베스트-빈-퍼스트 알고리즘은 k-d 트리 알고리즘에 대한 변경된 탐색 순서(search ordering)를 이용하여, 피처 공간에서의 빈들이 질의(query) 로케이션으로부터 그들의 가장 가까운 거리 순서로 탐색될 수 있다. 이러한 탐색 순서는 탐색 순서의 효율적 결정을 위해 힙-기반 우선순위 큐(heap-based priority queue)의 사용을 요구한다. 각각의 키포인트에 대한 최상의 후보 매치는, 트레이닝 이미지들로부터의 키포인트들의 데이터베이스에서 자신의 최근접 이웃을 식별함으로써 발견될 수 있다. 최근접 이웃들은 주어진 디스크립터 벡터로부터 최소 유클리디안 거리를 갖는 키포인트들로서 정의될 수 있다. 매치가 정확하다는 확률은 가장 가까운 이웃으로부터의 거리 대 두 번째로 가까운 거리의 비를 취함으로써 결정될 수 있다.
[0038] 하나의 예시적인 구현에서, 거리비가 0.8 초과인 매치들은 거부될 수 있으며, 이는 정확한 매치들의 5% 미만을 폐기하면서 오류 매치들의 90%를 제거한다. 베스트-빈-퍼스트 알고리즘의 효율성을 더욱 개선하기 위해, 미리결정된 수(예를 들어, 100)의 최근접 이웃 후보들을 체크한 후에 탐색이 중단(cut off)될 수 있다. 100,000개의 키포인트들의 데이터베이스의 경우, 이는 정확한 최근접 이웃 탐색을 약 100배 만큼(by about 2 orders of magnitude) 능가하는(over) 속도업(speedup)을 제공할 수 있으나, 정확한 매치들의 수에 있어서는 5% 미만 손실을 산출한다.
[0039] 예시적인 구현들에 따라, 특정 모델 포즈에 동의한 키들에 대해 탐색하기 위해 신뢰성있는 모델 가설들을 클러스팅하는데 허프 변환이 사용될 수 있다는 것이 주목된다. 허프 변환은 피처와 일관될 수 있는 객체 포즈들에 대해 선출(vote)하기 위해 각각의 피처를 사용함으로써 일관적 해석(consistent interpretation)을 갖는 피처들의 클러스터들을 식별하는데 이용될 수 있다. 피처들의 클러스터들이 객체의 동일 포즈에 대해 선출되는 것으로 발견될 때, 해석이 정확할 확률은 임의의 단일 피처에 대해 더 높을 수 있다. 매치 가설로부터 모델 로케이션, 배향 및 스케일을 예측하기 위해 해시 테이블의 엔트리가 생성될 수 있다. 해시 테이블은 빈(bin)에 있는 적어도 3개의 엔트리들의 클러스터들을 식별하도록 탐색될 수 있고, 빈들은 크기 감소 순서로 분류(sort)될 수 있다.
[0040] 본 개시물의 양상들에 따라, 각각의 SIFT 키포인트들은 2D 로케이션, 스케일 및 배향을 특정할 수 있다. 추가로, 데이터베이스에서 각각의 매칭된 키포인트는 그가 발견되는 트레이닝 이미지에 대해 자신의 파라미터들의 기록(record)을 가질 수 있다. 이들 4개의 파라미터들이 의미하는 유사 변환(similarity transform)은 3D 객체에 대한 6 자유도 포즈 공간(degree-of-freedom pose space)에 대한 근사화(approximation)일 수 있고, 임의의 비강성 변형들(non-rigid deformations)에 대해서는 설명하지 않았다. 따라서, 예시적 구현은 배향에 대해서 30도의 넓은 빈 크기들, 스케일에 대해서 2배, 그리고 로케이션에 대해서 (예측된 스케일을 이용하여) 0.25 곱하기 최대 프로젝팅된 트레이닝 이미지 차원을 사용할 수 있다. 더 큰 스케일에서 생성되는 SIFT 키 샘플들은, 더 작은 스케일에서 그들의 가중치를 2배로 하여 부여될 수 있다. 이러한 접근방식으로, 더 큰 스케일은 사실상, 더 작은 스케일에서 체크할 가장 가능성이 높은 이웃들을 필터링하는 것이 가능할 수 있다. 이러한 접근방식은 또한, 최소-잡음 스케일에 더 많은 가중치를 부여함으로써 인식 성능을 개선한다. 본 개시물의 양상들에 따르면, 빈 할당에 있어 경계 효과(boundary effect)들의 문제를 방지하기 위해서, 포즈 범위를 추가로 넓히고 각각의 가설에 대해 총 16개의 엔트리들을 부여하면, 각각의 키포인트 매치가 각각의 차원에서 2개의 가장 가까운 빈들에 대해 선출될 수 있다.
[0041] 도 3a 및 도 3b는, 본 개시물의 일부 양상들에 따른, 움직이는 객체들의 검출 및 제거 방법을 예시한다. 도 3a는 움직이는 객체들로서 사용자의 발들(304a 및 304b)을 포함하는 이미지 프레임(302)을 예시한다. 도 3b는 움직이는 객체로서 사용자의 얼굴(308)을 포함하는 또 다른 이미지 프레임(306)을 예시한다. 사용자의 발들(304a 및 304b) 및 사용자의 얼굴(308)이 아웃라이어들로서 고려될 수 있고; 이러한 아웃라이어들의 피처들은, 하기 세션들에서 설명되는 방법들에 따라 캡처한 이미지 프레임들로부터 제거될 수 있다.
[0042] 본 개시물의 양상들에 따라, 아웃라이어들은, 주어진 파라미터 솔루션에 대해, 각각의 이미지 피처와 모델 사이의 동의에 대해 체크함으로써 제거될 수 있다. 예를 들어, 선형 최소 자승법(linear least squares solution)이 주어지면, 각각의 매치는 허프 변환 빈들에서의 파라미터들에 대해 이용되는 에러 범위의 절반내에서 동의하도록 요구될 수 있다. 아웃라이어들이 폐기됨에 따라, 선형 최소 자승법은 남아있는 포인트들을 통해 해결(resolve)될 수 있고, 프로세스가 반복될 수 있다. 일부 구현들에서, 아웃라이어들의 폐기 후 미리 결정된 수 미만의 포인트들(예를 들어, 3개의 포인트들)이 남아 있는 경우, 매치는 거부될 수 있다. 또한, 유사 변환 근사화 또는 다른 에러들로 인해 허프 변환 빈으로부터 누락되었을 수 있는 프로젝팅된 모델 포지션에 동의한 임의의 추가 매치들을 추가하는데 하향식(top-down) 매칭 페이즈가 사용될 수 있다.
[0043] 모델 가설을 수락할지 또는 거부할지에 대한 결정은 상세 확률 모델에 기초할 수 있다. 방법은 먼저, 모델의 프로젝팅된 크기가 주어지면, 모델 포즈에 대해 예상되는 오류 매치들의 수, 영역내 피처들의 수 그리고 피트(fit)의 정확도를 계산한다. 이후 베지안 확률 분석(Bayesian probability analysis)은 발견된 실제 매칭 피처들의 수에 기초하여 객체가 제시될 수 있는 확률을 제시할 수 있다. 모델은 정확한 해석을 위한 최종 확률이 미리결정된 퍼센테이지(예를 들어, 95%)를 초과하는 경우 수락될 수 있다.
[0044] 본 개시물의 양상들에 따라, 하나의 접근방식에서, RIFT(rotation invariant feature transform) 방법은 클러터 또는 부분적 폐쇄 상황들하에서의 어드레스를 위해 SIFT의 로테이션-불변 일반화(rotation-invariant generalization)로서 이용될 수 있다. RIFT 디스크립터는 동일 폭의 동심 링들로 나뉘는 원형의 정규화된 패치들(circular normalized patches)을 이용하여 구성될 수 있고, 각각의 링 내에서, 그래디언트 배향 히스토그램이 계산될 수 있다. 로테이션 불변성(rotation invariance)을 유지하기 위해, 센터로부터 바깥방향으로 포인팅되는 방향에 대해 각각의 포인트에서 배향이 측정될 수 있다.
[0045] 다른 접근방식에서, G-RIF(generalized robust invariant feature) 방법이 사용될 수 있다. G-RIF는, 지각적 정보(perceptual information)를 공간 인코딩(spatial encoding)으로 조합하는 통합된 형태로, 에지 배향, 에지 밀도 및 휴(hue) 정보를 인코딩한다. 객체 인식 방식은 객체 모델들을 추정하기 위해 이웃 콘텍스트(neighboring context) 기반 선출을 이용한다.
[0046] 또 다른 접근방식에서, 재현성, 특수성, 및 강건성에 관해 이전에 제시된 방식들을 능가할 수 있는 스케일 및 로테이션-불변 관심 포인트 디텍터/디스크립터를 이용하는 SURF(speeded up robust feature) 방법이 이용될 수 있다. SURF는, 계산 시간을 감소시키기 위해, 이미지 컨볼루션들을 위한 적분 이미지들(integral images)에 의존하며, (디텍터 및 분포-기반 디스크립터에 대한 고속 헤시안 행렬-기반 측정(measure)을 이용하는) 선두적인 기존 디텍터들 및 디스크립터들의 강점들에 기반을 둔다. SURF 방법은 관심 포인트 이웃들 내에 하 웨이블렛 응답들(Haar wavelet responses)의 분포를 설명한다. 속도를 위해 적분 이미지들이 이용될 수 있으며, 피처 계산 및 매칭을 위한 시간을 감소시키기 위해 64 차원들이 이용될 수 있다. 인덱싱 단계는 라플라시안(Laplacian)의 부호에 기반할 수 있으며, 이는 디스크립터의 강건성 및 매칭 속도를 증가시킨다.
[0047] 또 다른 접근방식에서, PCA-SIFT(principle component analysis SIFT) 방법이 사용될 수 있다. 일부 구현들에서, PCA-SIFT 디스크립터는 지지 영역 내에서 계산된 x 및 y 방향의 이미지 그래디언트들의 벡터이다. 그래디언트 영역은 39×39개의 로케이션들에서 샘플링될 수 있다. 이에 따라, 벡터는 차원 3042일 수 있다. 차원은 PCA를 이용하여 36개로 감소될 수 있다. 또 다른 접근방식에서, GLOH(Gradient location-orientation histogram) 방법이 사용될 수 있는데, 이 방법은 그의 강건성과 특수성을 증가시키기 위해 설계된 SIFT 디스크립터의 확장이다. 일부 구현들에서, SIFT 디스크립터는 방사상 방향(6, 11 및 15로 설정된 반경)으로 3개의 빈들 그리고 각도 방향으로 8개(이는 17개의 로케이션 빈들을 산출)가 갖는 로그-극성(log-polar) 로케이션 그리드에 대해 계산될 수 있다. 중앙 빈은 각도 방향들로 분할되지 않을 수 있다. 그래디언트 배향들은 272개의 빈 히스토그램을 산출하는 16개의 빈들로 양자화된다. 이 디스크립터의 크기는 PCA에 따라 감소될 수 있다. PCA에 대한 공분산 행렬은 다양한 이미지들로부터 수집된 이미지 패치들에 대하여 추정될 수 있다. 이후, 설명을 위해 128개의 최대 고유벡터들이 사용될 수 있다.
[0048] 또 다른 접근방식에서, 2-객체 인식 알고리즘이, 현재 모바일 디바이스들의 제한들과 함께 사용하기 위해 활용될 수 있다. 전통적인 SIFT 접근방식과는 대조적으로, FAST(Features from Accelerated Segment Test) 코너 디텍터가 피처 검출을 위해 사용될 수 있다. 이러한 접근방식은, 오프-라인 준비 페이즈(여기서 피처들은 상이한 스케일 레벨들로 생성될 수 있음)와 온-라인 페이즈(여기서 피처들은 모바일 디바이스의 카메라 이미지의 현재 고정 스케일 레벨로 생성될 수 있음) 사이를 구별한다. 일 예시적인 구현에서, 피처들은 미리결정된 고정 패치 크기(예를 들어, 15×15 픽셀들)로부터 생성될 수 있고 36개의 차원들을 가진 SIFT 디스크립터를 형성할 수 있다. 이 접근방식은 인식 파이프라인에서 스케일러블 어휘 트리(scalable vocabulary tree)를 통합함으로써 추가로 확장될 수 있다. 이는, 모바일 디바이스들에서 더 많은 수의 객체들의 효율적인 인식을 허용한다.
[0049] 본 개시물의 양상들에 따르면, 로컬 이미지 피처들의 검출 및 설명이 객체 인식에 도움을 줄 수 있다. SIFT 피처들은 국부적일 수 있고 특정 관심 포인트들에서 객체의 외관에 기초할 수 있고, 그리고 이미지 스케일 및 로테이션에 대해 불변일 수 있다. 또한, 이들은 일루미네이션, 잡음에서의 변화들 및 뷰포인트에 있어서 미소한 변화들에 강건할 수 있다. 이러한 속성들 이외에도, 피처들은 매우 독특하고, 상대적으로 추출하기 용이하고 낮은 미스매치 확률로 정확한 객체 식별을 가능하게 할 수 있다. 피처들은 로컬 피처들의 (대형) 데이터베이스에 대하여 상대적으로 매치하기 쉬울 수 있고, 베스트-빈-퍼스트 탐색을 이용하는 k-차원(k-d) 트리들과 같은 일반적 확률적 알고리즘들이 사용될 수 있다. 한 세트의 SIFT 피처들에 의한 객체 설명들은 또한 부분 폐쇄에 대해 강건할 수 있다. 예를 들어, 객체로부터 3개의 적은 SIFT 피처들도 그의 로케이션과 포즈를 계산하는 데에 충분할 수 있다. 일부 구현들에서, 인식이, 작은 데이터베이스들에 대해 그리고 현대 컴퓨터 하드웨어 상에서 준실시간으로 수행될 수 있다.
[0050] 본 개시물의 양상들에 따르면, 카메라의 시야에서 움직이는 객체들에 의해 유발된 아웃라이어들을 제거하기 위해서 랜덤 샘플 콘센서스(random sample consensus)(RANSAC) 기술이 사용될 수 있다. RANSAC는 아웃라이어들을 포함하는 한 세트의 관측 데이터로부터 수학적 모델의 파라미터들을 추정하기 위해서 반복 방법을 이용한다는 것이 주목된다. 이 방법은, 이것이 연관된 확률을 이용하여 타당한 결과를 생성하기 때문에 비결정론적이며, 확률은 반복이 더 수행될수록 증가할 수 있다.
[0051] 하나의 예시적인 구현에서, 관찰된 한 세트의 데이터 값들, 파라미터화된 모델은 대응하는 컨피던스 파라미터들을 이용하여 관측들에 피팅될 수 있다. 이 예시적인 구현에서, 방법은 원래의 데이터의 랜덤 서브셋을 반복적으로 선택한다. 이러한 데이터는 가설적인 인라이어들일 수 있고 이후 이 가설은 다음과 같이 테스트될 수 있다:
1. 모델은 가설적인 인라이어들에 피팅된다, 즉, 모델의 모든 프리(free) 파라미터들가 인라이어들로부터 재구성된다.
2. 이후, 다른 데이터 모두가 피팅된 모델에 대하여 테스트되고, 포인트가 추정 모델에 잘 피팅되는 경우; 이것은 가설적인 인라이어인 것으로 간주된다.
3. 추정된 모델은, 충분한 수의 포인트들이 가설적인 인라이어들로 분류되었던 경우 수용가능한 것으로 간주될 수 있다.
4. 모델은, 이것이 단지 가설적인 인라이어들의 최초 세트로부터 추정되었기 때문에, 모든 가설적인 인라이어들로부터 재추정된다.
5. 최종적으로, 모델은 그 모델과 관련하여 인라이어들의 에러를 추정함으로써 평가된다.
[0052] 상기 절차는 미리결정된 수의 횟수들 동안 반복될 수 있고, 매번, 너무 적은 포인트들이 인라이너들로 분류되기 때문에 거부될 수 있는 모델 또는 리파인 모델을 대응하는 에러 측정과 함께 생성한다. 후자의 경우, 에러가 이전에 저장된 모델보다 더 낮은 경우 그 리파인 모델이 유지될 수 있다
[0053] 다른 예시적인 구현에서, 카메라의 시야에서 움직이는 객체들은 모델 기반 모션 추적 방법을 이용하여 적극적으로 식별되고 제거될 수 있다. 하나의 접근방식에서, 추적의 목표는 모델 인식의 문제로서 취급될 수 있다. 타겟의 이진 표현이 추적될 수 있고, 객체에 대한 이미지의 영역들을 탐색하기 위해서 하우스도르프(Hausdorff) 거리 기반 탐색이 사용될 수 있다. 타겟(모델)의 2진 표현의 경우, 가우시안 평탄화 이미지의 표준 케니(canny) 에지 디텍터로부터의 출력은 모델 히스토리의 견해에 따라 증강된다. 각각의 프레임에서, 하우스도르프 탐색이, 현재 이미지와 현재 모델로부터의 케니 에지들을 이용하여 각각의 타겟에서 수행될 수 있다. 이외에도, 아핀 추정이 수행되어 네트 배경 모션을 근사화할 수 있다. 이러한 2개의 탐색들의 결과들로부터, 정보가 타겟에 대하여 수집될 수 있고, 타겟의 모션을 근사화할 뿐만 아니라 타겟의 영역에서의 모션으로부터 배경을 분리하기 위해서 사용될 수 있다. (객체가 쉐도우 안으로 진행하여 폐쇄되는 것, 객체가 프레임을 떠나는 것, 또는 카메라 이미지 왜곡이 불량한 이미지 품질을 제공하는 것과 같은) 위험한/특이한 조건들을 다루는 것을 가능하게 하기 위해, 타겟에 대한 히스토리 데이터, 이를 테면, 타겟의 과거 모션과 크기 변경, 타겟 특정 시야들(타겟이 추적되었던 상이한 방식들의 정확한 표현을 제공하는 시간 전체에 걸친 스냅샷들) 및 과거의 매치 품질들이 보유될 수 있다.
[0054] 타겟을 추적하는 히스토리는 위험한/특이한 조건들을 단순히 보조하는 것보다 더 유용할 수 있다; 솔리드 모션 추적 방법의 해당 파트는 히스토리 데이터를 수반할 수 있고, 단순한 프레임 단위의 모션 비교 방법은 아니다. 이러한 히스토리 상태는, 타겟의 파트인 것으로 간주될 수 있는 것(예를 들어, 동일한 속도로 움직이는 객체 가까이로 움직이는 것들은 그 객체에 포함되어야 함)을 결정하는 방법에 관한 정보와, 모션과 크기에 대한 정보를 제공할 수 있고, 방법은 잃어버린 객체가 가고 없는 경우, 또는 이것이 다시 나타날 수 있는 경우를 예측적으로 추정할 수 있다(이는, 프레임을 떠나고 나중에 다시 나타나는 타겟들을 복원하는 데에 유용함).
[0055] 모션 추적 방법에 내제하는 과제는 (고정 카메라와는 대조적으로) 카메라가 임의적으로 움직일 수 있다는 사실에 의해 야기될 수 있으며, 이는 카메라 모션에서의 예측불가능한 변화들을 취급할 수 있는 추적 시스템을 개발하는 것을 곤란하게 한다. 계산적으로 효율적인 아핀 배경 추정 방식은 카메라와 장면의 모션에 관한 정보를 제공하기 위해 사용될 수 있다.
[0056] 본 개시물의 양상들에 따르면, 이미지에 대한 아핀 변환은 시간 t+dt에서의 이미지에 대해 시간 t에서 수행될 수 있고, 이는 모션을 2개의 이미지들에 상관시키는 것을 허용한다. 이 배경 정보는, 시간 t에서의 이미지로부터 시간 t+dt에서의 이미지를 합성하는 방법과 네트 장면 모션의 근사화일 수 있는 아핀 변환을 허용한다. 이 합성된 이미지는 새로운 모델 정보를 생성하고 모델 공간으로부터 배경 클러터를 제거하는 데에 유용할 수 있는데, 이는 t+td에서 실제 이미지와 t+td에서 생성된 이미지의 차가 타겟들을 둘러싸는 공간으로부터 이미지 피처들을 제거하도록 취해질 수 있기 때문이다.
[0057] 아핀 변환을, 탐색 공간을 클린-업하기 위한 툴로서 사용하는 것 이외에도, 이것은 또한 타겟들의 좌표 이동을 정규화하기 위해 사용될 수 있다: 배경이 얼마나 움직일 수 있는지를 추적하는 벡터 및 타겟이 얼마나 움직이고 있는지 추적하는 벡터를 가짐으로써, 2개의 벡터의 차가 배경에 대하여 타겟의 모션을 설명하는 벡터를 생성하기 위해 취해질 수 있다. 이 벡터는, 방법이, 타겟이 존재할 장소를 예측적으로 매칭시키고, 위험한 상태를 예측(예를 들어, 모션 방향을 향해 앞을 보는 것은 다가올 장애물들에 대한 단서들을 제공할 수 있을 뿐만 아니라 객체가 위험한 상태의 경우에 있을 수 있는 장소를 파악)하게 허용한다. 객체가 위험한 상태에 진입할 경우, 방법은, 여전히 배경 모션을 추정하는 것을 가능하게 할 수 있고, 모델이 다시 나타날 수 있거나 또는 프레임에 다시 진입할 장소를 추측하기 위해 모델의 이전 움직임들에 대한 정보와 결합되는 사용을 가능하게 할 수 있다.
[0058] 배경 추정은 연장된 객체들의 추적 시 핵심 팩터였다. 단기간 추적은 배경 추정 없이 수행될 수 있지만, 일정 시간 기간 이후에, 양호한 배경 추정을 하지 않고는 객체 왜곡 및 위험들에 효율적으로 대처하기 어려울 수 있다는 것을 주목한다.
[0059] 본 개시물의 양상들에 따르면, 매칭 연산자로서 하우스도르프 거리를 이용하는 이점들 중 하나는, 이것이 매칭 동안 형상 변화들에 상당히 관대할 수 있지만, 매칭 연산자로서 하우스도르프 거리를 이용하는 것은 추적되는 객체들이 더욱 정확하게 정의될 것을 요구할 수 있다는 것이다.
[0060] 하나의 접근방식에서, 시간 t+1 이미지로부터 새로운 모델을 그래빙(grabbing)하는 직선-딜레이션(straight-dilation) 기반 방법들이 사용될 수 있다. (상당히 빈번히 발생하는) 객체에 가까운 비-객체 피처들이 존재하는 일부 상황들에서, 딜레이션 방법은 효율적이지 않을 수 있다는 것이 주목되는데, 이는 딜레이션 방법은 전체 장면을 모델에 천천히 포함시킬 수 있기 때문이다. 이에 따라, 모델 형상의 변화들을 견딜 수는 있지만, 넌-모델 픽셀들을 모델에 포함시킨다는 점에서 그다지 완화되지 않은 모델을 프레임 별로 업데이트하는 방법이 채택될 수 있다. 하나의 예시적인 구현은 배경 제거와 이전 모델들을 현재 모델 매치 윈도우에 추가하는 것과 안정한 픽셀들뿐만 아니라 이들을 둘러싸는 새로운 것들로 간주되는 것들을 택하는 것(이는 시간에 따라, 안정하지 않을 수 있기 때문에 모델로부터 제거될 수 있거나 모델에 포함될 수 있다)의 조합을 사용하는 것이다. 이러한 접근방식은 이미지 내의 클러터로부터 모델들을 비교적으로 클린한 상태로 유지시키는 데에 효과적이었다. 예를 들어, 이러한 접근방식을 이용하여, 더 이상, 트럭에 가까이 있는 도로가 픽셀 단위 모델에 들어가지 않는다. 모델들이 확대되어 나타날 수 있지만, 이것은 모델들이 구성된 방법의 히스토리 효과의 결과일 수 있고, 그러나, 이 방법은 더 많은 모델 픽셀들이 다음 프레임에서 매치될 가능성이 있게 할 수 있기 때문에 탐색 결과들을 더 뚜렷하게 하는 피처를 또한 가질 수 있다는 것을 주목한다.
[0061] 각각의 프레임에서, 상당량의 계산이 수행될 수 있다는 것을 주목한다. 일부 구현들에 따르면, 모바일 디바이스는 평활화/피처 추출, 각각의 타겟의 하우스도르프 매칭(예를 들어, 모델당 하나의 매칭)뿐만 아니라 아핀 배경 추정을 수행하도록 구성될 수 있다. 이러한 동작들 각각은 개별적으로 상당한 계산 비용이 들 수 있다. 모바일 디바이스 상에서 실시간 성능을 달성하기 위해서, 설계는 가능한 한 많은 병렬처리(parallelism)를 이용하도록 구성될 수 있다.
[0062] 도 4는 본 개시물의 일부 양상들에 따른 예시적인 모바일 디바이스의 블록도를 예시한다. 모바일 디바이스(102)는 개별 포토들 또는 비디오 프레임들일 수 있는 환경의 이미지들을 캡처하기 위해 카메라(들)(108)를 포함한다. 또한, 모바일 디바이스(102)는 센서들(116)을 포함할 수 있으며, 센서들(116)은 모바일 디바이스(102)가 자신의 포지션 및 배향, 즉 포즈를 결정할 수 있게 하는 데이터를 제공하는데 이용될 수 있다. 모바일 디바이스(102)와 함께 사용될 수 있는 센서들의 예들로는, 가속도계, 석영 센서들, 기로스(gyros), 선형 가속도계들로서 이용되는 마이크로-전자기계 시스템(MMES) 센서들뿐 아니라 자력계들을 포함한다.
[0063] 모바일 디바이스(102)는 또한, 이미지들을 디스플레이할 수 있는 디스플레이(112)를 포함하는 사용자 인터페이스(110)를 포함할 수 있다. 사용자 인터페이스(110)는 또한 키패드(114) 또는 다른 입력 디바이스를 포함할 수 있으며, 이들을 통해 사용자는 정보를 모바일 디바이스(102)에 입력할 수 있다. 원할 경우, 키패드(114)는 터치 센서를 갖는 디스플레이(112)에 가상 키패드를 통합함으로써 제거될 수 있다. 또한, 사용자 인터페이스(110)는 예를 들어, 모바일 디바이스가 셀룰러 전화인 경우, 마이크로폰(117) 및 하나 또는 그 초과의 스피커들(118)을 포함할 수 있다. 물론, 모바일 디바이스(102)는 본 개시물과 관련되지 않는 다른 컴포넌트들을 포함할 수 있다.
[0064] 모바일 디바이스(102)는, 임의의 다른 원하는 피처들과 함께, 사용자 인터페이스(110)뿐만 아니라 카메라(들)(108) 및 센서들(116)에 연결되고 이들과 통신하는 제어 유닛(120)을 더 포함한다. 제어 유닛(120)에는 하나 또는 그 초과의 프로세서들(122) 및 연관된 메모리/저장소(124)가 제공될 수 있다. 또한 제어 유닛(120)은 하드웨어(128)뿐만 아니라 소프트웨어(126) 및 펌웨어(130)를 포함할 수 있다. 제어 유닛(120)은 모바일 디바이스(102)의 배향과 모션 방향 사이의 오정렬 각도에 대해 구성된 오정렬 각도 계산 모듈(132)을 포함한다. 제어 유닛은 (사용자의 모션 방향을 표시할 수 있는) 모바일 디바이스(102)의 모션 방향을 추적하도록 구성된 모션 방향 추적 모듈(133)을 더 포함한다. 제어 유닛(120)은 (사용자의 속도를 표시할 수 있는) 모바일 디바이스(102)의 속도를 계산하도록 구성된 속도 계산 모듈(134)을 더 포함한다. 오정렬 각도 계산 모듈(132), 모션 방향 추적 모듈(133), 및 속도 계산 모듈(134)은, 명확성을 위해 프로세서(122) 및/또는 하드웨어(128)와 개별적으로 예시되지만, 소프트웨어(126) 및 펌웨어(130)의 명령들에 기초하여 프로세서(122) 및/또는 하드웨어(128)에서 구현되거나 그리고/또는 조합될 수 있다.
[0065] 도 5a는 본 개시물의 일부 양상들에 따른 모바일 디바이스의 오정렬 각도 및 속도를 추정하는 방법을 예시한다. 도 5a에 도시된 예에서, 방법은, 블록(502)에서 시작해서, 이후 블록(504)으로 이동하며, 여기서 방법은 센서 데이터를 수집한다. 본 개시물의 양상들에 따라, 센서 데이터는, 도 1b에 설명된 것처럼 하나 또는 그 초과의 카메라들(108a 및 108b)에 의해 캡처되는 이미지 프레임들을 포함할 수 있다. 센서 데이터는 또한 가속도계, 자이로스코프, 자력계에 의해 그리고/또는 모바일 디바이스(102)의 무선 수신기에 의해 수집되는 데이터를 포함할 수 있다. 블록(506)에서, 방법은 캡처되는 이미지 프레임들로부터 피처들을 추출한다. 블록(508)에서, 방법은 시점 보상을 수행한다. 본 개시물의 양상들에 따라, 시점 보상을 수행하는 예들은 도 2a-도 2c의 설명들과 연관하여 제공된다. 블록(510)에서, 방법은 2개의 연속(consecutive) 이미지 프레임들 사이의 픽셀들에서의 분리들(separations)을 결정하기 위해 2개의 연속 이미지 프레임들 사이의 피처들을 비교한다. 본 개시물의 양상들에 따라, 이미지 프레임들에서 피처들을 추출하고 비교하는 방법들은 도 2a-도 2c의 설명들과 연관하여 제공된다. 블록(512)에서, 방법은 블록(510)에서 수행되는 이미지 프레임들 사이의 피처들의 비교에 적어도 부분적으로 기초하여 변위 각도 및 크기를 계산하다.
[0066] 블록(514)에서, 방법은 이미지 프레임들 사이에서 이동된 거리를 계산한다. 블록(516)에서, 방법은 도 5b와 연관하여 설명된 방법들에 따라 모바일 디바이스의 속도를 계산한다. 블록(518)에서, 방법은 블록(512)에서 결정된 변위 각도에 적어도 부분적으로 기초하여 모바일 디바이스의 모션 방향을 결정한다. 블록(520)에서, 방법은 블록(518)에서 결정된 모션 방향에 적어도 부분적으로 기초하여 모바일 디바이스의 모션 방향과 배향 사이의 오정렬 각도 및 모바일 디바이스(102)의 하나 또는 그 초과의 센서들에 의해 획득된 데이터에 의해 결정되는 배향을 결정한다. 방법은 블록(520)에서 종료된다.
[0067] 도 5b는 본 개시물의 일부 양상들에 따라 모바일 디바이스의 속도를 추정하는 방법을 예시한다. 도 5b에 도시된 예시적 구현에서, 모바일 디바이스(102)의 하나 또는 그 초과의 카메라들(108a 및/또는 108b)에 의해 캡처되는 이미지 프레임들에서의 피처들을 추적함으로써, 2개의 연속 이미지 프레임들 사이의 픽셀들의 분리가 결정될 수 있다. 방법은, 이미지 프레임들의 픽셀의 변위를 미터 단위의(in meters) 거리 변위로 변환한다. 이후, 방법은 하나 또는 그 초과의 카메라들(108a 및/또는 108b)의 시야 그리고 지면(ground) 위로 홀딩되는 하나 또는 그 초과의 카메라들의 높이를 결정한다. 시점 프로젝션(perspective projection)으로 인해, 동일 거리는, 객체가 모바일 디바이스의 카메라의 시점으로부터 얼마나 멀리 있을 수 있는지에 의존하여, 캡처되는 이미지 프레임에서의 상이한 수의 픽셀들에 대응할 수 있다는 점이 주목된다. 일부 애플리케이션들에서, 지면 위로 홀딩되는 모바일 디바이스(102)의 디폴트 높이가 추정될 수 있다. 일부 다른 애플리케이션들에서, 높이는 모바일 디바이스(102)의 GPS 로케이션으로부터 또는 다른 포지셔닝 추정들(예컨대, WiFi, 블루투스 측정들)로부터 결정될 수 있다.
[0068] 도 5b에 도시된 것처럼, 직선(rectilinear) 이미지를 프로젝팅하는 카메라(108)의 렌즈(109)에 대해, 알파(α) 뷰 각도는 선택된 차원(d) 및 유효 초점 거리(F)로부터 Alpha = 2*arctan(d/2F)로서 계산될 수 있으며, 여기서 d는 측정되는 방향에서 센서의 크기를 나타낸다. 카메라로부터 보여지는 객체 각도 크기가 뷰의 카메라 각도와 동일한 경우 객체 이미지는 전체 센서를 점유할 수 있다는 점이 주목되며, 이러한 물리적 객체 크기는 d*S1/S2이다.
[0069] 이미지들이 비디오 모드에서 획득될 경우, d 차원에서 MaxPix로 표시되는 픽셀들의 수는, 예를 들어 720 또는 1080일 수 있으며, 이미지의 하나의 픽셀은 객체(표면)의 d*S1/S2/MaxPix 미터에 대응할 수 있다. (사용자 손에 있는) 카메라가 이동중인 경우, 고정 객체 및 객체 피처들은 N 화소들만큼 이동되며, 이는, 카메라가 Npix*d*S1/S2/MaxPix 만큼 이동했음을 의미한다. (2개의 인접한 30Hz 프레임들 사이에서 1/30초와 같은) 시간 인터벌 T에 걸쳐 움직임이 발생했다면, 모바일 디바이스의 속도는, Speed = Npix*d*S1/S2/MaxPix/T로 추정될 수 있다.
[0070] 상기 식은 또한 센서로부터 렌즈로의 거리 및 센서 크기에 대한 참조 없이 대안적인 형태로 제시될 수 있다. 예시적 구현에서, S1은 플로어(H)로부터 카메라의 거리를 나타내고 S1은 대략 F와 동일하기 때문에, 표현식은 Speed = Npix*d*H/F/MaxPix/T로 다시 쓸 수 있다. 부가로, Alpha = 2*arctan(d/2F)는 Alpha = d/F로 근사화될 수 있으며, 이는
Speed = Alpha/MaxPix*Npix*H/T
의 식을 산출한다.
[0071] 이 식에서, Alpha/MaxPix는 공지된 카메라 파라미터들의 조합을 포함하며, 객체 이미지 변위 Npix 및 이동 시간 T가 측정될 수 있고, 플로어(H)로부터 카메라의 거리는, 예를 들어 GNSS 또는 WiFi 로케이션으로부터 사용자 속도가 알려질 수 있을 때, 가정되거나 캘리브레이팅될 수 있다.
[0072] 도 6은 본 개시물의 일부 양상들에 따른 모바일 디바이스의 포지션 특징들을 결정하는 예시적 방법을 예시한다. 블록(602)에서, 제어 유닛(120)은 모바일 디바이스로부터 뷰들을 나타내는 복수의 이미지들을 캡처하도록 구성될 수 있다. 블록(604)에서, 제어 유닛(120)은 모바일 디바이스의 배향에 적어도 부분적으로 기초하여 복수의 이미지들의 시점들을 조정하도록 구성될 수 있다. 블록(606)에서, 제어 유닛(120)은 복수의 이미지들을 사용하여 모바일 디바이스의 모션 방향에 관한 오정렬 각도를 결정하도록 구성될 수 있다. 블록(608)에서, 제어 유닛(120)은 저장 디바이스에 오정렬 각도 및 모션 방향을 저장하도록 구성될 수 있다.
[0073] 본 개시물의 실시예들에 따라, 블록(604)에서 수행되는 방법들은 블록(610)에서 수행되는 방법들을 더 포함할 수 있다. 블록(610)에서, 제어 유닛(120)은, 하나 또는 그 초과의 센서들로부터 수집되는 데이터를 이용하여 계산된 모바일 디바이스의 배향에 기초하여 복수의 이미지들의 시점들을 조정하며, 복수의 이미지들의 센터들 부근 구역을 이용하여 복수의 이미지들의 시점들에 대해 보상하며, 그리고/또는 복수의 이미지들의 피처들의 로케이션들의 가중화된 평균에 적어도 부분적으로 기초하여 복수의 이미지들의 시점들에 대해 보상하도록 구성될 수 있다.
[0074] 본 개시물의 실시예들에 따라, 블록(606)에서 수행되는 방법들은 블록들(612 내지 622)에서 수행되는 방법들을 더 포함할 수 있다. 블록(612)에서, 제어 유닛(120)은 복수의 이미지들로부터의 피처들을 추적하고, 모바일 디바이스의 모션 방향을 추정하고, 센서 데이터를 이용하여 모바일 디바이스의 배향을 추정하고 그리고 모바일 디바이스의 모션 방향 및 배향에 적어도 부분적으로 기초하여 오정렬 각도를 결정하도록 구성될 수 있다.
[0075] 블록(614)에서, 제어 유닛(120)은, 모바일 디바이스의 자이로스코프에 의해 제공되는 정보를 이용하여 모바일 디바이스의 모션 방향에 관한 오정렬 각도의 컨피던스를 결정하는 것, 모바일 디바이스의 자력계에 의해 제공되는 정보를 이용하여 모바일 디바이스의 모션 방향에 관한 오정렬 각도의 컨피던스를 결정하는 것, 및 복수의 이미지들의 피처들을 사용하여 모바일 디바이스의 모션 방향에 관한 오정렬 각도의 컨피던스를 결정하는 것 중 적어도 하나를 수행하도록 구성될 수 있다.
[0076] 블록(616)에서, 제어 유닛(120)은, 모바일 디바이스의 속도 추정을 결정하고, 모바일 디바이스의 속도 추정의 컨피던스를 결정하고, 그리고 모바일 디바이스의 사용자에게 네비게이팅하기 위해, 속도 추정 및 속도 추정의 컨피던스를 적용하도록 구성될 수 있다. 블록(618)에서, 제어 유닛(120)은 모바일 디바이스의 사용자에게 네비게이팅하기 위해 오정렬 각도 및 오정렬 각도의 컨피던스를 적용하도록 구성될 수 있다.
[0077] 본 개시물의 실시예들에 따라, 블록(612)에서 수행되는 방법들은 블록(620)에서 수행되는 방법들을 더 포함할 수 있다. 블록(620)에서, 제어 유닛(120)은 복수의 이미지들에서 적어도 하나의 움직이는 객체를 제거하기 위해 복수의 이미지들의 피처들에서의 아웃라이어들을 거부하도록 구성될 수 있다.
[0078] 본 개시물의 실시예들에 따라, 블록(616)에서 수행되는 방법들은 블록(622)에서 수행되는 방법들을 더 포함할 수 있다. 블록(622)에서, 제어 유닛(120)은 복수의 이미지들로부터 피처들을 추출하고, 복수의 이미지들로부터의 피처들을 이용하여 모바일 디바이스의 평균 변위를 계산하고, 그리고 모바일 디바이스의 평균 변위에 적어도 부분적으로 기초하여 속도 추정을 계산하도록 구성될 수 있다.
[0079] 블록(622)에서, 제어 유닛(120)은 복수의 이미지들로부터의 피처들을 비교하고, 복수의 이미지들에 있는 2개의 연속 이미지들 사이의 픽셀들의 간격을 결정하고, 2개의 연속 이미지들 사이의 시간 인터벌을 결정하고, 그리고 2개의 연속 이미지들 사이의 시간 인터벌 및 픽셀들의 간격에 따라, 모바일 디바이스의 속도 추정을 계산하도록 추가로 구성될 수 있다. 추가로, 제어 유닛(120)은 모바일 디바이스의 GPS 로케이션 정보 및 WIFI 로케이션 정보 중 적어도 하나에 따라, 모바일 디바이스의 높이를 캘리브레이팅하도록 추가로 구성될 수 있다.
[0080] 본 개시물의 일부 양상들에 따라, 도 5a 및 도 6에 설명된 기능들은 잠재적으로 하나 또는 그 초과의 다른 엘리먼트들과 결합하여, 도 4의 제어 유닛(120)에 의해 구현될 수 있다. 일부 구현들에서, 기능들은, 프로세서(122), 소프트웨어(126), 하드웨어(128), 및 펌웨어(130) 또는 이들의 조합에 의해 수행되어 본 개시물에 설명된 장치의 다양한 기능들을 수행할 수 있다. 또 다른 다른 구현들에서, 도 5a 및 도 6에 설명된 기능들은, 하나 또는 그 초과의 다른 엘리먼트들, 예를 들어 도 4의 엘리먼트들(108-118 및 124-134)과 결합하여 프로세서(122)에 의해 구현될 수 있다.
[0081] 도 7a는 본 개시물의 일부 양상들에 따라, 일정 시간 기간에 걸쳐 모바일 디바이스에 대한 모션, 오정렬 각도 및 오정렬 각도와 연관된 컨피던스를 모니터링하는 방법을 예시한다. 도 7a에 도시된 것처럼, 제 1 그래프(702)는 일정 시간 기간(본 예에서는 80초)에 걸쳐 모바일 디바이스(102)의 배향과 모션 방향 사이의 오정렬 각도(또한 도 7a에서의 각도로서 지칭됨)를 도시한다. 제 2 그래프(704)는 동일한 시간 기간에 걸쳐 오정렬 각도와 연관된 대응하는 컨피던스 값을 도시한다. 제 3 그래프(706)는 모바일 디바이스(102)가 동일한 시간 기간에 움직이고 있는지(in motion)를 도시한다.
[0082] 일부 애플리케이션들에서, 컨피던스 추정은 모바일 디바이스가 시간상 한 시점에서 결정되는 오정렬 각도에 의존하는지에 대해 알려주도록(tell) 구성될 수 있는 네이게이션 알고리즘에 대한 입력일 수 있다. 앞서 도시된 것처럼, 컨피던스 추정은 피처 추적 알고리즘으로부터 유추될 수 있다. 일부 애플리케이션들에서, 컨피던스 값은 또한 자이로스코프 및 자력계에 의해 추정될 수 있다. 예를 들어, 자이로스코프 및 자력계는, 사용자가 터닝중(즉, 모션 방향 변경)일 때 오정렬 각도의 컨피던스 값이 감소될 수 있음을 나타내도록 구성될 수 있다.
[0083] 일부 다른 애플리케이션들에서, 자이로스코프 값이 임계치를 초과할 때, 사용자가 모바일 디바이스를 움직이고 있거나 또는 터닝중일 수 있다는 것이 추론될 수 있다; 그리고 이러한 경우들에서, 이에 따라 컨피던스 값이 감소될 수 있다. 자이로스코프가 턴을 표시하면, 오정렬 각도의 평균들을 계산하는 필터는 리셋될 수 있다. 컨피던스 메트릭은 피처들이 얼마나 잘 추적되고 있는지를 예시한다는 점이 주목된다. 컨피던스 값이 로우(low)인 경우, 모바일 디바이스는 이전 시간으로부터 또는 상이한 카메라로부터의 각도, 예컨대 정면을 향하는 카메라로부터 후면을 향하는 카메라로의 또는 이 반대로의 스위칭을 이용하도록 구성될 수 있다.
[0084] 도 7b는 본 개시물의 일부 양상들에 따라 일정 시간 기간에 걸쳐 모바일 디바이스의 평균 오정렬 각도에 대한 변화들을 나타내는 그래프를 예시한다. 도 7b에 도시된 것처럼, 대략 2 내지 46초의 제 1 기간(708)에서, 평균 오정렬 각도(또한, 도 7b에서의 평균 각도로 지칭됨)는 대략 -86도이다. 대략 47 내지 60초의 제 2 기간(710)에서, 평균 오정렬 각도는 급격히(sharply) 변하며, 이는 통상적으로, 사용자가 모바일 디바이스를 상이한 포지션으로 움직이고 있을 수 있거나 또는 사용자가 터닝중일 수 있다는 것을 표시한다. 대략 61 내지 75초의 제 3 기간(712)에서, 평균 오정렬 각도는 대략 -60도이다. 이러한 정보는 포지셔닝 및 보행자 네비게이션 애플리케이션들을 어시스트하는데 이용될 수 있다.
[0085] 본 개시물의 양상들에 따라, 오정렬 각도 및 모션 방향을 모니터링하는 방법은 대안적으로 또는 추가적으로 다음과 같이 수행될 수 있다. 일부 구현들에서, 모바일 디바이스(102) 상에서 실행되는 센서-보조 보행자 네비게이션 애플리케이션에 대해, 오정렬 각도 계산 모듈(132)은, 모션 방향 추적 모듈(133)에 의해 제시되는 모바일 디바이스(102)의 배향과 모바일 디바이스(102)의 포워드 모션 방향 사이의 각도 오프셋(angular offset)을 결정하는데 이용될 수 있다. 예를 들어, 도 1a에 도시된 것처럼, 오정렬 각도는 모바일 디바이스(102)의 모션 방향(M)과 모바일 디바이스의 배향 방향(O) 사이의 각도 차에 의해 정의될 수 있다. 오정렬 각도를 계산하고 이용함으로써, 통상적인 모션 방향 기술들에서는 실패한 경우들에서, 모바일 디바이스(102)의 모션 방향(M)이 획득될 수 있다. 보다 특정하게, 오정렬 각도는 모바일 디바이스(102)의 배향 방향(O)에 의존하여 광범위한 값(예를 들어, 0 내지 360도)을 가질 수 있다. 오정렬 각도가 없다면, 모션 방향으로 향하는(heading to) 디바이스의 유사 전환(approximate conversion) 조차도 문제시될 수 있다.
[0086] 오정렬 각도는 모바일 디바이스(102)의 포지셔닝을 가능케하는데 사용된다. 예를 들어, 주어진 정밀도(precision) 및 톨러런스 양 내에서, 모바일 디바이스가 (예를 들어, 자북(magnetic north)과 관련하여) 배향되는 방향으로 정의될 수 있는, 모바일 디바이스(102)의 헤딩(heading)을 표시하는 정보를 제공하기 위해, 모바일 디바이스(102)에는 컴파스 또는 다른 메커니즘들이 장착될 수 있다. 그러나, 모바일 디바이스(102)가 항상 모션 방향으로 배향되도록 모바일 디바이스가 움직일 수 없게(immovably) 포지셔닝되지 않는다면, 모바일 디바이스(102)의 컴파스 헤딩만으로는 모바일 디바이스(102)가 움직이는 방향을 나타낼 수 없다. 따라서, 오정렬 각도는, 모바일 디바이스(102)가 모션 방향으로 배향되지 않는 경우, 모바일 디바이스(102)의 배향 방향을 모션 방향으로 전환하는데 이용될 수 있다. 예로써, 컴파스-보조 데드 레코닝(compass-aided dead reckoning) 애플리케이션에서의 모션 방향은 컴파스 헤딩 + 오정렬 각도로써 계산될 수 있다.
[0087] 모션 방향 추적 모듈(133) 및 오정렬 각도 계산 모듈(132)은 보행자가 휴대하고 있는 모바일 디바이스(102)의 움직임과 연관된 오정렬 각도를 계산하기 위해, 센서 데이터, 스텝 디텍터(step detector)(미도시)로부터 획득되는 정보등에 기초하여 동작할 수 있다. 초기에, 가속도계(들) 및/또는 스텝 디텍터로부터 수집되는 데이터에 기초하여, 보행자 스텝들이 식별될 수 있으며, 모바일 디바이스(102)의 센서 축들에 대한 중력의 방향이 결정될 수 있다. 후술되는 바와 같이, 모션 방향 추적 모듈(133)과 오정렬 각도 계산 모듈(132)의 동작에 기초하여(a basis for) 이러한 초기 계산들이 형성된다.
[0088] 보행자 모션, 예컨대 도보, 런닝 등과 관련하여, 모션 방향은 보행자 모션의 생체역학에 기초한 연속 스텝들 사이에서 그리고 제시된 보행자 스텝내에서 변한다. 예를 들어, 일정한 포워드 방향으로 진행하기보다, 움직이고 있는 보행자는 연속하는 스텝들로 왼쪽-오른쪽으로(예를 들어, 왼발을 이용한 스텝 동안은 왼쪽으로 오른 발을 이용한 스텝 동안은 오른쪽으로) 그리고 각각의 스텝내에서 수직으로(예를 들어, 위아래로) 시프트한다. 이에 따라, 일련의 보행자 스탭들과 연관된 가로방향(횡방향) 가속은 왼쪽과 오른쪽 사이에서 2-스텝 기간으로 반복되는(cycle) 반면 포워드 및 수직 가속은 1-스텝 기간으로 반복된다.
[0089] 본 개시물의 양상들에 따라, 모션 방향 추적 모듈(133)은 스텝 시프터(step shifter), 스텝 합산 모듈 및 스텝 상관 모듈(도 4에 도시되지 않음)을 포함할 수 있다. 모션 방향 추적 모듈(133)은 수직 및 가로방향 컴포넌트들로부터 포워드 모션 컴포넌트를 격리시키기 위해 보행자 모션의 상기 특성들을 리버리징할 수 있다. 예를 들어, 모션 방향 추적 모듈(133)은 연속 스텝들에 걸쳐 (예를 들어, 버퍼에) 가속도계(들)(28)로부터 획득된 가속 정보를 기록한다. 포워드 가속을 바로잡고 가속의 가로방향 컴포넌트를 삭제 또는 차단(suppress)시키기 위해, 모션 방향 추적 모듈(133)은 스텝 시프터 및 스텝 합산 모듈을 이용하여 홀수 및 짝수 스텝들을 합산한다. 다른 말로, 스텝 시프터는, 하나의 스텝씩 시간상 일련의 보행자 스텝들에 대응하는 가속 데이터를 시프트한다. 후속하여, 스텝 합산 모듈은 시프트된 가속 정보와 오리지널 가속 정보를 합산한다. 앞서 주목한 바와 같이, 가로방향 변화들은 바디 로테이션(body rotation) 및 롤링(rolling)으로 인해 2-스텝 기간을 갖는 연속 스텝으로 표시(sign)되는 반면 포워드 및 수직 가속은 1-스텝 기간으로 나타난다. 결과적으로, 1-스텝 시프트 이후 합산 보행자 스텝들은 가로방향 가속을 감소시키면서 수직 또는 포워드 가속에 대한 최소의 영향력을 갖는다.
[0090] 모바일 디바이스(102)가 보행자의 바디상에 중심설정되게 포지셔닝되지 않거나 또는 보행자 모션 동안 배향이 시프트되는 경우, 가로방향 가속은 스텝마다(from step to step) 대칭되지 않을 수도 있다. 따라서, 스텝 시프터 및 스텝 합산 모듈이 가로방향 가속 컴포넌트를 감소시키도록 동작하지만, 이들 모듈들은 가로방향 가속을 실질적으로 제거할 수 없다. 가로방향 가속의 제거를 강화시키기 위해, 가속도계(들)로부터 획득된 가속 데이터에 대해 스텝 상관 모듈이 추가로 동작할 수 있다.
[0091] 보행자가 포워드로 스텝핑할 때(예를 들어, 도보중일 때), 보행자의 무게 중심(center of gravity)은 스텝의 초반에 위로 이동하고 스텝의 마지막에는 아래로 이동한다. 유사하게, 보행자의 포워드 속도는, 보행자의 발들이 스텝의 마지막에 지면에 닿을 때 감소되고 스텝 동안에는 증가한다. 보행자 스텝의 진행 동안 포워드와 수직 모션 사이의 이러한 관게식은 가로방향 가속의 추가 삭제시 스텝 상관 모듈에 의해 리버리징될 수 있다(leveraged). 특히 보행자 스텝과 연관된 가속이 주기적 함수(periodic function)로서 보여질 경우, 스텝과 연관된 수직 가속 및 포워드 가속은 대략 스텝의 1/4(예를 들어, 90도)만큼 오프셋된다는 것을 관찰할 수 있다. 이에 따라, 스텝 상관 모듈은, 포워드 및 백워드 양자 모두에 대해 1/4 스텝(예를 들어, +/- 90도)만큼 (스텝 시프터에 의해) 시프트된 수평 가속과 수직 가속을 상관시킨다.
[0092] 앞서 설명된 것과 같은 시프트 및 상관 이후, 수직/포워드 상관은 보행자 모션의 생체역학으로 인해 비교적 강할 수 있지만, 수직/가로방향 상관은 대략 제로일 수 있다. 따라서, 1/4 스텝만큼 포워드 및 백워드 시프트된 수직 및 수평 가속 사이의 상관들이 계산되며, 포워드 시프트된 결과는 백워드 시프트된 결과로부터 차감되어(이는 2개의 상관들의 결과들이 부호가 반대이기 때문임) 가속의 가로방향 컴포넌트를 추가로 감소시킬 수 있다.
[0093] 모션 방향 추적 모듈(133)이 앞서 논의된 것처럼 실질적으로 가로방향 가속을 삭제한 후, 오정렬 각도 계산 모듈(132)은 모바일 디바이스(102)의 배향과 가속의 포워드 컴포넌트 사이의 각도를 결정한다. 본 개시물의 양상들에 따라, 오정렬 각도 계산 모듈(132)은 (도 4에 도시되지 않은) 아이겐(Eigen) 분석 모듈 및 각도 방향 추론 모듈을 포함할 수 있다. 하나의 예시적 구현에서, 오정렬 각도 계산 모듈(132)은 아이겐 분석 모듈에 의해 수행되는 아이겐 분석을 통해, 그리고 각도 방향 추론 모듈에 의해 수행되는 추가 프로세싱을 통해 오정렬 각도를 식별한다. 모션 방향 추적 모듈(133)에 의해 제공되는 정보에 기초하여, 아이겐 분석 모듈은 지상(earth)에 관한 모바일 디바이스의 센서 축들의 배향을 결정하며, 이로부터 모바일 디바이스(102)의 모션 방향에 대응하는 라인이 획득된다. 각도 방향 추론 모듈은 획득된 라인뿐만 아니라 대응하는 보행자 스텝(들)에 대응하는 포워드 및 수직 가속 데이터를 분석하여, 모바일 디바이스(102)의 모션 방향에 기초한 오정렬 각도의 방향(예를 들어, 획득된 라인을 따라 포워드 또는 백워드)을 결정한다. 이렇게 함으로써, 각도 방향 추론 모듈은 오정렬 각도와 연관된 포워드/백워드 모호성(ambiguity)을 해결하도록 동작한다.
[0094] 본 개시물의 양상들에 따라, 각도 방향 추론 모듈은 오정렬 각도의 방향을 결정하기 위해 보행자 스텝의 모션 시그너처(motion signature)를 리버리징한다. 앞서 논의된 것처럼, 보행자 스텝에 대응하는 포워드 및 수직 가속은 레그 로테이션의 메커닉스(mechanics), 바디 움직임, 및 보행자 모션과 연관된 다른 요인들로 인해 관련된다. 따라서, 각도 방향 추론 모듈은, 주어진 라인을 따라 모션 방향이 포워드인지 백워드인지를 식별하기 위해, 이들 관계식들의 정보(knowledge)를 이용하도록 구성될 수 있다.
[0095] 상기 논의는 예를 들어, 수평 평면에 관해, 2-차원 모션 방향을 획득하는 것에 관한 것이지만, 유사한 기술들이 3차원들의 모션 방향을 획득하는데 이용될 수 있다. 따라서, 본원에 설명된 기술들은 고도(altitude)에서의 변화들, 평평하지 않은 표면을 따른 보행자 모션 및/또는 3차원의 모션 방향에 영향을 미치는 다른 요인들에 대해 고려하여 확장될 수 있다.
[0096] 부가적으로, 상기 설명된 기술들은, 가속도계(들) 이외에, 자이로스코프를 레버리징하도록 확장될 수 있다. 보행자 모션의 생체역학에 추가로 참조하여, 레그 로테이션 및 보행자 스텝 동안 연관된 다른 움직임들은 예를 들어, 피치(pitch) 또는 롤(roll)과 관련하여 측정되는 각 이동들(angular movements)로서 분류될 수 있다. 따라서, 자이로스코프는, 상기 설명된 계산들 이전에, 모바일 디바이스(102)의 배향에 대해 고려하여 계산에 대한 기준 프레임(reference frame)이 로테이팅될 수 있도록, 움직임으로 인한 가속으로부터 중력을 분리하는데 사용될 수 있다.
[0097] 적어도 [0097]-[0099] 문단들, 도 4, 도 5a, 도 5b, 도 6 및 이들의 대응하는 설명들은, 모바일 디바이스로부터 뷰들을 나타내는 복수의 이미지들을 캡처하기 위한 수단, 모바일 디바이스의 배향에 적어도 부분적으로 기초하여 복수의 이미지들의 시점들을 조정하기 위한 수단, 복수의 이미지들을 이용하여 모바일 디바이스의 모션 방향에 관한 오정렬 각도를 결정하기 위한 수단, 및 오정렬 각도 및 모션 방향을 저장 디바이스에 저장하기 위한 수단을 제공한다는 것을 주목한다. 적어도 [0097]-[0099] 문단들, 도 1a, 도 1b, 도 4, 도 5a, 도 5b, 도 6 및 이들의 대응하는 설명들은, 하나 또는 그 초과의 센서들로부터 수집된 데이터를 이용하여 계산된 모바일 디바이스의 배향에 기초하여 복수의 이미지들의 시점들을 조정하기 위한 수단; 복수의 이미지들의 센터들 부근 구역을 이용하여 복수의 이미지들의 시점들에 대해 보상하기 위한 수단; 복수의 이미지들에 있는 피처들의 로케이션들의 가중화된 평균에 적어도 부분적으로 기초하여 복수의 이미지들의 시점들에 대해 보상하기 위한 수단; 복수의 이미지들로부터의 피처들을 추적하기 위한 수단; 모바일 디바이스의 모션 방향을 추정하기 위한 수단; 센서 데이터를 이용하여 모바일 디바이스의 배향을 추정하기 위한 수단; 모바일 디바이스의 모션 방향 및 배향에 적어도 부분적으로 기초하여 오정렬 각도를 결정하기 위한 수단; 모바일 디바이스의 자이로스코프에 의해 제공되는 정보를 사용하여 모바일 디바이스의 모션 방향에 관한 오정렬 각도의 컨피던스를 결정하기 위한 수단; 모바일 디바이스의 자력계에 의해 제공되는 정보를 사용하여 모바일 디바이스의 모션 방향에 관한 오정렬 각도의 컨피던스를 결정하기 위한 수단; 복수의 이미지들의 피처들을 사용하여 모바일 디바이스의 모션 방향에 관한 오정렬 각도의 컨피던스를 결정하기 위한 수단; 모바일 디바이스의 속도 추정을 결정하기 위한 수단; 모바일 디바이스의 속도 추정의 컨피던스를 결정하기 위한 수단; 및 모바일 디바이스의 사용자에게 네비게이팅하기 위해, 속도 추정 및 속도 추정의 컨피던스를 적용하기 위한 수단을 제공한다.
[0098] 본 명세서에 설명된 방법들 및 모바일 디바이스는, 애플리케이션에 의존하여 다양한 수단에 의해 구현될 수 있다. 예를 들어, 이들 방법들은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 결합으로 구현될 수 있다. 하드웨어 구현에 대해, 프로세싱 유닛들은 하나 또는 그 초과의 주문형 집적 회로(ASIC)들, 디지털 신호 프로세서(DSP)들, 디지털 신호 프로세싱 디바이스(DSPD)들, 프로그래밍가능 로직 디바이스(PLD)들, 필드 프로그래밍가능 게이트 어레이(FPGA)들, 프로세서들, 제어기들, 마이크로-제어기들, 마이크로프로세서들, 전자 디바이스들, 본 명세서에 설명된 기능들을 수행하도록 설계된 다른 전자 유닛들, 또는 이들의 결합 내에서 구현될 수 있다. 본원에서, 용어 "제어 로직"은 소프트웨어, 하드웨어, 펌웨어, 또는 조합에 의해 구현된 로직을 포괄한다.
[0099] 펌웨어 및/또는 소프트웨어 구현에 대해, 방법들은, 본 명세서에 설명된 기능들을 수행하는 모듈들(예를 들어, 프로시저들, 함수들 등)을 이용하여 구현될 수 있다. 명령들을 유형으로 구체화하는 임의의 머신 판독가능 매체가 본 명세서에 설명된 방법들을 구현하는데 사용될 수 있다. 예를 들어, 소프트웨어 코드들은 메모리에 저장될 수 있고, 프로세싱 유닛에 의해 실행될 수 있다. 메모리는, 프로세싱 유닛 내부 또는 프로세싱 유닛 외부에서 구현될 수 있다. 본 명세서에 사용된 바와 같이, 용어 "메모리"는 임의의 타입의 장기, 단기, 휘발성, 비휘발성, 또는 다른 저장 디바이스들을 지칭하며, 임의의 특정한 타입의 메모리 또는 메모리들의 수, 또는 메모리가 저장되는 매체들의 타입에 제한되지 않는다.
[0100] 펌웨어 및/또는 소프트웨어로 구현되면, 기능들은 컴퓨터-판독가능 매체 상의 하나 또는 그 초과의 명령들 또는 코드로서 저장될 수 있다. 예들은, 데이터 구조로 인코딩된 컴퓨터-판독가능 매체들, 및 컴퓨터 프로그램으로 인코딩된 컴퓨터-판독가능 매체들을 포함한다. 컴퓨터-판독가능 매체들은 제조자 물품의 형태를 취할 수 있다. 컴퓨터-판독가능 매체들은 물리적 컴퓨터 저장 매체들 및/또는 다른 비-일시적 매체들을 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있다. 제한이 아닌 예로서, 그러한 컴퓨터-판독가능 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장부, 자기 디스크 저장 또는 다른 자기 저장 디바이스들, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있으며; 본 명세서에 사용된 바와 같이, 디스크(disk) 및 디스크(disc)는, 컴팩트 디스크(disc)(CD), 레이저 디스크(disc), 광학 디스크(disc), DVD(digital versatile disc), 플로피 디스크(disk) 및 블루-레이 디스크(disc)를 포함하며, 여기서, 디스크(disk)들은 일반적으로 데이터를 자기적으로 재생하지만, 디스크(disc)들은 레이저들을 이용하여 광학적으로 데이터를 재생한다. 상기한 것들의 결합들이 또한, 컴퓨터-판독가능 매체들의 범위 내에 포함되어야 한다.
[0101] 컴퓨터 판독가능 매체 상의 저장에 부가하여, 명령들 및/또는 데이터는 통신 장치에 포함된 송신 매체들 상에서 신호들로서 제공될 수 있다. 예를 들어, 통신 장치는, 명령들 및 데이터를 표시하는 신호들을 갖는 트랜시버를 포함할 수 있다. 명령들 및 데이터는 하나 또는 그 초과의 프로세서들로 하여금, 청구항들에서 약술된 기능들을 구현하게 하도록 구성된다. 즉, 통신 장치는, 개시된 기능들을 수행하기 위한 정보를 표시하는 신호들을 갖는 송신 매체들을 포함한다. 제 1 시간에서, 통신 장치에 포함된 송신 매체들은 개시된 기능들을 수행하기 위한 정보의 제 1 부분을 포함할 수 있지만, 제 2 시간에서, 통신 장치에 포함된 송신 매체들은 개시된 기능들을 수행하기 위한 정보의 제 2 부분을 포함할 수 있다.
[0102] 본 개시물은, 무선 광역 네트워크(WWAN), 무선 로컬 영역 네트워크(WLAN), 무선 개인 영역 네트워크(WPAN) 등과 같은 다양한 무선 통신 네트워크들과 함께 구현될 수 있다. 용어 "네트워크" 및 "시스템"은 종종 상호교환가능하게 사용된다. 용어 "포지션" 및 "로케이션"은 종종 상호교환가능하게 사용된다. WWAN은 코드 분할 다중 액세스(CDMA) 네트워크, 시분할 다중 액세스(TDMA) 네트워크, 주파수 분할 다중 액세스(FDMA) 네트워크, 직교 주파수 분할 다중 액세스(OFDMA) 네트워크, 단일-캐리어 주파수 분할 다중 액세스(SC-FDMA) 네트워크, 롱텀 에볼루션(LTE) 네트워크, WiMAX(IEEE 802.16) 네트워크 등일 수 있다. CDMA 네트워크는 cdma2000, 광대역-CDMA(W-CDMA) 등과 같은 하나 또는 그 초과의 라디오 액세스 기술(RAT)들을 구현할 수 있다. cdma2000은 IS-95, IS2000, 및 IS-856 표준들을 포함한다. TDMA 네트워크는 모바일 통신들을 위한 글로벌 시스템(GSM), D-AMPS(Digital Advanced Mobile Phone System), 또는 몇몇 다른 RAT를 구현할 수 있다. GSM 및 W-CDMA는 "3세대 파트너쉽 프로젝트(3GPP)"로 명칭된 콘소시엄으로부터의 문헌들에 설명되어 있다. cdma2000은 "3세대 파트너쉽 프로젝트 2(3GPP2)"로 명칭된 콘소시엄으로부터의 문헌들에 설명되어 있다. 3GPP 및 3GPP2 문헌들은 공개적으로 이용가능하다. WLAN은 IEEE 802.11x 네트워크일 수 있고, WPAN은 블루투스 네트워크, IEEE 802.15x, 또는 몇몇 다른 타입의 네트워크일 수 있다. 기술들은 또한, WWAN, WLAN 및/또는 WPAN의 임의의 결합과 함께 구현될 수 있다.
[0103] 모바일 디바이스는, 셀룰러 또는 다른 무선 통신 디바이스, 개인용 통신 시스템(PCS) 디바이스, 개인용 네비게이션 디바이스(PND), 개인용 정보 관리자(PIM), 개인 휴대 정보 단말(PDA), 랩탑 또는 무선 통신 및/또는 네비게이션 신호들을 수신할 수 있는 다른 적절한 모바일 디바이스와 같은 디바이스로 지칭된다. 또한, 용어 "모바일 스테이션"은, 위성 신호 수신, 보조 데이터 수신, 및/또는 포지션-관련 프로세싱이 디바이스에서 발생하는지 또는 PND에서 발생하는지에 관계없이, 예컨대 단거리 무선, 적외선, 유선 접속, 또는 다른 접속에 의해 개인용 네비게이션 디바이스(PND)와 통신하는 디바이스들을 포함하도록 의도된다. 또한, "모바일 스테이션"은 위성 신호 수신, 보조 데이터 수신, 및/또는 포지션-관련 프로세싱이 디바이스에서, 서버에서, 또는 네트워크와 연관된 다른 디바이스에서 발생하는지에 관계없이 그리고 예컨대, 인터넷, Wi-Fi, 또는 다른 네트워크를 통해 서버와의 통신이 가능한 무선 통신 디바이스들, 컴퓨터들, 랩탑들 등을 포함하는 모든 디바이스들을 포함하도록 의도된다. 또한, 상기한 것들의 임의의 동작가능한 결합이 "모바일 스테이션"으로 고려된다.
[0104] 무엇인가가 "최적화된다", "요구된다"는 지정 또는 다른 지정은 본 개시물이 최적화되는 시스템들, 또는 "요구되는" 엘리먼트들이 존재하는 시스템들(또는 다른 지정들로 인한 다른 제한)에만 적용된다는 것을 나타내는 것은 아니다. 이러한 지정들은 특정하게 설명된 구현만을 지칭한다. 물론, 많은 구현들이 가능하다. 이 기술들은, 개발 중이거나 또는 개발될 프로토콜들을 비롯하여 본원에 논의된 것 이외의 프로토콜들과 함께 사용될 수 있다.
[0105] 개시된 실시예들의 많은 가능한 변경들 및 조합들이 사용될 수 있으면서, 동일한 기본적인 근본 메커니즘들 및 방법론들을 여전히 사용한다는 것을 당업자가 인지할 것이다. 앞의 설명은, 설명을 위해서 특정 실시예들을 참고로 하여 기재하였다. 그러나, 위의 예시적인 논의는 배타적인 것으로 의도되거나 본 개시물을 개시된 정확한 형태로 제한하려고 의도되지 않는다. 상기 교시들을 고려하여 많은 변형들 및 변경들이 가능하다. 본 개시물의 원리들과 이들의 실제 응용들을 설명하고 당업자로 하여금 본 개시물과 다양한 실시예들을 참착되는 특정 용도에 맞게 다양한 변형들을 이용하여 최선으로 활용할 수 있게 하기 위해서 실시예들이 선택되고 설명되었다.
Claims (35)
- 모바일 디바이스의 포지션 특징들을 결정하는 방법으로서,
상기 모바일 디바이스로부터 뷰들(views)을 나타내는 복수의 이미지들을 캡처하는 단계;
상기 모바일 디바이스의 배향에 적어도 부분적으로 기초하여 상기 복수의 이미지들의 시점들(perspectives)을 조절하는 단계;
상기 복수의 이미지들을 이용하여 상기 모바일 디바이스의 모션 방향에 관한 오정렬 각도를 결정하는 단계; 및
저장 디바이스에 상기 오정렬 각도 및 상기 모션 방향을 저장하는 단계
를 포함하는, 모바일 디바이스의 포지션 특징들을 결정하는 방법. - 제 1 항에 있어서,
상기 복수의 이미지들의 시점들을 조절하는 단계는,
하나 또는 그 초과의 센서들로부터 수집된 데이터를 이용하여 계산된 상기 모바일 디바이스의 배향에 기초하여 상기 복수의 이미지들의 시점들을 조절하는 단계;
상기 복수의 이미지들의 센터들 부근의 구역을 이용하여 상기 복수의 이미지들의 시점들에 대해 보상하는 단계; 및
상기 복수의 이미지들의 피처들의 로케이션들의 가중화된 평균에 적어도 부분적으로 기초하여 상기 복수의 이미지들의 시점들에 대해 보상하는 단계
중 적어도 하나를 포함하는, 모바일 디바이스의 포지션 특징들을 결정하는 방법. - 제 1 항에 있어서,
상기 오정렬 각도를 결정하는 단계는,
상기 복수의 이미지들로부터 피처들을 추적하는 단계;
상기 모바일 디바이스의 모션 방향을 추정하는 단계;
센서 데이터를 이용하여 상기 모바일 디바이스의 배향을 추정하는 단계; 및
상기 모바일 디바이스의 모션 방향 및 배향에 적어도 부분적으로 기초하여 상기 오정렬 각도를 결정하는 단계
를 포함하는, 모바일 디바이스의 포지션 특징들을 결정하는 방법. - 제 3 항에 있어서,
상기 복수의 이미지들로부터 피처들을 추적하는 단계는,
상기 복수의 이미지들에서 적어도 하나의 움직이는 객체를 제거하기 위해 상기 복수의 이미지들의 피처들에서의 아웃라이어들(outliers)을 거부하는 단계를 포함하는, 모바일 디바이스의 포지션 특징들을 결정하는 방법. - 제 1 항에 있어서,
상기 모바일 디바이스의 자이로스코프(gyroscope)에 의해 제공되는 정보를 이용하여 상기 모바일 디바이스의 모션 방향에 관한 상기 오정렬 각도의 컨피던스(confidence)를 결정하는 단계;
상기 모바일 디바이스의 자력계에 의해 제공되는 정보를 사용하여 상기 모바일 디바이스의 모션 방향에 관한 상기 오정렬 각도의 컨피던스를 결정하는 단계; 및
상기 복수의 이미지들의 피처들을 이용하여 상기 모바일 디바이스의 모션 방향에 관한 상기 오정렬 각도의 컨피던스를 결정하는 단계
중 적어도 하나를 더 포함하는, 모바일 디바이스의 포지션 특징들을 결정하는 방법. - 제 1 항에 있어서,
상기 모바일 디바이스의 속도 추정을 결정하는 단계;
상기 모바일 디바이스의 상기 속도 추정의 컨피던스를 결정하는 단계; 및
상기 모바일 디바이스의 사용자에게 네비게이팅하기 위해, 상기 속도 추정 및 상기 속도 추정의 컨피던스를 적용하는 단계
를 더 포함하는, 모바일 디바이스의 포지션 특징들을 결정하는 방법. - 제 6 항에 있어서,
상기 속도 추정을 결정하는 단계는,
상기 복수의 이미지들로부터 피처들을 추출하는 단계;
상기 복수의 이미지들로부터의 상기 피처들을 사용하여 상기 모바일 디바이스의 평균 변위를 계산(computing)하는 단계; 및
상기 모바일 디바이스의 상기 평균 변위에 적어도 부분적으로 기초하여 상기 속도 추정을 계산하는 단계
를 포함하는, 모바일 디바이스의 포지션 특징들을 결정하는 방법. - 제 7 항에 있어서,
상기 속도 추정을 계산하는 단계는,
상기 복수의 이미지들로부터의 피처들을 비교하는 단계;
상기 복수의 이미지들에서 2개의 연속 이미지들 사이의 픽셀들의 간격(separation)을 결정하는 단계;
상기 2개의 연속 이미지들 사이의 시간 인터벌을 결정하는 단계; 및
상기 2개의 연속 이미지들 사이의 상기 시간 인터벌 및 상기 픽셀들의 간격에 따라, 상기 모바일 디바이스의 속도 추정을 계산(calculating)하는 단계
를 포함하는, 모바일 디바이스의 포지션 특징들을 결정하는 방법. - 제 8 항에 있어서,
상기 모바일 디바이스의 GPS 로케이션 정보 및 WIFI 로케이션 정보 중 적어도 하나에 따라 상기 모바일 디바이스의 높이를 캘리브레이팅(calibrating)하는 단계를 더 포함하는, 모바일 디바이스의 포지션 특징들을 결정하는 방법. - 제 1 항에 있어서,
상기 모바일 디바이스의 사용자에게 네비게이팅하기 위해, 상기 오정렬 각도 및 상기 오정렬 각도의 컨피던스를 적용하는 단계를 더 포함하는, 모바일 디바이스의 포지션 특징들을 결정하는 방법. - 장치로서,
프로세싱 로직을 포함하는 제어 유닛을 포함하며,
상기 프로세싱 로직은,
모바일 디바이스로부터 뷰들을 나타내는 복수의 이미지들을 캡처하도록 구성된 로직;
상기 모바일 디바이스의 배향에 적어도 부분적으로 기초하여 상기 복수의 이미지들의 시점들을 조절하도록 구성된 로직;
상기 복수의 이미지들을 이용하여 상기 모바일 디바이스의 모션 방향에 관한 오정렬 각도를 결정하도록 구성된 로직; 및
저장 디바이스에 상기 오정렬 각도 및 상기 모션 방향을 저장하도록 구성된 로직
을 포함하는, 장치. - 제 11 항에 있어서,
상기 복수의 이미지들의 시점들을 조절하도록 구성된 로직은,
하나 또는 그 초과의 센서들로부터 수집된 데이터를 이용하여 계산된 상기 모바일 디바이스의 배향에 기초하여 상기 복수의 이미지들의 시점들을 조절하도록 구성된 로직;
상기 복수의 이미지들의 센터들 부근 구역을 이용하여 상기 복수의 이미지들의 시점들에 대해 보상하도록 구성된 로직; 및
상기 복수의 이미지들의 피처들의 로케이션들의 가중화된 평균에 적어도 부분적으로 기초하여 상기 복수의 이미지들의 시점들에 대해 보상하도록 구성된 로직
중 적어도 하나를 포함하는, 장치. - 제 11 항에 있어서,
상기 오정렬 각도를 결정하도록 구성된 로직은,
상기 복수의 이미지들로부터 피처들을 추적하도록 구성된 로직;
상기 모바일 디바이스의 모션 방향을 추정하도록 구성된 로직;
센서 데이터를 이용하여 상기 모바일 디바이스의 배향을 추정하도록 구성된 로직; 및
상기 모바일 디바이스의 모션 방향 및 배향에 적어도 부분적으로 기초하여 상기 오정렬 각도를 결정하도록 구성된 로직
을 포함하는, 장치. - 제 13 항에 있어서,
상기 복수의 이미지들로부터 피처들을 추적하도록 구성된 로직은,
상기 복수의 이미지들에서 적어도 하나의 움직이는 객체를 제거하기 위해 상기 복수의 이미지들의 피처들에서의 아웃라이어들을 거부하도록 구성된 로직을 포함하는, 장치. - 제 11 항에 있어서,
상기 모바일 디바이스의 자이로스코프에 의해 제공되는 정보를 이용하여 상기 모바일 디바이스의 모션 방향에 관한 상기 오정렬 각도의 컨피던스를 결정하도록 구성된 로직;
상기 모바일 디바이스의 자력계에 의해 제공되는 정보를 사용하여 상기 모바일 디바이스의 모션 방향에 관한 상기 오정렬 각도의 컨피던스를 결정하도록 구성된 로직; 및
상기 복수의 이미지들의 피처들을 이용하여 상기 모바일 디바이스의 모션 방향에 관한 상기 오정렬 각도의 컨피던스를 결정하도록 구성된 로직
중 적어도 하나를 더 포함하는, 장치. - 제 11 항에 있어서,
상기 모바일 디바이스의 속도 추정을 결정하도록 구성된 로직;
상기 모바일 디바이스의 상기 속도 추정의 컨피던스를 결정하도록 구성된 로직; 및
상기 모바일 디바이스의 사용자에게 네비게이팅하기 위해, 상기 속도 추정 및 상기 속도 추정의 컨피던스를 적용하도록 구성된 로직
을 더 포함하는, 장치. - 제 16 항에 있어서,
속도 추정을 결정하도록 구성된 로직은,
상기 복수의 이미지들로부터 피처들을 추출하도록 구성된 로직;
상기 복수의 이미지들로부터의 상기 피처들을 사용하여 상기 모바일 디바이스의 평균 변위를 계산하도록 구성된 로직; 및
상기 모바일 디바이스의 상기 평균 변위에 적어도 부분적으로 기초하여 상기 속도 추정을 계산하도록 구성된 로직
을 포함하는, 장치. - 제 17 항에 있어서,
상기 속도 추정을 계산하도록 구성된 로직은,
상기 복수의 이미지들로부터의 피처들을 비교하도록 구성된 로직;
상기 복수의 이미지들에서 2개의 연속 이미지들 사이의 픽셀들의 간격을 결정하도록 구성된 로직;
상기 2개의 연속 이미지들 사이의 시간 인터벌을 결정하도록 구성된 로직; 및
상기 2개의 연속 이미지들 사이의 시간 인터벌 및 픽셀들의 간격에 따라, 상기 모바일 디바이스의 속도 추정을 계산하도록 구성된 로직
을 포함하는, 장치. - 제 18 항에 있어서,
상기 모바일 디바이스의 GPS 로케이션 정보 및 WIFI 로케이션 정보 중 적어도 하나에 따라 상기 모바일 디바이스의 높이를 캘리브레이팅하도록 구성된 로직을 더 포함하는, 장치. - 제 11 항에 있어서,
상기 모바일 디바이스의 사용자에게 네비게이팅하기 위해, 상기 오정렬 각도 및 상기 오정렬 각도의 컨피던스를 적용하도록 구성된 로직을 더 포함하는, 장치. - 하나 또는 그 초과의 컴퓨터 시스템들에 의한 실행을 위한 명령들을 저장하는 비-일시적 매체를 포함하는 컴퓨터 프로그램 물건으로서, 상기 명령들은,
모바일 디바이스로부터 뷰들을 나타내는 복수의 이미지들을 캡처하기 위한 명령들;
상기 모바일 디바이스의 배향에 적어도 부분적으로 기초하여 상기 복수의 이미지들의 시점들을 조절하기 위한 명령들;
상기 복수의 이미지들을 이용하여 상기 모바일 디바이스의 모션 방향에 관한 오정렬 각도를 결정하기 위한 명령들; 및
저장 디바이스에 상기 오정렬 각도 및 상기 모션 방향을 저장하기 위한 명령들
을 포함하는, 비-일시적 매체를 포함하는 컴퓨터 프로그램 물건. - 제 21 항에 있어서,
상기 복수의 이미지들의 시점들을 조절하기 위한 명령들은,
하나 또는 그 초과의 센서들로부터 수집된 데이터를 이용하여 계산된 상기 모바일 디바이스의 배향에 기초하여 상기 복수의 이미지들의 시점들을 조절하기 위한 명령들;
상기 복수의 이미지들의 센터들 부근 구역을 이용하여 상기 복수의 이미지들의 시점들에 대해 보상하기 위한 명령들; 및
상기 복수의 이미지들의 피처들의 로케이션들의 가중화된 평균에 적어도 부분적으로 기초하여 상기 복수의 이미지들의 시점들에 대해 보상하기 위한 명령들
중 적어도 하나를 포함하는, 비-일시적 매체를 포함하는 컴퓨터 프로그램 물건. - 제 21 항에 있어서,
상기 오정렬 각도를 결정하기 위한 명령들은,
상기 복수의 이미지들로부터 피처들을 추적하기 위한 명령들;
상기 모바일 디바이스의 모션 방향을 추정하기 위한 명령들;
센서 데이터를 이용하여 상기 모바일 디바이스의 배향을 추정하기 위한 명령들; 및
상기 모바일 디바이스의 모션 방향 및 배향에 적어도 부분적으로 기초하여 상기 오정렬 각도를 결정하기 위한 명령들
을 포함하는, 비-일시적 매체를 포함하는 컴퓨터 프로그램 물건. - 제 23 항에 있어서,
상기 복수의 이미지들로부터 피처들을 추적하기 위한 명령들은,
상기 복수의 이미지들에서 적어도 하나의 움직이는 객체를 제거하기 위해 상기 복수의 이미지들의 피처들에서의 아웃라이어들을 거부하기 위한 명령들을 포함하는, 비-일시적 매체를 포함하는 컴퓨터 프로그램 물건. - 제 21 항에 있어서,
상기 모바일 디바이스의 자이로스코프에 의해 제공되는 정보를 이용하여 상기 모바일 디바이스의 모션 방향에 관한 상기 오정렬 각도의 컨피던스를 결정하기 위한 명령들;
상기 모바일 디바이스의 자력계에 의해 제공되는 정보를 사용하여 상기 모바일 디바이스의 모션 방향에 관한 상기 오정렬 각도의 컨피던스를 결정하기 위한 명령들; 및
상기 복수의 이미지들의 피처들을 이용하여 상기 모바일 디바이스의 모션 방향에 관한 상기 오정렬 각도의 컨피던스를 결정하기 위한 명령들
중 적어도 하나를 더 포함하는, 비-일시적 매체를 포함하는 컴퓨터 프로그램 물건. - 제 21 항에 있어서,
상기 모바일 디바이스의 속도 추정을 결정하기 위한 명령들;
상기 모바일 디바이스의 상기 속도 추정의 컨피던스를 결정하기 위한 명령들; 및
상기 모바일 디바이스의 사용자에게 네비게이팅하기 위해, 상기 속도 추정 및 상기 속도 추정의 컨피던스를 적용하기 위한 명령들
을 더 포함하는, 비-일시적 매체를 포함하는 컴퓨터 프로그램 물건. - 제 26 항에 있어서,
상기 속도 추정을 결정하기 위한 명령들은,
상기 복수의 이미지들로부터 피처들을 추출하기 위한 명령들;
상기 복수의 이미지들로부터의 상기 피처들을 사용하여 상기 모바일 디바이스의 평균 변위를 계산하기 위한 명령들; 및
상기 모바일 디바이스의 상기 평균 변위에 적어도 부분적으로 기초하여 상기 속도 추정을 계산하기 위한 명령들
을 포함하는, 비-일시적 매체를 포함하는 컴퓨터 프로그램 물건. - 제 27 항에 있어서,
상기 속도 추정을 계산하기 위한 명령들은,
상기 복수의 이미지들로부터의 피처들을 비교하기 위한 명령들;
상기 복수의 이미지들에서 2개의 연속 이미지들 사이의 픽셀들의 간격을 결정하기 위한 명령들;
상기 2개의 연속 이미지들 사이의 시간 인터벌을 결정하기 위한 명령들; 및
상기 2개의 연속 이미지들 사이의 시간 인터벌 및 픽셀들의 간격에 따라, 상기 모바일 디바이스의 속도 추정을 계산하기 위한 명령들
을 포함하는, 비-일시적 매체를 포함하는 컴퓨터 프로그램 물건. - 제 28 항에 있어서,
상기 모바일 디바이스의 GPS 로케이션 정보 및 WIFI 로케이션 정보 중 적어도 하나에 따라 상기 모바일 디바이스의 높이를 캘리브레이팅하기 위한 명령들을 더 포함하는, 비-일시적 매체를 포함하는 컴퓨터 프로그램 물건. - 제 21 항에 있어서,
상기 모바일 디바이스의 사용자에게 네비게이팅하기 위해, 상기 오정렬 각도 및 상기 오정렬 각도의 컨피던스를 적용하기 위한 명령들을 더 포함하는, 비-일시적 매체를 포함하는 컴퓨터 프로그램 물건. - 시스템으로서,
상기 모바일 디바이스로부터 뷰들을 나타내는 복수의 이미지들을 캡처하기 위한 수단;
상기 모바일 디바이스의 배향에 적어도 부분적으로 기초하여 상기 복수의 이미지들의 시점들을 조절하기 위한 수단;
상기 복수의 이미지들을 이용하여 상기 모바일 디바이스의 모션 방향에 관한 오정렬 각도를 결정하기 위한 수단; 및
저장 디바이스에 상기 오정렬 각도 및 상기 모션 방향을 저장하기 위한 수단
을 포함하는, 시스템. - 제 31 항에 있어서,
상기 복수의 이미지들의 시점들을 조절하기 위한 수단은,
하나 또는 그 초과의 센서들로부터 수집된 데이터를 이용하여 계산된 상기 모바일 디바이스의 배향에 기초하여 상기 복수의 이미지들의 시점들을 조절하기 위한 수단;
상기 복수의 이미지들의 센터들 부근 구역을 이용하여 상기 복수의 이미지들의 시점들에 대해 보상하기 위한 수단; 및
상기 복수의 이미지들의 피처들의 로케이션들의 가중화된 평균에 적어도 부분적으로 기초하여 상기 복수의 이미지들의 시점들에 대해 보상하기 위한 수단
중 적어도 하나를 포함하는, 시스템. - 제 31 항에 있어서,
상기 오정렬 각도를 결정하기 위한 수단은,
상기 복수의 이미지들로부터 피처들을 추적하기 위한 수단;
상기 모바일 디바이스의 모션 방향을 추정하기 위한 수단;
센서 데이터를 이용하여 상기 모바일 디바이스의 배향을 추정하기 위한 수단; 및
상기 모바일 디바이스의 모션 방향 및 배향에 적어도 부분적으로 기초하여 상기 오정렬 각도를 결정하기 위한 수단
을 포함하는, 시스템. - 제 31 항에 있어서,
상기 모바일 디바이스의 자이로스코프에 의해 제공되는 정보를 이용하여 상기 모바일 디바이스의 모션 방향에 관한 상기 오정렬 각도의 컨피던스를 결정하기 위한 수단;
상기 모바일 디바이스의 자력계에 의해 제공되는 정보를 사용하여 상기 모바일 디바이스의 모션 방향에 관한 상기 오정렬 각도의 컨피던스를 결정하기 위한 수단; 및
상기 복수의 이미지들의 피처들을 이용하여 상기 모바일 디바이스의 모션 방향에 관한 상기 오정렬 각도의 컨피던스를 결정하기 위한 수단
중 적어도 하나를 더 포함하는, 시스템. - 제 31 항에 있어서,
상기 모바일 디바이스의 속도 추정을 결정하기 위한 수단;
상기 모바일 디바이스의 상기 속도 추정의 컨피던스를 결정하기 위한 수단; 및
상기 모바일 디바이스의 사용자에게 네비게이팅하기 위해, 상기 속도 추정 및 상기 속도 추정의 컨피던스를 적용하기 위한 수단
을 더 포함하는, 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/767,755 | 2013-02-14 | ||
US13/767,755 US9330471B2 (en) | 2013-02-14 | 2013-02-14 | Camera aided motion direction and speed estimation |
PCT/US2014/011687 WO2014126671A1 (en) | 2013-02-14 | 2014-01-15 | Camera aided motion direction and speed estimation |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20150120408A true KR20150120408A (ko) | 2015-10-27 |
Family
ID=50070688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157024499A KR20150120408A (ko) | 2013-02-14 | 2014-01-15 | 카메라 보조 모션 방향 및 속도 추정 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9330471B2 (ko) |
EP (1) | EP2956744A1 (ko) |
JP (1) | JP2016514251A (ko) |
KR (1) | KR20150120408A (ko) |
CN (1) | CN104981680A (ko) |
WO (1) | WO2014126671A1 (ko) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8422777B2 (en) * | 2008-10-14 | 2013-04-16 | Joshua Victor Aller | Target and method of detecting, identifying, and determining 3-D pose of the target |
JP5362878B2 (ja) * | 2012-05-09 | 2013-12-11 | 株式会社日立国際電気 | 画像処理装置及び画像処理方法 |
RU2638012C2 (ru) * | 2012-08-06 | 2017-12-08 | Конинклейке Филипс Н.В. | Уменьшение шума изображения и/или повышение разрешения изображения |
EP2984448B1 (en) * | 2013-04-08 | 2021-02-24 | SNAP Inc. | Distance estimation using multi-camera device |
WO2015039215A1 (en) * | 2013-09-17 | 2015-03-26 | Invensense, Inc. | Method and apparatus for determination of misalignment between device and pedestrian using vision |
US10302669B2 (en) * | 2013-11-01 | 2019-05-28 | Invensense, Inc. | Method and apparatus for speed or velocity estimation using optical sensor |
US10670402B2 (en) * | 2013-11-01 | 2020-06-02 | Invensense, Inc. | Systems and methods for optical sensor navigation |
DE102014004071A1 (de) * | 2014-03-20 | 2015-09-24 | Unify Gmbh & Co. Kg | Verfahren, Vorrichtung und System zur Steuerung einer Konferenz |
US10735902B1 (en) * | 2014-04-09 | 2020-08-04 | Accuware, Inc. | Method and computer program for taking action based on determined movement path of mobile devices |
WO2015162605A2 (en) | 2014-04-22 | 2015-10-29 | Snapaid Ltd | System and method for controlling a camera based on processing an image captured by other camera |
DE102015205738A1 (de) * | 2015-03-30 | 2016-10-06 | Carl Zeiss Industrielle Messtechnik Gmbh | Bewegungsmesssystem einer Maschine und Verfahren zum Betreiben des Bewegungsmesssystems |
US10419655B2 (en) | 2015-04-27 | 2019-09-17 | Snap-Aid Patents Ltd. | Estimating and using relative head pose and camera field-of-view |
US9613273B2 (en) * | 2015-05-19 | 2017-04-04 | Toyota Motor Engineering & Manufacturing North America, Inc. | Apparatus and method for object tracking |
US10184797B2 (en) * | 2015-12-18 | 2019-01-22 | Invensense, Inc. | Apparatus and methods for ultrasonic sensor navigation |
US11255663B2 (en) | 2016-03-04 | 2022-02-22 | May Patents Ltd. | Method and apparatus for cooperative usage of multiple distance meters |
US20180106618A1 (en) * | 2016-10-14 | 2018-04-19 | Westfield Retail Solutions, Inc. | Systems and methods to determine a location of a mobile device |
US10534964B2 (en) * | 2017-01-30 | 2020-01-14 | Blackberry Limited | Persistent feature descriptors for video |
US10663298B2 (en) * | 2017-06-25 | 2020-05-26 | Invensense, Inc. | Method and apparatus for characterizing platform motion |
KR102434574B1 (ko) * | 2017-08-14 | 2022-08-22 | 삼성전자주식회사 | 이미지에 포함된 특징 포인트의 시간 또는 공간의 움직임에 기초하여 이미지에 존재하는 피사체를 인식하는 장치 및 방법 |
US11175148B2 (en) * | 2017-09-28 | 2021-11-16 | Baidu Usa Llc | Systems and methods to accommodate state transitions in mapping |
CN109949412B (zh) * | 2019-03-26 | 2021-03-02 | 腾讯科技(深圳)有限公司 | 一种三维对象重建方法和装置 |
US11747142B2 (en) | 2019-04-30 | 2023-09-05 | Stmicroelectronics, Inc. | Inertial navigation system capable of dead reckoning in vehicles |
US11199410B2 (en) | 2019-04-30 | 2021-12-14 | Stmicroelectronics, Inc. | Dead reckoning by determining misalignment angle between movement direction and sensor heading direction |
US11249197B2 (en) * | 2019-05-03 | 2022-02-15 | Apple Inc. | Image-based techniques for stabilizing positioning estimates |
CN113465609B (zh) * | 2020-03-30 | 2024-08-09 | 浙江菜鸟供应链管理有限公司 | 一种针对目标对象的时序匹配方法及装置 |
US20220392051A1 (en) * | 2021-06-08 | 2022-12-08 | Samsung Electronics Co., Ltd. | Method and apparatus with image analysis |
US11792505B2 (en) * | 2021-07-06 | 2023-10-17 | Qualcomm Incorporated | Enhanced object detection |
CN116328278B (zh) * | 2023-03-06 | 2024-08-02 | 浙江大沩人工智能科技有限公司 | 一种多人跑步的实时测速方法、系统、装置和介质 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1031694C (zh) * | 1994-08-27 | 1996-05-01 | 冶金工业部建设研究总院 | 钢筋电渣压力焊熔炼型专用焊剂 |
US7774113B2 (en) * | 2002-04-10 | 2010-08-10 | Trw Limited | Cameras to determine vehicle heading |
JP4273074B2 (ja) | 2002-07-12 | 2009-06-03 | 株式会社岩根研究所 | 道路面等の平面対象物映像の平面展開画像処理方法、同逆展開画像変換処理方法及びその平面展開画像処理装置、逆展開画像変換処理装置 |
US6985240B2 (en) * | 2002-12-23 | 2006-01-10 | International Business Machines Corporation | Method and apparatus for retrieving information about an object of interest to an observer |
US7408986B2 (en) * | 2003-06-13 | 2008-08-05 | Microsoft Corporation | Increasing motion smoothness using frame interpolation with motion analysis |
JP4328173B2 (ja) * | 2003-10-08 | 2009-09-09 | クラリオン株式会社 | 車載ナビゲーション装置 |
US20050234679A1 (en) | 2004-02-13 | 2005-10-20 | Evolution Robotics, Inc. | Sequential selective integration of sensor data |
JP4167263B2 (ja) * | 2004-07-15 | 2008-10-15 | 株式会社シーアンドエヌ | 携帯端末装置 |
US7519470B2 (en) * | 2006-03-15 | 2009-04-14 | Microsoft Corporation | Location-based caching for mobile devices |
KR100922494B1 (ko) | 2007-07-19 | 2009-10-20 | 삼성전자주식회사 | 이동 로봇의 자세 측정 방법 및 상기 방법을 이용한 위치측정 방법 및 장치 |
US7895013B2 (en) * | 2008-03-18 | 2011-02-22 | Research In Motion Limited | Estimation of the speed of a mobile device |
US8098894B2 (en) * | 2008-06-20 | 2012-01-17 | Yahoo! Inc. | Mobile imaging device as navigator |
US8758275B2 (en) * | 2008-07-02 | 2014-06-24 | National Institute Of Advanced Industrial Science And Technology | Moving body posture angle processing device |
US20100053151A1 (en) * | 2008-09-02 | 2010-03-04 | Samsung Electronics Co., Ltd | In-line mediation for manipulating three-dimensional content on a display device |
KR101500741B1 (ko) * | 2008-09-12 | 2015-03-09 | 옵티스 셀룰러 테크놀로지, 엘엘씨 | 카메라가 구비된 이동 단말기 및 이의 촬영 방법 |
EP2494498B1 (en) * | 2009-10-30 | 2018-05-23 | QUALCOMM Incorporated | Method and apparatus for image detection with undesired object removal |
US8687070B2 (en) * | 2009-12-22 | 2014-04-01 | Apple Inc. | Image capture device having tilt and/or perspective correction |
US20110158473A1 (en) | 2009-12-29 | 2011-06-30 | Tsung-Ting Sun | Detecting method for detecting motion direction of portable electronic device |
US8694251B2 (en) | 2010-11-25 | 2014-04-08 | Texas Instruments Incorporated | Attitude estimation for pedestrian navigation using low cost mems accelerometer in mobile applications, and processing methods, apparatus and systems |
US9160980B2 (en) | 2011-01-11 | 2015-10-13 | Qualcomm Incorporated | Camera-based inertial sensor alignment for PND |
CA2769788C (en) | 2011-03-23 | 2019-08-13 | Trusted Positioning Inc. | Methods of attitude and misalignment estimation for constraint free portable navigation |
US20120296603A1 (en) * | 2011-05-16 | 2012-11-22 | Qualcomm Incorporated | Sensor orientation measurement with respect to pedestrian motion direction |
US20130006953A1 (en) * | 2011-06-29 | 2013-01-03 | Microsoft Corporation | Spatially organized image collections on mobile devices |
US8810649B2 (en) * | 2011-06-30 | 2014-08-19 | Qualcomm Incorporated | Navigation in buildings with rectangular floor plan |
US8194926B1 (en) | 2011-10-05 | 2012-06-05 | Google Inc. | Motion estimation for mobile device user interaction |
US10008002B2 (en) * | 2012-02-28 | 2018-06-26 | NXP Canada, Inc. | Single-camera distance estimation |
-
2013
- 2013-02-14 US US13/767,755 patent/US9330471B2/en active Active
-
2014
- 2014-01-15 KR KR1020157024499A patent/KR20150120408A/ko not_active Application Discontinuation
- 2014-01-15 WO PCT/US2014/011687 patent/WO2014126671A1/en active Application Filing
- 2014-01-15 JP JP2015558011A patent/JP2016514251A/ja not_active Ceased
- 2014-01-15 CN CN201480008543.6A patent/CN104981680A/zh active Pending
- 2014-01-15 EP EP14703478.9A patent/EP2956744A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
WO2014126671A1 (en) | 2014-08-21 |
CN104981680A (zh) | 2015-10-14 |
JP2016514251A (ja) | 2016-05-19 |
US20140226864A1 (en) | 2014-08-14 |
EP2956744A1 (en) | 2015-12-23 |
US9330471B2 (en) | 2016-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9330471B2 (en) | Camera aided motion direction and speed estimation | |
EP2915138B1 (en) | Systems and methods of merging multiple maps for computer vision based tracking | |
US10304237B2 (en) | Method and device for real-time mapping and localization | |
US9400941B2 (en) | Method of matching image features with reference features | |
EP1072014B1 (en) | Face recognition from video images | |
WO2016035324A1 (en) | Method for estimating motion, mobile agent and non-transitory computer-readable medium encoded with a computer program code for causing a processor to execute a method for estimating motion | |
US9679384B2 (en) | Method of detecting and describing features from an intensity image | |
CN109059895A (zh) | 一种基于手机摄像头和传感器的多模态室内测距及定位方法 | |
US11830218B2 (en) | Visual-inertial localisation in an existing map | |
Puwein et al. | Joint camera pose estimation and 3d human pose estimation in a multi-camera setup | |
US10607350B2 (en) | Method of detecting and describing features from an intensity image | |
Son et al. | A multi-vision sensor-based fast localization system with image matching for challenging outdoor environments | |
GB2599947A (en) | Visual-inertial localisation in an existing map | |
GB2599948A (en) | Initialising keyframes for visual-inertial localisation and/or mapping | |
KR20150082417A (ko) | 병렬화가능한 구조에서의 이미지들을 사용하여 표면 엘리먼트들의 로컬 지오메트리 또는 표면 법선들을 초기화 및 솔빙하는 방법 | |
US20160066150A1 (en) | Dynamic Configuration of a Positioning System | |
WO2023130842A1 (zh) | 一种相机位姿确定方法和装置 | |
EP1580684A1 (en) | Face recognition from video images | |
KR20210028538A (ko) | 가상 현실에서 인사이드 아웃 트래킹을 위한 imu 센서 데이터를 활용하는 가속 비전 기반 포즈 추정 방법 | |
Lehiani et al. | Object identification and tracking for steady registration in mobile augmented reality | |
Hajebi et al. | Exploiting SLAM to improve feature matching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |