CN112106065A - 使用车轮旋转的光学跟踪预测被观察车辆的状态和位置 - Google Patents
使用车轮旋转的光学跟踪预测被观察车辆的状态和位置 Download PDFInfo
- Publication number
- CN112106065A CN112106065A CN201980031767.1A CN201980031767A CN112106065A CN 112106065 A CN112106065 A CN 112106065A CN 201980031767 A CN201980031767 A CN 201980031767A CN 112106065 A CN112106065 A CN 112106065A
- Authority
- CN
- China
- Prior art keywords
- wheel
- image
- vehicle
- images
- processor
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
- 230000003287 optical effect Effects 0.000 title description 7
- 238000012545 processing Methods 0.000 claims abstract description 119
- 238000000034 method Methods 0.000 claims abstract description 93
- 230000008859 change Effects 0.000 claims abstract description 29
- 230000033001 locomotion Effects 0.000 claims abstract description 25
- 230000000007 visual effect Effects 0.000 claims abstract description 15
- 230000002708 enhancing effect Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 23
- 238000004891 communication Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000010191 image analysis Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000005096 rolling process Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 1
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000012620 biological material Substances 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000979 retarding effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3602—Input other than that of destination using image analysis, e.g. detection of road signs, lanes, buildings, real preceding vehicles using a camera
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/248—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- 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
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/08—Detecting 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
各个实施例可以包含使用图像数据来估计在诸如由主车辆的视觉导航系统捕获的图像之类的相机图像内观察到的车辆的运动的方法。各个实施例可以包含:相机,所述相机捕获包含被观察车辆的图像序列;以及处理器,所述处理器执行图像处理以识别所述被观察车辆的车轮,并且基于在所述图像序列内的至少两个图像之间所述车轮的取向变化和在所述至少两个图像之间经过的时间来确定所述车轮的旋转速率。所述处理器可以进一步基于所述车轮的旋转速率和直径来确定所述被观察车辆的速度。所述处理器可以通过确定在至少一个图像中所述被观察车辆的车轮的相对角度来进一步确定所述被观察车辆的行进方向和/或转弯速率。
Description
优先权要求
本专利申请要求2018年5月15日提交的题为“使用车轮旋转的光学跟踪预测被观察车辆的状态和位置(STATE AND POSITION PREDICTION OF OBSERVED VEHICLES USINGOPTICAL TRACKING OF WHEEL ROTATION)”的美国非临时申请号15/980,300的优先权,所述申请已转让给其受让人并且明确地以引用方式结合到本文中。
背景技术
随着工业朝向部署自主和半自主车辆的方向发展,汽车和卡车变得更加智能。自主和半自主车辆可以(例如,使用雷达、激光雷达、GPS、文件里程计、加速度计、相机和其它传感器)检测关于它们的位置和环境的信息,并且包含解译传感信息以识别危险并确定要遵循的导航路径的控制系统。自主和半自主车辆包含控制系统以在来自汽车的乘员或其它操作员的控制有限或没有控制的情况下操作的控制系统。自主和半自主车辆的安全操作取决于对障碍物的早期和准确识别以及跟踪和预测其它车辆的移动,所有这些都在街道和公路的动态和繁忙环境中进行。
发明内容
各个实施例和实施例包含用于利用对车轮旋转的视觉跟踪来改善对被观察车辆的状态和意图预测的方法。
各个实施例包含可以在车辆的处理器(诸如车辆导航系统或视觉导航系统或车辆安全系统)中实施以用于使用图像数据来估计被观察车辆的运动的方法。各个实施例可以包含:接收由相机捕获的图像序列;执行图像处理以识别在所述图像序列内观察到的车辆的车轮;以及基于在所述图像序列内的至少两个图像之间所述车轮的取向的变化和在所述至少两个图像之间经过的时间来确定所述车轮的旋转速率。
在一些实施例中,基于在所述图像序列内的至少两个图像之间所述车轮的取向变化和在所述至少两个图像之间经过的时间来确定所述车轮的所述旋转速率可以包含:执行图像处理以识别存在于所述车轮的第一图像和所述车轮的第二图像中的所述车轮的特征;执行图像处理以在所述车轮的所述第一图像和所述第二图像的每一者中识别所述车轮的中心;确定在所述车轮的所述第一图像与所述第二图像之间所述被识别特征的位置变化量;基于在所述车轮的所述第一图像与所述第二图像之间所述被识别特征的所述位置变化量以及在所述车轮的所述第一图像和所述第二图像的每一者中所述车轮的所述中心来确定在所述车轮的所述第一图像与所述第二图像之间所述被识别特征的旋转角度;确定在所述第一图像与所述第二图像之间经过的时间量;以及基于确定所述被识别特征的旋转角度和在所述车轮的所述第一图像与所述第二图像之间的所述经过时间量来确定所述车轮的所述旋转速率。
一些实施例可以进一步包含:对至少一个图像执行图像处理以确定所述车轮的直径;以及基于所述车轮的所述被确定旋转速率和所述车轮的所述直径来确定所述被观察车辆的速度。此类实施例可以进一步包含使用所述被观察车辆的所述被观察速度来增强主车辆的视觉导航系统。
一些实施例可以进一步包含基于对所述图像序列内的所述车轮的图像处理来确定所述被观察车辆的行进方向。在此类实施例中,基于对所述图像序列内的所述车轮的图像处理来确定所述被观察车辆的行进方向可以包含:对至少一个图像执行图像处理以确定所述车轮的被观察水平直径;对至少一个图像执行图像处理以确定所述车轮的被观察竖直直径;计算所述被观察水平直径与所述被观察竖直直径的比率;确定从捕获所述图像序列的相机到所述车轮的视角;以及基于所述被观察水平直径与所述被观察竖直直径的所述比率以及从所述相机到所述车轮的所述被确定视角来确定所述车轮相对于所述相机的相对角度。此类实施例可以进一步包含使用所述被观察车辆的所述被观察行进方向来增强主车辆的视觉导航系统。
一些实施例可以进一步包含基于对所述图像序列内的所述被观察车辆的前轮和后轮的图像处理来确定所述被观察车辆是否正在转弯。
一些实施例可以进一步包含基于对所述图像序列内的所述被观察车辆的前轮和后轮的图像处理来确定所述被观察车辆的转弯角度。在此类实施例中,执行图像处理以识别所述图像序列内的所述被观察车辆的所述车轮可以包含:对至少一个图像执行图像处理以识别所述被观察车辆的所述前轮和所述后轮,此类实施例可以进一步包含:对所述至少一个图像进行图像处理以确定所述前轮相对于捕获所述至少一个图像的相机的相对角度;对所述至少一个图像进行图像处理以确定所述后轮相对于所述相机的相对角度;对所述至少一个图像进行图像处理以确定所述前轮与所述后轮之间的距离;以及基于所述前轮与所述后轮之间的所述距离、基于所述被确定旋转速率的所述被观察车辆的线性速度以及所述前轮的所述相对角度与所述后轮的相对角度之间的差值来确定所述被观察车辆的转弯速率。此类实施例可以进一步包含使用所述被观察车辆的所述确定转弯角度来增强主车辆的视觉导航系统。
其它实施例包含一种车辆,所述车辆包含图像传感器和处理器,所述处理器耦合到所述图像传感器并且被配置有处理器可执行指令以执行上文概述的实施例方法中的任一者的操作。一种用于车辆中的处理装置,所述处理装置被配置成执行上文概述的实施例方法中的任一者的操作。其它实施例包含一种非暂时性处理器可读存储介质,其上存储有被配置成使处理器执行上文概述的实施例方法中的任一者的操作的处理器可执行软件指令。其它实施例包含一种车辆,所述车辆包含用于执行上文概述的实施例方法中的任一者的功能的装置。
附图说明
结合本文并构成本说明书的一部分的附图示出了示范性实施例,并且与上文给出的一般描述和下文给出的详细描述一起用于解释各个实施例的特征。
图1A和1B是示出适于实施各个实施例的车辆的部件框图。
图1C是示出适于实施各个实施例的车辆的部件的部件框图。
图2A是示出根据各个实施例的车辆观察另一车辆并预测另一车辆的动作的图。
图2B是示出根据各个实施例的车辆基于另一车辆的被预测动作来采取动作的图。
图2C是示出根据各个实施例的另一车辆的被识别车轮的图。
图2D是示出根据各个实施例的另一车辆的被识别车轮的图。
图2E是示出根据各个实施例的另一车辆的被识别车轮的图。
图2F是示出根据各个实施例的车辆观察进行转弯的另一车辆的图。
图3是示出根据各个实施例的用于车辆中的实例性片上系统(system on chip)的部件的框图,所述片上系统可以被配置成收集和分析传感器信息。
图4是示出根据各个实施例的预测另一车辆的未来位置的实施例方法的过程流程图。
图5是示出根据各个实施例的确定另一车辆的车轮的旋转速率的实施例方法的过程流程图。
图6是示出根据各个实施例的计算另一车辆的车轮的尺寸比率的实施例方法的过程流程图。
图7是示出根据各个实施例的估计另一车辆的转弯角度的实施例方法的过程流程图。
具体实施方式
将参考附图详细描述各个方面。尽可能地,在整个附图中将使用相同的附图标记来指代相同或相似的部件。对特定实例和实施例的参考是出于说明性目的,而不意图限制各个方面或权利要求书的范围。
各个实施例包含方法、实施所述方法的车辆和用于车辆中的处理装置,所述处理装置被配置成实施用于通过处理图像以确定一或多个车轮的旋转和取向来预测被观察车辆的未来位置的方法。各个实施例可以通过分析车轮旋转速率和取向提供慢速车辆的改善运动估计来改善自主和半自主车辆的操作。为了便于参考,术语“主车辆”用于指代实施各个实施例的车辆,而诸如“另一车辆(other vehicle)”、“另一车辆(other vehicle)”和“被观察车辆”之类的术语用于指代主车辆使用各个实施例观察和跟踪的车辆。
诸如汽车和卡车之类的自主和半自主车辆正在城市街道上成为现实。自主和半自主车辆通常包含多个传感器,所述多个传感器包含收集关于主车辆周围的环境的信息的相机、雷达和激光雷达。如此收集的信息可以使得主车辆能够辨识道路,识别要避开的物体,以及跟踪其他车辆的运动和未来位置以实现部分或完全地自主导航。即使在由乘员或其它操作员操作时,如此收集的信息也可以使得主车辆能够促进和/或改善乘员或其他操作员的反应。例如,被收集信息可以用于确定何时应当提示乘员或其它操作员施加制动器。
尽管多个传感器可能能够收集关于主车辆的信息,但是所述传感器在某些情况下可能不能同样有效收集关于其它车辆的信息。例如,雷达可以有效地基于多普勒频移和随着时间的相对位置变化来确定迎面而来的汽车的速度,但是雷达可能不能同样有效地确定(例如,在十字路口或交叉路口)垂直于主车辆取向的车辆的速度。作为另一实例,主车辆中的自主控制系统可以通过辨识在一系列相机图像内其它车辆的运动来确定其它车辆的移动并且预测其未来位置。然而,当或多或少垂直于主车辆取向的另一车辆正缓慢移动时(诸如,在交叉路口处),可能限制此类基于相机的预测的准确性。这是因为当所有静止物体由于主车辆的运动而好像是在图像帧间移动时,主车辆计算系统可能很难通过处理相机图像来辨识缓慢移动车辆的相对运动。
各个实施例通过分析其它车辆的车轮来改善跟踪缓慢移动车辆的准确性,这是因为车辆车轮上的特征从一个图像帧到下一个图像帧将与另一车辆本身相比表现出较大的位移。可以通过主车辆处理器确定一或多个车轮的旋转速率并且估计车轮直径来计算对车辆速度的准确估计。另外,被观察车辆的角度取向可以基于车轮图像通过计算车轮主轴的比率(例如,竖直直径与水平直径的比率)来确定,由此提供可以用于预测被观察车辆的未来位置的更多信息。在一些实施例中,在确定被观察车辆的角度取向时,可以使用用于将椭圆拟合到图像数据的算法。
各个实施例提供了用于通过使用相机图像处理来辨识另一车辆的车轮并通过测量车轮旋转速率和车轮直径来估计其它车辆的移动以预测另一车辆的未来位置的系统和方法。在各个实施例中,自主或半自主车辆(即,主车辆)的处理器可以接收由图像传感器(诸如,数码相机)捕获的图像序列,并且处理图像序列以识别一或多个其它车辆的存在。例如,主车辆的相机可以在另一车辆接近交叉路口时捕获图像序列,并且处理所述图像以确定另一车辆是否位于十字路口中或附近。尽管本文所描述的实例涉及单个相机,但是这仅仅是为了简化目的,并且图像序列可以包含由多个相机捕获的图像,由此提供多个视角。
在各个实施例中,主车辆处理器可以对被捕获图像序列执行图像处理以识别另一车辆的至少一个车轮。此图像处理可以包含校正一或多个图像,以及补偿由于在捕获单个图像帧期间主车辆和任何其它车辆的相对运动引起的任何滚动快门效应。处理器可以进一步处理图像以识别和跟踪被识别车轮中的一或多个可辨识特征,并且跟踪此类特征跨越两个或更多个图像的位置以确定车轮的旋转速率。处理器可以基于被识别车轮的一或多个特征从一个图像帧到下一个图像帧的旋转角度以及图像帧之间的时间来确定旋转速率。例如,处理器可以在来自图像序列的第一图像和第二图像中识别被识别车轮的标记(例如,字符、胎面图案、着色等)或其它方面(例如,瑕疵),并且确定在两个图像之间被识别特征的位置变化量。例如,处理器可以基于图像帧速率和/或捕获每一个图像的时间来确定在第一图像与第二图像之间经过的时间量。处理器可以通过基于被识别特征的位置变化来确定一或多个被识别特征的角度运动并且通过将所述角运动除以在第一图像与第二图像之间经过的时间来计算被识别车轮的旋转速率。
在各个实施例中,因为另一个车辆随着每一次旋转将前进车轮的周长并且周长等于直径的pi倍,所以主车辆的处理器可以使用一或多个车轮的被确定旋转速率和对车轮直径的估计来估计其他车辆的速度。处理器可以基于在图像内的被观察直径(例如,横跨车轮直径的像素数量)以及到另一车辆的距离来估计车轮直径,所述距离可以由雷达和/或激光雷达传感器来提供。即使不能直接计算对车轮直径的估计,与基于另一车辆的车身从一个图像到下一个图像的相对较小的位置偏移来估计速度相比,基于标准车轮直径的估计可以使用各种实施例方法来提供对缓慢移动车辆的速度的更加准确的估计。
在各个实施例中,处理器可以处理被识别车轮的图像以确定车轮相对于主车辆的角度取向,并且因此确定车轮相对于主车辆的行进方向。在一些实施例中,处理器可以计算或估计被识别车轮的主椭圆轴的比率,以确定车轮相对于主车辆的角度取向。例如,处理器可以计算或者估计被识别车轮的水平直径和竖直直径,并且使用所述两个值来计算水平直径与竖直直径的比率。随后,可以基于另一个车辆的轴承角度以及被识别车轮的水平直径与竖直直径的比率来计算车轮相对于主车辆的角度。
在一些实施例中,主车辆处理器可以基于被识别车轮的被计算尺寸比与另一车辆的轴承角度的结合来估计另一车辆的行进方向。作为简单实例,如果被识别车轮的被计算尺寸比是1(即,被计算水平直径等于被计算竖直直径)并且另一车辆在主车辆的正前方,则被识别车轮垂直于主车辆取向,并且处理器可以估计另一车辆正在以垂直于主车辆的方向行进。作为另一简单实例,如果被识别车轮的被计算尺寸比是1并且另一车辆位于大于0的轴承角度处,则处理器可以估计另一车辆正在以垂直于在主车辆与另一车辆之间的轴承角度的方向行进。
在一些实施例中,主车辆处理器可以基于前轮的水平直径与竖直直径的比率和后轮的水平直径与竖直直径的比率的比较来确定另一车辆正在转弯,并且估计另一车辆的转弯角度。如果两个车轮比不同,则这指示前轮转弯,并且因此另一车辆将在其向前或向后移动时转弯。在一些实施例中,处理器可以基于车轮水平直径与竖直直径的相应比率来确定另一车辆的前轮角度和后轮角度,并且计算前轮角度与后轮角度之间的差值。基于被计算角度差,处理器可以确定另一车辆正在或者将要沿直线行进还是转弯。例如,如果前轮角度与后轮角度之间没有差值(即,被计算差值等于0),则处理器可以估计另一车辆将沿直线行进。作为另一实例,如果前轮角度和后轮角度不同(即,被计算差值大于或小于0),则处理器可以估计另一车辆在其移动时正在或将要转弯,并且可以基于车轮之间的角度差来估计转弯弧(turning arc)的半径。
在一些实施例中,处理器可以基于被估计行进方向、被估计行进速度和被估计转弯角度(所有这些都是至少部分地基于处理另一车辆的车轮的图像来确定的)来预测另一车辆的未来位置。例如,如果被估计行进速度为零,则处理器可以预测另一车辆将保持停止,并且在确定安全行进路径时将另一车辆视作为固定物体。
在各个实施例中,主车辆处理器可以利用行进方向估计、行进速度估计、转弯角度估计和/或未来位置预测来增强视觉导航和/或防撞过程。例如,如果未来位置预测指示另一车辆可能正在穿过主车辆的行进路径,则此预测可以用于增强接合制动器的防撞过程。在另一实例中,如果行进方向垂直于主车辆的行进方向,被估计行进速度为3M.P.H,并且被估计转弯角度为零,则处理器可以预测另一车辆将进入交叉路口或者以其它方式穿过主车辆的行进路径,并且在确定安全行进路径时将此位置预测包含在防撞算法中。
各个实施例可以在各种主车辆中实施,在图1A和1B中示出了其实例性车辆100。参考图1A和1B,主车辆100可以包含设置在主车辆中或者主车辆上的多个传感器102至138,所述传感器用于在自主和半自主导航中所涉及的各种目的以及关于在主车辆100中或主车辆上的物体和人员的传感器数据。传感器102至138可以包含能够检测用于导航和防撞的各种信息的各种传感器中的一或多者。传感器102至138中的每一者可以与控制单元140或彼此之间进行有线或无线通信。具体地,传感器可以包含一或多个相机122、136或其它光学传感器或光电传感器。传感器可以进一步包含其它类型的物体检测和测距传感器,诸如雷达132、激光雷达138、IR传感器和超声波传感器。传感器可以进一步包含胎压传感器114、120、湿度传感器、温度传感器、卫星定位传感器108、加速度计、振动传感器、陀螺仪、重力仪、冲击传感器130、测力计、应力计、应变传感器、流体传感器、化学传感器、气体含量分析仪、pH传感器、辐射传感器、盖革(Geiger)计数器、中子检测器、生物材料传感器、传声器124、134、占用传感器112、116、118、126、128、接近传感器、运动传感器和其它传感器。
主车辆控制单元140可以被配置有处理器可执行指令,以使用从各种传感器(特别是相机122、136)接收的信息来执行各个实施例。在一些实施例中,控制单元140可以使用可以从雷达132和/或激光雷达138的传感器获得的距离和相对位置(例如,相对轴承角度)来补充对相机图像的处理。控制单元140可以进一步被配置成当在自主或半自主模式下进行操作时使用利用各个实施例确定的关于其它车辆的信息来控制主车辆100的转向、制动和速度。
图1C是示出适于实施各个实施例的部件和支持系统的系统150的部件框图。参考图1A、1B和1C,主车辆100可以包含控制单元140,所述控制单元可以包含用于控制对主车辆100的操作的各种电路和装置。控制单元140可以耦合到主车辆100的驾驶控制部件154、导航部件156和一或多个传感器158并且被配置成控制上述部件。
如本文所使用的,术语“部件”、“系统”、“单元”等包含计算机相关实体,诸如但不限于:被配置成执行特定操作或功能的硬件、固件、硬件和软件的结合、软件或者执行中的软件。例如,部件可以是但不限于在处理器上执行的过程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过说明方式,在通信装置上执行的应用程序和通信装置两者可以被称为部件。一或多个部件可以驻留在过程和/或执行线程内,并且部件可以位于一个处理器或核心上和/或分布于两个或更多个处理器或核心之间。另外,这些部件可以从具有存储在其上的各种指令和/或数据结构的各种非暂时性计算机可读取介质执行。部件可以通过本地和/或远程过程、函数或程序调用、电子信号、数据分组、存储器读取/写入以及其它已知的计算机、处理器和/或过程相关通信方法的方式来进行通信。
控制单元140可以包含处理器164,所述处理器被配置有处理器可执行指令以控制对主车辆100的操纵、导航和其它操作,包含各个实施例的操作。处理器164可以耦合到存储器166。控制单元162可以包含输入模块168、输出模块170和无线电模块172。
无线电模块172可以被配置用于无线通信。无线电模块172可以与网络收发器180交换信号182(例如,用于控制操纵的命令信号、来自导航设施的信号等),并且可以将信号182提供给处理器164和/或导航单元156。在一些实施例中,无线电模块172可以使得主车辆100能够通过无线通信链路192与无线通信装置190通信。无线通信链路192可以是双向或单向通信链路,并且可以使用一或多种通信协议。
输入模块168可以从一或多个车辆传感器158接收传感器数据,以及从包含驾驶控制部件154和导航部件156的其它部件接收电子信号。输出模块170可以用于与主车辆100的各种部件(包含驾驶控制部件154、导航部件156和传感器158)进行通信或者激活所述部件。
控制单元140可以耦合到驾驶控制部件154,以控制与对主车辆的操纵和导航相关的主车辆100的物理元件,诸如发动机、马达、节气门、转向元件、飞行控制元件、制动或减速元件等。驾驶控制部件154也可以包含控制主车辆的其它装置的部件,包含环境控件(例如,空调和加热)、外部和/或内部照明装置、内部和/或外部信息显示器(其可以包含显示器屏幕或显示信息的其它装置)和其它类似装置。
控制单元140可以耦合到导航部件156,并且可以从导航部件156接收数据并且被配置成使用此数据来确定主车辆100的当前位置和取向,以及前往目的地的适当路线。在各个实施例中,导航部件156可以包含或耦合到全球导航卫星系统(GNSS)接收器系统(例如,一或多个全球定位系统(GPS)接收器),使得主车辆100能够使用GNSS信号来确定其当前位置。替代地或另外,导航部件156可以包含无线电导航接收器以用于从诸如Wi-Fi接入点、蜂窝网络站点、无线电站、远程计算装置、其它车辆等无线电节点接收导航信标或其它信号。通过对驾驶控制元件154的控制,处理器164可以控制主车辆100进行导航和操纵。处理器164和/或导航部件156可以被配置成使用与蜂窝数据网络180的无线连接182与在网络186(例如,因特网)上的服务器184进行通信,以接收用于控制操纵的命令,接收在导航时有用的数据,提供实时位置报告,以及评估其它数据。
控制单元162可以耦合到一或多个传感器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和第二另一车辆204沿着垂直路径正在朝向交叉路口206行进,其中主车辆100接近交叉路口206,并且另一车辆204停在交叉路口206处或开始进入交叉路口。
主车辆100上的相机122可以捕获另一车辆204的一或多个图像202,并且控制单元(例如,140)、控制单元140内的处理器(例如,164)或另一处理器装置(本文通常称为“处理器”)可以对被捕获图像执行图像处理。例如,主车辆100可以利用一或多个相机来捕获图像序列202或视频,并且处理所述图像以确定在一或多个图像中是否存在另一车辆204。如果在一或多个图像中识别另一车辆204,则主车辆100内的处理器可以对包含另一车辆204的被捕获图像的各部分(如由虚线202所指示的)执行图像处理以识别另一车辆204的至少一个车轮214、215。尽管各个实例描述了识别至少一个车轮,但这仅是为了简单起见,并且可以识别两个或更多个车轮以改善可靠性并提供冗余。在具有多于四个车轮的车辆(例如,卡车和拖车)中,可以处理多于两个车轮的图像,以便进一步减少对旋转速率和相对角度的估计的误差。在所示实例中,主车辆100的处理器已经识别另一车辆204的前轮214和后轮215。在各个实施例中,主车辆100的处理器可以利用任何适当的图像处理方法来执行足以识别其它车辆的车轮的特征识别。在一些实施例中,处理器可以校正图像中的一或多者和/或补偿由于在捕获图像帧期间车辆的相对运动和其车轮的旋转而导致的任何滚动快门效应。
参考图2C和2D,处理器可以对包含被识别车轮214、215的被捕获图像的各部分执行进一步图像处理,以识别从一个图像帧到下一个图像帧可以跟踪到的一或多个特征260以用于测量车轮旋转。在一些实施例中,主车辆100的处理器可以通过测量车轮上的一或多个被跟踪特征从一个图像(或图像帧)到下一个图像的位置变化(注意在图像之间经过的时间)来确定另一车辆204的被识别车轮214、被识别车轮215的旋转速率。例如,主车辆100的处理器可以确定在第一被捕获图像(图2C)与被第二捕获图像(图2D)之间车轮214、215上的一或多个被识别标记或其它特征260的角位置变化262,并且确定在第一被捕获图像与第二被捕获图像之间经过的时间量。在所示实例中,在时间04:15:00处捕获第一图像帧(图2C),并且在时间04:15:03处捕获第二图像帧(图2D),因此在所述两个图像之间经过的时间是3秒。基于在车轮214上的被跟踪特征260的角位置变化262和在车轮的图像之间经过的时间量,处理器可以通过简单相除来确定另一车辆204的车轮的旋转速率。
基于另一车辆204的车轮214、215的被确定旋转速率,主车辆100的处理器可以估计另一车辆的速度。众所周知,车轮的周长等于车轮直径270的π(pi)倍,因此可以基于被确定旋转速率乘以直径乘以π来估计另一车辆的速度。车轮直径270可以由处理器通过图像处理来确定,诸如通过在知道从相机122到车轮的距离(即,长线218)和在图像中车轮270的相对尺寸(诸如依据横跨直径的像素)的情况下使用三角学来确定。可以使用数种技术来估计从相机122到车轮114的距离,所述技术诸如当相隔已知距离的两个相机122、136对车轮成像时通过雷达和/或激光雷达或立体视觉进行距离测量。替代地,处理器可以使用标准车轮直径作为此类计算,所述标准车轮直径可以存储在存储器中。在一些实施例中,处理器可以被配置成辨识另一车辆的型号,并且查询与另一车辆相关联的标准轮胎直径,并且使用在计算另一车辆速度时使用的轮胎直径。
在一些实施例中,主车辆100的处理器也可以确定另一车辆204的车轮214、215的取向以用于确定车辆的行进方向和/或转弯半径。此信息对于在车辆安全系统或自主/半自主车辆控制系统中实施的防撞和导航过程是非常有用的。在一些实施例中,处理器可以通过计算在车轮上的被观察水平直径272与被观察竖直直径270的比率来确定其它车辆车轮214、215的方向。再次,处理器可以执行图像处理和三角计算,以通过测量在图像帧内另一车辆204的前轮214的水平直径272和竖直直径270的跨度(诸如依据像素)并且知道与车轮的距离来确定这些尺寸。然而,出于确定车轮214、215的相对取向的目的,直径测量可以是相对测量(例如,像素),这是因为处理器可以使用所述测量来计算水平直径与竖直直径的比率。
处理器可以被配置成使用水平直径与竖直直径的比率来确定车轮相对于主车辆的相机的取向,因为所述比率与相对取向的正弦相关。例如,如图2C和2D中所示,当车轮214在相机(例如,122)正前方并且垂直于相机取向时,车轮竖直直径270将等于水平直径272,并且因此直径比率将等于1。如图2E中所示,当车轮214与相机成一定角度取向时,车轮竖直直径270将大于水平直径272,并且因此水平直径与竖直直径的比率将小于1。车轮214的相对取向与垂直(即,90°)越不同,水平直径与竖直直径的比率就越小。
参考图2A,车轮214相对于主车辆100的相机122的相对取向是到车轮214的视角216(即,在相机122的正方向与到车轮的视线218之间的角度)与车轮相对于相机122的行进方向的组合。在一些实施例中,视角216可以由处理器通过处理被捕获图像以确定在车轮图像中距图像中心线的距离(例如,以像素为单位)来确定。如果另一车辆204上的车轮214垂直于主车辆100上的相机取向,如图2A中所示,则车轮214的相对取向将等于视角216。因此,如果处理器确定车轮214的水平直径与竖直直径的比率与到另一车辆204的相对视角一致,则处理器可以确定另一车辆在垂直于主车辆100的方向上移动。然而,如果另一车辆204在与垂直于主车辆100的方向不同的方向上行进,则车轮214的相对取向将等于视角216加上一定的角度,所述角度等于90度减去在两个车辆的行进方向208、210之间的角度220(在图2A和2B所示的实例中为90度)。因此,处理器能够通过确定另一车辆的车轮214、250的水平直径与竖直直径的比率以及到车轮的视角216来确定另一车辆204的行进方向。
在图2A和2B所示的实例中,前轮没有转弯,因此车轮的行进方向与另一车辆204的行进方向210对准。因此,处理器能够基于另一车辆204的行进方向和被确定速度来估计所述另一车辆的未来位置,以及采取适当动作以避免碰撞。例如,如图2B中所示,主车辆100的处理器可以基于另一车辆204的车轮214、215的被确定旋转速率和尺寸以及车轮214、215的相对取向确定了另一车辆正在以将导致碰撞的速率进入交叉路口,并且因此可以施加制动器以减速(由较短箭头208指示),使得另一车辆204可以在主车辆100之前穿过交叉路口206。
参考图2F,在一些实施例中,主车辆100的处理器可以使用前轮240和后轮252的水平直径与竖直直径的被确定比率来确定另一车辆204是否正进行转弯,并且估计此转弯的角度或路径。为此,主车辆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的处理器可以预测另一车辆204将以如图2B中所描绘的那样可能对主车辆100造成碰撞风险的方式前进通过交叉路口206。作为另一实例,主车辆100的处理器可以预测另一车辆204将以如图2F所示的那样可能对主车辆100造成或者可能不造成碰撞风险的方式完成转弯通过交叉路口206。
在一些实施例中,主车辆100的处理器可以利用被估计行进方向、被估计行进速度、被估计转弯角度和/或另一车辆204的被预测未来位置来增强视觉导航和/或防撞过程或系统。例如,在图2B中描绘的场景中,主车辆100的防撞模块(其可以耦合到处理器或者在处理器内执行)接合制动器以减慢主车辆100,以便避免与另一车辆204碰撞。作为另一实例,在图2F中描述的场景中,在主车辆100的处理器中执行的防撞模块可以接合制动器并且调整主车辆100的转向两者,以便当另一车辆204转弯到与主车辆相同的街道上时避免与所述另一车辆碰撞。
图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可以包含执行第一类型的操作系统(例如,FreeBSD、LINUX、OS X等)的处理器和执行第二类型的操作系统(例如,MicrosoftWindows)的处理器。在一些实施例中,应用程序处理器308可以是SOC 300的主处理器、中央处理单元(CPU)、微处理器单元(MPU)、算术逻辑单元(ALU)等。图形处理器306可以是图形处理单元(GPU)。
处理装置SOC 300可以包含模拟电路系统和定制电路系统314,以用于管理传感器数据、模数转换、无线数据传输,以及用于执行其它专门操作(诸如处理被编码音频和视频信号以用于在网页浏览器中进行渲染)。处理装置SOC 300可以进一步包含系统部件和资源316,诸如电压调节器、振荡器、锁相回路、外围网桥、数据控制器、存储器控制器、系统控制器、存取端口、定时器,以及用于支持处理器和在计算装置上运行的软件客户端(例如,网页浏览器)的其它类似部件。
处理装置SOC 300还包含专用电路系统(CAM)305,所述CAM包含、提供、控制和/或管理一或多个相机122、136(例如,主相机、网络摄像头、3D相机等)的操作、来自相机固件的视频显示数据、图像处理、视频预处理、视频前端(VFE)、内嵌(in-line)JPEG、高清视频编码器等。CAM 305可以是独立的处理单元和/或包含独立时钟或内部时钟。
在一些实施例中,图像处理器306可以被配置有处理器可执行指令和/或被配置成执行各个实施例中涉及的图像处理分析的专用硬件。例如,图像处理器306可以被配置成执行处理经由CAM 305从相机(例如,122、136)接收的图像的处理以辨识和/或识别其它车辆,以及进一步处理包含其它车辆的图像部分以识别和跟踪此类车辆上的车轮。在一些实施例中,图像处理器306可以进一步被配置成执行以下一些或所有操作:确定被识别车轮的旋转速率、确定被识别车轮的相对取向、基于另一车辆上的车轮的相对取向的差值来确定被识别车辆的转弯半径等。
系统部件和资源316、模拟和定制电路系统314和/或CAM 305可以包含与外围装置(诸如相机122、136的电子显示器、无线通信装置、外部存储器芯片等)对接的电路。处理器303、304、306、307、308可以经由互连/总线模块324互连到一或多个存储器元件312、系统部件和资源316、模拟和定制电路系统314、CAM 305和RPM处理器317,所述互连/总线模块可以包含可重新配置逻辑门的阵列和/或实施总线架构(例如,CoreConnect、AMBA等)。可以通过诸如高性能片上网络(networks-on chip,NoC)之类的高级互连来提供通信。
处理装置SOC 300可以进一步包含用于与SOC外部的资源(诸如时钟318和电压调节器320)进行通信的输入/输出模块(未示出)。SOC外部的资源(例如,时钟318、电压调节器320)可以被内部SOC处理器/核心(例如,DSP 303、调制解调器处理器304、图形处理器306、应用程序处理器308等)中的两者或更多者共享。
在一些实施例中,处理装置SOC 300可以被包含在控制单元(例如,140)中以在车辆(例如,100)中使用。如所描述的,控制单元可以包含用于与电话网络(例如,180)、因特网和/或网络服务器(例如,184)进行通信的通信链路。
处理装置SOC 300也可以包含适于从包含以下各项的传感器收集传感器数据的附加硬件和/或软件部件:运动传感器(例如,加速度计和陀螺仪)、用户界面元件(例如,输入按钮、触摸屏显示器等)、麦克风阵列、用于监测物理条件(例如,位置、方向、运动、取向、振动、压力等)的传感器、相机、指南针、GPS接收器、通信电路(例如,WLAN、WiFi等),以及其它众所周知的现代电子装置的部件。
图4示出了根据各个实施例的由处理器(例如,车辆导航系统的处理器)预测另一车辆的未来位置的方法400。参考图1A至4,可以在车辆(例如,100)的处理器(例如,164)、处理装置(例如,300)和/或控制单元(例如,104)(不同地被称为处理器)中实施方法400。在框402至420中执行的操作的顺序仅仅是说明性的,并且在各个实施例中,框402至420的操作可以任何顺序来执行并且部分同时执行。
在框402中,处理器可以控制一或多个相机(例如,122、136)和/或其它图像捕获传感器来捕获车辆周围区域的图像序列。在一些实施例中,可以作为车辆导航防撞系统的一部分来捕获图像序列并且在框402中仅提供给处理器。可以遍及方法400连续地捕获此类图像,并且不作为分开的操作来执行。
在确定框403中,处理器可以对被捕获图像帧执行图像分析以辨识车辆,并且确定在对主车辆100构成风险的位置处是否存在另一车辆。在各个实施例中,图像分析可以包含校正每个图像和/或补偿由于在捕获每个图像帧所需的时间期间车辆的相对运动所引起的任何滚动快门效应。如果处理器确定在被捕获图像中不存在其它车辆(即,确定框403=“否”),则处理器可以在框402中继续接收被捕获周围环境的图像序列,并且在确定框403中分析图像以辨识其它车辆。
响应于确定在被捕获图像中存在另一车辆或多个车辆(即,确定框四三=“是”),在框404中,处理器可以分析图像序列以辨识另一车辆中的至少一个车轮(例如,被识别车轮214)。例如,处理器可以对包含另一车辆的序列的一部分执行图像处理,以识别与车轮一致的圆形或椭圆形形状。在一些实施例中,处理器可以进一步将一个车轮识别为另一车辆的前轮,并且将一个车轮识别为另一车辆的后轮。在一些实施例中,处理器可以识别三个或更多个车轮(例如,牵引拖车、卡车,或牵引一拖车的其它车辆)。
在框406中,处理器可以进一步分析包含一或多个车轮的图像数据,以识别可以从一个图像帧到下一个图像帧跟踪的一或多个特征,并且测量至少两个图像帧之间此(此类)特征的位置偏移以确定一或多个车轮的旋转速率。如所描述的,处理器可以基于在图像序列内的第一图像帧与第二图像之间被识别特征(例如,264)的角度位移以及在第一图像帧与第二图像帧之间经过的时间量来确定车轮的旋转速率。
在框408中,如所描述的,处理器可以基于被识别的一或多个车轮的被确定旋转速率以及车轮的测量或被估计直径来估计另一车辆的行进速度。例如,如果至少一个被识别车轮的被确定旋转速率为零,则处理器可以估计另一车辆静止不动(即,行进速度为零)。
在框410中,处理器可以通过确定至少一个被识别车轮的水平直径(例如,272)与竖直直径(例如,270)的比率并且如所描述的那样来确定另一车辆上的一或多个车轮的相对取向。例如,处理器可以基于图像分析和到另一车辆的距离来确定车轮的水平直径和竖直直径。作为另一实例,处理器可以基于横跨水平和竖直两个尺寸的像素数量来确定水平直径与竖直直径的比率。在一些实施例中,处理器可以通过确定与车轮相对应的椭圆的主轴的比率来确定车轮的相对取向。在框410中,处理器也可以确定相机到车轮的视角。
在框412中,处理器可以确定从主车辆到车轮的视角(如果在先前框中没有确定),基于另一车辆的一或多个车轮的相对取向和所述视角来估计另一车辆的行进方向,如所描述的。例如,如果水平直径与竖直直径的比率指示车轮的相对取向等于到车轮的视角,则处理器可以确定另一车辆的行进方向大致地垂直于主车辆。
在框414中,处理器可以基于另一车辆的前轮和后轮的取向差值来估计另一车辆的转弯角度。在一些实施例中,处理器可以基于前轮取向与后轮取向之间的差值以及另一车辆的轴距(即,前轮与后轮之间的距离)来估计另一车辆的转弯角度。在一些实施例中,处理器可以使用图像处理来将前轮映射到后轮上,以确定两个车轮之间的取向角度差。
在框416中,处理器可以基于另一车辆的被确定行进方向、被确定行进速度和/或被确定转弯角度(如果有)来预测另一车辆的未来位置。例如,如果被估计行进方向垂直于主车辆、被估计行进速度为零并且被估计转弯角度为零,则处理器可以预测另一车辆将保持在其当前位置。在另一实例中,如果被估计行进方向垂直于主车辆、被估计行进速度大于零并且被估计转弯角度为零,则处理器可以预测另一车辆将穿过主车辆的行进路径。
在框418中,处理器可以使用另一车辆的被估计行进方向、被估计行进速度、被估计转弯角度和/或被预测未来位置来增强视觉导航和/或防撞系统。例如,如果处理器确定另一车辆被预测为保持停止,则可以向视觉导航过程通知另一车辆可能保持静止,使得不需要改变主车辆的行进方向和速度。作为另一实例,如果处理器确定另一车辆被预测为与主车辆相交,则这种信息可以用于防撞计算,所述防撞计算可以导致处理器接合制动器和/或采取其它动作来避免与另一车辆碰撞。在一些实施例中,执行各个实施例的处理器可以与执行主车辆的自主或半自主导航和控制的控制单元分开,在所述情况下,处理器可以向控制单元提供对另一车辆的分析。
在很多情形下,在由相机捕获的图像内将存在多个其它车辆。在此类情况下,在框420中处理器可以选择另一车辆,并且针对选择的其它车辆重复框404至418的操作,如所描述的。
在一些实施例中,方法400的操作可以作为自主或半自主导航过程的一部分被连续地执行。在此类实施例中,框402中的周围环境的图像作为导航过程的一部分可以被连续地捕获并且由处理器使用,或者与其它导航过程并行地确定其它车辆的移动。此外,在框406和框408中的确定车轮的旋转速率和估计车辆速度的操作可以与在框410和框412中的确定车轮的相对取向和另一车辆的被估计行进方向并行地执行。在一些实施例中,处理器可以仅执行方法400的一些操作,诸如仅基于确定车辆车轮的旋转速率来确定其它车辆的速度。
在一些实施例中,处理器可以执行方法400的一些操作或其它方法,来确定被检测车辆是否正在以与阈值速度相比更慢速度移动,高于所述阈值速度,不应当执行方法400。例如,如果处理器确定另一车辆的速度超过速度阈值,则处理器可以不执行方法400关于另一车辆的其它操作。这是因为从一帧到下一帧车轮的角度旋转可以仅在图像帧之间的时间中车轮旋转小于一整圈(即,<360度)的情况下使用图像处理方法来测量。因此,如果被检测车辆移动得比阈值速度更快,则处理器可以不使用各个实施例的方法,而是替代地使用常规的运动检测方法,诸如确定从一个图像帧到下一个图像帧车辆位置的偏移。在一些实施例中,阈值速度对于所有车辆可以是相同的。在一些实施例中,阈值速度可以基于根据图像处理来估计车辆车轮的直径而计算的。例如,处理器可以将阈值速度设置为小于车轮直径的pi倍除以在适当单位的图像帧之间的时间的值。
图5示出了根据各个实施例由处理器(例如,车辆导航系统的处理器)确定另一车辆的被识别车轮的旋转速率的方法500。参考图1A至5,可以在车辆(例如,100)的处理器(例如,164)、处理装置(例如,300)和/或控制单元(例如,104)(不同地被称为处理器)中实施方法500。方法500提供了可以在方法400的框406中执行的操作的实例。在框502至508中执行的操作的顺序仅仅是说明性的,并且在各个实施例中,框502至508的操作可以任何顺序来执行并且部分同时执行。
在框502中,处理器可以对被捕获图像执行图像处理以识别可以从一个图像帧到下一个图像帧跟踪的另一车辆的被识别车轮的特征(例如,260)。被识别特征可以是任何形式的可辨识特征,诸如印在被识别车轮的侧壁上的字母或数值、图案(例如,胎面的一部分)、车轮或轮辋的一部分上的污点或污垢、轮辋的特征元素,或者车轮上的其它标记或瑕疵。
在框504中,处理器可以确定在至少两个图像之间被识别特征的位置变化量(例如,264)。在一些实施例中,处理器可以跟踪在图像序列内的第一图像帧与第二图像帧之间被识别特征的移动,并且使用在两个图像帧之间的移动来计算将产生此类移动的车轮的角度旋转。计算错误可能涉及确定被跟踪特征与车轮中心的距离以计算两个图像之间的角度旋转。如果被识别特征在第一图像帧和第二图像帧两者中处于相同位置,则位置变化量为零,从而指示车轮未转弯。
在框506中,处理器可以确定第一图像帧与第二图像帧之间经过的时间量。这种确定可以基于捕获图像序列的相机的帧速率、图像帧中的每一者上的时间戳,或者确定图像帧之间的时间的其它方法。
在框508中,处理器可以基于被跟踪特征的旋转移动和在图像帧之间经过的时间量来确定被识别车轮的旋转速率。例如,处理器可以将在第一图像帧与第二图像帧之间观察到的角度旋转除以360°并且除以在图像帧之间经过的时间,结果是估计每单位时间旋转。作为实例,如果在第一图像帧与第二图像帧之间被观察到的角度旋转是36°并且在图像帧之间的时间是十分之一秒,则处理器将估计车轮正以每秒6转或者每分钟360转的速率转动。继续这个实例,如果车轮的直径是30英寸,则处理器将估计另一车辆正以约每分钟47英尺或者约每小时0.5英里的速率移动。使用30英寸直径的车轮和每秒捕获10个图像帧的相机的这个实例,可以看出,方法500在其之外可以不被处理器采用的阈值速度约为每小时5英里或者更小,因为车轮以所述速度在图像帧之间将旋转大约一整圈。
图6示出了根据各个实施例由处理器(例如,车辆导航系统的处理器)计算另一车辆的被识别车轮的尺寸比的方法600。参考图1A至6,可以在车辆(例如,100)的处理器(例如,164)、处理装置(例如,300)和/或控制单元(例如,104)(不同地被称为处理器)中实施方法600。方法600提供了可以在方法400的框410中执行的操作的实例。在框602至606中执行的操作的顺序仅仅是说明性的,并且在各个实施例中,框602至606的操作可以任何顺序来执行并且部分同时执行。
在框602中,处理器可以计算另一车辆的被识别车轮的水平直径(例如,272)。例如,处理器可以通过以下方式来计算从被识别车轮的外左侧到被识别车轮的外右侧的距离:确定在图像帧中横跨这个尺寸的像素的数量。在一些实施例中,处理器可以基于到车轮的距离(如可以经由雷达、激光雷达和/或立体视觉确定)和横跨所述尺寸的像素的数量来确定以长度计量的距离。
在框604中,处理器可以计算另一车辆的被识别车轮的竖直直径(例如,270)。例如,处理器可以通过以下方式来计算从被识别车轮的外顶侧到被识别车轮的外底侧的距离:确定在图像帧中横跨这个尺寸的像素的数量。在一些实施例中,处理器可以基于到车轮的距离(如可以经由雷达、激光雷达和/或立体视觉确定)和横跨所述尺寸的像素的数量来确定以长度计量的距离。
在框606中,处理器可以计算被识别车轮的水平直径与竖直直径的比率。随后,处理器可以使用这个比率来执行如所描述的方法400的操作。
图7示出了根据各个实施例的由处理器(例如,车辆导航系统的处理器)基于对车轮的图像的处理来确定另一车辆的转弯角度的方法700。参考图1A至7,可以在车辆(例如,100)的处理器(例如,164)、处理装置(例如,300)和/或控制单元(例如,104)(不同地被称为处理器)中实施方法700。方法700提供了可以在方法400的框414中执行的操作的实例。在框702至706中执行的操作的顺序仅仅是说明性的,并且在各个实施例中,框702至706的操作可以任何顺序来执行并且部分同时执行。
在框702中,处理器可以基于在前轮的图像中观察到的水平直径与竖直直径的被确定的比率来确定另一车辆的前轮相对于主车辆的相对角度。如所描述的,处理器可以在方法400的框410中以及在方法600的框602至606中确定水平直径与竖直直径的比率。除了车轮水平直径与竖直直径的比率之外,处理器可以在计算前轮的相对角度时还考虑从主车辆相机(例如,122)到前轮的视角(例如,216),如所描述的。
在框704中,处理器可以基于在后轮的图像中观察到的水平直径与竖直直径的被确定的比率来确定另一车辆的后轮相对于主车辆的相对角度。而且,如所描述的,处理器可以在方法400的框410中以及在方法600的框602至606中确定水平直径与竖直直径的比率。除了车轮水平直径与竖直直径的比率之外,处理器可以在计算前轮的相对角度时还考虑从主车辆相机(例如,122)到后轮的视角(例如,217),如所描述的。然而,在其中另一车辆位于距离主车辆较远的情况下,可以忽略前轮和后轮的视角,这是因为在前轮与后轮之间的视角差可能是小的。
在框706中,处理器可以诸如经由简单减法确定前轮角度与后轮角度之间的差值。例如,如果前轮与后轮的相对角度之间的差值近似为零,则这将向处理器指示前轮未转弯并且另一车辆可能遵循直线行驶。另一方面,如果前轮和后轮的相对角度的差值不为零,则这将向处理器指示前轮转弯并且另一车辆可能遵循弯曲路径。取决于差值是如何被计算的,所述差值的符号也将向处理器指示另一车辆将向左转还是向右转。例如,如果处理器确定前轮相对角度(例如,216)小于后轮相对角度(例如,217),则这可以指示另一车辆将转向主车辆(例如,弯曲路径211)。作为另一实例,如果处理器确定前轮相对角度(例如,216)大于后轮相对角度(例如,217),则这可以指示另一车辆将转弯远离主车辆。
在框708中,处理器可以将另一车辆的轴距确定为前轮与后轮之间的距离。如所描述的,这可以由处理器通过以下方式来确定:对包含另一车辆的图像的部分进行处理以确定在图像内两个车轮之间的距离(例如,像素的数量)、(例如,经由雷达、激光雷达或立体视觉)确定到另一车辆的距离,以及使用三角学来估计车轮之间的实际距离。
在框710中,处理器可以基于前轮和后轮的相对角度的差值以及被确定轴距来确定转弯半径或者以其它方式估计另一车辆的弯曲行进路径。随后,处理器可以使用被确定转弯半径或弯曲行进路径,是如所描述的方法400的框416中预测另一车辆的未来位置的一部分。
各个实施例和实施例可以通过基于对车轮旋转的视觉跟踪改善对其它车辆的状态和意图预测来改善车辆导航系统和/或车辆安全系统(包含自主和半自主车辆的防撞和导航系统)的操作。各个实施例可以用于增强自主和半自主车辆的视觉导航和/或防撞系统。另外地,通过为驾驶员提供更准确的碰撞警告,各个实施例可以用作安全系统的一部分。各个实施例也可以在涉及监测车辆交通的其它应用(诸如位于交叉路口处或交叉路口附近的交通监测相机)中是有用的。因此,除非在权利要求元素中明确地记载,否则权利要求不应当被解释为限于车辆系统。
所示出和描述的各个实施例仅作为用于示出权利要求的各种特征的实例提供。然而,关于任何给定实施例示出和描述的特征不必限于相关联的实施例,并且可以与所示出和描述的其它实施例一起使用或组合。此外,权利要求不意图受限于任何一个实例性实施例。
前述方法描述和过程流程图仅作为说明性实例而提供,并且不意图要求或者暗示各个实施例的框必须以所提供的顺序来执行。如本领域技术人员所理解的,在前述实施例中的框的顺序可以任何顺序来执行。诸如“此其后”、“随后”、“下一个”等词语不意图限制框的顺序;这些词语仅用于通过对方法的描述来指导读者。此外,以单数形式(例如使用冠词“一(a/an)”、或“所述(the)”)对权利要求元素的任何引用不被解释为将所述元素限制为单数形式。
结合本文公开的实施例描述的各种说明性的逻辑块、模块、电路和算法框可以被实施成电子硬件、计算机软件或两者的组合。为了清楚地示出硬件和软件的这种可互换性,上面已经对各种说明性部件、块、模块、电路和框在其功能方面进行了总体描述。将这种功能性实施为硬件还是软件取决于强加于整个系统的特定应用和设计约束。技术人员可以针对每个特定应用以不同方式实施所描述的功能性,但是此实施例不应被解释为导致脱离本公开的范围。
用于实施与在本文公开的实施例结合描述的各种说明性逻辑块、模块和电路的硬件可以用以下各项来实施或执行:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或其它可编程逻辑装置、分立门或晶体管逻辑、分立硬件部件、或被设计为执行本文所述的功能的其任何组合。通用处理器可以是微处理器,但是替代地,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器也可以被实施为通信装置的组合(例如,DSP和微处理器的组合、多个微处理器、与DSP核结合的一或多个微处理器,或任何其它这样的配置)。替代地,一些框或方法可以由特定于给定功能的电路系统来执行。
在各个实施例中,所描述的功能可以在硬件、软件、固件或其任何组合中进行实施。当在软件中实施时,可以将功能作为一或多个指令或代码存储在非暂时性计算机可读取介质或者非暂时性处理器可读取介质上。本文公开的方法或算法的操作可以体现在处理器可执行软件模块中,所述处理器可执行软件模块可以驻留在非暂时性计算机可读取存储介质或处理器可读取存储介质上。非暂时性计算机可读取或处理器可读取存储介质可以是能够由计算机或处理器存取的任何存储介质。例如但不限制,此非暂时性计算机可读取介质或者处理器可读取介质可以包含RAM、ROM、EEPROM、快闪存储器、CD-ROM或其它光盘存储、磁盘存储或其它磁存储装置,或者可以用于以指令或数据结构形式存储期望的程序代码并且可以由计算机存取的任何其它介质。如本文中使用的磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地再现数据,而光盘借助于激光光学地再现数据。上述内容的组合也包含在非暂时性计算机可读取介质和处理器可读取介质的范围之内。另外,方法或算法的操作可以作为一个代码和/或指令或者代码和/或指令的任意组合或者代码和/或指令的集合驻留在非暂时性处理器可读取介质和/或计算机可读取介质上,所述非暂时性处理器可读取介质和/或计算机可读取介质可以结合到计算机程序产品中。
提供对所公开的实施例的先前描述是为了使得本领域任何技术人员能够制作或使用本发明实施例。对于本领域技术人员而言,对这些实施例的各种修改将是显而易见的,并且在不脱离实施例的范围的情况下,可以将本文定义的一般原理应用于其它实施例。因此,各个实施例不意图限于本文所示实施例,而是要符合与所附权利要求和本文公开的原理和新颖性特征相一致的最宽泛的范围。
Claims (30)
1.一种使用图像数据来估计被观察车辆的运动的方法,所述方法包括:
由相机捕获包含所述被观察车辆的图像序列;
由处理器执行图像处理以在所述图像序列内识别所述被观察车辆的车轮;以及
由所述处理器基于在所述图像序列内的至少两个图像之间所述车轮的取向变化和在所述至少两个图像之间经过的时间来确定所述车轮的旋转速率。
2.根据权利要求1所述的方法,其中基于在所述图像序列内的至少两个图像之间所述车轮的取向变化和在所述至少两个图像之间经过的时间来确定所述车轮的所述旋转速率包括:
执行图像处理以识别存在于所述车轮的第一图像和所述车轮的第二图像中的所述车轮的特征;
执行图像处理以在所述车轮的所述第一图像和所述第二图像中的每一者中识别所述车轮的中心;
确定在所述车轮的所述第一图像与所述第二图像之间被识别特征的位置变化量;
基于在所述车轮的所述第一图像与所述第二图像之间所述车轮的所述被识别特征的所述位置变化量以及在所述车轮的所述第一图像和所述第二图像中的每一者中所述车轮的所述中心来确定在所述车轮的所述第一图像与所述第二图像之间所述车轮的所述被识别特征的旋转角度;
确定在所述第一图像与所述第二图像之间经过的时间量;以及
基于确定所述被识别特征的旋转角度和在所述车轮的所述第一图像与所述第二图像之间的所述经过时间量来确定所述车轮的所述旋转速率。
3.根据权利要求1所述的方法,所述方法进一步包括:
对至少一个图像执行图像处理以确定所述车轮的直径;以及
基于所述车轮的被确定旋转速率和所述车轮的所述直径来确定所述被观察车辆的速度。
4.根据权利要求3所述的方法,所述方法进一步包括:
使用所述被观察车辆的被确定速度来增强主车辆的视觉导航系统。
5.根据权利要求1所述的方法,所述方法进一步包括基于对所述图像序列内的所述车轮的图像处理来确定所述被观察车辆的行进方向。
6.根据权利要求5所述的方法,其中基于对所述图像序列内的所述车轮的图像处理来确定所述被观察车辆的行进方向包括:
对至少一个图像执行图像处理以确定所述车轮的被观察水平直径;
对至少一个图像执行图像处理以确定所述车轮的被观察竖直直径;
计算所述被观察水平直径与所述被观察竖直直径的比率;
确定从捕获所述图像序列的相机到所述车轮的视角;以及
基于所述被观察水平直径与所述被观察竖直直径的所述比率以及从所述相机到所述车轮的被确定视角来确定所述车轮相对于所述相机的相对角度。
7.根据权利要求5所述的方法,所述方法进一步包括:
使用所述被观察车辆的所述被观察行进方向来增强主车辆的视觉导航系统。
8.根据权利要求1所述的方法,所述方法进一步包括基于对所述图像序列内的所述被观察车辆的前轮和后轮的图像处理来确定所述被观察车辆是否正在转弯。
9.根据权利要求1所述的方法,所述方法进一步包括基于对所述图像序列内的所述被观察车辆的前轮和后轮的图像处理来确定所述被观察车辆的转弯角度。
10.根据权利要求9所述的方法,其中执行图像处理以识别所述图像序列内的所述被观察车辆的所述车轮包括由所述处理器对至少一个图像执行图像处理以识别所述被观察车辆的所述前轮和所述后轮,所述方法进一步包括:
对所述至少一个图像进行图像处理以确定所述前轮相对于捕获所述至少一个图像的相机的相对角度;
对所述至少一个图像进行图像处理以确定所述后轮相对于所述相机的相对角度;
对所述至少一个图像进行图像处理以确定所述前轮与所述后轮之间的距离;以及
基于所述前轮与所述后轮之间的所述距离、基于所述被确定旋转速率的所述被观察车辆的线性速度以及所述前轮的所述相对角度与所述后轮的所述相对角度之间的差值来确定所述被观察车辆的转弯速率。
11.根据权利要求9所述的方法,所述方法进一步包括:
使用所述被观察车辆的确定转弯角度来增强主车辆的视觉导航系统。
12.一种车辆导航系统,所述车辆导航系统包括:
相机,所述相机被配置成捕获车辆外部的图像;以及
处理器,所述处理器被配置成从所述相机接收图像序列并且被配置有处理器可执行指令以:
执行图像处理以识别在所述图像序列内观察到的车辆的车轮;以及
基于在所述图像序列内的至少两个图像之间所述车轮的取向变化和在所述至少两个图像之间经过的时间来确定所述车轮的旋转速率。
13.根据权利要求12所述的车辆导航系统,其中所述处理器进一步被配置有处理器可执行指令以基于在所述图像序列内的至少两个图像之间所述车轮的取向变化和在所述至少两个图像之间经过的时间通过以下操作来确定所述车轮的所述旋转速率:
识别存在于所述车轮的第一图像和所述车轮的第二图像中的所述车轮的特征;
执行图像处理以在所述车轮的所述第一图像和所述第二图像中的每一者中识别所述车轮的中心;
确定在所述车轮的所述第一图像与所述第二图像之间被识别特征的位置变化量;
基于在所述车轮的所述第一图像与所述第二图像之间所述车轮的所述被识别特征的所述位置变化量以及在所述车轮的所述第一图像和所述第二图像中的每一者中所述车轮的所述中心来确定在所述车轮的所述第一图像与所述第二图像之间所述被识别特征的旋转角度;
确定在所述第一图像与所述第二图像之间经过的时间量;以及
基于确定所述被识别特征的旋转角度和在所述车轮的所述第一图像与所述第二图像之间的所述经过时间量来确定所述车轮的所述旋转速率。
14.根据权利要求12所述的车辆导航系统,其中所述处理器进一步被配置有处理器可执行指令以:
执行图像处理以确定所述车轮的直径;以及
基于所述车轮的所述被确定旋转速率和所述车轮的所述直径来确定所述被观察车辆的速度。
15.根据权利要求12所述的车辆导航系统,其中所述处理器进一步被配置有处理器可执行指令以基于对所述图像序列内的所述车轮的图像处理来确定所述被观察车辆的行进方向。
16.根据权利要求15所述的车辆导航系统,其中所述处理器进一步被配置有处理器可执行指令以基于对所述图像序列内的所述车轮的图像处理通过以下操作来确定所述被观察车辆的行进方向:
确定所述车轮的被观察水平直径;
确定所述车轮的被观察竖直直径;
计算所述被观察水平直径与所述被观察竖直直径的比率;
确定从捕获所述图像序列的相机到所述车轮的视角;以及
基于所述被观察水平直径与所述被观察竖直直径的所述比率以及从所述相机到所述车轮的被确定视角来确定所述车轮相对于所述相机的相对角度。
17.根据权利要求12所述的车辆导航系统,其中所述处理器进一步被配置有处理器可执行指令以基于对所述图像序列内的所述被观察车辆的前轮和后轮的图像处理来确定所述被观察车辆是否正在转弯。
18.根据权利要求12所述的车辆导航系统,其中所述处理器进一步被配置有处理器可执行指令以基于对所述图像序列内的所述被观察车辆的前轮和后轮的图像处理来确定所述被观察车辆的转弯角度。
19.根据权利要求18所述的车辆导航系统,其中所述处理器进一步被配置有处理器可执行指令以:
对至少一个图像执行图像处理以识别所述被观察车辆的所述前轮和所述后轮;
对至少一个图像执行图像处理以确定所述前轮相对于所述相机的相对角度;
对至少一个图像执行图像处理以确定所述后轮相对于所述相机的相对角度;
对至少一个图像执行图像处理以确定所述前轮与所述后轮之间的距离;以及
基于所述前轮与所述后轮之间的所述距离、基于所述被确定旋转速率的所述被观察车辆的线性速度以及所述前轮的所述相对角度与所述后轮的所述相对角度之间的差值来确定所述被观察车辆的转弯速率。
20.一种用于车辆中的处理装置,所述处理装置被配置成:
从所述车辆上的相机接收图像序列,所述相机被配置成获得所述车辆外部的图像;
执行图像处理以识别在所述图像序列内观察到的车辆的车轮;以及
基于在所述图像序列内的至少两个图像之间所述车轮的取向变化和在所述至少两个图像之间经过的时间来确定所述车轮的旋转速率。
21.根据权利要求20所述的处理装置,其中所述处理装置进一步被配置成基于在所述图像序列内的至少两个图像之间所述车轮的取向变化和在所述至少两个图像之间经过的时间通过以下操作来确定所述车轮的所述旋转速率:
识别存在于所述车轮的第一图像和所述车轮的第二图像中的所述车轮的特征;
执行图像处理以在所述车轮的所述第一图像和所述第二图像中的每一者中识别所述车轮的中心;
确定在所述车轮的所述第一图像与所述第二图像之间所述被识别特征的位置变化量;
基于在所述车轮的所述第一图像与所述第二图像之间所述被识别特征的所述位置变化量以及在所述车轮的所述第一图像和所述第二图像中的每一者中所述车轮的所述中心来确定在所述车轮的所述第一图像与所述第二图像之间所述车轮的所述被识别特征的旋转角度;
确定在所述第一图像与所述第二图像之间经过的时间量;以及
基于确定所述被识别特征的旋转角度和在所述车轮的所述第一图像与所述第二图像之间的所述经过时间量来确定所述车轮的所述旋转速率。
22.根据权利要求20所述的处理装置,其中所述处理装置进一步被配置成:
执行图像处理以确定所述车轮的直径;以及
基于所述车轮的所述被确定旋转速率和所述车轮的所述直径来确定所述被观察车辆的速度。
23.根据权利要求20所述的处理装置,其中所述处理装置进一步被配置成基于对所述图像序列内的所述车轮的图像处理来确定所述被观察车辆的行进方向。
24.根据权利要求23所述的处理装置,其中所述处理装置进一步被配置成基于对所述图像序列内的所述车轮的图像处理通过以下操作来确定所述被观察车辆的行进方向:
确定所述车轮的被观察水平直径;
确定所述车轮的被观察竖直直径;
计算所述被观察水平直径与所述被观察竖直直径的比率;
确定从捕获所述图像序列的相机到所述车轮的视角;以及
基于所述被观察水平直径与所述被观察竖直直径的所述比率以及从所述相机到所述车轮的被确定视角来确定所述车轮相对于所述相机的相对角度。
25.根据权利要求20所述的处理装置,其中所述处理装置进一步被配置成基于对所述图像序列内的所述被观察车辆的前轮和后轮的图像处理来确定所述被观察车辆是否正在转弯。
26.根据权利要求20所述的处理装置,其中所述处理装置进一步被配置成基于对所述图像序列内的所述被观察车辆的前轮和后轮的图像处理来确定所述被观察车辆的转弯角度。
27.根据权利要求26所述的处理装置,其中所述处理装置进一步被配置成:
对至少一个图像执行图像处理以识别所述被观察车辆的所述前轮和所述后轮;
对至少一个图像执行图像处理以确定所述前轮相对于所述相机的相对角度;
对至少一个图像执行图像处理以确定所述后轮相对于所述相机的相对角度;
对至少一个图像执行图像处理以确定所述前轮与所述后轮之间的距离;以及
基于所述前轮与所述后轮之间的所述距离、基于所述被确定旋转速率的所述被观察车辆的线性速度以及所述前轮的所述相对角度与所述后轮的所述相对角度之间的差值来确定所述被观察车辆的转弯速率。
28.一种非暂时性处理器可读介质,其上存储有被配置成使车辆导航系统的处理器执行操作的处理器可执行指令,所述操作包括:
由相机捕获包含所述被观察车辆的图像序列;
由处理器执行图像处理以在所述图像序列内识别所述被观察车辆的车轮;以及
由所述处理器基于在所述图像序列内的至少两个图像之间所述车轮的取向变化和在所述至少两个图像之间经过的时间来确定所述车轮的旋转速率。
29.根据权利要求28所述的非暂时性处理器可读介质,其中存储的处理器可执行指令被配置成使车辆导航系统的处理器执行操作,使得基于在所述图像序列内的至少两个图像之间所述车轮的取向变化和在所述至少两个图像之间经过的时间来确定所述车轮的所述旋转速率包括:
执行图像处理以识别存在于所述车轮的第一图像和所述车轮的第二图像中的所述车轮的特征;
执行图像处理以在所述车轮的所述第一图像和所述第二图像中的每一者中识别所述车轮的中心;
确定在所述车轮的所述第一图像与所述第二图像之间所述被识别特征的位置变化量;
基于在所述车轮的所述第一图像与所述第二图像之间所述被识别特征的所述位置变化量以及在所述车轮的所述第一图像和所述第二图像中的每一者中所述车轮的所述中心来确定在所述车轮的所述第一图像与所述第二图像之间所述车轮的所述被识别特征的旋转角度;
确定在所述第一图像与所述第二图像之间经过的时间量;以及
基于确定所述被识别特征的旋转角度和在所述车轮的所述第一图像与所述第二图像之间的所述经过时间量来确定所述车轮的所述旋转速率。
30.根据权利要求28所述的非暂时性处理器可读介质,其中所述存储的处理器可执行指令被配置成使车辆导航系统的处理器执行操作,所述操作进一步包括:
对至少一个图像执行图像处理以确定所述车轮的直径;以及
基于所述车轮的所述被确定旋转速率和所述车轮的所述直径来确定所述被观察车辆的速度。
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 |
---|---|
CN112106065A true CN112106065A (zh) | 2020-12-18 |
CN112106065B CN112106065B (zh) | 2024-07-16 |
Family
ID=
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008101987A (ja) * | 2006-10-18 | 2008-05-01 | Xanavi Informatics Corp | 車載装置 |
CN104925053A (zh) * | 2014-03-18 | 2015-09-23 | 沃尔沃汽车公司 | 增加自主驾驶安全和/或舒适性的车辆、车辆系统和方法 |
CN106461774A (zh) * | 2014-02-20 | 2017-02-22 | 御眼视觉技术有限公司 | 基于雷达提示视觉成像的高级驾驶员辅助系统 |
CN106945669A (zh) * | 2016-01-06 | 2017-07-14 | 通用汽车环球科技运作有限责任公司 | 在交通十字路口处确定驾驶员意图以避免汽车碰撞 |
US20170371344A1 (en) * | 2016-06-27 | 2017-12-28 | Mobileye Vision Technologies Ltd. | Controlling host vehicle based on detected movement of a target vehicle |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008101987A (ja) * | 2006-10-18 | 2008-05-01 | Xanavi Informatics Corp | 車載装置 |
CN106461774A (zh) * | 2014-02-20 | 2017-02-22 | 御眼视觉技术有限公司 | 基于雷达提示视觉成像的高级驾驶员辅助系统 |
CN104925053A (zh) * | 2014-03-18 | 2015-09-23 | 沃尔沃汽车公司 | 增加自主驾驶安全和/或舒适性的车辆、车辆系统和方法 |
CN106945669A (zh) * | 2016-01-06 | 2017-07-14 | 通用汽车环球科技运作有限责任公司 | 在交通十字路口处确定驾驶员意图以避免汽车碰撞 |
US20170371344A1 (en) * | 2016-06-27 | 2017-12-28 | Mobileye Vision Technologies Ltd. | Controlling host vehicle based on detected movement of a target vehicle |
Non-Patent Citations (1)
Title |
---|
CHIH-CHIUN LAI,ET AL: "Location Estimation and Trajectory Prediction of Moving Lateral Vehicle Using Two Wheel Shapes Information in 2-D Lateral Vehicle Images by 3-D Computer Vision Techniques", 《2003 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION》, 14 September 2003 (2003-09-14), pages 881 - 886, XP010666915, DOI: 10.1109/ROBOT.2003.1241704 * |
Also Published As
Publication number | Publication date |
---|---|
KR102196827B1 (ko) | 2020-12-30 |
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 |
---|---|---|
US10706563B2 (en) | State and position prediction of observed vehicles using optical tracking of wheel rotation | |
CN110248861B (zh) | 在车辆操纵过程中使用机器学习模型来引导车辆 | |
US11783707B2 (en) | Vehicle path planning | |
CN106873580B (zh) | 基于感知数据在交叉口处自主驾驶 | |
KR101962181B1 (ko) | 자율 차량들에 대한 교통 신호 응답 | |
KR101622028B1 (ko) | 차량 통신을 이용한 차량 제어 장치 및 제어 방법 | |
CN108688660B (zh) | 运行范围确定装置 | |
JP6601696B2 (ja) | 予測装置、予測方法、およびプログラム | |
US11460851B2 (en) | Eccentricity image fusion | |
CN112703144A (zh) | 控制方法、相关设备及计算机可读存储介质 | |
US20190031198A1 (en) | Vehicle Travel Control Method and Vehicle Travel Control Device | |
US20150153184A1 (en) | System and method for dynamically focusing vehicle sensors | |
US20190347808A1 (en) | Monocular Visual Odometry: Speed And Yaw Rate Of Vehicle From Rear-View Camera | |
US11514790B2 (en) | Collaborative perception for autonomous vehicles | |
JP2011013039A (ja) | 車線判定装置及びナビゲーションシステム | |
WO2015129175A1 (ja) | 自動運転装置 | |
EP3410417B1 (en) | Vehicle travel control method and vehicle travel control device | |
CN112498347A (zh) | 用于实时横向控制和转向致动评估的方法和装置 | |
US20240199006A1 (en) | Systems and Methods for Selectively Decelerating a Vehicle | |
Valldorf et al. | Advanced Microsystems for Automotive Applications 2007 | |
CN116348789A (zh) | 用于自主载具应用的速度估计和对象跟踪 | |
WO2023147160A1 (en) | Radar object classification based on radar cross-section data | |
JP7380904B2 (ja) | 情報処理装置、情報処理方法、および、プログラム | |
US20200219399A1 (en) | Lane level positioning based on neural networks | |
WO2021084731A1 (ja) | 情報処理装置、情報処理システム、情報処理方法、及び情報処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |