发明内容
本发明所要解决的第一个技术问题在于提供一种摄像机投影变换中圆形标志点的圆心偏差修正方法,旨在通过设置同心圆的方法,利用大小两个椭圆的线性组合来解决标志点圆心在像平面上投影的真实位置的修正问题。
本发明是这样实现的,一种摄像机投影变换中圆形标志点的圆心偏差修正方法,包括以下步骤:
步骤A,设置与背景颜色不同且形状呈同心圆环状的圆形标志点,同心圆环中的大圆半径和小圆的半径分别设定为r1、r2;
步骤B,利用摄像机拍摄所述圆形标志点,对拍摄得到的圆形标志点图像的边沿进行亚像素定位,根据定位的亚像素边沿拟合出大小两个椭圆,圆心坐标分别C1(uB1,vB1)、C2(uB2,vB2);
步骤C,根据步骤A中得到的同心圆环中的大圆半径r1和小圆的半径r2和步骤B中得到的大小两个椭圆中心的坐标C1(uB1,vB1),C2(uB2,vB2),修正标志点圆心经过摄像机投影变换后在像平面上的真实投影点的图像坐标。
进一步地,所述步骤B包括以下步骤:
步骤B1,对摄像机拍摄的图像进行滤波以去除图像的噪声对边沿检测精度的影响;
步骤B2,对步骤B1滤波后的图像进行边沿检测,得到像素级别的椭圆边沿;
步骤B3,通过判断步骤B2中得到的边沿是否闭合来剔除其他非闭合边沿的干扰;
步骤B4,将步骤B3中的闭合边沿属于大圆和小圆的部分分别标记为大圆集合和小圆集合;
步骤B5,分别对步骤B4中得到的两集合中的每个闭合边沿进行亚像素定位;
步骤B6,对步骤B5中得到的椭圆亚像素边沿进行最小二乘拟合,得到大椭圆中心C1(uB1,vB1),小椭圆中心C2(uB2,vB2)。
进一步地,所述步骤B4具体通过以下方式标记大圆集合和小圆集合:
以闭合边沿重心的灰度作为闭合边沿的内部灰度,取闭合边沿外切矩形的四个切点各向外移动一个像素,以这四个的灰度均值作为闭合边沿外部的灰度;如果闭合边沿外部灰度值比内部灰度值大标记为小圆集合,反之则标记为大圆集合。
进一步地,所述步骤B5具体通过如下方式进行亚像素定位:
对像素级边缘的每个像素的5×5邻域进行三次多项式曲面拟合,求取曲面的一阶导数局部极值的位置,即亚像素位置。
进一步地,所述步骤C具体通过以下公式修正标志点圆心经过摄像机投影变换后在像平面上的真实投影点的图像坐标(uc,vc):
本发明所要解决的第二个技术问题在于提供一种摄像机投影变换中圆形标志点的圆心偏差修正系统,包括:
摄像机,用于拍摄预先设置的圆形标志点;所述圆形标志点与背景颜色不同且形状呈同心圆环状;
椭圆拟合单元,用于对摄像机拍摄得到的圆形标志点图像的边沿进行亚像素定位,根据定位的亚像素边沿拟合出大小两个椭圆;
修正单元,用于根据所述同心圆环中的大圆半径r1和小圆的半径r2和所述椭圆拟合单元得到的大小两个椭圆中心的坐标C1(uB1,vB1),C2(uB2,vB2),修正标志点圆心经过摄像机投影变换后在像平面上的真实投影点的图像坐标。
进一步地,所述椭圆拟合单元包括:
滤波模块,用于对摄像机拍摄的图像进行滤波以去除图像的噪声对边沿检测精度的影响;
边沿检测模块,用于利用canny算子对所述滤波模块滤波后的图像进行边沿检测,得到像素级别的椭圆边沿;
干扰剔除模块,用于通过判断所述边沿检测模块得到的边沿是否闭合来剔除其他非闭合边沿的干扰;
标记模块,用于将所述干扰剔除模块剔除后的闭合边沿属于大圆和小圆的部分分别标记为大圆集合和小圆集合;
定位模块,用于分别对所述标记模块得到的两集合中的每个闭合边沿进行亚像素定位;
拟合模块,用于对所述定位模块得到的椭圆亚像素边沿进行最小二乘拟合,得到大椭圆中心C1(uB1,vB1),小椭圆中心C2(uB2,vB2)。
进一步地,所述标记模块以闭合边沿重心的灰度作为闭合边沿的内部灰度,取闭合边沿外切矩形的四个切点各向外移动一个像素,以这四个的灰度均值作为闭合边沿外部的灰度;如果闭合边沿外部灰度值比内部灰度值大标记为小圆集合,反之则标记为大圆集合。
进一步地,所述定位模块对像素级边缘的每个像素的5×5邻域进行三次多项式曲面拟合,求取曲面的一阶导数局部极值的位置,即亚像素位置。
进一步地,所述修正单元通过以下公式修正标志点圆心经过摄像机投影变换后在像平面上的真实投影点的图像坐标(uc,vc):
与现有技术相比,本发明的有益效果是:本发明采用了设置同心圆环的方法,巧妙利用大小两个椭圆的线性组合来修正了标志点圆心在像平面上投影的真实位置,在修正圆心投影偏差的过程中,不需要任何已知的摄像机参数和标定摄像机与目标圆形标志点的相对位置和姿态,同时,在求取圆心在像平面上投影的真实位置时,不需要利用透视投影中的交比不变性和求解附加的直线或是交点的解析表达,有较高的鲁棒性,此外,还避免了引入迭代运算,有效地减小了计算量。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,通过用设置同心圆环的方法,利用大小两个椭圆的线性组合,实现了标志点圆心在像平面上投影的真实位置的修正。
图2示出了本发明实施例提供的摄像机投影变换中圆形标志点圆心偏差的修正方法的实现流程,包括如下步骤:
步骤A,设置与背景颜色不同且形状呈同心圆环状的圆形标志点。
如图3所示,在黑色背景下设置白色同心圆环,也可以在白色背景下设置黑色圆环,圆环的内径为小圆31的半径,外径为大圆32的半径。大圆32和小圆31的半径精确设为r1和r2,r1和r2的比值在1.5到2之间。可以采用高精度飞丝网印刷技术,或者是其他印刷或刻蚀技术生成同心圆环。
图4为对图3所示同心圆的摄像机透视成像示意图,左边为圆心在C的同心圆环,右边为像面上的大小两个椭圆41和42,其中C’为圆心C在像面上的真实投影点,B1、B2分别为大椭圆42和小椭圆41的中心。
步骤B,利用摄像机拍摄所述圆形标志点,对拍摄得到的圆形标志点图像的边沿进行亚像素定位,根据定位的亚像素边沿拟合出大小两个椭圆。
用摄像机拍摄圆心标志点,获取图像。对图像进行处理获得亚像素精度的大小椭圆的边沿并拟合其中心具体方法的详细说明可参见文献“圆形标志点的亚像素定位及其应用”(红外与激光工程,2008,37(4)增刊:47-50)。
步骤B1,对摄像机拍摄的图像进行滤波,例如可采用高斯滤波方式,以去除图像的噪声对边沿检测精度的影响。
步骤B2,利用canny算子对步骤B1滤波后的图像进行边沿检测,得到像素级别的椭圆边沿。
本发明中,具体采用canny算子对步骤B1滤波后的图像进行边沿检测。
步骤B3,通过判断步骤B2中得到的边沿是否闭合来剔除其他非闭合边沿的干扰。
步骤B4,将步骤B3中的闭合边沿属于大圆和小圆的部分分别标记为大圆集合和小圆集合。
本发明中,通过判断边沿处的内部和外部灰度的来判断是大圆或是小圆,以闭合边沿重心的灰度作为闭合边沿的内部灰度,取闭合边沿外切矩形的四个切点各向外移动一个像素,以这四个的灰度均值作为闭合边沿外部的灰度;如果闭合边沿外部灰度值比内部灰度值大标记为小圆集合,反之则标记为大圆集合。
步骤B5,分别对步骤B4中得到的两集合中的每个闭合边沿进行亚像素定位。
具体地,对像素级边缘的每个像素的5×5邻域进行三次多项式曲面拟合,求取曲面的一阶导数局部极值的位置,即亚像素位置。
步骤B6,对步骤B5中得到的椭圆亚像素边沿进行最小二乘拟合,得到大椭圆中心C1(uB1,vB1),小椭圆中心C2(uB2,vB2)。
步骤C,根据步骤A中得到的同心圆环中的大圆半径r1和小圆的半径r2和步骤B中得到的大小两个椭圆中心的坐标C1(uB1,vB1),C2(uB2,vB2),修正标志点圆心经过摄像机投影变换后在像平面上的真实投影点的图像坐标。
图5为本发明实施例提供的透视成像模型的坐标系。其中,XwYw_0所在平面为物平面6,H_u’v’所在平面为像平面7,参数定义如下:
c:焦距
xp:标志点在标志点坐标系中的坐标
l:目标的曝光距离,线段的长度
d:相机(投影中心)离轴的距离
r:标志点的半径
ω:相机坐标系相对于标志点坐标系的倾角(光轴与z轴的夹角)
α:相机绕x轴的旋转角(OO′与z轴的夹角)
世界坐标系:圆形标志点的圆心位置为(xp,0,0),它的法向量与世界坐标系的Zw轴平行。
图像坐标系:H_u'v',坐标原点在光心与成像的物平面交点H,轴分别与摄像机坐标系的xc,yc相平行。
摄像机坐标系:Oc_xcyczc,坐标原点在世界坐标的(0,-d*sinα,d*cosα)位置上,由世界坐标系O_XwYwZw绕Xw轴顺时针方向旋转ω得到。
投影圆心偏差的数学模型的详细推导如下:
(1)求圆形标志点圆心在像面上真实投影的位置。
针对图5所建立的坐标系,为了表达方便,我们设定世界坐标系与摄像机坐标系的关系为,平移至Oc点后绕Xw顺时针旋转ω角可得,即为:
Oc为摄像机原点在世界坐标系中的表示,把摄像机坐标系原点在世界坐标系中的位置Oc=(x*,y*,z*)T=(0,-d*sinα,d*cosα)T和目标圆形标志点圆心的世界坐标(xp,0,0)代入式(1),可得目标圆圆心坐标在摄像机坐标系中的表达,
由摄像机的小孔成像模型有,xc′/uc′=yc′/vc′=zc′/-c,代入式(2),可得圆形标志点圆心在像面上投影的真实位置(uc′,vc′),
vc=-ctan(ω-α)
(2)求圆形标志点在成像面所成的椭圆中心位置。
从摄像机坐标系到世界坐标系的变换为:
为求像面上圆形标志点所成的椭圆像的椭圆方程,将摄像相机成像的小孔模型约束,xc/u=yc/v=zc/-c=t,和圆形标志点所在平面方程Zw=0代入方程(4),可得在上述的两个约束条件下得到世界坐标系(x,y,z)与图像坐标系(u,v)直接的
关系,
z=0
将式(5)代入圆的方程中,可得在像面上的椭圆的方程,
由上椭圆方程可得椭圆中心在像面坐标上的表达,
..........(6)
由式(3)和式(6)可得
(3)圆心偏差的大小与圆形圆半径平方成正比
在一般的情况下拍摄距离l远大于目标圆形标志点的半径r,即是(l/r)2>>sin2ω,分母部分省去sin2ω,对结果的影响不大,所以圆心在图像u,v方向的偏差可写成
可得结论:圆形标志点在摄像机投影变换中的圆心偏差与目标圆的半径平方成正比。对于半径大小不同的两个同心圆而言,它们相对摄像机有同样的拍摄姿态,于是在图像平面上沿着图像坐标u,v的两个方向的误差与圆形标志点半径平方成正比,Ku,Kv为比例系数。可得如下方程组:
uB1-uC=Ku·r1 2,vB1-vC=Kv·r1 2
………(7)
uB2-uC=Ku·r2 2,vB2-vC=Kv·r2 2
方程组(7)中(uB1,vB1),(uB2,vB2)为数字图像处理技术所得到两个椭圆中心坐标为已知参数,r1,r2为大小两个圆的真实半径也已测得为已知,Ku,Kv只与相机的拍摄姿态有关的比例系数为未知数,(uc,vc)为圆心在像面上真实投影位置亦为未知。式(7)为关于四个未知数的四元一次方程组一个有四个独立的线性方程,可以解得(uc,vc)如下:
........(8)
结论:如果获取同心圆所成了两个大小不一的椭圆中心,并事先测得同心圆两个半径,就能修正圆形标志点的透视投影误差,得到圆形标志点圆心在成像面上真实投影点的图像坐标。
因此,将两个椭圆中心(uB1,vB1),(uB2,vB2)代入式(8)即可得修正后圆形标志点中心在像面上真实投影点的图像位置。
本领域普通技术人员可以理解实现上述各实施例提供的方法中的全部或部分步骤可以通过程序指令及相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该存储介质可以为ROM/RAM、磁盘、光盘等。
图6示出了本发明实施例提供的摄像机投影变换中圆形标志点的圆心偏差修正系统的结构原理,为了便于描述,仅示出了与本实施例相关的部分。此系统可以为软件单元、硬件单元或软硬件结合的单元。
参照图6,本发明实施例提供的摄像机投影变换中圆形标志点的圆心偏差修正系统包括摄像机61、椭圆拟合单元62、修正单元63,其中,摄像机,用于拍摄预先设置的圆形标志点,如上文所述,该圆形标志点与背景颜色不同且形状呈同心圆环状;椭圆拟合单元62用于对摄像机61拍摄得到的圆形标志点图像的边沿进行亚像素定位,根据定位的亚像素边沿拟合出大小两个椭圆;修正单元63用于根据所述同心圆环中的大圆半径r1和小圆的半径r2和所述椭圆拟合单元得到的大小两个椭圆中心的坐标C1(uB1,vB1),C2(uB2,vB2),修正标志点圆心经过摄像机投影变换后在像平面上的真实投影点的图像坐标。
图7示出了图6中椭圆拟合单元62的一种具体结构,包括滤波模块621、边沿检测模块622、干扰剔除模块623、标记模块624、定位模块625、拟合模块626,其中,滤波模块621用于对摄像机61拍摄的图像进行滤波以去除图像的噪声对边沿检测精度的影响。边沿检测模块622利用canny算子对滤波模块621滤波后的图像进行边沿检测,得到像素级别的椭圆边沿。干扰剔除模块623用于通过判断边沿检测模块622得到的边沿是否闭合来剔除其他非闭合边沿的干扰。标记模块624将干扰剔除模块623剔除后的闭合边沿属于大圆和小圆的部分分别标记为大圆集合和小圆集合,具体以闭合边沿重心的灰度作为闭合边沿的内部灰度,取闭合边沿外切矩形的四个切点各向外移动一个像素,以这四个的灰度均值作为闭合边沿外部的灰度;如果闭合边沿外部灰度值比内部灰度值大标记为小圆集合,反之则标记为大圆集合。定位模块625用于分别对标记模块624得到的两集合中的每个闭合边沿进行亚像素定位,具体为对像素级边缘的每个像素的5×5邻域进行三次多项式曲面拟合,求取曲面的一阶导数局部极值的位置,即亚像素位置。最后,由拟合模块626对定位模块625得到的椭圆亚像素边沿进行最小二乘拟合,得到大椭圆中心C1(uB1,vB1),小椭圆中心C2(uB2,vB2)。
如上文所述,修正单元63通过以下公式修正标志点圆心经过摄像机投影变换后在像平面上的真实投影点的图像坐标(uc,vc),具体原理推导如上文所述,此处不再赘述:
本发明实施例中,采用了设置同心圆环的方法,巧妙利用大小两个椭圆的线性组合来修正了标志点圆心在像平面上投影的真实位置,图8为利用本方法所修正的圆心偏差实验的效果,实验中的大圆半径为120mm,小圆的半径为60mm,拍摄距离大概为1m,拍摄角度为45度。十字叉81为同心圆中心的标记,十字叉82为本发明修正后的圆心的投影的真实位置,十字叉83为小椭圆的中心,十字叉84为大椭圆的中心。在修正圆心投影偏差的过程中,不需要任何已知的摄像机参数和标定摄像机与目标圆形标志点的相对位置和姿态,同时,在求取圆心在像平面上投影的真实位置时,不需要利用透视投影中的交比不变性和求解附加的直线或是交点的解析表达,有较高的鲁棒性,此外,还避免了引入迭代运算,有效地减小了计算量。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。