相机参数初始化方法及装置、相机参数标定方法及设备、图像采集系统与流程

文档序号:17778136发布日期:2019-05-28 20:31阅读:397来源:国知局
相机参数初始化方法及装置、相机参数标定方法及设备、图像采集系统与流程

本发明涉及图像处理技术领域,尤其涉及一种相机参数初始化方法及装置、相机参数标定方法及设备、图像采集系统。



背景技术:

广角相机是一种相机镜头具有大视角的图像采集设备,其可在有限的距离内可以容纳更多的景物范围。衡量相机广角的参数是最小焦距,一般将小于28mm的才称为广角,越小广角越广,适合拍大场面的风景和高大的建筑物等。

在使用广角相机前,需要对广角相机进行标定,以建立广角相机所采集的图像像素位置与场景点位置之间的关系。目前,对广角相机进行标定方法是通过随机给定相机参数的初始值,然后根据相机参数的初始值对相机参数进行优化,进而完成相机参数标定,但是相机参数的初始值随机设定,使得优化后的相机参数的准确性不高,导致广角相机所拍摄的图像的畸变比较大。



技术实现要素:

本发明的目的在于提供一种相机参数初始化方法及装置、相机参数标定方法及设备、图像采集系统,提高相机参数优化结果的准确性。

为了实现上述目的,本发明提供一种相机参数初始化方法,包括:

获取多个视角的标定图像,每个视角的标定图像包括多个同心圆的图像,每个同心圆的图像为同心椭圆,各个同心圆的参数相同;

根据每个视角的标定图像,获得每个视角的多个同心椭圆的参数信息;

将同一同心圆在多个视角对应的同心椭圆的参数信息进行拟合,获得多个同心圆对应的同心椭圆的参数信息;

根据多个同心圆对应的同心椭圆的参数信息,获得多个同心椭圆的长轴矢量坐标;

根据多个同心椭圆的长轴矢量坐标,获得多个同心椭圆的长轴共同交点坐标;

将多个同心椭圆的长轴共同交点坐标设定为相机主点的初始坐标(cx0,cy0)。

与现有技术相比,本发明提供的相机参数初始化方法中,获取的多个视角的标定图像,且每个视角的标定图像包括多个同心圆的图像,每个同心圆的图像为同心椭圆,各个同心圆的参数相同,使得每个视角的标定图像中多个同心椭圆的参数相同;发明人发现每个视角的多个同心圆的长轴具有共同交点,这些长轴共同交点与相机主点的位置几乎重合,因此,可将同一同心圆在多个视角对应的同心椭圆的参数信息进行拟合,获得多个同心圆对应的同心椭圆的参数信息;然后根据多个同心圆对应的同心椭圆的参数信息,获得多个同心椭圆的长轴坐标,根据多个同心椭圆的长轴矢量坐标,获得多个同心椭圆的长轴共同交点坐标,并将多个同心椭圆的长轴共同交点坐标设定为相机主点的初始坐标(cx0,cy0)。由此可见,本发明提供的相机参数初始化方法可以通过选取标定所使用的图像形状和参数,以计算出更为准确的相机参数的初始值,如相机主点的初始坐标(cx0,cy0),使得相机参数的优化结果准确性比较高,进而降低图像采集系统所采集的图像畸变。

本发明还提供了一种相机参数初始化装置,该相机参数初始化装置包括:

接收模块,用于获取多个视角的标定图像,每个视角的标定图像包括多个同心圆的图像,每个同心圆的图像为同心椭圆,各个同心圆的参数相同;

参数分析模块,用于根据每个视角的标定图像,获得每个视角的多个同心椭圆的参数信息;将同一同心圆在多个视角对应的同心椭圆的参数信息进行拟合,获得多个同心圆对应的同心椭圆的参数信息;

主点坐标设定模块,用于根据多个同心圆对应的同心椭圆的参数信息,获得多个同心椭圆的长轴矢量坐标;根据多个同心椭圆的长轴矢量坐标,获得多个同心椭圆的长轴共同交点坐标;将多个同心椭圆的长轴共同交点坐标设定为相机主点的初始坐标(cx0,cy0)。

与现有技术相比,本发明提供的相机参数初始化装置的有益效果与上述相机参数初始化方法的有益效果相同,在此不做赘述。

本发明还提供了一种相机参数标定方法,所述相机参数标定方法包括:

获取相机参数的初始值,所述相机参数的初始值采用上述相机参数初始化方法设定,所述相机参数的初始值至少包括相机主点初始坐标(cx0,cy0);

利用所述相机参数的初始值对相机参数进行最优化处理。

与现有技术相比,本发明提供的相机参数标定方法的有益效果与上述相机参数初始化方法的有益效果相同,在此不做赘述。

本发明还提供了一种相机参数标定设备,该相机参数标定方法包括:

上述相机参数初始化装置,用于设定所述相机参数的初始值,所述相机参数的初始值至少包括相机主点初始坐标(cx0,cy0);

相机参数优化装置,用于利用所述相机参数的初始值对相机参数进行最优化处理。

与现有技术相比,本发明提供的相机参数标定设备的有益效果与上述相机参数初始化方法相同,在此不做赘述。

本发明还提供一种计算机存储介质,用于储存一个或多个计算机软件指令,其包含用于执行上述相机参数初始化方法或上述相机参数标定方法设计的程序。

与现有技术相比,本发明提供的计算机存储介质的有益效果与上述相机参数初始化方法的有益效果相同,在此不做赘述。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为现有技术中鱼眼相机的相机成像模型示意图;

图2为本发明实施例中标定板的示意图;

图3为本发明实施例提供的相机参数标定方法流程图;

图4为本发明实施例提供的相机参数初始化方法流程图一;

图5为本发明实施例提供的相机参数初始化方法流程图二;

图6为本发明实施例提供的相机参数初始化方法流程图三;

图7为本发明实施例提供的相机参数初始化方法流程图四;

图8为本发明实施例提供的相机参数初始化方法流程图五;

图9为本发明实施例中相机参数优化方法流程图;

图10为本发明实施例提供的相机参数标定设备的结构框图一;

图11为本发明实施例提供的相机参数标定设备的结构框图二;

图12为本发明实施例提供的相机参数标定终端的硬件架构图。

附图标记:

01-标定板,010-板体;

011-同心圆,100-相机参数初始化装置;

110-接收模块,120-参数分析模块;

130-分类模块,140-主点坐标设定模块;

150-焦距设定模块,160-外参数设定模块;

170-畸变系数设定模块,200-相机参数优化装置;

210-参数处理模块,220-图像校正模块;

230-偏差判别模块,240-参数赋值模块;

250-参数更新模块。

具体实施方式

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

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

现有技术中,一般随机给定相机参数的初始值,或者采用opencv中内参和畸变的初始化方式,获得相机主点初始坐标,并将相机主点初始坐标设定为图像中心坐标,然后利用相机参数的初始值对相机参数进行优化处理,以实现相机参数的标定,但这些方法所获得的相机参数的标定结果的准确性比较差,导致相机所采集的图像产生较大的畸变。

上述opencv是一个基于bsd许可(开源)发行的跨平台计算机视觉库,可以运行在linux、windows、android和macos操作系统上。它由一系列c函数和少量c++类构成,同时提供了python、ruby、matlab等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

图1示出了鱼眼相机的相机成像模型示意图,相机坐标系xyz是一个以相机光心为相机坐标系的原点o的三维坐标系,p’为空间点p在相机坐标系的横坐标x和纵坐标y所在平面的正投影,空间点p经过相机镜头成像的过程中,空间点p在相机镜头处发生折射后形成像素点p,图像坐标系xoy位于该像素点p所在的成像面。f为相机镜头的焦距;其中,相机坐标系xyz的原点o为相机镜头的光心,相机坐标系xyz的原点o与图像坐标系xoy的原点o位于同一条直线,且该执行垂直于成像平面,空间点p经过相机镜头成像的过程中的折射角,θd为镜头的折射角。

相机成像模型的数学表达式如下:

xw、yw、zw为世界坐标系中空间点p的横坐标、纵坐标和深度坐标,zc为空间p的深度值,r为空间点p在相机坐标系的横坐标和纵坐标所在平面的正投影点p’到相机光心之间的距离,u,v为图像坐标系中像素点p的横坐标、纵坐标;rd为像素点p到图像坐标系的原点o之间的距离,fx为焦距横坐标,fy为焦距纵坐标,θd为镜头的折射角,cx、cy为相机坐标系中p’点的横坐标、纵坐标。

可以理解的是,上述相机参数包括相机内参数、相机外参数和畸变系数,相机内参数是与相机自身特性相关的参数,其包括相机焦距fx,fy,fx为焦距横坐标fx,fy为焦距纵坐标,相机主点坐标(cx,cy);相机外参数包括旋转矩阵,平移向量;畸变系数包括四个径向畸变系数,一般来说,畸变系数的初始值设定为0。例如:对于广角镜头来说,其畸变系数包括四个径向畸变系数k1、k2、k3、k4,一般在相机参数优化前,随机设定四个径向畸变系数的初始值均等于0。

如图3所示,本发明实施例提供了一种相机参数标定方法及装置,其依靠所设计的标定板进行相机参数标定,使得所获得的相机参数的标定结果比较准确,从而降低图像畸变。该相机参数标定方法包括:

第一步,相机参数的初始值设定过程。

第二步,利用相机参数的初始值对相机参数进行最优化处理。

如图2所示,上述相机参数的初始值设定过程所使用的标定板01包括板体010,以及形成在板体上的多个同心圆011,各个同心圆的参数相同,每个同心圆的圆心为同心圆的中心点。当然相机参数的初始值设定过程也可以不使用本发明实施例提供的标定板,而是采集具有标定板所包括多个同心圆的图像即可。

多个同心圆的中心点呈矩阵化排布。当多个同心圆的中心点呈矩阵化排布时,可简化后续相机参数初始化的计算过程。

上述每个同心圆的参数包括圆尺寸和圆数量,例如:每个所述同心圆包括半径不同的n个圆,r1i=r2i=……=rmi,r1i为第1个同心圆所含有的第i个圆的编号,r2i为第2个同心圆所含有的第i个圆的编号,rmi为第m个同心圆所含有的第i个圆的编号,m为同心圆的总数,i为大于等于1小于等于n的整数。此处的各个同心圆所含有的圆的编号方式相同,即所有的同心圆含有的圆按照从同心圆的中心点到同心圆的最外侧的方向编号,或者按照从同心圆的最外侧到同心圆的中心点的方向编号。

图2示出了一种标定板,其具有12个同心圆,每个同心圆所含有的圆数量相同,各个同心圆所含有的同一标号的圆的半径相同。

下面结合附图对本发明实施例提供的相机参数初始化过程和优化过程进行详细说明,以下仅用于举例,不在于限定。

如图4所示,本发明实施例提供的一种相机参数初始化方法,用以执行上述相机参数的初始值设定过程,此处的相机参数可以是相机参数中的任意一个或几个参数。该相机参数初始化方法包括如下步骤:

步骤s110:获取多个视角的标定图像,每个视角的标定图像包括多个同心圆的图像。可以理解的是,视角数量可根据实际情况设定,但一般大于等于3个视角,利用相机采集同心圆的图像时,一般在至少三个视角采集标定图像,标定图像所含有的同心圆的图像会发生畸变(变形),使得最终的同心圆的图像为同心椭圆。各个同心圆的参数相同。此处的同心圆的图像可以是采集于上述标定板,也可以采集于具有标定板上所形成的多个同心圆图案的实物;同心圆的参数包括同心圆所含有的各个圆的半径以及圆的数量,但不仅于此。

步骤s120:根据每个视角的标定图像,获得每个视角的多个同心椭圆的参数信息;此处的同心椭圆的参数信息包括同心椭圆所含有的椭圆数量、椭圆的旋转角以及椭圆的长轴旋转方向,同心椭圆的中心点坐标等,但不仅限于此。另外,由于上述各个同心圆的参数相同,那么作为各个同心圆图像的各个同心椭圆的参数信息也相同。

例如:获取四个视角的同心圆的图像(同心椭圆),每个视角的同心圆的图像数量为12个,即一共获取了48个同心椭圆,分析48个同心椭圆的图形特征,可获得48个椭圆参数。

步骤s130:将同一同心圆在多个视角对应的同心椭圆的参数信息进行拟合,获得多个同心圆对应的同心椭圆的参数信息。

例如:当同心圆的数量为两个,那么每个视角的同心椭圆的数量为2个,且设定同一同心圆在不同视角的图像的编号相同。当在两个视角获取标定图像时,那么对于第一同心圆来说,其在第一视角的图像定义为第一视角的第一同心椭圆,其在第二视角的图像定义为第二视角的第一同心椭圆;对于第二同心圆来说,其在第一视角的图像定义为第一视角的第二同心椭圆,其在第二视角的图像定义为第二视角的第二同心椭圆。基于此,根据各个视角的多个同心椭圆的参数信息,获得多个同心椭圆的长轴矢量坐标的具体过程包括:根据第一视角的第一同心椭圆的参数信息和第二视角的第一同心椭圆的参数信息,获得第一同心椭圆的参数信息,根据第一视角的第二同心椭圆的参数信息和第二视角的第二同心椭圆的参数信息,获得第二同心椭圆的参数信息,具体获得方式一般为拟合方式,拟合方式可以是线性拟合,也可以是非线性拟合,如常见的平均化拟合方式实质就是一种比较简单的线性拟合方式。

步骤s140a:根据多个同心圆对应的同心椭圆的参数信息,获得多个同心椭圆的长轴矢量坐标。例如:当同心圆的数量为两个,在两个视角获取标定图像时,可根据第一同心椭圆的参数信息和第二同心椭圆的参数信息,获得第一同心椭圆的长轴矢量坐标和第二同心椭圆的长轴矢量坐标。

步骤s150a:根据多个同心椭圆的长轴矢量坐标,获得多个同心椭圆的长轴共同交点坐标。

步骤s160a:将多个同心椭圆的长轴共同交点坐标设定为相机主点的初始坐标(cx0,cy0)。

基于上述相机参数初始化方法的具体过程可知,获取的多个视角的标定图像,且每个视角的标定图像包括多个同心圆的图像,每个同心圆的图像为同心椭圆,各个同心圆的参数相同,使得每个视角所获得的标定图像中多个同心椭圆的参数相同;发明人发现每个视角的多个同心圆的长轴具有共同交点,这些长轴共同交点与相机主点的位置几乎重合,因此,可将同一同心圆在多个视角对应的同心椭圆的参数信息进行拟合,获得多个同心圆对应的同心椭圆的参数信息;然后根据多个同心圆对应的同心椭圆的参数信息,获得多个同心椭圆的长轴坐标,根据多个同心椭圆的长轴矢量坐标,获得多个同心椭圆的长轴共同交点坐标,并将多个同心椭圆的长轴共同交点坐标设定为相机主点的初始坐标(cx0,cy0)。由此可见,本发明实施例提供的相机参数初始化方法可以通过选取标定所使用的图像形状和参数,以计算出更为准确的相机参数的初始值,如相机主点的初始坐标(cx0,cy0),使得相机参数的优化结果准确性比较高,进而降低图像采集系统所采集的图像畸变。

本发明实施例提供的相机参数初始化方法不仅可以设定相机主点的初始坐标(cx0,cy0),而且还可以设定其他相机参数,如相机焦距、相机外参数等。

如图4所示,当需要设定相机外参数的初始值时,获得每个视角的多个同心椭圆的参数信息后,上述相机参数初始化方法还包括:

步骤s140b:根据多个同心圆对应的同心椭圆的参数信息,获得多个中心点像素坐标,每个中心点像素坐标为每个同心椭圆的中心点坐标;

步骤s150b:根据多个同心圆的中心点位置,获得多个中心点的世界坐标;步骤s140b可与步骤s130b同时执行,也可以依序执行。一般来说,世界坐标所在世界坐标系的原点、相机坐标系的原点、图像坐标系的原点位于同一直线,且垂于成像平面。

步骤s160b:根据多个中心点像素坐标和多个中心点的世界坐标,获得单应性关系;单应性关系表征多个同心圆的中心点坐标与多个同心圆的图像的中心点坐标的对应关系,换句话说,单应性关系表征多个同心圆的中心点坐标与多个同心椭圆的中心点坐标的对应关系。

步骤s170b:根据单应矩阵和单应性关系,获得相机外参数的初始值;相机外参数的初始值包括初始旋转矩阵r和初始平移向量t。

需要说明的是,上述步骤s130a和步骤s130b所执行的操作可以同时执行,也可以先后执行,此处不做限定。

具体的,每个同心圆对应的同心椭圆的参数信息包括:同心椭圆的中心点拟合坐标,同心椭圆的拟合旋转角度和同心椭圆的拟合长轴转动方向;

如图5所示,上述将同一同心圆在多个视角对应的同心椭圆的参数信息进行拟合,获得多个同心圆对应的同心椭圆的参数信息包括:

步骤s131:将多个视角的标定图像所含有的同心椭圆进行分类,获得多组同心椭圆,使得每组同心椭圆为同一同心圆在多个视角的图像。由于同心圆的图像发生一定的畸变,使得同心圆的图像为同心椭圆,其中同心圆的中心点对应同心椭圆所含有的周长最小的椭圆。将周长最小的椭圆的中心点,定义为同心椭圆的中心点。将所获得同一同心圆在不同视角的图像分成一组。

例如:当上述标定板上形成有两个同心圆,每个同心圆含有的3个圆和1个同心圆的中心点,获取了两个视角的同心圆的图像(即同心椭圆),由于在获取同心圆的图像的过程中,不仅每个同心圆所含有的3个圆发生畸变,形成周长不同的3个椭圆,而且同心圆的中心点也发生了畸变,形成1个椭圆;也就是说,每个同心圆的图像包括4个椭圆,且4个椭圆同心,4个椭圆中周长最小的椭圆为同心圆的中心点的图像。基于此,对每个视角的多个同心椭圆的识别方式为:随机识别一个椭圆,然后以该椭圆为参考椭圆,寻找距离参考椭圆最近的3个椭圆,将参考椭圆和距离参考椭圆最近的3个椭圆定义为一个同心椭圆。

步骤s132:根据多组同心椭圆对多个同心椭圆的参数信息进行分组,获得多组同心椭圆的参数信息,使得每组同心椭圆的参数信息包括同一同心圆在多个视角对应的同心椭圆的参数信息,即同一同心圆在多个视角对应的同心椭圆的中心点坐标、旋转角度和长轴旋转角度。

例如:当上述标定板具有12个同心圆,且所获得的同心圆的图像是在4个视角的同心圆的图像,此时上述同心椭圆的组数为12组,每组同心椭圆具有4个同心椭圆,相应的同心椭圆的参数信息一共有4组,每组同心椭圆的参数信息包括12个同心圆在4个视角对应的同心椭圆的旋转角度和12个同心圆在4个视角对应的同心椭圆的长轴旋转方向。

步骤s133:由于获取的视角不同,每组同心椭圆所包括的同一同心圆在4个视角对应的同心椭圆的旋转角度有所区别,因此,根据每组同心椭圆所含有的多个同心椭圆的旋转角度,获得每个同心圆对应的同心椭圆的拟合旋转角度;具体而言,对每组同心椭圆所含有的多个同心椭圆的旋转角度进行平均化处理,获得每个同心圆对应的同心椭圆的拟合旋转角度,即每个同心圆对应的同心椭圆的拟合旋转角度等于该同心圆在多个视角对应的同心椭圆的旋转角度的平均值。例如:当上述标定板具有12个同心圆,且所获得的标定图像是12个同心圆在4个视角对应的同心椭圆。也就是说,当上述标定板具有12个同心圆,一共获得12个同心圆对应的同心椭圆的拟合旋转角度。其中,每个同心椭圆所含有的各个椭圆具有同一个中心点,因此,每个同心椭圆所含有的各个椭圆的旋转角度相同。

步骤s134:对应每组同心椭圆来说,其相当于同一个同心圆在4个不同视角的图像,而同心椭圆的长轴旋转方向不受畸变影响,即每组同心椭圆所含有的各个同心椭圆的长轴旋转方向相同。基于此,将每组同心椭圆所含有的其中一个同心椭圆的长轴旋转方向设定为每个同心圆对应的同心椭圆的拟合长轴旋转方向。

步骤s135:由于获取的视角不同,每组同心椭圆所包括的4个视角的同心椭圆的中心点坐标有所区别,因此,对根据每组同心椭圆所含有的多个同心椭圆的中心点坐标,获得多个同心圆对应的同心椭圆的中心点拟合坐标;进行拟合的方法可以为线性拟合,也可以为非线性拟合。

示例性的,可采用平均化法这种简单的常规拟合方法对每组同心椭圆的参数信息所含有的多个视角的同心椭圆的中心点坐标进行拟合。例如:当上述标定板具有12个同心圆,且具有4个视角时,上述同心椭圆的中心点坐标一共有四组,每个同心圆对应的同心椭圆的中心点拟合坐标等于该同心圆在4个视角对应的同心椭圆的中心点坐标的平均值。

上述步骤s133、步骤s134和步骤s135可以同时执行,也可以依次执行。

进一步,如图6所示,上述根据多个同心圆对应的同心椭圆的参数信息,获得多个同心椭圆的长轴矢量坐标包括:

步骤s141a:根据多个同心圆对应的同心椭圆的拟合旋转角度和多个同心圆对应的同心椭圆的拟合长轴旋转方向,获得多个同心椭圆的椭圆长轴方程;例如:当上述标定板具有12个同心圆,且所获得的同心圆的图像是在4个视角的同心圆的图像,可根据第1组同心椭圆的平均旋转角度和第1组同心椭圆的长轴旋转方向,获得第1个同心椭圆的椭圆长轴方程,……,根据第12组同心椭圆的平均旋转角度和第12组同心椭圆的长轴旋转方向,获得第12个同心椭圆的椭圆长轴方程。

步骤s142a:根据多个同心椭圆的椭圆长轴方程,获得多个同心椭圆的长轴矢量坐标;例如:当具有12个同心椭圆的椭圆长轴方程时,可求解出12同心椭圆的长轴矢量坐标,并利用这12个同心椭圆的长轴矢量坐标,得到12个同心椭圆的长轴共同交点坐标,进而求得相机主点的初始坐标(cx0,cy0)。

上述根据多个同心圆对应的同心椭圆的参数信息,获得多个中心点像素坐标包括:

将多个同心圆对应的同心椭圆的中心点坐标,设定为多个中心点像素坐标。

如图4所示,当需要设定相机焦距的初始值时,根据单应矩阵和单应性关系,获得相机外参数的初始值后,上述相机参数初始化方法还包括:

步骤s180b:根据相机外参数的初始值和相机成像模型,获得相机焦距的初始值。

具体而言,如图7所示,根据相机外参数的初始值和相机成像模型,获得相机焦距的初始值包括:

步骤s181b:根据单应矩阵的约束关系,获得第一求解参数k和第二求解参数q,第一求解参数q的表达式为第二求解参数l的表达式为θd为镜头的折射角,r0为每个同心圆的中心点在相机坐标系的横坐标和纵坐标所在面的正投影点与镜头光心之间的距离,fx0为焦距初始横坐标,fy0为焦距初始纵坐标;对于来说,其中,r0、fx0、fy0均为未知量,需要进一步求解。

可以理解的是,第一求解参数q和第二求解参数l的数量与同心圆的数量有关;例如:当同心圆的数量为12个时,第一求解参数q和第二求解参数l的数量均为12个。

步骤s182b:根据第一求解参数q和第二求解参数l以及单应性关系,获得相机外参数的初始值,可以参考张友正标定法获取相机外参数的初始值,相机外参数的初始值包括初始旋转矩阵r和初始平移向量t。

步骤s183b:由于同心圆的中心点在相机坐标系的横坐标和纵坐标所在面的正投影点与镜头光心之间的距离无法直接获取,因此,根据相机外参数的初始值和多个中心点的世界坐标,获得多个同心圆的中心点在相机坐标系的横坐标和纵坐标所在面的正投影点与镜头光心之间的距离。例如:当上述标定板具有12个同心圆时,具有12个中心点的世界坐标,基于此,根据相机外参数和12个中心点的世界坐标,可获得12个同心圆的中心点在相机坐标系的横坐标和纵坐标所在面的正投影点与镜头光心之间的距离。相应的,第一求解参数q和第二求解参数l的表达式均为12个。

根据相机成像模型的数学表达式,获得第一关系式和第二关系式,第一关系式的表达式为第二关系式的表达式为rd0为已知量,共有12个,其表示同心椭圆的中心点与图像坐标系的原点之间的距离。

上述步骤183b可与上述步骤s182b同时执行,也可以依次执行。

步骤s184b:根据第一求解参数q的表达式、第一关系式的表达式以及多个同心圆的中心点在相机坐标系的横坐标和纵坐标所在面的正投影点与镜头光心之间的距离,获得相机焦点在图像坐标系的多个横坐标分量,对相机焦点在图像坐标系的多个横坐标分量进行平均化,获得焦距初始横坐标fx0。

例如:当上述标定板具有12个同心圆,那么上述同心圆的中心点在相机坐标系的横坐标和纵坐标所在面的正投影点与镜头光心之间的距离一共有12个,同心椭圆的中心点与图像坐标系的原点之间的距离rd0有12个,相应的相机焦点在图像坐标系的横坐标分量的数量为12个,此时需要对相机焦点在图像坐标系的12个横坐标分量进行平均化,才能获得焦距初始横坐标fx0。

步骤s185b:根据第二求解参数l、第二关系式以及多个同心圆的中心点在镜头的正投影点与镜头光心之间的距离,获得相机焦点在图像坐标系的多个纵坐标分量;对相机焦点在图像坐标系的多个纵坐标分量进行平均化,获得焦距初始纵坐标fy0。步骤s175与步骤s174可同时执行,也可以依序执行。

例如:当同心圆的中心点在镜头的正投影点与镜头光心之间的距离r有12个,同心椭圆的中心点与图像坐标系的圆心之间的距离rd有12个,相应的,相机焦点在图像坐标系的纵坐标分量的数量为12个,此时需要对相机焦点在图像坐标系的12个纵坐标分量进行平均化,才能获得焦距初始纵坐标fy0。

进一步,如图8所示,上述根据相机外参数和多个中心点的世界坐标,获得多个同心圆的中心点在相机坐标系的横坐标和纵坐标所在面的正投影点与镜头光心之间的距离包括:

步骤s1831b:根据相机外参数的初始值和多个中心点的世界坐标(xw,yw,zw),获得多个在相机坐标系的中心点坐标,每个在相机坐标系的中心点坐标是指同心圆的中心点在镜头的正投影点在相机坐标系的坐标(xc,yc,zc);

步骤s1832b:对多个在相机坐标系的中心点坐标进行归一化,使得在相机坐标系的多个中心点坐标为(x,y),

步骤s1833b:根据归一化后在相机坐标系的多个中心点坐标,获得多个同心圆的中心点在相机坐标系的横坐标和纵坐标所在面的正投影点到镜头光心之间的距离。

由上可以看出:以单应矩阵为模型,利用单应矩阵和表征同心椭圆的中心点与同心圆的中心点的单应性关系,计算出的相机外参数的初始值,使得所设定的相机外参数的初始值比较准确,而且利用相机外参数的初始值和相机成像模型,获得相机焦距的初始值,使得所获得的相机焦距的初始值接近理论值,避免了后续相机参数优化过程中所出现的局部最优问题。

需要说明的是,本发明实施例提供的相机参数初始化方法还可以按照现有技术设定上述四个畸变系数等于0,此处不再详述。

如图4和图11所示,本发明实施例还提供了一种相机参数初始化装置,该相机参数初始化装置包括:

接收模块110,用于获取多个视角的标定图像,每个视角的标定图像包括多个同心圆的图像,每个同心圆的图像为同心椭圆,各个同心圆的参数相同。

与接收模块110连接的参数分析模块120,用于根据每个视角的标定图像,获得每个视角的多个同心椭圆的参数信息;将同一同心圆在多个视角对应的同心椭圆的参数信息进行拟合,获得多个同心圆对应的同心椭圆的参数信息。

与参数分析模块120连接的主点坐标设定模块140,用于根据多个同心圆对应的同心椭圆的参数信息,获得多个同心椭圆的长轴矢量坐标;根据多个同心椭圆的长轴矢量坐标,获得多个同心椭圆的长轴共同交点坐标;将多个同心椭圆的长轴共同交点坐标设定为相机主点的初始坐标(cx0,cy0)。

与现有技术相比,本发明实施例提供的相机参数初始化装置的有益效果与上述相机参数初始化方法的有益效果相同,在此不做赘述。

需要说明的是,本发明实施例提供的相机参数初始化装置还包括畸变系数设定模块170,用以按照现有技术设定上述四个畸变系数等于0,此处不再详述。

如图4和图11所示,上述相机参数初始化装置还包括:

与参数分析模块120连接的外参数设定模块160,用于获得每个视角的多个同心椭圆的参数信息后,根据多个同心圆对应的同心椭圆的参数信息,获得多个中心点像素坐标,根据多个同心圆的中心点位置,获得多个中心点的世界坐标;根据多个中心点像素坐标和多个中心点的世界坐标,获得单应性关系;根据单应矩阵和单应性关系,获得相机外参数的初始值;每个中心点像素坐标为每个同心圆对应的同心椭圆的中心点坐标。

与外参数设定模块160连接的焦距设定模块150,用于根据相机外参数的初始值和相机成像模型,获得相机焦距的初始值。

具体的,如图5和图11所示,每个同心圆对应的同心椭圆的参数信息包括:同心椭圆的中心点拟合坐标,同心椭圆的拟合旋转角度和同心椭圆的拟合长轴转动方向;

上述相机参数初始化装置还包括与参数分析模块120和接收模块110连接的分类模块130,用于将多个视角的标定图像所含有的同心椭圆进行分类,获得多组同心椭圆,使得每组同心椭圆为同一同心圆在多个视角的图像;根据多组同心椭圆对多个同心椭圆的参数信息进行分组,获得多组同心椭圆的参数信息,使得每组同心椭圆的参数信息包括同一同心圆在多个视角对应的同心椭圆的参数信息,每组同心椭圆所含有的多个同心椭圆的长轴旋转方向相同。

上述参数分析模块120还用于根据每组同心椭圆所含有的多个同心椭圆的旋转角度,获得每个同心圆对应的同心椭圆的拟合旋转角度;将每组同心椭圆所含有的其中一个同心椭圆的长轴旋转方向设定为每个同心圆对应的同心椭圆的拟合长轴旋转方向;根据每组同心椭圆所含有的多个同心椭圆的中心点坐标,获得多个同心圆对应的同心椭圆的中心点拟合坐标。

上述主点坐标设定模块140具体用于根据多个同心圆对应的同心椭圆的拟合旋转角度和多个同心圆对应的同心椭圆的拟合长轴旋转方向,获得多个同心椭圆的椭圆长轴方程;根据多个同心椭圆的椭圆长轴方程,获得多个同心椭圆的长轴矢量坐标。

上述外参数设定模块160具体用于将多个同心圆对应的同心椭圆的中心点坐标设定为多个中心点像素坐标。

进一步,如图7和图11所示,上述外参数设定模块160具体用于根据单应矩阵的约束关系,获得第一求解参数q和第二求解参数l,根据所述第一求解参数q和所述第二求解参数l以及单应性关系,获得相机外参数的初始值;第一求解参数q的表达式为第二求解参数l的表达式为θd为镜头的折射角,r0为每个同心圆的中心点在相机坐标系的横坐标和纵坐标所在面的正投影点与镜头光心之间的距离,fx0为焦距初始横坐标,fy0为焦距初始纵坐标。

上述焦距设定模块150用于根据相机外参数的初始值和多个中心点的世界坐标,获得多个同心圆的中心点在相机坐标系的横坐标和纵坐标所在面的正投影点与镜头光心之间的距离;根据相机成像模型,获得第一关系式和第二关系式,根据所述第一求解参数q的表达式、所述第一关系式的表达式以及多个同心圆的中心点在相机坐标系的横坐标和纵坐标所在面的正投影点与镜头光心之间的距离,获得相机焦点在图像坐标系的多个横坐标分量;对相机焦点在图像坐标系的多个横坐标分量进行平均化,获得焦距初始横坐标fx0;根据所述第二求解参数l、所述第二关系式以及多个同心圆的中心点在相机坐标系的横坐标和纵坐标所在面的正投影点与镜头光心之间的距离,获得相机焦点在图像坐标系的多个纵坐标分量;对相机焦点在图像坐标系的多个纵坐标分量进行平均化,获得焦距初始纵坐标fy0;第一关系式的表达式为第二关系式的表达式为rd0为每个视角的同心椭圆的中心点与图像坐标系的原点之间的距离。

可选的,如图8和图11所示,上述焦距设定模块150具体用于根据相机外参数的初始值和多个中心点的世界坐标,获得在相机坐标系的多个中心点坐标,在相机坐标系的每个中心点坐标是指每个同心圆的中心点在相机坐标系的坐标(xc,yc,zc);对在相机坐标系的多个中心点坐标进行归一化,使得归一化后在相机坐标系的多个中心点坐标为(x,y),根据归一化后在相机坐标系的多个中心点坐标,获得多个同心圆的中心点在相机坐标系的横坐标和纵坐标所在面的正投影点与镜头光心之间的距离。

如图3所示,本发明实施例还提供了一种相机参数标定方法,该相机参数标定方法包括:

步骤s100:获取相机参数的初始值,该相机参数的初始值采用上述相机参数初始化方法设定,上述相机参数的初始值至少包括相机主点初始坐标(cx0,cy0);

步骤s200:利用相机参数的初始值对相机参数进行最优化处理。

与现有技术相比,本发明实施例提供的相机参数标定方法的有益效果与上述相机参数初始化方法的有益效果相同,在此不做赘述。

可以理解的是,采用上述相机参数初始化方法不仅可以设定相机主点初始坐标(cx0,cy0),还可以设定相机焦距的初始值,相机外参数和畸变系数。

为了避免优化误差,可采用迭代优化方法利用相机参数的初始值对相机参数进行最优化处理。

示例性的,如图9所示,上述利用相机参数的初始值对相机参数进行最优化处理包括:

步骤s210:采用莱文贝格-马夸特(levenberg-marquardt,缩写为l-m)方法对相机参数的初始值进行最优化处理,获得相机参数的理论标定值。

步骤s220:根据相机参数的理论标定值对多个视角的标定图像进行处理,多个视角的矫正后标定图像,每个视角的矫正后标定图像包括多个矫正后同心椭圆。

步骤s230:根据每个视角的矫正后标定图像,获得每个视角的各个矫正后同心椭圆的中心点坐标。

步骤s240:根据每个视角的各个矫正后同心椭圆的中心点坐标与对应视角的多个校正前同心椭圆的中心点坐标,获得每个视角的各个同心椭圆的中心点偏差。

步骤s250:判断同心椭圆的中心点偏差是否小于等于预设坐标偏差。

在同心椭圆的中心点偏差大于预设坐标偏差时,说明同心椭圆的中心点的误差比较大,相机采集的图像畸变高,不符合要求,此时执行步骤s260。

在同心椭圆的中心点偏差大于预设坐标偏差时,说明同心椭圆的中心点的误差比较小,相机采集的图像畸变小,符合要求,此时执行步骤s270。

步骤s260:将相机参数的理论标定值设定为相机参数的标定值。

步骤s270:根据矫正后同心椭圆对的中心点坐标和单应性关系,获得同心椭圆的中心点矫正坐标。

步骤s280:更新相机参数的初始值和校正前同心椭圆的中心点坐标,使得相机参数的初始值等于该相机参数的理论标定值,校正前同心椭圆的中心点坐标为同心椭圆的中心点矫正坐标。

由上可见,通过设定预设坐标偏差,并将每次矫正后同心椭圆的中心点坐标与预设坐标偏差进行对比,以保证矫正后同心椭圆的中心点与同心圆的理论中心点基本吻合,从而使得最终所设定的相机参数的准确性。

如图3和图10所示,本发明实施例还提供了一种相机参数标定设备,该相机参数标定设备包括:

上述相机参数初始化装置100,用于设定所述相机参数的初始值,所述相机参数的初始值至少包括相机主点初始坐标(cx0,cy0);

相机参数优化装置200,用于利用所述相机参数的初始值对相机参数进行最优化处理。

与现有技术相比,本发明实施例提供的相机参数标定设备的有益效果与上述相机采参数初始化方法的有益效果相同,在此不做赘述。

在一些实施例中,如图9和图11所示,上述相机参数优化装置包括:

参数处理模块210,采用莱文贝格-马夸特方法对所述相机参数的初始值进行最优化处理,获得相机参数的理论标定值。

图像校正模块220,用于根据所述相机参数的理论标定值对多个视角的标定图像进行处理,获得多个视角的矫正后标定图像,根据每个视角的矫正后标定图像,获得每个视角的各个矫正后同心椭圆的中心点坐标;每个视角的矫正后标定图像包括多个矫正后同心椭圆。

偏差判断模块230,用于根据每个视角的各个矫正后同心椭圆的中心点坐标与对应视角的多个矫正前同心椭圆的中心点坐标,获得每个视角的各个同心椭圆的中心点偏差。

参数赋值模块240,用于在同心椭圆的中心点偏差大于预设坐标偏差时,将所述相机参数的理论标定值设定为相机参数的标定值。

参数更新模块250,用于在同心椭圆的中心点偏差大于预设坐标偏差时,更新所述相机参数的初始值和校正前同心椭圆的中心点坐标,使得所述相机参数的初始值等于所述相机参数的理论标定值,所述校正前同心椭圆的中心点坐标为同心椭圆的中心点矫正坐标。

在一些实施例中,如图2所示,上述相机参数标定设备还包括标定板01,所述标定板包括板体010,以及形成在板体010上的多个同心圆011,各个同心圆的参数相同,每个所述同心圆的圆心为同心圆的中心点。每个所述同心圆的参数包括圆尺寸和圆数量,多个同心圆的中心点呈矩阵化排布,使得相邻两个同心圆的中心点之间的距离固定,以方便初始化。

每个所述同心圆包括半径不同的n个圆,r1i=r2i=……=rmi,r1i为第1个同心圆所含有的第i个圆的编号,r2i为第2个同心圆所含有的第i个圆的编号,rmi为第m个同心圆所含有的第i个圆的编号,m为同心圆的总数,i为大于等于1小于等于n的整数。

本发明实施例还提供了一种图像采集系统,该图像采集系统包括上述相机参数标定设备。

与现有技术相比,本发明实施例提供的图像采集设备的有益效果与上述相机采参数初始化方法的有益效果相同,在此不做赘述。所述图像采集设备包括但不仅限于鱼眼相机等广角相机、广角摄影机等。

本发明实施例还提供了一种计算机存储介质,该计算机存储介质用于储存一个或多个计算机软件指令,其包含用于执行上述相机参数初始化方法或上述相机参数标定方法所设计的程序。

与现有技术相比,本发明实施例提供的计算机存储介质的有益效果与上述相机采参数初始化方法的有益效果相同,在此不做赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于上述计算机存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的计算机存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

如图12所示,本发明实施例还提供了一种相机参数标定终端300,包括处理器330、收发器310、存储器320和总线340,处理器330、收发器310和存储器320通过总线340彼此通信。其中,

存储器用于存储多个指令以实现上述相机参数初始化方法或相机参数标定方法,处理器执行所述多个指令以实现上述图像处理器控制方法。

其中,本发明实施例所述的处理器330可以是一个处理器,也可以是多个处理元件的统称。例如,该处理器330可以是中央处理器(centralprocessingunit,简称cpu),也可以是特定集成电路(applicationspecificintegratedcircuit,简称asic),或者是被配置成实施本发明实施例的一个或多个集成电路,例如:一个或多个微处理器(digitalsignalprocessor,简称dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,简称fpga)。

存储器320可以是一个存储装置,也可以是多个存储元件的统称,且用于存储可执行程序代码等。且存储器可以包括随机存储器(ram),也可以包括非易失性存储器(non-volatilememory),例如磁盘存储器,闪存(flash)等。

总线340可以是工业标准体系结构(industrystandardarchitecture,isa)总线、外部设备互连(peripheralcomponent,pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,eisa)总线等。该总线340可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

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

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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