掌桥专利:专业的专利平台
掌桥专利
首页

视觉对象跟踪器

文献发布时间:2023-06-19 10:00:31


视觉对象跟踪器

技术领域

本公开涉及由牵引车辆支撑的视觉对象跟踪系统的方法和系统。视觉对象跟踪系统跟踪定位在牵引车辆后面的拖车的联接器。

背景技术

拖车通常是由动力牵引车辆拉动的无动力车辆。拖车可以是多用途拖车、弹出式露营车、旅行拖车、牲畜拖车、平板拖车、封闭式汽车搬运车和船只拖车等。牵引车辆可以是小汽车、跨界车、卡车、厢式货车、运动型多用途车辆(SUV)、休闲车辆(RV)或被配置为附接于拖车并拉动拖车的任何其他车辆。可以使用拖车挂接装置将拖车附接到机动车辆。接收器挂接装置安装在牵引车辆上,并连接到拖车挂接装置以形成连接。拖车挂接装置可以是球窝、牵引座和鹅颈件或拖车千斤顶。也可以使用其他附接机构。

计算和传感器技术的最新进展已经导致车辆自主驾驶的改进。因此,合期望的是具有一种牵引车辆,其能够朝向定位在牵引车辆后面的拖车在向后的方向上自主驾驶,使得牵引车辆定位成附接于拖车。

发明内容

本公开的一个方面提供了一种用于跟踪定位在牵引车辆后面的拖车联接器的方法。该方法包括在数据处理硬件处从定位在牵引车辆背部并与数据处理硬件通信的相机接收一个或多个图像。该方法还包括在数据处理硬件处确定一个或多个图像内的拖车联接器定位。拖车联接器定位与拖车联接器相关联。该方法还包括在数据处理硬件处从与数据处理硬件通信的一个或多个车辆传感器接收车辆传感器数据。该方法还包括在数据处理硬件处基于所接收的车辆传感器数据确定车辆运动数据。该方法还包括在数据处理硬件处基于拖车联接器定位和车辆运动数据确定更新的联接器定位。

本公开的实施方式可以包括以下可选特征中的一个或多个。在一些实施方式中,车辆运动数据包括车辆姿态、车辆线速度和车辆角速度。所述一个或多个车辆传感器可以包括方向盘角度传感器、车轮编码器、惯性测量单元、雷达和全球定位系统接收器中的至少一个。

在一些示例中,该方法还包括基于车辆运动数据和先前的联接器定位来确定一个或多个图像内的拖车联接器的像素速度。更新的联接器定位可以基于像素速度和先前的联接器定位。像素速度也可以基于现实世界坐标系中的联接器高度。

在一些实施方式中,该方法进一步包括从预定范围确定联接器高度。该方法还可以包括基于像素速度确定与拖车联接器相关联的第一像素点位置。该方法还可以包括基于所述一个或多个图像确定与拖车联接器相关联的第二像素点位置。该方法还可以包括比较第一像素点位置和第二像素点位置。该方法还可以包括基于所比较的第一像素点位置和第二像素点位置来调节联接器高度。在一些示例中,该方法包括在与数据处理硬件通信的存储器硬件处存储更新的联接器定位。该方法还可以包括当接收到一个或多个更新的图像时,检索更新的联接器定位作为先前的联接器定位。

在一些实施方式中,该方法进一步包括基于更新的联接器定位确定世界坐标中的联接器位置。该方法还可以包括向牵引车辆的驾驶系统传输指令。该指令使牵引车辆自主操纵在向后方向上朝向联接器位置移动。

本公开的另一方面提供了一种用于跟踪定位在牵引车辆后面的拖车联接器的系统。该系统包括:数据处理硬件;以及与数据处理硬件通信的存储器硬件。存储器硬件存储指令,当指令在数据处理硬件上执行时,使数据处理硬件执行包括上述方法的操作。

本公开的一个或多个实施方式的细节在随附附图和以下描述中阐述。从描述和附图以及从权利要求书中,其他方面、特征和优点将变得显而易见。

附图说明

图1是示例性牵引车辆示意性顶视图;

图2是包括跟踪系统的图1中所示牵引车辆的示意图;

图3是图2中所示的示例性跟踪系统的示意图;

图4是示例性牵引车辆示意图;

图5是包括高度调节模块的图4中所示牵引车辆的示意图;

图6是用于跟踪定位在牵引车辆后面的拖车的联接器的示例性方法的示意图;

不同附图中同样的参考标号指示同样的元件。

具体实施方式

牵引车辆,诸如但不限于汽车、跨界车、卡车、厢式货车、运动型多用途车辆(SUV)和休闲车辆(RV),可以被配置为对拖车进行牵引。牵引车辆通过拖车挂接装置的方式连接到拖车,该拖车挂接装置包括联接器和牵引杆。合期望的是具有一种能够跟踪拖车联接器并且自主操纵在向后方向上朝向拖车移动的牵引车辆。目标跟踪计算机视觉算法典型地依靠视觉信息来预测目标在未来图像中的位置。虽然图像中对象的过去运动是未来定位的一些指标,但是相机方向的改变可能会使对象跟踪计算机视觉算法混乱,并且使对象跟踪计算机视觉算法失去其对对象的定位。照此,除了在先前捕捉的图像中的联接器的定位之外,还依赖于相机运动的跟踪系统减少了在未来图像中丢失对象位置的机会。

参考图1-3,在一些实施方式中,牵引车辆100的驾驶员想要他的牵引车辆100通过跟踪所选的或所标识的拖车200来自主操纵朝向拖车200移动。牵引车辆100可以自主操纵在向后方向R上朝向拖车200移动。当牵引车辆100和拖车200对准时,牵引车辆100可以(例如,通过驾驶员的方式或自主地)与拖车200挂接。在一些示例中,牵引车辆100包括具有牵引球122的牵引挂接装置120。拖车200包括拖车挂接装置210,拖车挂接装置210包括拖车联接器212和牵引杆214。因此,牵引球122与拖车联接器212联接。牵引车辆100可以包括驾驶系统110,该驾驶系统110例如基于具有x、y和z分量的驾驶命令跨路面操纵牵引车辆100。如所示出的,驾驶系统110包括右前轮112,112a、左前轮112,112b、右后轮112,112c和左后轮112,112d。驾驶系统110也可以包括其他车轮配置。驾驶系统110还可以包括制动系统114和加速系统116,制动系统114包括与每个车轮112,112 a-d相关联的制动器,加速系统116被配置为调节牵引车辆100的速度和方向。此外,驾驶系统110可以包括悬架系统118,该悬架系统118包括与每个车轮112,112 a-d相关联的轮胎、轮胎空气、弹簧、减震器以及将牵引车辆100连接到其车轮112,112 a-d并允许牵引车辆100与车轮112,112 a-d之间的相对运动的连杆。 悬架系统118可以被配置为调节牵引车辆100的高度,从而允许牵引挂接装置120(例如牵引挂接球122)与拖车挂接装置210(例如,拖车挂接联接器212)对准,这允许牵引车辆100和拖车200之间的自主连接。

牵引车辆100可以通过相对于由牵引车辆100限定的三个相互垂直的轴的各种移动的组合跨路面移动:横轴X、前后轴Y和中心垂直轴Z。横轴X在牵引车辆100的右侧和左侧之间延伸。沿着前后轴Y的向前驾驶方向被指定为F,也称为向前运动。此外,沿着前后方向Y的后或向后驾驶方向被指定为R,也称为向后运动。当悬架系统118调节牵引车辆100的悬架时,牵引车辆100可以围绕X轴和/或Y轴倾斜,或者沿着中心垂直轴Z移动。

牵引车辆100可以包括用户接口130。用户接口130可以包括用作输入机构的显示器132、旋钮和按钮。在一些示例中,显示器132可以示出旋钮和按钮。而在其他示例中,旋钮和按钮是旋钮按钮组合。在一些示例中,用户接口130经由一个或多个输入机构或触摸屏显示器132从驾驶员接收一个或多个驾驶员命令,和/或向驾驶员显示一个或多个通知。用户接口130与车辆控制器170通信,车辆控制器170转而与传感器系统140通信。在一些示例中,显示器132显示牵引车辆100的环境的图像,导致用户接口130(从驾驶员)接收一个或多个命令,所述命令发起一个或多个行为的执行。在一些示例中,用户显示器132显示牵引车辆100的后方环境的表示图像,其包括定位在牵引车辆100后面的拖车200,200 a-c的一个或多个表示136,136a-c。在该情况下,驾驶员对拖车200、200 a-c的表示136、136a-c进行选择134,该表示指示驾驶员想要车辆朝向其自主驾驶的拖车200。

牵引车辆100可以包括传感器系统140,以提供可靠和鲁棒的驾驶。传感器系统140可包括不同类型的传感器,所述传感器可单独使用或彼此一起使用,以创建牵引车辆100的环境感知,该感知用于牵引车辆100自主驾驶和/或帮助驾驶员基于由传感器系统140检测到的对象和障碍物做出智能决策。传感器系统140通过使用已知的相机和车辆参数提供数据141(诸如牵引车辆100的运动的测量),其用于计算相机图像143中的特定点(例如,拖车联接器212)的预期变化。如果被跟踪的对象(例如拖车联接器212)是静止的,则图像143中仅有的运动是由于牵引车辆100的移动而导致的,并且跟踪系统300可以确定下一图像143中的联接器位置312将如何改变。

传感器系统140可以包括由牵引车辆100支撑的一个或多个相机142。在一些实施方式中,牵引车辆100包括后相机142,后相机142被安装成为牵引车辆100提供后驾驶路径的视图。后相机142可以包括鱼眼镜头,该鱼眼镜头包括超广角镜头,该超广角镜头产生强烈的视觉失真,旨在创建宽全景或半球形图像。鱼眼相机捕捉具有极宽视图的图像。此外,鱼眼相机捕捉的图像具有特征性的凸非直线外观。也可以使用其他类型的相机来捕捉牵引车辆100的后部环境的图像。

在一些示例中,传感器系统140还包括与牵引车辆100的一个或多个车轮112,112a-d相关联的一个或多个车轮编码器144。车轮编码器144是将车轮的角定位或运动转换成模拟或数字输出信号的机电设备。因此,车轮编码器144确定车轮112,112 a-d已经行驶的速度和距离。

传感器系统140还可以包括惯性测量单元(IMU) 146,其被配置为测量车辆的线性加速度(使用一个或多个加速度计)和旋转速率(使用一个或多个陀螺仪)。在一些示例中,IMU 146还确定牵引车辆100的航向基准。因此,IMU 146确定牵引车辆100的俯仰、横滚和偏航。

在一些实施方式中,传感器系统140包括被配置为确定对象的距离、角度或速度的雷达传感器148。雷达传感器148传输无线电信号,并测量所传输的信号的反射返回所花费的时间。雷达传感器148将到对象的距离确定为往返时间的一半乘以信号速度。雷达传感器148也可以确定牵引车辆100的速度。该速度可以基于第一时间处从雷达传感器148到对象的距离,以及第二时间处从雷达传感器148到对象的距离。因此,雷达传感器148可以基于第一时间和第二时间处的距离之差除以第一时间和第二时间之差来确定速度。

传感器系统140还包括检测车辆运动(即速度、角速度、定位等)的其他传感器150。所述其他传感器105可以包括但不限于方向盘传感器、声纳、LIDAR(光检测和测距,这可能需要光学遥感,其测量散射光的属性以找到远处目标的距离和/或其他信息)、LADAR(激光检测和测距)、超声波等。

在一些实施方式中,牵引车辆100包括全球定位系统(GPS)接收器160,其从GPS卫星接收信息,并且然后计算牵引车辆100的地理定位162。

在一些实施方式中,车辆控制器170包括计算设备(或处理器)172(例如,具有一个或多个计算处理器的中央处理单元),其与能够存储可在(多个)计算处理器172上执行的指令的非暂时性存储器174(例如,硬盘、闪速存储器、随机存取存储器、存储器硬件)通信。

车辆控制器170执行跟踪系统300,跟踪系统300分析接收到的图像143并标识图像143内的拖车联接器212,并且在牵引车辆100在向后方向R上移动时跟踪拖车联接器212。跟踪系统300包括联接器点跟踪器310、低速运动估计模块320、图像点运动模块330和联接器点融合模块340。跟踪系统300通过融合图像143内的联接器点跟踪器310的数据312和由低速运动估计模块320确定的相机运动来提供对联接器位置L

参考图3,在一些实施方式中,联接器点跟踪器模块310从后相机142接收图像143。联接器点跟踪器310标识图像143内的拖车联接器212,并且跟踪随后接收到的图像143中的联接器212。因此,联接器点跟踪器310确定当前图像143中的当前联接器位置312,

低速运动估计模块320从传感器系统140的一个或多个传感器142、144、146、148、150接收传感器数据141。在一些示例中,低速运动估计模块320接收来自相机142的(多个)图像143、来自(多个)车轮编码器144的车轮滴答(tick)145、来自IMU 146的IMU数据147、来自雷达148的雷达数据149以及来自其他传感器150的其他传感器数据151中的一个或多个。在一些示例中,低速运动估计模块320从GPS接收器160接收GPS数据162。在一些示例中,低速运动估计模块320基于接收的传感器数据141确定牵引车辆100的车辆线速度和角速度322,

在一些实施方式中,图像点运动模块330估计一个或多个图像143内与联接器212相关联的像素的像素速度332。图像点运动模块330向跟踪系统300提供下一图像143中联接器212将在哪里(即,移动到哪里)的估计。图像点运动模块330从低速运动估计模块320接收车辆线速度和角速度322,

在一些示例中,图像点运动模块330将现实世界中的联接器位置L

其中

图像点运动模块330反转方程(1),以根据图像中的联接器位置

接下来,图像点运动模块330根据第一方程(1)计算该函数的雅可比矩阵。低速运动估计模块320基于雅可比矩阵(3)确定图像点的速度或像素速度332,

其中

在一些实施方式中,联接器点融合模块340基于联接器像素速度332,

在一些实施方式中,控制器170针对每个接收到的图像143执行跟踪系统300,使得牵引车辆100基于更新的联接器位置342自主操纵在向后方向R上移动,从而与支撑联接器212的牵引杆214对准以便挂接。

车辆控制器170执行驾驶辅助系统190,该系统进而包括路径跟随行为192。路径跟随行为192接收当前图像143中的当前联接器位置342c,并执行向驾驶系统110发送命令194的一个或多个行为192 a-b,使牵引车辆100在向后方向R上朝向当前图像143中的联接器位置342c自主驾驶,这使牵引车辆100自主连接到拖车200。在一些示例中,控制器170确定当前图像143中联接器位置342c的现实世界定位,使得驾驶辅助系统190跟随联接器位置L

路径跟随行为192包括制动行为192a、速度行为192b和转向行为192c。在一些示例中,路径跟随行为192还包括挂接连接行为和悬架调节行为。每个行为192a-192c导致牵引车辆100采取动作,除了其它之外,还诸如向后驾驶、以特定角度转弯、刹车、超速行驶、减速。车辆控制器170可以通过控制驾驶系统110、更具体地通过向驾驶系统110发出命令194,来操纵牵引车辆100跨路面在任何方向上移动。

基于当前图像143中的联接器位置342c,可以执行制动行为192a,以使牵引车辆100停止或使牵引车辆100减速。制动行为192a向驾驶系统110(例如制动系统(未示出))发送信号或命令194,以使牵引车辆100停止或降低牵引车辆100的速度。

可以执行速度行为192b,以通过基于计划路径加速或减速来改变牵引车辆100的速度。速度行为192b将信号或命令194发送到制动系统114用于减速或发送到加速系统116用于加速。

可以执行转向行为192c,以基于当前图像143中的联接器位置342c来改变牵引车辆100的方向。照此,转向行为192c向加速系统116发送指示转向角度的信号或命令194,使驾驶系统110改变方向。

参照图4和图5,在一些实施方式中,跟踪系统300包括积分模块350、求和模块360和高度调节模块370,它们被一起使用以确定在世界坐标系中的拖车联接器212的高度Z。积分模块350、求和模块360和高度调节模块370可以是独立的模块或联接器点融合模块340的一部分。积分模块350从图像点运动模块330接收图像像素速度332,

在一些示例中,在良性条件(例如,没有尖锐阴影线或者误导性图像特征等的良好光照)下,联接器点跟踪器310随着时间的经过从一个图像帧到另一个图像帧准确地跟随一个或多个图像像素点。联接器点跟踪器310可以(自我)报告它们的跟踪性能的估计质量的一些度量。

在联接器点跟踪器310表现良好时的时段期间(通过其自我报告的质量度量或一些其他手段),可以将其输出312与图像点运动模块330的输出进行比较。联接器点跟踪器310和图像点运动模块330这两者都报告图像143内的世界中特征(即,拖车联接器212)的位置。因此,联接器点跟踪器310的输出和图像点运动模块330的输出可以由求和模块360直接相互比较。如果两个输出312、352相同,则现实世界中联接器212的高度Z是准确的。然而,如果输出312、352不相同,则高度调节模块370调节联接器212的高度Z。在初始步骤中,高度调节模块370可以选择在距离路面40厘米至70厘米之间的联接器高度Z,并且基于求和模块360的输出,高度调节模块370调节联接器212的高度Z。在一些示例中,联接器高度Z的选择可以在限制之间变化,直到输出312、352相同。一旦高度Z被调节,在下一个所捕捉的图像143中,图像点运动模块330就通过考虑经调节的高度Z来确定像素速度332。

图像点运动模块330依赖于世界中已知的点(即拖车联接器212)的高度Z,而联接器点跟踪器310不依赖于高度Z。因此,跟踪系统300例如通过预先输入、用户输入或计算的方式来确定联接器高度Z。在一些示例中,通过在联接器点跟踪器310的良性条件下比较联接器点跟踪器310的输出312和图像点运动模块330的输出332,并调节图像点运动模块330的高度输入Z,直到其输出332与联接器点跟踪器312的输出312匹配。照此,系统300可以估计在现实世界中使用的特征(即拖车联接器212)的高度Z。

在一些实施方式中,当联接器点跟踪器310的条件不是良性的时,系统300可以更好地利用图像点运动模块330来提高跟踪的性能。

跟踪系统300将图像143与车辆动态(即传感器数据141)融合,以预测图像143内和世界坐标中的联接器点的定位。通过并入车辆运动,可以在未来的图像帧中确定图像内静止对象(相对于世界)的定位。

图6提供了使用图1-5中描述的系统跟踪定位在牵引车辆100后面的拖车联接器212的方法600的示例操作布置。在框602处,方法600包括在数据处理硬件172处从定位在牵引车辆100背部并与数据处理硬件172通信的相机142接收一个或多个图像143。在框604处,方法600包括在数据处理硬件172处确定所述一个或多个图像143内的拖联接器定位312。拖车联接器定位312与拖车联接器212相关联。因此,拖车联接器定位312是图像143内的像素定位。在框606处,方法600包括在数据处理硬件172处从与数据处理硬件172通信的一个或多个车辆传感器142、144、146、148、150、160接收车辆传感器数据141。所述一个或多个车辆传感器可以包括但不限于方向盘角度传感器、车轮编码器、惯性测量单元、雷达和全球定位系统接收器。

另外,在框608处,方法600包括在数据处理硬件172处基于所接收的车辆传感器数据141确定车辆运动数据322、324。车辆运动数据322、324可以包括车辆线速度和角速度322以及车辆姿态324。在框610处,方法600还包括在数据处理硬件172处基于拖车联接器定位312和车辆运动数据322、324确定当前图像的更新的联接器定位342c。

在一些实施方式中,方法600包括基于车辆运动数据322、324和先前的联接器定位342,确定所述一个或多个图像143内的拖车联接器212的一个或多个点的像素速度332,

在一些实施方式中,方法600包括在与数据处理硬件172通信的存储器硬件174处存储更新的联接器定位342c,并且当接收到一个或多个更新的图像143时,检索更新的联接器定位342c作为先前的联接器定位342p。

在一些示例中,方法600还包括基于更新的联接器定位342c确定世界坐标中的联接器位置L

这里描述的系统和技术的各种实施方式可以在数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或它们的组合中实现。这些各种实施方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,该可编程系统包括至少一个可编程处理器,该可编程处理器可以是专用或通用的,被耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,以及向存储系统、至少一个输入设备和至少一个输出设备传输数据和指令。

这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以用高级的面向过程和/或面向对象的编程语言和/或汇编/机器语言来实现。如本文所使用的,术语“机器可读介质”和“计算机可读介质”指代用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”指代用于向可编程处理器提供机器指令和/或数据的任何信号。

本说明书中描述的主题和功能操作的实施方式可以在数字电子电路中实现,或者在计算机软件、固件或硬件、包括本说明书中公开的结构及其结构等同物中实现,或者在它们中的一个或多个的组合中实现。此外,本说明书中描述的主题可以实现为一个或多个计算机程序产品,即编码在计算机可读介质上的计算机程序指令的一个或多个模块,用于由数据处理设备执行或控制数据处理设备的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、实现机器可读传播信号的物质的组合、或者它们中的一个或多个的组合。术语“数据处理装置”、“计算设备”和“计算处理器”涵盖用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如机器生成的电、光或电磁信号,其被生成来编码信息以用于传输到合适的接收器装置。

类似地,虽然在附图中以特定顺序描绘了操作,但是这不应当被理解为要求以所示的特定顺序或以序列顺序执行这样的操作,或者要求执行所有图示的操作,以实现合期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统组件的分离不应当被理解为在所有实施例中都要求这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或者封装到多个软件产品中。

已经描述了许多实施方式。然而,应当理解,在不脱离本公开的精神和范围的情况下,可以进行各种修改。因此,其他实施方式在以下权利要求的范围内。

相关技术
  • 视觉对象跟踪器
  • 用于对象姿势跟踪器的反馈
技术分类

06120112382444