本发明涉及机器视觉领域,尤其涉及一种基于畸变参数的鱼眼相机标定方法。
背景技术:
鱼眼相机是一种短焦距、超广角的镜头,拍摄角度范围在150到200度之间,可以拍摄出全景或者半球状的图片,在视频监控、医疗、军事、全景系统等领域得到广泛应用。然而由于鱼眼相机自身的成像特点,使得拍摄的图像存在明显的畸变现象,不适于人眼直接观看。因此,在实际应用中,鱼眼相机拍摄的图像并不会被直接使用,而是在进行一定的矫正处理以适于人眼直接观看后再被使用。上述对鱼眼相机拍摄的图像进行畸变矫正的过程就是鱼眼相机的标定过程。
鱼眼相机的标定方法与普通相机的标定方法类似,可以将其分为基于标定物的方法和自标定的方法。其中,基于标定物的方法需要将一块标定板如棋盘格标定板或圆点型标定板,摆放在鱼眼相机视场内不同位置处并依次对其进行拍摄,然后检测拍摄的图像上的特征点,使用基于平板标定方法和针孔相机模型来对鱼眼相机进行标定,可以标定出相机的内参和畸变系数。基于标定物的方法具有较高的标定精度,但是需要从不同角度拍摄多张图像,且一般需要的图像数量多于5张才能完成标定,耗费时间且过程繁琐,不适合大批量的使用。
针对基于标定物的方法所存在的缺陷,国内外学者提出了很多基于数学模型的自标定方法,例如:basu根据鱼眼相机的成像特点提出了一种鱼眼变换(fet)模型,是一种对数模型;考虑到普通相机中的偶次多项式模型不足以补偿鱼眼相机中的大畸变,devernay提出了一种既有奇次项系数又有偶次项系数的多项式鱼眼变换模型(pfet),这种模型独立于鱼眼相机的映射函数,并且将鱼眼相机的制造误差考虑在内;devernay又通过讨论在鱼眼图像平面中的畸变径向距离和无畸变径向距离之间的关系提出了fov模型;burchardt和fitzgibbon提出了一种除法模型,来对鱼眼相机进行畸变校正;kannala在等距投影模型的基础上提出了一种通用的奇次多项式形式的鱼眼相机模型。
上述基于数学模型的自标定方法,虽然不需要另外采集图像进行标定就能获得较好的标定效果,但是需要的前提条件是:鱼眼相机的模型要符合设定的数学模型。事实上,每款相机的畸变模型并不一样,且实际的相机畸变模型也并非是理想情况下的模型,因此,上述基于数学模型的自标定方法只适合某些特定的鱼眼相机,不能普遍使用。
技术实现要素:
针对上述鱼眼相机标定方法所存在的缺陷,本发明提供一种基于畸变参数的鱼眼相机标定方法。
本发明提供一种基于畸变参数的鱼眼相机标定方法,包括以下步骤:s1:建立鱼眼相机的畸变成像模型,所述畸变成像模型是以入射角度为参量的多项式模型,具体表示式为:,表示投影距离,即具有入射角的入射光线经鱼眼相机后在成像平面上形成的成像点到图像中心点的实际物理距离,表示畸变系数;s2:采用基于最小二乘原理的多项式拟合方式求取所述畸变成像模型的所述畸变系数;s3:根据所述畸变成像模型,对鱼眼相机拍摄的图像进行畸变矫正。
优选的,所述步骤s2是根据鱼眼相机自身的畸变参数来求取所述畸变成像模型的所述畸变系数,所述畸变参数包括物方视场角度和实际像高度。
优选的,在所述步骤s2中,基于以下的矩阵计算式求取所述畸变成像模型的所述畸变系数:
其中,二维数据集表示数据输入,m表示xi或yi的总数量,表示所述畸变模型的所述畸变系数。
优选的,所述步骤s2进一步包括:将所述物方视场角度和所述实际像高度分别对应所述二维数据集的和;根据由所述物方视场角度和所述实际像高度组成的所述二维数据集的散点图的分布,确定与所述散点图的分布最接近的多项式的阶数n。
优选的,所述多项式的阶数为4。
优选的,在所述步骤s3中:计算图像畸变矫正之前的像素点到图像畸变矫正之后的图像中心点的像素距离,具体计算表示式为:,,和分别表示畸变矫正之后的图像的高度和宽度。
优选的,所述步骤s3进一步包括:计算图像畸变矫正之前的像素点的入射角,具体计算表示式为:,表示鱼眼相机的焦距。
优选的,所述步骤s3进一步包括:在已知畸变矫正之前图像上的像素点、畸变矫正之前的图像中心点和畸变矫正之后的图像中心点的情况下,根据图像的畸变矫正转换关系式得到与像素点对应的畸变矫正之后的像素点,所述畸变矫正转换关系式为:
,和分别表示畸变矫正之前的图像的高度和宽度;和分别表示鱼眼相机在横轴和纵轴的像元尺寸。
本发明提出的基于畸变参数的鱼眼相机标定方法,并不需要标定物如标定板,只需要以鱼眼相机生产厂家提供的畸变参数表作为数据来源,根据畸变参数表中的畸变参数就可以准确的得到鱼眼相机的畸变模型,从而获得十分精确的标定结果。
附图说明
图1示例性的示出了基于半单位球面模型的鱼眼相机成像的示意图;
图2示例性的示出了针孔成像模型的示意图;
图3示例性的示出了基于畸变参数的鱼眼相机标定方法的步骤示意图;
图4示例性的示出了鱼眼相机拍摄的图像中存在桶型畸变的示意图;
图5示例性的示出了鱼眼相机的畸变参数表;
图6示例性的示出了分别以畸变参数表中的入射角度和实际像高度为横坐标和纵坐标构成的二维散点示意图;
图7示例性的示出了采用基于畸变参数的鱼眼相机标定方法生成的畸变成像模型为4次多项式的曲线示意图;
图8示例性的示出了未经过畸变矫正的鱼眼相机拍摄的图像;
图9示例性的示出了采用基于畸变参数的鱼眼相机标定方法,对图7进行畸变矫正后显示的图像。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域的技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如背景技术所述,鱼眼相机在应用时需要进行标定,然而采用现有标定技术受限于相机类型和特殊标定设备的要求,通用性和适用性较低。
图1示例性的示出了基于半单位球面模型的鱼眼相机成像的示意图。
如图1所示,一个三维空间点x通过一个鱼眼相机成像点为m,q为x在以oc为球心的半球体的投影点,oc-xcyczc表示摄像机坐标系,o-xy表示图像坐标系。
最理想的情况下,相机成像的过程为小孔成像模型,不存在明显的畸变并且符合理想成像规律,在图像平面上物体成像的高度为:
(1)
其中,表示物方视场角度,即入射光线与光轴之间的夹角;f表示相机的焦距;y表示成像高度。
物方视场角度的大小决定相机拍摄到场景的范围大小;由表示式(1)可知,焦距f决定实际物体在图像上的成像比例,如果拍摄的距离固定,则相机的焦距f越大,物体在图像上的成像高度y就越大。
另外,鱼眼相机成像的规律一般遵循下述四种投影规律:
正交投影成像:
等立体成像:
等距投影成像:
体视投影成像:
上述四种投影规律都具有桶形畸变的特点,但各自又具有不同的性质。在大多数鱼眼相机模型的选取过程中会倾向于选择第四种投影规律,因为其更符合鱼眼相机的真实成像过程。
图2示例性的示出了针孔成像模型的示意图。
如图2所示,通过小孔成像模型将世界坐标系中物体的三维坐标点投影到二维图像平面的像素坐标系中,上述投影公式可表示为:
(2)
其中,s是一个比例常数,(x,y,z)表示世界坐标系中的三维坐标点(单位:毫米mm),(u,v)表示投影在图像平面上的点的像素坐标(单位:像素pixel),表示相机内参(投影)矩阵,表示相机旋转-平移矩阵,(cx,cy)表示成像平面内的图像中心点坐标(单位:像素pixel),(fx,fy)表示以像素为单位的焦距。
其中,,height和width分别表示成像平面内图像的高度和宽度;,分别表示相机在横轴和纵轴的像元尺寸。
在上述表示式(2)中,内参矩阵a为鱼眼相机自身的参数,与外部环境无关,即不依赖场景的视图,对于某一个相机只要焦距固定,就不再改变。而旋转-平移矩阵又被称作为外参数矩阵,用来描述相机相对于一个固定场景的运动,即将世界坐标点(x,y,z)的坐标变换到某个坐标系上,这个坐标系通常被称为相机坐标系,其相对于相机来说是固定不变的。将世界坐标系中物体的三维坐标点变换到相机坐标系上的点的刚体变换表示为:
(3)
其中,(x,y,z)表示相机坐标系上的点(单位:mm),r和t分别表示旋转矩阵和平移矩阵。
图3示例性的示出了基于畸变参数的鱼眼相机标定方法步骤示意图。
步骤101,建立鱼眼相机的畸变成像模型,其中所述畸变成像模型包括数个畸变系数。
图4示例性的示出了鱼眼相机拍摄的图像中存在桶型畸变的示意图。
如图4所示,图像中的线条由于畸变发生弯曲,且图像中间区域畸变较小。对于鱼眼相机,存在比较严重的畸变主要是径向形变,也会有轻微的切向形变。因此,根据鱼眼相机桶型畸变的特点,可建立多项式形式的畸变模型,并采用基于多项式拟合的方式求出畸变模型的畸变系数。
在本发明中,以入射光线的入射角度为参量,构建鱼眼相机的畸变成像模型,也即多项式模型,具体表示式如下:
(4)
其中,表示投影距离,即具有入射角的入射光线经鱼眼相机后在成像平面上形成的成像点(u,v)到图像中心点的实际物理距离,单位为mm;表示畸变系数。
步骤102,采用基于最小二乘原理的多项式拟合方式求取所述畸变成像模型的所述畸变系数。
本发明采用的基于最小二乘原理的多项式拟合方式,即通过一个给定的数据集,在确定的函数类中,找到,使得误差的平方和最小,即:
(5)
其中,函数类中包含的函数为所有次数不超过的多项式构成的函数,即:
(6)
使得:
(7)
当拟合的函数为多项式时称为多项式拟合,满足上述(7)式的称为最小二乘拟合多项式。
根据上述(7)式对多项式拟合的过程就是求的极值问题,由多元函数的求极值的必要条件,得到如下表示式:
(8)
即:
(9)
表达式(9)是关于的线性方程组,用矩阵表示如下:
(10)
上述表达式(10)中的系数矩阵为一个对称的正定矩阵,故存在唯一解,因而只需根据数据集,即可求出系数。
在本发明提供的鱼眼相机标定方法中,参与表达式(10)计算的数据集是从鱼眼相机的畸变参数表中选取出的畸变参数,为鱼眼相机的内部参数。
畸变参数表是一种描述鱼眼相机的角度和像高的数字表,如图5所示,畸变参数表中的畸变参数主要包括:物方视场角度(fov,fieldofview)、实际像高度(realimageheight)、近轴高度(paraxialimageheight);其中,实际像高度是指通过追溯实际光线到达成像平面,直到找到指定的像高值。每款鱼眼相机的生产都有自己独立的工业水平,所以同一批次的鱼眼相机具有相同的畸变参数表。其中,畸变参数表中的物方视场角度和实际像高度数据就反映了一款鱼眼相机的畸变情况,因此,本发明将物方视场角度和实际像高度作为数据集,参与表达式(10)的计算,其中m的数值至多为鱼眼相机的畸变参数表中示出的全部物方视场角度的个数或全部实际像高度的个数。
具体为,xi的数值采用的是畸变参数表中第一列表示的物方视场角度数据(fov,fieldofview),即;yi的数值采用的是畸变参数表中第三列表示的实际像高度数据,即。将上述xi和yi代入表达式(10)计算后得到的系数即为畸变系数,得到的多项式即为表达式(4)所表示的畸变成像模型。
另外,表达式(4)中多项式阶数n在理论上可以取到无穷次,然而在实际应用中,为了获得更好的精度,阶数n的选取是依据鱼眼相机的实际数据进程,即根据由畸变参数表中畸变参数组成的数据集的散点图的分布,判断出与其分布最接近的多项式的阶数n;在试验中发现,由畸变参数表中畸变参数组成的数据集,其形成的散点图与4次多项式的曲线分布最相符,如图6-7所示,因此表达式(4)中多项式阶数n可取4,即采用基于4次多项式的拟合,得到5个畸变系数,分别为:。
步骤103,根据所述畸变成像模型,对鱼眼相机拍摄的图像进行畸变矫正。
根据鱼眼相机的透视模型,鱼眼相机拍摄的图像在进行畸变矫正之前,其上的任意一个像素点可表示为,图像中心点表示为,其中,height和width分别表示畸变矫正之前的图像的高度和宽度;对鱼眼相机拍摄的图像进行畸变矫正之后,原像素点对应的矫正之后的像素点表示为,矫正之后的图像中心点表示为,其中,和分别表示畸变矫正之后的图像的高度和宽度,所述高度和宽度的大小,根据实际应用场景可被事先定义或限定。
上述图像矫正之前的像素点到图像矫正之后的图像中心点的像素距离表示如下:
(11)
然后结合表达式(11)和表达式(1),可计算得到矫正之前的像素点的入射角,即:
(12)
将表达式(12)得到的像素点的入射角代入表达式(4),可得到矫正之前的像素点的入射角所对应的投影距离,表示如下:
(13)
另外,矫正之后的像素点与矫正之前的图像中心点之间横轴坐标的像素距离和纵轴坐标的像素距离,分别表示如下:
(14)
同理,矫正之前的像素点与矫正之后的图像中心点之间横轴坐标的像素距离和纵轴坐标的像素距离,分别表示如下:
(15)
由于表达式(13)中的为成像平面上像素点投影的实际物理距离,将其转换为分别对应于横轴坐标和纵轴坐标的实际像素距离,表示为,其中和分别表示为鱼眼相机在横轴和纵轴的像元尺寸。
根据图像矫正之后的像素点与矫正之前的图像中心点之间横轴坐标的像素距离,和矫正之前的像素点与矫正之后的图像中心点之间横轴坐标的像素距离的比值,等于矫正前后投影像素距离的比值,即:
(16)
同理可得,矫正之后的像素点与矫正之前的图像中心点之间纵轴坐标的像素距离,和矫正之前的像素点与矫正之后的图像中心点之间纵轴坐标的像素距离的比值的表示式,如下:
(17)
表达式(16)和(17),进一步可表示为:
(18)
由表达式(13),可得到图像矫正之前的像素点在图像矫正之后所对应的像素点的转换关系式,表示如下:
(19)
结合表达式(15)、(11)-(13),即可将鱼眼相机拍摄到的图像上的像素点经图像矫正,转换为图像矫正之后的像素点。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。