一种相机外参标定方法、装置及电子设备与流程

文档序号:18872918发布日期:2019-10-14 19:57阅读:267来源:国知局
一种相机外参标定方法、装置及电子设备与流程

本发明涉及相机标定技术领域,特别是涉及一种相机外参标定方法、装置及电子设备。



背景技术:

相机外参是一组表征相机在世界坐标系中的位置、旋转方向等属性的参数,包括相机的滚转角、俯仰角及偏航角等,相机外参标定就是获得相机外参的过程。在视觉测量领域,相机外参标定是一个非常关键的环节,其标定精度和稳定性将直接影响视觉测量结果的准确性。

视觉测量技术的应用场景较为广泛,例如,可应用于产品质量检测、车辆监控等场景中。目前,针对车辆监控的场景,相应的相机外参标定方法为,从实时图像中进行车道提取,然后对提取到的车道进行透视变换去除操作,再对透视变换去除后的结果进行最优值迭代,得到相机的滚转角、俯仰角及偏航角。

采用上述方法进行相机外参标定时,由于需要进行迭代处理,因此,计算过程不稳定,计算耗时长,计算结果精确度低,且有可能出现计算结果不收敛(即无法得到相机外参数)的情况。



技术实现要素:

本发明实施例的目的在于提供一种相机外参标定方法、装置及电子设备,以提高相机外参标定的速度和标定结果的精确度。具体技术方案如下:

第一方面,本发明实施例提供了一种相机外参标定方法,所述方法包括:

基于相机内参,对标定图片原图进行畸变矫正,得到畸变矫正图,所述标定图片原图为通过所述相机对预先设定有四条直线的场景进行拍摄得到的图片,所述四条直线在所述场景中围成的闭合区域为矩形;

在所述畸变矫正图中,获取所述四条直线形成的四个交点的像素坐标,所述四个交点的像素坐标为所述四个交点在主点像素坐标系中的坐标;

基于所述四个交点的像素坐标,通过预设坐标变换策略,标定相机外参。

进一步的,所述在所述畸变矫正图中,获取所述四条直线形成的四个交点的像素坐标,包括:

在所述畸变矫正图中,通过直线拟合的方式,分别获取所述四条直线在主点像素坐标系中的直线方程;

根据所述四条直线在主点像素坐标系中的直线方程,计算所述四条直线形成的四个交点的像素坐标。

进一步的,所述相机外参包括相机滚转角;

所述基于所述四个交点的像素坐标,通过预设坐标变换策略,标定相机外参,包括:

基于所述四个交点的像素坐标,利用矩形区域对边相等性质及所述主点像素坐标系与相机局部世界坐标系之间的预设映射关系,计算相机滚转角。

进一步的,在所述基于所述四个交点的像素坐标,利用矩形区域对边相等性质及所述主点像素坐标系与相机局部世界坐标系之间的预设映射关系,计算相机滚转角之后,所述方法还包括:

对所述相机滚转角进行修正运算,计算得到所述四个交点的修正像素坐标,所述四个交点的修正像素坐标为无相机滚转角的畸变矫正图上所述四个交点的像素坐标;

根据所述四个交点的修正像素坐标,确定指定消失点的像素坐标,所述指定消失点为无相机滚转角的畸变矫正图上所述四个交点组成的四边形的任意一组非平行对边形成的交点;

从所述相机内参中提取所述相机的纵向焦距,并从所述指定消失点的像素坐标中提取所述指定消失点的纵坐标;

基于所述相机的纵向焦距及所述指定消失点的纵坐标,计算相机俯仰角。

进一步的,所述对所述相机滚转角进行修正运算,计算得到所述四个交点的修正像素坐标,包括:

根据所述相机滚转角,采用修正计算公式,计算得到所述四个交点的修正像素坐标,所述修正计算公式为:

xa′=coss*xa+sins*yaxb′=coss*xb+sins*yb

ya′=-sins*xa+coss*yayb′=-sins*xb+coss*yb

xc′=coss*xc+sins*ycxd′=coss*xd+sins*yd

yc′=-sins*xc+coss*ycyd′=-sins*xd+coss*yd

其中,(xa,ya)、(xb,yb)、(xc,yc)及(xd,yd)分别为所述四个交点的像素坐标(xa′,ya′)、(xb′,yb′)、(xc′,yc′)及(xd′,yd′)分别为所述四个交点的修正像素坐标;所述s为所述相机滚转角。

进一步的,在所述基于所述相机的纵向焦距及所述指定消失点的纵坐标,计算相机俯仰角之后,所述方法还包括:

从所述相机内参中提取所述相机的横向焦距,并从所述指定消失点的像素坐标中提取所述指定消失点的横坐标;

基于所述相机的横向焦距、所述指定消失点的横坐标及所述相机俯仰角,计算相机偏航角。

进一步的,在所述基于所述相机的横向焦距、所述指定消失点的横坐标及所述相机俯仰角,计算相机偏航角之后,所述方法还包括:

获取在所述场景中,所述四条直线中的两条指定直线间的距离,所述两条指定直线为对应在所述畸变矫正图中存在所述指定消失点的两条直线;

基于所述四个交点的修正像素坐标,计算所述主点像素坐标系的横轴与所述两条指定直线相交后的截距;

基于所述四条直线中的两条指定直线间的距离、所述相机的横向焦距、所述相机偏航角、所述截距及所述相机俯仰角,计算相机安装高度。

进一步的,在所基于所述四条直线中的两条指定直线间的距离、所述相机的横向焦距、所述相机偏航角、所述截距及所述相机俯仰角,计算相机安装高度之后,所述方法还包括:

获取所述四条直线在所述场景中生成的四个交点中的第一交点在世界坐标系下的坐标,所述第一交点为所述四个交点中的任一交点;

基于所述相机安装高度、所述相机俯仰角及所述相机偏航角,计算所述相机在相机局部世界坐标系中的坐标;

基于所述第一交点在主点像素坐标系中的坐标、所述相机滚转角、所述相机俯仰角、所述相机偏航角、所述相机的横向焦距、所述相机的纵向焦距、所述相机在相机局部世界坐标系中的坐标、所述相机主点在像素坐标系中的坐标,计算所述第一交点在相机局部世界坐标系中的坐标;

基于所述第一交点在世界坐标系中的坐标、所述第一交点在世界坐标系中的坐标,计算所述相机局部世界坐标系原点在世界坐标系中的坐标;

基于所述相机局部世界坐标系原点在世界坐标系中的坐标、所述相机在相机局部世界坐标系中的坐标,计算相机在世界坐标系中的坐标。

第二方面,本发明实施例提供了一种相机外参标定装置,装置包括:

畸变校正图获取模块,用于基于相机内参,对标定图片原图进行畸变矫正,得到畸变矫正图,所述标定图片原图为通过所述相机对预先设定有四条直线的场景进行拍摄得到的图片,所述四条直线在所述场景中围成的闭合区域为矩形;

像素坐标获取模块,用于在所述畸变矫正图中,获取所述四条直线形成的四个交点的像素坐标,所述四个交点的像素坐标为所述四个交点在主点像素坐标系中的坐标;

外参标定模块,基于所述四个交点的像素坐标,通过预设坐标变换策略,标定相机外参。

进一步的,所述像素坐标获取模块,具体用于:

在所述畸变矫正图中,通过直线拟合的方式,分别获取所述四条直线在主点像素坐标系中的直线方程;

根据所述四条直线在主点像素坐标系中的直线方程,计算所述四条直线形成的四个交点的像素坐标。

进一步的,所述相机外参包括相机滚转角;

所述外参标定模块,具体用于:

基于所述四个交点的像素坐标,利用矩形区域对边相等性质及所述主点像素坐标系与相机局部世界坐标系之间的预设映射关系,计算相机滚转角。

进一步的,所述外参标定模块还用于:

对所述相机滚转角进行修正运算,计算得到所述四个交点的修正像素坐标,所述四个交点的修正像素坐标为无相机滚转角的畸变矫正图上所述四个交点的像素坐标;

根据所述四个交点的修正像素坐标,确定指定消失点的像素坐标,所述指定消失点为无相机滚转角的畸变矫正图上所述四个交点组成的四边形的任意一组非平行对边形成的交点;

从所述相机内参中提取所述相机的纵向焦距,并从所述指定消失点的像素坐标中提取所述指定消失点的纵坐标;

基于所述相机的纵向焦距及所述指定消失点的纵坐标,计算相机俯仰角。

进一步的,所述外参标定模块具体用于:

根据所述相机滚转角,采用修正计算公式,计算得到所述四个交点的修正像素坐标,所述修正计算公式为:

xa′=coss*xa+sins*yaxb′=coss*xb+sins*yb

ya′=-sins*xa+coss*yayb′=-sins*xb+coss*yb

xc′=coss*xc+sins*ycxd′=coss*xd+sins*yd

yc′=-sins*xc+coss*ycyd′=-sins*xd+coss*yd

其中,(xa,ya)、(xb,yb)、(xc,yc)及(xd,yd)分别为所述四个交点的像素坐标;(xa′,ya′)、(xb′,yb′)、(xc′,yc′)及(xd′,yd′)分别为所述四个交点的修正像素坐标;所述s为所述相机滚转角。

进一步的,所述外参标定模块还用于:

从所述相机内参中提取所述相机的横向焦距,并从所述指定消失点的像素坐标中提取所述指定消失点的横坐标;

基于所述相机的横向焦距、指定消失点的横坐标及所述相机俯仰角,计算相机偏航角。

进一步的,所述外参标定模块还用于:

获取在所述场景中,所述四条直线中的两条指定直线间的距离,所述两条指定直线为对应在所述畸变矫正图中存在所述指定消失点的两条直线;

基于所述四个交点的修正像素坐标,计算所述主点像素坐标系的横轴与所述两条指定直线相交后的截距;

基于所述四条直线中的两条指定直线间的距离、所述相机的横向焦距、所述相机偏航角、所述截距及所述相机俯仰角,计算相机安装高度。

进一步的,所述外参标定模块还用于:

获取所述四条直线在所述场景中生成的四个交点中的第一交点在世界坐标系下的坐标,所述第一交点为所述四个交点中的任一交点;

基于所述相机安装高度、所述相机俯仰角及所述相机偏航角,计算所述相机在相机局部世界坐标系中的坐标;

基于所述第一交点在主点像素坐标系中的坐标、所述相机滚转角、所述相机俯仰角、所述相机偏航角、所述相机的横向焦距、所述相机的纵向焦距、所述相机在相机局部世界坐标系中的坐标、所述相机主点在像素坐标系中的坐标,计算所述第一交点在相机局部世界坐标系中的坐标;

根据所述第一交点在相机局部世界坐标系中的坐标、所述第一交点在世界坐标系中的坐标,计算所述相机局部世界坐标系原点在世界坐标系中的坐标;

基于所述相机局部世界坐标系原点在世界坐标系中的坐标、所述相机在相机局部世界坐标系中的坐标,计算相机在世界坐标系中的坐标。

第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述任一相机外参标定方法的步骤。

第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一相机外参标定方法。

本发明实施例提供的一种相机外参标定方法、装置及电子设备,基于相机内参,对标定图片原图进行畸变矫正,得到畸变矫正图,其中,标定图片原图为通过相机对预先设定有四条直线的场景进行拍摄得到的图片,四条直线在场景中围成的闭合区域为矩形;在畸变矫正图中,获取四条直线形成的四个交点的像素坐标,其中,四个交点的像素坐标为四个交点在主点像素坐标系中的坐标;基于四个交点的像素坐标,通过预设坐标变换策略,标定相机外参。在畸变校正图中获取上述在所拍摄的场景中围成闭合矩形区域的四条直线形成的四个交点的像素坐标,通过预设的坐标变换策略,可以标定出相机外参,而无需通过迭代处理,计算过程稳定,计算耗时短,提高了相机外参标定的速度和标定结果的准确度。

附图说明

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

图1为本发明一实施例提供的相机外参标定方法的流程示意图;

图2为在场景中绘制的围成的闭合区域为矩形的四条直线的示意图;

图3为相机外参所表示的几何含义的示意图;

图4为本发明另一实施例提供的相机外参标定方法的流程示意图;

图5为本发明一实施例的指定消失点示意图;

图6为本发明另一实施例的指定消失点示意图;

图7为本发明又一实施例的指定消失点示意图;

图8为主点像素坐标系的横轴与两条指定直线相交后的截距的示意图;

图9为相机局部世界坐标系与世界坐标系相对位置关系示意图;

图10为本发明实施例提供的相机外参标定装置的结构示意图;

图11本发明实施例提供的电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了提高相机外参标定结果的准确度,本发明实施例提供了一种相机外参标定方法、装置及电子设备。

下面对本发明实施例所提供的一种相机外参标定方法进行介绍。

该相机外参标定方法的执行主体可以为包含核心处理芯片的相机,也可以是独立于相机之外的控制设备。

如图1所示,本发明实施例所提供的一种相机外参方法,具体可以包括如下步骤:

步骤101,基于相机内参,对标定图片原图进行畸变矫正,得到畸变矫正图。

其中,标定图片原图为通过相机对预先设定有四条直线的场景进行拍摄得到的图片,四条直线在场景中围成的闭合区域为矩形。

本步骤中预先设定的四条直线可以是在进行相机外参标定前在场景中绘制的围成的闭合区域为矩形的四条直线(如图2所示,l1、l2、l3及l4即为在场景中绘制的围成的闭合区域为矩形的四条直线,a、b、c、d为上述四条直线的交点);也可以是从场景中某个物体的轮廓线所在直线中选择出的围成的闭合区域为矩形的四条直线,例如,当场景中包含有一座矩形建筑物时,由于其轮廓线所在直线围成的闭合区域即为矩形,因此可以将该建筑物的四条边所在直线作为本步骤中的预设四条直线。

对包含有预设直线的场景进行拍摄后,得到标定图片原图,由于拍摄视角及相机内参等原因,标定图片原图中会出现畸变现象,例如,实景中的直线对应在标定图片原图中,则可能变成弯曲的曲线。因此,需要根据相机的内参,对标定图片原图进行畸变矫正,得到畸变矫正图。

步骤102,在畸变矫正图中,获取四条直线形成的四个交点的主点像素坐标。

本发明实施例中的主点像素坐标系是以像素坐标系为基础建立的,在介绍主点像素坐标系之前,先明确像素坐标系的定义。像素坐标系位于相机的成像平面上,其原点位于图片的左上角,度量单位为像素,其中,四个交点的像素坐标为四个交点在像素坐标系中的坐标,交点的像素坐标即为交点在像素坐标系中的坐标,例如,对于图片中的某一像素点,当其坐标为(x,y)时,即表示该像素点位于图像的第x行第y列。

本步骤中的主点像素坐标系也位于相机的成像平面上,度量单位亦为像素,但与像素坐标系不同的是:主点像素坐标系原点位于相机主点,其x轴、y轴分别与像素坐标系的x轴、y轴平行。

因此,对于畸变矫正图中的指定一点m,其在像素坐标系中的坐标与其在主点像素坐标系中的坐标之间具有如下对应关系:

xm=xm-cx

ym=cy-ym

其中,(cx,cy)为相机主点在像素坐标系中的坐标;(xm,ym)为点m在主点像素坐标系中的坐标,即点m的像素坐标;(xm,ym)为点m在像素坐标系中的坐标。

获取四条直线形成的四个交点的像素坐标的方式,可以是直接从畸变矫正图中提取出上述四个交点的像素坐标,也可以是先提取出畸变矫正图中其他特征,再通过坐标运算,间接得到上述四个交点的像素坐标。

进一步的,在畸变矫正图中,获取四条直线形成的四个交点的像素坐标的步骤,可以包括:

在畸变矫正图中,通过直线拟合的方式,分别获取四条直线在主点像素坐标系中的直线方程;

根据四条直线在主点像素坐标系中的直线方程,计算四条直线形成的四个交点的像素坐标。

由于图像分辨率等因素的限制,若直接从畸变矫正图中提取上述四个交点的像素坐标,会导致结果不准确的问题。因此,可以先通过直线拟合的方式,得到上述四条直线在主点像素坐标系中的直线方程(通过直线拟合方法得到的四条直线在主点像素坐标系中的直线方程比通过直线上的两点确定出的直线方程的精确度高),然后再通过坐标计算,得到四个交点的像素坐标,此时得到的四个交点的像素坐标是唯一的,精确度较高。

步骤103,基于四个交点的像素坐标,通过预设坐标变换策略,标定相机外参。

相机外参可以包括相机滚转角、相机俯仰角、相机偏航角,还可以包括相机的安装高度以及相机的位置。如图3所示,其中c点为相机的主点,co为相机的光轴,坐标系o-xyz为以相机光轴与地面的交点为原点的相机局部世界坐标系,t为俯仰角,p为偏航角,s为滚转角,h为相机安装高度。

在进行相机外参标定时,涉及到相机局部世界坐标系、像素坐标系、主点像素坐标系及世界坐标系,四个交点的像素坐标为在主点像素坐标系中的参量,相机滚转角、相机俯仰角、相机偏航角、相机的安装高度以及相机的位置为在相机局部世界坐标系或者世界坐标系中的参量,因此,预设坐标变换策略可以理解为上述坐标系之间的映射关系,通过该映射关系,即可得到上述外参,完成相机外参标定。

采用本实施例提供的相机外参标定方法进行外参标定时,可以将相机滚转角、相机俯仰角、相机偏航角、相机的安装高度以及相机的位置均计算出来,也可以根据要求或者应用需要选择性的计算上述外参中的一部分。

在本发明实施例提供的图1所示的相机外参标定方法中,基于相机内参,对标定图片原图进行畸变矫正,得到畸变矫正图;在畸变矫正图中,获取四条直线形成的四个交点的像素坐标;基于四个交点的像素坐标,通过预设坐标变换策略,标定相机外参。在畸变校正图中获取上述在场景中围成闭合矩形区域的四条直线形成的四个交点的像素坐标,通过预设的坐标变换策略,可以标定出相机外参,而无需通过迭代处理,计算过程稳定,计算耗时短,且提高了相机外参标定结果的准确度。

下面,以相机外参包括相机滚转角、相机俯仰角、相机偏航角、相机的安装高度以及相机的位置为例,对本发明实施例提供的一种相机外参标定方法进行介绍,如图4所示,具体可以包括如下步骤:

步骤201,基于相机内参,对标定图片原图进行畸变矫正,得到畸变矫正图。

步骤202,在畸变矫正图中,获取四条直线形成的四个交点的像素坐标。

步骤201、步骤202分别对应于步骤101、步骤102中的具体内容,在此不再赘述。

步骤203,基于四个交点的像素坐标,利用矩形区域对边相等性质及主点像素坐标系与相机局部世界坐标系之间的预设映射关系,计算相机滚转角。

本步骤中,可以根据利用矩形区域对边相等性质及主点像素坐标系与相机局部世界坐标系之间的预设映射关系,得到相机滚转角计算公式,该公式可以为:

其中,

(xa,ya)、(xb,yb)、(xc,yc)及(xd,yd)分别为四个交点的像素坐标;s为相机滚转角。

步骤204,对相机滚转角进行修正运算,计算得到四个交点的修正像素坐标。

其中,四个交点的修正像素坐标为无相机滚转角的畸变矫正图上四个交点的像素坐标。对相机滚转角的修正运算,可以是通过将相机的相机滚转角设定为0,对四个交点的像素坐标进行变换,修正像素坐标即为变换后得到的坐标。

进一步的,对相机滚转角进行修正运算,计算得到四个交点的修正像素坐标,包括:

根据相机滚转角,采用修正计算公式,计算得到四个交点的修正像素坐标,修正计算公式为:

xa′=coss*xa+sins*yaxb′=coss*xb+sins*yb

ya′=-sins*xa+coss*yayb′=-sins*xb+coss*yb

xc′=coss*xc+sins*ycxd′=coss*xd+sins*yd

yc′=-sins*xc+coss*ycyd′=-sins*xd+coss*yd

其中,(xa,ya)、(xb,yb)、(xc,yc)及(xd,yd)分别为四个交点的像素坐标;(xa′,ya′)、(xb′,yb′)、(xc′,yc′)及(xd′,yd′)分别为四个交点的修正像素坐标;s为相机滚转角。

步骤205,根据四个交点的修正像素坐标,确定指定消失点的像素坐标。

其中,指定消失点为无相机滚转角的畸变矫正图上四个交点组成的四边形的任意一组非平行对边形成的交点。

步骤206,从相机内参中提取相机的纵向焦距,并从指定消失点的像素坐标中提取指定消失点的纵坐标。

步骤207,基于相机的纵向焦距及指定消失点的纵坐标,计算相机俯仰角。

步骤208,从相机内参中提取相机的横向焦距,并从指定消失点的像素坐标中提取指定消失点的横坐标。

,步骤209,基于相机的横向焦距、指定消失点的横坐标及相机俯仰角,计算相机偏航角。

关于步骤205中的消失点,存在如下四种情况:

(一)、由四个交点组成的四边形中,只有y轴方向的一组对边非平行,也就是说只有y轴方向存在消失点,如图5所示,(p)点为直线a′c'与b′d'的交点,也就是本步骤中的指定消失点,(u0,v0)为(p)点的像素坐标。

针对此种情况,在步骤207中,可以通过如下相机俯仰角计算公式,计算相机俯仰角:

其中:t为相机俯仰角;fy为相机的纵向焦距;v0为指定消失点(p)的纵坐标。

在步骤209中,可以通过如下相机偏航角计算公式,计算相机偏航角:

其中:p为相机偏航角;t为相机俯仰角;fx为相机的横向焦距;u0为指定消失点(p)的横坐标。

(二)、由四个交点组成的四边形中,x周和y轴方向的两组对边均不平行,也就是说在x轴和y轴方向共存在2个消失点,针对此种情况,可以通过上述2个消失点中的任一个的坐标,计算相机俯仰角和偏航角,其中,当通过y轴方向的消失点计算相机俯仰角和偏航角时,可以直接采用上述相机俯仰角计算公式和相机偏航角计算公式;当通过x轴方向的消失点计算相机俯仰角和偏航角时,可以基于消失点法则及坐标系之间的相对位置关系,推导出类似于上述计算公式的计算公式,在此,不再赘述。

(三)、由四个交点组成的四边形中,只有x轴方向的一组对边非平行,也就是说只有x轴方向存在消失点,如图6所示,(p′)点为直线a′c'与b′d′的交点,也就是本步骤中的指定消失点,u1为(p′)点的横坐标,v1为(p′)点的纵坐标。针对此种情况,说明相机俯仰角为0,可以通过下述公式计算相机偏航角:

其中,p为相机偏航角;fx为相机的横向焦距;u1为(p′)点的横坐标。

(四)、由四个交点组成的四边形中,不存在非平行的对边,也就是说不存在消失点,如图7所示,此时,说明相机俯仰角和相机偏航角均为0。

步骤210,获取在场景中,四条直线中的两条指定直线问的距离。

其中,两条指定直线为在畸变矫正图中存在指定消失点的两条直线。

步骤211,基于四个交点的修正像素坐标,计算主点像素坐标系的横轴与两条指定直线相交后的截距。

步骤212,基于四条直线中的两条指定直线间的距离、相机的横向焦距、相机偏航角、截距及相机俯仰角,计算相机安装高度。

本步骤中可以通过如下三角函数关系,计算相机安装高度:

其中:fx为相机的横向焦距;w为四条直线中的两条指定直线间的距离;h为相机安装高度;t为相机俯仰角;p为相机偏航角;δ为主点像素坐标系的横轴与两条指定直线相交后的截距,如图8所示,c点为相机主点,x为主点像素坐标系的横轴,直线a′b′、a′d′、a′c'及b′d′为由场景中预设四条直线的四个交点的修正像素坐标确定的四条直线。

步骤213,获取四条直线在场景中生成的四个交点中的第一交点在世界坐标系中的坐标。

其中,上述第一交点为四个交点中的任一交点。由于相机可安放在环境中的任意位置,在环境中选择一个基准坐标系来描述相机的位置,并用它描述环境中任何物体的位置,该坐标系即为世界坐标系。

步骤214,基于相机安装高度、相机俯仰角及相机偏航角,计算相机在相机局部世界坐标系中的坐标;

相机局部世界坐标系的原点为相机光轴与地面的交点,x轴、y轴及z轴分别与世界坐标系的x轴、y轴及z轴平行,如图9所示,其中,o-xyz为相机局部世界坐标系,ow-xwywzw为世界坐标系。

本步骤中,可以采用如下三角函数关系,计算相机在相机局部世界坐标系中的坐标:

xcam=h*cosp*cott

ycam=h*sinp*cott

zcam=h

其中,(xcam,ycam,zcam)为相机在相机局部世界坐标系中的坐标;h为相机安装高度;t为相机俯仰角;p为相机偏航角。

步骤215,基于第一交点在主点像素坐标系中的坐标、相机滚转角、相机俯仰角、相机偏航角、相机的横向焦距、相机的纵向焦距、相机在相机局部世界坐标系中的坐标、相机主点在像素坐标系中的坐标,计算第一交点在相机局部世界坐标系中的坐标。本步骤中,可以采用如下相机局部世界坐标系与畸变矫正图中的像素坐标系之间的坐标变换关系公式,计算上述指定交点在相机局部世界坐标系中的坐标:

其中:(u,y)为上述第一交点在畸变矫正图像素坐标系中的像素坐标;(xw,yw,0)为上述第一交点在相机局部世界坐标系中的坐标;λ为表征像素坐标系与相机局部世界坐标系间映射缩放比例关系的比例系数;p为相机偏航角;t为相机俯仰角;s为相机滚转角;(cx,cy)为相机主点在畸变矫正图像素坐标系中的像素坐标;fx为相机的横向焦距;fy为相机的纵向焦距;(xw,yw,0)为上述第一交点在相机局部世界坐标系中的坐标。

步骤216,根据第一交点在相机局部世界坐标系中的坐标、第一交点在世界坐标系中的坐标,计算相机局部世界坐标系原点在世界坐标系中的坐标。

本步骤中,可以通过如下坐标变换公式,计算出相机局部世界坐标系原点在世界坐标系中的坐标:

x0=xaw-xw

y0=yaw-yw

z0=0

其中:(xw,yw,0)为第一交点在相机局部世界坐标系中的坐标;(x0,y0,z0)为相机局部世界坐标系原点在世界坐标系中的坐标;(xaw,yaw,0)为第一交点在世界坐标系中的坐标。

步骤217,基于相机局部世界坐标系原点在世界坐标系中的坐标、相机在相机局部世界坐标系中的坐标,计算相机在世界坐标系中的坐标。

然后再根据下述公式,计算出相机在世界坐标系中的坐标,即相机在世界坐标系中的真实安装位置:

xcam=xcam+x0

ycam=ycam+y0

zcam=zcam

其中:(x0,y0,z0)为相机局部世界坐标系原点在世界坐标系中的坐标;(xcam,ycam,zcam)为相机在相机局部世界坐标系中的坐标;(xcam,ycam,zcam)为相机在世界坐标系中的坐标。

可以根据实际需要,按照图4中对应步骤,计算相机滚转角、相机俯仰角、相机偏航角、相机的安装高度以及相机的位置中的部分相机外参,在此不再赘述。

在本发明实施例提供的图4所示的相机外参标定方法中,基于相机内参,对标定图片原图进行畸变矫正,得到畸变矫正图;在畸变矫正图中,获取四条直线形成的四个交点的像素坐标;基于四个交点的像素坐标,通过预设坐标变换策略,标定相机外参。在畸变校正图中获取上述在场景中围成闭合矩形区域的四条直线形成的四个交点的像素坐标,通过预设的坐标变换策略,可以标定出相机外参,而无需通过迭代处理,计算过程稳定,计算耗时短,提高了相机外参标定的速度和标定结果的准确度。

基于同一发明构思,根据本发明上述实施例提供的一种相机外参标定方法,相应地,本发明实施例提供了一种相机外参标定装置,其结构示意图如图10所示,包括:

畸变校正图获取模块301,用于基于相机内参,对标定图片原图进行畸变矫正,得到畸变矫正图,标定图片原图为通过相机对预先设定有四条直线的场景进行拍摄得到的图片,四条直线在场景中围成的闭合区域为矩形;

像素坐标获取模块302,用于在畸变矫正图中,获取四条直线形成的四个交点的像素坐标,四个交点的像素坐标为四个交点在主点像素坐标系中的坐标;

外参标定模块303,基于四个交点的像素坐标,通过预设坐标变换策略,标定相机外参。

进一步的,像素坐标获取模块302,具体用于:

在畸变矫正图中,通过直线拟合的方式,分别获取四条直线在主点像素坐标系中的直线方程;

根据四条直线在主点像素坐标系中的直线方程,计算四条直线形成的四个交点的像素坐标。

进一步的,相机外参包括相机滚转角;

外参标定模块303,具体用于:

基于四个交点的像素坐标,利用矩形区域对边相等性质及主点像素坐标系与相机局部世界坐标系之间的预设映射关系,计算相机滚转角。

进一步的,外参标定模块303,还用于:

对相机滚转角进行修正运算,计算得到四个交点的修正像素坐标,四个交点的修正像素坐标为无相机滚转角的畸变矫正图上四个交点的像素坐标;

根据四个交点的修正像素坐标,确定指定消失点的像素坐标,指定消失点为无相机滚转角的畸变矫正图上四个交点组成的四边形的任意一组非平行对边形成的交点;

从相机内参中提取相机的纵向焦距,并从指定消失点的像素坐标中提取指定消失点的纵坐标;

基于相机的纵向焦距及指定消失点的纵坐标,计算相机俯仰角。

进一步的,外参标定模块303,具体用于:

根据相机滚转角,采用修正计算公式,计算得到四个交点的修正像素坐标,修正计算公式为:

xa′=coss*xa+sins*yaxb′=coss*xb+sins*yb

ya′=-sins*xa+coss*yayb′=-sins*xb+coss*yb

xc′=coss*xc+sins*ycxd′=coss*xd+sins*yd

yc′=-sins*xc+coss*ycyd′=-sins*xd+coss*yd

其中,(xa,ya)、(xb,yb)、(xc,yc)及(xd,yd)分别为四个交点的像素坐标;(xa′,ya′)、(xb′,yb′)、(xc′,yc′)及(xd′,yd′)分别为四个交点的修正像素坐标;s为相机滚转角。

进一步的,外参标定模块303,还用于:

从相机内参中提取相机的横向焦距,并从指定消失点的像素坐标中提取指定消失点的横坐标;

基于指定相机的横向焦距、消失点的横坐标及相机俯仰角,计算相机偏航角。

进一步的,外参标定模块303,还用于:

获取在场景中,四条直线中的两条指定直线间的距离,两条指定直线为在畸变矫正图中存在指定消失点的两条直线;

基于四个交点的修正像素坐标,计算主点像素坐标系的横轴与两条指定直线相交后的截距;

基于四条直线中的两条指定直线间的距离、相机的横向焦距、相机偏航角、截距及相机俯仰角,计算相机安装高度。

进一步的,外参标定模块303,还用于:

获取四条直线在场景中生成的四个交点中的第一交点在世界坐标系下的坐标,第一交点为四个交点中的任一交点;

基于相机安装高度、相机俯仰角及相机偏航角,计算相机在相机局部世界坐标系中的坐标;

基于第一交点在主点像素坐标系中的坐标、相机滚转角、相机俯仰角、相机偏航角、相机的横向焦距、相机的纵向焦距、相机在相机局部世界坐标系中的坐标、相机主点在像素坐标系中的坐标,计算第一交点在相机局部世界坐标系中的坐标;

基于第一交点在世界坐标系中的坐标、第一交点在世界坐标系中的坐标,计算相机局部世界坐标系原点在世界坐标系中的坐标;

基于相机局部世界坐标系原点在世界坐标系中的坐标、相机在相机局部世界坐标系中的坐标,计算相机在世界坐标系中的坐标。

在发明实施例提供的相机外参标定装置中,畸变校正图获取模块301基于相机内参,对标定图片原图进行畸变矫正,得到畸变矫正图;像素坐标获取模块302在畸变矫正图中,获取四条直线形成的四个交点的像素坐标;外参标定模块303基于四个交点的像素坐标,通过预设坐标变换策略,标定相机外参。在畸变校正图中获取上述在场景中围成闭合矩形区域的四条直线形成的四个交点的像素坐标,通过预设的坐标变换策略,可以标定出相机外参,而无需通过迭代处理,计算过程稳定,计算耗时短,提高了相机外参标定的速度和标定结果的准确度。

基于同一发明构思,根据本发明上述实施例提供的相机外参标定方法,相应地,本发明实施例还提供了一种电子设备,如图11所示,包括处理器401和存储器402,其中,

存储器402,用于存放计算机程序;

处理器401,用于执行存储器402上所存放的程序时,实现本发明实施例提供的相机外参标定方法。

例如,可以包括如下步骤:

基于相机内参,对标定图片原图进行畸变矫正,得到畸变矫正图,标定图片原图为通过相机对预先设定有四条直线的场景进行拍摄得到的图片,四条直线在场景中围成的闭合区域为矩形;

在畸变矫正图中,获取四条直线形成的四个交点的像素坐标,四个交点的像素坐标为四个交点在主点像素坐标系中的坐标;

基于四个交点的像素坐标,通过预设坐标变换策略,标定相机外参。

进一步的,还可以包括本发明实施例提供的相机外参标定方法中的其他处理流程,在此不再进行详细描述。存储器可以包括随机存取存储器(英文:randomaccessmemory,简称:ram),也可以包括非易失性存储器(英文:non-volatilememory,简称:nvm),例如至少一个磁盘存储器。进一步的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(英文:centralprocessingunit,简称:cpu)、网络处理器(英文:networkprocessor,简称:np)等;还可以是数字信号处理器(英文:digitalsignalprocessor,简称:dsp)、专用集成电路(英文:applicationspecificintegratedcircuit,简称:asic)、现场可编程门阵列(英文:field-programmablegatearray,简称:fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

上述处理器401和存储器402可以通过地址总线、数据总线、控制总线等通信总线连接,通信总线可以是外设部件互连标准(英文:peripheralcomponentinterconnect,简称:pci)总线或扩展工业标准结构(英文:extendedindustrystandardarchitecture,简称:eisa)总线等。电子设备可以通过通信接口与其他外部设备进行通信。

当然,上述处理器401和存储器402之间、电子设备和其他外部设备之间还可以通过无线模块的无线连接方式进行通信。

本发明实施例提供的电子设备中,其采用的方法为:基于相机内参,对标定图片原图进行畸变矫正,得到畸变矫正图,标定图片原图为通过相机对预先设定有四条直线的场景进行拍摄得到的图片,四条直线在场景中围成的闭合区域为矩形;在畸变矫正图中,获取四条直线形成的四个交点的像素坐标,四个交点的像素坐标为四个交点在主点像素坐标系中的坐标;基于四个交点的像素坐标,通过预设坐标变换策略,标定相机外参。通过上述方法,可以在畸变校正图中获取上述在场景中围成闭合矩形区域的四条直线形成的四个交点的像素坐标,通过预设的坐标变换策略,可以标定出相机外参,而无需通过迭代处理,计算过程稳定,计算耗时短,提高了相机外参标定的速度和标定结果的准确度。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一上述的相机外参标定方法。

本发明实施例提供的计算机可读存储介质中,其采用的方法为:基于相机内参,对标定图片原图进行畸变矫正,得到畸变矫正图,标定图片原图为通过相机对预先设定有四条直线的场景进行拍摄得到的图片,四条直线在场景中围成的闭合区域为矩形;在畸变矫正图中,获取四条直线形成的四个交点的像素坐标,四个交点的像素坐标为四个交点在主点像素坐标系中的坐标;基于四个交点的像素坐标,通过预设坐标变换策略,标定相机外参。通过上述方法,可以在畸变校正图中获取上述在场景中围成闭合矩形区域的四条直线形成的四个交点的像素坐标,通过预设的坐标变换策略,可以标定出相机外参,而无需通过迭代处理,计算过程稳定,计算耗时短,提高了相机外参标定的速度和标定结果的准确度。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备以及存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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