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

一种相机的标定方法、标定装置及电子设备

文献发布时间:2023-06-19 09:55:50


一种相机的标定方法、标定装置及电子设备

技术领域

本申请属于标定技术领域,尤其涉及一种相机的标定方法、标定装置、电子设备及计算机可读存储介质。

背景技术

随着公路交通的飞速发展,交通事故,特别是恶性交通事故的事故率不断上升。出于交通安全的考虑,当前越来越多的车辆安装了驾驶安全辅助系统,以增加驾驶员和车辆的安全性。该驾驶安全辅助系统的各种功能的实现均以对周围环境道路的感知为前提,例如,采用一个或多个相机来获取交通信号、交通图案、道路标示及前方障碍物等视觉信号,再经过视觉图像分析转换成交通信号类别或障碍物距离等定量信息,为包括安全车距保持、防碰撞、安全换道在内等功能提供决策依据。

在计算机视觉处理中,在将通过相机所获取到的原始图像转换成可用于提供决策依据的有量纲物理量之前,需要先确定相机相对于车辆所在的世界坐标系中的三维位置和朝向,这一过程称之为标定。现有的较为常见的标定方法是手动测量摄像机的安装高度和角度,该操作需要经过专业培训的人参与,耗时耗力且成本高。

发明内容

有鉴于此,本申请提供了一种相机的标定方法、标定装置、电子设备及计算机可读存储介质,可以实现安装于车辆上的相机的自动标定,显著节约成本。

第一方面,本申请提供了一种相机的标定方法,上述相机安装于车辆,上述标定方法包括:

通过上述相机获取包含有其它车辆及至少两条车道线的目标图像,其中,上述其它车辆是除安装有上述相机的车辆之外的车辆;

对上述车道线进行拟合,得到交点;

获取上述其它车辆的实际车高;

基于上述目标图像中的上述其它车辆、上述实际车高、上述交点及上述相机的相机参数,计算得到上述相机的姿态参数。

第二方面,本申请提供了一种相机的标定装置,上述相机安装于车辆,上述标定装置包括:

第一获取单元,用于通过上述相机获取包含有其它车辆及至少两条车道线的目标图像;

拟合单元,用于对上述车道线进行拟合,得到交点;

第二获取单元,用于获取上述其它车辆的实际车高;

计算单元,用于基于上述目标图像中的上述其它车辆、上述实际车高、上述交点及上述相机的相机参数,计算得到上述相机的姿态参数。

第三方面,本申请提供了一种电子设备,上述电子设备包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上述第一方面的方法的步骤。

第四方面,本申请提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如上述第一方面的方法的步骤。

第五方面,本申请提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,上述计算机程序被一个或多个处理器执行时实现如上述第一方面的方法的步骤。

本申请与现有技术相比存在的有益效果是:首先通过安装于车辆身上的相机获取包含有其它车辆及至少两条车道线的目标图像,然后对上述车道线进行拟合,得到交点,与此同时,还会去获取上述其它车辆的实际车高,最后基于目标图像中的其它车辆、该其它车辆的实际车高、车道线拟合后所得的交点及相机的相机参数,计算得到上述相机的姿态参数,实现对相机的标定。上述过程完全不依赖静态测量数据,相机的姿态参数完全使用软件方法计算得出,节省了静态测量所需人力资源,使得标定流程更为简洁,并可显著节约标定成本。可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的相机的标定方法的实现流程图;

图2是本申请实施例提供的目标图像中拟合后的车道线的示意图;

图3是本申请实施例提供的目标图像中所包含的其它车辆的示意图;

图4是本申请实施例提供的相机的高度的示意图;

图5是本申请实施例提供的相机在世界坐标系中的示意图;

图6是本申请实施例提供的相机的标定装置的结构框图;

图7是本申请实施例提供的电子设备的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

为了说明本申请所提出的技术方案,下面通过具体实施例来进行说明。

请参阅图1,图1示出了本申请实施例提供的一种相机的标定方法,详述如下:

步骤101,通过上述相机获取包含有其它车辆及至少两条车道线的目标图像;

在本申请实施例中,所要标定的相机是安装于车辆的相机,该相机可对该车辆的前方或后方进行拍摄。示例性地,该相机可安装于车辆的前/后风窗的顶部,也可以安装于车辆的其它位置,此处不对该相机的安装位置做出限定。相机在启动后会开始不间断的进行拍摄,只有包含有至少一辆其它车辆(也即除安装有该相机的车辆之外的车辆)及至少两条车道线的图像才能用于执行本申请实施例所提出的标定方法,为了便于说明,将该图像记作目标图像。电子设备会对相机不间断拍摄的过程所获得的各帧图像进行目标检测,具体为检测图像中是否存在至少一辆其它车辆及至少两条车道线;若图像中不存在至少一辆其它车辆,和/或,图像中不存在至少两条车道线,则将该图像丢弃;反之,若该图像中存在至少一辆其它车辆及至少两条车道线,则开始基于该图像执行本申请实施例所提出的各个步骤。上述电子设备,可以是车辆上所安装的主机,此处不对该电子设备作出限定。

在一些实施例中,由于目标图像中需要至少两条车道线,而车辆往往是在行驶状态下,其周围才会有车道线;基于此,可以是在安装有等待标定的相机的车辆正在行驶时,才通过该相机进行拍摄,以在节约计算资源的前提下获取到包含有车道线及其它车辆的目标图像。

在一些实施例中,若目标图像中存在两个以上的其它车辆,则可以在这两个以上的其它车辆中选定一个车辆作为目标其它车辆,并基于该目标其它车辆执行后续各个步骤。考虑到相机拍摄时存在畸变;且越靠近图像边缘的物体,畸变越严重;因而,可将最靠近目标图像的中心位置处的其它车辆选定为目标其它车辆;也即,将与目标图像的中心的距离最短的其它车辆选定为目标其它车辆。

步骤102,对上述车道线进行拟合,得到交点;

在本申请实施例中,虽然车道线在实际场景下是平行的,但由于相机拍摄时存在畸变,因而拍摄所获取到的目标图像中,车道线通常情况下是不平行的。请参阅图2,图2给出了目标图像中拟合后的车道线的示意。拟合后的车道线之间的交点在图像坐标系中的坐标可记作(x

在一些实施例中,若车辆行驶在有着多车道的道路,则相机拍摄所得到的目标图像中可能存在多条车道线。为了提升计算效率,可在目标图像中有多条车道线时,选定任意两条车道线进行拟合,而无需对所有的车道线进行拟合。

步骤103,获取上述其它车辆的实际车高;

在本申请实施例中,还需要去获取该其它车辆的实际车高。示例性地,可以预先设置一数据库,该数据库中存储有当前已上市的所有车型的实际车高;则该步骤103可以具体为:在该数据库中查找出该其它车辆的车型,记作目标车型;随后读取得到该目标车型的实际车高。

在一些实施例中,该数据库还可以存储各个车型的车辆特征,例如颜色、轮廓、车灯形状、车标和/或车辆上的文字等;则电子设备可以先从目标图像中提取出所需要识别的其它车辆的车辆特征,然后将该其它车辆的车辆特征与数据库中的各个车型的车辆特征进行比对,具体为分别计算上述其它车辆的车辆特征与上述数据库中各个车型的车辆特征的相似度;最后,可将车辆特征与该其它车辆的车辆特征的相似度最高的车型确定为目标车型。

在一些实施例中,上述相似度可以是余弦相似度;也即,可以将该其它车辆的车辆特征转换为车辆特征向量;将数据库中各个车型的车辆特征也分别转换为车辆特征向量,以计算该其它车辆的车辆特征向量与上述数据库中各个车型的车辆特征向量的余弦相似度。

步骤104,基于上述目标图像中的上述其它车辆、上述实际车高、上述交点及上述相机的相机参数,计算得到上述相机的姿态参数。

在本申请实施例中,可根据之前步骤101-103中所获取到的目标图像中的其它车辆、该其它车辆的实际车高、任意两条车道线拟合后的交点及相机的相机参数,计算得到该相机的姿态参数,该姿态参数包括高度及角度。

对于高度来说,其计算过程为:

A1、获取上述目标图像中,上述其它车辆的底端与上述交点的高度差,记作第一高度差;

A2、获取上述目标图像中,上述其它车辆的底端与上述其它车辆的顶端的高度差,记作第二高度差;

A3、基于上述第一高度差、上述第二高度差及上述实际车高,计算得到上述相机的高度。

其中,可基于该目标图像建立一图像坐标系。如图3所示,图3给出了目标图像中所包含的其它车辆的示意。如图4所示,图4给出了相机的高度的示意。在该图像坐标系中,可以将该其它车辆的底端的纵坐标记为bottom,将该其它车辆的顶端的纵坐标记为top,而交点的坐标为(x

对于角度来说,需要用到如下相机参数:相机在图像坐标系的纵轴方向上的焦距,以及相机的焦点在图像坐标系的纵轴方向上的坐标;则角度的计算过程为:

B1、计算上述交点的纵坐标与相机的焦点在图像坐标系的纵轴方向上的坐标的差值;

B2、计算上述差值与上述焦距的比值;

B3、根据反正切函数及上述比值计算得到上述相机的角度。

其中,B3中所采用的计算公式可基于小孔成像原理而得,具体为:

上式中,θ为所要计算的相机的角度;y

由于世界坐标系中,车道线交点(X,Y,Z)位于天际线位置,所以Z趋向于无穷大,Y等于H

由上可见,通过本申请实施例,首先通过安装于车辆身上的相机获取包含有其它车辆及至少两条车道线的目标图像,然后对上述车道线进行拟合,得到交点,与此同时,还会去获取上述其它车辆的实际车高,最后基于上述目标图像中的上述其它车辆、上述实际车高、上述交点及上述相机的相机内部参数,计算得到上述相机的姿态参数。上述过程完全不依赖静态测量数据,相机的姿态参数完全使用软件方法计算得出,节省了静态测量所需人力资源,使得标定流程更为简洁,并可显著节约标定成本。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

对应于前文所提出的相机的标定方法,本申请实施例提供了一种相机的标定装置,上述标定装置集成于电子设备。请参阅图6,本申请实施例中的物体检测装置600包括:

第一获取单元601,用于通过上述相机获取包含有其它车辆及至少两条车道线的目标图像;

拟合单元602,用于对上述车道线进行拟合,得到交点;

第二获取单元603,用于获取上述其它车辆的实际车高;

计算单元604,用于基于上述目标图像中的上述其它车辆、上述实际车高、上述交点及上述相机的相机参数,计算得到上述相机的姿态参数。

可选地,上述姿态参数包括高度;上述计算单元604,包括:

第一高度差获取子单元,用于获取上述目标图像中,上述其它车辆的底端与上述交点的高度差,记作第一高度差;

第二高度差获取子单元,用于获取上述目标图像中,上述其它车辆的底端与上述其它车辆的顶端的高度差,记作第二高度差;

高度计算子单元,用于基于上述第一高度差、上述第二高度差及上述实际车高,计算得到上述相机的高度。

可选地,上述姿态参数包括角度;上述相机参数包括上述相机在图像坐标系的纵轴方向上的焦距及上述相机的焦点在上述图像坐标系的纵轴方向上的坐标;上述计算单元604,包括:

差值计算子单元,用于计算上述交点的纵坐标与上述相机的焦点在上述图像坐标系的纵轴方向上的坐标的差值;

比值计算子单元,用于计算上述差值与上述焦距的比值;

角度计算子单元,用于根据反正切函数及上述比值计算得到上述相机的角度。

可选地,上述拟合单元602,包括:

关键点提取子单元,用于针对上述目标图像中的任意的两条车道线,提取出上述两条车道线的关键点;

车道线拟合子单元,用于根据上述关键点分别对上述两条车道线进行拟合,得到两条直线;

交点获取子单元,用于获取上述两条直线的交点。

可选地,上述第二获取单元603,包括:

目标车型查找子单元,用于在预设的数据库中查找上述其它车辆的车型,记作目标车型;

实际车高读取子单元,用于读取上述目标车型的实际车高。

可选地,上述目标车型查找子单元,包括:

车辆特征提取子单元,用于提取上述其它车辆的车辆特征,上述车辆特征包括:颜色、轮廓、车灯形状、车标和/或文字;

相似度计算子单元,用于分别计算上述其它车辆的车辆特征与上述数据库中各个车型的车辆特征的相似度;

目标车型确定子单元,用于将车辆特征与上述其它车辆的车辆特征的相似度最高的车型确定为目标车型。

可选地,第一获取单元601,具体用于在上述车辆行驶时,通过上述相机获取包含有其它车辆及至少两条车道线的目标图像。

由上可见,通过本申请实施例,首先通过安装于车辆身上的相机获取包含有其它车辆及至少两条车道线的目标图像,然后对上述车道线进行拟合,得到交点,与此同时,还会去获取上述其它车辆的实际车高,最后基于上述目标图像中的上述其它车辆、上述实际车高、上述交点及上述相机的相机参数,计算得到上述相机的姿态参数。上述过程完全不依赖静态测量数据,相机的姿态参数完全使用软件方法计算得出,节省了静态测量所需人力资源,使得标定流程更为简洁,并可显著节约标定成本。

本申请实施例还提供了一种电子设备,请参阅图7,本申请实施例中的电子设备7包括:存储器701,一个或多个处理器702(图7中仅示出一个)及存储在存储器701上并可在处理器上运行的计算机程序。其中:存储器701用于存储软件程序以及单元,处理器702通过运行存储在存储器701的软件程序以及单元,从而执行各种功能应用以及数据处理,以获取上述预设事件对应的资源。具体地,处理器702通过运行存储在存储器701的上述计算机程序时实现以下步骤:

通过上述相机获取包含有其它车辆及至少两条车道线的目标图像,其中,上述其它车辆是除安装有上述相机的车辆之外的车辆;

对上述车道线进行拟合,得到交点;

获取上述其它车辆的实际车高;

基于上述目标图像中的上述其它车辆、上述实际车高、上述交点及上述相机的相机参数,计算得到上述相机的姿态参数。

假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,上述姿态参数包括高度,上述基于上述目标图像中的上述其它车辆、上述实际车高、上述交点及上述相机的相机参数,计算得到上述相机的姿态参数,包括:

获取上述目标图像中,上述其它车辆的底端与上述交点的高度差,记作第一高度差;

获取上述目标图像中,上述其它车辆的底端与上述其它车辆的顶端的高度差,记作第二高度差;

基于上述第一高度差、上述第二高度差及上述实际车高,计算得到上述相机的高度。

在上述第一种可能的实施方式作为基础而提供的第三种可能的实施方式中,上述姿态参数包括角度,上述相机参数包括上述相机在图像坐标系的纵轴方向上的焦距及上述相机的焦点在上述图像坐标系的纵轴方向上的坐标;上述基于上述目标图像中的上述其它车辆、上述实际车高、上述交点及上述相机的相机参数,计算得到上述相机的姿态参数,包括:

计算上述交点的纵坐标与上述相机的焦点在上述图像坐标系的纵轴方向上的坐标的差值;

计算上述差值与上述焦距的比值;

根据反正切函数及上述比值计算得到上述相机的角度。

在上述第一种可能的实施方式作为基础而提供的第四种可能的实施方式中,上述对上述目标图像中的车道线进行拟合,得到交点,包括:

针对上述目标图像中的任意的两条车道线,提取出上述两条车道线的关键点;

根据上述关键点分别对上述两条车道线进行拟合,得到两条直线;

获取上述两条直线的交点。

在上述第一种可能的实施方式作为基础而提供的第五种可能的实施方式中,上述获取上述其它车辆的实际车高,包括:

在预设的数据库中查找上述其它车辆的车型,记作目标车型;

读取上述目标车型的实际车高。

在上述第五种可能的实施方式作为基础而提供的第六种可能的实施方式中,上述在预设的数据库中查找上述其它车辆的车型,记作目标车型,包括:

提取上述其它车辆的车辆特征,上述车辆特征包括:颜色、轮廓、车灯形状、车标和/或文字;

分别计算上述其它车辆的车辆特征与上述数据库中各个车型的车辆特征的相似度;

将车辆特征与上述其它车辆的车辆特征的相似度最高的车型确定为目标车型。

在上述第一种可能的实施方式作为基础而提供的第七种可能的实施方式中,上述通过上述相机获取包含有其它车辆及至少两条车道线的目标图像,包括:

在上述车辆行驶时,通过上述相机获取包含有其它车辆及至少两条车道线的目标图像。

应当理解,在本申请实施例中,所称处理器702可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器701可以包括只读存储器和随机存取存储器,并向处理器702提供指令和数据。存储器701的一部分或全部还可以包括非易失性随机存取存储器。例如,存储器701还可以存储设备类别的信息。

由上可见,通过本申请实施例,首先通过安装于车辆身上的相机获取包含有其它车辆及至少两条车道线的目标图像,然后对上述车道线进行拟合,得到交点,与此同时,还会去获取上述其它车辆的实际车高,最后基于上述目标图像中的上述其它车辆、上述实际车高、上述交点及上述相机的相机参数,计算得到上述相机的姿态参数。上述过程完全不依赖静态测量数据,相机的姿态参数完全使用软件方法计算得出,节省了静态测量所需人力资源,使得标定流程更为简洁,并可显著节约标定成本。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者外部设备软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关联的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读存储介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机可读存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括是电载波信号和电信信号。

以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

相关技术
  • 一种相机的标定方法、标定装置及电子设备
  • 相机成像标定装置及相机成像标定方法
技术分类

06120112349880