KR20230007477A - 객체 바텀 위치에 기초하여 한 깊이 추정 - Google Patents
객체 바텀 위치에 기초하여 한 깊이 추정 Download PDFInfo
- Publication number
- KR20230007477A KR20230007477A KR1020227042610A KR20227042610A KR20230007477A KR 20230007477 A KR20230007477 A KR 20230007477A KR 1020227042610 A KR1020227042610 A KR 1020227042610A KR 20227042610 A KR20227042610 A KR 20227042610A KR 20230007477 A KR20230007477 A KR 20230007477A
- Authority
- KR
- South Korea
- Prior art keywords
- camera
- image data
- distance
- determining
- estimate
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/536—Depth or shape recovery from perspective effects, e.g. by using vanishing points
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/521—Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10048—Infrared image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20092—Interactive image processing based on input by user
- G06T2207/20104—Interactive definition of region of interest [ROI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Optics & Photonics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Image Analysis (AREA)
- Measurement Of Optical Distance (AREA)
Abstract
방법은 환경에서 객체를 나타내는 이미지 데이터를 카메라로부터 수신하는 단계 및 이미지 데이터에 기초하여 객체의 바텀의 이미지 데이터 내의 수직 위치를 결정하는 단계를 포함할 수 있다. 이 방법은, 이미지 데이터의 수직 위치와 높이 사이의 객체 바텀 비율을 결정하고, 거리 투영 모델을 통해 객체 바텀 비율에 기초하여 카메라와 객체 사이의 물리적 거리의 추정치를 결정하는 단계를 포함한다. 거리 투영 모델은 복수의 후보 객체 바텀 비율의 각각의 후보 객체 바텀 비율에 대해, (i) 각각의 후보 객체 바텀 비율과 (ii) 환경에서의 대응하는 물리적 거리 사이의 매핑을 정의할 수 있다. 방법은 카메라와 객체 사이의 물리적 거리의 추정치의 표시를 생성하는 단계를 추가로 포함할 수 있다.
Description
본 명세서는 객체 바텀 위치에 기초한 깊이 추정에 관한 것이다.
객체와 연관된 거리 또는 깊이를 결정하기 위해 입체 카메라가 사용될 수 있다. 구체적으로, 입체 카메라는 객체에 대한 2개 이상의 이미지를 동시에 촬영할 수 있다. 거리 또는 깊이는 스테레오스코픽 카메라의 이미지 센서들 사이의 알려진 거리 및 2개 이상의 동시 촬영된 이미지에서 객체의 표현 사이의 불일치에 기초하여 결정될 수 있다. 유사하게, 카메라는 객체의 거리 또는 깊이를 결정하기 위해 구조광 패턴 프로젝터와 함께 사용될 수 있다. 구체적으로, 거리 또는 깊이는 패턴이 다른 깊이의 객체에 투영될 때 패턴이 변형, 분산 또는 변경되는 정도에 기초하여 결정될 수 있다. 각 접근 방식에서, 깊이 또는 거리 측정에는 일부 컴퓨팅 장치에서 사용할 수 없는 이미징 하드웨어가 포함된다.
카메라에 의해 생성된 이미지 데이터는 카메라와 이미지 데이터 내에 표현된 객체 사이의 거리를 결정하는 데 사용될 수 있다. 객체까지의 추정 거리는 이미지 데이터 내에서 객체의 바텀의 수직 위치를 식별하고 수직 위치를 이미지 데이터의 전체 높이로 나누어 객체 바텀 비율을 획득함으로써 결정될 수 있다. 거리 투영 모델은 객체 바텀 비율을 카메라와 객체 사이의 물리적 거리의 대응하는 추정치에 매핑할 수 있다. 거리 투영 모델은 카메라가 환경 내의 특정 높이에 위치하고 객체의 바텀이 환경의 지표면과 접촉한다는 가정 하에 동작할 수 있다. 또한, 0이 아닌 피치 각도로 지향된 카메라에 의해 이미지 데이터가 생성되는 경우, 옵셋 계산기는 0이 아닌 카메라 피치를 보상하기 위해 객체 바텀 비율에 추가될 오프셋을 결정할 수 있다.
제1 예시적인 실시예에서, 카메라로부터 환경의 객체를 나타내는 이미지 데이터를 수신하는 단계를 포함하는 컴퓨터 구현 방법이 제공된다. 방법은 또한 이미지 데이터에 기초하여 객체의 바텀의 이미지 데이터 내의 수직 위치를 결정하는 단계 및 이미지 데이터의 수직 위치와 높이 사이의 객체 바텀 비율을 결정하는 단계를 포함한다. 이 방법은 거리 투영 모델을 통해 객체 바텀 비율에 기초하여 카메라와 객체 사이의 물리적 거리의 추정치를 결정하는 단계를 추가로 포함한다. 거리 투영 모델은 복수의 후보 객체 바텀 비율의 각각의 후보 객체 바텀 비율에 대해 (i) 각각의 후보 객체 바텀 비율과 (ii) 환경에서 대응하는 물리적 거리 사이의 매핑을 정의한다. 방법은 카메라와 객체 사이의 물리적 거리의 추정치의 표시를 생성하는 단계를 더 포함한다.
제2 예시적인 실시예에서, 카메라, 프로세서, 및 프로세서에 의해 실행될 때 프로세서가 동작을 수행하게 하는 명령어가 저장된 비일시적 컴퓨터 판독가능 저장 매체를 포함하는 컴퓨팅 시스템이 제공된다. 동작에는 카메라로부터 환경의 개체를 나타내는 이미지 데이터를 수신하는 동작이 포함된다. 동작은 또한 이미지 데이터에 기초하여 객체 바텀의 이미지 데이터 내의 수직 위치를 결정하는 동작 및 수직 위치와 이미지 데이터의 높이 사이의 객체 바텀 비율을 결정하는 동작을 포함한다. 동작은 거리 투영 모델을 통해 그리고 객체 바텀 비율에 기초하여 카메라와 객체 사이의 물리적 거리의 추정치를 결정하는 것을 추가로 포함한다. 거리 투영 모델은 복수의 후보 객체 바텀 비율의 각각의 후보 객체 바텀 비율에 대해 (i) 각각의 후보 객체 바텀 비율과 (ii) 환경에서 대응하는 물리적 거리 사이의 매핑을 정의한다. 동작은 카메라와 객체 사이의 물리적 거리의 추정치의 표시를 생성하는 동작을 더 포함한다.
제3 예시적인 실시예에서, 컴퓨팅 시스템에 의해 실행될 때 컴퓨팅 시스템이 동작을 수행하게 하는 명령어가 저장된 비일시적 컴퓨터 판독가능 저장 매체가 제공된다. 동작에는 카메라로부터 환경의 개체를 나타내는 이미지 데이터를 수신하는 동작이 포함된다. 동작은 또한 이미지 데이터에 기초하여 객체 바텀의 이미지 데이터 내의 수직 위치를 결정하는 동작 및 수직 위치와 이미지 데이터의 높이 사이의 객체 바텀 비율을 결정하는 동작을 포함한다. 동작은 거리 투영 모델을 통해 그리고 객체 바텀 비율에 기초하여 카메라와 객체 사이의 물리적 거리의 추정치를 결정하는 것을 추가로 포함한다. 거리 투영 모델은 복수의 후보 객체 바텀 비율의 각각의 후보 객체 바텀 비율에 대해 (i) 각각의 후보 객체 바텀 비율과 (ii) 환경에서 대응하는 물리적 거리 사이의 매핑을 정의한다. 동작은 카메라와 객체 사이의 물리적 거리의 추정치의 표시를 생성하는 동작을 더 포함한다.
제4 예시적인 실시예에서, 카메라로부터 환경에서 객체를 나타내는 이미지 데이터를 수신하기 위한 수단을 포함하는 시스템이 제공된다. 시스템은 또한 이미지 데이터에 기초하여 객체 바텀의 이미지 데이터 내의 수직 위치를 결정하기 위한 수단 및 이미지 데이터의 수직 위치와 높이 사이의 객체 바텀 비를 결정하기 위한 수단을 포함한다. 시스템은 거리 투영 모델을 통해 그리고 객체 바텀 비율에 기초하여 카메라와 객체 사이의 물리적 거리의 추정치를 결정하기 위한 수단을 추가로 포함한다. 거리 투영 모델은 복수의 후보 객체 바텀 비율의 각각의 후보 객체 바텀 비율에 대해 (i) 각각의 후보 객체 바텀 비율과 (ii) 환경에서 대응하는 물리적 거리 사이의 매핑을 정의한다. 시스템은 카메라와 객체 사이의 물리적 거리의 추정치의 표시를 생성하기 위한 수단을 더 포함한다.
이들 뿐만 아니라 다른 실시예, 양태, 이점 및 대안은 첨부 도면을 적절한 경우 참조하여 다음의 상세한 설명을 읽음으로써 당업자에게 명백해질 것이다. 또한, 여기에 제공된 이 요약 및 다른 설명 및 도면은 단지 예로서 실시예를 예시하기 위한 것이며, 따라서 다양한 변형이 가능하다. 예를 들어, 구조적 요소 및 프로세스 단계는 청구된 실시예의 범위 내에서 재배열, 결합, 분배, 제거 또는 달리 변경될 수 있다.
도 1은 예시적인 실시예에 따른 컴퓨팅 시스템을 도시한다.
도 2는 예시적인 실시예에 따른 컴퓨팅 장치를 도시한다.
도 3은 예시적인 실시예에 따른 객체 거리를 추정하기 위한 시스템을 도시한다.
도 4a는 예시적인 실시예에 따른 광학 모델을 도시한다.
도 4b는 예시적인 실시예에 따른, 객체 바텀 비율과 물리적 거리 사이의 매핑을 도시한다.
도 4c, 4d, 4e 및 4f는 예시적인 실시예에 따른 다양한 모델 에러를 예시한다.
도 5는 예시적인 실시예에 따른, 카메라 피치에 대한 보상을 도시한다.
도 6은 예시적인 실시예에 따른, 객체 거리를 추정하기 위한 시스템의 사용 사례를 도시한다.
도 7은 예시적인 실시예에 따른 흐름도를 도시한다.
도 2는 예시적인 실시예에 따른 컴퓨팅 장치를 도시한다.
도 3은 예시적인 실시예에 따른 객체 거리를 추정하기 위한 시스템을 도시한다.
도 4a는 예시적인 실시예에 따른 광학 모델을 도시한다.
도 4b는 예시적인 실시예에 따른, 객체 바텀 비율과 물리적 거리 사이의 매핑을 도시한다.
도 4c, 4d, 4e 및 4f는 예시적인 실시예에 따른 다양한 모델 에러를 예시한다.
도 5는 예시적인 실시예에 따른, 카메라 피치에 대한 보상을 도시한다.
도 6은 예시적인 실시예에 따른, 객체 거리를 추정하기 위한 시스템의 사용 사례를 도시한다.
도 7은 예시적인 실시예에 따른 흐름도를 도시한다.
예시적인 방법, 장치 및 시스템이 여기에 설명되어 있다. "예시" 및 "예시적인"이라는 단어는 본 명세서에서 "예시, 예 또는 도시로서 제공되는"을 의미하는 것으로 이해되어야 한다. "예시", "예시적인" 및/또는 "도시적인" 것으로 본 명세서에 설명된 임의의 실시예 또는 특징은 그렇게 언급되지 않는 한 다른 실시예 또는 특징에 비해 반드시 바람직하거나 유리한 것으로 해석되어서는 안 된다. 따라서, 본 명세서에 제시된 주제의 범위를 벗어나지 않으면서 다른 실시예가 이용될 수 있고 다른 변경이 이루어질 수 있다.
따라서, 본 명세서에 기술된 예시적인 실시예는 제한을 의미하지 않는다. 여기에서 일반적으로 설명되고 도면에 예시된 바와 같이, 본 개시내용의 양태는 매우 다양한 상이한 구성으로 배열, 대체, 결합, 분리 및 설계될 수 있다는 것이 쉽게 이해될 것이다.
또한, 문맥상 달리 제시되지 않는 한, 각 도면에 예시된 특징은 서로 조합하여 사용될 수 있다. 따라서, 도면은 일반적으로 하나 이상의 전체 실시예의 컴포넌트 측면으로 간주되어야 하며, 예시된 모든 특징이 각 실시예에 필요한 것은 아님을 이해해야 한다.
또한, 본 명세서 또는 청구범위에 있는 요소, 블록 또는 단계의 모든 열거는 명확성을 위한 것이다. 따라서 이러한 열거는 이러한 요소, 블록 또는 단계가 특정 배열을 준수하거나 특정 순서로 수행되는 것을 요구하거나 암시하는 것으로 해석되어서는 안 된다. 달리 명시되지 않는 한 수치는 축척에 맞게 그려지지 않았다.
I. 개요
모바일 및/또는 웨어러블 컴퓨팅 장치를 포함하는 컴퓨팅 장치는 환경의 이미지를 캡처하는 데 사용할 수 있는 카메라를 포함할 수 있다. 예를 들어, 카메라는 컴퓨팅 장치가 사용자에 의해 유지, 착용 및/또는 사용될 때 사용자 앞의 환경을 향할 수 있다. 따라서, 카메라와 카메라에 의해 생성된 이미지 데이터에 표현된 객체 사이의 거리를 결정하는 데 사용될 수 있는 시스템 및 동작이 여기에 제공된다. 이러한 시스템 및 동작은 예를 들어 카메라를 포함하는 컴퓨팅 장치에서 구현될 수 있으므로 이러한 컴퓨팅 장치가 환경 내의 객체까지의 거리를 측정할 수 있다. 카메라와 객체 사이의 거리는 카메라에서 생성된 이미지 데이터에 나타난 객체의 바텀 위치를 해당 물리적 거리에 매핑하여 결정할 수 있다. 이 접근 방식은 실시간으로 관심 대상의 움직이는 객체 및/또는 정적 객체의 깊이를 계산하는 비용이 적게 드는 방법을 제공할 수 있다. 상대적으로 낮은 계산 복잡성으로 인해 이러한 시스템 및 동작은 휴대 전화기 및/또는 웨어러블 장치(예: 스마트 시계, 대시보드 카메라 등)를 비롯한 저사양 장치 및/또는 전력 제한 장치에서 구현될 수 있다. 또한, 어떤 경우에는 한 번에 하나의 시점에서 환경을 나타내는 모노스코픽 카메라에 의해 생성된 이미지 데이터에 대해 시스템 및 동작이 사용될 수 있다. 따라서 예를 들어, 시스템 및 동작은 입체 카메라에 의해 생성된 입체 이미지 데이터 및/또는 패턴 광 프로젝터에 의해 투영된 구조화된 광 패턴을 포함하는 이미지 데이터에 기초한 깊이 측정의 대안으로 사용될 수 있다. 그러나 다른 경우에, 여기에 개시된 시스템 및 동작은 입체 이미지 및/또는 구조화된 광 프로젝션과 같은 거리/깊이 측정을 위한 다른 접근 방식과 조합하여 사용될 수 있다.
깊이 측정 프로세스는 카메라가 환경 내 지표면 위의 알려진 높이에 배치되어 있다고 가정할 수 있다. 예를 들어, 카메라 및/또는 카메라를 수용하는 컴퓨팅 장치는 가슴, 팔, 손목 또는 허리선과 같은 사용자 신체의 특정 위치에서 사용자에게 결합될 수 있으며, 따라서 시간이 지남에 따라 실질적으로 동일한 높이로 유지될 수 있다. 깊이 측정 프로세스는 카메라에 의해 캡처된 이미지에 대해 실행되어 환경 내의 다양한 객체까지의 거리를 결정할 수 있다. 컴퓨팅 장치는 시각적, 청각적, 촉각적 및/또는 거리의 다른 표현을 생성할 수 있다. 따라서, 예를 들어, 컴퓨팅 장치는 컴퓨팅 장치에 의해 실행되는 깊이 측정 프로세스의 도움으로 환경을 탐색하기 위해 시각 장애가 있는 사용자에 의해 사용될 수 있다.
특히, 알려진 높이에 있는 카메라로, 환경의 지표면 상의 특정 거리에 위치한 각각의 지점은 카메라의 이미지 센서 상의 대응하는 위치에 이미지를 생성하는 것과 연관되고 예상될 수 있다. 특정 거리와 이미지 센서 상의 대응하는 위치 사이의 관계는 거리 투영 모델의 일부를 형성할 수 있는 경험적으로 결정된(예를 들어, 학습된 및/또는 훈련된) 매핑으로 표시될 수 있다. 매핑은 카메라가 알려진 높이에 있다고 가정하기 때문에 카메라의 높이가 변경됨에 따라 거리 측정을 허용하기 위해 각각 다른 높이와 연관된 복수의 다른 매핑이 거리 투영 모델의 일부로 제공될 수 있다.
카메라에 의해 캡처된 이미지에 표현된 객체와 카메라 사이의 거리를 결정하기 위해, 컴퓨팅 장치는 객체의 바텀의 수직 위치를 식별하도록 구성될 수 있다. 객체의 바텀은 환경의 지표면의 어떤 지점과 접촉할 것으로 예상되고 거리 투영 모델의 매핑은 이미지 위치를 지표면의 지점 거리와 연관시키기 때문에 사용할 수 있다. 객체 바텀의 수직 위치를 이미지 높이로 나누어 객체 바텀 비율을 얻을 수 있으며, 이는 객체 바텀의 수직 위치를 이미지 높이의 일부로 나타낸다(즉, 객체 바텀 비율은 0에서 1 사이의 범위일 수 있음). 예를 들어, 픽셀의 절대 개수가 아닌 비율로 수직 위치를 인코딩함으로써, 이미지가 다운샘플링되거나 업샘플링될 때 동일한 매핑이 사용될 수 있다. 즉, 객체 바텀 비율을 사용하면 매핑이 주어진 이미지 종횡비에 대해 해상도가 변하지 않을 수 있다.
객체 바텀 비율에 기초하여, 거리 투영 모델은 객체까지의 물리적 거리의 추정치를 결정할 수 있다. 구체적으로, 거리 투영 모델은 카메라가 위치된 높이의 표시, 카메라의 방향(예: 가로 대 세로), 이미지의 종횡비, 및/또는 하나 이상의 추가 카메라 파라미터에 기초하여 사용될 특정 매핑을 선택할 수 있다. 즉, 거리 투영 모델에 의해 제공되는 각각의 매핑은 서로 다른 대응하는 카메라 파라미터 세트와 연관될 수 있다. 따라서 어떤 매핑을 사용하느냐에 따라 각각의 객체 바텀 비율은 서로 다른 거리에 매핑될 수 있다. 실제 카메라 파라미터가 매핑에 의해 가정된 카메라 파라미터와 일치하면 거리 추정치가 정확할 가능성이 높지만 이 두 카메라 파라미터 세트가 다르면 거리 추정치가 잘못될 수 있다. 추정된 거리의 에러(오차)는 두 세트의 카메라 파라미터의 대응하는 파라미터 간의 차이에 비례할 수 있다.
선택된 매핑은 객체 바텀 비율을 대응하는 물리적 거리에 맵핑함으로써 객체까지의 거리의 추정치를 결정하는데 사용될 수 있다. 특히, 경우에 따라 구조광을 투사하지 않고 모노스코픽 카메라로 이미지를 생성할 수 있으므로, 높이, 이미지 방향, 종횡비 등과 같은 카메라 파라미터의 사양은 한 쌍의 입체 이미지 또는 구조화된 조명 패턴에 의해 제공되는 깊이 신호를 대체하는 역할을 할 수 있다.
또한 카메라가 위쪽으로 기울어지면, 피사체의 바텀 위치는 이미지에서 아래쪽으로 이동한 것처럼 보일 수 있으며, 카메라를 아래쪽으로 기울이면 객체 아래쪽의 위치가 이미지에서 위쪽으로 이동하는 것처럼 보일 수 있다. 카메라 피치로 인한 객체 바텀의 이러한 명백한 변위는 오프셋 계산기로 보상될 수 있다. 구체적으로, 오프셋 계산기는 카메라 피치 각도의 탄젠트와 경험적으로 결정된 카메라의 초점 거리의 곱에 기초하여 객체 바텀 비율로 표현되는 추정된 오프셋을 결정할 수 있다. 추정된 오프셋은 객체 바텀 비율에 추가될 수 있고 이 합은 거리 투영 모델에 대한 입력으로 제공될 수 있다. 추정된 오프셋을 추가하면 카메라가 0 피치 각도에 있는 경우 바텀이 있을 위치로 객체 바텀의 수직 위치를 다시 이동시키는 효과가 있을 수 있다.
II. 컴퓨팅 장치의 예
도 1은 컴퓨팅 시스템(100)의 예시적인 폼 팩터(form factor)를 도시한다. 컴퓨팅 시스템(100)은 예를 들어, 모바일 폰, 태블릿 컴퓨터, 또는 웨어러블 컴퓨팅 장치일 수 있다. 그러나, 다른 실시예가 가능하다. 컴퓨팅 시스템(100)은 본체(102), 디스플레이(106), 및 버튼(108, 110)과 같은 다양한 요소를 포함할 수 있다. 컴퓨팅 시스템(100)은 전면 카메라(104), 후면 카메라(112), 전면 적외선 카메라(114), 및 적외선 패턴 프로젝터(116)를 더 포함할 수 있다.
전면 카메라(104)는 동작하는 동안 일반적으로 사용자를 향하는 본체(바디)(102)의 측면(예를 들어, 디스플레이(106)과 동일한 측면)에 위치될 수 있다. 후방 카메라(112)는 전방 카메라(104) 반대편 본체(102)의 측면에 위치될 수 있다. 카메라를 전면 및 후면을 향하게 하는 것은 임의적이며, 컴퓨팅 시스템(100)은 본체(102)의 다양한 측면에 위치된 다중 카메라를 포함할 수 있다. 전면 카메라(104) 및 후면 카메라(112)는 각각 가시 광선 스펙트럼의 이미지를 캡처하도록 구성될 수 있다.
디스플레이(106)는 음극선관(CRT) 디스플레이, 발광 다이오드(LED) 디스플레이, 액정(LCD) 디스플레이, 플라즈마 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 당업계에 알려진 임의의 다른 유형의 디스플레이를 나타낼 수 있다. 일부 실시양태에서, 디스플레이(106)는 전면 카메라(104), 후면 카메라(112) 및/또는 적외선 카메라(114)에 의해 캡처되는 현재 이미지의 디지털 표현을 표시할 수 있고/있거나 이러한 카메라 중 하나 이상에서 캡처할 수 있거나 최근에 캡처한 이미지를 표시할 수 있다. 따라서, 디스플레이(106)는 카메라에 대한 뷰파인더로서 기능할 수 있다. 디스플레이(106)는 또한 컴퓨팅 시스템(100)의 임의의 양상의 설정 및/또는 구성을 조정할 수 있는 터치스크린 기능을 지원할 수 있다.
전면 카메라(104)는 이미지 센서 및 렌즈와 같은 관련 광학 요소를 포함할 수 있다. 전면 카메라(104)는 줌 기능을 제공하거나 고정된 초점 거리를 가질 수 있다. 다른 실시예에서, 교환 가능한 렌즈는 전면 카메라(104)와 함께 사용될 수 있다. 전면 카메라(104)는 가변 기계적 조리개 및 기계적 및/또는 전자적 셔터를 가질 수 있다. 전면 카메라(104)는 또한 스틸 이미지, 비디오 이미지, 또는 둘 다를 캡처하도록 구성될 수 있다. 또한, 전면 카메라(104)는 모노스코픽, 스테레오스코픽 또는 멀티스코픽 카메라를 나타낼 수 있다. 후방 카메라(112) 및/또는 적외선 카메라(114)는 유사하게 또는 상이하게 배열될 수 있다. 추가적으로, 전방 카메라(104), 후방 카메라(112), 또는 적외선 카메라(114) 중 하나 이상은 하나 이상의 카메라 어레이일 수 있다.
전면 카메라(104) 및 후면 카메라(112) 중 어느 하나 또는 둘 모두는 표적 객체를 조명하기 위해 가시광 스펙트럼의 라이트 필드를 제공하는 조명 컴포넌트를 포함하거나 이와 연관될 수 있다. 예를 들어, 조명 컴포넌트는 대상 객체의 플래시 또는 일정한 조명을 제공할 수 있다. 조명 컴포넌트는 또한 구조화된 광, 편광된 광, 및 특정 스펙트럼 콘텐츠를 갖는 광 중 하나 이상을 포함하는 광 필드를 제공하도록 구성될 수 있다. 객체로부터 3차원(3D) 모델을 복구하기 위해 알려져 있고 사용되는 다른 유형의 광 필드는 본 명세서의 실시예의 맥락 내에서 가능하다.
적외선 패턴 프로젝터(116)는 적외선 구조화된 광 패턴을 대상 객체에 투사하도록 구성될 수 있다. 일 예에서, 적외선 프로젝터(116)는 도트 패턴(dot pattern) 및/또는 플러드 패턴(flood pattern)을 투사하도록 구성될 수 있다. 따라서, 적외선 프로젝터(116)는 적외선 카메라(114)와 함께 사용되어 대상(타겟) 객체의 상이한 물리적 특징에 대응하는 복수의 깊이 값을 결정할 수 있다.
즉, 적외선 프로젝터(116)는 알려진 및/또는 미리 결정된 점 패턴을 대상 객체에 투영할 수 있고, 적외선 카메라(114)는 투영된 점 패턴을 포함하는 대상 객체의 적외선 이미지를 캡처할 수 있다. 컴퓨팅 시스템(100)은 캡처된 적외선 이미지의 영역과 투영된 도트 패턴의 특정 부분 사이의 대응 관계를 결정할 수 있다. 적외선 프로젝터(116)의 위치, 적외선 카메라(114)의 위치, 그리고 촬영된 적외선 이미지 내에서 투영된 도트 패턴의 특정 부분에 대응하는 영역의 위치가 주어지면, 컴퓨팅 시스템(100)은 그 다음 타겟 객체의 표면에 대한 깊이를 추정하기 위해 삼각측량을 사용할 수 있다. 투영된 도트 패턴의 상이한 부분에 대응하는 상이한 영역에 대해 반복함으로써, 컴퓨팅 시스템(100)은 다양한 물리적 특징 또는 대상 객체의 부분의 깊이를 추정할 수 있다. 이러한 방식으로, 컴퓨팅 시스템(100)은 타겟(대상) 객체의 3차원(3D) 모델을 생성하기 위해 사용될 수 있다.
컴퓨팅 시스템(100)은 또한 연속적으로 또는 때때로 카메라(104, 112, 및/또는 114)가 캡처할 수 있는 장면의 주변 밝기(예: 가시광선 및/또는 적외선 측면에서)를 결정할 수 있는 주변 광 센서를 포함할 수 있다. 일부 구현들에서, 주변 광 센서는 디스플레이(106)의 디스플레이 밝기를 조정하기 위해 사용될 수 있다. 또한, 주변 광 센서는 카메라(104, 112, 114) 중 하나 이상의 노출 길이를 결정하거나 이 결정을 돕기 위해 사용될 수 있다.
컴퓨팅 시스템(100)은 타겟 객체의 이미지를 캡처하기 위해 디스플레이(106) 및 전면 카메라(104), 후면 카메라(112), 및/또는 전면 적외선 카메라(114)를 사용하도록 구성될 수 있다. 캡처된 이미지는 복수의 정지 이미지 또는 비디오 스트림일 수 있다. 이미지 캡처는 버튼(108)을 활성화하거나 디스플레이(106)의 소프트키를 누르거나 다른 메커니즘에 의해 트리거될 수 있다. 구현에 따라, 이미지는 특정 시간 간격, 예를 들어 버튼(108)을 누를 때, 대상 객체의 적절한 조명 조건에 따라, 디지털 카메라 장치(100)를 미리 결정된 거리로 이동할 때, 또는 미리 결정된 캡처 일정에 따라 자동으로 캡처될 수 있다.
위에서 언급한 바와 같이, 컴퓨팅 시스템(100)의 기능은 무선 컴퓨팅 장치, 휴대 전화, 태블릿 컴퓨터, 랩톱 컴퓨터 등과 같은 컴퓨팅 장치에 통합될 수 있다. 예를 들어, 도 2는 카메라 컴포넌트(224)를 포함할 수 있는 예시적인 컴퓨팅 장치(200)의 컴포넌트 중 일부를 보여주는 단순화된 블록도이다.
예를 들어 제한 없이, 컴퓨팅 장치(200)는 셀룰러 모바일 전화(예를 들어, 스마트폰), 스틸 카메라, 비디오 카메라, 컴퓨터(데스크탑, 노트북, 태블릿, 휴대용 컴퓨터 등), 개인 디지털 비서(PDA), 홈 오토메이션 컴포넌트, 디지털 비디오 레코더(DVR), 디지털 텔레비전, 리모콘, 웨어러블 컴퓨팅 장치, 게임 콘솔, 로봇 장치, 또는 적어도 일부 이미지 캡처 및/또는 이미지 처리 기능을 갖춘 다른 유형의 장치일 수 있다. 컴퓨팅 장치(200)는 물리적 이미지 처리 시스템, 이미지 검출 및 처리 애플리케이션이 소프트웨어에서 작동하는 특정 물리적 하드웨어 플랫폼, 또는 이미지 캡처 및/또는 처리 기능을 수행하도록 구성된 하드웨어 및 소프트웨어의 기타 조합일 수 있다.
도 2와 같이, 컴퓨팅 장치(200)는 통신 인터페이스(202), 사용자 인터페이스(204), 프로세서(206), 데이터 저장 장치(208), 및 카메라 컴포넌트(224)를 포함할 수 있고, 이들 모두는 시스템 버스, 네트워크, 또는 다른 연결 메커니즘(210)에 의해 함께 통신적으로 링크될 수 있다.
통신 인터페이스(202)는 컴퓨팅 장치(200)가 아날로그 또는 디지털 변조를 사용하여 다른 디바이스, 액세스 네트워크, 및/또는 전송 네트워크와 통신하는 것을 허용할 수 있다. 따라서, 통신 인터페이스(202)는 POTS(Plain Old Telephone Service) 통신 및/또는 인터넷 프로토콜(IP) 또는 다른 패킷화된 통신과 같은 회선 교환 및/또는 패킷 교환 통신을 용이하게 할 수 있다. 예를 들어, 통신 인터페이스(202)는 무선 액세스 네트워크 또는 액세스 포인트와의 무선 통신을 위해 배열된 칩셋 및 안테나를 포함할 수 있다. 또한, 통신 인터페이스(202)는 이더넷, USB(Universal Serial Bus), 또는 HDMI(High-Definition Multimedia Interface) 포트와 같은 유선 인터페이스의 형태를 취하거나 이를 포함할 수 있다. 통신 인터페이스(202)는 또한 무선 인터페이스의 형태를 취하거나 Wi-Fi, BLUETOOTH®, GPS(글로벌 포지셔닝 시스템) 또는 광역 무선 인터페이스(예: WiMAX 또는 3GPP LTE(Long-Term Evolution))를 포함할 수 있다. 그러나, 다른 형태의 물리 계층 인터페이스 및 다른 유형의 표준 또는 독점 통신 프로토콜이 통신 인터페이스(202)를 통해 사용될 수 있다. 또한, 통신 인터페이스(202)는 복수의 물리적 통신 인터페이스를 포함할 수 있다(예: Wi-Fi 인터페이스, BLUETOOTH® 인터페이스 및 광역 무선 인터페이스).
사용자 인터페이스(204)는 컴퓨팅 장치(200)가 사용자로부터 입력을 수신하고 사용자에게 출력을 제공하는 것과 같이 인간 또는 비인간 사용자와 상호작용할 수 있게 하는 기능을 할 수 있다. 따라서, 사용자 인터페이스(204)는 키패드, 키보드, 터치 감응 패널, 컴퓨터 마우스, 트랙볼, 조이스틱, 마이크로폰 등과 같은 입력 컴포넌트를 포함할 수 있다. 사용자 인터페이스(204)는 또한 예를 들어 터치 감응 패널과 결합될 수 있는 디스플레이 스크린과 같은 하나 이상의 출력 컴포넌트를 포함할 수 있다. 디스플레이 화면은 CRT, LCD 및/또는 LED 기술, 또는 현재 알려졌거나 나중에 개발될 기타 기술을 기반으로 할 수 있다. 사용자 인터페이스(204)는 또한 스피커, 스피커 잭, 오디오 출력 포트, 오디오 출력 장치, 이어폰, 및/또는 기타 유사한 장치를 통해 가청 출력(들)을 생성하도록 구성될 수 있다. 사용자 인터페이스(204)는 또한 마이크로폰 및/또는 기타 유사한 장치를 통해 가청 발화(들), 잡음(들), 및/또는 신호(들)를 수신 및/또는 캡처하도록 구성될 수 있다.
일부 실시예에서, 사용자 인터페이스(204)는 컴퓨팅 장치(200)에 의해 지원되는 스틸 카메라 및/또는 비디오 카메라 기능(예를 들어, 가시광선 및 적외선 스펙트럼 모두에서)을 위한 뷰파인더 역할을 하는 디스플레이를 포함할 수 있다. 추가적으로, 사용자 인터페이스(204)는 카메라 기능의 구성 및 포커싱 및 이미지 캡처를 용이하게 하는 하나 이상의 버튼, 스위치, 노브, 및/또는 다이얼을 포함할 수 있다. 이러한 버튼, 스위치, 노브 및/또는 다이얼 중 일부 또는 전체가 터치 검출 패널을 통해 구현될 수 있다.
프로세서(206)는 하나 이상의 범용 프로세서(예: 마이크로프로세서) 및/또는 하나 이상의 특수 목적 프로세서(예: 디지털 신호 프로세서(DSP), 그래픽 처리 장치(GPU), FPU(floating point units), 네트워크 프로세서, ASIC(주문형 집적 회로를 포함할 수 있다. 어떤 경우에는 특수 목적 프로세서가 다른 가능성 중에서 이미지 처리, 이미지 정렬 및 이미지 병합이 가능할 수 있다. 데이터 저장소(스토리지)(208)는 자기, 광학, 플래시, 또는 유기 스토리지와 같은 하나 이상의 휘발성 및/또는 비휘발성 스토리지 컴포넌트를 포함할 수 있고 프로세서(206)와 전체적으로 또는 부분적으로 통합될 수 있다. 데이터 저장소(208)는 착탈식 및/또는 착탈식 컴포넌트를 포함할 수 있다.
프로세서(206)는 데이터 저장소(208)에 저장된 프로그램 명령어(218) (예: 컴파일되거나 컴파일되지 않은 프로그램 논리 및/또는 기계어 코드)을 실행하여 여기에 설명된 다양한 기능을 수행할 수 있다. 그러므로, 데이터 저장소(208)는 컴퓨팅 장치(200)에 의해 실행될 때, 컴퓨팅 장치(200)가 본 명세서 및/또는 첨부 도면에 개시된 방법, 프로세스 또는 동작 중 임의의 것을 수행하게 한다. 프로세서(206)에 의한 프로그램 명령어(218)의 실행은 데이터(212)를 사용하는 프로세서(206)를 초래할 수 있다.
예를 들어, 프로그램 명령어(218)는 운영 체제(222)(예: 운영 체제 커널, 장치 드라이버 및/또는 기타 모듈) 및 컴퓨팅 장치(200)에 설치된 하나 이상의 애플리케이션 프로그램(220)(예: 카메라 기능, 주소록, 이메일, 웹 브라우징, 소셜 네트워킹, 오디오-텍스트 기능, 텍스트 번역 기능 및/또는 게임 애플리케이션)을 포함할 수 있다. 유사하게, 데이터(212)는 운영 체제 데이터(216) 및 애플리케이션 데이터(214)를 포함할 수 있다. 운영 체제 데이터(216)는 주로 운영 체제(222)에 액세스할 수 있고, 애플리케이션 데이터(214)는 주로 하나 이상의 애플리케이션 프로그램(220)에 액세스할 수 있다. 애플리케이션 데이터(214)는 컴퓨팅 장치(200)의 사용자에게 보이거나 숨겨진 파일 시스템에 배열될 수 있다.
애플리케이션 프로그램(220)은 하나 이상의 애플리케이션 프로그래밍 인터페이스(API)를 통해 운영 체제(222)와 통신할 수 있다. 이러한 API는, 예를 들어, 애플리케이션 데이터(214)를 판독 및/또는 기록하고, 통신 인터페이스(202)를 통해 정보를 전송 또는 수신하고, 사용자 인터페이스(204)에 대한 정보를 수신 및/또는 표시하는 등의 애플리케이션 프로그램(220)을 용이하게 할 수 있다.
일부 언어에서는 애플리케이션 프로그램(220)을 줄여서 "앱"이라고 할 수 있다. 추가적으로, 애플리케이션 프로그램(220)은 하나 이상의 온라인 애플리케이션 스토어 또는 애플리케이션 시장을 통해 컴퓨팅 장치(200)에 다운로드 가능할 수 있다. 그러나, 애플리케이션 프로그램은 웹 브라우저를 통해 또는 컴퓨팅 장치(200) 상의 물리적 인터페이스(예를 들어, USB 포트)를 통해, 다른 방식으로 컴퓨팅 장치(200)에 설치될 수도 있다.
카메라 컴포넌트(224)는 조리개, 셔터, 기록 표면(예를 들어, 사진 필름 및/또는 이미지 센서), 렌즈, 셔터 버튼, 적외선 프로젝터, 및/또는 가시광선 프로젝터를 포함할 수 있지만 이에 제한되지 않는다. 카메라 컴포넌트(224)는 가시광선 스펙트럼(예: 380 - 700 나노미터의 파장을 갖는 전자기 복사)의 이미지를 캡처하도록 구성된 컴포넌트 및 적외선 스펙트럼 (예: 701나노미터 - 1밀리미터의 파장을 갖는 전자기 복사)의 이미지를 캡처하도록 구성된 컴포넌트를 포함할 수 있다. 카메라 컴포넌트(224)는 프로세서(206)에 의해 실행되는 소프트웨어에 의해 적어도 부분적으로 제어될 수 있다.
III. 깊이 측정 시스템의 예
도 3은 환경 내에서 카메라와 하나 이상의 객체 사이의 물리적 거리 추정치를 결정하는 데 사용할 수 있는 예시적인 시스템을 보여준다. 구체적으로, 시스템(340)은 객체 바텀 검출기(308), 객체 바텀 비율 계산기(310), 오프셋 계산기(312), 및 거리 투영 모델(314)을 포함할 수 있고, 이들 각각은 여기에 설명된 각각의 동작을 수행하도록 구성된 하드웨어 컴포넌트 및/또는 소프트웨어 컴포넌트의 조합을 나타낼 수 있다. 시스템(340)은 입력 이미지 데이터(300) 및 카메라의 파라미터를 나타내는 메타데이터를 수신하도록 구성될 수 있다. 메타데이터는 이미지 데이터(300)의 캡처 시에 카메라 피치(306)와 같은 카메라의 포즈에 관한 정보를 포함할 수 있다. 이미지 데이터(300)는 객체(302-304)와 같은 하나 이상의 객체를 그 안에 나타낼 수 있다. 객체(302-304)는 다른 가능성 중에서 인간, 동물, 차량, 로봇 장치, 우편함, 포스트(예: 가로등 기둥, 신호등 기둥 등), 및/또는 벤치와 같은 환경의 다양한 이동 및/또는 고정 특징을 포함할 수 있다.
객체 바텀 검출기(308)는 이미지 데이터(300) 내의 객체 바텀의 수직 위치를 검출하도록 구성될 수 있다. 일부 구현에서, 수직 위치는 픽셀로 표현될 수 있다. 예를 들어, 객체 바텀 검출기(308)는 객체(302)의 바텀이 이미지 데이터(300)의 바텀보다 250픽셀 위에 위치한다고 결정할 수 있다. 객체 바텀 검출기(308)는 (i) 이미지 데이터(300) 내에서 객체(302)를 검출하고, (ii) 이미지 데이터(300) 내의 객체(302)의 검출에 기초하여 이미지 데이터(300) 내의 객체(302)의 바텀을 검출하고, (iii) 객체(302)의 바텀이 환경의 지표면에 위치하는지 결정하도록 구성된 하나 이상의 알고리즘을 구현할 수 있다. 객체 바텀 검출기(308)는 객체(304) 및/또는 이미지 데이터(300)에 의해 표현되는 임의의 다른 객체에 대해 상응하는 동작을 수행할 수 있다. 객체(302)가 사람인 경우, 객체 바텀 검출기(308)의 하나 이상의 알고리즘은 사람을 검출하고, 사람의 발 및/또는 신발을 검출하고, 발 및/또는 신발(즉, 이미지 데이터(300) 내의 인간의 바텀)이 지표면과 접촉하고 있다고 결정하도록 구성될 수 있다. 유사하게, 객체(304)가 차량인 경우, 객체 바텀 검출기(308)의 하나 이상의 알고리즘은 차량을 검출하고, 차량의 바퀴 및/또는 타이어를 검출하고, 바퀴 및/또는 타이어가 지표면과 접촉하고 있다고 결정하도록 구성될 수 있다. 하나 이상의 알고리즘은 다양한 이미지 처리 알고리즘, 컴퓨터 비전 알고리즘 및/또는 기계 학습 알고리즘을 포함할 수 있다.
객체 바텀 검출기(308)는 객체 바텀 비율 계산기(310)에 객체 바텀의 수직 위치를 제공하도록 구성될 수 있다. 객체 바텀 비율 계산기(310)는 객체(예를 들어, 객체(302))의 바텀의 수직 위치와 이미지 데이터(300)의 높이 사이의 비율을 계산하도록 구성될 수 있다. 구체적으로, 객체 바텀 비율 계산기는 함수 b=v/h를 구현할 수 있으며, 여기서 b는 객체 바텀 비율, v는 객체 바텀의 수직 위치, h는 이미지 데이터(300)의 높이이다. 이를 위해, 객체 바텀 비율 계산기(310)는 이미지 데이터(300)와 연관된 메타데이터에 기초하여 이미지 데이터(300)의 방향(orientation)을 결정할 수 있다. 구체적으로, 객체 바텀 비율 계산기(310)는 이미지 데이터(300)가 가로 방향(즉, 이미지 데이터(300)의 긴 면이 수평으로 배향됨) 또는 세로 방향(즉, 이미지 데이터(300)의 긴 면이 수직으로 배향됨)으로 촬영되었는지 여부를 결정할 수 있다. 따라서 객체 바텀 비율 계산기는 이미지 데이터(300)의 방향에 기초하여 h의 값을 설정할 수 있다. 예를 들어, 3840 x 2160 픽셀의 해상도를 갖는 이미지 데이터(300)의 경우, 이미지 데이터(300)의 높이(h)는 이미지 데이터(300)가 세로 이미지인 경우 3480픽셀로 설정되거나, 이미지 데이터(300)가 가로 이미지인 경우 2160픽셀로 설정될 수 있다.
거리 투영 모델(314)은 이미지 데이터(300)에 표현된 객체(예를 들어, 객체(302))와 이미지 데이터(300)를 생성한 카메라 사이의 추정된 물리적 거리(336)를 결정하도록 구성될 수 있다. 구체적으로, 거리 투영 모델(314)은 카메라 피치(306)를 설명하기 위해 객체 바텀 비율 계산기에 의해 계산된 객체 바텀 비율과 오프셋 계산기(312)에 의해 계산된 객체 바텀 비율에 대한 추정된 오프셋의 합에 기초하여 추정된 물리적 거리(336)를 결정할 수 있다.
오프셋 계산기(312)는 카메라 피치(306)에 기초하여 0이 아닌 카메라 피치 각도를 설명하기 위해 객체 바텀 비율이 이동/조정될 양 또는 오프셋을 결정하도록 구성될 수 있다. 구체적으로, 거리 투영 모델(DISTANCE PROJECTION MODEL)(314)은 카메라의 광축이 환경의 지표면에 실질적으로 평행하게 배향된 동안 이미지 데이터(300)가 캡처되었다는 가정 하에 구현될 수 있다. 카메라가 양의 피치 각도까지 기울어짐에 따라, 객체 바텀 비율 계산기(310)에 의해 계산된 객체 바텀 비율은 객체 바텀 비율이 0 피치 각도에서 있었던 것에 비해 감소한다. 마찬가지로 카메라가 음의 피치 각도로 기울어지면, 객체 바텀 비율 계산기(310)에 의해 계산된 객체 바텀 비율은 객체 바텀 비율이 0 피치 각도에서 있었던 것에 비해 증가한다. 따라서, 오프셋 계산기(312)가 없으면, 추정된 물리적 거리(336)는 도 4e 및 4f에 대해 도시되고 설명된 바와 같이 양의 피치 각도에서 과소추정(underestimate)되고 음의 피치 각도에서 과대추정(overestimate)될 수 있다.
오프셋 계산기(312)는 따라서 거리 투영 모델(314)이 카메라 피치(306)를 보정함으로써 정확한 거리 추정치를 생성하도록 할 수 있다. 수정 프로세스는 도 5와 관련하여 더 자세히 설명되고 논의된다. 객체 바텀 비율 계산기(310)에 의해 결정된 객체 바텀 비율과 오프셋 계산기(312)에 의해 계산된 추정된 오프셋이 합해질 수 있고, 이 합은 거리 투영 모델(314)에 대한 입력으로서 제공될 수 있다.
거리 프로젝션 모델(314)은 복수의 매핑(316-326)을 포함할 수 있고, 매핑(316-326) 중 하나 이상을 통해 추정된 물리적 거리(336)를 결정할 수 있다. 매핑(316-326) 각각은 복수의 객체 바텀 비율을 복수의 대응하는 물리적 객체 거리와 연관시킬 수 있다. 예를 들어, 매핑(316)은 객체 바텀 비율(318-322)을 대응하는 물리적 객체 거리(320-324)와 연관시킬 수 있다. 유사하게, 매핑(326)은 객체 바텀 비율(328-332)을 대응하는 물리적 객체 거리(330-334)와 연관시킬 수 있다. 매핑(316-326)과 연관된 객체 바텀 비율(예: 객체 바텀 비율(318 - 322 및 238 - 332))은 각각이 추정된 물리적 거리(336)를 결정하기 위해 잠재적으로 사용될 수 있기 때문에 후보 객체 바텀 비율로 지칭될 수 있다.
매핑(316-326) 각각은 대응하는 카메라 파라미터 세트와 연관될 수 있으며, 이는 예를 들어, 이미지 데이터(300)의 방향(orientation)(즉, 가로 또는 세로), 이미지 데이터(300)를 촬영할 때 카메라가 배치된 환경에서의 높이, 이미지 데이터(300)를 캡처하는 데 사용되는 카메라의 FOV(field of view)(예: 카메라 이미지 센서의 치수와 카메라 렌즈의 광학적 속성으로 정의됨), 및/또는 다른 가능성들 중에서 이미지 데이터(300)의 종횡비(aspect ratio)를 포함할 수 있다. 따라서, 매핑(316 내지 326) 중 하나가 선택되어 이미지 데이터(300)와 연관된 메타데이터의 일부로서 표시될 수 있는 이미지 데이터(300)와 연관된 카메라 파라미터의 값에 기초하여 추정된 물리적 거리(336)를 결정할 수 있다. 따라서, 객체 바텀 비율(318-322)은 객체 바텀 비율(328-332)과 유사하거나, 중첩되거나 동일할 수 있지만, 객체 바텀 비율(318-322)은 객체 바텀 비율(328-332)과 물리적 객체 거리의 상이한 세트에 매핑될 수 있다. 즉, 물리적 객체 거리(320-324)는 물리적 객체 거리(330-334)와 다를 수 있지만, 이 두 세트는 중첩될 수 있다.
IV. 깊이 측정을 위한 예시 모델
도 4a는 카메라의 기하학적 모델의 예를 보여준다. 기하학적 모델은 거리 투영 모델(314)의 매핑(316-326)을 생성하기 위한 기초로서 사용될 수 있다. 구체적으로, 도 4a는 지표면(406)을 포함하는 환경에 배치된 이미지 센서(400) 및 조리개(aperture)(402)를 예시한다. 이미지 센서(400) 및 조리개(402)는 도 4a에서 지표면(406)에 대해 실질적으로 평행하게 진행하는 광축(404)을 정의한다. 이미지 센서(400)(즉, 수직 중심)는 지표면(406) 위의 높이 H에 배치되고, 조리개(402)는 이미지 센서(400)에 대해 (초점) 거리 f에 위치된다.
복수의 라인은 환경의 지표면(406) 상의 각각의 지점으로부터 조리개(402)를 통해 이미지 센서(400) 상의 대응하는 지점으로 투영된다. 구체적으로, 복수의 라인은 1미터 라인, 5미터 라인, 10미터 라인, 20미터 라인, 30미터 라인 및 무한 기준 라인을 포함한다. 예를 들어, 5미터 라인(즉, D=5미터)은 이미지 센서(400)의 중심에 대한 수직 위치 d에 대응하고 이미지를 생성하고 광축(404)과 각도 θ를 형성한다. 1미터 라인은 이미지 센서(400)의 최상부 부분으로 투영되기 때문에 관찰가능 및/또는 측정가능할 수 있는 객체와 조리개(402) 사이의 최소 거리에 대응한다. 무한대 기준 라인은 환경에서 관측 가능한 최대 거리, 수평 라인까지의 거리, 임계 거리 값을 초과하는 거리, 및/또는 무한 거리에 해당할 수 있다. 예를 들어, 무한대 기준 라인은 무한대 기준 라인이 지표면(406) 위에서 시작될 때 무한 거리와 연관될 수 있으며, 따라서 지표면(406)을 따라 측정 가능한 거리와 연관되지 않는다. 무한대 기준 라인은 광축(404)과 거의 일치하는 것으로 도 4a에 도시되어 있다. 무한대 기준 라인의 오른쪽 부분은 광축(404) 약간 아래로 떨어지는 것으로 그려지고 무한대 기준 라인의 왼쪽은 광축(404)과 무한대 기준 라인을 시각적으로 구별하기 위해 광축(404) 약간 위로 떨어지는 것으로 그려진다. 따라서, 도 4a에 도시된 구성에서, 무한대 기준 라인은 이미지 센서(400)의 대략 중심에 해당하는 이미지를 생성한다. 이미지 센서(400)의 높이(H)가 도 4a에 도시된 것보다 증가함에 따라(예를 들어, 카메라가 항공기에 장착된 경우), 무한대 기준 라인에 의해 생성된 이미지는 이미지 센서(400)를 따라 위로 이동할 수 있다. 유사하게, 이미지 센서(400)의 높이(H)가 도 4a에 도시된 것보다 감소함에 따라(예를 들어, 카메라가 바텀 청소 로봇에 장착된 경우), 무한대 기준 라인에 의해 생성된 이미지는 이미지 센서(400)를 따라 아래로 이동할 수 있다. 따라서, 무한대 기준 라인은 높이(H)가 변화함에 따라 광축(404)에서 벗어날 수 있다. 1미터 라인, 5미터 라인, 10미터 라인, 20미터 라인 및/또는 30미터 라인에 대응하는 이미지의 이미지 센서(400) 상의 각각의 위치는 이미지 센서(400)의 높이(H)의 변화에 유사하게 반응할 수 있다.
도 4a의 예시적인 기하학적 모델은 깊이 결정에 사용되는 이미지 데이터를 생성하는 데 사용될 수 있는 렌즈와 같은 카메라의 일부 컴포넌트를 생략한다. 따라서 이 예제 기하학적 모델은 일부 카메라의 정확한 표현이 아닐 수 있으며 기하학적 모델을 명시적으로 사용하여 객체 거리를 계산하면 잘못된 거리 추정치가 발생할 수 있다. 그럼에도 불구하고, 기하학적 모델은 이미지 센서(400) 상의 수직 위치와 환경 내에서 지표면(406)을 따른 대응하는 물리적 거리 사이에 비선형 관계가 있음을 예시한다(예: , 또는 ). 따라서, 비선형 수치 모델(예: 거리 투영 모델(314))은 훈련 데이터에 기초하여 경험적으로 결정되어 도 4a의 기하학적 모델의 부정확성을 수정하고 이미지 센서(400)의 위치를 지표면(406)을 따라 대응하는 물리적 거리에 정확하게 매핑할 수 있다.
또한, 도 4a의 기하학적 모델은,
카메라의 높이 H(예를 들어, 이미지 센서(400)의 높이 및/또는 조리개(402)), 거리(f), 각도(θ), 카메라의 FOV(field of view)(이미지 센서(400)의 크기, 이미지 센서(400)에 빛의 초점을 맞추는 데 사용되는 렌즈, 및/또는 렌즈에 의해 생성된 줌 레벨에 의해 정의됨), 이미지 데이터가 생성되는 이미지 센서(400)의 부분(예를 들어, 이미지 데이터의 종횡비), 및/또는 이미지 센서(400)의 방향(예: 가로 대 세로)을 포함하는 일부 카메라 파라미터의 변화가 지표면(406)을 따른 물리적 거리와 이미지 센서(400) 상의 위치 사이의 관계(예: 매핑)를 변경할 수 있음을 보여준다. 따라서, 이러한 카메라 파라미터는 정확한 거리 추정치를 생성하기 위해 비선형 수치 모델에 의해 설명될 수 있다.
구체적으로, 매핑(316-326) 각각은 카메라 파라미터의 특정 세트에 대응할 수 있고, 특정 세트의 카메라 파라미터를 갖는 카메라에 대해 정확한 거리 추정치를 생성할 수 있지만 다른 카메라 파라미터 세트를 갖는 다른 카메라가 사용되는 경우 부정확할 수 있다. 따라서, 매핑(316-326) 중 하나는 이미지 데이터(300)를 생성하기 위해 사용된 카메라와 연관된 실제 카메라 파라미터의 세트에 기초하여 선택될 수 있다. 구체적으로, 실제 카메라 파라미터 세트와 가장 근접하게 일치하는 카메라 파라미터와 연관된 매핑이 선택될 수 있다.
예를 들어, 매핑(316-326)의 제1 매핑은 제1 카메라가 장착된 제1 모바일 디바이스(모바일 장치)에 대응하는 카메라 파라미터의 제1 세트와 연관될 수 있고, 매핑(316-326)의 제2 매핑은 제1 카메라와 다른 제2 카메라가 장착된 제2 모바일 디바이스에 대응하는 카메라 파라미터의 제2 세트와 연관될 수 있다.
따라서, 제1 매핑은 제1 모바일 디바이스에 의해 생성된 이미지 데이터에 나타난 객체들까지의 거리를 측정하는 데 사용될 수 있는 반면, 제2 매핑은 제2 모바일 디바이스에 의해 생성된 이미지 데이터에 나타난 객체들까지의 거리를 측정하는 데 사용될 수 있다. 복수의 상이한 모바일 디바이스가 각각 유사하거나 실질적으로 동일한 카메라 파라미터 세트를 갖는 카메라를 사용하는 경우, 복수의 상이한 모바일 디바이스에 의해 하나의 매핑이 사용될 수 있다. 추가적으로, 각각의 카메라는 복수의 상이한 높이(H)에 위치될 수 있기 때문에, 각각의 카메라는 각각 상이한 높이에 대응하는 복수의 매핑과 연관될 수 있다.
도 4b는 객체 바텀 비율과 물리적 거리 간의 매핑 예를 그래픽으로 나타낸 것이다. 매핑은 이미지 센서(400) 상의 수직 위치를 픽셀로 표현하기 보다는 해당 객체 바텀 비율로 수직 위치를 표현할 수 있다. 이렇게 하면 매핑이 이미지 데이터 해상도에 변함없이 유지된다. 따라서, 이러한 매핑은 객체와 연관된 객체 바텀 비율이 변경되지 않기 때문에 (이미지가 잘리지 않았거나 종횡비가 동일하게 유지된다고 가정) 이미지 데이터가 다운샘플링 또는 업샘플링됨에 따라 객체 거리를 결정하는 데 사용될 수 있다.
구체적으로, 사용자 인터페이스(UI)(410)는 0.0, 0.25, 0.35, 0.24, 0.47 및 0.5를 포함하는 각각의 객체 바텀 비율에 대응하는 복수의 수평 라인을 도시한다. 특히, 0.5의 객체 바텀 비율과 연관된 수평 라인은 UI(410)를 대략 동일한 상부(top) 및 바텀 절반으로 나누는 UI(410)의 대략 중간에 위치된다. UI(412)는 1미터, 5미터, 10미터, 20미터, 30미터 및 무한대를 포함하는 대응하는 물리적 거리로 라벨링된 UI(410)와 동일한 복수의 라인을 예시한다. 즉, 객체 바텀 비율 0.0, 0.25, 0.35, 0.24, 0.47, 0.5는 1미터, 5미터, 10미터, 20미터, 30미터의 물리적 거리와 도 4a의 무한대 기준 라인(예: infinity)과 연관된 거리에 해당한다. 객체 바텀 비율은 거리 투영 모델(314)의 매핑(316-326) 중 하나를 나타낼 수 있는 함수 F(b)에 의해 대응하는(해당) 거리에 매핑될 수 있다.
UI(410 및 412)는 또한 사람을 나타낼 수 있는 객체(414)를 포함하는 이미지 데이터를 표시한다. 바운딩 박스(416)는 객체(414)를 둘러싼다. 바운딩 박스(416)는 객체 바텀 검출기(308)에 의해 구현된 제1 알고리즘의 출력을 나타낼 수 있고 객체 바텀 검출기(308)에 의해 구현된 제2 알고리즘에 대한 검색 영역을 정의하는데 사용될 수 있다. 예를 들어, 바운딩 박스(416)는 인간의 표현을 포함하도록 제1 알고리즘에 의해 결정된 관심 영역을 정의할 수 있다. 바운딩 박스(416)는 바텀을 식별하기 위한 시도에서 인간의 발 및/또는 신발을 식별하도록 구성된 제2 알고리즘에 대한 입력으로서 제공될 수 있다. 따라서, 바운딩 박스(416)는 객체 바텀을 찾을 때 제2 알고리즘에 의해 고려되는 검색 공간을 감소시킬 수 있다. 추가적으로, 바운딩 박스(416)가 객체 라벨 또는 분류(예를 들어, 인간, 차량, 동물 등)와 연관될 때, 라벨은 그 라벨과 연관된 객체의 바텀을 찾기 위한 적절한 알고리즘을 선택하기 위해 사용될 수 있다. 예를 들어, 경계 박스(416)가 자동차의 표현을 포함하는 것으로 분류될 때, 사람의 발 및/또는 신발을 찾는 알고리즘보다는 자동차 바퀴 및/또는 타이어를 찾는 알고리즘이 객체 바텀을 검색하도록 선택될 수 있다.
UI(410 및 412)는 객체(414)의 바텀에 대응하는 라인을 추가로 예시한다. UI(410)에서 이 라인은 0.31의 객체 바텀 비율로 레이블이 지정되고(객체(414)의 바텀이 UI(410)의 바텀에서 위로 올라가는 길이의 1/3보다 약간 아래에 위치함을 나타냄) UI(412)에서는 6미터의 거리로 레이블이 지정된다. 경우에 따라, 0.31의 객체 바텀 비율 및 이에 대응하는 라인은 객체 바텀 비율 계산기(310) 및/또는 오프셋 계산기(312)의 출력을 나타낼 수 있다. 0.31의 객체 바텀 비율은 함수 F(b)를 통해 6미터의 해당 물리적 거리에 매핑될 수 있다.
F(b)는 경험적 훈련 데이터에 기초하여 결정될 수 있다. 예를 들어, 복수의 물리적 거리는 카메라에 대해 측정되고 환경 내에서 시각적으로 표시될 수 있다. 카메라는 이러한 시각적으로 표시된 거리를 나타내는 훈련 이미지 데이터를 캡처하는 데 사용할 수 있다. 훈련 이미지 데이터를 촬영하는 동안 카메라는 환경 내에서 미리 정해진 높이에 배치될 수 있다. 따라서, 이 훈련 이미지 데이터에 기초하여 훈련된 함수 또는 매핑은, (i) 동일한 카메라 또는 유사하거나 실질적으로 동일한 카메라 파라미터 세트를 갖는 다른 카메라를 사용하여 그리고 (ii) 유사하거나 실질적으로 동일한 미리 결정된 높이에 위치된 거리에 대한 측정에 유효할 수 있다. 추가 함수 또는 매핑은 다른 세트의 카메라 파라미터를 갖는 카메라 및/또는 다른 높이에 위치된 동일한 카메라를 사용하여 얻은 훈련 데이터에 기반한 유사한 절차를 사용하여 결정될 수 있다.
한 예에서, 함수 F(b)는 와 같은 다항식 모델로 공식화될 수 있으며, b는 객체 바텀 비율을 나타내고, 은 경험적으로 결정된 계수를 나타낸다. 훈련 데이터에 기초하여, 복수의 물리적 거리()와 연관된 복수의 객체 바텀 비율()은 계수를 결정하기 위해 사용될 수 있ㅇ으며, 여기서 이다. 구체적으로, 은 A에 대한 방정식 을 풀어서 계산될 수 있으며, 여기서 는 와 동일하다. 따라서, 는 로 다시 작성될 수 있다. 훈련 데이터에 기초하여 계수 이 결정되면, 함수 F(b)는 객체와 연관된 객체 바텀 비율에 기초하여 카메라와 객체 사이의 물리적 거리를 결정하는 데 사용될 수 있다. 특히, 이고, 여기서 이고, 그리고 는 추정된 물리적 거리(336)에 해당하는 스칼라 값이다.
다른 예들에서, 함수 F(b)는 인공 지능(AI) 및/또는 기계 학습(ML) 모델로서 구현될 수 있다. 예를 들어, 인공 신경망(ANN)은 객체 바텀 비율과 물리적 거리 간의 매핑을 구현하는 데 사용될 수 있다. 일부 구현들에서, 카메라 파라미터들의 각각의 세트는 대응하는 ANN과 연관될 수 있다. 즉, 매핑(316-326) 각각은 카메라 파라미터의 대응하는 세트와 함께 카메라에 의해 캡처된 이미지 데이터를 사용하여 훈련된 별도의 ANN을 나타낼 수 있다. 다른 구현들에서, 단일 ANN은 매핑들(316-326) 각각을 동시에 구현할 수 있다. 이를 위해, 이 ANN은 카메라 파라미터의 적어도 서브세트를 입력으로 수신하도록 구성될 수 있으며, 이는 ANN이 입력 객체 바텀 비율을 대응하는 물리적 거리에 매핑하는 방법을 조정할 수 있다. 따라서, ANN은 각각의 후보 객체 바텀 비율을 복수의 물리적 거리에 매핑하도록 구성될 수 있고, 특정 객체 바텀 비율에 대한 특정 물리적 거리는 카메라 파라미터의 값에 기초하여 ANN에 의해 선택될 수 있다.
특히, 거리 투영 모델(314)은 구조화된 광에 의존하지 않고 모노스코픽 카메라를 사용하여 캡처된 하나의 가시광 스펙트럼 이미지에 기초하여 객체와 연관된 거리를 결정하도록 구성될 수 있다. 즉, 입체 이미지 데이터를 이용하거나 소정의 패턴을 환경에 투영하지 않고 거리를 결정할 수 있다. 대신, 객체까지의 거리를 정확하게 결정하기 위해, 거리 투영 모델(314) 및/또는 오프셋 계산기(312)는 카메라의 다른 양태들 중에서 환경 및/또는 카메라의 광학적 특성에 대한 카메라의 포즈를 정의하는 카메라 파라미터에 기초하여 객체 거리를 추정할 수 있다. 카메라의 포즈가 변경되거나 다른 카메라를 사용함에 따라, 카메라 파라미터는 거리 투영 모델(314) 및/또는 오프셋 계산기(312)가 예를 들어 적절한 매핑을 사용함으로써 이러한 차이를 보상할 수 있도록 업데이트될 수 있다. 그러나 일부 경우에 시스템(340)은 입체 이미지 데이터 및/또는 구조화된 광 프로젝션에 의존하는 다른 깊이 결정 방법과 조합하여 사용될 수 있다.
V. 예제 모델 에러 및 에러 수정
도 4c, 4d, 4e 및 4f는 실제 카메라 파라미터가 거리 투영 모델(314)에 의해 가정되거나 사용되는 카메라 파라미터에서 벗어날 때 발생할 수 있는 에러를 예시한다. 구체적으로, 도 4c의 상단 부분은 라인(418)에 의해 표시된 바와 같이, 광학 축(404)이 비례하는 양만큼 위쪽으로 이동(상향 이동)하는 결과를 초래하는 높이 H에서 높이 H'로 위쪽으로 이동된 이미지 센서(400)를 도시한다. 이러한 상향 이동(shift) 없이, 이미지 센서(400)에 가장 가까운 객체(414)의 바텀 부분은 라인(422)으로 표시된 바와 같이 중심 위의 거리 d에서 이미지 센서(400) 상의 이미지를 생성할 것이다. 그러나, 상향 이동(시프트)은 라인(420)으로 표시된 바와 같이 이미지 센서(400)의 중심 위의 거리 d'(d보다 큼)에서 대신 생성되는 이미지를 초래한다.
조리개(402)와 객체(414) 사이의 거리 D를 계산하는 데 사용된 매핑이 높이 H'가 아니라 높이 H에 해당하는 경우, 매핑은 객체(414)가 거리 D가 아니라 도 4c의 바텀 부분에 예시된 바와 같이 거리 D'에 위치한다고 잘못 결정할 수 있다. 구체적으로, 도 4c의 바텀 부분은 라인(418)이 광축(404)과 일치하고 라인(420)이 이미지 센서(400) 상의 동일한 지점으로부터 지표면 상의 거리 D가 아니라 거리 D'까지 이어지도록 다시 아래로 이동(시프트)된 이미지 센서(400)를 도시한다. 거리 D'가 거리 D보다 짧기 때문에 거리 추정치가 과소추정된다. 이 에러는 H가 아닌 H'의 카메라 높이에 해당하는 매핑을 사용하여 줄이거나 최소화하거나 피할 수 있다.
유사하게, 도 4d의 상부는 라인(424)에 의해 표시된 바와 같이, 광축(404)이 비례량만큼 아래로 이동하는 결과를 초래하는 높이 H에서 높이 H''로 하향 이동된 이미지 센서(400)를 도시한다. 이러한 하향 이동 없이, 이미지 센서(400)에 가장 가까운 객체(414)의 바텀 부분은 라인(422)으로 표시된 바와 같이 중심 위의 거리 d에서 이미지 센서(400) 상의 이미지를 생성할 것이다. 그러나, 하향 이동은 라인(426)으로 표시된 바와 같이 이미지 센서(400)의 중심 위의 거리 d''(d보다 작음)에서 대신 생성되는 이미지를 초래한다.
조리개(402)와 객체(414) 사이의 거리 D를 계산하는 데 사용된 매핑이 높이 H''가 아니라 높이 H에 해당하는 경우, 매핑은 객체(414)가 거리 D가 아니라 도 4d의 바텀(하단) 부분에 예시된 바와 같이 거리 D''에 위치한다고 잘못 결정할 수 있다. 구체적으로, 도 4d의 바텀 부분은 라인(424)이 광축(404)과 일치하고 라인(426)이 이미지 센서(400) 상의 동일한 지점으로부터 지표면 상의 거리 D가 아니라 거리 D''까지 이어지도록 위로 이동(시프트)된 이미지 센서(400)를 도시한다. 거리 D''가 거리 D보다 길어서 거리 추정치가 과대추정되었다. 이 에러는 H가 아닌 H''의 카메라 높이에 해당하는 매핑을 사용하여 줄이거나 최소화하거나 피할 수 있다.
일부 구현에서, 시스템(340)은 이미지 센서(400)를 포함하는 카메라의 높이가 지정될 수 있는 방식으로 사용자 인터페이스를 제공하도록 구성될 수 있다. 높이의 이 사양(specification)에 기초하여, 대응하는 매핑은 추정된 물리적 거리(336)를 결정하는데 사용될 매핑(316-326)으로부터 선택될 수 있다. 따라서, 도 3의 시스템(340)은 이미지 센서(400)가 지정된 높이에서 또는 그 근처에서 유지되는 동안 물리적 거리의 정확한 추정치를 생성할 수 있다. 그러나, 이미지 센서(400)가 지정된 높이에서 벗어나므로 물리적 거리의 추정치가 잘못될 수 있고, 에러의 크기는 지정된 높이와 이미지 센서(400)를 포함하는 카메라의 실제 높이 간의 차이에 비례할 수 있다.
다른 구현에서, 카메라는 카메라의 높이, 즉 이미지 센서(400)의 높이를 측정하도록 구성된 장치를 장착할 수 있다. 예를 들어, 카메라는 발광기에 의해 방출되고 지표면에서 반사되고 광 검출기에 의해 검출되는 빛의 비행 시간(time-of-flight)에 기초하여 높이의 측정을 허용하도록 구성된 발광기 및 광 검출기를 포함할 수 있다. 관성 측정 장치(IMU)는 비행 시간 측정시 카메라, 발광기 및/또는 광 검출기의 방향을 검출하여 측정된 거리가 실제로 높이인지 확인하는 데 사용할 수 있다. 구체적으로, 비행 시간 측정은 IMU에 의해 검출된 중력 벡터에 평행한 방향으로 빛이 방출될 때의 높이를 나타낼 수 있다. 따라서, 대응하는 매핑은 높이의 측정에 기초하여 매핑들(316-326)로부터 선택될 수 있다. 카메라 높이의 변화가 검출되면 업데이트된 매핑이 선택되어 매핑에 의해 추정된 높이가 카메라의 실제 높이와 일치하도록 유지되므로 정확한 거리 측정이 가능하다.
도 4e의 상부는 라인(428)으로 표시된 바와 같이 광축(404)이 위쪽으로 피치되는 결과를 초래하는 0 피치 각도에서 양의 피치 각도 φ까지 위쪽으로 기울어진 이미지 센서(400)를 도시한다. 조리개(402)의 높이(H)(따라서 카메라의 유효 높이)는 상향 기울기(upward tilt)에 의해 변경되지 않을 수 있다. 이러한 상향 기울기가 없으면, 도 4c 및 4d에서와 같이 이미지 센서(400)에 가장 가까운 객체(414)의 바텀 부분은 그 중심 위의 거리 d에서 이미지 센서(400) 상의 이미지를 생성할 것이다. 그러나, 상향 기울기는 라인(430)으로 표시된 바와 같이 이미지 센서(400)의 중심 위의 거리 s'(d보다 큼)에서 대신 생성되는 이미지를 초래한다.
이미지 센서(400)에 대한 객체(414)의 바텀 위치에 대한 피치 각도(φ)의 효과가 보정되지 않은 경우, 거리 투영 모델(314)은 객체(414)가 거리 D가 아니라 도 4e의 바텀 부분에 예시된 바와 같이 거리 S'에 위치한다고 잘못 결정할 수 있다. 구체적으로, 도 4e의 바텀 부분은 라인(428)이 광축(404)과 일치하고 라인(430)이 이미지 센서(400)의 동일한 지점에서 지표면의 거리 D가 아니라 거리 S'까지 이어지도록 다시 아래로 기울어진 이미지 센서(400)를 도시한다. 거리 S'가 거리 D보다 짧기 때문에 거리 추정치가 과소추정된다. 이 에러는 객체(414)에 대해 결정된 객체 바텀 비율에 추정된 오프셋을 추가함으로써 감소, 최소화 또는 회피될 수 있으며, 그에 따라 객체 바텀 비율을 피치 각도(φ)가 0인 경우로 이동한다.
또한, 도 4f의 상단 부분은 라인(432)으로 표시된 바와 같이 광축(404)이 아래쪽으로 피치되는 결과를 초래하는 0 피치 각도에서 음의 피치 각도 α로 아래쪽으로 기울어진(하향 기울기) 이미지 센서(400)를 도시한다. 조리개(402)의 높이(H)는 하향 기울기에 의해 변경되지 않을 수 있다. 이러한 하향 기울기가 없으면, 도 4c 및 4d에서와 같이 이미지 센서(400)에 가장 가까운 객체(414)의 바텀 부분은 그 중심 위의 거리 d에서 이미지 센서(400) 상의 이미지를 생성할 것이다. 그러나, 하향 기울기는 라인(434)에 의해 표시된 바와 같이 이미지 센서(400)의 중심 위의 거리 s''(d보다 작은)에서 대신 생성되는 이미지를 초래한다.
이미지 센서(400)에 대한 객체(414)의 바텀 위치에 대한 피치 각도(α)의 효과가 보정되지 않은 경우, 거리 투영 모델(314)은 객체(414)가 거리 D가 아니라 도 4f의 바텀 부분에 예시된 바와 같이 거리 S''에 위치한다고 잘못 결정할 수 있다. 구체적으로, 도 4f의 바텀 부분은 라인(432)이 광축(404)과 일치하고 라인(434)이 이미지 센서(400) 상의 동일한 지점으로부터 지표면 상의 거리 D가 아니라 거리 S''까지 이어지도록 위로 기울어진 이미지 센서(400)를 도시한다. 거리 S''가 거리 D보다 길어서 거리 추정치가 과대추정되었다. 이 에러는 객체(414)에 대해 결정된 객체 바텀 비율에 추정된 오프셋을 추가함으로써 감소, 최소화 또는 회피될 수 있으며, 이에 의해 객체 바텀 비율을 피치 각도(α)가 0인 경우로 이동한다.
VI. 피치 각도 보정의 예
도 5는 카메라의 0이 아닌 피치 각도를 보정(보상)하기 위한 예시적인 접근 방식을 보여준다. 구체적으로, 도 5는 광학 축(504A)이 환경의 지표면에 평행하게 진행하도록(예: 환경의 중력 벡터에 수직으로 진행) 0 피치 각도로 각각 방향(500A 및 502A)에 위치된 카메라의 이미지 센서(500) 및 조리개(502)를 도시한다. 무한대 기준 라인(520)은 이미지 센서(500)가 방향 500A에서 방향 500B로 아래로 기울어지고/거나 방향 500A에서 방향 500C로 위로 기울어짐에 따라, 이미지 센서(500)에 대한 무한대 기준 라인(520)의 명백한 위치 변화를 예시하기 위해 이미지 센서(500)를 통해 투영된 것으로 도시되어 있다. 추가적으로, 도 5에서, 무한대 기준 라인(520)은 광축(504A)과 일치하는 것으로 도시되어 있고 따라서 이미지 센서(500)가 배향(500A)에 있을 때 0.5의 객체 바텀 비율에 대응한다. 그러나, 이미지 센서(500)가 방향(500A)에 남아 있는 상태에서 이미지 센서(500)의 높이가 변경됨에 따라, 무한대 기준 라인(520)은 광축(504A)에서 벗어날 수 있고 상이한 객체 바텀 비율(예를 들어, 높이에 따라 0.0에서 1.0까지)에 대응할 수 있다.
이미지 센서(500) 및 조리개(502)가 각각 방향 500A 및 502A에서 방향 500C 및 502C로 위쪽으로 기울어짐에 따라 무한 기준 라인(520)은 이미지 센서(500)에 대해 위쪽으로 이동한다. 이러한 상향 기울기 동안, 조리개(502)는 기준 트레이스(trace)(506) 내에서 회전하고 이미지 센서(500)는 카메라의 초점 길이 f와 동일한 반경을 갖는 초점 트레이스(508)를 따라 이동한다. 따라서 상향 기울기는 지표면에 대한 카메라의 높이 H를 일정하게 유지하면서 피치 각도의 양의 변화를 나타낸다. 양의 피치 각도는 앙각(elevation angles)으로 간주될 수 있는 반면 음의 피치 각도는 내림각(depression angles)으로 간주될 수 있다.
방향(orientations)(500C)의 이미지 센서(500)에서, 무한대 기준 라인(520)은 이미지 센서(500)의 최상부 부분과 일치한다. 따라서, 방향(500C)에서, 무한대 기준 라인(520)은 대응하는 이미지 데이터(512) 내에서 의 화면 비율만큼 아래쪽으로 이동(시프트)된다. 무한대 기준 라인(520)은 이미지 센서(500)에 형성된 이미지가 상하(즉, 반전)되어 있기 때문에 이미지 데이터(512) 내에서 위쪽이 아니라 아래쪽으로 시프트되고, 따라서 이미지 센서(500)의 출력은 이미지 데이터가 디스플레이될 때 객체가 오른쪽이 위로 보이도록 반전된다. 이미지 센서(500)가 방향(500A)에 있을 때 무한대 기준 라인(520)이 이미지 센서(500)의 중앙과 일치할 때, 는 0.5와 같을 수 있다. 그러나, 는 이미지 센서(500)가 환경에 배치되는 높이에 따라 다른 값을 취할 수 있다.
유사하게, 이미지 센서(500) 및 조리개(502)가 각각 방향 500A 및 502A에서 각각 방향 500B 및 502B로 아래쪽으로 기울어짐에 따라, 무한대 기준 라인(520)은 이미지 센서(500)에 대해 아래쪽으로 이동한다. 이러한 하향 기울기 동안, 조리개(502)는 기준 트레이스(506) 내에서 회전하고 이미지 센서(500)는 초점 트레이스(focal trace)(508)를 따라 이동한다. 따라서 하향 기울기는 지표면에 대한 카메라의 높이 H를 일정하게 유지하면서 피치 각도의 음의 변화를 나타낸다. 방향(배향)(500B)의 이미지 센서(500)에서, 무한대 기준 라인(520)은 이미지 센서(500)의 최하부 부분과 일치한다. 따라서, 방향(500B)에서, 무한대 기준 라인(520)은 대응하는 이미지 데이터(510) 내에서 의 화면 비율만큼 위쪽으로 시프트된다. 무한대 기준 라인(520)은 이미지 센서(500)에 형성된 이미지의 반전으로 인해 이미지 데이터(510) 내에서 아래쪽이 아니라 위쪽으로 이동(시프트)된다.
이미지 센서(500)가 방향(500A)에 있을 때 무한 기준 라인(520)이 이미지 센서(500)의 중앙과 일치할 때, 는 0.5와 같을 수 있다. 다만, 는 이미지 센서(500)의 높이에 따라 다른 값을 가질 수 있다. 이미지 센서(500)가 위치하는 높이와 상관없이, 와 의 합은 1.0일 수 있다.
기하학적 모델(514)은 이미지 센서(500)의 방향(500B 및 500C)을 예시하고, 카메라의 피치 각도의 변화를 보상하기 위해 사용될 수 있는 수학적 관계를 결정하는 데 사용될 수 있다. 구체적으로, 기하학적 모델(514)은 방향(500B)이 음의 피치 각도 , 방향(504B)에 대한 광축(504A)의 회전, 및 에 의한 무한대 기준 라인(520)과 연관된 객체 바텀 비율의 오프셋에 대응한다는 것을 예시한다. 따라서 이고, 이다. 따라서, 과 사이의 피치 각도 θ에 의한 카메라(즉, 이미지 센서(500) 및 조리개(502))의 회전에 대해, 객체 바텀 비율 Δb의 오프셋은 또는 동등하게 로 모델링된다. 이 방정식은 이미지 데이터(300)와 연관된 카메라 피치(306)를 보상하는 추정된 오프셋을 결정하기 위해 오프셋 계산기(312)에 의해 사용되거나 구현될 수 있다. 추정된 오프셋(Δb)은 (예를 들어, 픽셀 수가 아닌) 객체 바텀 비율로 계산되므로, 추정된 오프셋(Δb)은 객체 바텀 비율 계산기(310)에 의해 계산된 객체 바텀 비율에 직접 추가될 수 있다.
특히 대칭형 카메라의 경우, 및 은 크기는 같지만 카메라 피치의 방향이 다를 수 있다. 따라서, 위와 같은 가 아닌 에 기초하여 해당 수학적 관계를 결정할 수 있다. 구체적으로, 방향(500C)은 양의 피치 각도 , 방향(504C)에 대한 광축(504A)의 회전, 및 만큼 무한대 기준 라인(520)과 연관된 객체 바텀 비율의 오프셋에 대응한다. 따라서 이고, 이다. 따라서, 과 사이의 피치각 θ만큼 이미지 센서(500)의 회전에 대해, 객체 바텀 비율 Δb의 오프셋은 또는 동등하게 에 의해 모델링된다. 추정된 오프셋 Δb는 양의 피치 각도에 대해 양수일 수 있고(오프셋과 합산될 때 객체 바텀 비율이 증가하는 결과를 낳음) 음의 피치 각도에 대해 음수일 수 있다(오프셋과 합산하면 객체 바텀 비율이 감소함).
및 의 값은 카메라에 대한 보정 절차를 통해 경험적으로 결정될 수 있다. 보정 절차 동안, 무한 기준 라인(520)이 각각 이미지 센서(500)의 하단 또는 상단으로 이동될 때까지 카메라가 아래로 또는 위로 기울어질 수 있으며, 결과적으로 오프셋이 이미지(510 또는 512)에 각각 도시된다. 즉, 상기 보정은 이미지 센서(500)와 조리개(502)를 방향 500B 및 502B에 각각 배치하고, 및 의 값을 측정하거나 방향 500C 및 502C에서 및 의 값을 측정함으로써 수행될 수 있다. 및 의 결정된 값은, 유사하거나 실질적으로 동일한 렌즈, 유사하거나 실질적으로 동일한 센서 크기(즉, 길이와 너비), 유사하거나 실질적으로 동일한 초점 거리 f, 및/또는 생성된 이미지 데이터의 유사하거나 실질적으로 동일한 종횡비를 포함하는 광학 컴포넌트의 유사하거나 실질적으로 동일한 배열을 갖는 카메라에 대해 유효할 수 있다. 이러한 카메라 파라미터 중 하나 이상이 다를 때, 및 의 값은 경험적으로 다시 결정될 수 있다.
VII. 사용 사례 예시
도 6은 여기에 개시된 깊이 결정 모델, 시스템, 장치 및 기술에 대한 예시적인 사용 사례를 도시한다. 구체적으로, 도 6은 대략 가슴 높이에서 컴퓨팅 장치(602)를 착용한 사용자(600)를 도시한다. 컴퓨팅 장치(602)는 컴퓨팅 시스템(100) 및/또는 컴퓨팅 장치(200)에 대응할 수 있고, 카메라 및 시스템(340)의 구현을 포함할 수 있다. 컴퓨팅 장치(602)는 랜야드, 코드, 스트랩, 또는 다른 연결 메커니즘을 통해 사용자(600)의 목에 걸 수 있다. 대안적으로, 컴퓨팅 장치(602)는 상이한 위치에서 및/또는 상이한 연결 메커니즘을 통해 사용자(600)의 신체에 연결될 수 있다. 따라서, 사용자(600)가 환경을 걷는 동안, 컴퓨팅 장치(602) 및 그 카메라는 환경의 지표면 위의 실질적으로 고정된 높이(사용자(600)의 움직임으로 인한 일부 높이 변동을 허용함)에 위치될 수 있다. 따라서, 거리 투영 모델(314)은 매핑(316-326)으로부터 이 실질적으로 고정된 높이에 대응하는 매핑을 선택할 수 있고, 따라서 환경 내에서 검출된 객체까지의 거리를 결정하는데 사용될 수 있다.
구체적으로, 컴퓨팅 장치(602) 상의 카메라는 FOV(field of view)(시야)(604)에 의해 표시된 바와 같이 객체(606)를 포함하는 환경을 나타내는 이미지 데이터를 캡처할 수 있다. 이미지 데이터(300)에 대응할 수 있는 이 이미지 데이터에 기초하여, 도 3의 시스템(340)은 객체(606)와 컴퓨팅 장치(602), 그의 카메라, 및/또는 사용자(600) 사이의 추정된 물리적 거리(336)를 결정하는데 사용될 수 있다. 추정된 물리적 거리(336)에 기초하여, 컴퓨팅 장치(602)는 물리적 거리(336)의 표현을 생성하도록 구성될 수 있다. 표현은 무엇보다도 시각적, 청각적 및/또는 촉각적일 수 있다. 따라서, 여기에서 논의된 깊이 결정 기술은, 예를 들어 시각 장애가 있는 개인이 환경에 있는 다양한 객체까지의 거리를 사용자에게 알려줌으로써 환경을 트래버스(traverse)하는 것을 돕기 위해 사용될 수 있다.
예를 들어, 컴퓨팅 장치(602)는 그 디스플레이 상에 객체(606)의 디스플레이된 표현에 근접한 추정된 물리적 거리(336)의 표시를 디스플레이할 수 있고, 그에 의해 객체(606)가 추정된 물리적 거리(336)만큼 컴퓨팅 장치(602)로부터 수평으로 분리되어 있음을 나타낼 수 있다. 다른 예에서, 컴퓨팅 장치(602)는 추정된 물리적 거리(336)를 나타내는 발화를 하나 이상의 화자를 통해 생성할 수 있다. 일부 경우에, 이 발화는 또한 객체(예를 들어, 인간, 차량, 동물, 정지된 객체 등)의 분류 및/또는 컴퓨팅 장치(602)의 화면(스크린)의 수직 중심선에 대한 객체(606)의 수평 방향을 나타낼 수 있다. 따라서 발화는 예를 들어 "Box at 2m, 1 o'clock(2미터, 1시 방향에 박스)"일 수 있다. 여기서 1시(1 o'clock)는 시계 위치를 사용하여 수직 중심선을 기준으로 30도의 수평 방향을 나타낸다. 추가 예에서, 추정된 물리적 거리(336)의 햅틱 표현은 컴퓨팅 장치(602)의 진동에 의해 생성될 수 있으며, 여기서 진동의 패턴은 사용자(600)에 대한 객체(606)의 거리 및 방향에 대한 정보를 인코딩한다.
또한, 일부 구현에서, 컴퓨팅 장치(602)는 사용자(600)가 시야(604)의 일부(즉, 컴퓨팅 장치(602)의 디스플레이의 일부)를 활성으로 지정하고 시야(604)의 다른 부분을 비활성으로 지정하도록 할 수 있다. 이 사양을 바탕으로, 컴퓨팅 장치(602)는 시야(604)의 활성 부분 내에 적어도 부분적으로 포함된 객체에 대한 거리 추정치를 생성하고, 활성 부분 내에 적어도 부분적으로 포함되지 않는 객체(즉, 시야(604)의 비활성 부분 내에 완전히 있는 객체)에 대한 이러한 거리 추정치를 생성하는 것을 생략하도록 구성될 수 있다. 예를 들어, 시각 장애가 있는 개인은 컴퓨팅 장치(602)를 사용하여 예상 보행 경로를 따라 사용자 앞에서 발견된 객체까지의 거리를 측정하기를 원할 수 있지만 보행 경로 옆에서 발견된 객체까지의 거리에는 관심이 없을 수 있다. 따라서, 그러한 사용자는 디스플레이 높이와 동일한 높이 및 디스플레이 너비보다 작은 너비를 갖는 컴퓨팅 장치(602)의 디스플레이의 직사각형 부분을 활성으로서 지정할 수 있고, 따라서 컴퓨팅 장치(602)가 디스플레이의 에지 근처의 이미지 데이터에 표현된 객체를 무시하게 한다.
추가적으로, 일부 구현들에서, 컴퓨팅 장치(602)는 사용자(600)가 거리가 측정될 객체들의 클래스들 또는 유형들을 특정하게 할 수 있다. 이 사양에 기초하여, 컴퓨팅 장치(602)는 지정된 클래스 또는 유형 중 하나로 분류된 객체에 대한 거리 추정치를 생성하고 지정된 클래스 또는 유형 내에 있지 않은 객체에 대한 이러한 거리 추정치를 생성하는 것을 생략하도록 구성될 수 있다. 예를 들어, 시각 장애가 있는 개인은 컴퓨팅 장치(602)를 사용하여 다른 사람, 차량 및 동물과 같은 움직이는 객체까지의 거리를 측정하기를 원할 수 있지만 벤치, 가로등 기둥 및/또는 우편함과 같은 움직이지 않는 객체까지의 거리에는 관심이 없을 수 있다.
VIII. 추가 동작 예시
도 7은 객체와 카메라 사이의 거리 추정치를 결정하는 것과 연관된 동작의 흐름도를 도시한다. 동작은 컴퓨팅 시스템(100), 컴퓨팅 장치(200), 시스템(340), 및/또는 컴퓨팅 장치(602) 중 하나 이상, 및/또는 다양한 다른 유형의 장치 또는 장치 서브시스템에 의해 수행될 수 있다. 도 7의 실시예는 여기에 도시된 특징들 중 임의의 하나 이상의 특징을 제거함으로써 단순화될 수 있다. 또한, 이들 실시예는 임의의 이전 도면의 특징, 양태 및/또는 구현과 결합되거나 본 명세서에서 달리 설명될 수 있다.
블록(700)은 환경에서 객체를 나타내는 이미지 데이터를 카메라로부터 수신하는 것을 수반할 수 있다.
블록(702)은 이미지 데이터에 기초하여 객체의 바텀의 이미지 데이터 내의 수직 위치를 결정하는 것을 수반할 수 있다.
블록(704)은 이미지 데이터의 수직 위치와 높이 사이의 객체 바텀 비율을 결정하는 것을 수반할 수 있다.
블록(706)은 거리 투영 모델에 의해 그리고 객체 바텀 비율에 기초하여 카메라와 객체 사이의 물리적 거리의 추정치를 결정하는 것을 수반할 수 있다. 거리 투영 모델은 복수의 후보 객체 바텀 비율의 각각의 후보 객체 바텀 비율에 대해 (i) 각각의 후보 객체 바텀 비율과 (ii) 환경에서 대응하는 물리적 거리 사이의 매핑을 정의할 수 있다.
블록(708)은 카메라와 객체 사이의 물리적 거리의 추정치의 표시를 생성하는 것을 수반할 수 있다.
일부 실시예에서, 매핑은 카메라가 환경 내에서 미리 결정된 높이에 배치된다는 가정에 기초할 수 있다. 일부 실시예에서, 이미지 데이터를 캡처하는 동안 카메라의 물리적 높이가 미리 결정된 높이보다 높을 때, 카메라와 객체 사이의 물리적 거리 추정치는 과소추정될 수 있다. 카메라의 물리적 높이가 이미지 데이터를 촬영하는 동안 미리 정해진 높이보다 낮은 경우, 카메라와 객체 사이의 물리적 거리의 추정치가 과대추정될 수 있다.
일부 실시예에서, 미리 결정된 높이의 사양(specification)은 카메라와 연관된 사용자 인터페이스를 통해 수신될 수 있다. 미리 정해진 높이의 지정에 기초하여, 거리 투영 모델은 미리 정해진 높이의 지정에 따라 카메라가 위치한다고 가정하도록 매핑을 수정함으로써 구성될 수 있다.
일부 실시예에서, 거리 투영 모델을 구성하는 단계는 미리 결정된 높이의 사양에 기초하여 복수의 후보 매핑으로부터 매핑을 선택하는 단계를 포함할 수 있다. 복수의 후보 매핑의 각각의 매핑은 미리 결정된 높이의 대응하는 사양과 연관될 수 있다.
일부 실시예에서, 거리 투영 모델은 기계 학습 모델을 포함할 수 있다. 거리 투영 모델을 구성하는 단계는 미리 정해진 높이의 사양에 기초하여 기계 학습 모델의 적어도 하나의 입력 파라미터를 조정하는 단계를 포함할 수 있다.
일부 실시예에서, 매핑은 카메라의 기하학적 모델에 기초할 수 있다. 기하학적 모델은, (i) 초점 거리를 갖고 환경 내에서 미리 결정된 높이에 배치되는 카메라, (ii) 환경의 지표면과 실질적으로 평행하게 배향된 카메라의 광축, 및 (iii) 카메라의 이미지 센서 상의 각각의 지점으로부터 환경의 지표면 상의 대응하는 지점까지 투영된 복수의 라인의 각각의 개별 라인을 포함할 수 있다. 각각의 후보 객체 바텀 비율은 기하학적 모델에 기초한 환경에서 대응하는 물리적 거리와 연관될 수 있다.
일부 실시예에서, 매핑은 (i) 카메라의 세로 방향에 대응하는 제1 매핑 및 (ii) 카메라의 가로 방향에 대응하는 제2 매핑을 포함할 수 있다. 제1 매핑과 연관된 각각의 후보 객체 바텀 비율은 세로 이미지 데이터 내의 대응하는 수직 위치와 세로 이미지 데이터의 높이 사이에 있을 수 있다. 제2 매핑과 연관된 각각의 후보 객체 바텀 비율은 가로 이미지 데이터 내의 대응하는 수직 위치와 가로 이미지 데이터의 높이 사이에 있을 수 있다. 이미지 데이터의 높이는 이미지 데이터를 촬영하는 동안 카메라의 방향에 따라 결정될 수 있다. 이미지 데이터를 캡처하는 동안 카메라의 방향에 기초하여, 카메라와 객체 사이의 물리적 거리의 추정치를 결정하는데 사용되도록 제1 매핑 또는 제2 매핑이 선택될 수 있다.
일부 실시예에서, 카메라의 피치 각도를 나타내는 센서 데이터는 카메라와 연관된 하나 이상의 센서로부터 획득될 수 있다. 카메라의 피치 각도를 나타내는 센서 데이터에 기초하여, 객체 바텀 비율의 추정된 오프셋이 결정될 수 있다. 객체 바텀 비율의 추정된 오프셋은 제로 피치 각도에 대한 카메라의 피치 각도에 의해 야기된 수직 위치의 변화를 설명할 수 있다. 객체 바텀 비율과 추정된 오프셋의 합이 결정될 수 있다. 거리 투영 모델은 상기 합에 기초하여 카메라와 객체 사이의 물리적 거리의 추정치를 결정하도록 구성될 수 있다.
일부 실시예에서, 객체 바텀 비율의 추정된 오프셋을 결정하는 것은 카메라의 추정된 초점 길이와 카메라의 피치 각도의 탄젠트의 곱을 결정하는 것을 포함할 수 있다. 카메라의 위쪽(상향) 기울기와 연관된 양의 피치 각도는 상기 합이 객체 바텀 비율보다 높도록 양의 값을 갖는 추정된 오프셋을 초래할 수 있다. 카메라의 하향 기울기와 연관된 음의 피치 각도는 상기 합이 객체 바텀 비율보다 낮도록 음의 값을 갖는 추정된 오프셋을 초래할 수 있다.
일부 실시양태에서, 추정된 초점 거리는, (i) 카메라의 이미지 센서의 초기 위치에서 이미지 센서의 상단까지의 무한대 기준 라인을 제1 화면 비율만큼 오프셋하는 최대 피치 각도의 결정 또는 (ii) 이미지 센서의 초기 위치에서 이미지 센서의 바텀까지의 무한대 기준 라인을 제2 화면 비율만큼 오프셋하는 최소 피치 각도의 결정 중 적어도 하나에 기초할 수 있으며, 제1 화면 비율과 제2 화면 비율의 합은 1이다.
일부 실시양태에서, 복수의 후보 객체 바텀 비율은 (i) 0의 최소 측정 가능한 물리적 거리에 대응하는 제1 후보 객체 바텀 비율로부터 (ii) 최대 측정 가능한 물리적 거리에 대응하는 제2 후보 객체 바텀 비율의 범위일 수 있다.
일부 실시양태에서, 객체의 바텀의 이미지 데이터 내의 수직 위치를 결정하는 단계는 하나 이상의 객체 검출 알고리즘을 통해 이미지 데이터 내의 객체의 위치에 대응하는 이미지 데이터 내의 관심 영역을 결정하는 단계를 포함할 수 있다. 객체의 바텀은 하나 이상의 객체 바텀 검출 알고리즘에 의해 그리고 관심 영역에 기초하여 식별될 수 있다. 객체의 바텀 식별을 기반으로, 객체의 바텀이 환경의 지표면과 접촉하고 있다고 결정할 수 있다. 객체의 바텀이 지표면에 접촉된 것으로 결정되면, 객체의 바텀의 이미지 데이터 내 수직 위치가 결정될 수 있다.
일부 실시예에서, 환경의 추가 객체를 나타내는 추가 이미지 데이터가 카메라로부터 수신될 수 있다. 추가(부가) 이미지 데이터에 기초하여 이미지 데이터 내에서 부가 객체의 바텀이 보이지 않는 것으로 결정할 수 있다. 이미지 데이터 내에서 추가 객체의 바텀이 보이지 않는 것으로 결정하여, 카메라와 추가 객체 사이의 물리적 거리의 추가 추정치가 최소 측정 가능한 물리적 거리 미만의 미리 결정된 값이라고 결정할 수 있다. 카메라와 추가 객체 사이의 물리적 거리에 대한 추가 추정치의 추가 표시가 생성될 수 있다.
일부 실시양태에서, 카메라와 객체 사이의 물리적 거리의 추정치의 표시를 생성하는 단계는 (i) 디스플레이에 물리적 거리 추정치를 시각적으로 표시하는 단계, (ii) 물리적 거리의 추정치를 나타내는 가청 발화를 생성하는 단계, 또는 (iii) 물리적 거리의 추정치의 햅틱 표현을 생성하는 단계, 중 하나 이상을 포함할 수 있다.
일부 실시예에서, 카메라의 FOV(field of view)의 활성 부분의 지정이 수신될 수 있다. 객체의 적어도 일부가 카메라의 FOV의 활성 부분 내에 포함된다고 결정될 수 있다. 카메라와 객체 사이의 물리적 거리의 추정치의 표시는 객체의 적어도 일부가 카메라의 FOV의 활성 부분 내에 포함된다는 결정에 기초하여 생성될 수 있다. 카메라의 FOV의 활성 부분 외부에 있는 객체에 대해서는 카메라와 해당 객체 사이의 물리적 거리의 각각의 추정치의 생성이 생략될 수 있다.
일부 실시예에서, 복수의 객체 클래스로부터 하나 이상의 객체 클래스의 선택이 수신될 수 있다. 객체가 하나 이상의 객체 클래스 중 제1 객체 클래스에 속하는 것으로 결정될 수 있다. 카메라와 객체 사이의 물리적 거리 추정치의 표시는 객체가 제1 객체 클래스에 속한다는 결정에 기초하여 생성될 수 있다. 제1 객체 클래스에 속하지 않는 객체에 대해서는 카메라와 해당 객체 사이의 물리적 거리에 대한 각각의 추정치의 생성이 생략될 수 있다.
IX. 결론
본 개시는 다양한 양태의 예시로서 의도된 본 출원에서 설명된 특정 실시예에 관하여 제한되지 않는다. 당업자에게 자명한 바와 같이, 그 범위를 벗어나지 않고 많은 수정 및 변형이 이루어질 수 있다. 본 명세서에 기술된 것에 더하여, 본 개시의 범위 내에서 기능적으로 등가인 방법 및 장치는 전술한 설명으로부터 당업자에게 명백할 것이다. 이러한 수정 및 변형은 첨부된 청구범위에 속하는 것으로 의도된다.
위의 상세한 설명은 첨부된 도면을 참조하여 개시된 시스템, 장치 및 방법의 다양한 특징 및 동작을 설명한다. 도면에서 유사한 기호는 문맥에서 달리 지시하지 않는 한 일반적으로 유사한 컴포넌트를 식별한다. 본 명세서 및 도면에 기술된 예시적인 실시예는 제한하려는 의도가 아니다. 본 명세서에 제시된 주제의 범위를 벗어나지 않으면서, 다른 실시예가 이용될 수 있고, 다른 변경이 이루어질 수 있다. 여기에서 일반적으로 설명되고 도면에 예시된 바와 같이, 본 개시내용의 양태는 매우 다양한 상이한 구성으로 배열, 대체, 결합, 분리 및 설계될 수 있다는 것이 쉽게 이해될 것이다.
도면의 메시지 흐름도, 시나리오 및 흐름도 중 일부 또는 전부와 관련하여 그리고 여기에서 논의된 바와 같이, 각 단계, 블록, 및/또는 통신은 예시적인 실시예에 따른 정보의 처리 및/또는 정보의 전송을 나타낼 수 있다. 대안적인 실시예는 이러한 예시적인 실시예의 범위 내에 포함된다. 이러한 대안적인 실시예에서, 예를 들어, 단계, 블록, 전송, 통신, 요청, 응답 및/또는 메시지로 설명된 동작은 연관된 기능에 따라 실질적으로 동시에 또는 역순을 포함하여 도시되거나 논의된 순서와 다르게 실행될 수 있다. 또한, 더 많거나 더 적은 수의 블록 및/또는 동작이 여기에서 논의된 메시지 흐름도, 시나리오 및 흐름도 중 임의의 것과 함께 사용될 수 있다. 이러한 메시지 흐름 다이어그램, 시나리오 및 순서도는 부분적으로 또는 전체적으로 서로 결합될 수 있다.
정보의 처리를 나타내는 단계 또는 블록은 여기에 설명된 방법 또는 기술의 특정 논리 기능을 수행하도록 구성될 수 있는 회로에 대응할 수 있다. 대안으로 또는 추가적으로, 정보의 처리를 나타내는 블록은 모듈, 세그먼트, 또는 프로그램 코드(관련 데이터 포함)의 일부에 해당할 수 있다. 프로그램 코드는 방법 또는 기술에서 특정 논리 연산 또는 동작을 구현하기 위해 프로세서에 의해 실행 가능한 하나 이상의 명령어를 포함할 수 있다. 프로그램 코드 및/또는 관련 데이터는 RAM(Random Access Memory), 디스크 드라이브, 솔리드 스테이트 드라이브, 또는 다른 저장 매체를 포함하는 저장 장치와 같은 임의의 유형의 컴퓨터 판독 가능 매체에 저장될 수 있다.
컴퓨터 판독가능 매체는 또한 레지스터 메모리, 프로세서 캐시, 및 RAM과 같은 짧은 기간 동안 데이터를 저장하는 컴퓨터 판독가능 매체와 같은 비일시적 컴퓨터 판독가능 매체를 포함할 수 있다. 컴퓨터 판독가능 매체는 또한 더 긴 기간 동안 프로그램 코드 및/또는 데이터를 저장하는 비일시적 컴퓨터 판독가능 매체를 포함할 수 있다. 따라서, 컴퓨터 판독가능 매체는 예를 들어 판독 전용 메모리(ROM), 광학 또는 자기 디스크, 솔리드 스테이트 드라이브, 컴팩트 디스크 판독 전용 메모리(CD-ROM)와 같은 2차 또는 영구 장기 저장 장치를 포함할 수 있다. 컴퓨터 판독가능 매체는 또한 임의의 다른 휘발성 또는 비휘발성 저장 시스템일 수 있다. 컴퓨터 판독가능 매체는 예를 들어, 컴퓨터 판독가능 저장 매체, 또는 유형의 저장 장치로 간주될 수 있다.
또한, 하나 이상의 정보 전송을 나타내는 단계 또는 블록은 동일한 물리적 장치의 소프트웨어 및/또는 하드웨어 모듈 간의 정보 전송에 해당할 수 있다. 그러나 다른 정보 전송은 다른 물리적 장치의 소프트웨어 모듈 및/또는 하드웨어 모듈 간에 이루어질 수 있다.
도면에 표시된 특정 배열은 제한적인 것으로 간주되어서는 안 된다. 다른 실시예는 주어진 도면에 도시된 각각의 요소를 더 많거나 더 적게 포함할 수 있음을 이해해야 한다. 또한, 도시된 컴포넌트 중 일부는 결합되거나 생략될 수 있다. 또한, 예시적인 실시예는 도면에 도시되지 않은 요소를 포함할 수 있다.
다양한 양태 및 실시예가 여기에 개시되었지만, 다른 양태 및 실시예는 당업자에게 명백할 것이다. 본 명세서에 개시된 다양한 양태 및 실시예는 예시를 위한 것이며 제한하려는 것이 아니며, 진정한 범위는 다음 청구범위에 의해 표시된다.
Claims (20)
- 컴퓨터로 구현되는 방법으로서,
카메라로부터, 환경 내의 객체를 나타내는 이미지 데이터를 수신하는 단계;
상기 이미지 데이터에 기초하여, 상기 객체의 바텀(bottom)의 상기 이미지 데이터 내 수직 위치를 결정하는 단계;
상기 이미지 데이터의 수직 위치와 높이 사이의 객체 바텀 비율을 결정하는 단계;
거리 투영 모델을 통해 그리고 상기 객체 바텀 비율에 기초하여, 상기 카메라와 상기 객체 사이의 물리적 거리의 추정치를 결정하는 단계 -상기 거리 투영 모델은, 복수의 후보 객체 바텀 비율의 각각의 후보 객체 바텀 비율에 대해, (i) 각각의 후보 객체 바텀 비율과 (ii) 상기 환경에서 해당 물리적 거리 사이의 매핑을 정의함-; 그리고
상기 카메라와 상기 객체 사이의 상기 물리적 거리의 추정치의 표시를 생성하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법. - 제1항에 있어서, 상기 매핑은 상기 카메라가 상기 환경 내에서 미리 결정된 높이에 위치된다는 가정에 기초하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
- 제2항에 있어서, 상기 카메라의 물리적 높이가 상기 이미지 데이터를 캡처하는 동안 상기 미리 결정된 높이보다 높을 때, 상기 카메라와 상기 객체 사이의 물리적 거리의 추정치는 과소추정(underestimate)되고, 그리고 상기 카메라의 물리적 높이가 상기 이미지 데이터를 캡처하는 동안 상기 미리 결정된 높이 미만일 때, 상기 카메라와 상기 객체 사이의 물리적 거리의 추정치는 과대추정(overestimate)되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
- 제2항에 있어서, 상기 방법은,
상기 카메라와 연관된 사용자 인터페이스를 통해, 상기 미리 결정된 높이의 사양(specification)을 수신하는 단계; 그리고
상기 미리 결정된 높이의 사양에 기초하여, 상기 카메라가 상기 미리 결정된 높이의 사양에 따라 위치한다고 가정하도록 상기 매핑을 수정하여 상기 거리 투영 모델을 구성하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법. - 제4항에 있어서, 상기 거리 투영 모델을 구성하는 단계는,
상기 미리 결정된 높이의 사양에 기초하여, 복수의 후보 매핑 중에서 상기 매핑을 선택하는 단계를 포함하며, 상기 복수의 후보 매핑의 각각의 매핑은 상기 미리 결정된 높이의 해당 사양과 연관되는 것을 특징으로 하는 컴퓨터로 구현되는 방법. - 제4항에 있어서, 상기 거리 투영 모델은 기계 학습 모델을 포함하고, 상기 거리 투영 모델을 구성하는 단계는,
상기 미리 결정된 높이의 사양에 기초하여 상기 기계 학습 모델의 적어도 하나의 입력 파라미터를 조정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법. - 제2항에 있어서, 상기 매핑은 상기 카메라의 기하학적 모델에 기초하고, 상기 기하학적 모델은:
(i) 초점 거리를 갖고 그리고 상기 환경 내에서 상기 미리 결정된 높이에 배치되는 상기 카메라,
(ii) 상기 환경의 지표면과 실질적으로 평행하게 배향된 상기 카메라의 광축, 및
(iii) 상기 카메라의 이미지 센서 상의 각 지점으로부터 상기 환경의 지표면 상의 해당 지점까지 투영된 복수의 라인의 각각의 라인을 포함하며, 각각의 후보 객체 바텀 비율은 상기 기하학적 모델에 기초한 상기 환경에서 상기 해당 물리적 거리와 연관되는 것을 특징으로 하는 컴퓨터로 구현되는 방법. - 제1항에 있어서, 상기 매핑은 (i) 상기 카메라의 세로 방향에 대응하는 제1 매핑 및 (ii) 상기 카메라의 가로 방향에 대응하는 제2 매핑을 포함하고,
상기 제1 매핑과 연관된 각각의 후보 객체 바텀 비율은 세로 이미지 데이터 내의 해당 수직 위치와 상기 세로 이미지 데이터의 높이 사이이고, 상기 제2 매핑과 연관된 각각의 후보 객체 바텀 비율은 가로 이미지 데이터 내의 해당 수직 위치와 상기 가로 이미지 데이터의 높이 사이이고, 상기 방법은:
상기 이미지 데이터를 캡처하는 동안 상기 카메라의 방향에 기초하여, 상기 이미지 데이터의 높이를 결정하는 단계; 그리고
상기 이미지 데이터를 캡처하는 동안 상기 카메라의 방향에 기초하여, 상기 카메라와 상기 객체 사이의 물리적 거리의 추정치를 결정하는 데 사용할 상기 제1 매핑 또는 상기 제2 매핑을 선택하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법. - 제1항에 있어서, 상기 방법은,
상기 카메라와 연관된 하나 이상의 센서로부터, 상기 카메라의 피치 각도를 나타내는 센서 데이터를 획득하는 단계;
상기 카메라의 피치 각도를 나타내는 센서 데이터에 기초하여, 제로 피치 각도에 대한 상기 카메라의 피치 각도에 의해 야기된 상기 수직 위치의 변화를 설명하는 상기 객체 바텀 비율의 추정된 오프셋을 결정하는 단계; 그리고
상기 객체 바텀 비율과 상기 추정된 오프셋의 합을 결정하는 단계를 더 포함하며, 상기 거리 투영 모델은 상기 합에 기초하여 상기 카메라와 상기 객체 사이의 상기 물리적 거리의 추정치를 결정하도록 구성되는 것을 특징으로 하는 컴퓨터로 구현되는 방법. - 제9항에 있어서, 상기 객체 바텀 비율의 추정된 오프셋을 결정하는 단계는:
상기 카메라의 추정된 초점거리와 상기 카메라의 피치 각도의 탄젠트의 곱을 결정하는 단계를 포함하며,
상기 카메라의 상향 기울기와 연관된 양의 피치 각도는 상기 합이 상기 객체 바텀 비율보다 높도록 양의 값을 갖는 추정된 오프셋을 초래하고,
상기 카메라의 하향 기울기와 연관된 음의 피치 각도는 상기 합이 상기 객체 바텀 비율보다 낮도록 음의 값을 갖는 추정된 오프셋을 초래하는 것을 특징으로 하는 컴퓨터로 구현되는 방법. - 제10항에 있어서, 상기 추정된 초점 거리는,
(i) 상기 카메라의 이미지 센서의 초기 위치에서 상기 이미지 센서의 상단까지의 무한대 기준 라인을 제1 화면 비율만큼 오프셋하는 최대 피치 각도의 결정 또는
(ii) 상기 이미지 센서의 초기 위치에서 상기 이미지 센서의 바텀까지의 무한대 기준 라인을 제2 화면 비율만큼 오프셋하는 최소 피치 각도의 결정, 중에서 적어도 하나에 기초하며,
상기 제1 화면 비율과 상기 제2 화면 비율의 합은 1인 것을 특징으로 하는 컴퓨터로 구현되는 방법. - 제1항에 있어서, 상기 복수의 후보 객체 바텀 비율은 (i) 0이고 그리고 최소 측정 가능한 물리적 거리에 대응하는 제1 후보 객체 바텀 비율로부터 (ii) 최대 측정 가능한 물리적 거리에 대응하는 제2 후보 객체 바텀 비율의 범위를 갖는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
- 제1항에 있어서, 상기 객체의 바텀의 이미지 데이터 내의 수직 위치를 결정하는 단계는,
하나 이상의 객체 검출 알고리즘에 의해, 상기 이미지 데이터 내의 객체의 위치에 대응하는 이미지 데이터 내의 관심 영역을 결정하는 단계;
하나 이상의 객체 바텀 검출 알고리즘에 의해 그리고 상기 관심 영역에 기초하여 상기 객체의 바텀을 식별하는 단계;
상기 객체의 바텀을 식별하는 것에 기초하여 상기 객체의 바텀이 상기 환경의 지표면과 접촉하고 있다고 결정하는 단계; 그리고
상기 객체의 바텀이 지표면과 접촉하고 있는 것으로 결정하는 것에 기초하여, 상기 객체의 바텀의 이미지 데이터 내의 수직 위치를 결정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법. - 제1항에 있어서, 상기 방법은,
상기 카메라로부터, 상기 환경의 추가 객체를 나타내는 추가 이미지 데이터를 수신하는 단계;
상기 추가 이미지 데이터에 기초하여, 상기 추가 객체의 바텀이 이미지 데이터 내에서 보이지 않는 것으로 결정하는 단계;
상기 추가 객체의 바텀이 이미지 데이터 내에서 보이지 않는다는 결정에 기초하여, 상기 카메라와 상기 추가 객체 사이의 물리적 거리의 추가 추정치가 최소 측정 가능한 물리적 거리 미만의 미리 결정된 값이라고 결정하는 단계; 그리고
상기 카메라와 상기 추가 객체 사이의 물리적 거리의 추가 추정치의 추가 표시를 생성하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법. - 제1항에 있어서, 상기 카메라와 상기 객체 사이의 물리적 거리의 추정치의 표시를 생성하는 단계는,
(i) 디스플레이에 상기 물리적 거리의 추정치에 대한 시각적 표현을 디스플레이하는 단계,
(ii) 상기 물리적 거리의 추정치를 나타내는 가청 발화를 생성하는 단계, 또는
(iii) 상기 물리적 거리의 추정치의 햅틱 표현을 생성하는 단계, 중 하나 이상을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법. - 제1항에 있어서, 상기 방법은,
상기 카메라의 FOV(field of view)의 활성 부분의 지정을 수신하는 단계;
상기 객체의 적어도 일부가 상기 카메라의 FOV의 활성 부분 내에 포함된다고 결정하는 단계; 그리고
상기 객체의 적어도 일부가 상기 카메라의 FOV의 활성 부분 내에 포함된다는 결정에 기초하여 상기 카메라와 상기 객체 사이의 물리적 거리의 추정치의 표시를 생성하는 단계를 더 포함하며, 상기 카메라와 해당 객체들 사이의 물리적 거리들의 각각의 추정치의 표시의 생성은 상기 카메라의 FOV의 활성 부분 외부의 객체들에 대해 생략되는 것을 특징으로 하는 컴퓨터로 구현되는 방법. - 제1항에 있어서, 상기 방법은,
복수의 객체 클래스로부터 하나 이상의 객체 클래스의 선택을 수신하는 단계;
상기 객체가 하나 이상의 객체 클래스의 제1 객체 클래스에 속한다고 결정하는 단계; 그리고
상기 객체가 상기 제1 객체 클래스에 속한다는 결정에 기초하여 상기 카메라와 상기 객체 사이의 물리적 거리의 추정치의 표시를 생성하는 단계를 더 포함하며, 상기 카메라와 해당 객체들 사이의 물리적 거리들에 대한 각각의 추정치의 표시의 생성은 상기 제1 객체 클래스에 속하지 않는 객체들에 대해서는 생략되는 것을 특징으로 하는 컴퓨터로 구현되는 방법. - 컴퓨팅 시스템으로서,
카메라;
프로세서; 그리고
상기 프로세서에 의해 실행될 때 상기 프로세서로 하여금 동작들을 수행하게 하는 명령어를 저장한 비일시적 컴퓨터 판독가능한 저장 매체를 포함하며, 상기 동작들은,
상기 카메라로부터, 환경 내의 객체를 나타내는 이미지 데이터를 수신하는 동작;
상기 이미지 데이터에 기초하여, 상기 객체의 바텀(bottom)의 상기 이미지 데이터 내 수직 위치를 결정하는 동작;
상기 이미지 데이터의 수직 위치와 높이 사이의 객체 바텀 비율을 결정하는 동작;
거리 투영 모델을 통해 그리고 상기 객체 바텀 비율에 기초하여, 상기 카메라와 상기 객체 사이의 물리적 거리의 추정치를 결정하는 동작 -상기 거리 투영 모델은, 복수의 후보 객체 바텀 비율의 각각의 후보 객체 바텀 비율에 대해, (i) 각각의 후보 객체 바텀 비율과 (ii) 상기 환경에서 해당 물리적 거리 사이의 매핑을 정의함-; 그리고
상기 카메라와 상기 객체 사이의 상기 물리적 거리의 추정치의 표시를 생성하는 동작을 포함하는 것을 특징으로 하는 컴퓨팅 시스템. - 제18항에 있어서, 상기 컴퓨팅 시스템은,
상기 카메라의 피치 각도를 나타내는 센서 데이터를 생성하도록 구성된 하나 이상의 센서를 더 포함하며, 상기 동작들은,
상기 하나 이상의 센서로부터, 상기 카메라의 피치 각도를 나타내는 센서 데이터를 획득하는 동작;
상기 카메라의 피치 각도를 나타내는 센서 데이터에 기초하여, 제로 피치 각도에 대한 상기 카메라의 피치 각도에 의해 야기된 수직 위치의 변화를 설명하는 객체 바텀 비율의 추정된 오프셋을 결정하는 동작; 그리고
상기 객체 바텀 비율과 상기 추정된 오프셋의 합을 결정하는 동작을 더 포함하며, 상기 거리 투영 모델은 상기 합에 기초하여 상기 카메라와 상기 객체 사이의 물리적 거리의 추정치를 결정하도록 구성되는 것을 특징으로 하는 컴퓨팅 시스템. - 컴퓨팅 시스템에 의해 실행될 때 상기 컴퓨팅 시스템으로 하여금 동작들을 수행하게 하는 명령어를 저장한 비일시적 컴퓨터 판독가능한 저장 매체로서, 상기 동작들은,
카메라로부터, 환경 내의 객체를 나타내는 이미지 데이터를 수신하는 동작;
상기 이미지 데이터에 기초하여, 상기 객체의 바텀(bottom)의 상기 이미지 데이터 내 수직 위치를 결정하는 동작;
상기 이미지 데이터의 수직 위치와 높이 사이의 객체 바텀 비율을 결정하는 동작;
거리 투영 모델을 통해 그리고 상기 객체 바텀 비율에 기초하여, 상기 카메라와 상기 객체 사이의 물리적 거리의 추정치를 결정하는 동작 -상기 거리 투영 모델은, 복수의 후보 객체 바텀 비율의 각각의 후보 객체 바텀 비율에 대해, (i) 각각의 후보 객체 바텀 비율과 (ii) 상기 환경에서 해당 물리적 거리 사이의 매핑을 정의함-; 그리고
상기 카메라와 상기 객체 사이의 상기 물리적 거리의 추정치의 표시를 생성하는 동작을 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능한 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063033964P | 2020-06-03 | 2020-06-03 | |
US63/033,964 | 2020-06-03 | ||
PCT/US2021/032686 WO2021247228A1 (en) | 2020-06-03 | 2021-05-17 | Depth estimation based on object bottom position |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230007477A true KR20230007477A (ko) | 2023-01-12 |
Family
ID=76422038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227042610A KR20230007477A (ko) | 2020-06-03 | 2021-05-17 | 객체 바텀 위치에 기초하여 한 깊이 추정 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20230127218A1 (ko) |
EP (1) | EP4049242A1 (ko) |
JP (1) | JP7394240B2 (ko) |
KR (1) | KR20230007477A (ko) |
CN (1) | CN115516509A (ko) |
DE (1) | DE112021001436T5 (ko) |
WO (1) | WO2021247228A1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019164514A1 (en) * | 2018-02-23 | 2019-08-29 | Google Llc | Transitioning between map view and augmented reality view |
US12002238B1 (en) * | 2022-06-07 | 2024-06-04 | Bureau of Innovation LLC | Contactless mobile fingerprinting capture device and method of use |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6352300A (ja) * | 1986-08-21 | 1988-03-05 | アイシン精機株式会社 | 車上前方監視装置 |
JPH10150656A (ja) * | 1996-09-20 | 1998-06-02 | Hitachi Ltd | 画像処理装置及び侵入者監視装置 |
JP2006266848A (ja) | 2005-03-23 | 2006-10-05 | Sharp Corp | 距離測定装置 |
US8164628B2 (en) | 2006-01-04 | 2012-04-24 | Mobileye Technologies Ltd. | Estimating distance to an object using a sequence of images recorded by a monocular camera |
JP4848312B2 (ja) | 2007-05-17 | 2011-12-28 | 綜合警備保障株式会社 | 身長推定装置および身長推定方法 |
JP5077088B2 (ja) | 2008-06-17 | 2012-11-21 | 住友電気工業株式会社 | 画像処理装置及び画像処理方法 |
KR101758735B1 (ko) | 2012-12-03 | 2017-07-26 | 한화테크윈 주식회사 | 카메라와 목표물 사이의 수평 거리를 구하는 방법, 이 방법을 채용한 카메라 및 감시 시스템 |
JPWO2014171052A1 (ja) | 2013-04-16 | 2017-02-16 | コニカミノルタ株式会社 | 画像処理方法、画像処理装置、撮像装置および画像処理プログラム |
JP6787102B2 (ja) | 2016-12-14 | 2020-11-18 | 株式会社デンソー | 物体検出装置、物体検出方法 |
CN108596116B (zh) * | 2018-04-27 | 2021-11-05 | 深圳市商汤科技有限公司 | 测距方法、智能控制方法及装置、电子设备和存储介质 |
JP7224832B2 (ja) | 2018-10-01 | 2023-02-20 | キヤノン株式会社 | 情報処理装置、情報処理方法、及びプログラム |
-
2021
- 2021-05-17 KR KR1020227042610A patent/KR20230007477A/ko unknown
- 2021-05-17 WO PCT/US2021/032686 patent/WO2021247228A1/en unknown
- 2021-05-17 US US17/995,051 patent/US20230127218A1/en active Pending
- 2021-05-17 EP EP21732148.8A patent/EP4049242A1/en active Pending
- 2021-05-17 JP JP2022567599A patent/JP7394240B2/ja active Active
- 2021-05-17 CN CN202180034017.7A patent/CN115516509A/zh active Pending
- 2021-05-17 DE DE112021001436.6T patent/DE112021001436T5/de active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4049242A1 (en) | 2022-08-31 |
DE112021001436T5 (de) | 2023-01-12 |
US20230127218A1 (en) | 2023-04-27 |
JP7394240B2 (ja) | 2023-12-07 |
JP2023525066A (ja) | 2023-06-14 |
WO2021247228A1 (en) | 2021-12-09 |
CN115516509A (zh) | 2022-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190162964A1 (en) | Space carving based on human physical data | |
US9641755B2 (en) | Reimaging based on depthmap information | |
JP6283152B2 (ja) | ハンドヘルド測地デバイスによるグラフィック支援遠隔位置測定 | |
US9041734B2 (en) | Simulating three-dimensional features | |
US9165367B2 (en) | Depth estimation system for two-dimensional images and method of operation thereof | |
CN103069433A (zh) | 具有图像对准机构的图像处理系统及其操作方法 | |
CN111104893B (zh) | 目标检测方法、装置、计算机设备及存储介质 | |
JP7394240B2 (ja) | 被写体下端位置に基づいた深度推定 | |
CN112150560B (zh) | 确定消失点的方法、装置及计算机存储介质 | |
CN105025284A (zh) | 标定集成成像显示设备的显示误差的方法和设备 | |
US20230169686A1 (en) | Joint Environmental Reconstruction and Camera Calibration | |
US12020448B2 (en) | Systems and methods for updating continuous image alignment of separate cameras | |
US20230386065A1 (en) | Systems and methods for processing captured images | |
US20240071018A1 (en) | Smooth object correction for augmented reality devices | |
US11450014B2 (en) | Systems and methods for continuous image alignment of separate cameras | |
JP7477596B2 (ja) | 深度推定のための方法、深度推定システム、およびコンピュータプログラム | |
JP5842634B2 (ja) | 表示方法及び表示装置 | |
CN118295613A (zh) | 信息显示方法及其处理装置与信息显示系统 | |
Forsman | Applying Augmented Reality to Outdoors Industrial Use | |
JP2023110454A (ja) | 画像処理装置、プログラム及び画像処理方法 | |
CN116708731A (zh) | 投影画面调整方法、装置、电子设备及可读存储介质 | |
CN115457102A (zh) | 图像处理方法、人脸识别方法、装置、设备及存储介质 | |
TW201623918A (zh) | 距離估算系統、距離估算方法及電腦可讀取媒體 | |
JP2016110597A (ja) | 情報処理システム、情報処理装置、座標変換方法およびプログラム |