利用汽车相机使用车辆运动数据的对象位置测量的制作方法

文档序号:13426231
利用汽车相机使用车辆运动数据的对象位置测量的制作方法
利用汽车相机使用车辆运动数据的对象位置测量对相关案例的交叉引用本申请要求享有2015年4月10日提交的美国临时专利申请号62/145,692的权益,所述美国临时专利申请的完整内容通过引用并入本文。

背景技术:
本发明的实施例涉及车辆成像系统。

技术实现要素:
对象位置测量系统检测、追踪和计算如由车辆上的全向相机查看的感兴趣的对象的位置。对象位置测量系统使用电子控制单元,所述电子控制单元基于车辆的运动而标识和估计结构(即世界中的点)。系统使用通过车辆通信总线传送的由车辆控制器提供的测程信息。此外,对象位置测量系统包括控制器以基于来自单个宽视场相机的图像而估计世界结构。控制器使用世界结构和测程信息来允许车辆执行驾驶员辅助和自动机动操纵。在一个实施例中,本发明提供了一种利用贴附到车辆的全向相机定位对象的位置的方法。电子控制单元从车辆传感器接收指示车辆的位置改变的车辆的移动数据。电子控制单元利用全向相机接收一个或多个静止对象的多个全向图像帧并且基于全向图像帧中的所述一个或多个静止对象而标识感兴趣的对象。电子控制单元在车辆正在移动的同时追踪全向图像帧中的感兴趣的对象。电子控制单元在车辆正在移动时确定全向图像帧中的感兴趣的对象的位置中的改变。基于车辆的位置改变和全向图像帧中的感兴趣的对象的位置中的改变,电子控制单元确定到感兴趣的对象的距离。在另一实施例中,本发明提供了一种用于利用贴附到车辆的全向相机定位对象的位置的对象定位系统。系统包括配置成指示车辆的位置改变的至少一个车辆传感器、全向相机和配置成向车辆的驾驶员显示视频信息的用户接口。系统还包括配置成从全向相机接收包括一个或多个静止对象的全向图像的多个全向图像帧的电子控制单元。电子控制单元还从所述至少一个车辆传感器接收指示车辆的位置改变的车辆的移动数据。电子控制单元从全向图像帧中的所述一个或多个静止对象标识感兴趣的对象,并且在车辆正在移动的同时追踪多个全向图像帧中的感兴趣的对象。另外,电子控制单元在车辆正在移动时确定全向图像帧中的感兴趣的对象的位置中的改变,并且基于车辆的位置改变和全向图像帧中的感兴趣的对象的位置中的改变而确定到感兴趣的对象的距离。本发明的其他方面将通过详细描述和随附各图的考虑而变得明显。附图说明图1是配备有对象位置测量系统的车辆的框图。图2是用于图1的对象位置测量系统的电子控制单元的框图。图3是具有利用后视全向相机标识感兴趣的对象的图1的对象位置测量系统的车辆的图。图4是来自图3的全向相机的感兴趣的对象的全向图像。图5是从车辆上的全向相机到图3的感兴趣的对象的视线图。图6是参照图1的车辆的地面坐标系(GCS)的图。图7是参照车辆的GCS与参照图1的全向相机的光学坐标系(OCS)之间的关系的图。图8是一段时间间隔内的图7的GSC与OCS之间的变换的图。图9是基于一段时间间隔内的全向相机姿态的图7的GCS与OCS之间的变换的图。图10A和10B图示了参照GCS利用图1的对象位置测量系统估计对象位置的方法。图11A是从全向相机到图3的感兴趣的对象的视线的公共相交的图。图11B是确定图11A的公共相交点中的不确定度的图。图12是在图3的感兴趣的对象上的多个所标识的点的网格图。图13是使用图1的对象位置测量系统确定对象的位置的方法的流程图。图14是使用图1的对象位置测量系统确定对象的位置的方法的另一流程图。具体实施方式在详细解释本发明的任何实施例之前,要理解的是,本发明在其应用方面不受限于在以下描述中阐述或在随附各图中图示的组件的布置和构造的细节。本发明能够具有其他实施例,并且能够以各种方式实践或实施。应当指出的是,多个基于硬件和软件的设备,以及多个不同结构的组件可以用于实现本发明。此外,应当理解的是,本发明的实施例可以包括硬件、软件和电子组件或模块,所述硬件、软件和电子组件或模块出于讨论的目的而可以被图示和描述为就像组件的大部分单独实现在硬件中。然而,本领域普通技术人员基于该详细描述的阅读将认识到,在至少一个实施例中,本发明的基于电子的方面可以实现在可由一个或多个处理器执行的软件(例如存储在非暂时性计算机可读介质上)中。照此,应当指出的是,多个基于硬件和软件的设备,以及多个不同结构的组件可以用于实现本发明。例如,在说明书中描述的“控制单元”和“控制器”可以包括一个或多个处理器、一个或多个存储器模块(包括非暂时性计算机可读介质)、一个或多个输入/输出接口,以及连接组件的各种连接(例如系统总线)。图1图示了根据一个实施例的配备有对象位置测量系统102的车辆100。车辆100包括全向相机105(例如鱼眼镜头相机)、电子控制单元(ECU110)、车辆通信总线115(例如CAN总线)、显示器120和用户接口125。全向相机105通信地耦合到ECU110,由此ECU110访问利用全向相机105捕获的多个全向图像(即全向图像帧)。ECU110以预定时间间隔处理所述多个图像并且至少部分地基于车辆100所行进的距离而记录所述多个图像和相关联的数据。此外,ECU110将全向图像变换成直线图像(即直线图像帧)并且向显示器120发送直线图像以供车辆的驾驶员查看。车辆通信总线115通信地耦合ECU110与显示器120连同其他车辆系统。例如,车辆通信总线115使得能够实现ECU110、显示器120、用户接口125和车辆100中的其他电子控制单元之间的通信。在一些构造中,显示器120和用户接口125集成到单个设备中,诸如例如触摸屏显示器。作为结果,车辆100的驾驶员可以经由用户接口125直接向显示器120中输入命令。如以下详细描述的,用户接口125可以从驾驶员接收指示显示器120中的感兴趣的对象的输入。在其他实施例中,显示器120和用户接口125是分离的独立输入和输出设备以提供驾驶员与ECU110之间的通信。对象位置测量系统102的一些实施例还包括指示车辆100的位置和移动的一个或多个车辆传感器140。例如,车辆100可以包括转向角传感器、车轮位置或车轮速度传感器和全球定位系统(GPS)指示器。车辆传感器140使得ECU110能够基于由车辆传感器140提供的移动信息而检测车辆100的位置、朝向和运动。此外,ECU110配置成基于移动信息而计算位置和位置随时间的改变。此外,ECU110可以通信地耦合到一个或多个车辆控制设备145,诸如例如方向盘、油门和制动系统。通过使用这些车辆控制设备145,ECU110可以基于车辆100的位置和由对象位置测量系统102分析的车辆100周围的对象位置而执行自动驾驶机动操纵。图2是ECU110的框图。ECU110包括向ECU110和/或全向相机105内的组件和模块提供功率、操作控制和保护的多个电气和电子组件。例如,ECU110包括,除其他事物之外,控制器205(诸如可编程电子微处理器、微控制器或类似设备)、电源模块210和输入/输出模块215。控制器205包括,除其他事物之外,处理单元220和存储器225。处理单元220通信地耦合到存储器225并且执行能够存储在存储器225上的指令。控制器205配置成从存储器225检索并且执行(除其他事物之外)涉及本文所描述的控制过程和方法的指令。在其他实施例中,ECU110包括附加的、更少的或不同的组件。应当指出的是,ECU110可以实现在若干独立电子控制单元中,每一个独立电子控制单元配置成执行本文所列出的特定功能。此外,ECU110可以包含输入特定类型的传感器数据并且执行相关过程的子模块。例如,视频分析模块可以输入来自全向相机105的视频流,将图像变换成直线格式,识别图像中的对象和特征,追踪图像内的对象和特征,并且向其他ECU或子模块发送来自这些过程的数据输出。ECU110,除其他事物之外,配置成将从全向相机105接收的全向图像的部分变换成直线图像帧。例如,在图2的实施例中,输入/输出模块215从全向相机105接收全向图像并且向控制器205发送全向图像以用于图像处理。控制器205然后处理和变换全向图像。ECU110可以借助于由美国专利申请号14/808,144公开的变换方法来将全向图像变换成直线图像帧,所述美国专利申请的完整内容通过引用并入本文。ECU110经由车辆通信总线115或ECU110与显示器120之间的另一通信链路向显示器120传输经变换的图像。此外,输入/输出模块215可以从用户接口125接收标识所显示的图像的感兴趣的区的命令。感兴趣的区表示由ECU110和/或驾驶员确定的包含感兴趣的对象的全向图像的部分。用户接口125、ECU110、子模块、附加的ECU、车辆传感器140和车辆控制设备145可以通过车辆通信总线115上的一个或多个通信模块链接和/或经由输入/输出模块215直接连接。在一些实施例中,用户接口125借助于诸如J1939或CAN总线之类的协议通信以用于与输入/输出模块215通信。在其他实施例中,用户接口125取决于特定应用的需要而在其他合适协议之下与输入/输出模块215通信。在一些实施例中,输入/输出模块215使用专用信号线从各种控件和传感器直接输入信息。图3是包括对象位置测量系统102和拖车305的车辆100的图示。在该示例中,拖车305包括拖车挂接装置310。拖车挂接装置310是对于ECU110而言感兴趣的对象。在该情况下,ECU110已经将拖车挂接装置310标识为车辆100将要对准到的对象。视线315从全向相机105延伸到拖车挂接装置310。图4是利用全向相机105的从车辆100的后视图。如所图示的,拖车挂接装置310占据全向图像中的位置,所述位置由ECU110检测为像素位置或坐标集合(例如竖直坐标和水平坐标)。当车辆100逼近拖车305时,拖车挂接装置310的位置在全向图像中移动到新的像素位置或坐标集合。检测位置中的改变并且通过ECU110确定改变量。然而,拖车挂接装置310相对于车辆100的距离和位置单独基于全向图像或基于拖车挂接装置310的位置在全向图像中的改变不是已知的。另外,由于全向图像中的非线性效应,拖车挂接装置310的位置中的改变可能取决于拖车挂接装置310在全向图像内的位置而看起来更大或更小。在计算所检测的对象的位置的改变之前,ECU110执行包含感兴趣的对象的全向图像的至少部分的变换以降低或消除这些非线性效应。图5图示了当车辆100逼近拖车305时全向相机105与拖车挂接装置310之间的视线中的改变。在上部示例505中,视线510从全向相机105延伸到拖车挂接装置310。在中部示例515中,视线520从全向相机105延伸到拖车挂接装置310。在底部示例525中,视线530从全向相机105延伸到拖车挂接装置310。还在中部示例515和底部示例525中描绘视线510以图示视线510、视线520和视线530之间的角度中的改变。当发生角度中的改变时,全向图像中的拖车挂接装置310的位置(例如像素位置)改变。通过ECU110来追踪该改变。图6是描绘具有车辆100的世界坐标系的图。基于初始参考点605,ECU110基于从车辆通信总线115读取的移动数据(例如移动的方向和移动的距离)而追踪车辆100的当前位置610和移动路径607。ECU110使用车轮速度传感器、转向角传感器和车辆100上的其他传感器来追踪任何给定方向上的移动量。在预先限定的时间间隔处,ECU110确定车辆姿态(例如车辆关于世界坐标系的位置和方向)。例如,ECU110可以确定并在存储器225中存储来自初始参考点605的y距离(yR)和x距离(xR)以及偏航角615(例如车辆100正面向的方向)。与ECU110正处理来自全向相机105的全向图像同时地,ECU110确定车辆100的当前位置610和移动。作为结果,ECU110能够将当前位置610和移动数据与来自全向相机105的全向图像序列进行匹配。为了比较来自全向图像的信息和车辆100的移动数据,建立参考系的平移。图7图示了关于全向相机105的光学坐标系(OCS)705和关于车辆100的地面坐标系(GCS)710。由于GCS710还在原点向车辆100的简单平移的情况下描述世界坐标系,因此将贯穿本公开而参考GCS710而不是世界坐标系。OCS705具有全向相机105的光学孔径处的参考原点。z轴向上并且向后以与车辆100成45度角延伸,并且y轴向下并且向后以与车辆100成-45度角延伸。相比之下,针对GCS710的z轴垂直于车辆100延伸,并且针对GCS710的y轴与车辆100平行地延伸。这些坐标系可以取决于全向相机105关于车辆100的对准以及全向相机105的固有和非固有参数而在对准方面有所不同。ECU110确定GCS710与OCS705系统之间的关系。在一些实施例中,在车辆100的制造期间,校准ECU110以限定该关系。例如,可以经由全向相机105输入视觉测试图案。在这样的情况下,ECU110参照测试图案的已知值(例如距离)来分析输入测试图案。以此方式,ECU110对准OCS705和GCS710。然而,随时间,OCS705与GCS710之间的关系可能改变。例如,如果车辆100由于例如胎压中的改变或高负载条件而经历高度中的改变,OCS705与GCS710之间的关系可能改变。为了针对所述改变进行调节,ECU110可以在车辆100的制造之后执行OCS705与GCS710之间的附加校准。例如,ECU110可以以预定间隔使用视觉测程法执行校准,例如在车辆100的每一次启动时。这种类型的校准可以是基于全向图像中的被检测对象而不是基于视觉测试图案。例如,可以由ECU110检测地平面,并且可以基于全向图像中的地平面的位置而调节OCS705与GCS710之间的关系。由于参照OCS705来确定全向相机姿态(例如全向相机的位置和方向),因此校准还调节全向相机姿态。图8图示了当车辆100正在反方向上移动时车辆100的位置序列。在第一时间800处,ECU110输入全向图像帧,ECU110通过所述全向图像帧参照OCS705生成OCS位置坐标805(即光学位置坐标)。同时,ECU110基于来自车辆100的传感器的信息参照GCS710输入GCS位置坐标810(即地面位置坐标)。在存储器225中存储OCS位置坐标805和GCS位置坐标810,其中附着有时间戳。时间戳稍后用于同步OCS位置坐标805和GCS位置坐标810。在第二时间820处,车辆已经相反地移动了距离825,可以参照GCS710测量距离825。ECU110在第二时间820处输入GCS位置坐标810和全向图像帧。ECU110在存储器225中存储该信息与指示第二时间820的时间戳。类似地,在指示车辆100已经移动了距离835的第三时间830处,ECU110在存储器225中存储OCS位置坐标805和GCS位置坐标810与指示第三时间830的时间戳。图9是参照图8描述的车辆100的位置序列的另一图示。在该实施例中,ECU110在每一个给定时间间隔处将GCS位置坐标810变换成该相同时间间隔处的OCS位置坐标805。例如,在第一时间800处,ECU110读取GCS位置坐标810并且基于OCS705与GCS710之间的关系(例如如通过校准所确定的),ECU110将GCS位置坐标810变换成OCS位置坐标805。在全向相机姿态(R(1),t(1))中捕获该信息。在第二时间820处,ECU110将GCS位置坐标810变换成具有全向相机姿态(R(2),t(2))的OCS位置坐标805。类似地,在第三时间830处,ECU110将GCS位置坐标810变换成具有全向相机姿态(R(3),t(3))的OCS位置坐标805。图10A图示了在每一个时间间隔1000处,ECU110执行图10B中图示的变换。时间间隔1000可以是预定的并且基于ECU110的应用或处理速度而调节。时间间隔1000还可以是基于所行进的距离而不是预定时间。在每一个时间间隔1000处,ECU110从车辆通信总线115确定GCS位置坐标810(步骤1005)。对于每一个时间间隔1000,确定全向相机姿态(R(i),t(i))(步骤1010)。全向相机姿态(R(i),t(i))在OCS705方面限定全向相机105的位置。像素追踪器,如以下详细解释的,基于全向图像中的像素位置而生成针对感兴趣的对象的OCS位置坐标805(步骤1015)。针对每一个相应的时间间隔1000,通过ECU110处理OCS位置坐标805和姿态(R(i),t(i)),并且针对该相应的时间间隔1000确定感兴趣的对象的所估计的世界位置(x,y,z)(k)(步骤1020)。当车辆100逼近拖车挂接装置310(即感兴趣的对象)时,拖车挂接装置310将在全向图像中移动像素位置。这对应于从全向相机105到拖车挂接装置310的视线中的改变,如以上所解释的。在图11A中,第一视线1105对应于车辆100的第一位置1110,第二视线1115对应于车辆100的第二位置1120,并且第三视线1125对应于车辆100的第三位置1130。通过ECU110使用GCS位置坐标810来确定第一位置1110与第二位置1120之间的第一距离1135。类似地,通过ECU110使用GCS位置坐标810来确定第二距离1140。可以基于直线图像中的像素位置的改变量而计算第一角度1145和第二角度1150。ECU110使用第一距离1135、第二距离1140、第一角度1145和第二角度1150之间的已知几何关系来计算车辆100与拖车挂接装置310之间的分离距离1155。类似地,ECU110计算第三位置1130处的车辆100与拖车挂接装置310之间的分离距离1160。由于ECU110可以在第一距离1135和第二距离1140非常小时(例如在非常短的时间间隔处)计算第一距离1135和第二距离1140处的分离距离1155和分离距离1160,因此可以在车辆100逼近拖车305时几乎连续地估计分离距离1155、1160。基于分离距离1155、1160,ECU110向包括控制自动车辆机动操纵的ECU的其他车辆系统输出车辆100和拖车305的相对位置。通过使用分离距离1155、1160和GCS位置坐标810,ECU可以执行拖车挂接装置310与车辆100的自动对准。在实践中,OCS位置坐标805(诸如感兴趣的对象的准确像素位置)中的小不确定度产生视线的相交点1175中的不确定度,如图11B中所图示的。特别是当使用针对感兴趣的对象的单个相交点时,这些不确定度可能导致车辆100与拖车305之间的所估计的距离中的不确定度或误差。为了降低不确定度,ECU110可以同时计算一个感兴趣的对象或多个感兴趣的对象的多个点(即特征)的位置。图12图示了具有感兴趣的对象上的多个检测点1205的拖车305的部分。当ECU110导入全向图像时,对象检测例程确定多个检测点1205。一旦被识别到,使用ECU110的对象追踪例程来追踪多个检测点1205。作为结果,处理多个检测点1205中的每一个以确定车辆100与该检测点之间的距离。一旦ECU110已经检测和处理了多个检测点1205,ECU110可以将多个检测点1205彼此进行比较以降低涉及个体检测点的任何个体误差或不确定度。例如,ECU110可以运行光束平差算法以精炼距离预测。以此方式,在多个检测点1205之上优化通过ECU110对距离的估计。ECU110的对象检测可以检测编程到存储器225中的各种对象。例如,ECU110可以检测拖车305、地平面、树、灯柱、路缘、另一车辆、行人和其他对象。如以上所描述的,ECU110可以检测这些各种对象上的多个点或对象上的单个点。在任一种情况下,ECU110使用本文所描述的方法来确定到对象的距离。图13和14是使用对象位置测量系统102确定对象的距离和位置的方法的流程图。图13图示了包括通过ECU110接收和处理哪些输入参数的方法的一般步骤。从全向相机105向ECU110中输入全向图像帧(步骤1305)。ECU110检测全向图像帧内的一个或多个对象并且将所述一个或多个对象分类为一个或多个感兴趣的对象。特别地,ECU110标识全向图像中的图案并且比较该图案与预定对象集合以将对象分类为特定对象类型。一旦将对象分类为感兴趣的对象,ECU110确定和追踪从全向相机105输入到ECU110中的后续全向图像帧中的感兴趣的对象的一个或多个特征(步骤1310)。将帧信息添附到每一个全向图像帧,包括所追踪的对象类型、对象的特征,以及特征和/或对象中的每一个的位置(例如哪个像素)。同时,接收来自车辆通信总线115的包含车辆100的移动数据的消息(步骤1320)。该消息包含附着到移动数据的每一个片段的can消息索引(例如索引k’)以允许ECU110追踪何时接收到消息。ECU110将can消息转换成每一个can消息索引处的车辆姿态(步骤1325)。ECU110同步车辆姿态与所接收的每一个全向图像帧(步骤1330)。ECU110输入全向到直线图像变换参数并且将帧信息转换成直线图像(步骤1335)。ECU110基于经同步的车辆姿态、经变换的帧信息和一系列全向图像帧之上的相机姿态而计算对象和特征的位置估计(步骤1340)。图14图示了使用对象位置测量系统102确定对象的距离和位置的方法的附加步骤。基于参照图13描述的输入,ECU110可以可选地首先利用视觉测程法精炼车辆姿态和全向相机姿态(步骤1405)。接着,ECU110将一系列全向图像帧或包含感兴趣的对象的全向图像帧的至少部分变换成一系列直线图像帧(步骤1410)。ECU110跨直线图像帧追踪感兴趣的对象和特征并且将对应于全向图像帧中的感兴趣的对象的帧信息转换成直线图像帧信息(步骤1415)。ECU110在距离间隔处记录直线图像帧信息(步骤1420)。通过ECU110基于所行进的预定距离而使用车辆100的移动数据来确定距离间隔。ECU110使用跨直线图像帧系列的像素位置中的改变和经同步的车辆姿态来三角测量对象和特征(步骤1425)。换言之,ECU110确定跨第一直线图像帧和第二直线图像帧的感兴趣的对象的位置中的改变。然后,ECU110基于跨第一直线图像帧和第二直线图像帧的位置中的改变和对应于这些直线图像帧的车辆姿态中的改变而确定感兴趣的对象的距离和位置。使用直线图像帧中的位置中的改变与车辆姿态中的改变之间的三角关系来确定距离。在感兴趣的对象上的多个点的情况下,ECU110还以类似的方式确定到这些多个点的距离。ECU110可以并行地并且与感兴趣的对象的距离计算同时地处理针对这些多个点的距离计算。一旦距离已知,参照GCS710确定对象的位置。然后可选地,ECU110可以利用光束平差算法使用感兴趣的对象上的多个点来调节对象的距离和位置估计(步骤1430)。光束平差算法基于在多个点之间对值进行平均来精炼估计。参照图13和14描述的方法可以用于各种感兴趣的对象。如以上所描述的,ECU110可以首先使用对象识别能力来检测感兴趣的对象。例如,ECU110可以比较全向图像中的对象与存储器225中的已知对象以标识和/或分类对象。在该情况下,ECU110可以使用已知的对象来帮助标识对象上的多个感兴趣的点。然而,ECU110还可以基于用户选择而标识感兴趣的对象。特别地,车辆100的驾驶员可以选择用户接口125中的对象,诸如例如拖车挂接装置310。ECU110检测用户选择并且基于图像识别而标识相关对象。在这样的示例中,ECU110可以使用单个点(即由驾驶员选择的感兴趣的对象)来操作图13和14中所描述的方法。相反地,如果ECU110识别到图像,ECU110可以基于已知对象而使用多个感兴趣的点以确定所选感兴趣的对象的经调节的距离和位置。因此,除其他事物之外,本发明提供了用于基于车辆移动数据和来自车辆上的全向相机的全向图像中的感兴趣的对象的位置中的改变而确定感兴趣的对象的距离和位置的系统和方法。在随附权利要求中阐述本发明的各种特征和优点。...
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1