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

一种相机内参标定方法、装置、电子设备及介质

文献发布时间:2023-06-19 18:58:26


一种相机内参标定方法、装置、电子设备及介质

技术领域

本发明主要涉及数据处理领域,特别涉及一种相机内参标定方法、装置、电子设备及介质。

背景技术

车载环视鱼眼摄像头,其广泛应用于全景360°影像、辅助泊车、记忆自动泊车等高级辅助驾驶场景,是低速辅助驾驶领域不可或缺的视觉传感器。摄像头内参标定过程为针对该摄像头建立图像坐标系与三维世界坐标系之间的转换关系,有利于提升机器视觉的识别与测距性能。针对自动驾驶领域的高像素环视摄像头,其特点在于镜头视野广,通常水平视野大于190°,垂直视野大于140°,因此镜头光学畸变大,并且由于不同摄像头之间各项基本参数差异大,如焦距、光轴中心、光学畸变等参数,所以图像检测算法适应不同环视摄像头模组参数存在很大技术困难,不利于物体识别和测距。因此,开发一种准确快速工程化环视内参标定方法是十分必要的。

发明内容

本申请的目的在于提供一种相机内参标定方法、装置、电子设备及介质,有效提升相机内参标定效率的同时,能够提升相机内参标定准确性。

第一方面,本申请提供一种相机内参标定方法,包括:基于相机,获取不同拍摄姿态下拍摄的标定图像;获取标定图像的角点信息,角点信息包括标定图像的若干个角点;根据角点信息获取标定图像的第一平均重投影误差;根据第一平均重投影误差对若干个角点进行异常剔除处理,得到剔除异常角点后的标定图像;获取剔除异常角点后的标定图像的第二平均重投影误差;根据第二平均重投影误差生成相机内参结果,完成对相机的内参标定。

本申请中,先基于相机,获取不同拍摄姿态下拍摄的标定图像;然后获取标定图像的角点信息;接着根据角点信息获取标定图像的第一平均重投影误差;再根据第一平均重投影误差对若干个角点进行异常剔除处理,得到剔除异常角点后的标定图像;然后获取剔除异常角点后的标定图像的第二平均重投影误差;最后根据第二平均重投影误差生成相机内参结果,完成对相机的内参标定。本申请对异常角点进行剔除,最大程度保留有效原始角点数据,提升了算法鲁棒性。

在第一方面的一种实现方式下,根据角点信息获取标定图像的第一平均重投影误差,包括:根据相机以及标定图像建立世界坐标系以及图像坐标系;获取角点在图像坐标系下的第一实际图像坐标以及角点在世界坐标系下的第一三维坐标;根据角点在世界坐标系下的第一三维坐标获取角点对应的理论图像坐标;根据第一实际图像坐标以及第一理论图像坐标获取第一平均重投影误差。

本申请中,能够根据相机以及标定图像获取世界坐标系以及图像坐标系;然后获取角点在图像坐标系下的实际图像坐标,即第一实际图像坐标;同时获取角点在世界坐标系下的三维坐标,即第一三维坐标;再根据角点在世界坐标系下的第一三维坐标获取角点对应的理论图像坐标;接着根据第一实际图像坐标以及第一理论图像坐标获取第一平均重投影误差。第一平均重投影误差越小,表明相机内参越准确,本申请采用重投影误差能够对相机内参进行评估,从而提高相机内参的准确度。

在第一方面的一种实现方式下,根据第一实际图像坐标以及第一理论图像坐标获取第一平均重投影误差,包括:获取第一实际图像坐标与第一理论图像坐标之间的最小二乘平均距离;根据最小二乘平均距离获取第一平均重投影误差目标函数;利用粒子群算法对第一平均重投影误差目标函数进行求解,得到第一平均重投影误差最优值。

本申请中,第一平均重投影误差为第一实际图像坐标与第一理论图像坐标之间的最小二乘平均距离,建立第一平均重投影误差目标函数,第一平均重投影误差目标函数为第一实际图像坐标与第一理论图像坐标之间的最小二乘平均距离达到最小的目标函数,本申请采用粒子群算法对第一平均重投影误差目标函数进行求解,能够得到第一平均重投影误差最优值,同时也能够得到第一平均重投影误差最优值下相应的相机内参。

在第一方面的一种实现方式下,根据第一平均重投影误差对若干个角点进行异常剔除处理,得到剔除异常角点后的标定图像,包括:当第一平均重投影误差大于误差阈值时,剔除标定图像中第一平均重投影误差大于误差阈值的角点,得到剔除异常角点后的标定图像。

本申请中,能够对第一平均重投影误差进行判断,当第一平均重投影误差大于误差阈值时,则将第一平均重投影误差大于误差阈值的角点作为异常角点,将异常角点进行剔除,得到剔除异常角点后的标定图像。本申请采用剔除部分异常角点而非整张图片剔除的方式,最大程度保留原始采样数据,提升了算法鲁棒性。

在第一方面的一种实现方式下,获取剔除异常角点后的标定图像的第二平均重投影误差,包括:获取剔除异常角点后的标定图像对应的角点;获取剔除异常角点后的标定图像对应的角点在图像坐标系下的第二实际图像坐标;获取剔除异常角点后的标定图像对应的角点在世界坐标系下的第二三维坐标;根据第二三维坐标获取剔除异常角点后的标定图像对应的角点的理论图像坐标;根据第二实际图像坐标以及第二理论图像坐标获取第二平均重投影误差。

本申请中,能够先获取剔除异常角点后的标定图像对应的角点在图像坐标系下的实际图像坐标,即第二实际图像坐标;同时获取剔除异常角点后的标定图像对应的角点在世界坐标系下的三维坐标,即第二三维坐标,然后根据第二三维坐标获取剔除异常角点后的标定图像对应的角点的理论图像坐标;再根据第二实际图像坐标以及第二理论图像坐标获取第二平均重投影误差。本申请将标定图像中异常点进行剔除后,能够利用剔除异常角点后的标定图像对应的角点求取重投影误差,即第二平均重投影误差。由于剔除了异常角点,本申请通过第二平均重投影误差得到的相机内参相对于第一平均重投影误差下得到的相机内参更加准确,从而提高了相机内参的准确度。

在第一方面的一种实现方式下,根据第二实际图像坐标以及第二理论图像坐标获取第二平均重投影误差,包括:获取第二实际图像坐标与第二理论图像坐标获取第二平均重投影误差之间的最小二乘平均距离;根据第二实际图像坐标与第二理论图像坐标获取第二平均重投影误差之间的最小二乘平均距离获取第二平均重投影误差目标函数;利用粒子群算法对第二平均重投影误差目标函数进行求解,得到第二平均重投影误差最优值。

本申请中,第二平均重投影误差为第二实际图像坐标与第二理论图像坐标之间的最小二乘平均距离,第二平均重投影误差目标函数为使第二实际图像坐标与第二理论图像坐标之间的最小二乘平均距离达到最小的目标函数,本申请采用粒子群算法对第二平均重投影误差目标函数进行求解,能够得到第二平均重投影误差最优值,同时也能够得到第二平均重投影误差最优值下相应的相机内参。

在第一方面的一种实现方式下,基于相机,获取不同拍摄姿态下拍摄的标定图像,包括:获取不同拍摄姿态下的标定板;利用相机对不同拍摄姿态下的标定板分别进行拍摄,得到若干个标定图像。

本申请中,能够先获取标定板,标定图像的获取需要使用标定板在不同位置、不同角度、不同姿态下进行拍摄,即拍摄得到的标定图像需要包含完整标定板,同时需要相机与标定板之间处于不同距离不同方位或不同倾斜角度。本申请通过不同拍摄姿态下拍摄若干标定图像,然后根据标定图像对相机内参进行标定,提高了相机内参的准确度。

第二方面,本申请提供了相机内参标定装置,装置包括:图像获取模块,用于基于相机,获取不同拍摄姿态下拍摄的标定图像;角点信息获取模块,用于获取标定图像的角点信息,角点信息包括标定图像的若干个角点;第一误差获取模块,用于根据角点信息获取标定图像的第一平均重投影误差;异常角点剔除模块,用于根据第一平均重投影误差对若干个角点进行异常剔除处理,得到剔除异常角点后的标定图像;第二误差获取模块,用于获取剔除异常角点后的标定图像的第二平均重投影误差;内参生成模块,用于根据第二平均重投影误差生成相机内参结果,完成对相机的内参标定。

第三方面,本申请提供一种电子设备,包括:存储器,存储器存储有多条指令;处理器,处理器从存储器中加载指令,以执行如本申请实施例所提供的任一项相机内参标定方法中的步骤。

第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被相机内参标定设备执行时实现本申请实施例所提供的任一项相机内参标定方法中的步骤。

本申请不仅能够有效解决环视广角摄像头的内参标定过程中边角区域畸变拟合结果不准确的问题。还通过改进后的粒子群算法能够避免计算最后畸变系数时不能搜索到全局最优解,从而导致边角区域重投影误差大,超出设定阈值的问题。另外,本申请又基于单张图片重投影误差过大情况,通过基于局部剔除异常角点的方式有效保证更多的合理角点数据参与计算,从而扩大角点覆盖范围,提升内参标定结果准确性,本申请由于采用部分剔除异常角点策略,降低了内参标定算法对于图片质量的敏感度,提升整体鲁棒性,提升生产线的标定效率。

附图说明

图1a为本申请一实施例的相机内参标定方法的应用场景示意图。

图1b为本申请一实施例的相机的摄像头内部硬件连接示意图。

图2a为本申请一实施例的相机内参标定方法的流程示意图。

图2b为本申请一实施例的黑白正方形棋盘格示意图。

图2c为本申请一实施例的不同拍摄姿态下的标定图像示意图。

图2d为本申请一实施例的对相机内参进行优化的流程示意图。

图2e为本申请一实施例的进行产线工程化相机内参标定的操作流程示意图。

图3为本申请一实施例的相机内参标定装置的结构示意图。

图4为本申请一实施例的电子设备的结构示意图。

具体实施方式

以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,遂图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定(或摄像机标定)。无论是在图像测量或者机器视觉应用中,相机参数的标定都是非常关键的环节,其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性。因此,做好相机标定是做好后续工作的前提,提高标定精度是图像测量过程以及机器视觉应用工作中的重点所在。

本申请以下实施例提供了一种相机内参标定方法、装置、电子设备及介质,其中,该相机内参标定装置具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、或者个人电脑(PersonalComputer,PC)等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。

在一些实施例中,该相机内参标定装置还可以集成在多个电子设备中,例如,相机内参标定装置可以集成在多个服务器中,由多个服务器来实现本申请的相机内参标定方法。

在一些实施例中,服务器也可以以终端的形式来实现。

例如,参考图1a,该相机内参标定装置可以包括工作台10、标定板、服务器13等,工作台可以包括操作台、相机和存储终端等,相机可以为环视鱼眼相机等,相机用于拍摄人脸图像,存储终端可以用于存储标定图像,操作台用于操作图像传感器在不同拍摄姿态下对标定板进行拍摄。标定板可以包括远焦大图卡11和近焦小图卡12,相机、存储终端、服务器13之间相互通信连接,在此不再赘述。

图1b为集成ISP(ImageSignalProcessing)式摄像头产品的硬件系统框图,相机的摄像头即镜头内部硬件可以包括:图像传感器、寄存器存储芯片、串行器芯片、集中管理电源芯片、晶振1、晶振2、直流/交流集成芯片以及连接器等主要器件。其中,图像传感器和寄存器存储芯片之间进行IIC通讯连接,晶振1与图像传感器进行连接,图像传感器还分别和串行器芯片以及集中管理电源芯片连接,直流/交流集成芯片分别与集中管理电源芯片以及连接器进行连接,并且将视频流输入串行器芯片。

相机的摄像头结构方面,为了满足适配多种车型的集成安装,因此外型尺寸尽量小型化。环视摄像头结构可以包含镜头、粘接胶、前壳、PCB板、密封圈、后盖、连接器、锁付螺丝等部件。

另外,服务器13可以包括处理器和存储器等。服务器13可以基于相机,获取不同拍摄姿态下拍摄的标定图像;获取标定图像的角点信息,角点信息包括标定图像的若干个角点;根据角点信息获取标定图像的第一平均重投影误差;根据第一平均重投影误差对若干个角点进行异常剔除处理,得到剔除异常角点后的标定图像;获取剔除异常角点后的标定图像的第二平均重投影误差;根据第二平均重投影误差生成相机内参结果,完成对相机的内参标定等。

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行详细描述。

如图2a所示,以服务器13为执行主体,本实施例提供一种相机内参标定方法,包括步骤S210至步骤S260,如下:

S210、服务器13基于相机,获取不同拍摄姿态下拍摄的标定图像。

本实施例中,标定图像可以为具有标识参考物的图像。标识参考物可以为标定板,标定板可采用黑白正方形棋盘格。在其他实施例中,标定板还可以采用原点矩阵、二维码图案或者直线条等,在此不再赘述。

在一实施例中,基于相机,获取不同拍摄姿态下拍摄的标定图像,包括:获取不同拍摄姿态下的标定板;利用相机对不同拍摄姿态下的标定板分别进行拍摄,得到若干个标定图像。

本实施例的标定板可采用黑白正方形棋盘格,黑白棋盘格由于其稳定性高、容易识别等优势,图2b为内角点数量为22×11的黑白正方形棋盘格。本实施例可以用显示屏取代传统图卡结构,亮度均匀性好,并且平整度远高于贴纸图卡。不同图卡可通过软件一键切换,省去繁琐的机械换型动作。

本实施例中,可以先获取标定板,标定图像的获取需要使用标定板在不同位置、不同角度、不同姿态下进行拍摄,即拍摄得到的标定图像需要包含完整标定板,同时需要相机与标定板之间处于不同距离不同方位或不同倾斜角度。如图2c所示,本申请通过不同拍摄姿态下拍摄若干标定图像,然后根据标定图像对相机内参进行标定,提高了相机内参的准确度。

本实施例中,还可以对标定图像进行预处理,例如进行灰度处理,从而提升图片的对比度,本实施例还可以进行白平衡、滤波等处理,得到预处理后的标定图像。本实施例通过对标定图像进行预处理,能够提升相机内参标定的精度。

本实施例中,相机的参数可以包括内参、外参和畸变参数,其中,内参为相机自身的属性参数,内参可以包括焦距f、使用像素来描述x轴方向焦距的长度fx、使用像素来描述y轴方向焦距的长度fy、相对于成像平面的主点坐标(u0,v0)等等。相机外参可以包括旋转参数以及平移参数等。畸变参数可以包括3个径向畸变参以及2个切向畸变参等。

S220、服务器13获取标定图像的角点信息。

本实施例中,角点信息包括标定图像的若干个角点。本实施例中的角点是标定板上的内角点,这些内角点与标定板的边缘不接触。

S230、服务器13根据角点信息获取标定图像的第一平均重投影误差。

重投影误差为真实三维空间点在图像平面上的投影(也就是图像上的像素点)和重投影(计算值得到的虚拟的像素点)的差值。

本实施例中,平均重投影误差为世界坐标系下每个角点映射到二维图像坐标系的角点坐标理论位置与计算位置之间的最小二乘平均距离。

在一实施例中,根据角点信息获取标定图像的第一平均重投影误差,包括:根据相机以及标定图像建立世界坐标系以及图像坐标系;获取角点在图像坐标系下的第一实际图像坐标以及角点在世界坐标系下的第一三维坐标;根据角点在世界坐标系下的第一三维坐标获取角点对应的第一理论图像坐标;根据第一实际图像坐标以及第一理论图像坐标获取第一平均重投影误差。

在涉及计算机视觉的许多领域都离不开世界坐标系、相机坐标系、图像坐标系以及像素坐标系,其中,世界坐标系是三维真实世界里用以描述相机位置所建立的坐标系;相机坐标系是以光心为原点所建立的坐标系;图像坐标系是以光心为图像中点所建立的坐标系;像素坐标系是以图像左上角为原点所建立的坐标系。

本实施例中,能够根据相机以及标定图像获取世界坐标系以及图像坐标系;然后获取角点在图像坐标系下的实际图像坐标,即第一实际图像坐标;同时获取角点在世界坐标系下的三维坐标,即第一三维坐标;再根据角点在世界坐标系下的第一三维坐标获取角点对应的第一理论图像坐标;接着根据第一实际图像坐标以及第一理论图像坐标获取第一平均重投影误差。第一平均重投影误差越小,表明相机内参越准确,本申请采用重投影误差能够对相机内参进行评估,从而提高相机内参的准确度。

在一实施例中,根据第一实际图像坐标以及第一理论图像坐标获取第一平均重投影误差,包括:获取第一实际图像坐标与第一理论图像坐标之间的最小二乘平均距离;根据最小二乘平均距离获取第一平均重投影误差目标函数;利用粒子群算法对第一平均重投影误差目标函数进行求解,得到第一平均重投影误差最优值。

本实施例中,第一平均重投影误差为第一实际图像坐标与第一理论图像坐标之间的最小二乘平均距离,建立第一平均重投影误差目标函数,第一平均重投影误差目标函数为第一实际图像坐标与第一理论图像坐标之间的最小二乘平均距离达到最小的目标函数,本申请采用粒子群算法对第一平均重投影误差目标函数进行求解,能够得到第一平均重投影误差最优值,同时也能够得到第一平均重投影误差最优值下相应的相机内参。

S240、服务器13根据第一平均重投影误差对若干个角点进行异常剔除处理,得到剔除异常角点后的标定图像。

在一实施例中,根据第一平均重投影误差对若干个角点进行异常剔除处理,得到剔除异常角点后的标定图像,包括:当第一平均重投影误差大于误差阈值时,剔除标定图像中第一平均重投影误差大于误差阈值的角点,得到剔除异常角点后的标定图像。

本实施例中,能够对第一平均重投影误差进行判断,当第一平均重投影误差大于误差阈值时,则将第一平均重投影误差大于误差阈值的角点作为异常角点,将异常角点进行剔除,得到剔除异常角点后的标定图像。本申请采用剔除部分异常角点而非整张图片剔除的方式,最大程度保留原始采样数据,提升了算法鲁棒性。

S250、服务器13获取剔除异常角点后的标定图像的第二平均重投影误差。

在一实施例中,获取剔除异常角点后的标定图像的第二平均重投影误差,包括:获取剔除异常角点后的标定图像对应的角点;获取剔除异常角点后的标定图像对应的角点在图像坐标系下的第二实际图像坐标;获取剔除异常角点后的标定图像对应的角点在世界坐标系下的第二三维坐标;根据第二三维坐标获取剔除异常角点后的标定图像对应的角点的第二理论图像坐标;根据第二实际图像坐标以及第二理论图像坐标获取第二平均重投影误差。

本实施例中,能够先获取剔除异常角点后的标定图像对应的角点在图像坐标系下的实际图像坐标,即第二实际图像坐标;同时获取剔除异常角点后的标定图像对应的角点在世界坐标系下的三维坐标,即第二三维坐标,然后根据第二三维坐标获取剔除异常角点后的标定图像对应的角点的第二理论图像坐标;再根据第二实际图像坐标以及第二理论图像坐标获取第二平均重投影误差。本申请将标定图像中异常点进行剔除后,能够利用剔除异常角点后的标定图像对应的角点求取重投影误差,即第二平均重投影误差。由于剔除了异常角点,本申请通过第二平均重投影误差得到的相机内参相对于第一平均重投影误差下得到的相机内参更加准确,从而提高了相机内参的准确度。

在一实施例中,根据第二实际图像坐标以及第二理论图像坐标获取第二平均重投影误差,包括:获取第二实际图像坐标与第二理论图像坐标获取第二平均重投影误差之间的最小二乘平均距离;根据第二实际图像坐标与第二理论图像坐标获取第二平均重投影误差之间的最小二乘平均距离获取第二平均重投影误差目标函数;利用粒子群算法对第二平均重投影误差目标函数进行求解,得到第二平均重投影误差最优值。

本实施例中,第二平均重投影误差为第二实际图像坐标与第二理论图像坐标之间的最小二乘平均距离,第二平均重投影误差目标函数为使第二实际图像坐标与第二理论图像坐标之间的最小二乘平均距离达到最小的目标函数,本申请采用粒子群算法对第二平均重投影误差目标函数进行求解,能够得到第二平均重投影误差最优值,同时也能够得到第二平均重投影误差最优值下相应的相机内参。

S260、服务器13根据第二平均重投影误差生成相机内参结果,完成对相机的内参标定。

本实施例中,先基于相机,获取不同拍摄姿态下拍摄的标定图像;然后获取标定图像的角点信息;接着根据角点信息获取标定图像的第一平均重投影误差;再根据第一平均重投影误差对若干个角点进行异常剔除处理,得到剔除异常角点后的标定图像;然后获取剔除异常角点后的标定图像的第二平均重投影误差;最后根据第二平均重投影误差生成相机内参结果,完成对相机的内参标定。本申请对异常角点进行剔除,最大程度保留有效原始角点数据,提升了算法鲁棒性。

本发明关于相机内参优化过程采用了双层嵌套迭代优化,即首先循环迭代粒子群算法寻求内参结果的全局最优解;然后结合全局最优结果反算每张标定图像的平均重投影误差,若某张标定图像的平均重投影误差大于设定的误差阈值,则剔除此张图片中误差较大的异常角点,将剩余合格角点重新带入迭代粒子群计算,直至符合两层循环的推出条件,完成最终内参标定运算。

如图2d所示,本发明采用改进的粒子群算法,通过双层嵌套迭代优化对相机内参进行优化的过程包括:

步骤d01,随机生成初始粒子。随机生成任意个粒子,每个粒子具有初始位置和速度信息。分别设置所有初始粒子在迭代算法中使用的参数,如惯性方向、局部和全局学习率等,同时设置最大迭代次数。

步骤d02,设置相机内参初始值。根据摄像头镜头的理论光学设计值设定初始内参数值,如根据小孔等距畸变模型设定初始内参数值。内参初始值有焦距、畸变中心点、轴向畸变系数等。

步骤d03,确立目标函数。即优化目标是计算迭代后带入相机内参数值计算的世界坐标系下每个角点映射到二维图像坐标系下的角点坐标理论位置和计算位置之间的最小二乘平均距离,即为平均重投影误差。该值越小一定程度上说明相机内参越准确。

步骤d04,更新惯性参数和学习率。为防止迭代过程陷入局部最优,对惯性参数、全局和局部学习率进行动态调整。其中惯性参数因子采用非线性的自适应调整策略,对局部和全学习率三角函数变化调整策略。

步骤d05,评估粒子计算结果。实时更新历史最好状态的结果,以目标函数为判断依据,在全局范围内将每种粒子的结果值与过往历史最佳结果进行比对,若此次结果更优,则将此粒子计算结果更新为新的历史最好结果,若此次结果没有更优,则抛弃此粒子的结果。

步骤d06,评估目标函数是否进入局部最优。判断当前迭代目标函数是否小范围停滞,若是,则目标函数可能陷入局部最优阶段,进入步骤d07;若否。进入步骤d08,结束粒子群迭代。

步骤d07,触发粒子驱散机制。通过采取主动触发驱散机制强制扩大当前粒子群在更大空间内的搜索,主动跳出局部最优,并在限定的新范围内重新布置粒子群位置。

步骤d08,重复步骤d05至步骤d07,直到最大迭代次数或者达到预设的适应度值,结束迭代。

步骤d09,计算单张标定图像的平均重投影误差,并判断是否超出误差阈值。若超出误差阈值,剔除异常角点后,将剔除异常角点的标定图像代入步骤d04至d08,重新计算平均重投影误差。若未超出误差阈值,则生成相机内参结果。

本申请不仅能够有效解决环视广角摄像头的内参标定过程中边角区域畸变拟合结果不准确的问题。还通过改进后的粒子群算法能够避免计算最后畸变系数时不能搜索到全局最优解,从而导致边角区域重投影误差大,超出设定阈值的问题。另外,本申请又基于单张图片重投影误差过大情况,通过基于局部剔除异常角点的方式有效保证更多的合理角点数据参与计算,从而扩大角点覆盖范围,提升内参标定结果准确性,本申请由于采用部分剔除异常角点策略,降低了内参标定算法对于图片质量的敏感度,提升整体鲁棒性,提升生产线的标定效率。

具体地,如图2e所示,在工作台10上进行产线工程化相机内参标定的操作过程可包括:

步骤e01,基于工作台10,将相机放置到专用固定夹具中,保证摄像头在运动过程中稳定,不会拍摄图像的拖影。

步骤e02,服务器13控制工作台10的机械手臂夹持摄像头移动到合适的拍摄距离,保证画面清晰,要求摄像头光心轴对准图卡中心区域。

步骤e03,服务器13控制机械手臂夹持摄像头,每移动到一种姿态拍摄一张图卡对应的图片,使得图卡角点在所有成像图片中覆盖画面的不同位置,全面图片的总覆盖范围要求尽可能多。

步骤e04,服务器13对每张图片进行预处理,预处理包括灰度处理,从而提升图片的对比度,并进行内角点识别和提取。

步骤e05,服务器13计算每张图片内所有内角点的平均重投影误差。

步骤e06,服务器13进行误差阈值判定,若存在某张或者某几张图片的内角点的平均重投影误差超过误差阈值,则识别图片中的所有异常角点,并剔除异常点(非剔除整张图片所有角点),并重复步骤e05,直到完成所有图片的内参标定运算。

步骤e07,服务器13综合判断摄像头的内参结果是否满足设定的合格阈值,若满足合格阈值,则将该相机判定为合格品。若不满足合格阈值,则将该相机判定为不合格品。

步骤e08,服务器13控制机械手臂带动夹具返回初始位置。

步骤e09,取下标定完成摄像头,重复步骤e01,重新放入新的待测摄像头。

现有车载环视摄像头的批量生产的内参标定方法存在角点覆盖范围不足,主要体现在难以使图卡覆盖外视场部分区域,尤其针对摄像头水平FOV大于175度以上的视场区域。若强制将图卡移动至会边角位置,则此张图片的平均重投影误差会迅速升高,从而导致此张图片被剔除计算,造成此部分区域角点缺失的问题。或者即便放松平均重投影误差合格阈值,允许参与此图片计算,也最终会导致视场区域范围的畸变曲率拟合失真,影响最终内参结果准确性。本发明针对现有标定方法将图卡角点放置在边缘外视场导致平均重投影误差极具变大,导致单张图片被剔除参与计算,从而造成角点覆盖范围不足的问题,本发明基于一种改进粒子群算法,避免内参优化计算过程陷入局部最优,从而不能获得全局最优的问题,成功解决了图卡在边角大视场区域的平均重投影误差容易超出阈值问题。

另外,现有标定方法通常拍摄多张图片,每张图卡位置覆盖不同区域,单独计算提条最优畸变拟合曲线(通常采用高次多项式表示),使得去畸变矫正后每个角点在拟合曲线的平均重投影误差最小。图片拍摄过程中不可避免会遇到拍摄画面局部过曝、过暗,图卡反光以及镜头脏污等问题。如果某张图片计算平均重投影误差超出阈值,则整张图片将被剔除,不参与摄像头内参标定计算,从而导致有效角点覆盖区域减少,造成拍摄角点数据浪费甚至结果准确性降低。本发明针对现有技术的不足,采用仅剔除部分异常角点,而非整张图片剔除的方式,最大程度保留原始采样数据。本申请由于采用部分剔除异常角点策略,降低了内参标定算法对于图片质量的敏感度,提升整体鲁棒性,提升生产线的标定效率。

本申请实施例的相机内参标定方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本申请的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本申请的保护范围内。

本申请实施例还提供一种相机内参标定装置,相机内参标定装置可以实现本申请的相机内参标定方法,但本申请的相机内参标定方法的实现装置包括但不限于本实施例列举的相机内参标定装置的结构,凡是根据本申请的原理所做的现有技术的结构变形和替换,都包括在本申请的保护范围内。

如图3所示,本申请提供一种相机内参标定装置,所述装置包括图像获取模块310、角点信息获取模块320、第一误差获取模块330、异常角点剔除模块340、第二误差获取模块350以及内参生成模块360。所述图像获取模块310,用于基于相机,获取不同拍摄姿态下拍摄的标定图像;角点信息获取模块320,用于获取标定图像的角点信息,角点信息包括标定图像的若干个角点;第一误差获取模块330,用于根据角点信息获取标定图像的第一平均重投影误差;异常角点剔除模块340,用于根据第一平均重投影误差对若干个角点进行异常剔除处理,得到剔除异常角点后的标定图像;第二误差获取模块350,用于获取剔除异常角点后的标定图像的第二平均重投影误差;内参生成模块360,用于根据第二平均重投影误差生成相机内参结果,完成对相机的内参标定。

本实施例中,先基于相机,获取不同拍摄姿态下拍摄的标定图像;然后获取标定图像的角点信息;接着根据角点信息获取标定图像的第一平均重投影误差;再根据第一平均重投影误差对若干个角点进行异常剔除处理,得到剔除异常角点后的标定图像;然后获取剔除异常角点后的标定图像的第二平均重投影误差;最后根据第二平均重投影误差生成相机内参结果,完成对相机的内参标定。本申请对异常角点进行剔除,最大程度保留有效原始角点数据,提升了算法鲁棒性。

在一实施例中,第一误差获取模块330包括第一误差获取子模块,第一误差获取子模块被配置于:根据相机以及标定图像建立世界坐标系以及图像坐标系;获取角点在图像坐标系下的第一实际图像坐标以及角点在世界坐标系下的第一三维坐标;根据角点在世界坐标系下的第一三维坐标获取角点对应的第一理论图像坐标;根据第一实际图像坐标以及第一理论图像坐标获取第一平均重投影误差。

本实施例中,能够根据相机以及标定图像获取世界坐标系以及图像坐标系;然后获取角点在图像坐标系下的实际图像坐标,即第一实际图像坐标;同时获取角点在世界坐标系下的三维坐标,即第一三维坐标;再根据角点在世界坐标系下的第一三维坐标获取角点对应的第一理论图像坐标;接着根据第一实际图像坐标以及第一理论图像坐标获取第一平均重投影误差。第一平均重投影误差越小,表明相机内参越准确,本申请采用重投影误差能够对相机内参进行评估,从而提高相机内参的准确度。

在一实施例中,第一误差获取子模块包括第一误差求解模块,第一误差求解模块被配置于:获取第一实际图像坐标与第一理论图像坐标之间的最小二乘平均距离;根据最小二乘平均距离获取第一平均重投影误差目标函数;利用粒子群算法对第一平均重投影误差目标函数进行求解,得到第一平均重投影误差最优值。

本实施例中,第一平均重投影误差为第一实际图像坐标与第一理论图像坐标之间的最小二乘平均距离,建立第一平均重投影误差目标函数,第一平均重投影误差目标函数为第一实际图像坐标与第一理论图像坐标之间的最小二乘平均距离达到最小的目标函数,本申请采用粒子群算法对第一平均重投影误差目标函数进行求解,能够得到第一平均重投影误差最优值,同时也能够得到第一平均重投影误差最优值下相应的相机内参。

在一实施例中,异常角点剔除模块340包括异常判别模块,异常判别模块被配置于:当第一平均重投影误差大于误差阈值时,剔除标定图像中第一平均重投影误差大于误差阈值的角点,得到剔除异常角点后的标定图像。

本实施例中,能够对第一平均重投影误差进行判断,当第一平均重投影误差大于误差阈值时,则将第一平均重投影误差大于误差阈值的角点作为异常角点,将异常角点进行剔除,得到剔除异常角点后的标定图像。本申请采用剔除部分异常角点而非整张图片剔除的方式,最大程度保留原始采样数据,提升了算法鲁棒性。

在一实施例中,第二误差获取模块350包括第二误差获取子模块,第二误差获取子模块被配置于:获取剔除异常角点后的标定图像对应的角点;获取剔除异常角点后的标定图像对应的角点在图像坐标系下的第二实际图像坐标;获取剔除异常角点后的标定图像对应的角点在世界坐标系下的第二三维坐标;根据第二三维坐标获取剔除异常角点后的标定图像对应的角点的第二理论图像坐标;根据第二实际图像坐标以及第二理论图像坐标获取第二平均重投影误差。

本实施例中,能够先获取剔除异常角点后的标定图像对应的角点在图像坐标系下的实际图像坐标,即第二实际图像坐标;同时获取剔除异常角点后的标定图像对应的角点在世界坐标系下的三维坐标,即第二三维坐标,然后根据第二三维坐标获取剔除异常角点后的标定图像对应的角点的理论图像坐标;再根据第二实际图像坐标以及第二理论图像坐标获取第二平均重投影误差。本申请将标定图像中异常点进行剔除后,能够利用剔除异常角点后的标定图像对应的角点求取重投影误差,即第二平均重投影误差。由于剔除了异常角点,本申请通过第二平均重投影误差得到的相机内参相对于第一平均重投影误差下得到的相机内参更加准确,从而提高了相机内参的准确度。

在一实施例中,第二误差获取子模块包括第二误差求解模块,第二误差求解模块被配置于:获取第二实际图像坐标与第二理论图像坐标获取第二平均重投影误差之间的最小二乘平均距离;根据第二实际图像坐标与第二理论图像坐标获取第二平均重投影误差之间的最小二乘平均距离获取第二平均重投影误差目标函数;利用粒子群算法对第二平均重投影误差目标函数进行求解,得到第二平均重投影误差最优值。

本实施例中,第二平均重投影误差为第二实际图像坐标与第二理论图像坐标之间的最小二乘平均距离,第二平均重投影误差目标函数为使第二实际图像坐标与第二理论图像坐标之间的最小二乘平均距离达到最小的目标函数,本申请采用粒子群算法对第二平均重投影误差目标函数进行求解,能够得到第二平均重投影误差最优值,同时也能够得到第二平均重投影误差最优值下相应的相机内参。

在一实施例中,图像获取模块310包括图像获取子模块,图像获取子模块被配置于:获取不同拍摄姿态下的标定板;利用相机对不同拍摄姿态下的标定板分别进行拍摄,得到若干个标定图像。

本实施例中,能够先获取标定板,标定图像的获取需要使用标定板在不同位置、不同角度、不同姿态下进行拍摄,即拍摄得到的标定图像需要包含完整标定板,同时需要相机与标定板之间处于不同距离不同方位或不同倾斜角度。本申请通过不同拍摄姿态下拍摄若干标定图像,然后根据标定图像对相机内参进行标定,提高了相机内参的准确度。

具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块的具体实施可参见前面的方法实施例,在此不再赘述。

由上可知,本申请提供的相机内参标定装置不仅能够有效解决环视广角摄像头的内参标定过程中边角区域畸变拟合结果不准确的问题。还通过改进后的粒子群算法能够避免计算最后畸变系数时不能搜索到全局最优解,从而导致边角区域重投影误差大,超出设定阈值的问题。另外,本申请又基于单张图片重投影误差过大情况,通过基于局部剔除异常角点的方式有效保证更多的合理角点数据参与计算,从而扩大角点覆盖范围,提升内参标定结果准确性,本申请由于采用部分剔除异常角点策略,降低了内参标定算法对于图片质量的敏感度,提升整体鲁棒性,提升生产线的标定效率。

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

作为分离部件说明的模块/单元可以是或者也可以不是物理上分开的,作为模块/单元显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块/单元来实现本申请实施例的目的。例如,在本申请各个实施例中的各功能模块/单元可以集成在一个处理模块中,也可以是各个模块/单元单独物理存在,也可以两个或两个以上模块/单元集成在一个模块/单元中。

本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本申请实施例还提供一种电子设备,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑,等等;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,等等。

在一些实施例中,本申请提供的相机内参标定装置还可以集成在多个电子设备中,例如,相机内参标定装置可以集成在多个服务器中,由多个服务器来实现本申请的相机内参标定方法。或者,相机内参标定装置可以集成在多个服务器中,由多个服务器来实现本申请的相机内参标定方法。

在本实施例中,将以本实施例的电子设备是服务器为例进行详细描述,例如,如图4所示,其示出了本申请实施例所涉及的服务器的结构示意图,具体来讲:

该服务器可以包括一个或者一个以上处理核心的处理器410、一个或一个以上计算机可读存储介质的存储器420、电源430、输入模块440以及通信模块450等部件。本领域技术人员可以理解,图4中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

处理器410是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器420内的软件程序和/或模块,以及调用存储在存储器420内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。在一些实施例中,处理器410可包括一个或多个处理核心;在一些实施例中,处理器410可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器410中。

存储器420可用于存储软件程序以及模块,处理器410通过运行存储在存储器420的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(例如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器420还可以包括存储器控制器,以提供处理器410对存储器420的访问。

服务器还包括给各个部件供电的电源430,在一些实施例中,电源430可以通过电源管理系统与处理器410逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源430还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

该服务器还可包括输入模块440,该输入模块440可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

该服务器还可包括通信模块450,在一些实施例中通信模块450可以包括无线模块,服务器可以通过该通信模块450的无线模块进行短距离无线传输,从而为用户提供了无线的宽带互联网访问。例如,该通信模块450可以用于帮助用户收发电子邮件、浏览网页和访问流式媒体等。

尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器410会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器420中,并由处理器410来运行存储在存储器420中的应用程序,从而实现相机内参标定装置的各种功能。

本实施例的服务器可以基于相机,获取不同拍摄姿态下拍摄的标定图像;获取所述标定图像的角点信息,所述角点信息包括所述标定图像的若干个角点;根据所述角点信息获取所述标定图像的第一平均重投影误差;根据所述第一平均重投影误差对所述若干个角点进行异常剔除处理,得到剔除异常角点后的标定图像;获取所述剔除异常角点后的标定图像的第二平均重投影误差;根据所述第二平均重投影误差生成相机内参结果,完成对所述相机的内参标定等。

在一些实施例中,本申请还提供了一种计算机可读存储介质。本领域普通技术人员可以理解实现上述实施例的方法中的全部或部分步骤是可以通过程序来指令处理器完成,的程序可以存储于计算机可读存储介质中,存储介质是非短暂性(non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(magnetictape),软盘(floppydisk),光盘(opticaldisc)及其任意组合。上述存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digitalvideodisc,DVD))、或者半导体介质(例如固态硬盘(solidstate disk,SSD))等。

本申请实施例还可以提供一种计算机程序产品,计算机程序产品包括一个或多个计算机指令。在计算设备上加载和执行计算机指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机或数据中心进行传输。

计算机程序产品被计算机执行时,计算机执行前述方法实施例的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述方法的情况下,可以下载该计算机程序产品并在计算机上执行该计算机程序产品。

上述各个附图对应的流程或结构的描述各有侧重,某个流程或结构中没有详述的部分,可以参见其他流程或结构的相关描述。

上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。

技术分类

06120115758757