鱼眼相机标定系统、方法、装置、电子设备及存储介质与流程

文档序号:18512747发布日期:2019-08-24 09:14阅读:185来源:国知局
鱼眼相机标定系统、方法、装置、电子设备及存储介质与流程

本申请涉及相机标定技术领域,更具体地,涉及一种鱼眼相机标定系统、方法、装置、电子设备及存储介质。



背景技术:

相机标定是机器视觉、摄影测量、3d成像和图像几何校正等工作中的关键技术之一,它的主要作用是估计相机的内外参数。标定结果的精度和标定算法的稳定性直接影响后续工作的准确性。一般的标定方法中,需要采集多张图像,因此需要人为的移动标定板或是相机,在实际的应用中,不仅费时费力,也增加了生产的成本。



技术实现要素:

本申请提出了一种鱼眼相机标定系统、方法、装置、电子设备及存储介质,以改善上述问题。

第一方面,本申请实施例提供了一种鱼眼相机的标定系统,该系统包括多面体标靶,鱼眼相机以及电子设备。所述多面体标靶包括内表面以及设置于所述内表面的多个标记层,所述内表面由多个六边形平面和五边形平面组成;所述鱼眼相机用于拍摄所述多面体标靶,采集标靶图像,所述标靶图像包括多面体标靶以及设置于所述多面体标靶的内表面上的多个标记点的图像;所述电子设备用于根据所述标靶图像,将选取的径向畸变模型与等距投影模型进行拟合,获得畸变参数k1、k2、k3、k4、k5的初始值;根据所述畸变参数k1、k2、k3、k4、k5的初始值以及公式rmax=k1θmax+k2θmax3+k3θmax5+k4θmax7+k5θmax9计算得到半径rmax,其中,θmax表示鱼眼相机的最大视场角;所述电子设备还用于对所述标靶图像中的多面体标靶进行椭圆拟合,根据拟合的椭圆以及rmax的值获得u0,v0,mu,mv的初始值,其中,(u0,v0)为主点,mu和mv分别为图像坐标水平方向上单位距离的像素点个数和垂直方向上单位距离的像素点个数,mu和mv分别为图像坐标水平方向上单位距离的像素点个数和垂直方向上单位距离的像素点个数;所述电子设备还用于根据所述多面体标靶获取每个标记点所在的五边形平面和六边形平面的平移矩阵tj和旋转矩阵rj;所述电子设备还用于使用levenberg-marquardt算法对k1,k2,k3,k4,k5,u0,v0,mu,mv,tj,rj的初始值进行优化以确定所述鱼眼相机的成像模型参数。

第二方面,本申请实施例提供了一种鱼眼相机标定方法,该方法包括:获取标靶图像,所述标靶图像包括多面体标靶以及设置于所述多面体标靶的内表面上的多个标记点的图像;根据所述标靶图像,将选取的径向畸变模型与等距投影模型进行拟合,获得畸变参数k1、k2、k3、k4、k5的初始值;根据所述畸变参数k1、k2、k3、k4、k5的初始值以及公式rmax=k1θmax+k2θmax3+k3θmax5+k4θmax7+k5θmax9计算得到半径rmax,其中,θmax表示所述鱼眼相机的最大视场角;对所述标靶图像中的多面体标靶进行椭圆拟合,根据拟合的椭圆以及rmax的值获得u0,v0,mu,mv的初始值,其中,(u0,v0)为主点,mu和mv分别为图像坐标水平方向上单位距离的像素点个数和垂直方向上单位距离的像素点个数;根据所述多面体标靶获取每个标记点所在的五边形平面和六边形平面的平移矩阵tj和旋转矩阵rj;使用levenberg-marquardt算法对k1,k2,k3,k4,k5,u0,v0,mu,mv,tj,rj的初始值进行优化以确定所述鱼眼相机的成像模型参数。

本申请实施例提供的鱼眼相机标定系统、方法、装置、电子设备及存储介质,通过采集多面体标靶的标靶图像,所述标靶图像包括多面体标靶以及设置于所述多面体标靶的内表面上的多个标记点的图像;根据标靶图像将选取的径向畸变模型与等距投影模型进行拟合,获得畸变参数k1、k2、k3、k4、k5的初始值根据所述畸变参数k1、k2、k3、k4、k5的初始值以及公式rmax=k1θmax+k2θmax3+k3θmax5+k4θmax7+k5θmax9计算得到半径rmax;对所述标靶图像中的多面体标靶进行椭圆拟合,根据拟合的椭圆以及rmax的值获得u0,v0,mu,mv的初始值,其中,(u0,v0)为主点;根据所述多面体标靶获取每个标记点的所在的五边形平面和六边形平面的平移矩阵tj和旋转矩阵rj;使用levenberg-marquardt算法对k1,k2,k3,k4,k5,u0,v0,mu,mv,tj,rj的初始值进行优化以确定所述鱼眼相机的成像模型参数。通过拍摄所述多面体标靶得到标靶图像,不需要移动标靶或相机采集多幅标靶图像,只采集一幅标靶图像即可实现鱼眼相机的快速和高精度的标定。

本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。

附图说明

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

图1示出了本申请一个实施例提供的鱼眼相机标定系统的示意图。

图2示出了本申请一个实施例提供的多面体标靶的示意图。

图3示出了本申请一个实施例提供的多面标靶内表面的拼接示意图。

图4示出了本申请一个实施例提供的多面体标靶内表面的平面展开图。

图5示出了本申请一个实施例提供的在第一视角下的标靶。

图6示出了本申请一个实施例提供的标记层与所述五边形平面或六边形平面的贴合示意图。

图7示出了本申请一个实施例提供的鱼眼相机标定方法的流程图。

图8示出了本申请一个实施例提供的第一虚拟球面的球心与五边形平面或六边形平面的关系示意图。

图9示出了本申请一个实施例提供的鱼眼相机标定装置的结构框图。

图10示出了本申请实施例提出的用于执行根据本申请实施例的鱼眼相机标定方法的电子设备的结构框图。

图11示出了本申请实施例提供的用于保存或者携带实现根据本申请实施例的鱼眼相机标定方法的程序代码的存储介质。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

相机标定是机器视觉、摄影测量、3d成像和图像几何校正等工作中的关键技术之一,它的主要作用是估计相机的内外参数。标定结果的精度和标定算法的稳定性直接影响后续工作的准确性。一般视角相机可以用针孔模型表示,使用透视投影映射和仿射变换即可进行标定。近年来,鱼眼相机由于其超大的视场范围,在全景视觉、视频监控,汽车导航,虚拟现实等领域得到广泛应用。然而大视场同时也带来严重的图像畸变,影响人眼直观的视觉感受以及图像信息的利用。为了对图像畸变进行校正,需要对鱼眼相机进行标定。

目前已经研究成熟的方法是采用平面标靶,已有基于平面标靶的工具软件,例如:matlab工具箱及opencv工具软件。在这些方法中,将平面标定板放置于相机前不同的位置采集多张标靶图像,以获得分布范围较大的标定原始数据。该方法需多次摆放标定板在不同位置并采集标靶图像,或者多次转动相机在不同方位并采集标靶图像。这些方法对于某些需要快速安装鱼眼相机并完成标定的场合并不适用,比如批量生产或组装鱼眼相机的生产线。

因此,发明人提出了本申请的鱼眼相机标定系统、方法、装置、电子设备及存储介质。通过采集多面体标靶的标靶图像,所述标靶图像包括多面体标靶以及设置于所述多面体标靶的内表面上的多个标记点的图像;根据标靶图像将选取的径向畸变模型与等距投影模型进行拟合,获得畸变参数k1、k2、k3、k4、k5的初始值;根据所述畸变参数k1、k2、k3、k4、k5的初始值以及公式rmax=k1θmax+k2θmax3+k3θmax5+k4θmax7+k5θmax9计算得到半径rmax,其中,θmax表示鱼眼相机的最大视场角;对所述标靶图像中的多面体标靶进行椭圆拟合,根据拟合的椭圆以及rmax的值获得u0,v0,mu,mv的初始值,其中,(u0,v0)为主点,mu和mv分别为图像坐标水平方向上单位距离的像素点个数和垂直方向上单位距离的像素点个数;根据所述多面体标靶获取每个标记点所在的五边形平面和六边形平面的平移矩阵tj和旋转矩阵rj;使用levenberg-marquardt算法对k1,k2,k3,k4,k5,u0,v0,mu,mv,tj,rj的初始值进行优化以确定所述鱼眼相机的成像模型参数。通过多面体标靶,不需要移动标靶或相机采集多幅标靶图像,只采集一幅标靶图像即可实现鱼眼相机的快速和高精度的标定。

请参阅图1,本申请实施例提供了一种基于多面体标靶的鱼眼相机的标定系统,具体的,该系统可以包括多面体标靶100、鱼眼相机200以及电子设备300,其中,鱼眼相机200和电子设备300可以是一个装置,也可以为两个装置,所述鱼眼相机200为带有鱼眼镜头的相机。所述多面体标靶100包括内表面以及设置于所述内表面的多个标记层,所述标记层包括多个标记点。其中,所述内表面由多个多边形平面拼接而成,所述多个多边形平面拼接后形成顶点,所述顶点位于第一虚拟球面上,所述第一虚拟球面的球心到每个顶点的距离相等。所述鱼眼相机200设置于所述第一虚拟球面的球心位置,拍摄所述多面体标靶100,获得标靶图像,所述标靶图像包括多面体标靶以及设置于所述多面体标靶的内表面上的多个标记点的图像。

所述系统还可以包括光源,光源设置在所述多面体标靶的内表面一侧,使得内表面中的光线充足,从而在使用鱼眼相机拍摄所述标靶100得到的标靶图像更加清晰,从而提升对鱼眼相机标定的准确度。

鱼眼相机200可以将拍摄的标靶图像发送给电子设备300,电子设备300根据标靶图像,将选取的径向畸变模型与等距投影模型进行拟合,获得畸变参数k1、k2、k3、k4、k5的初始值;根据所述畸变参数k1、k2、k3、k4、k5的初始值以及公式rmax=k1θmax+k2θmax3+k3θmax5+k4θmax7+k5θmax9计算得到半径rmax,其中,θmax表示鱼眼相机的最大视场角;对所述标靶图像中的多面体标靶进行椭圆拟合,根据拟合的椭圆以及rmax的值获得u0,v0,mu,mv的初始值,其中,(u0,v0)为主点;根据所述多面体标靶获取每个标记点所在的五边形平面和六边形平面的平移矩阵tj和旋转矩阵rj;使用levenberg-marquardt算法对k1,k2,k3,k4,k5,u0,v0,mu,mv,tj,rj的初始值进行优化以确定所述鱼眼相机的成像模型参数,从而对鱼眼相机200进行标定。

其中,所述多面体标靶100包括外表面、内表面以及设置于所述内表面的多个标记层。请参阅图2,示出了本申请实施例提供的多面体标靶的示意图。多面体标靶100包括外表面、内表面110和标记层120。其中,所述外表面可以是如图2所示出的多面体,也可以是半球形,或是矩形,可以根据需要进行设置,在此不再赘述。所述内表面110为由多个五边形平面和六边形平面拼接而成的类似于半球形的内表面,其中,拼接方式可以是固定连接的方式如焊接,也可以是活动连接的方式如铰链连接,在此不做限定。

具体的,所述内表面110可以由多个五边形平面111和六边形平面112拼接而成。请参阅图3,示出了所述多面体标靶内表面的拼接示意图。其中,拼接所述内表面110使用的完整的五边形平面的数目为4个,完整的六边形平面的数目为8个,部分的五边形平面的数目为4个,部分的六边形平面的数目为4个。拼接后的多面体的内表面110的顶点113位于第一虚拟球面上,即所述第一虚拟球面的球心到所述内表面110上的每个顶点113的距离相等。其中,所述拼接后的内表面110中,所有的五边形平面111与第二虚拟球面相切,即所述第二虚拟球面的球心与所述五边形平面111的中心的连线与该五边形平面111垂直;拼接后的内表面110中,所有的六边形平面112与第三虚拟球面相切,即所述第三虚拟球面的球心与所述六边形平面112的中心的连线与该六边形平面112垂直。所述第一虚拟球面的球心、第二虚拟球面的球心、第三虚拟球面的球心重合。

请参阅图4,示出了本申请实施例提供的多面体标靶内表面的平面展开图。由该平面展开图可以得知,所述部分的五边形平面111为完整的五边形平面的一半,所述部分的六边形平面112为完整的六边形平面的一半。同时请参阅图5,示出了本申请实施例提供的在第一视角下的标靶。其中,所述第一视角定义为过第一虚拟球面的球心且垂直于所述内表面110的对立面的视角。在第一视角下,编号为1、2、6、7的半个六边形平面112与第一视角的方向平行,则投影为一条线,编号为3、5、8、10的半个五边形平面111也与第一视角的方向平行,则投影为一条线。

所述标记层120设置于所述内表面110上,所述标记层120可以是圆形标记图像或是棋盘格标记图像,其中,所述标记层包括多个标记点,标记点的大小可以不同。具体的,所述标记层120设置于拼接成所述内表面110的多个五边形平面和六边形平面上。请参阅图6,示出了本申请实施例提供的标记层与所述五边形平面或六边形平面的贴合示意图。其中,所述标记层120贴合于所述五边形平面111或六边形平面112上,可以是,一个五边形平面贴合一个标记层,一个六边形平面贴合一个标记层,所述标记层120的中心与所述五边形平面111或六边形平面112的中心重合,且所述标记层120的一边至少与所述五边形平面111或六边形平面112的一条边平行。

具体的,如图6所示,标记层120由多个大小不同的标记点121组成,其中,每个标记层120中大小不同的标记点121形成该标记层120的标记点组合方式,不同的标记层120,标记点组合方式不同,在所述鱼眼相机200拍摄所述标靶100得到标靶图像时,则可以根据所述标记层120中标记点组合方式确定所述标靶图像中的标记点与标靶中的标记点121的对应关系。

请参阅图7,本申请实施例提供了一种鱼眼相机标定方法,应用于上述鱼眼相机标定系统,具体的,该方法可以包括:

步骤s210,获取标靶图像,所述标靶图像包括多面体标靶以及设置于所述多面体标靶的内表面上的多个标记点的图像。

电子设备可以获取到使用鱼眼相机拍摄的标靶图像,具体的,可以是电子设备通过网络等方式接收到鱼眼相机发送的标靶图像,也可以是,通过u盘或存储卡获取到标靶图像。其中标靶图像包括多面体标靶以及设置于所述多面体标靶的内表面上的多个标记点的图像。

步骤s220,根据所述标靶图像,将选取的径向畸变模型与等距投影模型进行拟合,获得畸变参数k1、k2、k3、k4、k5的初始值。

普通的相机成像遵循针孔相机模型,在成像过程中实际场景中的直线仍被投影为图像平面上的直线,但是鱼眼相机如果按照针孔相机模型成像,投影图像会变得非常大,当相机视场角达到180度时,图像会变为无穷大。因此鱼眼相机的超广角特性,不能通过投影变换将一个半球的视场投射到一个有限的图像平面上,必须采用其他的模型表示。

本申请选取等距投影作为鱼眼相机模型。其中,等距投影映射方式可表示为r=fθ,其中,r表示所述标靶图像中的任意一点到畸变中心的距离,f表示所述鱼眼相机的焦距,θ表示入射光线与所述鱼眼相机光轴之间的夹角。

由于鱼眼相机的投影模型为了将尽可能大的场景投影到有限的图像平面内,允许了相机畸变的存在,且鱼眼相机的径向畸变非常严重,所以鱼眼相机主要考虑径向畸变。若只考虑鱼眼相机的径向畸变,基于选取的等距模型为鱼眼相机模型,具体的鱼眼相机的径向畸变模型可以表示为:

r(θ)=k1θ+k2θ3+k3θ5+k4θ7+k5θ9+…

其中,r为图像上像素点与相机系统的主点间的距离,θ为入射光线与系统光轴的夹角,其中,k1,k2,k3,k4,k5为鱼眼相机的径向畸变模型中的5个畸变参数,与前面所述的u0,v0,mu,mv,4个参数一起构成鱼眼相机的内参数。在这种模型中,畸变参数并不限定为,k1,k2,k3,k4,k5,还可以有k6,k7,直至kn等,本申请实施例以,k1,k2,k3,k4,k5进行说明,用k1,k2,k3,k4,k5,u0,v0,mu以及mv这9个内参数来表述鱼眼相机的成像特性。

将选取的径向畸变模型即r(θ)=k1θ+k2θ3+k3θ5+k4θ7+k5θ9…与等距投影模型r=fθ进行拟合。在畸变参数中,高阶畸变参数的影响较小,在计算初始值时,可以将高阶畸变参数的初始值设为0,那么可以认为k3=0,k4=0,k5=0,因此,在本申请实施例中,径向畸变模型可以表示为r=k1θ+k2θ3,将该径向畸变模型与所需要的投影方程r=fθ拟合,利用厂方提供的参数焦距f和最大视场角(例如,某一鱼眼相机焦距8mm,最大视场角θmax为180度),可以得到k1=f,k2=0。

步骤s230,根据所述畸变参数k1、k2、k3、k4、k5的初始值以及公式rmax=k1θmax+k2θmax3+k3θmax5+k4θmax7+k5θmax9计算得到半径rmax,其中,θmax表示最大视场角。

由于k1=f,k2=0,k3,k4,k5都设定为0;半径公式为rmax=k1θmax+k2θmax3+k3θmax5+k4θmax7+k5θmax9,因此可以计算获得半径为rmax=fθmax。以前述焦距f为8mm、最大视场角θmax为180度的鱼眼相机为例,将得到的畸变参数的值以及该鱼眼相机的最大视场角为180度,即θmax=π/2代入公式,rmax=k1θmax+k2θmax3+k3θmax5+k4θmax7+k5θmax9得到rmax=f*π/2。

步骤s240,对所述标靶图像中的多面体标靶进行椭圆拟合,根据拟合的椭圆以及rmax的值获得u0,v0,mu,mv的初始值,其中,(u0,v0)为主点,mu和mv分别为图像坐标水平方向上单位距离的像素点个数和垂直方向上单位距离的像素点个数。

其中,(u0,v0)为主点,mu为图像坐标水平方向上单位距离的像素点个数,mv为图像坐标垂直方向上单位距离的像素点个数。对所述标靶图像中的所述多面体标靶进行椭圆拟合,获得a,b,u0,v0的初始值,其中,a为椭圆长轴的长,b为椭圆短轴的长。

由于采集的标靶图像为多面体标靶的内表面的图像,该内表面类似于半球形的内表面,边界在空间上类似为一个圆,成像在图像坐标系上类似为一个椭圆,如图5所示。那么从获取的圆的边界点,拟合一个椭圆,通过提取椭圆的边界就可以知道椭圆的长轴的长a和椭圆短轴的长b。具体的,椭圆拟合方程为其中,a,b的值通过对标靶图像的拟合椭圆的测量可以获知,由此可以求出主点(u0,v0)的值。

在一种实施方式中,可以根据a,b的值以及公式mu=a/rmax和mv=b/rmax,获得mu,mv的初始值。根据拟合椭圆可以获得椭圆的长轴的长a和椭圆的短轴的长b,由于半径公式为rmax=k1θmax+k2θmax3+k3θmax5+k4θmax7+k5θmax9,k1=f,k2=0,k3、k4、k5都设定为0,由此得出rmax=fθmax。进一步,根据rmax=fθmax以及公式mu=a/rmax和mv=b/rmax得出mu,mv的初始值。

在另一种实施方式中,对于全幅相机,可以将主点放置到图像中心,并使用鱼眼相机厂商给出的像素尺寸值来获的mu,mv的初始值,其中,mu和mv分别为图像坐标水平方向上单位距离的像素点个数和垂直方向上单位距离的像素点个数。

步骤s250,根据所述多面体标靶获取每个标记点所在的五边形平面和六边形平面的平移矩阵tj和旋转矩阵rj。

这里,标记点所在的五边形平面和六边形平面是指标记点所在的标记层平面(即标记层所贴合的五边形平面或六边形平面)。具体的,标记点所在的五边形平面和六边形平面的平移矩阵tj和旋转矩阵rj,可以是根据多面体标靶的拼接关系来获得。所述多面体标靶的拼接方式可参照前述实施例对应的内容,为避免重复,在此不再赘述。

由于所述第一虚拟球面的球心与所述每一个五边形平面中心的连线与该五边形平面垂直,且所述第一虚拟球面的球心与所述每一个六边形平面中心的连线与该六边形平面垂直,可参阅图8,示出了第一虚拟球面的球心与五边形平面或六边形平面的关系示意图。其中,o点为所述第一虚拟球面的球心,五边形平面111的中心点为a点,第一虚拟球面的球心与所述五边形平面的中心的连线则为线段oa,线段oa垂直于所述五边形平面111;六边形平面112的中心点为b点,第一虚拟球面的球心与所述五边形平面的中心的连线则为线段ob,线段ob垂直于所述五边形平面112。

通过三角关系,可以计算出拼接所述多面体标靶的五边形平面与六边形平面之间的夹角以及六边形平面与六边形平面之间的夹角。请参阅图4所示出的多面体标靶内表面的平面展开图和图5所示的第一视角下的标靶,若将所述第一虚拟球面的半径设为r,那么图4中各个五边形平面或六边形平面和线段对应的圆心角都可以用含“r”的三角函数表达式表达出来,例如,图4中编号为1-10的五边形平面和六边形平面底边各个线段对应的圆心角都已经能用含“r”的三角函数表达式表示出来,而从图5可以看出编号为1-10的五边形平面和六边形平面底边的这些线段围绕第一虚拟球面的球心形成了一个封闭的十边形,十条边对应的圆心角的和应该等于360°,通过解反三角函数则可以计算出r的值。由此可以得出第二虚拟球面的半径的值、第三虚拟球面的半径的值,以及各个五边形平面和六边形平面之间的夹角。

因此,每个五边形平面和六边形平面的位置可以用他们相对于世界坐标系的旋转矩阵rj和平移向量tj都可以通过计算得到,这些计算得到的旋转矩阵rj和平移向量tj将作为相机参数优化的初值。

根据所述多面体标靶建立世界坐标系,将所述世界坐标系的原点设置在所述第一虚拟球面的球心位置,世界坐标系的xy平面与多面体标靶的底面平行,所述底面可以理解为如图2的方式放置所述多面体标靶时,平行于地面且靠近地面的第一个面。对于拼接所述多面体标靶的每一个五边形平面和六边形平面相对于世界坐标系的位置,都可以用计算得到的旋转矩阵rj和平移矩阵tj表示出来。

标记层设置在所述多边形平面上,其中多边形平面包括五边形平面和六边形平面,由于标记层的中心与五边形平面或六边形平面的中心重合,且标记层的一边与五边形平面或六边形平面的一条边平行,由此可以求出每个标记层上的标记点在所述五边形平面或六边形平面的位置,从而求出标记点相对于世界坐标系的坐标。其中,由于所述标记层中的标记点的大小可以不同,不同的标记层中的标记点可以是不同的组合方式,那么,可以根据标记点的组合方式确定标靶图像中的标记点与实际的多面体标靶中的标记点的对应关系,则可以确定标记点对应的标记层。

其中,那么标记层中的标记点的坐标可以表示为xi=(xi,yi,0)t,其中,xi第i个标记点在五边形平面或六边形平面上的位置向量,xi和yi表示该向量在五边形平面或六边形平面上的x和y坐标,由此,每个五边形平面或六边形平面(即多边形平面)上贴合的标记层中的的标记点可以表示为xc(j,i)=rjx(j,i)+tj,其中,xc(j,i)指在第j个多边形平面,第i个标记点的世界坐标。其中j不少于20,即多边形平面的数量不少于20个。xc(j,i)可以进一步表示为在世界坐标系中的三个分量(xcx,xcy,xcz)的形式为:xc(j,i)=(xcx,xcy,xcz)t,从而可以获知,贴合在五边形平面或六边形平面上的标记层中的每个标记点的世界坐标。

由于世界坐标系原点设置在第一虚拟球面的球心,且世界坐标系的xy平面与多面体标靶的内表面的底面重合,可以得出第j个多边形平面上的第i个标记点在世界坐标系中的经度和维度为:从而可以获取到所述多面体标靶上的每个标记点在世界坐标系中的经度和纬度。

步骤s260,使用levenberg-marquardt算法对k1,k2,k3,k4,k5,u0,v0,mu,mv,tj,rj的初始值进行优化以确定所述鱼眼相机的成像模型参数。

其中,在得到k1,k2,k3,k4,k5,u0,v0,mu,mv,tj,rj的初始值后可以使用levenberg-marquardt算法对k1,k2,u0,v0,mu,mv,tj,rj的初始值和设定为0的高阶畸变参数k3,k4,k5的初始值进行优化以确定所述鱼眼相机的成像模型参数。

具体的,使标靶上的标记点的投影值与标靶上的标记点的测量点之间差的平方和最小。其中,标记点的投影值为根据多面体标靶建立的世界坐标系得到的标记点对应的世界坐标后,根据投影模型计算出标记点对应的像素坐标;测量点是指在使用鱼眼相机拍摄多面体标靶后,测量标靶图像中标记点对应在图像坐标系中的坐标。

本申请提出的鱼眼相机标定方法,通过采集多面体标靶的标靶图像,所述标靶图像包括多面体标靶以及设置于所述内表面上的多个标记层;根据标靶图像将选取的径向畸变模型与等距投影模型进行拟合,获得畸变参数k1、k2、k3、k4、k5的初始值;对所述标靶图像中的多面体标靶进行椭圆拟合,获得u0,v0的初始值;获取mu,mv的初始值,mu和mv分别为图像坐标水平方向上单位距离的像素点个数和垂直方向上单位距离的像素点个数;根据所述多面体标靶获取每个标记点所在的五边形平面和六边形平面的平移矩阵tj和旋转矩阵rj,其他高阶畸变参数k3,k4,k5的初始值设为0,使用levenberg-marquardt算法对这些参数(k1,k2,k3,k4,k5,u0,v0,mu,mv,tj,rj)的初始值进行优化以确定所述鱼眼相机的成像模型参数。通过采集多面体标靶图像,不需要移动标靶或相机采集多幅标靶图像,只需要采集一幅标靶图像即可实现鱼眼相机的快速和高精度的标定。

请参阅图9,其示出了本申请实施例提供的一种鱼眼相机标定装置400,所述装置400包括图像获取模块410,相机标定模块420,数值优化模块430。

图像获取模块410,用于获取标靶图像,所述标靶图像包括多面体标靶以及设置于所述多面体标靶的内表面上的多个标记点的图像;相机标定模块420,用于根据所述标靶图像,将选取的径向畸变模型与等距投影模型进行拟合畸变参数k1、k2、k3、k4、k5的初始值;所述相机标定模块还用于根据所述畸变参数k1、k2、k3、k4、k5的初始值以及公式rmax=k1θmax+k2θmax3+k3θmax5+k4θmax7+k5θmax9计算得到半径rmax,其中,θmax表示所述鱼眼相机的最大视场角;所述相机标定模块还用于对所述标靶图像中的多面体标靶进行椭圆拟合,根据拟合的椭圆以及rmax的值获得u0,v0,mu,mv的初始值,其中,(u0,v0)为主点,mu和mv分别为图像坐标水平方向上单位距离的像素点个数和垂直方向上单位距离的像素点个数;所述相机标定模块还用于根据所述多面体标靶的获取每个标记点所在的五边形平面和六边形平面的平移矩阵tj和旋转矩阵rj;数值优化模块430,使用levenberg-marquardt算法对k1,k2,k3,k4,k5,u0,v0,mu,mv,tj,rj的初始值进行优化以确定所述鱼眼相机的成像模型参数。

进一步的,所述相机标定模块420还用于选取径向畸变模型r=k1θ+k2θ3+k3θ5+k4θ7+k5θ9以及等距投影模型为r=fθ,其中,r表示所述标靶图像中的点到畸变中心的距离,f表示所述鱼眼相机的焦距,θ表示入射光线与所述鱼眼相机光轴之间的夹角;所述相机标定模块420还用于将所述畸变模型与等距投影模型进行拟合得到k1=f,k2=0,k3、k4、k5都设定为0。

进一步的,所述相机标定模块420还用于根据k1=f,k2=0,k3、k4、k5都设定为0以及公式rmax=k1θmax+k2θmax3+k3θmax5+k4θmax7+k5θmax9,计算得到半径rmax=f*θmax。

进一步的,所述相机标定模块420还用于对所述标靶图像中的所述多面体标靶进行椭圆拟合,获得椭圆拟合方程为其中,a为椭圆长轴的长,b为椭圆短轴的长;获取所述标靶图像中的所述多面体标靶的边界点,获得a,b的值;根据a,b的值、rmax的值以及公式mu=a/rmax和mv=b/rmax,获得mu,mv的初始值。

进一步的,所述相机标定模块420还用于根据所述多面体标靶的顶点位于第一虚拟球面上,所述第一虚拟球面的球心到每个顶点的距离相等,且所述第一虚拟球面的球心与每个五边形平面或六边形平面的中心的连线与该五边形平面或六边形平面垂直的关系获得每个五边形平面或六边形平面相对于世界坐标系的平移矩阵tj和旋转矩阵rj;根据所述每个五边形平面或六边形平面相对于世界坐标系的平移矩阵tj和旋转矩阵rj,以及标记层的中心与所述五边形平面或六边形平面的中心重合,且所述标记层的一边与所述五边形平面或六边形平面的一条边平行获得每个标记点相对于世界坐标系的坐标。

进一步的,所述数值优化模块430还用于利用levenberg-marquardt算法使所述多面体标靶上的点的投影点与所述多面体标靶上的点的测量点之间差的平方和最小。

需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

综上所述,本申请提供的鱼眼相机标定的方法及装置,通过采集多面体标靶的标靶图像,所述标靶图像包括多面体标靶以及设置于所述多面体标靶的内表面上的多个标记点的图像;根据标靶图像将选取的径向畸变模型与等距投影模型进行拟合,获得畸变参数k1、k2、k3、k4、k5的初始值;根据所述畸变参数k1、k2、k3、k4、k5的初始值以及公式rmax=k1θmax+k2θmax3+k3θmax5+k4θmax7+k5θmax9计算得到半径rmax,其中,θmax表示所述鱼眼相机的最大视场角;对所述标靶图像中的多面体标靶进行椭圆拟合,根据所述拟合的椭圆以及rmax的值获得u0,v0,mu,mv的初始值,其中,(u0,v0)为主点,mu和mv分别为图像坐标水平方向上单位距离的像素点个数和垂直方向上单位距离的像素点个数;根据所述多面体标靶获取每个标记点所在的五边形平面和六边形平面的平移矩阵tj和旋转矩阵rj,其他高阶畸变参数k3,k4,k5的初始值设为0,使用levenberg-marquardt算法对这些参数(k1,k2,k3,k4,k5,u0,v0,mu,mv,tj,rj)的初始值进行优化以确定所述鱼眼相机的成像模型参数。通过多面体标靶,不需要移动标靶或相机采集多幅标靶图像,只采集一幅标靶图像即可实现鱼眼相机的快速和高精度的标定。

在本申请所提供的几个实施例中,所显示或讨论的模块相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

请参考图10,其示出了本申请实施例提供的一种电子设备的结构框图。该电子设备500可以是手机、平板电脑等能进行数据处理的移动终端。

本申请中的电子设备500可以包括一个或多个如下部件:处理器510、存储器520、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器520中并被配置为由一个或多个处理器510执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。

处理器510可以包括一个或者多个处理核。处理器510利用各种接口和线路连接整个电子设备500内的各个部分,通过运行或执行存储在存储器520内的指令、程序、代码集或指令集,以及调用存储在存储器520内的数据,执行电子设备500的各种功能和处理数据。可选地,处理器510可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器510可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器510中,单独通过一块通信芯片进行实现。

存储器520可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。存储器520可用于存储指令、程序、代码、代码集或指令集。存储器520可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备500在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。

请参考图11,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读存储介质600中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。

计算机可读存储介质600可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质600包括非瞬时性计算机可读介质(non-transitorycomputer-readablestoragemedium)。计算机可读存储介质600具有执行上述方法中的任何方法步骤的程序代码610的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码610可以例如以适当形式进行压缩。

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

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