车载相机航向角标定方法和装置、电子设备以及车辆与流程

文档序号:16214377发布日期:2018-12-08 08:09阅读:650来源:国知局
车载相机航向角标定方法和装置、电子设备以及车辆与流程

本申请总体上涉及自动驾驶(adas)领域,更特别地,涉及一种车载相机航向角标定方法和装置,其能够以全自动的方式,基于视觉里程计和底盘里程计对相机航向角进行实时在线标定,而不需要人工参与。本申请还涉及用于实施该方法的电子设备、以及包括该电子设备的车辆。

背景技术

近年来,自动驾驶,或者说高级驾驶辅助系统(adas),受到了广泛的关注和热烈的研究。adas系统需要使用各种车载传感器来感知车辆本身以及周围环境的各种状态,从而做出驾驶策略决定,最终实现自动驾驶功能。其中,车载相机,也称为摄像头,由于价格低廉,能实现多种功能,而被广泛使用。

随着相关硬件以及视频处理技术的发展,车载相机能以更高的分辨率和更高的帧速提供对周围环境以及车辆本身姿态的感知。此时,车载相机相对于车身的安装位置和姿态也变得更加重要,因为安装位置和姿态的细微差异可能导致其所拍摄图像的不同,进而可能会影响视觉感知的结果。因此,在将相机安装到车身上之后,通常需要进行标定来确定相机的安装位置和姿态,包括在水平面内相机光轴与车身正前方之间的夹角,即航向角(yaw)。

目前,一般需要通过手工测量来标定相机相对于车身的各个方向的夹角,包括航向角。这种标定方式有若干缺点。首先,其需要通过手工测量来进行标定,而且标定过程复杂,耗时费力。此外,不同的人在手工测量时可能存在测量精度差异,导致标定结果不稳定,甚至还可能因个人疏忽而引入测量错误,导致标定错误等。

因此,仍需要一种标定方法,其能够简单方便、快速正确地标定车载相机的航向角。



技术实现要素:

为了解决上述技术问题,提出了本申请。本申请的实施例提供了一种车载相机航向角标定方法和装置,其能够基于视觉里程计和底盘里程计对相机航向角进行标定。本申请还涉及用于实施该方法的电子设备、以及包括该电子设备的车辆。

根据一示例性实施例,提供一种车载相机航向角标定方法,包括:利用底盘里程计跟踪车辆的移动,获得与一移动距离对应的第一轨迹;利用车载相机跟踪车辆的移动,获得与所述移动距离对应的第二轨迹;使该第一轨迹旋转一航向角,获得第三轨迹;以及比较所述第三轨迹和所述第二轨迹,从而确定使所述第三轨迹最接近所述第二轨迹的航向角,作为所述车载相机的航向角。

在一示例性实施例中,所述移动距离是车辆在平坦表面上的移动距离。

在一示例性实施例中,所述第一轨迹和所述第二轨迹每个都包括多个轨迹点,每个轨迹点由旋转矩阵r和平移矩阵t表示。

在一示例性实施例中,所述第一轨迹是所述底盘里程计的局部坐标系中的轨迹,所述第二轨迹是所述车载相机的局部坐标系中的轨迹。

在一示例性实施例中,所述方法还包括:利用插值算法使所述第一轨迹和所述第二轨迹包括实质上相同数量的轨迹点。

在一示例性实施例中,比较所述第三轨迹和所述第二轨迹包括计算所述第三轨迹和所述第二轨迹之间的相似度。

在一示例性实施例中,所述第三轨迹和所述第二轨迹之间的相似度由所述第三轨迹和所述第二轨迹之间的欧氏距离表示。

根据另一示例性实施例,提供一种车载相机航向角标定装置,包括:底盘轨迹计算单元,用于通过底盘里程计的测量数据计算与车辆的一移动距离对应的第一轨迹;视觉轨迹计算单元,用于通过车载相机的测量数据计算与车辆的所述移动距离对应的第二轨迹;轨迹旋转单元,用于将该第一轨迹旋转一航向角,从而获得第三轨迹;以及轨迹比较单元,用于比较所述第三轨迹和所述第二轨迹,从而确定使所述第三轨迹最接近所述第二轨迹的航向角,作为所述车载相机的航向角。

在一示例性实施例中,所述装置还包括:插值单元,用于利用插值算法使所述第一轨迹和所述第二轨迹包括实质上相同数量的轨迹点。

根据另一示例性实施例,提供一种电子设备,包括:处理器;以及存储器,在所述存储器中存储有计算机程序指令,所述计算机程序指令在被所述处理器运行时使得所述处理器执行上述方法。

根据另一示例性实施例,提供一种车辆,包括上述电子设备。

根据另一示例性实施例,提供一种计算机可读介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行上述方法。

与现有技术相比,本发明的技术方案实现了诸多有益的技术效果。例如,利用视觉里程计和底盘里程计,本发明能以全自动的方式,对相机航向角进行实时在线标定,而且不需要人工参与,因此能够简单、准确地进行标定,消除了人为因素引入的标定误差。

附图说明

通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。

图1图示了根据本申请实施例的航向角标定的应用场景的示意图。

图2图示了根据本申请实施例的航向角标定方法的流程图。

图3a和图3b分别示出了根据本申请实施例的底盘里程计轨迹和视觉里程计轨迹的示意图。

图4图示了根据本申请实施例的航向角标定装置的功能框图。

图5图示了根据本申请实施例的电子设备的结构框图。

具体实施方式

下面,将参考附图详细地描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。

申请概述

如上所述,目前主要通过人工测量的方式来标定车载相机例如摄像头与车身之间的夹角,包括方向角。该过程费时费力,而且还可能因为人为因素而导致测量精度不稳定。

针对该技术问题,本申请的基本构思是提出一种车载相机航向角标定方法,其中将车载相机用作视觉里程计,来确定相机的移动轨迹。同时,还利用车辆上配备的底盘里程计,确定车辆的移动轨迹。通过确定视觉里程计移动轨迹与底盘里程计移动轨迹之间的夹角,即可确定车载相机相对于车身正前方的航向角。

在介绍了本申请的基本原理之后,下面将参考附图来具体介绍本申请的各种非限制性实施例。

示例性系统

图1图示了根据本申请实施例的航向角标定的应用场景的示意图。如图1所示,车辆10可包括车载相机12,其可以是常用的单目相机、双目相机、或者更多目相机。这里,车载相机12被用作视觉里程计。虽然图1示出了车载相机12安装在车辆10的顶部,但是应理解,车载相机12也可以安装在车辆10的其他位置,例如前部车头处、前挡风玻璃顶部处、等等。顾名思义,视觉里程计是利用车载相机12拍摄的视频图像,通过视频处理技术来确定车载相机12的运动轨迹。视觉里程计的具体原理将在下面详细描述。

继续参照图1,车辆10还可以包括底盘里程计14。底盘里程计14可以包括各种传感器,例如速度传感器、加速度传感器等,其可以测量车辆10的各个方向的速度和加速度,通过积分计算来确定车辆10的运动轨迹。

车辆10还可以包括标定单元16,其可以基于车载相机12确定的移动轨迹和底盘里程计14确定的移动轨迹来确定车载相机12相对于车辆正前方的航向角。

示例性方法

图2图示了根据本申请实施例的车载相机航向角标定方法的流程图。

如图2所示,根据本申请实施例的车载相机航向角标定方法100可包括s110,利用底盘里程计14跟踪车辆10的移动,以获得与一移动距离对应的第一轨迹l1;以及步骤s120,利用车载相机12跟踪车辆10的移动,获得与相同移动距离对应的第二轨迹l2。也就是说,第一轨迹l1和第二轨迹l2对应于车辆10的同一段移动距离,因此一般而言,步骤s110和步骤s120可同时执行。如前所述,底盘里程计14可包括速度传感器、加速度传感器等,其可以通过积分来计算得出车辆10的运动轨迹,进而该运动轨迹的切线方向就是车辆10的前进方向,即航向角(yaw)方向。一般而言,底盘里程计14包括二维平面内的速度传感器和加速度传感器,而忽略车辆10在海拔高度方向上的运动,因此通过底盘里程计14获得的第一轨迹l1是二维轨迹,因此优选地,当车辆10在水平平坦表面(地面)上移动时,执行步骤s110和s120。

可以利用多种算法来基于车载相机12拍摄的视频图像确定第二轨迹l2,例如本质矩阵算法、epnp算法等。以本质矩阵算法为例,例如车载相机12获得第一帧图像ft和第二帧图像ft+1,通过fast(featuresfromacceleratedsegmenttest)算法对第一帧图像ft进行特征检测,然后通过klt(kanade-lucas-tomasi)算法在第二帧图像ft+1中跟踪这些特征。然后,可通过ransac的五点算法来估计这两幅图像的本质矩阵,通过计算本质矩阵,并且结合尺度信息,即可估计旋转矩阵r和平移矩阵t。这里的本质矩阵算法和epnp算法仅是示例,opencv库中还集成了许多其他视觉里程计(visualodometry)算法,这里不再一一详细描述。

图3a和图3b分别示出了根据本申请实施例的底盘里程计轨迹l1和视觉里程计轨迹l2的示意图。应理解,轨迹l1和l2每个可包括多个轨迹点,其中轨迹起点对应于车辆10的运动起点,轨迹终点大致上对应于车辆10的运动终点。由于底盘里程计14和车载相机12的采样频率可能有所不同,为了便于后面的数据处理,图2所示的方法100可选地还可以包括步骤s130,利用插值算法使得轨迹l1和l2包括实质上相同数量的轨迹点。

可理解,轨迹l1是底盘里程计局部坐标系(xb,yb,zb)(见图1)中的轨迹,轨迹l2是车载相机局部坐标系(xc,yc,zc)(见图1)中的轨迹,轨迹l1和l2中的每个轨迹点可用旋转矩阵r和平移矩阵t来表示,其中平移矩阵t是3*1矩阵,表示轨迹点相对于原点的位置,旋转矩阵r是3*3矩阵,表示位于该轨迹点处时的姿态,旋转矩阵r也可以表示成欧拉角的形式,其中ψ表示绕y轴旋转的航向角(yaw),θ表示沿x轴旋转的俯仰角(pitch),表示沿z轴旋转的滚转角(roll)。对于轨迹l1而言,航向角是ψ是轨迹l1的切线方向的角度,俯仰角θ和滚转角可以认为是零。

返回参照图1,接下来,方法100可包括步骤s140,将第一轨迹l1旋转一航向角,以获得第三轨迹l3。这里的旋转操作可通过对轨迹l1中的每个点执行下面的公式1所示的操作,以获得第三轨迹l3的对应点来进行。

其中,rl1和tl1分别表示轨迹l1中的一个点的旋转矩阵和平移矩阵,r表示对l1进行旋转的旋转矩阵,其对应的俯仰角和滚转角可以为零,航向角可以按一预设步长例如0.01度逐渐变化,变化范围可以在例如0到360度的范围内,也可以在其他范围内,例如从-60度到+60度、从-30度到+30度、从-20度到+20度、从-10度到+10度等。应理解,该变化范围对应于车载相机12与底盘里程计14(或者说车辆10)之间的夹角,因此可以选择适当的变化范围以减小计算量。t为(0,0,0),rl3和tl3分别表示所得轨迹l3中的对应点的旋转矩阵和平移矩阵。

接下来在步骤s150中,可以比较第三轨迹l3和第二轨迹l2,以确定使第三轨迹l3最接近第二轨迹l2的旋转航向角(r),将其作为车载相机12相对于车辆正前方向的航向角。如前所述,可以对轨迹l1旋转多个不同的航向角,得到多个第三轨迹l3,然后通过比较步骤s150确定与第二轨迹l2最接近的第三轨迹l3所对应的旋转航向角,其即为车载相机12的航向角。这里,比较第三轨迹l3和第二轨迹l2可通过计算第三轨迹l3和第二轨迹l2的相似度来进行,两个轨迹之间的相似度可以以多种方式来定义,例如欧氏距离、马氏距离等。以欧氏距离为例,轨迹l3中的每个点pi的平移矩阵tpi表示为(ai,bi,ci),轨迹l2中的每个点qi的平移矩阵tqi表示为(li,mi,ni),则欧式距离do由下面的公式2表示。使欧式距离do的值最小的第三轨迹l3对应的旋转航向角,即为车载相机12的航向角。

上面描述了根据本发明一实施例的示例性车载相机航向角标定方法,但是应理解,本领域技术人员可以对其进行许多形式和细节上的变化,而不脱离本发明的思想。例如,在另一些实施例中,也可以将第二轨迹l2旋转一航向角,然后与第一轨迹l1相比较,以确定车载相机12相对于车辆的航向角。应理解,这些变化都应理解为落入在本申请的权利要求书及其等价物的范围内。

示例性装置

图4图示了根据本申请实施例的车载相机航向角标定装置200的功能框图。如图4所示,根据本申请实施例的车载相机航向角标定装置200可包括:底盘轨迹计算单元210、视觉轨迹计算单元220、插值单元230、轨迹旋转单元240、以及轨迹比较单元250。

底盘轨迹计算单元210可接收来自底盘里程计14的输出,并且基于其来计算车辆10的第一运动轨迹l1。

视觉轨迹计算单元220可接收来自车载相机12(视觉里程计)的输出,并且基于其来计算车辆10的第二运动轨迹l2。如前所述,第一运动轨迹l1和第二运动轨迹l2是与车辆10的同一段移动距离对应的运动轨迹。

插值单元230可以对第一运动轨迹l1和第二运动轨迹l2中的任意一个或者二者进行插值,以使得第一运动轨迹l1和第二运动轨迹l2中包括实质上相同数量的数据点。

然后,轨迹旋转单元240可以将第一轨迹l1旋转一航向角,以获得第三轨迹l3。

轨迹比较单元250可以将第三轨迹l3与第二轨迹l2进行比较,确定二者之间的相似度,例如欧氏距离,从而确定使第三轨迹l3与第二轨迹l2最接近的旋转航向角,其即为车载相机12相对于车辆10的航向角。

在另一些实施例中,轨迹旋转单元240也可以将第二轨迹l2旋转一航向角,以获得第三轨迹l3,然后轨迹比较单元250可以将第三轨迹l3与第一轨迹l1进行比较,确定二者之间的相似度,从而确定使第三轨迹l3与第一轨迹l1最接近的旋转航向角,其即为车载相机12相对于车辆10的航向角。

上述车载相机航向角标定装置200中的各个单元和模块的具体功能和操作已经在上面参考图1到图3b描述的车载相机航向角标定方法中得到了详细介绍,因此这里仅简要说明,而省略了其重复详细描述。

根据本申请实施例的车载相机航向角标定装置200可以实现在车载相机航向角标定设备中,例如图1所示的车辆10中的标定单元16中。在一个示例中,根据本申请实施例的车载相机航向角标定装置200可以作为一个软件模块和/或硬件模块而集成到该标定单元16中。

示例性电子设备

下面,参考图5来描述根据本申请实施例的电子设备300,该电子设备300可以实现为图1所示的车辆10中的标定单元16,其可以与车载相机12和底盘里程计14进行通信,以接收它们的输出信号。图5图示了根据本申请实施例的电子设备300的结构框图。

如图5所示,电子设备300包括一个或多个处理器310和存储器320。

处理器310可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备300中的其他组件以执行期望的功能。

存储器320可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器310可以运行所述程序指令,以实现上文所述的本申请的各个实施例的车载相机航向角标定方法以及/或者其他期望的功能。

在一个示例中,电子设备300还可以包括:第一接口330和第二接口340,这些组件通过总线系统例如canbus总线和/或其他形式的连接机构(未示出)互连。第一接口330可用于连接到车载相机12,以接收例如车载相机12拍摄的连续视频图像。第二接口340可连接到底盘里程计14,以接收底盘里程计14输出的测量数据。

当然,为了简化,图5中仅示出了该电子设备300中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备300还可以包括任何其他适当的组件。

示例性计算机程序产品和计算机可读存储介质

除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的车载相机航向角标定方法中的步骤。

所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。

此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的车载相机航向角标定方法中的步骤。

所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。

本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1