KR102196827B1 - 휠 회전의 광학 추적을 이용한 관측된 차량들의 상태 및 위치 예측 - Google Patents

휠 회전의 광학 추적을 이용한 관측된 차량들의 상태 및 위치 예측 Download PDF

Info

Publication number
KR102196827B1
KR102196827B1 KR1020207032255A KR20207032255A KR102196827B1 KR 102196827 B1 KR102196827 B1 KR 102196827B1 KR 1020207032255 A KR1020207032255 A KR 1020207032255A KR 20207032255 A KR20207032255 A KR 20207032255A KR 102196827 B1 KR102196827 B1 KR 102196827B1
Authority
KR
South Korea
Prior art keywords
wheel
image
vehicle
observed
images
Prior art date
Application number
KR1020207032255A
Other languages
English (en)
Other versions
KR20200135539A (ko
Inventor
알렉산드르 쿠실레예프
스티븐 마크 차베스
매튜 하얏트 터핀
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20200135539A publication Critical patent/KR20200135539A/ko
Application granted granted Critical
Publication of KR102196827B1 publication Critical patent/KR102196827B1/ko

Links

Images

Classifications

    • G06K9/00791
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3602Input other than that of destination using image analysis, e.g. detection of road signs, lanes, buildings, real preceding vehicles using a camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • G06K2209/23
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/08Detecting or categorising vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Geometry (AREA)
  • Automation & Control Theory (AREA)
  • Navigation (AREA)
  • Traffic Control Systems (AREA)

Abstract

다양한 실시형태들은 호스트 차량의 시각 내비게이션 시스템에 의해 캡처된 이미지들과 같은 카메라 이미지들 내에서 관측된 차량의 움직임을 추정하기 위해 이미지 데이터를 사용하는 방법들을 포함할 수도 있다. 다양한 실시형태들은 관측된 차량을 포함하는 이미지들의 시퀀스를 캡처하는 카메라, 및 관측된 차량의 휠을 식별하기 위해 이미지 프로세싱을 수행하고, 이미지들의 시퀀스 내의 적어도 2 개의 이미지들 사이의 휠의 배향의 변화들 및 적어도 2 개의 이미지들 사이에 경과된 시간에 기초하여 휠의 회전 레이트를 결정하는 프로세서를 포함할 수도 있다. 프로세서는 휠의 회전 레이트 및 직경에 기초하여 관측된 차량의 속도를 추가로 결정할 수도 있다. 프로세서는 적어도 하나의 이미지에서 관측된 차량의 휠들의 상대 각도들을 결정함으로써 관측된 차량의 주행 방향 및/또는 턴 레이트를 추가로 결정할 수도 있다.

Description

휠 회전의 광학 추적을 이용한 관측된 차량들의 상태 및 위치 예측
우선권의 주장
본 특허 출원은 "STATE AND POSITION PREDICTION OF OBSERVED VEHICLES USING OPTICAL TRACKING OF WHEEL ROTATION" 을 발명의 명칭으로 하여 2018년 5월 15일자로 출원된 미국 정규출원 제15/980,300호에 대한 우선권을 주장하고, 이는 본원의 양수인에게 양도되고 이로써 본 명세서에 참조로 분명히 통합된다.
배경
산업이 자율 및 반자율 차량들을 전개하는 쪽으로 나아감에 따라 자동차들 및 트럭들이 더 지능적이 되고 있다. 자율 및 반자율 차량들은, 그들의 위치 및 주변 (surroundings) 에 관한 정보를 (예를 들어, 레이더, 라이더, GPS, 파일 오도미터들, 가속도계들, 카메라들, 및 다른 센서들을 사용하여) 검출하고, 감각 정보를 해석하여 위험들을 식별하고 따라갈 내비게이션 경로들을 결정하는 제어 시스템들을 포함할 수 있다. 자율 및 반자율 차량들은 자동차의 탑승자 또는 다른 운전자로부터의 제한된 제어로 또는 제어 없이 작동하기 위해 제어 시스템들을 포함한다. 자율 및 반자율 차량들의 안전 운행은 모든 역동적이고 분주한 환경의 도로들 및 고속도로들에서, 다른 차량들의 움직임을 추적 및 예측하는 것 및 장애물들의 조기 정확한 식별에 의존한다.
다양한 실시형태들 및 실시형태들은 휠 회전의 시각 추적으로 관측된 차들의 상태 및 의도 예측을 개선시키기 위한 방법들을 포함한다.
다양한 실시형태들은 관측된 차량의 움직임을 추정하기 위해 이미지 데이터를 사용하기 위한, 차량 내비게이션 시스템 또는 시각 내비게이션 시스템 또는 차량 안전 시스템과 같은 차량의 프로세서에서 구현될 수도 있는 방법들을 포함한다. 다양한 실시형태들은, 카메라에 의해 캡처된 이미지들의 시퀀스를 수신하는 단계, 이미지들의 시퀀스 내에서 관측된 차량의 휠을 식별하기 위해 이미지 프로세싱을 수행하는 단계, 및 이미지들의 시퀀스 내의 적어도 2 개의 이미지들 사이의 휠의 배향의 변화들 및 적어도 2 개의 이미지들 사이에 경과된 시간에 기초하여 휠의 회전 레이트 (rate of rotation) 를 결정하는 단계를 포함할 수도 있다.
일부 실시형태에서, 이미지들의 시퀀스 내의 적어도 2 개의 이미지들 사이의 휠의 배향의 변화들 및 적어도 2 개의 이미지들 사이에 경과된 시간에 기초하여 휠의 회전 레이트를 결정하는 단계는, 휠의 제 1 이미지 및 휠의 제 2 이미지에 존재하는 휠의 피처를 식별하기 위해 이미지 프로세싱을 수행하는 단계, 휠의 제 1 이미지 및 제 2 이미지의 각각에서 휠의 중심을 식별하기 위해 이미지 프로세싱을 수행하는 단계, 휠의 제 1 이미지와 제 2 이미지 사이의 식별된 피처의 위치 변화량을 결정하는 단계, 휠의 제 1 이미지와 제 2 이미지 사이의 식별된 피처의 위치 변화량 및 휠의 제 1 이미지 및 제 2 이미지의 각각에서의 휠의 중심에 기초하여 휠의 제 1 이미지와 제 2 이미지 사이의 휠의 식별된 피처의 회전 각도를 결정하는 단계, 제 1 이미지와 제 2 이미지 사이에 경과된 시간량을 결정하는 단계, 및 식별된 피처의 회전 각도 및 휠의 제 1 이미지와 제 2 이미지 사이의 경과된 시간량의 결정에 기초하여 휠의 회전 레이트를 결정하는 단계를 포함할 수도 있다.
일부 실시형태들은 휠의 직경을 결정하기 위해 적어도 하나의 이미지의 이미지 프로세싱을 수행하는 단계, 및 휠의 결정된 회전 레이트 및 휠의 직경에 기초하여 관측된 차량의 속도를 결정하는 단계를 더 포함할 수도 있다. 그러한 실시형태들은 관측된 차량의 결정된 속도를 사용하여 호스트 차량의 시각 내비게이션 시스템을 증강시키는 단계를 더 포함할 수도 있다.
일부 실시형태들은 이미지들의 시퀀스 내의 휠의 이미지 프로세싱에 기초하여 관측된 차량의 주행 방향을 결정하는 단계를 더 포함할 수도 있다. 그러한 실시형태들에서, 이미지들의 시퀀스 내의 휠의 이미지 프로세싱에 기초하여 관측된 차량의 주행 방향을 결정하는 단계는 휠의 관측된 수평 직경을 결정하기 위해 적어도 하나의 이미지의 이미지 프로세싱을 수행하는 단계, 휠의 관측된 수직 직경을 결정하기 위해 적어도 하나의 이미지의 이미지 프로세싱을 수행하는 단계, 관측된 수평 직경 대 관측된 수직 직경의 비율을 계산하는 단계, 이미지들의 시퀀스를 캡처하는 카메라로부터 휠에 대한 뷰잉 각도를 결정하는 단계, 및 관측된 수평 직경 대 관측된 수직 직경의 비율 및 카메라로부터 휠에 대한 결정된 뷰잉 각도에 기초하여 카메라에 대한 휠의 상대 각도를 결정하는 단계를 포함할 수도 있다. 그러한 실시형태들은 관측된 차량의 결정된 주행 방향을 사용하여 호스트 차량의 시각 내비게이션 시스템을 증강시키는 단계를 더 포함할 수도 있다.
일부 실시형태들은 이미지들의 시퀀스 내의 관측된 차량의 전방 휠 및 후방 휠의 이미지 프로세싱에 기초하여 관측된 차량이 턴하고 있는지 여부를 결정하는 단계를 더 포함할 수도 있다.
일부 실시형태들은 이미지들의 시퀀스 내의 관측된 차량의 전방 휠 및 후방 휠의 이미지 프로세싱에 기초하여 관측된 차량의 턴 각도 (angle of turn) 를 결정하는 단계를 더 포함할 수도 있다. 그러한 실시형태들에서, 이미지들의 시퀀스 내에서 관측된 차량의 휠을 식별하기 위해 이미지 프로세싱을 수행하는 단계는 관측된 차량의 전방 휠 및 후방 휠을 식별하기 위해 적어도 하나의 이미지의 이미지 프로세싱을 수행하는 단계를 포함할 수도 있고, 그러한 실시형태들은 적어도 하나의 이미지를 캡처하는 카메라에 대한 전방 휠의 상대 각도를 결정하기 위한 적어도 하나의 이미지의 이미지 프로세싱, 카메라에 대한 후방 휠의 상대 각도를 결정하기 위한 적어도 하나의 이미지의 이미지 프로세싱, 전방 휠과 후방 휠 사이의 거리를 결정하기 위한 적어도 하나의 이미지의 이미지 프로세싱, 및 전방 휠과 후방 휠 사이의 거리, 결정된 회전 레이트에 기초한 관측된 차량의 선형 속도, 및 전방 휠의 상대 각도와 후방 휠의 상대 각도 사이의 차이에 기초하여 관측된 차량의 턴 레이트를 결정하는 단계를 더 포함할 수도 있다. 그러한 실시형태들은 관측된 차량의 턴 각도의 결정을 사용하여 호스트 차량의 시각 내비게이션 시스템을 증강시키는 단계를 더 포함할 수도 있다.
추가의 실시형태들은, 이미지 센서, 및 이미지 센서에 커플링되고 상기 요약된 실시형태 방법들 중 임의의 방법의 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성된 프로세서를 포함하는 차량을 포함한다. 상기 요약된 실시형태 방법들 중 임의의 방법의 동작을 수행하도록 구성된, 차량에서의 사용을 위한 프로세싱 디바이스. 추가의 실시형태들은 프로세서 실행가능 소프트웨어 명령들을 저장하고 있는 비일시적 프로세서 판독가능 저장 매체를 포함하고, 그 명령들은, 프로세서로 하여금, 상기 요약된 실시형태 방법들 중 임의의 방법의 동작들을 수행하게 하도록 구성된다. 추가의 실시형태들은 상기 요약된 실시형태 방법들 중 임의의 방법의 기능들을 수행하기 위한 수단을 포함하는 차량을 포함한다.
본 명세서에 통합되고 본 명세서의 부분을 구성하는 첨부 도면들은, 예시적인 양태들을 예시하고, 상기 주어진 일반적인 설명 및 이하에 주어진 상세한 설명과 함께, 다양한 실시형태들의 피처들을 설명하도록 제공한다.
도 1a 및 도 1b 는 다양한 실시형태들을 구현하기에 적합한 차량을 예시하는 컴포넌트 블록 다이어그램들이다.
도 1c 는 다양한 실시형태들을 구현하기에 적합한 차량의 컴포넌트들을 예시하는 컴포넌트 블록 다이어그램이다.
도 2a 는 다양한 실시형태들에 따른, 차량이 다른 차량을 관측하고 다른 차량의 액션들을 예측하는 것을 예시하는 다이어그램이다.
도 2b 는 다양한 실시형태들에 따른, 차량이 다른 차량의 예측된 액션들에 기초하여 액션들을 취하는 것을 예시하는 다이어그램이다.
도 2c 는 다양한 실시형태들에 따른 다른 차량의 식별된 휠을 예시하는 다이어그램이다.
도 2d 는 다양한 실시형태들에 따른 다른 차량의 식별된 휠을 예시하는 다이어그램이다.
도 2e 는 다양한 실시형태들에 따른 다른 차량의 식별된 휠을 예시하는 다이어그램이다.
도 2f 는 다양한 실시형태들에 따른, 차량이 턴을 하는 다른 차량을 관측하는 것을 예시하는 다이어그램이다.
도 3 은 다양한 실시형태들에 따라 센서 정보를 수집 및 분석하도록 구성될 수도 있는 차량에서의 사용을 위한 예시적인 시스템 온 칩의 컴포넌트들을 예시하는 블록 다이어그램이다.
도 4 는 다양한 실시형태들에 따른 다른 차량의 미래 위치를 예측하는 실시형태 방법을 예시하는 프로세스 플로우 다이어그램이다.
도 5 는 다양한 실시형태들에 따른 다른 차량의 휠의 회전 레이트를 결정하는 실시형태 방법을 예시하는 프로세스 플로우 다이어그램이다.
도 6 은 다양한 실시형태들에 따른 다른 차량의 휠의 치수비 (dimensional ratio) 를 계산하는 실시형태 방법을 예시하는 프로세스 플로우 다이어그램이다.
도 7 은 다양한 실시형태들에 따른 다른 차량의 턴 각도를 추정하는 실시형태 방법을 예시하는 프로세스 플로우 다이어그램이다.
다양한 양태들은 첨부 도면들을 참조하여 상세히 설명될 것이다. 가능한 경우에는, 동일한 참조 부호가 도면들 전반에 걸쳐 동일한 또는 유사한 부분들을 지칭하기 위해 사용될 것이다. 특정 예들 및 실시형태들에 대해 행해진 참조들은 예시적인 목적들을 위한 것이며, 다양한 양태들 또는 청구항들의 범위를 한정하도록 의도되지 않는다.
다양한 실시형태들은 방법들, 그 방법들을 구현하는 차량들 및 하나 이상의 휠들의 회전 및 배향을 결정하기 위해 이미지들을 프로세싱하는 것에 의해 관측된 차량의 미래 위치를 예측하기 위한 방법들을 구현하도록 구성되는 차량들에서의 사용을 위한 프로세싱 디바이스들을 포함한다. 다양한 실시형태들은 휠 회전 레이트들 및 배향을 분석함으로써 저속 차량들의 개선된 움직임 추정치 (motion estimates) 를 제공함으로써 자율 및 반자율 차량들의 동작을 개선시킬 수도 있다. 참조의 용이함을 위해, 용어 "호스트 차량" 은 다양한 실시형태들을 구현하는 차량을 지칭하는데 사용되는 한편, "다른 (other) 차량", "다른 (another) 차량" 및 "관측된 차량" 과 같은 용어들은 다양한 실시형태들을 사용하여 호스트 차량이 관측 및 추적하는 차량들을 지칭하는데 사용된다.
차들 및 트럭들과 같은 자율 및 반자율 차량들은 일반 도로에서 현실화되고 있다. 자율 및 반자율 차량들은 통상적으로, 호스트 차량 주변의 환경에 관한 정보를 수집하는, 카메라들, 레이더, 및 라이더를 포함하는 복수의 센서들을 포함한다. 그러한 수집된 정보는, 호스트 차량으로 하여금, 도로를 인식하게 하고, 피할 물체들을 식별하게 하고, 그리고 다른 차량들의 움직임 및 미래 위치를 추적하게 하여 부분 또는 완전 자율 내비게이션을 가능하게 할 수도 있다. 탑승자 또는 다른 운전자에 의해 작동된 경우라도, 그러한 수집된 정보는, 호스트 차량으로 하여금, 탑승자 또는 다른 운전자의 반응(들)을 촉진 및/또는 개선시킬 수 있게 할 수도 있다. 예를 들어, 수집된 정보는 탑승자 또는 다른 운전자가 브레이크를 걸도록 촉구되어야 하는 때를 결정하는데 사용될 수도 있다.
복수의 센서들은 호스트 차량에 관한 정보를 수집 가능할 수도 있지만, 그 센서들은 소정의 상황들 하에서 다른 차량들에 관한 정보를 수집하는데 효과적이지 않을 수도 있다. 예를 들어, 레이더는 시간의 경과에 따른 상대 위치의 변화 및 도플러 시프트에 기초하여 다가오는 차의 속도를 결정하는데 효과적일 수도 있지만, 레이더는 (예를 들어, 교차로에서의 또는 교차로 내의 교차 도로 상에서) 호스트 차량에 수직으로 배향된 차량의 속도를 결정하는데 효과적이지 않을 수도 있다. 다른 예로서, 호스트 차량의 자율 제어 시스템은 카메라 이미지들의 시퀀스 내에서 다른 차량들의 움직임을 인식함으로써 다른 차량들의 움직임을 결정하고 그 미래 위치를 예측할 수도 있다. 그러나, 그러한 카메라 기반 예측들의 정확도는, 호스트 차량에 거의 수직으로 배향된 다른 차량이 예컨대 교차로에서 저속으로 이동중일 때 제한될 수 있다. 이는 호스트 차량의 움직임으로 인해 모든 정지된 물체들이 이미지 프레임 간에 이동중인 것으로 보일 때, 호스트 차량 컴퓨팅 시스템이 카메라 이미지들을 프로세싱하는 것으로부터 저속 이동 차량의 상대 움직임을 인식하기 어려울 수도 있기 때문이다.
다양한 실시형태들은, 차량 휠들 상의 피처들이 다른 차량 자체보다 하나의 이미지 프레임으로부터 다음 이미지 프레임으로 더 큰 변위를 보일 것이기 때문에 다른 차량들의 휠들을 분석하는 것에 의해 저속 이동 차량들을 추적하는 정확도를 개선시킨다. 차량 속도의 정확한 추정치가 하나 이상의 휠들의 회전 레이트를 결정하고 휠 직경을 추정하는 호스트 차량 프로세서에 의해 계산될 수 있다. 추가적으로, 관측된 차량의 각도 배향이 휠의 주축들의 비율 (예를 들어, 수직 직경 대 수평 직경의 비율) 을 컴퓨팅함으로써 휠 이미지들에 기초하여 결정될 수 있고, 그것에 의해 관측된 차량의 미래 위치들을 예측하는데 도움이 될 수 있는 더 많은 정보를 제공할 수 있다. 일부 실시형태들에서, 타원을 이미지 데이터에 피팅하기 위한 알고리즘들이 관측된 휠의 각도 배향을 결정하는데 사용될 수도 있다.
다양한 실시형태들은 다른 차량들의 휠들을 인식하고 휠 회전 레이트 및 휠 직경을 측정함으로써 다른 차량들의 움직임을 추정하기 위해 카메라 이미지 프로세싱을 사용함으로써 다른 차량의 미래 위치를 예측하는 시스템들 및 방법들을 제공한다. 다양한 실시형태들에서, 자율 또는 반자율 차량 (즉, 호스트 차량) 의 프로세서는 디지털 카메라와 같은 이미지 센서에 의해 캡처된 이미지들의 시퀀스를 수신하고, 하나 이상의 다른 차량들의 존재를 식별하기 위해 이미지들의 시퀀스를 프로세싱할 수도 있다. 예를 들어, 호스트 차량의 카메라는 다른 차량이 교차로에 접근할 때 이미지들의 시퀀스를 캡처하고 다른 차량이 교차 도로 내에 위치되는지 또는 교차 도로 근처에 위치되는지를 결정하기 위해 이미지들을 프로세싱할 수도 있다. 본 명세서에서 설명된 예들은 단일 카메라를 언급하지만, 이는 오직 단순성을 위한 것이며, 이미지들의 시퀀스는 다중 카메라들에 의해 캡처된 이미지들을 포함할 수도 있으며, 그것에 의해 다중 뷰잉 각도들을 제공할 수도 있다.
다양한 실시형태들에서, 호스트 차량 프로세서는 다른 차량의 적어도 하나의 휠을 식별하기 위해 캡처된 이미지들의 시퀀스에 대해 이미지 프로세싱을 수행할 수도 있다. 그러한 이미지 프로세싱은 하나 이상의 이미지들을 교정하는 것 및 단일 이미지 프레임이 캡처되는 시간 동안 호스트 차량과 임의의 다른 차량들의 상대 움직임으로 인한 임의의 롤링 셔터 효과를 보상하는 것을 포함할 수도 있다. 프로세서는 이미지들을 추가로 프로세싱하여 식별된 휠(들)에서 하나 이상의 인식가능한 피처들을 식별 및 추적하고 그리고 휠(들)의 회전 레이트를 결정하기 위해 2 개 이상의 이미지들에 걸쳐 그러한 피처들의 위치를 추적할 수도 있다. 프로세서는 하나의 이미지 프레임으로부터 다음 이미지 프레임으로의 식별된 휠의 하나 이상의 피처들의 회전 각도 및 이미지 프레임들 사이의 시간에 기초하여 회전 레이트를 결정할 수도 있다. 예를 들어, 프로세서는 이미지들의 시퀀스로부터 제 1 이미지 및 제 2 이미지에서 식별된 휠의 마킹 (예를 들어, 캐릭터, 트레드 패턴, 컬러링 등) 또는 다른 양태 (예를 들어, 결함) 를 식별하고 그리고 2 개의 이미지들 사이의 식별된 피처의 위치 변화량을 결정할 수도 있다. 예를 들어, 프로세서는 각각의 이미지가 캡처되는 시간 및/또는 이미지 프레임 레이트에 기초하여 제 1 이미지와 제 2 이미지 사이에 경과된 시간량을 결정할 수도 있다. 프로세서는 식별된 피처들의 위치 변화에 기초하여 하나 이상의 식별된 피처들의 각도 움직임을 결정하고 그리고 그 각도 움직임을 제 1 이미지와 제 2 이미지 사이의 경과된 시간으로 나눔으로써 식별된 휠의 회전 레이트를 계산할 수도 있다.
다양한 실시형태들에서, 호스트 차량의 프로세서는 다른 차량이 각각의 회전으로 휠의 원주만큼 전진할 것이고 그 원주는 pi 곱하기 직경과 같기 때문에 하나 이상의 휠들의 결정된 회전 레이트 및 휠 직경의 추정치를 사용하여 다른 차량들의 속도를 추정할 수도 있다. 휠 직경은 레이더 및/또는 라이더 센서들에 의해 제공될 수도 있는 다른 차량까지의 거리 및 이미지 내의 관측된 직경 (예를 들어, 휠 직경에 걸쳐 있는 픽셀들의 수) 에 기초하여 프로세서에 의해 추정될 수도 있다. 휠 직경의 추정치가 직접 계산될 수 없더라도, 표준 휠 직경에 기초한 추정치는 하나의 이미지로부터 다음 이미지로의 다른 차량 바디의 위치의 상대적으로 작은 시프트에 기초하여 속도를 추정하는 것보다 다양한 실시형태 방법들을 사용하여 저속 이동 차량의 속도의 더 정확한 추정치를 제공할 수도 있다.
다양한 실시형태들에서, 프로세서는 호스트 차량에 대한 휠의 각도 배향, 및 따라서 호스트 차량에 대한 휠의 주행 방향을 결정하기 위해 식별된 휠(들)의 이미지들을 프로세싱할 수도 있다. 일부 실시형태들에서, 프로세서는 호스트 차량에 대한 휠의 각도 배향을 결정하기 위해 식별된 휠(들)의 주 타원 축들의 비율을 계산 또는 추정할 수도 있다. 예를 들어, 프로세서는 식별된 휠(들)의 수평 직경 및 수직 직경을 계산 또는 추정하고, 그리고 수평 직경 대 수직 직경의 비율을 계산하기 위해 그 2 개의 값들을 사용할 수도 있다. 호스트 차량에 대한 휠의 각도는 그 후 다른 차량의 베어링 각도 및 식별된 휠의 수평 직경 대 수직 직경의 비율에 기초하여 계산될 수 있다.
일부 실시형태들에서, 호스트 차량 프로세서는 다른 차량에 대한 베어링 각도와 결합한 식별된 휠(들)의 계산된 치수비에 기초하여 다른 차량의 주행 방향을 추정할 수도 있다. 단순한 예로서, 식별된 휠(들)의 계산된 치수비가 1 (즉, 계산된 수평 직경이 계산된 수직 직경과 같음) 이고 다른 차량이 호스트 차량 바로 앞에 있으면, 식별된 휠(들)은 호스트 차량에 수직으로 배향되고 프로세서는 다른 차량이 호스트 차량에 수직인 방향으로 주행중이라고 추정할 수도 있다. 다른 단순한 예로서, 식별된 휠의 계산된 치수비가 1 이고 다른 차량이 0 보다 더 큰 베어링 각도에 위치되면, 프로세서는 다른 차량이 호스트 차량과 다른 차량 사이에서 베어링 각도에 수직인 방향으로 주행중이라고 추정할 수도 있다.
일부 실시형태들에서, 호스트 차량 프로세서는 다른 차량이 턴하고 있다고 결정하고 후방 휠의 수평 직경 대 수직 직경에 비해 전방 휠의 수평 직경 대 수직 직경의 비율에 기초하여 다른 차량의 턴 각도를 추정할 수도 있다. 2 개의 휠 비율들이 상이하면, 이는 전방 휠이 턴되고, 따라서 다른 차량은 전진 또는 후진할 때 턴할 것임을 나타낸다. 일부 실시형태들에서, 프로세서는 휠 수평 직경 대 수직 직경의 개별의 비율들에 기초하여 다른 차량의 전방 휠 및 후방 휠의 각도를 결정하고, 그리고 전방 및 후방 휠들의 각도들 사이의 차이를 계산할 수도 있다. 계산된 각도 차이에 기초하여, 프로세서는 다른 차량이 직선으로 주행중이거나 또는 주행할 것인지 또는 턴하고 있거나 또는 턴할 것인지를 결정할 수도 있다. 예를 들어, 전방 휠의 각도와 후방 휠의 각도 사이에 차이가 없으면 (즉, 계산된 차이는 0 과 같음), 프로세서는 다른 차량이 직선으로 주행할 것이라고 추정할 수도 있다. 다른 예로서, 전방 및 후방 휠들의 각도들이 상이하면 (즉, 계산된 차이는 0 보다 더 크거나 또는 0 보다 더 작음), 프로세서는 다른 차량이 이동할 때 턴하고 있거나 또는 턴할 것이라고 추정할 수도 있고, 그리고 휠들 사이의 각도 차이에 기초하여 턴 아크 (turning arc) 의 반경을 추정할 수도 있다.
일부 실시형태들에서, 프로세서는, 다른 차량의 휠들의 이미지들을 프로세싱하는 것에 적어도 부분적으로 기초하여 전부 결정되는 추정된 주행 방향, 추정된 주행 속도, 및 추정된 턴 각도에 기초하여 다른 차량의 미래 위치를 예측할 수도 있다. 예를 들어, 추정된 주행 속도가 0 이면, 프로세서는 다른 차량이 정지된 상태로 유지될 것이라고 예측하고 그 다른 차량을, 안전 주행 경로를 결정하는 동안 고정된 물체로서 취급할 수도 있다.
다양한 실시형태들에서, 호스트 차량 프로세서는 주행 방향 추정치, 주행 속도 추정치, 턴 각도 추정치, 및/또는 미래 위치 예측을 활용하여 시각 내비게이션 및/또는 충돌 방지 프로세스들을 증강시킬 수도 있다. 예를 들어, 다른 차량이 호스트 차량의 주행 경로를 횡단하고 있을 수도 있다고 미래 위치 예측이 나타내면, 그러한 예측은 브레이크를 거는 충돌 방지 프로세스를 증강시키는데 활용될 수도 있다. 다른 예에서, 주행 방향이 호스트 차량의 주행 방향에 수직이고, 추정된 주행 속도가 3 M.P.H 이고, 그리고 추정된 턴 각도가 0 이면, 프로세서는 다른 차량이 교차로에 진입하고 있거나 또는 다르게는 호스트 차량의 주행 경로를 횡단하고 있을 것이라고 예측하고, 그리고 안전 주행 경로를 결정하는 동안 충돌 방지 알고리즘들에 그러한 위치 예측들을 포함할 수도 있다.
다양한 실시형태들은 다양한 호스트 차량들 내에서 구현될 수도 있고, 그 예시적인 차량 (100) 은 도 1a 및 도 1b 에 예시된다. 도 1a 및 도 1b 를 참조하면, 호스트 차량 (100) 은 호스트 차량 (100) 내의 또는 상의 물체들 및 사람들에 관한 센서 데이터는 물론 자율 및 반자율 내비게이션에서 수반되는 다양한 목적들을 위해 사용되는 호스트 차량 내 또는 상에 배치된 복수의 센서들 (102 내지 138) 을 포함할 수도 있다. 센서들 (102 내지 138) 은 내비게이션 및 충돌 방지에 유용한 다양한 정보를 검출할 수 있는 매우 다양한 센서들 중 하나 이상을 포함할 수도 있다. 센서들 (102 내지 138) 의 각각은 제어 유닛 (140) 과 뿐만 아니라 서로 유선 또는 무선 통신할 수도 있다. 특히, 센서들은 하나 이상의 카메라들 (122, 136) 또는 다른 광학 센서들 또는 포토 옵틱 센서들을 포함할 수도 있다. 센서들은 다른 타입들의 물체 검출 및 레인징 센서들, 이를 테면 레이더 (132), 라이더 (138), IR 센서들, 및 초음파 센서들을 더 포함할 수도 있다. 센서들은 타이어 압력 센서들 (114, 120), 습도 센서들, 온도 센서, 위성 지오포지셔닝 센서들 (108), 가속도계들, 진동 센서들, 자이로스코프들, 중력계들, 충돌 센서들 (130), 힘 미터들, 응력 미터들, 변형 센서들, 유체 센서들, 화학 센서들, 가스 함량 분석기들, pH 센서들, 방사선 센서들, 가이거 카운터들, 중성자 검출기들, 생물학적 물질 센서들, 마이크로폰들 (124, 134), 점유 센서들 (112, 116, 118, 126, 128), 근접 센서들, 움직임 센서들, 및 다른 센서들을 더 포함할 수도 있다.
호스트 차량 제어 유닛 (140) 은 다양한 센서들, 특히 카메라들 (122, 136) 로부터 수신된 정보를 사용하여 다양한 실시형태들을 수행하기 위한 프로세서 실행가능 명령들로 구성될 수도 있다. 일부 실시형태들에서, 제어 유닛 (140) 은 레이더 (132) 및/또는 라이더 (138) 센서들로부터 획득될 수도 있는 거리 및 상대 위치 (예를 들어, 상대 베어링 각도) 를 사용하여 카메라 이미지들의 프로세싱을 보충할 수도 있다. 제어 유닛 (140) 은 다양한 실시형태들을 사용하여 결정된 다른 차량들에 관한 정보를 사용하여 자율 또는 반자율 모드에서 작동할 때 호스트 차량 (100) 의 스티어링, 브레이킹 및 속도를 제어하도록 추가로 구성될 수도 있다.
도 1c 는 다양한 실시형태들을 구현하기에 적합한 컴포넌트들 및 서포트 시스템들의 시스템 (150) 을 예시하는 컴포넌트 블록 다이어그램이다. 도 1a, 도 1b, 및 도 1c 를 참조하면, 호스트 차량 (100) 은 호스트 차량 (100) 의 동작을 제어하는데 사용되는 다양한 회로들 및 디바이스들을 포함할 수도 있는 제어 유닛 (140) 을 포함할 수도 있다. 제어 유닛 (140) 은 호스트 차량 (100) 의 구동 제어 컴포넌트들 (154), 내비게이션 컴포넌트들 (156), 및 하나 이상의 센서들 (158) 에 커플링되고 이들을 제어하도록 구성될 수도 있다.
본 명세서에서 사용된 바와 같이, 용어들 "컴포넌트", "시스템", "유닛" 등은 하드웨어, 펌웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행중인 소프트웨어와 같지만 이에 한정되지는 않는 컴퓨터 관련 엔티티를 포함하며, 이는 특정 동작들 또는 기능들을 수행하도록 구성된다. 예를 들어, 컴포넌트는 프로세서 상에서 실행되는 프로세스, 프로세서, 오브젝트, 실행가능물 (executable), 실행 스레드 (thread of execution), 프로그램, 및/또는 컴퓨터일 수도 있지만, 이에 한정되지는 않는다. 예시로서, 통신 디바이스 상에서 실행되는 애플리케이션과 통신 디바이스 양자 모두는 컴포넌트로 지칭될 수도 있다. 하나 이상의 컴포넌트들은 프로세스 및/또는 실행 스레드 내에 상주할 수도 있고 컴포넌트는 하나의 프로세서 또는 코어에 국부화되고 및/또는 2 개 이상의 프로세서들 또는 코어들 사이에서 분산될 수도 있다. 추가로, 이들 컴포넌트들은 다양한 명령들 및/또는 데이터 구조들을 저장하고 있는 다양한 비일시적 컴퓨터 판독가능 매체들로부터 실행할 수도 있다. 컴포넌트들은 로컬 및/또는 원격 프로세스들, 함수 또는 절차 호출들, 전자 신호들, 데이터 패킷들, 메모리 판독/기입들, 및 다른 알려진 컴퓨터, 프로세서, 및/또는 프로세스 관련 통신 방법론들에 의해 통신할 수도 있다.
제어 유닛 (140) 은 다양한 실시형태들의 동작들을 포함하여, 호스트 차량 (100) 의 머뉴버링 (maneuvering), 내비게이션, 및 다른 동작들을 제어하기 위한 프로세서 실행가능 명령들로 구성된 프로세서 (164) 를 포함할 수도 있다. 프로세서 (164) 는 메모리 (166) 에 커플링될 수도 있다. 제어 유닛 (140) 은 입력 모듈 (168), 출력 모듈 (170), 및 무선 모듈 (172) 을 포함할 수도 있다.
무선 모듈 (172) 은 무선 통신을 위해 구성될 수도 있다. 무선 모듈 (172) 은 신호들 (182) (예를 들어, 머뉴버링을 제어하기 위한 커맨드 신호들, 내비게이션 시설들로부터의 신호들 등) 을 네트워크 트랜시버 (180) 와 교환할 수도 있고, 신호들 (182) 을 프로세서 (164) 및/또는 내비게이션 유닛 (156) 에 제공할 수도 있다. 일부 실시형태들에서, 무선 모듈 (172) 은 호스트 차량 (100) 으로 하여금, 무선 통신 링크 (192) 를 통해 무선 통신 디바이스 (190) 와 통신할 수 있게 할 수도 있다. 무선 통신 링크 (192) 는 양방향 또는 단방향 통신 링크일 수도 있고, 하나 이상의 통신 프로토콜들을 사용할 수도 있다.
입력 모듈 (168) 은 하나 이상의 차량 센서들 (158) 로부터의 센서 데이터 뿐만 아니라, 구동 제어 컴포넌트들 (154) 및 내비게이션 컴포넌트들 (156) 을 포함하여, 다른 컴포넌트들로부터의 전자 신호들을 수신할 수도 있다. 출력 모듈 (170) 은 구동 제어 컴포넌트들 (154), 내비게이션 컴포넌트들 (156), 및 센서(들) (158) 를 포함하여, 호스트 차량 (100) 의 다양한 컴포넌트들과 통신하거나 또는 그들을 활성화하는데 사용될 수도 있다.
제어 유닛 (140) 은 엔진, 모터들, 스로틀들, 스티어링 엘리먼트들, 플라이트 제어 엘리먼트들, 브레이킹 또는 감속 엘리먼트들 등과 같은, 호스트 차량의 머뉴버링 및 내비게이션에 관련된 호스트 차량 (100) 의 물리적 엘리먼트들을 제어하기 위해 구동 제어 컴포넌트들 (154) 에 커플링될 수도 있다. 구동 제어 컴포넌트들 (154) 은 또한, 환경 제어들 (예를 들어, 에어 컨디셔닝 및 히팅), 외부 및/또는 내부 조명, 내부 및/또는 외부 정보 디스플레이들 (디스플레이 스크린 또는 정보를 디스플레이하기 위한 다른 디바이스들을 포함할 수도 있음), 및 다른 유사한 디바이스들을 포함하여, 호스트 차량의 다른 디바이스들을 제어하는 컴포넌트들을 포함할 수도 있다.
제어 유닛 (140) 은 내비게이션 컴포넌트들 (156) 에 커플링될 수도 있고, 내비게이션 컴포넌트들 (156) 로부터 데이터를 수신하고 그러한 데이터를 사용하여 호스트 차량 (100) 의 현재 위치 및 배향 뿐만 아니라 목적지를 향하는 적절한 코스를 결정하도록 구성될 수도 있다. 다양한 실시형태들에서, 내비게이션 컴포넌트들 (156) 은, 호스트 차량 (100) 으로 하여금, GNSS 신호들을 사용하여 그의 현재 위치를 결정할 수 있게 하는 글로벌 내비게이션 위성 시스템 (GNSS) 수신기 시스템 (예를 들어, 하나 이상의 글로벌 포지셔닝 시스템 (GPS) 수신기들) 을 포함하거나 또는 그에 커플링될 수도 있다. 대안적으로 또는 추가로, 내비게이션 컴포넌트들 (156) 은 무선 노드들, 이를 테면 Wi-Fi 액세스 포인트들, 셀룰러 네트워크 사이트들, 무선국, 원격 컴퓨팅 디바이스들, 다른 차량들 등으로부터 내비게이션 비컨들 또는 다른 신호들을 수신하기 위한 무선 내비게이션 수신기들을 포함할 수도 있다. 구동 제어 엘리먼트들 (154) 의 제어를 통해, 프로세서 (164) 는 내비게이션 및 머뉴버링하도록 호스트 차량 (100) 을 제어할 수도 있다. 프로세서 (164) 및/또는 내비게이션 컴포넌트들 (156) 은 머뉴버링을 제어하기 위한 커맨드들을 수신하고, 내비게이션에 유용한 데이터를 수신하고, 실시간 위치 레포트들을 제공하고 그리고 다른 데이터를 평가하기 위해 셀룰러 데이터 네트워크 (180) 와의 무선 접속 (182) 을 사용하여 네트워크 (186) (예를 들어, 인터넷) 상에서 서버 (184) 와 통신하도록 구성될 수도 있다.
제어 유닛 (140) 은 하나 이상의 센서들 (158) 에 커플링될 수도 있다. 센서(들) (158) 는 설명된 바와 같은 센서들 (102 내지 138) 을 포함할 수도 있고, 프로세서 (164) 에 다양한 데이터를 제공하도록 구성될 수도 있다.
제어 유닛 (140) 은 별도의 컴포넌트들로서 설명되지만, 일부 실시형태들에서, 컴포넌트들 (예를 들어, 프로세서 (164), 메모리 (166), 입력 모듈 (168), 출력 모듈 (170), 및 무선 모듈 (172)) 중 일부 또는 전부는 시스템 온 칩 (SOC) 프로세싱 디바이스와 같은 단일 디바이스 또는 모듈에 통합될 수도 있다. 그러한 SOC 프로세싱 디바이스는 차량들에서의 사용을 위해 구성될 수도 있고 프로세서 (164) 에서 실행되는 프로세서 실행가능 명령들로와 같이, 호스트 차량에 설치될 때 다양한 실시형태들의 동작들을 수행하도록 구성될 수도 있다.
다양한 실시형태들에서 수반되는 피처 추적 및 분석 동작들이 도 2a 내지 도 2f 에 예시되고 도 1a 내지 도 2f 를 참조하여 설명된다. 도 2a, 도 2b 및 도 2f 는 다양한 실시형태들에 따른, 호스트 차량 (100) 이 다른 차량 (204) 의 주행 속도 및 방향을 추정하는 것을 예시하는 다이어그램들이다. 도 2c 내지 도 2e 는 프로세서 (예를 들어, 164) 또는 제어 유닛 (예를 들어, 140) 에 의해 행해질 수도 있는 측정들을 예시하는 다른 차량의 이미지들의 부분의 예시들이다.
도 2a 는 호스트 차량 (100) 과 다른 차량 (204) 이 교차로 (206) 에서 서로 접근하는 것의 예를 예시한다. 예시된 예에서, 호스트 차량 (100) 및 제 2 다른 차량 (204) 은 교차로 (206) 를 향하여 수직 경로들을 따라 주행하고 있고, 여기서 호스트 차량 (100) 은 교차로 (206) 에 접근하고 있고 다른 차량 (204) 은 교차로 (206) 에 멈춰있거나 또는 교차로 (206) 에 진입하기 시작한다.
호스트 차량 (100) 상의 카메라 (122) 는 다른 차량 (204) 의 하나 이상의 이미지들 (202) 을 캡처할 수도 있고 제어 유닛 (예를 들어, 140), 제어 유닛 (140) 내의 프로세서 (예를 들어, 164), 또는 다른 프로세서 디바이스 (일반적으로 본 명세서에서 "프로세서" 로 지칭됨) 는 캡처된 이미지들의 이미지 프로세싱을 수행할 수도 있다. 예를 들어, 호스트 차량 (100) 은 하나 이상의 카메라들을 활용하여 비디오 또는 이미지들 (202) 의 시퀀스를 캡처하고 이미지들을 프로세싱하여 다른 차량 (204) 이 하나 이상의 이미지들에 존재하는지 여부를 결정할 수도 있다. 다른 차량 (204) 이 하나 이상의 이미지들에서 식별되면, 호스트 차량 (100) 내의 프로세서는 다른 차량 (204) 의 적어도 하나의 휠 (214, 215) 을 식별하기 위해 (점선들 (202) 에 의해 표시된 바와 같은) 다른 차량 (204) 을 포함하는 캡처된 이미지들의 부분들에 대해 이미지 프로세싱을 수행할 수도 있다. 다양한 예들이 적어도 하나의 휠을 식별하는 것을 설명하지만, 이는 오직 단순성을 위한 것이며 2 개 이상의 휠들이 신뢰성을 개선하고 리던던시를 제공하기 위해 식별될 수도 있다. 4 개 초과의 휠들을 가진 차량들 (예를 들어, 트럭들 및 트레일러들) 에서는, 2 개 초과의 휠들의 이미지들이 회전 레이트 및 상대 각도의 추정치에 있어서 에러를 더욱 감소시키기 위하여 프로세싱될 수도 있다. 예시된 예에서, 호스트 차량 (100) 의 프로세서는 다른 차량 (204) 의 전방 휠 (214) 및 후방 휠 (215) 을 식별하였다. 다양한 실시형태들에서, 호스트 차량 (100) 의 프로세서는 다른 차량들의 휠들을 식별하기에 충분한 피처 식별을 수행하기 위해 임의의 적합한 이미지 프로세싱 방법(들)을 활용할 수도 있다. 일부 실시형태들에서, 프로세서는 하나 이상의 이미지들을 교정하고 및/또는 이미지 프레임들이 캡처되는 시간 동안 차량들의 상대 움직임 및 그들의 휠들의 회전들로 인한 임의의 롤링 셔터 효과를 보상할 수도 있다.
도 2c 및 도 2d 를 참조하면, 프로세서는 휠 회전을 측정하기 위해 하나의 이미지 프레임으로부터 다음 이미지 프레임으로 추적될 수 있는 하나 이상의 피처들 (260) 을 식별하기 위해 식별된 휠 (214, 215) 을 포함하는 캡처된 이미지들의 부분들의 추가 이미지 프로세싱을 수행할 수도 있다. 일부 실시형태들에서, 호스트 차량 (100) 의 프로세서는 하나의 이미지 (또는 이미지 프레임) 로부터 다음 이미지로 휠들 상의 하나 이상의 추적된 피처들의 위치의 변화를 측정하고, 이미지들 사이에 경과된 시간을 노트함으로써 다른 차량 (204) 의 식별된 휠(들) (214, 215) 의 회전 레이트를 결정할 수도 있다. 예를 들어, 호스트 차량 (100) 의 프로세서는 제 1 캡처된 이미지 (도 2c) 와 제 2 캡처된 이미지 (도 2d) 사이에서 휠 (214, 215) 상의 하나 이상의 식별된 마킹들 또는 다른 피처들 (260) 의 각도 위치 변화 (262) 를 결정하고 제 1 캡처된 이미지와 제 2 캡처된 이미지 사이에 경과된 시간량을 결정할 수도 있다. 예시된 예에서, 제 1 이미지 프레임 (도 2c) 은 시각 04:15:00 에 캡처되었고 제 2 이미지 프레임 (도 2d) 은 시각 04:15:03 에 캡처되었고, 그래서 2 개의 이미지들 사이에 경과된 시간은 3 초였다. 휠 (214) 상의 추적된 피처 (260) 의 각도 위치 변화량 (262) 및 휠의 이미지들 사이에 경과된 시간량에 기초하여, 프로세서는 단순 분할 (simple division) 에 의해 다른 차량 (204) 의 휠의 회전 레이트를 결정할 수도 있다.
다른 차량 (204) 의 휠(들) (214, 215) 의 결정된 회전 레이트에 기초하여, 호스트 차량 (100) 의 프로세서는 다른 차량의 속도를 추정할 수도 있다. 잘 알려진 바와 같이, 휠의 원주는 π (pi) 곱하기 휠 직경 (270) 과 같고, 그래서 다른 차량의 속도는 결정된 회전 레이트 곱하기 직경 곱하기 π 에 기초하여 추정될 수도 있다. 휠 직경 (270) 은 이미지 프로세싱을 통해, 이를 테면, 직경에 걸쳐 있는 픽셀들의 관점에서와 같이, 이미지에서의 휠 (270) 의 상대 사이즈 및 카메라 (122) 로부터 휠까지의 거리 (즉, 긴 선 (long line) (218)) 를 알게 하는 삼각법을 사용함으로써 프로세서에 의해 결정될 수도 있다. 카메라 (122) 로부터 휠 (144) 까지의 거리는 알려진 거리만큼 분리된 2 개의 카메라들 (122, 136) 에 의해 휠이 이미징될 때 스테레오 카피 또는 레이더 및/또는 라이더에 의한 거리 측정들과 같은, 다수의 기법들을 사용하여 추정될 수도 있다. 대안적으로, 프로세서는 메모리에 저장될 수도 있는 그러한 계산들로서 표준 휠 직경을 사용할 수도 있다. 일부 실시형태들에서, 프로세서는 다른 차량의 모델을 인식하고 다른 차량과 연관된 표준 타이어 직경을 룩업하고, 그리고 그 타이어 직경을 다른 차량 속도의 계산 시 사용하도록 구성될 수도 있다.
일부 실시형태들에서, 호스트 차량 (100) 의 프로세서는 또한, 다른 차량 (204) 의 휠들 (214, 215) 의 배향을, 그 차량의 주행 방향 및/또는 턴 반경을 결정하는데 있어서의 사용을 위해 결정할 수도 있다. 그러한 정보는 차량 안전 시스템들 또는 자율/반자율 차량 제어 시스템들에서 구현되는 충돌 방지 및 내비게이션 프로세스들에 매우 유용할 수도 있다. 일부 실시형태들에서, 프로세서는 휠에 대한 관측된 수평 직경 (272) 대 관측된 수직 직경 (270) 의 비율을 계산함으로써 다른 차량 휠들 (214, 215) 의 배향을 결정할 수도 있다. 다시, 프로세서는 픽셀들의 관점에서와 같이, 이미지 프레임 내의 이들 치수들의 범위 (span) 를 측정하고 휠까지의 거리를 아는 것에 의해 다른 차량 (204) 의 전방 휠 (214) 의 수평 직경 (272) 및 수직 직경 (270) 을 결정하기 위해 이미지 프로세싱 및 삼각법 계산들을 수행할 수도 있다. 그러나, 휠들 (214, 215) 의 상대 배향을 결정하는 목적들을 위해 직경 측정치 (measurements) 는 그 측정치가 수평 직경 대 수직 직경의 비율을 계산하기 위해 프로세서에 의해 사용될 수도 있기 때문에 상대 측정치 (예를 들어, 픽셀들) 일 수도 있다.
프로세서는 비율이 상대 배향의 사인 (sine) 에 관련되기 때문에, 호스트 차량의 카메라에 대한 휠의 배향을 결정하기 위해 수평 직경 대 수직 직경의 비율을 사용하도록 구성될 수도 있다. 예를 들어, 도 2c 및 도 2d 에 예시된 바와 같이, 휠 (214) 이 카메라 (예를 들어, 122) 바로 앞에 있고 카메라에 수직으로 배향될 때, 휠 수직 직경 (270) 은 수평 직경 (272) 과 같을 것이고, 따라서 직경들의 비율은 1 과 같을 것이다. 도 2e 에 예시된 바와 같이, 휠 (214) 이 카메라에 비스듬히 배향될 때, 휠 수직 직경 (270) 은 수평 직경 (272) 보다 더 클 것이고, 따라서 수평 대 수직 직경들의 비율은 1 미만일 것이다. 휠 (214) 의 상대 배향이 수직 (즉, 90°) 과 다를수록, 수평 직경 대 수직 직경의 비율이 더 작아진다.
도 2a 를 참조하면, 호스트 차량 (100) 의 카메라 (122) 에 대한 휠 (214) 의 상대 배향은 휠 (214) 에 대한 뷰잉 각도 (216) (즉, 휠로의 가시선 (218) 과 카메라 (122) 의 순방향 사이의 각도) 와 카메라 (122) 에 대한 휠의 주행 방향의 조합이다. 일부 실시형태들에서, 뷰잉 각도 (216) 는 이미지 중심선으로부터 휠의 이미지 내의 거리 (예를 들어, 픽셀들 단위) 를 결정하기 위해 캡처된 이미지들의 프로세싱을 통해 프로세서에 의해 결정될 수도 있다. 다른 차량 (204) 의 휠 (214) 이 도 2a 에 예시된 바와 같이, 호스트 차량 (100) 상의 카메라에 수직으로 배향되면, 휠 (214) 의 상대 배향은 뷰잉 각도 (216) 와 같을 것이다. 따라서, 휠 (214) 의 수평 직경 대 수직 직경의 비율이 다른 차량 (204) 에 대한 상대 뷰잉 각도와 일치한다고 프로세서가 결정하면, 프로세서는 다른 차량이 호스트 차량 (100) 의 방향과 수직인 방향으로 이동중이라고 결정할 수 있다. 그러나, 다른 차량 (204) 이 호스트 차량 (100) 에 대해 수직이 아닌 다른 방향으로 주행중이라면, 휠 (214) 의 상대 배향은, 뷰잉 각도 (216) 에, 90 도에서 2 개의 차량들의 주행 방향들 (208, 210) 사이의 각도 (220) (이는 도 2a 및 도 2b 에 예시된 예에서 90 도임) 를 뺀 값과 같은 각도를 더한 값과 같을 것이다. 따라서, 프로세서는 다른 차량의 휠(들) (214, 250) 의 수평 직경 대 수직 직경의 비율 및 휠들에 대한 뷰잉 각도 (216) 를 결정함으로써 다른 차량 (204) 의 주행 방향을 결정 가능하다.
도 2a 및 도 2b 에 예시된 예에서, 전방 휠은 턴되지 않으며, 그래서 휠의 주행 방향은 다른 차량 (204) 의 주행 방향 (210) 과 정렬된다. 따라서, 프로세서는 다른 차량 (204) 의 미래 위치를 그 주행 방향 및 결정된 속도에 기초하여 추정하고, 충돌을 방지하기 위한 적절한 액션들을 취할 수 있다. 예를 들어, 도 2b 에 예시된 바와 같이, 호스트 차량 (100) 의 프로세서는, 다른 차량 (204) 휠들 (214, 215) 의 결정된 회전 레이트 및 사이즈, 및 휠들 (214, 215) 의 상대 배향에 기초하여, 다른 차량이 충돌을 초래할 레이트로 교차로에 진입중이었다고 결정했을 수도 있고, 따라서 호스트 차량 (100) 보다 먼저 다른 차량 (204) 이 교차로 (206) 를 통과할 수 있도록 감속하도록 (더 짧은 화살표 (208) 에 의해 표시됨) 브레이크를 걸 수도 있다.
도 2f 를 참조하면, 일부 실시형태들에서, 호스트 차량 (100) 의 프로세서는 다른 차량 (204) 이 턴을 하게 되는지 여부를 결정하고 그러한 턴의 각도 또는 경로를 추정하기 위해 전방 휠들 (240) 및 후방 휠들 (252) 의 수평 대 수직 직경들의 결정된 비율들을 사용할 수도 있다. 이를 위해, 호스트 차량 (100) 의 프로세서는 다른 차량 (204) 의 전방 휠 (214) 의 상대 배향 및 후방 휠 (250) 의 상대 배향을 결정하고 차량들의 주행 방향이 상이한지 여부를 결정할 수도 있다. 전방 및 휘방 휠들이 상이한 각도들로 배향된다고 프로세서가 결정하면, 프로세서는 휠들 사이의 각도 차이 및 휠들 사이의 거리에 기초하여 턴 각도 또는 턴 반경을 추정할 수도 있다. 일부 실시형태들에서, 프로세서는 휠들 사이의 각도 차이를 결정하기 위해 전방 휠 (214) 을 후방 휠 (250) 에 맵핑하도록 이미지 프로세싱을 활용할 수도 있다.
단일 휠의 주행 방향을 결정하는 것과 유사하게, 프로세서는 전방 휠 (214) 및 후방 휠 (215) 의 각각의 수평 직경 (272) 대 수직 직경 (270) 의 비율을 계산할 수도 있다. 프로세서는 캡처된 이미지들을 프로세싱함으로써 전방 휠 (214) 에 대한 뷰잉 각도 (216), 및 후방 휠 (215) 에 대한 뷰잉 각도 (217) (즉, 카메라 (122) 의 포인팅 방향 (208) 과 후방 휠 (215) 로의 가시선 (219) 사이의 각도) 를 추가로 결정할 수도 있다. 프로세서는 그 후 개별의 직경 비율들과 결합된 이들 각도들을 사용하여 카메라 (122) 에 대한 전방 및 후방 휠들의 배향을 결정할 수도 있다. 프로세서는 또한, 전방 휠 (214) 과 후방 휠 (215) 사이의 거리 (즉, 휠베이스) 를 캡처된 이미지들로부터 결정할 수도 있다. 측정된 휠베이스와 전방 및 후방 휠들의 배향들 사이의 각도 차이를 사용하여, 프로세서는 그 후 다른 차량 (204) 이 따를 가능성이 있는 곡선 주행 경로 (211) 를 예측할 수 있다.
추정된 주행 방향, 추정된 주행 속도, 및 추정된 턴 각도 또는 예측된 곡선 주행 경로에 기초하여, 호스트 차량 (100) 의 프로세서는 다른 차량 (204) 의 미래 위치들을 예측할 수도 있고, 그러한 결정들은 호스트 차량 (100) 의 (프로세서에 커플링될 수도 있거나 또는 프로세서 내에서 실행중일 수도 있는) 충돌 방지 모듈과 공유될 수도 있다. 예를 들어, 호스트 차량 (100) 의 프로세서는 도 2b 에 도시된 바와 같이 호스트 차량 (100) 에 충돌 위험을 제기할 수도 있는 방식으로 다른 차량 (204) 이 교차로 (206) 를 통과하여 진행하고 있을 것이라고 예측할 수도 있다. 다른 예로서, 호스트 차량 (100) 의 프로세서는 도 2f 에 예시된 바와 같이, 호스트 차량 (100) 에 충돌 위험을 제기할 수도 있거나 또는 제기하지 않을 수도 있는 방식으로 다른 차량 (204) 이 교차로 (206) 를 통과하여 턴을 완료할 것이라고 예측할 수도 있다.
일부 실시형태들에서, 호스트 차량 (100) 의 프로세서는 다른 차량 (204) 의 추정된 주행 방향, 추정된 주행 속도, 추정된 턴 각도, 및/또는 예측된 미래 위치를 활용하여 시각 내비게이션 및/또는 충돌 방지 프로세스들 또는 시스템들을 증강시킬 수도 있다. 예를 들어, 도 2b 에 도시된 시나리오에서, 호스트 차량 (100) 의 충돌 방지 모듈 (프로세서에 커플링될 수도 있거나 또는 프로세서 내에서 실행중일 수도 있음) 은 다른 차량 (204) 과의 충돌을 방지하기 위하여 호스트 차량 (100) 의 속도를 늦추도록 브레이크를 걸었다. 다른 예로서, 도 2f 에 도시된 시나리오에서, 호스트 차량 (100) 의 프로세서에서 실행되는 충돌 방지 모듈은 다른 차량 (204) 과의 충돌을 방지하기 위하여 호스트 차량과 동일한 도로에서 턴할 때 브레이크를 걸고 호스트 차량 (100) 의 스티어링을 조정할 수도 있다.
도 3 은 차량들에서 다양한 실시형태들을 구현하기에 적합한 프로세싱 디바이스 시스템 온 칩 (SOC) (300) 의 예시적인 SOC 아키텍처를 예시한다. 프로세싱 디바이스 SOC (300) 는 디지털 신호 프로세서 (DSP) (303), 모뎀 프로세서 (304), 이미지 프로세서 (306), 모바일 디스플레이 프로세서 (MDP) (307), 애플리케이션 프로세서 (308), 및 리소스 및 전력 관리 (RPM) 프로세서 (317) 와 같은, 다수의 이종 프로세서들을 포함할 수도 있다. 프로세싱 디바이스 SOC (300) 는 또한, 이종 프로세서들 (303, 304, 306, 307, 308, 317) 중 하나 이상에 접속된 하나 이상의 코프로세서들 (310) (예를 들어, 벡터 코프로세서) 을 포함할 수도 있다. 프로세서들의 각각은 하나 이상의 코어들, 및 독립/내부 클럭을 포함할 수도 있다. 각각의 프로세서/코어는 다른 프로세서들/코어들에 독립적으로 동작들을 수행할 수도 있다. 예를 들어, 프로세싱 디바이스 SOC (300) 는 제 1 타입의 오퍼레이팅 시스템 (예를 들어, FreeBSD, LINUX, OS X 등) 을 실행하는 프로세서 및 제 2 타입의 오퍼레이팅 시스템 (예를 들어, 마이크로소프트 윈도우즈) 을 실행하는 프로세서를 포함할 수도 있다. 일부 실시형태들에서, 애플리케이션 프로세서 (308) 는 SOC (300) 의 메인 프로세서, 중앙 프로세싱 유닛 (CPU), 마이크로프로세서 유닛 (MPU), 산술 논리 유닛 (ALU) 등일 수도 있다. 그래픽 프로세서 (306) 는 그래픽 프로세싱 유닛 (GPU) 일 수도 있다.
프로세싱 디바이스 SOC (300) 는 센서 데이터, 아날로그-디지털 변환들, 무선 데이터 송신들을 관리하기 위한, 그리고 다른 전문화된 동작들을 수행하기 위한, 이를 테면, 웹 브라우저에서 렌더링하기 위한 인코딩된 오디오 및 비디오 신호들을 프로세싱하기 위한 아날로그 회로부 및 커스텀 회로부 (314) 를 포함할 수도 있다. 프로세싱 디바이스 SOC (300) 는 전압 레귤레이터들, 오실레이터들, 위상 록킹 루프들, 주변 브리지 (peripheral bridge) 들, 데이터 제어기들, 메모리 제어기들, 시스템 제어기들, 액세스 포트들, 타이머들, 및 컴퓨팅 디바이스 상에서 구동하는 프로세서들 및 소프트웨어 클라이언트들 (예를 들어, 웹 브라이저) 을 지원하는데 사용되는 다른 유사한 컴포넌트들과 같은 시스템 컴포넌트들 및 리소스들 (316) 을 더 포함할 수도 있다.
프로세싱 디바이스 SOC (300) 는 또한, 하나 이상의 카메라들 (122, 136) (예를 들어, 프라이머리 카메라, 웹캠, 3D 카메라 등) 의 동작들, 카메라 펌웨어로부터의 비디오 디스플레이 데이터, 이미지 프로세싱, 비디오 프리프로세싱, VFE (video front-end), 인-라인 JPEG, 고화질 비디오 코덱 등을 포함, 제공, 제어 및/또는 관리하는 전문화된 회로부 (CAM) (305) 를 포함한다. CAM (305) 은 독립 프로세싱 유닛일 수도 있고 및/또는 독립 또는 내부 클럭을 포함할 수도 있다.
일부 실시형태들에서, 이미지 프로세서 (306) 는 다양한 실시형태들에서 수반되는 이미지 프로세싱 분석들을 수행하도록 구성된 전문화된 하드웨어 및/또는 프로세서 실행가능 명령들로 구성될 수도 있다. 예를 들어, 이미지 프로세서 (306) 는 다른 차량들을 인식 및/또는 식별하기 위해 CAM (305) 을 통해 카메라들 (예를 들어, 122, 136) 로부터 수신된 이미지들을 프로세싱하는 동작들을 수행하고, 그러한 차량들의 휠들을 식별 및 추적하기 위해 다른 차량들을 포함하는 이미지들의 부분들을 추가로 프로세싱하도록 구성될 수도 있다. 일부 실시형태들에서, 이미지 프로세서 (306) 는 식별된 휠들의 회전 레이트들을 결정하고, 식별된 휠들의 상대 배향들을 결정하고, 다른 차량의 휠들의 상대 배향들의 차이들에 기초하여 식별된 차량들의 턴 반경을 결정하는 등등을 행하는 동작들의 일부 또는 전부를 수행하도록 추가로 구성될 수도 있다.
시스템 컴포넌트들 및 리소스들 (316), 아날로그 및 커스텀 회로부 (314), 및/또는 CAM (305) 은 카메라들 (122, 136) 전자 디스플레이들, 무선 통신 디바이스들, 외부 메모리 칩들 등과 같은 주변 디바이스들과 인터페이스하기 위한 회로부를 포함할 수도 있다. 프로세서들 (303, 304, 306, 307, 308) 은 재구성가능한 로직 게이트들의 어레이를 포함하고 및/또는 버스 아키텍처 (예를 들어, CoreConnect, AMBA 등) 를 구현할 수도 있는, 상호접속/버스 모듈 (324) 을 통해 하나 이상의 메모리 엘리먼트들 (312), 시스템 컴포넌트들 및 리소스들 (316), 아날로그 및 커스텀 회로부 (314), CAM (305), 및 RPM 프로세서 (317) 에 상호접속될 수도 있다. 통신은 고성능 네트워크 온 칩 (NoC들) 과 같은 진보된 상호접속부들에 의해 제공될 수도 있다.
프로세싱 디바이스 SOC (300) 는 클럭 (318) 및 전압 레귤레이터 (320) 와 같은 SOC 외부의 리소스들과 통신하기 위한 입력/출력 모듈 (예시되지 않음) 을 더 포함할 수도 있다. SOC 외부의 리소스들 (예를 들어, 클럭 (318), 전압 레귤레이터 (320)) 은 내부 SOC 프로세서들/코어들 (예를 들어, DSP (303), 모뎀 프로세서 (304), 그래픽 프로세서 (306), 애플리케이션 프로세서 (308) 등) 중 2 개 이상에 의해 공유될 수도 있다.
일부 실시형태들에서, 프로세싱 디바이스 SOC (300) 는 차량 (예를 들어, 100) 에서의 사용을 위해 제어 유닛 (예를 들어, 140) 에 포함될 수도 있다. 제어 유닛은 설명된 바와 같이 전화 네트워크 (예를 들어, 180), 인터넷, 및/또는 네트워크 서버 (예를 들어, 184) 와의 통신을 위한 통신 링크들을 포함할 수도 있다.
프로세싱 디바이스 SOC (300) 는 또한, 움직임 센서들 (예를 들어, 가속도계들 및 자이로스코프들), 사용자 인터페이스 엘리먼트들 (예를 들어, 입력 버튼들, 터치 스크린 디스플레이 등), 마이크로폰 어레이들, 물리적 컨디션들 (예를 들어, 위치, 방향, 움직임, 배향, 진동, 압력 등) 을 모니터링하기 위한 센서들, 카메라들, 컴파스들, GPS 수신기들, 통신 회로부 (예를 들어, Bluetooth®, WLAN, WiFi 등), 및 현대 전자 디바이스들의 다른 잘 알려진 컴포넌트들을 포함하여, 센서들로부터 센서 데이터를 수집하기에 적합한 추가적인 하드웨어 및/또는 소프트웨어 컴포넌트들을 포함할 수도 있다.
도 4 는 다양한 실시형태들에 따른 프로세서 (예를 들어, 차량 내비게이션 시스템의 프로세서) 에 의해 다른 차량의 미래 위치를 예측하는 방법 (400) 을 예시한다. 도 1a 내지 도 4 를 참조하면, 방법 (400) 은 차량 (예를 들어, 100) 의 프로세서 (예를 들어, 164), 프로세싱 디바이스 (예를 들어, 300), 및/또는 제어 유닛 (예를 들어, 104) (다양하게 "프로세서" 로 지칭됨) 에서 구현될 수도 있다. 블록들 (402 내지 420) 에서 수행된 동작들의 순서는 오직 예시적일 뿐이며, 블록들 (402 내지 420) 의 동작들은 다양한 실시형태들에서 임의의 순서로 그리고 부분적으로 동시에 수행될 수도 있다.
블록 (402) 에서, 프로세서는 하나 이상의 카메라들 (예를 들어, 122, 136) 및/또는 다른 이미지 캡처 센서들을 제어하여 차량 주변의 영역의 이미지들의 시퀀스를 캡처할 수도 있다. 일부 실시형태들에서, 이미지 시퀀스들은 차량 내비게이션 충돌 방지 시스템의 부분으로서 캡처되고, 블록 (402) 에서 프로세서에 제공될 뿐일 수도 있다. 그러한 이미지들은 방법 (400) 전반에 걸쳐 계속적으로 캡처될 수도 있고, 별도의 동작으로서 수행되지 않을 수도 있다.
결정 블록 (403) 에서, 프로세서는 차량들을 인식하기 위해 캡처된 이미지 프레임들에 대해 이미지 분석을 수행하고 호스트 차량 (100) 에 위험을 제거할 위치에 다른 차량이 있는지 여부를 결정할 수도 있다. 다양한 실시형태들에서, 이미지 분석은 각각의 이미지를 교정하는 것 및/또는 각각의 이미지 프레임을 캡처하는데 필요한 시간 동안 차량들의 상대 움직임으로 인한 임의의 롤링 셔터 효과를 보상하는 것을 포함할 수도 있다. 캡처된 이미지들에 어떤 다른 차량들도 존재하지 않는다고 프로세서가 결정하면 (즉, 결정 블록 (403) = "아니오"), 프로세서는 계속해서 블록 (402) 에서 주변의 이미지들의 캡처된 시퀀스들을 수신하고 결정 블록 (403) 에서 다른 차량들을 인식하기 위해 이미지들을 분석할 수도 있다.
캡처된 이미지들에 다른 차량 또는 차량들이 존재한다고 결정하는 것에 응답하여 (즉, 결정 블록 (403) = "예"), 프로세서는 블록 (404) 에서 다른 차량에서 적어도 하나의 휠 (식별된 휠 (214)) 을 인식하기 위해 이미지들의 시퀀스를 분석할 수도 있다. 예를 들어, 프로세서는 휠들과 일치하는 원형 또는 타원 형상들을 식별하기 위해 다른 차량을 포함하는 시퀀스의 부분에 대해 이미지 프로세싱을 수행할 수도 있다. 일부 실시형태들에서, 프로세서는 하나의 휠을 다른 차량의 전방 휠로서 그리고 하나의 휠을 후방 휠로서 추가로 식별할 수도 있다. 일부 실시형태들에서, 프로세서는 3 개 이상의 휠들을 식별할 수도 있다 (예를 들어, 트랙터-트레일러, 트럭, 또는 트레일러를 끌어당기는 다른 차량).
블록 (406) 에서, 프로세서는 또한, 하나의 이미지 프레임으로부터 다음 이미지 프레임으로 추적될 수 있는 피처 또는 피처들을 식별하기 위해 하나 이상의 휠들을 포함하는 이미지 데이터를 분석하고, 하나 이상의 휠들의 회전 레이트를 결정하기 위해 적어도 2 개의 이미지 프레임들 사이의 그러한 피처(들)의 위치의 시프트를 측정할 수도 있다. 설명된 바와 같이, 프로세서는 이미지들의 시퀀스 내의 제 1 이미지 프레임과 제 2 이미지 사이의 식별된 피처의 각도 변위 (예를 들어, 264) 및 제 1 및 제 2 이미지 프레임들 사이에 경과된 시간량에 기초하여 휠의 회전 레이트를 결정할 수도 있다.
블록 (408) 에서, 프로세서는 설명된 바와 같은 식별된 하나 이상의 휠들의 결정된 회전 레이트 및 휠의 측정 또는 추정된 직경에 기초하여 다른 차량의 주행 속도를 추정할 수도 있다. 예를 들어, 적어도 하나의 식별된 휠의 결정된 회전 레이트가 0 이면, 프로세서는 다른 차량이 정지 상태에 있다 (즉, 주행 속도가 0 임) 고 추정할 수도 있다.
블록 (410) 에서, 프로세서는 설명된 바와 같이 그리고 적어도 하나의 식별된 휠의 수평 직경 (예를 들어, 272) 대 수직 직경 (예를 들어, 270) 의 비율을 결정함으로써 다른 차량의 하나 이상의 휠들의 상대 배향을 결정할 수도 있다. 예를 들어, 프로세서는 이미지 분석 및 다른 차량까지의 거리에 기초하여 휠의 수평 직경 및 수직 직경을 결정할 수도 있다. 다른 예로서, 프로세서는 2 개의 치수들에 걸쳐 있는 픽셀들의 수에 기초하여 수평 직경 대 수직 직경 비율을 결정할 수도 있다. 일부 실시형태들에서, 프로세서는 휠에 대응하는 타원의 주축들의 비율을 결정함으로써 휠의 상대 배향을 결정할 수도 있다. 블록 (410) 에서, 프로세서는 또한, 휠에 대한 카메라의 뷰잉 각도를 결정할 수도 있다.
블록 (412) 에서, 프로세서는 (이전 블록에서 결정되지 않았다면) 휠에 대한 호스트 차량으로부터의 뷰잉 각도를 결정하고, 설명된 바와 같은 뷰잉 각도 및 다른 차량의 하나 이상의 휠들의 상대 배향에 기초하여 다른 차량의 주행 방향을 추정할 수도 있다. 예를 들어, 수평 직경 대 수직 직경의 비율이 휠(들)에 대한 뷰잉 각도와 같은 휠(들)의 상대 배향을 나타내면, 프로세서는 다른 차량의 주행 방향이 호스트 차량에 대략 수직으로 있다고 결정할 수도 있다.
블록 (414) 에서, 프로세서는 다른 차량의 전방 휠 및 후방 휠의 배향의 차이에 기초하여 다른 차량의 턴 각도를 추정할 수도 있다. 일부 실시형태들에서, 프로세서는 다른 차량의 휠베이스 (즉, 전방 휠과 후방 휠 사이의 거리) 와 전방 휠 및 후방 휠의 배향 사이의 차이에 기초하여 다른 차량의 턴 각도를 추정할 수도 있다. 일부 실시형태들에서, 프로세서는 2 개의 휠들 사이의 배향의 각도 차이를 결정하기 위해 전방 휠을 후방 휠에 맵핑하도록 이미지 프로세싱을 사용할 수도 있다.
블록 (416) 에서, 프로세서는 다른 차량의 결정된 주행 방향, 결정된 주행 속도, 및/또는 결정된 턴 각도 (만약 있다면) 에 기초하여 다른 차량의 미래 위치를 예측할 수도 있다. 예를 들어, 추정된 주행 방향이 호스트 차량에 수직이고, 추정된 주행 속도가 0 이고, 그리고 추정된 턴 각도가 0 이면, 프로세서는 다른 차량이 그 현재 위치에 계속 있을 것이라고 예측할 수도 있다. 다른 예에서, 추정된 주행 방향이 호스트 차량에 수직이고, 추정된 주행 속도가 0 보다 더 크고, 그리고 추정된 턴 각도가 0 이면, 프로세서는 다른 차량이 호스트 차량의 주행 경로를 횡단할 것이라고 예측할 수도 있다.
블록 (418) 에서, 다른 차량의 추정된 주행 방향, 추정된 주행 속도, 추정된 턴 각도, 및/또는 예측된 미래 위치는 시각 내비게이션 및/또는 충돌 방지 시스템들을 증강시키기 위해 프로세서에 의해 사용될 수도 있다. 예를 들어, 다른 차량이 계속 정지되어 있는 것으로 예측된다고 프로세서가 결정하면, 시각 내비게이션 프로세스는 다른 차량이 계속 정지된 상태에 있을 가능성이 있어 호스트 차량의 주행 방향 및 속도의 어떠한 변화도 필요로 하지 않음을 통지받을 수도 있다. 다른 예로서, 다른 차량이 호스트 차량과 교차할 것으로 예측된다고 프로세서가 결정하면, 이 정보는 프로세서가 브레이크 거는 것 및/또는 다른 차량과의 충돌을 방지하기 위한 다른 액션들을 취하는 것을 초래할 수도 있는 충돌 방지 계산들에서 사용될 수도 있다. 일부 실시형태들에서, 다양한 실시형태들을 수행하는 프로세서는 호스트 차량의 자율 또는 반자율 내비게이션 및 제어를 수행하는 제어 유닛과는 별개일 수도 있으며, 그 경우에 프로세서는 다른 차량들의 분석을 제어 유닛에 제공할 수도 있다.
많은 상황들에서 카메라(들)에 의해 캡처된 이미지들 내에 다수의 다른 차량들이 있을 것이다. 그러한 상황들에서, 프로세서는 블록 (420) 에서 다른 차량을 선택하고 설명된 바와 같이 선택된 다른 차량에 대해 블록들 (404 내지 418) 의 동작들을 반복할 수도 있다.
일부 실시형태들에서, 방법 (400) 의 동작들은 자율 또는 반자율 내비게이션 프로세스의 부분으로서 계속적으로 수행될 수도 있다. 그러한 실시형태들에서, 블록 (402) 에서의 주변의 이미지들은 내비게이션 프로세스의 부분으로서 계속적으로 캡처되고 다른 내비게이션 프로세스들과 병렬로 다른 차량들의 움직임을 결정하기 위해 프로세서에 의해 사용될 수도 있다. 또한, 블록들 (406 및 408) 에서의 휠들의 회전 레이트를 결정하고 차량 속도를 추정하는 동작들은 블록들 (410 및 412) 에서의 다른 차량의 휠들의 상대 배향 및 추정된 주행 방향을 결정하는 것과 병렬로 수행될 수도 있다. 일부 실시형태들에서, 프로세서는 오직 차량 휠들의 결정된 회전 레이트들에 기초하여 다른 차량들의 속도를 결정하는 것과 같은, 방법 (400) 의 동작들의 일부만을 수행할 수도 있다.
일부 실시형태들에서, 프로세서는 방법 (400) 이 수행되지 않아야 하는 임계 속도보다 더 느리게 검출된 차량이 이동하고 있는지 여부를 결정하기 위해 방법 (400) 또는 다른 방법들의 동작들 중 일부를 수행할 수도 있다. 예를 들어, 다른 차량의 속도가 속도 임계치를 초과한다고 프로세서가 결정하면, 프로세서는 다른 차량에 대해 방법 (400) 의 다른 동작들을 수행하지 않을 수도 있다. 이는, 휠들이 이미지 프레임 사이의 시간에서 한바퀴 미만 (즉, <360 도) 회전하는 경우 하나의 프레임으로부터 다음 프레임으로의 휠들의 각도 회전이 오직 이미지 프로세싱 방법들을 사용하여 측정될 수도 있기 때문이다. 따라서, 프로세서는 검출된 차량이 임계 속도보다 더 빨리 이동하고 있다면 다양한 실시형태들의 방법들을 사용하지 않고, 그 대신 하나의 이미지 프레임으로부터 다음 이미지 프레임으로 차량의 위치의 시프트를 결정하는 것과 같은 종래의 움직임 검출 방법들을 사용할 수도 있다. 일부 실시형태들에서, 임계 속도는 모든 차량들에 대해 동일할 수도 있다. 일부 실시형태들에서, 임계 속도는 이미지 프로세싱으로부터 차량의 휠들의 직경을 추정함으로써 계산될 수도 있다. 예를 들어, 프로세서는 임계 속도를, pi 곱하기 휠 직경 나누기 적절한 단위의 이미지 프레임들 사이의 시간보다 작은 값으로 설정할 수도 있다.
도 5 는 다양한 실시형태들에 따른 프로세서 (예를 들어, 차량 내비게이션 시스템의 프로세서) 에 의해 다른 차량의 식별된 휠의 회전 레이트를 결정하는 방법 (500) 을 예시한다. 도 1a 내지 도 5 를 참조하면, 방법 (500) 은 차량 (예를 들어, 100) 의 프로세서 (예를 들어, 164), 프로세싱 디바이스 (예를 들어, 300), 및/또는 제어 유닛 (예를 들어, 104) (다양하게 "프로세서" 로 지칭됨) 에서 구현될 수도 있다. 방법 (500) 은 방법 (400) 의 블록 (406) 에서 수행될 수도 있는 동작들의 예를 제공한다. 블록들 (502 내지 508) 에서 수행된 동작들의 순서는 오직 예시적일 뿐이며, 블록들 (502 내지 508) 의 동작들은 다양한 실시형태들에서 임의의 순서로 그리고 부분적으로 동시에 수행될 수도 있다.
블록 (502) 에서, 프로세서는 하나의 이미지 프레임으로부터 다음 이미지 프레임으로 추적될 수 있는 다른 차량의 식별된 휠의 피처 (예를 들어, 260) 를 식별하기 위해 캡처된 이미지들에 대해 이미지 프로세싱을 수행할 수도 있다. 식별된 피처는 식별된 휠의 측벽에 인쇄된 문자 또는 숫자, 패턴 (예를 들어, 트레드의 부분), 휠 또는 테두리의 부분 상의 변색 또는 먼지, 테두리의 특징 요소, 또는 휠 상의 다른 마킹 또는 결함과 같은 임의의 형태의 인식가능한 피처일 수도 있다.
블록 (504) 에서, 프로세서는 적어도 2 개의 이미지들 사이의 식별된 피처의 위치 변화량 (예를 들어, 264) 을 결정할 수도 있다. 일부 실시형태들에서, 프로세서는 이미지들의 시퀀스 내의 제 1 이미지 프레임과 제 2 이미지 프레임 사이의 식별된 피처의 움직임들을 추적하고, 2 개의 이미지 프레임들 사이의 움직임들을 사용하여 그러한 움직임들을 생성할 휠의 각도 회전을 계산할 수도 있다. 계산착오 (miscalculation) 는 2 개의 이미지들 사이의 각도 회전을 계산하기 위해 휠의 중심으로부터 추적된 피처의 거리를 결정하는 것을 수반할 수도 있다. 식별된 피처가 제 1 및 제 2 이미지 프레임들 양자 모두에서 동일한 위치에 있으면, 위치 변화량은, 휠이 턴하고 있지 않음을 나타내는 0 이다.
블록 (506) 에서, 프로세서는 제 1 이미지 프레임과 제 2 이미지 프레임 사이에 경과된 시간량을 결정할 수도 있다. 이 결정은 이미지들의 시퀀스를 캡처하는 카메라의 프레임 레이트, 이미지 프레임들의 각각에 대한 타임스탬프, 또는 이미지 프레임들 사이의 시간을 결정하는 다른 방법들에 기초할 수도 있다.
블록 (508) 에서, 프로세서는 추적된 피처의 회전 움직임 및 이미지 프레임들 사이에 경과된 시간량에 기초하여 식별된 휠의 회전 레이트를 결정할 수도 있다. 예를 들어, 프로세서는 제 1 및 제 2 이미지 프레임들 사이에 관측된 각도 회전을 360° 로 그리고 이미지 프레임들 사이에 경과된 시간으로 나누어 단위 시간 당 회전들의 추정을 초래할 수도 있다. 예로서, 제 1 및 제 2 이미지 프레임들 사이에 관측된 각도 회전이 36° 였고 이미지 프레임들 사이의 시간이 10 분의 1 초였다면, 프로세서는 휠이 초당 6 번 회전 또는 분당 360 번 회전의 레이트로 턴하고 있음을 추정할 것이다. 이 예를 계속하면, 휠의 직경이 30 인치이면, 프로세서는 다른 차량이 분당 대략 47 피트 또는 시간당 대략 0.5 마일의 레이트로 이동중이라고 추정할 것이다. 이 예의 30 인치 직경 휠 및 초당 10 개의 이미지 프레임들을 캡처하는 카메라를 사용하면, 방법 (500) 이 프로세서에 의해 채용되지 않을 수도 있는 임계 속도는 휠들이 그 속도로 이미지 프레임들 사이에서 대략 한바퀴 회전할 것이기 때문에 시간 당 대략 5 마일 이하임을 알 수 있다.
도 6 은 다양한 실시형태들에 따른 프로세서 (예를 들어, 차량 내비게이션 시스템의 프로세서) 에 의해 다른 차량의 식별된 휠의 치수비를 계산하는 방법 (600) 을 예시한다. 도 1a 내지 도 6 을 참조하면, 방법 (600) 은 차량 (예를 들어, 100) 의 프로세서 (예를 들어, 164), 프로세싱 디바이스 (예를 들어, 300), 및/또는 제어 유닛 (예를 들어, 104) (다양하게 "프로세서" 로 지칭됨) 에서 구현될 수도 있다. 방법 (600) 은 방법 (400) 의 블록 (410) 에서 수행될 수도 있는 동작들의 예를 제공한다. 블록들 (602 내지 606) 에서 수행된 동작들의 순서는 오직 예시적일 뿐이며, 블록들 (602 내지 606) 의 동작들은 다양한 실시형태들에서 임의의 순서로 그리고 부분적으로 동시에 수행될 수도 있다.
블록 (602) 에서, 프로세서는 다른 차량의 식별된 휠의 수평 직경 (예를 들어, 272) 을 계산할 수도 있다. 예를 들어, 프로세서는 이미지 프레임에서 이 치수에 걸쳐 있는 픽셀들의 수를 결정함으로써 식별된 휠의 외부 왼쪽 사이드로부터 식별된 휠의 외부 오른쪽 사이드까지의 거리를 계산할 수도 있다. 일부 실시형태들에서, 프로세서는 휠까지의 거리 (레이더, 라이더 및/또는 스테레오스코피를 통해 결정될 수도 있음) 및 치수에 걸쳐 있는 픽셀들의 수에 기초하여 측정 길이의 관점에서 거리를 결정할 수도 있다.
블록 (604) 에서, 프로세서는 다른 차량의 식별된 휠의 수직 직경 (예를 들어, 270) 을 계산할 수도 있다. 예를 들어, 프로세서는 이미지 프레임에서 이 치수에 걸쳐 있는 픽셀들의 수를 결정함으로써 식별된 휠의 외부 상부 사이드로부터 식별된 휠의 외부 하부 사이드까지의 거리를 계산할 수도 있다. 일부 실시형태들에서, 프로세서는 휠까지의 거리 (레이더, 라이더 및/또는 스테레오스코피를 통해 결정될 수도 있음) 및 치수에 걸쳐 있는 픽셀들의 수에 기초하여 측정 길이의 관점에서 거리를 결정할 수도 있다.
블록 (606) 에서, 프로세서는 식별된 휠의 수평 직경 대 수직 직경의 비율을 계산할 수도 있다. 프로세서는 그 후 설명된 바와 같은 방법 (400) 의 동작들을 수행하는데 있어서 이 비율을 사용할 수도 있다.
도 7 은 다양한 실시형태들에 따른 휠들의 이미지들의 프로세싱에 기초하여 다른 차량의 턴 각도를 프로세서 (예를 들어, 차량 내비게이션 시스템의 프로세서) 에 의해 결정하는 방법 (700) 을 예시한다. 도 1a 내지 도 7 을 참조하면, 방법 (700) 은 차량 (예를 들어, 100) 의 프로세서 (예를 들어, 164), 프로세싱 디바이스 (예를 들어, 300), 및/또는 제어 유닛 (예를 들어, 104) (다양하게 "프로세서" 로 지칭됨) 에서 구현될 수도 있다. 방법 (700) 은 방법 (400) 의 블록 (414) 에서 수행될 수도 있는 동작들의 예를 제공한다. 블록들 (702 내지 706) 에서 수행된 동작들의 순서는 오직 예시적일 뿐이며, 블록들 (702 내지 706) 의 동작들은 다양한 실시형태들에서 임의의 순서로 그리고 부분적으로 동시에 수행될 수도 있다.
블록 (702) 에서, 프로세서는 전방 휠의 이미지에서 관측된 수평 직경 대 수직 직경의 결정된 비율에 기초하여 호스트 차량에 대한 다른 차량의 전방 휠의 상대 각도를 결정할 수도 있다. 수평 직경 대 수직 직경의 비율은 설명된 바와 같이 방법 (400) 의 블록 (410) 뿐만 아니라 방법 (600) 의 블록 (602 내지 606) 에서 프로세서에 의해 결정될 수도 있다. 휠 수평 직경 대 수직 직경의 비율에 더하여, 프로세서는 설명된 바와 같이 전방 휠의 상대 각도를 계산할 때 호스트 차량 카메라 (예를 들어, 122) 로부터의 전방 휠의 뷰잉 각도 (예를 들어, 216) 를 고려할 수도 있다.
블록 (704) 에서, 프로세서는 후방 휠의 이미지에서 관측된 수평 직경 대 수직 직경의 결정된 비율에 기초하여 호스트 차량에 대한 다른 차량의 후방 휠의 상대 각도를 결정할 수도 있다. 다시, 수평 직경 대 수직 직경의 비율은 설명된 바와 같이 방법 (400) 의 블록 (410) 뿐만 아니라 방법 (600) 의 블록 (602 내지 606) 에서 프로세서에 의해 결정될 수도 있다. 휠 수평 직경 대 수직 직경의 비율에 더하여, 프로세서는 설명된 바와 같이 전방 휠의 상대 각도를 계산할 때 호스트 차량 카메라 (예를 들어, 122) 로부터의 후방 휠의 뷰잉 각도 (예를 들어, 217) 를 고려할 수도 있다. 그러나, 다른 차량이 호스트 차량으로부터 멀리 떨어진 곳에 위치되는 상황에서, 전방 및 후방 휠들의 뷰잉 각도들은 전방 및 후방 휠들 사이의 뷰잉 각도들의 차이가 작을 수도 있기 때문에 무시될 수도 있다.
블록 (706) 에서, 프로세서는 전방 휠 각도와 후방 휠 각도 사이의 차이를, 예컨대 단순 감산 (simple subtraction) 을 통해 결정할 수도 있다. 예를 들어, 전방 및 후방 휠들의 상대 각도들 사이의 차이가 대략 0 이면, 이는 전방 휠이 턴되지 않고 다른 차량이 직선을 따라갈 가능성이 있음을 프로세서에 나타낼 것이다. 다른 한편으로, 전방 및 후방 휠들의 상대 각도들의 차이가 0 이 아니면, 이는 전방 휠이 턴되고 다른 차량이 곡선 경로를 따라갈 가능성이 있음을 프로세서에 나타낼 것이다. 차이가 계산되는 방법에 따라, 차이의 부호는 또한 다른 차량이 왼쪽으로 턴할지 또는 오른쪽으로 턴할지를 프로세서에 나타낼 것이다. 예를 들어, 전방 휠 상대 각도 (예를 들어, 216) 가 후방 휠 상대 각도 (예를 들어, 217) 보다 더 작다고 프로세서가 결정하면, 이는 다른 차량이 호스트 차량을 향해 턴하고 있을 것임 (예를 들어, 곡선 경로 (211)) 을 나타낼 수도 있다. 다른 예로서, 전방 휠 상대 각도 (예를 들어, 216) 가 후방 휠 상대 각도 (예를 들어, 217) 보다 더 크다고 프로세서가 결정하면, 이는 다른 차량이 호스트 차량으로부터 떨어져 턴하고 있을 것임을 나타낼 수도 있다.
블록 (708) 에서, 프로세서는 다른 차량의 휠베이스를 전방 휠과 후방 휠 사이의 거리로서 결정할 수도 있다. 설명된 바와 같이, 이는 2 개의 휠들 사이의 이미지 내의 거리 (예를 들어, 픽셀들의 수) 를 결정하여, (예를 들어, 레이더, 라이더 또는 스테레오스코피를 통해) 다른 차량까지의 거리를 결정하기 위해 다른 차량을 포함하는 이미지들의 부분의 프로세싱을 통해, 그리고 휠들 사이의 실제 거리를 추정하기 위해 삼각법을 사용하여 프로세서에 의해 결정될 수도 있다.
블록 (710) 에서, 프로세서는 턴 반경을 결정하거나 또는 다르게는 결정된 휠베이스 및 전방 및 후방 휠들의 상대 각도들의 차이에 기초하여 다른 차량의 곡선 주행 경로를 추정할 수도 있다. 프로세서는 그 후 설명된 바와 같이 방법 (400) 의 블록 (416) 에서 다른 차량의 미래 위치를 예측하는 부분인 결정된 턴 반경 또는 곡선 주행 경로를 사용할 수도 있다.
다양한 실시형태들 및 실시형태들은 휠 회전의 시각 추정에 기초하여 다른 차량들의 상태 및 의도 예측을 개선시킴으로써, 자율 및 반자율 차량들의 충돌 방지 및 내비게이션 시스템들을 포함하는, 차량 내비게이션 시스템들 및/또는 차량 안전 시스템들의 동작을 개선시킬 수도 있다. 다양한 실시형태들은 자율 및 반자율 차량들에 대한 시각 내비게이션 및/또는 충돌 방지 시스템들을 증강시키는데 사용될 수도 있다. 추가적으로, 다양한 실시형태들은 운전자들에게 보다 정확한 충돌 경고를 제공함으로써 안전 시스템들의 부분으로서 사용될 수도 있다. 다양한 실시형태들은 또한, 교차로에 또는 그 근처에 위치된 트래픽 모니터링 카메라들과 같은, 차량 트래픽의 모니터링이 수반되는 다른 애플리케이션들에서 유용할 수도 있다. 따라서, 청구항들은 청구항 엘리먼트들에서 구체적으로 언급되지 않으면, 차량 시스템들에 한정되는 것으로 해석되지 않아야 한다.
예시 및 설명된 다양한 실시형태들은 청구항들의 다양한 피처들을 예시하기 위해 오직 예들로서 제공된다. 그러나, 임의의 주어진 실시형태에 대하여 도시 및 설명된 피처들은 반드시 연관된 실시형태에 한정되는 것은 아니고, 도시 및 설명되는 다른 실시형태들과 함께 사용 또는 결합될 수도 있다. 또한, 청구항들은 임의의 하나의 예시적인 실시형태에 의해 한정되는 것으로 의도되지 않는다.
전술한 방법 설명들 및 프로세스 플로우 다이어그램들은 예시적인 예들로서 오직 제공되고 다양한 실시형태들의 블록들이 제시된 순서로 수행되어야 함을 요구 또는 암시하도록 의도되지 않는다. 당업자가 알 바와 같이, 전술한 실시형태들에서의 블록들의 순서는 임의의 순서로 수행될 수도 있다. "그 이후", "그 후", "다음" 등과 같은 단어들은 블록들의 순서를 한정하도록 의도되지 않고; 이들 단어들은 방법들의 설명을 통해 독자를 안내하는데 단순히 사용된다. 또한, 예를 들어, 관사들 "a", "an" 또는 "the" 를 사용한, 단수로의 청구항 엘리먼트들에 대한 임의의 언급은 엘리먼트를 단수로 제한하는 것으로 해석되어서는 안된다.
본 명세서에서 개시된 실시형태들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 블록들은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양자의 조합들로서 구현될 수도 있다. 하드웨어와 소프트웨어의 이 상호교환가능성을 명확히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 블록들은 그들의 기능성의 관점에서 일반적으로 상기 설명되었다. 그러한 기능성이 하드웨어로서 구현되는지 또는 소프트웨어로서 구현되는지는 전체 시스템에 부과된 설계 제약들 및 특정 애플리케이션에 의존한다. 당업자는 각각의 특정 애플리케이션에 대해 다양한 방식들로 설명된 기능성을 구현할 수도 있지만, 그러한 실시형태 결정들은 다양한 실시형태들의 범위로부터의 일탈을 야기하는 것으로서 해석되지 않아야 한다.
본 명세서에서 개시된 실시형태들과 관련하여 설명된 다양한 예시적인 로직들, 논리 블록들, 모듈들, 및 회로들을 구현하는데 사용되는 하드웨어는 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그래밍가능 게이트 어레이 (FPGA) 또는 다른 프로그래밍가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본 명세서에서 설명된 기능들을 수행하도록 설계된 이들의 임의의 조합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한, 통신 디바이스들의 조합, 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로서 구현될 수도 있다. 대안적으로, 일부 블록들 또는 방법들은 주어진 기능에 특정한 회로부에 의해 수행될 수도 있다.
다양한 실시형태들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에서 구현될 수도 있다. 소프트웨어에서 구현되면, 기능들은 비일시적 컴퓨터 판독가능 매체 또는 비일시적 프로세서 판독가능 매체 상에 하나 이상의 명령들 또는 코드로서 저장될 수도 있다. 본 명세서에서 개시된 방법 또는 알고리즘의 동작들은 비일시적 컴퓨터 판독가능 또는 프로세서 판독가능 저장 매체 상에 상주할 수도 있는 프로세서 실행가능 소프트웨어 모듈에서 구현될 수도 있다. 비일시적 컴퓨터 판독가능 또는 프로세서 판독가능 저장 매체들은 컴퓨터 또는 프로세서에 의해 액세스될 수도 있는 임의의 저장 매체들일 수도 있다. 제한이 아닌 예로서, 그러한 비일시적 컴퓨터 판독가능 또는 프로세서 판독가능 매체들은 RAM, ROM, EEPROM, 플래시 메모리, CD-ROM 또는 다른 광학 디스크 저장, 자기 디스크 저장 또는 다른 자기 저장 디바이스들, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는데 사용될 수도 있고 컴퓨터에 의해 액세스될 수도 있는 임의의 다른 매체를 포함할 수도 있다. 디스크 (disk) 및 디스크 (disc) 는, 본 명세서에서 사용된 바와 같이, 컴팩트 디스크 (CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크, 및 블루 레이 디스크를 포함하고, 여기서 디스크 (disk) 들은 보통 데이터를 자기적으로 재생하는 한편, 디스크 (disc) 들은 레이저들로 데이터를 광학적으로 재생한다. 상기의 조합들이 또한 비일시적 컴퓨터 판독가능 및 프로세서 판독가능 매체들의 범위 내에 포함된다. 추가적으로, 방법 또는 알고리즘의 동작들은 컴퓨터 프로그램 제품에 통합될 수도 있는, 비일시적 프로세서 판독가능 매체 및/또는 컴퓨터 판독가능 매체 상에 코드들 및/또는 명령들 중의 하나 또는 임의의 조합 또는 세트로서 상주할 수도 있다.
개시된 실시형태들의 선행하는 설명은 임의의 당업자로 하여금 본 실시형태들을 제조 또는 사용할 수 있게 하기 위해 제공된다. 이들 실시형태들에 대한 다양한 수정들은 당업자들에게 용이하게 명백할 것이며, 본 명세서에서 정의된 일반적인 원리들은 실시형태들의 범위로부터의 일탈 없이 다른 실시형태들에 적용될 수도 있다. 따라서, 다양한 실시형태들은 본 명세서에서 도시된 실시형태들에 한정되도록 의도되지 않고 다음의 청구항들 및 본 명세서에서 개시된 원리들 및 신규한 피처들에 부합하는 최광의 범위를 부여받아야 한다.

Claims (30)

  1. 관측된 차량의 움직임을 추정하기 위해 이미지 데이터를 사용하는 방법으로서,
    카메라에 의해, 상기 관측된 차량을 포함하는 이미지들의 시퀀스를 캡처하는 단계;
    프로세서에 의해, 상기 이미지들의 시퀀스 내에서 상기 관측된 차량의 휠을 식별하기 위해 이미지 프로세싱을 수행하는 단계; 및
    상기 프로세서에 의해, 상기 이미지들의 시퀀스 내의 적어도 2 개의 이미지들 사이의 상기 휠의 배향의 변화들에 기초하여 상기 휠의 회전 레이트를 결정하는 단계로서,
    상기 휠의 제 1 이미지 및 상기 휠의 제 2 이미지에 존재하는 상기 휠의 피처를 식별하기 위해 이미지 프로세싱을 수행하는 단계;
    상기 휠의 상기 제 1 이미지 및 상기 제 2 이미지의 각각에서 상기 휠의 중심을 식별하기 위해 이미지 프로세싱을 수행하는 단계;
    상기 휠의 상기 제 1 이미지와 상기 제 2 이미지 사이의 상기 휠의 식별된 상기 피처의 위치 변화량을 결정하는 단계;
    상기 휠의 상기 제 1 이미지와 상기 제 2 이미지 사이의 상기 휠의 상기 식별된 피처의 위치 변화량 및 상기 휠의 상기 제 1 이미지 및 상기 제 2 이미지의 각각에서의 상기 휠의 중심에 기초하여 상기 휠의 상기 제 1 이미지와 상기 제 2 이미지 사이의 상기 휠의 상기 식별된 피처의 회전 각도를 결정하는 단계;
    상기 제 1 이미지와 상기 제 2 이미지 사이에 경과된 시간량을 결정하는 단계; 및
    상기 식별된 피처의 회전 각도 및 상기 휠의 상기 제 1 이미지와 상기 제 2 이미지 사이에 경과된 시간량의 상기 결정에 기초하여 상기 휠의 회전 레이트를 결정하는 단계
    를 포함하는, 상기 이미지들의 시퀀스 내의 적어도 2 개의 이미지들 사이의 상기 휠의 배향의 변화들에 기초하여 상기 휠의 회전 레이트를 결정하는 단계를 포함하는, 관측된 차량의 움직임을 추정하기 위해 이미지 데이터를 사용하는 방법.
  2. 제 1 항에 있어서,
    상기 휠의 직경을 결정하기 위해 적어도 하나의 이미지의 이미지 프로세싱을 수행하는 단계; 및
    상기 휠의 결정된 상기 회전 레이트 및 상기 휠의 직경에 기초하여 상기 관측된 차량의 속도를 결정하는 단계를 더 포함하는, 관측된 차량의 움직임을 추정하기 위해 이미지 데이터를 사용하는 방법.
  3. 제 2 항에 있어서,
    상기 관측된 차량의 결정된 상기 속도를 사용하여 호스트 차량의 차량 내비게이션 시스템을 증강시키는 단계를 더 포함하는, 관측된 차량의 움직임을 추정하기 위해 이미지 데이터를 사용하는 방법.
  4. 관측된 차량의 움직임을 추정하기 위해 이미지 데이터를 사용하는 방법으로서,
    카메라에 의해, 상기 관측된 차량을 포함하는 이미지들의 시퀀스를 캡처하는 단계;
    프로세서에 의해, 상기 이미지들의 시퀀스 내에서 상기 관측된 차량의 휠을 식별하기 위해 이미지 프로세싱을 수행하는 단계; 및
    상기 이미지들의 시퀀스 내의 상기 휠의 이미지 프로세싱에 기초하여 상기 관측된 차량의 주행 방향을 결정하는 단계로서,
    상기 휠의 관측된 수평 직경을 결정하기 위해 적어도 하나의 이미지의 이미지 프로세싱을 수행하는 단계;
    상기 휠의 관측된 수직 직경을 결정하기 위해 적어도 하나의 이미지의 이미지 프로세싱을 수행하는 단계; 및
    상기 관측된 수평 직경 대 상기 관측된 수직 직경의 비율에 적어도 기초하여 상기 카메라에 대한 상기 휠의 상대 각도를 결정하는 단계
    를 포함하는, 상기 이미지들의 시퀀스 내의 상기 휠의 이미지 프로세싱에 기초하여 상기 관측된 차량의 주행 방향을 결정하는 단계를 포함하는, 관측된 차량의 움직임을 추정하기 위해 이미지 데이터를 사용하는 방법.
  5. 제 4 항에 있어서,
    상기 관측된 차량의 결정된 상기 주행 방향을 사용하여 호스트 차량의 차량 내비게이션 시스템을 증강시키는 단계를 더 포함하는, 관측된 차량의 움직임을 추정하기 위해 이미지 데이터를 사용하는 방법.
  6. 제 1 항에 있어서,
    상기 이미지들의 시퀀스 내의 상기 관측된 차량의 전방 휠 및 후방 휠의 이미지 프로세싱에 기초하여 상기 관측된 차량이 턴하고 있는지 여부를 결정하는 단계를 더 포함하는, 관측된 차량의 움직임을 추정하기 위해 이미지 데이터를 사용하는 방법.
  7. 제 1 항에 있어서,
    상기 이미지들의 시퀀스 내의 상기 관측된 차량의 전방 휠 및 후방 휠의 이미지 프로세싱에 기초하여 상기 관측된 차량의 턴 각도를 결정하는 단계를 더 포함하는, 관측된 차량의 움직임을 추정하기 위해 이미지 데이터를 사용하는 방법.
  8. 제 7 항에 있어서,
    상기 이미지들의 시퀀스 내에서 상기 관측된 차량의 휠을 식별하기 위해 이미지 프로세싱을 수행하는 단계는, 상기 프로세서에 의해, 상기 관측된 차량의 상기 전방 휠 및 상기 후방 휠을 식별하기 위해 적어도 하나의 이미지의 이미지 프로세싱을 수행하는 단계를 포함하고, 상기 방법은,
    상기 이미지들의 시퀀스를 캡처하는 카메라에 대한 상기 전방 휠의 상대 각도를 결정하기 위한 상기 이미지들의 시퀀스의 이미지 프로세싱;
    상기 카메라에 대한 상기 후방 휠의 상대 각도를 결정하기 위한 적어도 하나의 이미지의 이미지 프로세싱;
    상기 전방 휠과 상기 후방 휠 사이의 거리를 결정하기 위한 적어도 하나의 이미지의 이미지 프로세싱; 및
    상기 전방 휠과 상기 후방 휠 사이의 거리, 결정된 상기 회전 레이트에 기초한 상기 관측된 차량의 선형 속도, 및 상기 전방 휠의 상대 각도와 상기 후방 휠의 상대 각도 사이의 차이에 기초하여 상기 관측된 차량의 턴 레이트 (rate of turn) 를 결정하는 단계를 더 포함하는, 관측된 차량의 움직임을 추정하기 위해 이미지 데이터를 사용하는 방법.
  9. 제 7 항에 있어서,
    상기 관측된 차량의 턴 각도의 상기 결정을 사용하여 호스트 차량의 차량 내비게이션 시스템을 증강시키는 단계를 더 포함하는, 관측된 차량의 움직임을 추정하기 위해 이미지 데이터를 사용하는 방법.
  10. 차량 내비게이션 시스템으로서,
    차량 외부의 이미지들을 캡처하도록 구성된 카메라; 및
    상기 카메라로부터 이미지들의 시퀀스를 수신하도록 구성되고 프로세서 실행가능 명령들로 구성된 프로세서를 포함하고, 상기 프로세서 실행가능 명령들은,
    상기 이미지들의 시퀀스 내에서 관측된 차량의 휠을 식별하기 위해 이미지 프로세싱을 수행하고; 그리고
    상기 이미지들의 시퀀스 내의 적어도 2 개의 이미지들 사이의 상기 휠의 배향의 변화들에 기초하여 상기 휠의 회전 레이트를 결정하는 것으로서,
    상기 휠의 제 1 이미지 및 상기 휠의 제 2 이미지에 존재하는 상기 휠의 피처를 식별하는 것;
    상기 휠의 상기 제 1 이미지 및 상기 제 2 이미지의 각각에서 상기 휠의 중심을 식별하기 위해 이미지 프로세싱을 수행하는 것;
    상기 휠의 상기 제 1 이미지와 상기 제 2 이미지 사이의 상기 휠의 식별된 상기 피처의 위치 변화량을 결정하는 것;
    상기 휠의 상기 제 1 이미지와 상기 제 2 이미지 사이의 상기 휠의 상기 식별된 피처의 위치 변화량 및 상기 휠의 상기 제 1 이미지 및 상기 제 2 이미지의 각각에서의 상기 휠의 중심에 기초하여 상기 휠의 상기 제 1 이미지와 상기 제 2 이미지 사이의 상기 휠의 상기 식별된 피처의 회전 각도를 결정하는 것;
    상기 제 1 이미지와 상기 제 2 이미지 사이에 경과된 시간량을 결정하는 것; 및
    상기 식별된 피처의 회전 각도 및 상기 휠의 상기 제 1 이미지와 상기 제 2 이미지 사이에 경과된 시간량의 상기 결정에 기초하여 상기 휠의 회전 레이트를 결정하는 것
    을 포함하는, 상기 이미지들의 시퀀스 내의 적어도 2 개의 이미지들 사이의 상기 휠의 배향의 변화들에 기초하여 상기 휠의 회전 레이트를 결정하기 위한 것인, 차량 내비게이션 시스템.
  11. 제 10 항에 있어서,
    상기 프로세서는,
    상기 휠의 직경을 결정하기 위해 이미지 프로세싱을 수행하고; 그리고
    상기 휠의 결정된 상기 회전 레이트 및 상기 휠의 직경에 기초하여 상기 관측된 차량의 속도를 결정하기 위한
    프로세서 실행가능 명령들로 추가로 구성되는, 차량 내비게이션 시스템.
  12. 차량 내비게이션 시스템으로서,
    차량 외부의 이미지들을 캡처하도록 구성된 카메라; 및
    상기 카메라로부터 이미지들의 시퀀스를 수신하도록 구성되고 프로세서 실행가능 명령들로 구성된 프로세서를 포함하고, 상기 프로세서 실행가능 명령들은,
    상기 이미지들의 시퀀스 내에서 관측된 차량의 휠을 식별하기 위해 이미지 프로세싱을 수행하고; 그리고
    상기 이미지들의 시퀀스 내의 상기 휠의 이미지 프로세싱에 기초하여 상기 관측된 차량의 주행 방향을 결정하는 것으로서,
    상기 휠의 관측된 수평 직경을 결정하기 위해 적어도 하나의 이미지의 이미지 프로세싱을 수행하는 것;
    상기 휠의 관측된 수직 직경을 결정하기 위해 적어도 하나의 이미지의 이미지 프로세싱을 수행하는 것; 및
    상기 관측된 수평 직경 대 상기 관측된 수직 직경의 비율에 적어도 기초하여 상기 카메라에 대한 상기 휠의 상대 각도를 결정하는 것
    을 포함하는, 상기 이미지들의 시퀀스 내의 상기 휠의 이미지 프로세싱에 기초하여 상기 관측된 차량의 주행 방향을 결정하기 위한 것인, 차량 내비게이션 시스템.
  13. 제 10 항에 있어서,
    상기 프로세서는 상기 이미지들의 시퀀스 내의 상기 관측된 차량의 전방 휠 및 후방 휠의 이미지 프로세싱에 기초하여 상기 관측된 차량이 턴하고 있는지 여부를 결정하기 위한 프로세서 실행가능 명령들로 추가로 구성되는, 차량 내비게이션 시스템.
  14. 제 10 항에 있어서,
    상기 프로세서는 상기 이미지들의 시퀀스 내의 상기 관측된 차량의 전방 휠 및 후방 휠의 이미지 프로세싱에 기초하여 상기 관측된 차량의 턴 각도를 결정하기 위한 프로세서 실행가능 명령들로 추가로 구성되는, 차량 내비게이션 시스템.
  15. 제 14 항에 있어서,
    상기 프로세서는,
    상기 관측된 차량의 상기 전방 휠 및 상기 후방 휠을 식별하기 위해 적어도 하나의 이미지에 대해 이미지 프로세싱을 수행하고;
    상기 카메라에 대한 상기 전방 휠의 상대 각도를 결정하기 위해 적어도 하나의 이미지에 대해 이미지 프로세싱을 수행하고;
    상기 카메라에 대한 상기 후방 휠의 상대 각도를 결정하기 위해 적어도 하나의 이미지에 대해 이미지 프로세싱을 수행하고;
    상기 전방 휠과 상기 후방 휠 사이의 거리를 결정하기 위해 적어도 하나의 이미지에 대해 이미지 프로세싱을 수행하고; 그리고
    상기 전방 휠과 상기 후방 휠 사이의 거리, 결정된 상기 회전 레이트에 기초한 상기 관측된 차량의 선형 속도, 및 상기 전방 휠의 상대 각도와 상기 후방 휠의 상대 각도 사이의 차이에 기초하여 상기 관측된 차량의 턴 레이트를 결정하기 위한
    프로세서 실행가능 명령들로 추가로 구성되는, 차량 내비게이션 시스템.
  16. 차량에서의 사용을 위한 프로세싱 디바이스로서,
    상기 차량 외부의 이미지들을 획득하도록 구성된 상기 차량 상의 카메라로부터 이미지들의 시퀀스를 수신하고;
    상기 이미지들의 시퀀스 내에서 관측된 차량의 휠을 식별하기 위해 이미지 프로세싱을 수행하고; 그리고
    상기 이미지들의 시퀀스 내의 적어도 2 개의 이미지들 사이의 상기 휠의 배향의 변화들에 기초하여 상기 휠의 회전 레이트를 결정하는 것으로서,
    상기 휠의 제 1 이미지 및 상기 휠의 제 2 이미지에 존재하는 상기 휠의 피처를 식별하는 것;
    상기 휠의 상기 제 1 이미지 및 상기 제 2 이미지의 각각에서 상기 휠의 중심을 식별하기 위해 이미지 프로세싱을 수행하는 것;
    상기 휠의 상기 제 1 이미지와 상기 제 2 이미지 사이의 상기 휠의 식별된 상기 피처의 위치 변화량을 결정하는 것;
    상기 휠의 상기 제 1 이미지와 상기 제 2 이미지 사이의 상기 휠의 상기 식별된 피처의 위치 변화량 및 상기 휠의 상기 제 1 이미지 및 상기 제 2 이미지의 각각에서의 상기 휠의 중심에 기초하여 상기 휠의 상기 제 1 이미지와 상기 제 2 이미지 사이의 상기 휠의 상기 식별된 피처의 회전 각도를 결정하는 것;
    상기 제 1 이미지와 상기 제 2 이미지 사이에 경과된 시간량을 결정하는 것; 및
    상기 식별된 피처의 회전 각도 및 상기 휠의 상기 제 1 이미지와 상기 제 2 이미지 사이에 경과된 시간량의 상기 결정에 기초하여 상기 휠의 회전 레이트를 결정하는 것
    을 포함하는, 상기 이미지들의 시퀀스 내의 적어도 2 개의 이미지들 사이의 상기 휠의 배향의 변화들에 기초하여 상기 휠의 회전 레이트를 결정하도록 구성된, 차량에서의 사용을 위한 프로세싱 디바이스.
  17. 제 16 항에 있어서,
    상기 프로세싱 디바이스는,
    상기 휠의 직경을 결정하기 위해 이미지 프로세싱을 수행하고; 그리고
    상기 휠의 결정된 상기 회전 레이트 및 상기 휠의 직경에 기초하여 상기 관측된 차량의 속도를 결정하도록 추가로 구성되는, 차량에서의 사용을 위한 프로세싱 디바이스.
  18. 차량에서의 사용을 위한 프로세싱 디바이스로서,
    상기 차량 외부의 이미지들을 획득하도록 구성된 상기 차량 상의 카메라로부터 이미지들의 시퀀스를 수신하고;
    상기 이미지들의 시퀀스 내에서 관측된 차량의 휠을 식별하기 위해 이미지 프로세싱을 수행하고; 그리고
    상기 이미지들의 시퀀스 내의 상기 휠의 이미지 프로세싱에 기초하여 상기 관측된 차량의 주행 방향을 결정하는 것으로서,
    상기 휠의 관측된 수평 직경을 결정하기 위해 적어도 하나의 이미지의 이미지 프로세싱을 수행하는 것;
    상기 휠의 관측된 수직 직경을 결정하기 위해 적어도 하나의 이미지의 이미지 프로세싱을 수행하는 것; 및
    상기 관측된 수평 직경 대 상기 관측된 수직 직경의 비율에 적어도 기초하여 상기 카메라에 대한 상기 휠의 상대 각도를 결정하는 것
    을 포함하는, 상기 이미지들의 시퀀스 내의 상기 휠의 이미지 프로세싱에 기초하여 상기 관측된 차량의 주행 방향을 결정하도록 구성된, 차량에서의 사용을 위한 프로세싱 디바이스.
  19. 제 16 항에 있어서,
    상기 프로세싱 디바이스는 상기 이미지들의 시퀀스 내의 상기 관측된 차량의 전방 휠 및 후방 휠의 이미지 프로세싱에 기초하여 상기 관측된 차량이 턴하고 있는지 여부를 결정하도록 추가로 구성되는, 차량에서의 사용을 위한 프로세싱 디바이스.
  20. 제 16 항에 있어서,
    상기 프로세싱 디바이스는 상기 이미지들의 시퀀스 내의 상기 관측된 차량의 전방 휠 및 후방 휠의 이미지 프로세싱에 기초하여 상기 관측된 차량의 턴 각도를 결정하도록 추가로 구성되는, 차량에서의 사용을 위한 프로세싱 디바이스.
  21. 제 20 항에 있어서,
    상기 프로세싱 디바이스는,
    상기 관측된 차량의 상기 전방 휠 및 상기 후방 휠을 식별하기 위해 적어도 하나의 이미지에 대해 이미지 프로세싱을 수행하고;
    상기 카메라에 대한 상기 전방 휠의 상대 각도를 결정하기 위해 적어도 하나의 이미지에 대해 이미지 프로세싱을 수행하고;
    상기 카메라에 대한 상기 후방 휠의 상대 각도를 결정하기 위해 적어도 하나의 이미지에 대해 이미지 프로세싱을 수행하고;
    상기 전방 휠과 상기 후방 휠 사이의 거리를 결정하기 위해 적어도 하나의 이미지에 대해 이미지 프로세싱을 수행하고; 그리고
    상기 전방 휠과 상기 후방 휠 사이의 거리, 결정된 상기 회전 레이트에 기초한 상기 관측된 차량의 선형 속도, 및 상기 전방 휠의 상대 각도와 상기 후방 휠의 상대 각도 사이의 차이에 기초하여 상기 관측된 차량의 턴 레이트를 결정하도록 추가로 구성되는, 차량에서의 사용을 위한 프로세싱 디바이스.
  22. 프로세서 실행가능 명령들을 저장하고 있는 비일시적 프로세서 판독가능 저장 매체로서,
    상기 프로세서 실행가능 명령들은, 차량 내비게이션 시스템의 프로세서로 하여금,
    카메라에 의해, 관측된 차량을 포함하는 이미지들의 시퀀스를 캡처하는 것;
    프로세서에 의해, 상기 이미지들의 시퀀스 내에서 상기 관측된 차량의 휠을 식별하기 위해 이미지 프로세싱을 수행하는 것; 및
    상기 프로세서에 의해, 상기 이미지들의 시퀀스 내의 적어도 2 개의 이미지들 사이의 상기 휠의 배향의 변화들에 기초하여 상기 휠의 회전 레이트를 결정하는 것으로서,
    상기 휠의 제 1 이미지 및 상기 휠의 제 2 이미지에 존재하는 상기 휠의 피처를 식별하기 위해 이미지 프로세싱을 수행하는 것;
    상기 휠의 상기 제 1 이미지 및 상기 제 2 이미지의 각각에서 상기 휠의 중심을 식별하기 위해 이미지 프로세싱을 수행하는 것;
    상기 휠의 상기 제 1 이미지와 상기 제 2 이미지 사이의 상기 휠의 식별된 상기 피처의 위치 변화량을 결정하는 것;
    상기 휠의 상기 제 1 이미지와 상기 제 2 이미지 사이의 상기 휠의 상기 식별된 피처의 위치 변화량 및 상기 휠의 상기 제 1 이미지 및 상기 제 2 이미지의 각각에서의 상기 휠의 중심에 기초하여 상기 휠의 상기 제 1 이미지와 상기 제 2 이미지 사이의 상기 휠의 상기 식별된 피처의 회전 각도를 결정하는 것;
    상기 제 1 이미지와 상기 제 2 이미지 사이에 경과된 시간량을 결정하는 것; 및
    상기 식별된 피처의 회전 각도 및 상기 휠의 상기 제 1 이미지와 상기 제 2 이미지 사이에 경과된 시간량의 상기 결정에 기초하여 상기 휠의 회전 레이트를 결정하는 것
    을 포함하는, 상기 이미지들의 시퀀스 내의 적어도 2 개의 이미지들 사이의 상기 휠의 배향의 변화들에 기초하여 상기 휠의 회전 레이트를 결정하는 것을 포함하는 동작들을 수행하게 하도록 구성된, 비일시적 프로세서 판독가능 저장 매체.
  23. 제 22 항에 있어서,
    저장된 상기 프로세서 실행가능 명령들은, 차량 내비게이션 시스템의 프로세서로 하여금,
    상기 휠의 직경을 결정하기 위해 적어도 하나의 이미지의 이미지 프로세싱을 수행하는 것; 및
    상기 휠의 결정된 상기 회전 레이트 및 상기 휠의 직경에 기초하여 상기 관측된 차량의 속도를 결정하는 것
    을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비일시적 프로세서 판독가능 저장 매체.
  24. 제 4 항에 있어서,
    상기 이미지들의 시퀀스 내의 상기 휠의 이미지 프로세싱에 기초하여 상기 관측된 차량의 주행 방향을 결정하는 단계는,
    상기 관측된 수평 직경 대 상기 관측된 수직 직경의 비율을 계산하는 단계;
    상기 이미지들의 시퀀스를 캡처하는 상기 카메라로부터 상기 휠에 대한 뷰잉 각도를 결정하는 단계; 및
    상기 카메라로부터 상기 휠에 대한 결정된 상기 뷰잉 각도에 적어도 기초하여 상기 카메라에 대한 상기 휠의 상대 각도를 결정하는 단계를 더 포함하는, 관측된 차량의 움직임을 추정하기 위해 이미지 데이터를 사용하는 방법.
  25. 제 12 항에 있어서,
    상기 프로세서는,
    상기 관측된 수평 직경 대 상기 관측된 수직 직경의 비율을 계산하는 것;
    상기 이미지들의 시퀀스를 캡처하는 상기 카메라로부터 상기 휠에 대한 뷰잉 각도를 결정하는 것; 및
    상기 카메라로부터 상기 휠에 대한 결정된 상기 뷰잉 각도에 적어도 기초하여 상기 카메라에 대한 상기 휠의 상대 각도를 결정하는 것
    에 의해 상기 이미지들의 시퀀스 내의 상기 휠의 이미지 프로세싱에 기초하여 상기 관측된 차량의 주행 방향을 결정하기 위한 프로세서 실행가능 명령들로 추가로 구성되는, 차량 내비게이션 시스템.
  26. 제 18 항에 있어서,
    상기 프로세싱 디바이스는,
    상기 관측된 수평 직경 대 상기 관측된 수직 직경의 비율을 계산하는 것;
    상기 이미지들의 시퀀스를 캡처하는 상기 카메라로부터 상기 휠에 대한 뷰잉 각도를 결정하는 것; 및
    상기 카메라로부터 상기 휠에 대한 결정된 상기 뷰잉 각도에 적어도 기초하여 상기 카메라에 대한 상기 휠의 상대 각도를 결정하는 것
    에 의해 상기 이미지들의 시퀀스 내의 상기 휠의 이미지 프로세싱에 기초하여 상기 관측된 차량의 주행 방향을 결정하기 위한 프로세서 실행가능 명령들로 추가로 구성되는, 차량에서의 사용을 위한 프로세싱 디바이스.
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
KR1020207032255A 2018-05-15 2019-05-07 휠 회전의 광학 추적을 이용한 관측된 차량들의 상태 및 위치 예측 KR102196827B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/980,300 US10706563B2 (en) 2018-05-15 2018-05-15 State and position prediction of observed vehicles using optical tracking of wheel rotation
US15/980,300 2018-05-15
PCT/US2019/031061 WO2019221969A1 (en) 2018-05-15 2019-05-07 State and position prediction of observed vehicles using optical tracking of wheel rotation

Publications (2)

Publication Number Publication Date
KR20200135539A KR20200135539A (ko) 2020-12-02
KR102196827B1 true KR102196827B1 (ko) 2020-12-30

Family

ID=66655448

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207032255A KR102196827B1 (ko) 2018-05-15 2019-05-07 휠 회전의 광학 추적을 이용한 관측된 차량들의 상태 및 위치 예측

Country Status (5)

Country Link
US (1) US10706563B2 (ko)
EP (1) EP3794501A1 (ko)
KR (1) KR102196827B1 (ko)
TW (1) TW202004704A (ko)
WO (1) WO2019221969A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019231456A1 (en) * 2018-05-31 2019-12-05 Nissan North America, Inc. Probabilistic object tracking and prediction framework
JP7035862B2 (ja) * 2018-07-04 2022-03-15 株式会社デンソー 走行支援装置
US10611372B2 (en) 2018-09-06 2020-04-07 Zebra Technologies Corporation Dual-mode data capture system for collision detection and object dimensioning
US11244176B2 (en) * 2018-10-26 2022-02-08 Cartica Ai Ltd Obstacle detection and mapping
US11635764B2 (en) * 2019-02-22 2023-04-25 Uatc, Llc. Motion prediction for autonomous devices
US11292462B1 (en) * 2019-05-14 2022-04-05 Zoox, Inc. Object trajectory from wheel direction
US11460850B1 (en) 2019-05-14 2022-10-04 Zoox, Inc. Object trajectory from wheel direction
JP7225400B2 (ja) * 2019-07-03 2023-02-20 日立Astemo株式会社 車両制御装置
DE102019216363A1 (de) * 2019-10-24 2021-04-29 Robert Bosch Gmbh Verfahren zum Bereitstellen eines Signals zur Ansteuerung eines zumindest teilautomatisierten Fahrzeugs
KR20210060237A (ko) * 2019-11-18 2021-05-26 현대모비스 주식회사 후방 교차 충돌 감지 시스템 및 방법
US11480434B2 (en) * 2020-02-04 2022-10-25 Pony Ai Inc. Initial localization
GB2599442A (en) * 2020-10-04 2022-04-06 Gerard Bailey Samuel Measuring vehicle speed in video capture
US20230306747A1 (en) * 2022-03-22 2023-09-28 Darvis Inc. System and method for managing traffic in environment

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793492A (en) * 1997-01-24 1998-08-11 Loram Maintenance Of Way, Inc. Wheel profile sensor
AU2002251807A1 (en) * 2001-01-23 2002-08-19 Donnelly Corporation Improved vehicular lighting system for a mirror assembly
US8331621B1 (en) * 2001-10-17 2012-12-11 United Toll Systems, Inc. Vehicle image capture system
US7725348B1 (en) * 2001-10-17 2010-05-25 United Toll Systems, Inc. Multilane vehicle information capture system
JP3931891B2 (ja) 2004-07-05 2007-06-20 日産自動車株式会社 車載用画像処理装置
ES2346343T3 (es) * 2005-02-18 2010-10-14 Irobot Corporation Robot autonomo de limpieza de superficies para una limpieza en seco y en mojado.
JP4143113B2 (ja) * 2005-12-27 2008-09-03 本田技研工業株式会社 車両の制御装置
US7714886B2 (en) * 2006-03-07 2010-05-11 Lynxrail Corporation Systems and methods for obtaining improved accuracy measurements of moving rolling stock components
US9726485B2 (en) * 2007-04-22 2017-08-08 Ilookabout Inc. Method of obtaining geographically related images using a vehicle
EP3031375B1 (en) * 2007-05-09 2021-11-03 iRobot Corporation Compact autonomous coverage robot
US8694195B2 (en) 2007-12-04 2014-04-08 Volkswagen Ag Motor vehicle having a wheel-view camera and method for controlling a wheel-view camera system
US20110144850A1 (en) * 2008-01-16 2011-06-16 Takashi Jikihara Moving apparatus, moving method of moving apparatus, and movement control program of moving apparatus
JP2009180536A (ja) * 2008-01-29 2009-08-13 Omron Corp 画像処理装置、画像処理方法、およびプログラム
US9090263B2 (en) * 2010-07-20 2015-07-28 GM Global Technology Operations LLC Lane fusion system using forward-view and rear-view cameras
US20120022739A1 (en) * 2010-07-20 2012-01-26 Gm Global Technology Operations, Inc. Robust vehicular lateral control with front and rear cameras
US9193075B1 (en) * 2010-08-26 2015-11-24 Brain Corporation Apparatus and methods for object detection via optical flow cancellation
DE102011087781A1 (de) 2011-12-06 2013-06-06 Robert Bosch Gmbh Verfahren und System zur Verminderung von Unfallschäden bei einer Kollision zwischen zwei Fahrzeugen
US9235212B2 (en) * 2012-05-01 2016-01-12 5D Robotics, Inc. Conflict resolution based on object behavioral determination and collaborative relative positioning
US9552503B2 (en) * 2012-05-01 2017-01-24 5D Robotics, Inc. Distributed positioning and collaborative behavior determination
US9187091B2 (en) 2012-07-30 2015-11-17 Ford Global Technologies, Llc Collision detection system with a plausibiity module
MX352132B (es) * 2012-11-15 2017-11-08 Android Ind Llc Sistema y método para determinar la uniformidad de un neumático..
US9042603B2 (en) * 2013-02-25 2015-05-26 Ford Global Technologies, Llc Method and apparatus for estimating the distance from trailer axle to tongue
WO2014155615A1 (ja) * 2013-03-28 2014-10-02 トヨタ自動車株式会社 衝突回避支援装置及び衝突回避支援方法
US10259453B2 (en) * 2015-04-10 2019-04-16 Continental Automotive Systems, Inc. Collision avoidance based on front wheel off tracking during reverse operation
CN108137074B (zh) * 2015-09-04 2021-12-03 看门人***公司 轮式车的运动估计
EP3614106B1 (en) * 2016-06-27 2021-10-27 Mobileye Vision Technologies Ltd. Controlling host vehicle based on detected parked vehicle characteristics

Also Published As

Publication number Publication date
CN112106065A (zh) 2020-12-18
US10706563B2 (en) 2020-07-07
US20190355132A1 (en) 2019-11-21
EP3794501A1 (en) 2021-03-24
KR20200135539A (ko) 2020-12-02
TW202004704A (zh) 2020-01-16
WO2019221969A1 (en) 2019-11-21

Similar Documents

Publication Publication Date Title
KR102196827B1 (ko) 휠 회전의 광학 추적을 이용한 관측된 차량들의 상태 및 위치 예측
CN110248861B (zh) 在车辆操纵过程中使用机器学习模型来引导车辆
CN108932869B (zh) 车辆***、车辆信息处理方法、记录介质、交通***、基础设施***及信息处理方法
JP6700382B2 (ja) 車線縁石補助による自律走行車の車線逸脱検出及び車線維持システム
KR101622028B1 (ko) 차량 통신을 이용한 차량 제어 장치 및 제어 방법
US20230334983A1 (en) Message broadcasting for vehicles
US11460851B2 (en) Eccentricity image fusion
WO2021053393A1 (en) Systems and methods for monitoring traffic lane congestion
US11874660B2 (en) Redundant lateral velocity determination and use in secondary vehicle control systems
US20190347808A1 (en) Monocular Visual Odometry: Speed And Yaw Rate Of Vehicle From Rear-View Camera
US20190031198A1 (en) Vehicle Travel Control Method and Vehicle Travel Control Device
US11648939B2 (en) Collision monitoring using system data
US20150153184A1 (en) System and method for dynamically focusing vehicle sensors
US11697412B2 (en) Collision monitoring using statistic models
US20180211530A1 (en) Computer-assisted or autonomous driving with region-of-interest determination for traffic light analysis
WO2015129175A1 (ja) 自動運転装置
US20240199006A1 (en) Systems and Methods for Selectively Decelerating a Vehicle
JP7276282B2 (ja) 物体検出装置、物体検出方法及び物体検出用コンピュータプログラム
JP2021197009A (ja) リスク判定システム、リスク判定プログラム
CN114729806A (zh) 用于检测交通工具车轮滑移的***和方法
US11531349B2 (en) Corner case detection and collection for a path planning system
WO2023009794A1 (en) Three-dimensional object detection based on image data
WO2023076343A1 (en) Autonomous vehicle trajectory determination based on state transition model
CN112106065B (zh) 使用车轮旋转的光学跟踪预测被观察车辆的状态和位置
CN114730521A (zh) 使用统计模型的碰撞监测

Legal Events

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