本发明属于计算机视觉领域,涉及一种利用空间中的一个球及公共自极三角形求解抛物折反射摄像机内参数的方法。
背景技术:
计算机视觉是通过计算机模拟人类视觉,从而对目标进行识别、检测、跟踪。计算机视觉的任务包括获取,处理,分析和理解数字图像,应用图像处理和分析技术,将从空间中获取的三维信息转化到二维平面上,通过分析二维平面图像的信息恢复三维空间信息,使计算机能够从二维图像认知三维世界,并由此识别、检测物体。
随着计算机视觉技术的发展,对摄像机也提出了更高的要求。传统摄像机由于可视范围小、获取信息量少的缺点,难以满足视觉技术的要求,在当今科学技术发展的浪潮下,中心折反射摄像机应运而生,原因是能提供更大的视野和信息而被广泛运用到计算机视觉的各个领域。中心折反射摄像机是由传统摄像机和反射镜面构成,文献“atheoryofsingle-viewpointcatadioptricimageformation”,(bakers,nayerk.,internationaljournalofcomputervision,35(2):175-196,1999)将反射镜面分为四种类型,分别为平面镜,抛物面镜,椭球面镜以及双曲面镜。其类型由镜面参数决定:当镜面参数为0时为平面镜,当镜面参数在0到1之间时为双曲面镜或椭球面镜,当镜面参数为1时为抛物面镜。文献“catadioptricprojectivegeometry”,(geyerc,daniilidisk,internationaljournalofcomputervision,45(3):223-243,2001)证明了中心折反射摄像机的成像可分为两步投影过程:首先,空间点到单位球上的投影,其次,空间点在单位球上的投影通过虚拟摄像机光心到图像平面上的成像,从而统一了针孔摄像机、抛物折反射摄像机、椭球折反射摄像机和双曲折反射摄像机的成像模型。
传统摄像机标定方法具有精度较高的优点,但同时操作的难度较大。文献“aflexiblenewtechniqueforcameracalibration”,(zhangz.,ieeetransactionsonpatternanalysisandmachineintelligence,22(11):1330-1334,2000)利用平面模板而非传统摄像机标定块进行标定,该方法简单、成本较低,同时在确定点的坐标时提供了较高的精度。文献“stereofromuncalibratedcameras”,(hartleyr.,proceedingsofieeeconferenceoncomputervisionandpatternrecognition,62(2):761-7641992)利用平面模板和它的像之间的二次曲线对应的方法进行摄像机标定。由于二次曲线更简单,能提高摄像机标定的稳定性,因此,利用二次曲线进行摄像机标定更广泛。文献“aneweasycameracalibrationtechniquebasedoncircularpoints”,(mengx,huz.,patternrecognition,36(5):1155-1164,2000)利用一个平面上的圆和经过这个圆心的直线作为平面模板,利用圆环点和绝对二次曲线求解摄像机的内参数,该方法首次将圆环点以及绝对二次曲线应用到摄像机标定中。文献“一种新的基于消失点的摄像机标定方法”,(胡培成,黎宁,赵亮亮.,第十三届全国图象图形学学术会议论文集,2006)中利用消失点(也就是无穷远点的像)对绝对二次曲线的约束来估计摄像机内参数,文献“cameracalibrationbasedonthecommonself-polartriangleofsphereimages”,(huangh.,zhangh.,cheungy.m.,lecturenotesincomputerscience,9004:19-29,2015)利用空间球标定针孔摄像机。
因为球有外轮廓,且具有从任意位置观察都是可见的和自身遮挡的优势,所以利用球作为参照物标定中心折反射摄像机成为了当前研究的一个热点,并由此提出了很多标定的方法。文献“基于平面和直线的仿射重构”,(胡占义,王光辉,吴福朝.,计算机学报,26(6):722-728,2003)中首次利用球来计算两幅图像的纵横比,文献“cameracalibrationfromspheresimages”,(dauchern.,dhomem.,laprestéj.t.,proceedingsofthirdeuropeanconferenceoncomputervision,1994)提出了关于球的非线性方法进行摄像机标定,然而这种方法误差较大。文献“cameracalibrationbyasingleimageofballs:fromconicstotheabsoluteconic”,(teramotoh.,xug.,proceedingsoffifthasianconferenceoncomputervision,2002)提出利用非线性优化的方法把绝对二次曲线投影与球的像的代数关系进行摄像机的标定,该方法比较复杂,计算量大。文献“cameracalibrationusingspheres:asemi-definiteprogrammingapproach”,(agrawalm.,davisl.s.,proceedingsofieeeinternationalconferenceoncomputervision,2003)利用球来计算摄像机的外参数。文献“geometricinterpretationsoftherelationbetweentheimageoftheabsoluteconicandsphereimages”,(yingx.,zhah.,ieeetransactionsonpatternanalysisandmachineintelligence,28(12):2031-6,2006)提出利用双接触理论求解摄像机内参数,该方法精确度较高。文献“astratifiedapproachforcameracalibrationusingspheres”,(wongk.y.,zhangg.,chenz.,ieeetransactionsonimageprocessing,20(2):305-316,2011)利用单位球球心和球面的切线旋转形成圆锥求两幅图像的基础矩阵,通过基础矩阵求解摄像机的内参数。文献“cameracalibrationfromimagesofspheres”,(zhangh,wongk.y.k.,zhangg.,ieeetransactionsonpatternanalysisandmachineintelligence,29(3):499-502,2007)利用球像的对偶关系和绝对二次曲线的投影之间的代数关系求解折反射摄像机内参数。文献“秩1约束下基于圆球的摄像机标定算法”,(贾静,吴成柯,西安电子科技大学学报(自然科学版),40(2):1-4,2013)提出利用秩1约束下基于单位球的摄像机标定方法,将平面与单位球结合起来,这也是一个线性算法,但计算过程中需要优化,计算量较大。文献“catadioptriccameracalibrationusinggeometricinvariants”,(yingx.,huz.,ieeetransactionsonpatternanalysisandmachineintelligence,26(10):1260-71,2004)利用直线和球的几何不变性标定折反射摄像机,该方法较为简单,但只能求出其中一部分内参数。文献“geometricpropertiesofcentralcatadioptriclineimages”,(barretoj.p.,araujoh.,ieeetransactionsonpatternanalysisandmachineintelligence,27(8):1327-33,2005)研究了空间中任意直线成像模型下成像的性质来求解其内参数。文献“aball-target-basedextrinsiccalibrationtechniqueforhigh-accuracy3-dmetrologyusingoff-the-shelflaser-stripesensors”,(chec.,nij.,precisionengineering,24(3):210-219,2000)提出利用球作为标定物来求解摄像机外参数。
摄像机标定的目的是求解摄像机内参数和外参数,是三维重建技术的基础。三维重建技术通过将三维空间信息映射到二维图像平面上,然后从获取的图像中找出这些点在像平面上的投影过程,并确定这些图像间的运动参数,求出摄像机内参数以及外参数,再从图像平面恢复三维立体信息。摄像机标定的结果对三维重建的结果有极为重要的影响,因此对摄像机标定的研究具有一定的理论意义和实用价值。
技术实现要素:
本发明利用空间中的一个球作为标定物,在抛物折反射摄像机下,拟合出镜面轮廓投影方程、球像方程,并计算出对拓球像方程和圆心与单位视球球心重合且与单位视球模型上球的投影小圆平行的大圆的像的方程,由大圆的像分别与球像,对拓球像构成的两个公共自极三角形所对应的两个公共极点,连接两公共极点求解出消失线,从而利用圆的投影与消失线的关系求出圆环点的像,通过拍摄三幅图像获取三对圆环点的像,利用圆环点的像与摄像机内参数矩阵的约束完成该摄像机的标定。
本发明采用如下技术方案:
用抛物折反射摄像机从3个不同的位置拍摄一个空间球的3幅图像。本发明是利用空间中的一个球作为标定物用于求解抛物折反射摄像机内参数的方法,其特征在于仅利用了球元素。首先,利用canny算子分别从3幅图像中提取空间球图像边缘点和其中一幅图像的镜面轮廓投影的边缘点,然后对获取的边缘点利用最小二乘法拟合出镜面轮廓投影方程、球像方程。其次,根据像点与其对拓像点的关系,获得对拓像点,从而拟合出球像的对拓球像方程。接着,根据抛物折反射摄像机的单位视球模型,球在其单位视球上的见到投影为小圆s+,不见到投影为小圆的对拓圆s-,圆心与单位视球球心重合且与小圆平行的单位视球球面上的圆称为大圆s,因为大圆与小圆平行,所以小圆所在平面的单位法向量就是大圆的单位法向量,可求出圆心与单位视球球心重合且与小圆平行的大圆的像的方程。因为小圆和大圆的圆心在同一条直线上,因此它们圆心的像也在同一条直线上。射影几何中,图像平面上两不相交的二次曲线有四个不同的交点时,它们有且仅有一个公共自极三角形。从而大圆的像分别与球像,对拓球像各有且仅有一个公共自极三角形。根据公共自极三角形顶点的性质,求出大圆的像分别与球像,对拓球像构成的公共自极三角形所对应的公共极点,连接两公共极点求解出消失线。消失线与球像的交点,即为圆环点的像。一幅图像所对应的圆环点的像对绝对二次曲线的像提供两个约束,三幅图像提供六个约束。最后,利用圆环点的像对绝对二次曲线的像的约束求解抛物折反射摄像机内参数。具体的步骤包括:拟合出镜面轮廓投影方程、球像投影方程,估计球像的对拓球像,求解圆心与单位视球球心重合且与对拓小圆平行的大圆的像的方程,最后确定圆环点的像,求解抛物折反射摄像机内参数。
1.拟合镜面轮廓投影方程及靶标投影方程
利用matlab中的canny算子对拍摄的每幅图像进行边缘检测,提取其边缘点,然后对获取的边缘点利用最小二乘法拟合得到镜面轮廓投影方程、球像方程。
2.估计球像的对拓球像
一个空间球q在拋物折反射摄像机的单位视球模型下的投影过程分为两步。第一步,球q以单位视球球心o为中心透视投影到单位视球球面上形成两个平行小圆si+和si-(i=1,2,3表示拍摄三幅图像),并且si+和si-以单位视球球心o对称,单位视球直径的两个端点互为对拓点。第二步,以单位视球上的点oc为摄像机的光心将单位视球上的两个平行小圆si+和si-分别投影为图像平面上的两条二次曲线ci+和ci-,其中可见的二次曲线ci+称为空间球q的像,不可见的二次曲线ci-称为球像ci+的对拓球像。令以oc为光心的摄像机的内参数矩阵为
3.求解圆心与单位视球球心重合且与对拓小圆平行的大圆的像的方程
取单位视球上小圆s+上任意两点的坐标矩阵为[xs1ys1zs1]t和[xs2ys2zs2]t,小圆s+上的点与该小圆所在平面的法向量[n′xn′yn′z]t的向量积为0,同时这两点也位于单位视球上,因此小圆s+所在平面的法向量满足方程:
其中d0为单位视球球心o到小圆s+所在平面(基础平面)的距离,这两个方程组可求出法向量[n′xn′yn′z]t和d0,从而可以得到小圆s+所在平面的单位法向量[nxnynz]t:
令圆心与单位视球球心重合并在单位视球球面上所形成的大圆s与小圆s+及对拓小圆s-平行,所以小圆s+所在平面的单位法向量就是大圆s所在平面的单位法向量。从而由:
4.确定圆环点的像
一个空间球q在单位视球上的投影为两平行小圆,称为对拓小圆s+和s-,圆心与单位视球球心重合且与这两个小圆平行的圆,称为大圆s。由于大圆s与对拓小圆s+,s-平行,因此大圆s与对拓小圆s+,s-各有四个交点且这四个点均为虚点,由射影变换保持结合性知,大圆s和对拓小圆s+,s-在像平面上的投影为c和c+,c-,它们也各有四个交点,从而c与c+、c-分别有且仅有一个公共自极三角形。因为大圆s和对拓小圆s+,s-的圆心在同一条直线上,因此它们圆心的像也在同一条直线上,并且小圆s+的像c+位于c内,小圆s-的像c-位于c外。δa1b1c1为c与c+的公共自极三角形,a1,b1,c1为自极三角形的顶点,δa2b2c2为c和c-的公共自极三角形,a2,b2,c2为自极三角形顶点。根据公共自极三角形顶点的性质,可以求出c分别与c+、c-构成的公共自极三角形所对应的公共极点,连接两公共极点就求解出了消失线。消失线与球像的交点,即为圆环点的像,分别记为mi和mj。5.求解抛物折反射摄像机的内参数
根据射影几何的性质,无穷远直线与其所在的平面上的所有圆相交于一对圆环点i,j。圆环点i,j在摄像机下的投影称为圆环点的像,分别记为mi和mj,它们是一对共轭复点。由圆环点的定义可知,圆环点i,j在绝对二次曲线c∞上,因此c∞可以看作空间所有圆环点的集合。由于在射影空间中射影变换保持结合性不变,因此圆环点的像mi,mj在绝对二次曲线的像ω上,于是可得到下述关于ω的约束方程
由于mi,mj是两共轭复点,因此在上述方程中只能提供下述两个关于绝对二次曲线的像ω的实线性约束方程
其中re,im分别表示复数的实部和虚部。由实线性约束方程可以求出绝对二次曲线的像ω,然后利用cholesky分解法对ω进行分解可唯一确定k-1,再对k-1求逆便得到摄像机的内参数矩阵k。
本发明优点:
(1)标定物制作简单,成本低廉,只需将一个球固定在一个支架上。
(2)对标定物的大小没有要求,无需知道任何物理度量。
(3)球的图像边界点几乎可以全部提取,这样可以提高曲线拟合的精确度,从而提高标定精度。
附图说明
图1是用于求解抛物折反射摄像机内参数的靶标在单位视球上的示意图。
图2是靶标在抛物折反射图像平面上的投影。
具体实施方式
本发明提供了一种利用空间中的一个球求解抛物折反射摄像机内参数的方法,如图1。用空间的一个球完成抛物折反射摄像机内参数的求解需要经过以下步骤:从折反射图像中提取镜面轮廓投影边缘点、球像的边缘点,然后使用最小二乘法拟合获得镜面轮廓投影方程、球像方程,根据像点及对拓像点之间的关系获得对拓像点,从而求解出球像的对拓球像方程。再将球像与对拓球像反投影到单位视球上,求出圆心与单位视球球心重合且与对拓小圆平行的大圆的像的方程。δa1b1c1为c和c+的公共自极三角形,a1,b1,c1为公共自极三角形δa1b1c1的顶点,δa2b2c2为c和c-的公共自极三角形,a2,b2,c2为公共自极三角形
δa2b2c2的顶点。根据求公共自极三角形顶点的性质,求出大圆的像分别与球像,对拓球像构成的公共自极三角形所对应的公共极点,连接两公共极点求解出了消失线。消失线与球像的交点,即为圆环点的像。一幅图像所对应的圆环点的像对绝对二次曲线的像提供两个约束,三幅图像提供六个约束。最后,利用圆环点的像对绝对二次曲线的像的约束求解抛物折反射摄像机内参数。利用本发明中的方法对实验中的拋物折反射摄像机进行标定,具体步骤如下:
1.拟合镜面轮廓投影方程、球像方程
利用matlab程序中的canny算子对拍摄的每幅图像进行边缘检测,提取其边缘点,然后对获取的边缘点利用最小二乘法拟合得到镜面轮廓投影方程、球像方程。
2.拟合球像的对拓球像
一个空间球q在拋物折反射摄像机的单位视球模型下的投影分为两步:第一步,将球q以o为中心透视投影到单位视球球面上形成两个平行小圆si+和si-,称si-为si+的对拓圆,(i=1,2,3),这一过程如图1所示(i=1为例);第二步,以单位视球上的点oc为摄像机的光心将单位视球上的两个平行小圆si+和si-分别投影为图像平面上的两条二次曲线ci+和ci-,其中可见的二次曲线ci+称为空间球q的像,不可见的二次曲线ci-称为球像ci+的对拓球像。利用matlab中的canny算子分别提取第1幅图像中的镜面轮廓投影的像素坐标和空间球在3幅图像中投影的图像边缘点,通过最小二乘法拟合得到相应的二次曲线方程,这里用c0表示第1幅图像镜面轮廓投影曲线的系数矩阵,ci+表示第i幅图像中的球像的系数矩阵,ci-表示第i幅图像中的球像的对拓球像的系数矩阵,通过c0可获得摄像机内参数矩阵k的一个初始值
其中c0(p,q)(p=1,2;q=1,2,3)表示矩阵c0的第p行第q列元素,
取c+上的一组点
根据对拓像点的定义,点
3.求解圆心与单位视球球心重合且与对拓小圆平行的大圆的像的方程
取小圆s+上任意两点的坐标矩阵为[xs1ys1zs1]t和[xs2ys2zs2]t,小圆s+上的点与该小圆所在平面的法向量[n′xn′yn′z]t的向量积为0,同时这两点也位于单位视球上,因此小圆s+所在平面的法向量满足方程:
其中d0为球心o到小圆s+所在平面(基础平面)的距离,这两个方程组可求出法向量[n′xn′yn′z]t和d0,从而可以得到小圆s+所在平面的单位法向量[nxnynz]t:
因为圆心与单位视球球心重合且与对拓小圆平行的大圆所在平面与小圆s+所在平面平行,所以小圆s+所在平面的单位法向量就是大圆s所在平面的单位法向量。
取圆心与单位视球球心重合且与对拓小圆平行的大圆s上任一点x在世界坐标系下的非齐次坐标矩阵为x=[xsyszs]t,则大圆s的方程为xtc′x=0,点x在抛物折反射像平面上的投影的齐次坐标矩阵为m=[x'sy'sz's]t,又
4.确定圆环点的像
一个空间球q在单位视球上的投影为两个平行小圆,可见的为s+,不可见的为s-,又称为小圆s+和对拓小圆s-,圆心与单位视球球心重合且与小圆s+,s-平行的圆,称为大圆s,如图1。由于大圆s和小圆s+,s-平行,因此大圆s和小圆s+,s-各有四个交点且这四个点均为虚点,由公共自极三角形的定义知,如果两条二次曲线有四个交点,那么它们有且仅有一个公共自极三角形。从而在图1中,大圆s分别与小圆s+,s-有且仅有一个公共自极三角形,这两个公共自极三角形的顶点(不与小圆s+,s-的圆心在一条直线)在无穷远直线上,无穷远直线与二次曲线的交点,就称为圆环点。
如图2所示,由射影变换保持结合性知,大圆s和小圆s+,s-在像平面上的投影分别为c和c+,c-,其中c-称为c+的对拓球像,它们也各有四个交点,从而c分别与c+,c-各有且仅有一个公共自极三角形。因为大圆s和对拓小圆s+,s-的圆心在同一条直线上,它们圆心的像也在同一条直线上,并且小圆s+的像c+位于c内,小圆s-的像c-位于c外。δa1b1c1为c与c+的公共自极三角形,a1,b1,c1为公共自极三角形δa1b1c1的顶点,δa2b2c2为c和c-的公共自极三角形,a2,b2,c2为公共自极三角形δa2b2c2的顶点。因为c与c+有且仅有一个公共自极三角形,所以它们有公共极点a1即三角形的其中一个顶点和极线l,那么极点和极线满足如下代数表达式:
其中λ为比例参数。整理方程(4)可得:
(c-λc+)a1=0。(5)两边同时乘以
其中e为单位矩阵,由方程(6)可知,
同理可得方程:
由方程(7)可知,
ax+by+c=0,(8)
其中a,b,c为直线的系数,则消失线v与球像的交点即为圆环点的像,分别记为mi和mj。
5.求解抛物折反射摄像机内参数
根据圆环点的像对绝对二次曲线的像的线性约束有:
从而用svd分解优化求解(9)获得ω,然后对ω=k-tk-1进行cholesky分解得k-1,再求逆便得到摄像机内参数矩阵k,即求出了摄像机的5个内参数。
实施例
本发明提出了一种利用空间的一个球作为标定物线性求解抛物折反射摄像机内参数的方法。本发明采用的实验模板结构示意图如图1所示。下面用一实例对本发明的实施方案做出更为详细的描述。
抛物折反射摄像机标定采用的实验模板是空间中的一个球,如图1所示,球为q。利用本发明中的方法对用于实验的抛物折反射摄像机进行标定,具体步骤如下:
1.拟合镜面轮廓投影方程、球像方程
本发明采用的图像大小为1590×1296。用抛物折反射摄像机拍摄空间中一个球的3幅不同位置的图像,读入图像,利用matlab中的canny算子对拍摄的每幅图像进行边缘检测,提取其边缘点,然后对获取的边缘点利用最小二乘法拟合得到镜面轮廓投影方程、球像方程。镜面轮廓投影方程的系数矩阵为c0,3幅图像中球像方程的系数矩阵分别为ci+(i=1,2,3),其结果如下:
2.拟合球像的对拓球像
将(10)代入(1)和(2)可得
先分别在球像c1+、c2+和c3+上取至少5个互异的点,再将所取的点和(14)分别带入(3)得对拓球像上点的坐标,通过最小二乘法拟合获得对拓球像c1-、c2-和c3-的估计,系数矩阵结果分别如下:
3.求解圆心与单位视球球心重合且与对拓小圆平行的大圆的像的方程
由(2)式中的
由具体实施方式中的第三步:
4.确定圆环点的像
将(11)和(19)代入(6)可得极点a1的齐次坐标矩阵为:
a1=[0.7907269756084350.6121689718085501.000000000000000];(22)
将(15)和(19)代入(7)可得极点a2的齐次坐标矩阵为:
a2=[-0.790726975608436-0.6121689718085491.000000000000000]。(23)
连接点a1和点a2的直线就是消失线v,则由(8)得消失线v的齐次线坐标矩阵为:
v=[-0.0015149854637430.0019568778049911.000000000000000]。(24)
从而消失线v与二次曲线c1+的交点就是圆环点的像,齐次坐标矩阵如下:
m1i=[1009.933407145656+429.363513521747i270.857193955645+332.406796166864i1],(25)
m1j=[1009.933407145656-429.363513521747i270.857193955645-332.406796166864i1];(26)
同理由(12)(20)和(16)(20)可求得球像c2+上的圆环点的像,齐次坐标矩阵如下:
m2i=[1463.654060077871+359.573543039835i254.859133006675+453.537133847140i1],(27)
m2j=[1463.654060077871-359.573543039835i254.859133006675-453.537133847140i1];(27)
同理由(13)(21)和(17)(21)可求得球像c3+上的圆环点的像,齐次坐标矩阵如下:
m3i=[-1508.706260377841+506.076938380817i1457.862648165625+441.283181925061i1],(28)
m3j=[-1508.706260377841-506.076938380817i1457.862648165625-441.283181925061i1]。(29)
5.求解抛物折反射摄像机内参数
将(25)、(28)和(29)带入(9)得到ω中元素的线性方程组,使用svd分解求解该线性方程组得到ω的系数矩阵。结果如下:
最后,对(31)中的ω进行cholesky分解再求逆便可获得矩阵k,结果如下:
其中纵横比r=k(1,1)/k(2,2)(k(1,1)表示矩阵k的第1行第1列的元素,k(2,2)表示矩阵k的第2行第2列的元素),故抛物折反射摄像机的5个内参数分别为:r=1.51709255,f=408.6713599724734,s=0.836521765234959,u0=647.917040048090,v0=794.8259823712548。