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

相机标定方法、装置、设备、存储介质和程序产品

文献发布时间:2023-06-19 11:29:13


相机标定方法、装置、设备、存储介质和程序产品

技术领域

本公开涉及人工智能技术领域,尤其涉及智能交通技术领域。

背景技术

在相机应用场景中相机标定是一个重要的环节,其中,相机标定往往是指确定相机的参数信息,而一些相机包括内参信息和外参信息,例如:鱼眼相机的参数标定包括内参信息和外参信息的标定。目前对于相机的内参信息和外参信息主要通过两个独立的流程分别实现内参信息和外参信息标定。

发明内容

本公开提供了一种相机标定方法、装置、设备、存储介质和程序产品。

根据本公开的一方面,提供了一种相机标定方法,包括:

利用高精地图或实时动态(Real-time kinematic,RTK)设备获取多个标志角点的三维坐标数据;

获取所述多个标志角点在图像中的二维坐标数据,其中,所述图像为相机采集的图像;

基于所述多个标志角点的三维坐标数据和二维坐标数据以及预设的内外参数耦合模型,确定所述相机的内参信息和外参信息,其中,所述内外参数耦合模型是将所述相机的所述内参信息和所述外参信息进行耦合的模型。

根据本公开的另一方面,提供了一种参数信息确定装置,包括:

第一获取模块,用于利用高精地图或RTK设备获取多个标志角点的三维坐标数据;

第二获取模块,用于获取所述多个标志角点在图像中的二维坐标数据,其中,所述图像为相机采集的图像;

确定模块,用于基于所述多个标志角点的三维坐标数据和二维坐标数据以及预设的内外参数耦合模型,确定所述相机的内参信息和外参信息,其中,所述内外参数耦合模型是将所述相机的所述内参信息和所述外参信息进行耦合的模型。

根据本公开的另一方面,提供了一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开提供的相机标定方法。

根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本公开提供的相机标定方法。

根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开提供的相机标定方法。

本公开中,通过上述三维坐标数据和二维坐标数据以及预设的内外参数耦合模型可以通过一次过程获取内参信息和外参信息,从而提高相机的内参信息和外参信息标定的效率。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本公开的限定。其中:

图1是本公开提供的一种相机标定方法的流程图;

图2是本公开提供的一种相机标定装置的结构图;

图3是用来实现本公开实施例的相机标定方法的电子设备的框图。

具体实施方式

以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

请参见图1,图1是本公开提供的一种相机标定方法的流程图,如图1所示,包括以下步骤:

步骤S101、利用高精地图RTK设备获取多个标志角点的三维坐标数据。

其中,上述利用高精地图获取多个标志角点的三维坐标数据可以是,获取上述多个标志角点在上述高清地图中记录的三维坐标数据。上述利用RTK设备获取多个标志角点的三维坐标数据可以是,利用RTK设备对多个标志角点进行实时采集,从而通过采集到的RTK设备数据可以确定多个标志角点的三维坐标数据。上述三维坐标数据可以是上述多个标志角点在世界坐标系下的三维坐标数据。

上述多个标志角点可以是预先设置的在道路上的多个标志角点,例如:某道路上的指示标志的角点,或者道路上车道标志的角点。

步骤S102、获取所述多个标志角点在图像中的二维坐标数据,其中,所述图像为相机采集的图像。

上述获取所述多个标志角点在图像中的二维坐标数据可以是,获取上述多个标志角点在上述图像的图像坐标系下的二维坐标数据。

本公开中,上述相机可以是鱼眼相机,对此本公开不作限定,例如:还可以是枪式相机。进一步的,上述相机可以是安装在户外的相机,例如:安装在路侧的相机。

步骤S103、基于所述多个标志角点的三维坐标数据和二维坐标数据以及预设的内外参数耦合模型,确定所述相机的内参信息和外参信息,其中,所述内外参数耦合模型是将所述相机的所述内参信息和所述外参信息进行耦合的模型。

其中,上述内外参数耦合模型可以是预设的用于将相机的所述内参信息和所述外参信息进行耦合的模型。上述内外参数耦合模型可以表示任何坐标点的二维坐标数据、三维坐标数据、内参信息和外参信息之间的关系。且可以适用于不同款式、不同型号的相机的内参信息和外参信息的标定。例如:路侧鱼眼相机或者路侧枪式相机的内参信息和外参信息的标定。

上述基于所述多个标志角点的三维坐标数据和二维坐标数据以及预设的内外参数耦合模型,确定所述相机的内参信息和外参信息可以是,使用上述多个标志角点的三维坐标数据和二维坐标数据,对上述内外参数耦合模型进行求解,以求解出上述内外参数耦合模型的内参信息和外参信息,进而实现对上述相机的内参信息和外参信息的标定。

需要说明的是,上述相机的所述内参信息和所述外参信息可以简称相机的内参和外参。

本公开中,通过上述内外参数耦合模型可以通过一次过程获取内参信息和外参信息,即实现了相机的内参信息和外参信息的联合标定,从而提高内参信息和外参信息标定的效率,特别是提升路侧鱼眼相机或者路侧枪式相机的内参信息和外参信息标定的效率。且由于内参信息和外参信息是通过一个模型确定的,这样还可以提高内参信息和外参信息的准确性。

作为一种可选的实施方式,所述内参信息包括:畸变系数和内参矩阵中的至少一项;

所述外参信息包括:旋转矩阵和平移向量中的至少一项。

其中,所述相机为路侧鱼眼相机或者路侧枪式相机。

上述内参信息可以包括一个或者多个畸变系数,例如:对于鱼眼相机可以包括畸变系数k1和k2。

上述内参信息包括:畸变系数和内参矩阵中的至少一项可以是,在一些实施方式或者应用场景中,上述外参信息可以包括畸变系数和内参矩阵,例如对于路侧枪式相机,上述内参信息包括:畸变系数和内参矩阵;在另一些实施方式或者应用场景中,上述外参信息可以包括畸变系数或者内参矩阵,例如:对于路侧鱼眼相机,上述内参信息包括:畸变系数。

上述外参信息包括:旋转矩阵和平移向量中的至少一项可以是,在一些实施方式或者应用场景中,上述外参信息可以包括旋转矩阵和平移向量,在另一些实施方式或者应用场景中,上述外参信息可以包括旋转矩阵或者平移向量。

该实施方式中,可以实现通过上述内外参数耦合模型联合标定相机的畸变系数,以及相机的旋转矩阵和平移向量中的至少一项。

作为一种可选的实施方式,所述内外参数耦合模型用于表示所述标志角点的二维坐标数据与如下内容的对应关系:

所述标志角点的三维坐标数据、所述内参信息和所述外参信息。

所述标志角点的二维坐标数据与上述内容的对应关系可以是,所述标志角点的二维坐标数据=所述标志角点的三维坐标数据、所述内参信息和所述外参信息的计算结果。例如:上述标志角点的二维坐标数据=依据所述内参信息和所述外参信息对所述标志角点的三维坐标数据进行运算的运算结果。

需要说明的是,上述对应关系可以是预先配置的。且针对不同的型号、不同类型的相机可以预先配置不同的对应关系。

该实施方式中,由于内外参数耦合模型表示所述标志角点的二维坐标数据与上述内容的对应关系,这样不仅通过该模型可以联合确定相机的内参信息和外参信息,且还可以提高相机的内参信息和外参信息的准确性,因为,上述内外参数耦合模型表示所述标志角点的二维坐标数据与述标志角点的三维坐标数据、所述内参信息和所述外参信息的对应关系,这样确定出的内参信息和外参信息是准确的。

可选的,在所述内参信息包括畸变系数,且所述外参信息包括旋转矩阵和平移向量的情况下:

所述标志角点的二维坐标数据等于所述相机的内参矩阵乘以畸变结果,所述畸变结果为依据所述畸变系数对平移结果进行畸变得到的结果,所述平移结果是对依据所述平移向量对所述三维坐标数据的旋转结果进行平移得到的结果,所述旋转结果是依据所述旋转矩阵对三维坐标数据进行旋转得到的结果。

其中,上述内参矩阵可以是预先配置的,例如:上述相机(例如:路侧鱼眼相机)的内参矩阵可以表示为如下:

其中,f表示相机的焦距,cx和cy表示相机图像分辨率宽和高的一半,即图像的中心坐标。上述0.0、1.0为预先配置的初始值,例如:将畸变系数k1和k2的初始值配置为0.0,0.0。

其中,上述相机的焦距可以是预先配置好的,例如:对于同一种型号相机(例如:鱼眼相机)的焦距是固定的,且焦距数也是基本固定的,因此,可以预先确定。例如:通过相机内参标定方法可以先得到该型号相机的焦距数f的值。

或者,上述相机(例如:路侧枪式相机)的内参矩阵可以表示为如下:

其中,上述fx和fy是与相机的实际焦距、图像传感器尺寸和图像分辨率相关的参数。且在一些实施方式,可以假设fx=fy。cx和cy表示相机图像分辨率宽和高的一半,即图像的中心坐标。上述0.0、1.0为预先配置的初始值,例如:将畸变系数k1初始值配置为0.0,0.0。

需要说明的是,本公开并不限定相机的内参矩阵,例如:在一些实施方式或者场景中上述内参矩阵K中的初始值可以根据业务需求或者场景进行配置为其他初始值。

需要说明的是,本公开并不限定相机的内参矩阵,例如:在一些实施方式或者场景中上述内参矩阵K中的初始值可以根据业务需求或者场景进行配置为其他初始值。

下面以如下公式对上述内外参数耦合模型进行举例说明:

其中,(u,v)表示标志角点在图像中二维坐标数据,上述(Xw,Yw,Zw)表示标志角点的三维坐标数据,R表示上述旋转矩阵,t表示上述平移向量,DIST表示对对平移结果进行畸变,即

其中,上述平移结果可以表示为

其中,xc,yc,zc可以表示上述标志角点在相机坐标系下的三维坐标数据。

进一步的,

其中,xc1和yc1表示标志角点在相机坐标系下的归一化的二维坐标数据。

另外,

θ=atan(r)

θ

其中,k1和k2为畸变系数,也就是说,通过上述畸变系数k1和k2对上述

需要说明的是,本公开中并不限定上述公式表示内外参数耦合模型,例如:在一些场景或者对于一些特定型号的相机上述内外参数耦合模型可以表示为如下:

其中,上述a和b可以是预先配置得到与场景或者型号相关的常数、向量或者矩阵,这样可以实现根据特定场景或者特定型号的相机进行特殊化处理,以满足这些特定场景或者特定型号的需求。

需要说明的是,本公开中并不限定上述畸变过程,例如:对于一些场景或者一些相机(例如:路侧枪式相机)上述畸变过程可以表示为如下:

xc_d=xc1(1+k1*r

yc_d=yc1(1+k1*r

r

进一步的,

该实施方式中,通过上述标志角点的二维坐标数据等于所述相机的内参矩阵乘以上述畸变结果,这样可以提高确定的内参信息和外参信息的准确性。

需要说明的是,本公开中并不限定上述内外参数耦合模型表示上述标志角点的二维坐标数据等于所述相机的内参矩阵乘以畸变结果这一种对应关系,例如:对于一些实施方式或者场景中上述内外参数耦合模型可以不表示平移向量的关系。另外,本公开中的内外参数耦合模型可以表示上述相机拍摄到的任何坐标的二维坐标数据与三维坐标数据的对应关系。

作为一种可选的实施方式,上述基于所述多个标志角点的三维坐标数据和二维坐标数据,确定所述相机的内外参数耦合模型的内参信息和外参信息,包括:

基于所述多个标志角点的三维坐标数据和二维坐标数据,对所述内外参数耦合模型进行最优化求解,以确定所述相机的内参信息和外参信息。

其中,上述基于所述多个标志角点的三维坐标数据和二维坐标数据,对所述内外参数耦合模型进行最优化求解可以是,基于所述多个标志角点的三维坐标数据和二维坐标数据,对所述内外参数耦合模型采用高斯牛顿或者LM(Levenberg-Marquardt)算法进行最优化求解。例如:通过以下公式对所述内外参数耦合模型进行最优化求解:

其中,i表示第i个标志角点,m表示上述多个标志角点的数量。

通过上述公式可以使得loss最小或者达到预设值,以实现对上述内外参数耦合模型的最优化求解,进而得到上述内参信息和所述外参信息。

需要说明的是,上述公式是以上述

另外,在上述最优化求解过程还可以预先配置好上述内参信息和外参信息的初始值,再基于这些初始值进行最优化求解过程,以提高最优化求解过程的准确性。例如:通过实时动态(Real-time kinematic,RTK)设备采集到相机的平移向量,以及根据相机安装位置和初始朝向,利用标志角点在高精地图投影到图像的匹配关系,得到相机良好的初始旋转矩阵。需要说明的是,本公开中并不限定内参信息和外参信息的初始值的配置过程,例如:还可以根据经验值或者其他型号相机的内参信息和外参信息进行设置。

例如:对于路侧鱼眼相机,上述模型中要求解的参数包括畸变系数kl、畸变系数k2、旋转矩阵R、平移向量t,其中,k1和k2初始值可以为0.0,0.0,以及可以通过RTK设备采集到相机的平移向量,以及根据相机安装位置和初始朝向,利用标志角点在高精地图投影到图像的匹配关系,得到相机良好的初始旋转矩阵。或者,可以先得到该型号鱼眼相机的焦距数f的值,及畸变系数值的初始值,再将鱼眼相机图像经过上面焦距数和畸变系数进行初始去畸变,再在初始去畸变图像中标注标志角点的二图像素值,R和t的初始值由RTK设备数据以及上述参数的初始值利用计算得到,例如:通过pnp算法或者epnp算法计算得到。例如:通过9、10或者11个点的数据以及上述参数的初始值利用计算到的R和t的初始值。

又例如:对路侧枪式相机,上述模型中要求解的参数包括畸变系数kl、内参矩阵参数f、旋转矩阵R、平移向量t,k1初始值可以为0.0。其中,枪式相机的已知参数包括实际焦距lens,图像传感器尺寸参数lenth和图像传感器的尺寸尺度参数sensor_size_scale,然后通过枪机图像分辨率width(w)和height(h),计算得到内参矩阵参数f的初始值:

f=lens/(lenth/sensor_size_scale)*(w2+h2)0.5

R和t的初始值由RTK数据以及上述参数的初始值利用计算到的,如通过pnp算法或者epnp算法计算得到。例如:通过9、10或者11个点的数据以及上述参数的初始值利用计算到的R和t的初始值。

需要说明的是,本公开中并不限定内参信息和外参信息的初始值的配置过程,例如:还可以根据经验值或者其他型号相机的内参信息和外参信息进行设置。

该实施方式中,通过上述对内外参数耦合模型进行最优化求解,从而可以提高的内参信息和外参信息的准确性。

需要说明的是,本公开中并不限定对所述内外参数耦合模型进行最优化求解,确定内参信息和外参信息,例如:在一些实施方式或者场景中可以直接求解方程的方式求解出上述内外参数耦合模型中的内参信息和外参信息,因为,内外参数耦合模型的内参信息和外参信息这些未知数的数量是固定的,这样通过多组已知的(三维坐标数据、二维坐标数据)就可求解出这些未知数。

请参见图2,图2是本公开提供的一种参数信息确定装置,如图2所示,参数信息确定装置200包括:

第一获取模块201,用于利用高精地图或RTK设备获取多个标志角点的三维坐标数据;

第二获取模块202,用于获取所述多个标志角点在图像中的二维坐标数据,其中,所述图像为相机采集的图像;

确定模块203,用于基于所述多个标志角点的三维坐标数据和二维坐标数据以及预设的内外参数耦合模型,确定所述相机的内参信息和外参信息,其中,所述内外参数耦合模型是将所述相机的所述内参信息和所述外参信息进行耦合的模型。

可选的,所述内参信息包括:畸变系数和内参矩阵中的至少一项;

所述外参信息包括:旋转矩阵和平移向量中的至少一项;

所述相机为路侧鱼眼相机或者路侧枪式相机。

可选的,所述内外参数耦合模型用于表示所述标志角点的二维坐标数据与如下内容的对应关系:

所述标志角点的三维坐标数据、所述内参信息和所述外参信息。

可选的,在所述内参信息包括畸变系数,且所述外参信息包括旋转矩阵和平移向量的情况下:

所述标志角点的二维坐标数据等于所述相机的内参矩阵乘以畸变结果,所述畸变结果为依据所述畸变系数对平移结果进行畸变得到的结果,所述平移结果是对依据所述平移向量对所述三维坐标数据的旋转结果进行平移得到的结果,所述旋转结果是依据所述旋转矩阵对三维坐标数据进行旋转得到的结果。

可选的,所述确定模块203用于基于所述多个标志角点的三维坐标数据和二维坐标数据,对所述内外参数耦合模型进行最优化求解,以确定所述相机的内参信息和外参信息。

根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。

图3示出了可以用来实施本公开的实施例的示例电子设备300的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图3所示,设备300包括计算单元301,其可以根据存储在只读存储器(ROM)302中的计算机程序或者从存储单元308加载到随机访问存储器(RAM)303中的计算机程序,来执行各种适当的动作和处理。在RAM 303中,还可存储设备300操作所需的各种程序和数据。计算单元301、ROM 302以及RAM 303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。

设备300中的多个部件连接至I/O接口305,包括:输入单元306,例如键盘、鼠标等;输出单元307,例如各种类型的显示器、扬声器等;存储单元308,例如磁盘、光盘等;以及通信单元309,例如网卡、调制解调器、无线通信收发机等。通信单元309允许设备300通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

计算单元301可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元301的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元301执行上文所描述的各个方法和处理,例如相机标定方法。例如,在一些实施例中,相机标定方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元308。在一些实施例中,计算机程序的部分或者全部可以经由ROM 302和/或通信单元309而被载入和/或安装到设备300上。当计算机程序加载到RAM 303并由计算单元301执行时,可以执行上文描述的相机标定方法的一个或多个步骤。备选地,在其他实施例中,计算单元301可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行相机标定方法。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

相关技术
  • 相机标定方法、装置、设备、存储介质和程序产品
  • 车机小程序测试方法、装置、设备、存储介质及程序产品
技术分类

06120112939086