一种灵活的柱面反投影算法
2016-12-22曹济英陆高勇
曹济英, 陆高勇, 李 勃, 董 蓉
(1.南京大学 电子科学与工程学院,南京 210046; 2.南通大学 电子与信息学院, 江苏 南通 226019)
一种灵活的柱面反投影算法
曹济英1, 陆高勇1, 李 勃1, 董 蓉2
(1.南京大学 电子科学与工程学院,南京 210046; 2.南通大学 电子与信息学院, 江苏 南通 226019)
传统柱面图像反投影算法依赖于圆柱模型以及标定的精度,且物距发生变化时模型将会失效,需要重新进行标定,过程繁琐,场景适应性不足. 为此,提出一种灵活的柱面图像反投影算法. 根据透视投影原理,像素当量随距离远近呈二次曲线分布,因此可以通过拟合二次曲线表征其成像特性,对竖直方向和水平方向分别进行处理,进而实现柱面图像反投影变换. 当目标物体相对相机发生前后方向和左右方向位移时,通过修正二次曲线的系数适应其成像特性的改变,无需再次标定. 实验结果表明,该算法精度与传统方法相当,且在左右移动、一定缩放范围内保持精度不变. 本文算法仅需一次标定即可满足目标物体小范围内移动时的图像变换需求,提高了场景适应性.
柱面反投影;二次曲线;成像特性;标定;小范围移动
食品行业的很多包装都是圆柱体,如食用油油桶、桶装饮用水和奶粉罐等. 这样的产品没有棱角,易于手握,且同等条件下,圆柱可以获得最大的有效容积. 虽然圆柱体包装给加工带来了种种便利,但是对圆柱表面的视觉检测却造成了很大的困难. 如标贴检测时,柱面成像导致的图像失真使直线特征难以提取,以及二维码扫描问题等. 因此,柱面图像反投影变换技术对此类检测意义重大.
目前关于柱面反投影算法主要应用于二维码的扭曲形变校正以及平面显示设备显示柱面全景图. 对于二维码扭曲校正,最常见的方法是多项式拟合[1-2],虽然理论上任何变换都可由多项式的泰勒展开式表示,但高阶多项式插值中常出现不稳定的现象. 王伟等[3-7]采用基于相机标定的空间几何信息与图像信息相结合的柱面二维码扭曲校正方法,但此方法要求相机与目标物体的位置严格地相对固定. 对于平面显示柱面全景图,肖潇等[8-14]提出了用传统柱面反变换模型来解决全景环形透镜情况,同样不适用于前后左右移动的柱面图像. BaoFeng Zhang等[15]利用棋盘格校正鱼眼全景图像,但需要提前知道棋盘格的规格,且不能移动,精度低,灵活性弱. 以上所有的柱面反投影算法都需要固定相机以及目标物体的位置,实际应用中这个条件通常是难以满足的,严重限制了流水线上各类产品的使用.
根据透视投影原理,圆柱截面边为二次曲线,则柱面上的点到相机的距离呈二次曲线,因此像素当量随距离远近也呈二次曲线分布. 本文通过二次曲线拟合统一像素当量的方法实现柱面反投影校正,通过修正二次曲线系数的方式使其适应目标物体的一定范围内移动,无需再次标定,提高了校正算法的适应性和鲁棒性.
1 基于二次曲线拟合的柱面反投影校正
为了实现柱面图像反投影,需要事先进行标定. 这里采用棋盘格作为标定物,将事先打印好的标定纸完全贴合在需要校正的柱面上. 提取亚像素级别精度的棋盘格角点作为标定依据,研究其分布规律,如图1所示.
图1 待拟合特征点
图像满足小孔成像模型. 研究像素当量的分布情形,所谓像素当量,指的是世界坐标系中物理距离与图像坐标系中像素距离的换算比例,其计算公式为物理长度(mm)比上像素数(pixel),单位为mm/pixel. 根据小孔成像原理,对于贴合在圆柱表面的标定纸,每个角点到相机的距离是按二次曲线分布的,因此每个位置的像素当量同样按二次曲线分布.
1.1 竖直方向校正
标定纸上的方格高度是一致的,按照像素当量的分布规律,图像上从左到右的方格高度也就会呈二次曲线分布. 因此,可以通过拟合方格高度的变化情况表征像素当量倒数的分布情况. 为了保证最大程度地还原原图信息,以图像中最大的像素当量作为标准,即将图像还原至离相机最近的圆柱切面.
图1中共20个点,方格高度是呈二次曲线分布的,N0~N9、P0~P9分别表示上下两排点(白线是为了将标注点更明了). 两个二次曲线的差值还是二次曲线,具体待拟合点坐标为
(1)
(2)
式(2)简写成AX=b,用最小二乘法求解这个超定方程组[16]:
(3)
ATA是n阶方阵,且是正定矩阵,必有det(ATA)>0. 故ATAX=ATb的解存在且唯一,即可求出最优解(a0,b0,c0).
(4)
(5)
图2 y方向像素当量倒数分布
Fig.2 Distribution of reciprocal of pixel equivalent in the y direction
1.2 水平方向校正
根据上节分析的像素当量分布的基本原理,水平方向上不同位置的像素当量数值同样呈二次曲线分布. 由于水平方向上每一处的像素当量都不同,且与竖直方向上的像素当量分布曲线有较大区别,本文算法使用平均值来拟合像素当量的变化曲线. 已知标定纸上每个方格的宽度是一致的,不妨假设一个方格宽度内的像素当量是恒定的,则有
(6)
(7)
用式(2)、式(3)求解上式18组待拟合点的最佳二次曲线参数(a1,b1,c1),得到水平方向上像素当量倒数的分布情况y=a1x2+b1x+c1,如图3所示.
同理,调整x=X0轴线两边水平方向像素当量的大小. 需要注意的是,由于水平方向校正过程中像素点的横坐标是不断变化的,所以x方向不是简单的增加横坐标的过程,而是依赖于前一个像素点横坐标变化的迭代增量过程,如图4所示. 线l是简单的增加横坐标过程,线m是迭代增量过程.
图3 x方向像素当量倒数分布
Fig.3 Distribution of reciprocal of pixel equivalent in the x direction
图4 x方向拉伸示意图
(8)
2 小范围移动的柱面反投影校正
对于左右移动的柱面,物体到相机的距离并不发生改变,因此像素当量倒数的分布也只是左右移动,二次曲线形态不变. 如图5中ABC→A′B′C′.
不妨设柱面向右移动Δx,即中心轴线右移Δx,则y方向二次曲线系数变为
x方向二次曲线系数变为
对于前后移动的柱面,中心轴线不变,二次曲线变化情况如图5中ABC→A″B″C″,则y方向二次曲线系数变为
x方向二次曲线系数变为
图5 移动柱面二次曲线图
3 实验结果与分析
3.1 柱面反投影校正实验
实验选用德国basler工业相机,对市面上常见的金龙鱼油桶进行测试,图片大小为1280像素×960像素,所有测试图片前期均已经通过图像分割已知圆柱像素边缘. 实验一首先对贴有标定纸的油桶进行镜头畸变校正[17-18],提高标定点的精度,标定点如表1所示. 根据式(1)得出y方向待拟合点坐标,如表2所示,根据式(6)、(7)得出x方向待拟合点坐标,如表3所示. 通过表2、3实验数据进行二次曲线系数标定,如表4所示. 并用该二次曲线系数结合式(4)、(5)、(8)对原金龙鱼油桶上的标贴进行反投影变换.
在金龙鱼油桶上分别拍取棋盘格和油桶标贴纸的图片,然后根据本文算法对图片进行实验,得到结果如图6所示.
表1 标定板特征点坐标
表2 y方向点拟合点坐标
表3 x方向点拟合点坐标
表4 二次曲线拟合系数
图6 反投影校正结果
从图6不难看出,只校正了圆柱形部分,因为水平方向校正时,圆柱边缘像素当量倒数趋向于0,如图3中的A,B两点,像素当量趋于无穷大,会导致图片形变十分严重. 因此,本算法实现过程中把圆柱边缘作为临界点,也作为校正图像的宽度. 这样既保留了圆柱标贴的重要信息,也不会受到边缘及背景的影响. 水平方向的迭代增量坐标结果与一般增量结果比较情况如表5所示. 由于一个像素与一个像素之间差别较小且量很大,表格选取了离散点的实验结果. 迭代增量算法结果如图6(c)所示,非迭代算法结果如图7所示.
表5 水平方向迭代方式与非迭代方式比较
Tab.5 Comparison between iterative and non-iterative way in the x direction
原图横坐标迭代非迭代原图横坐标迭代非迭代810812.5811.19801022.9981.5831835.1832.110351117.61037.0875884.6876.210551159.31057.2895908.3896.210761209.51078.6960993.4961.410991275.61102.2
图7 非迭代处理结果
理论上反投影算法校正后,棋盘格上的格子会校正成为正方形. 为验证反投影实验法的正确性,
实验对校正后图像上的方格测量其宽度以及高度,计算标准差:高度标准差为0.427 857,宽度标准差为1.464 46. 本文另外实现了与性能较好的基于柱面模型参量的二维码校正方法[7]的对比,该算法通过柱面上点到柱面中心线旋转的角度修正了传统的柱面反投影算法,但仍需要参数D(0):柱面表面中心到焦点的距离. 实验结果如图8所示,高度标准差为0.449 233,宽度标准差为1.503 25.
图8 统柱面反投影修正算法结果
实验结果很好地证明了本文算法的正确性,柱面图像被显著延展为平面状态,且与其他修正算法精度相当.
3.2 移动柱面反投影效果比较
在实验一的基础上,设计了实验二来验证本文算法对于移动柱面的适应性,通过柱面左右及前后移动来验证本文算法的灵活性并与其他方法相比较. 首先,对柱面左右移动情况进行反投影并计算校正后的宽度高度的标准差,算法结果如表6所示,Kuen-Tsair算法结果如表7所示. 基准位置为7 cm. 曲线比较如图9所示.
表6 从左到右移动标准差变化情况—本文算法
表7 从左到右移动标准差变化情况—Kuen-Tsair算法
(a)校正后高度标准差曲线
(b)校正后宽度标准差曲线
对于前后移动情况进行反投影并计算随尺度因子变化校正后的宽度高度的标准差,算法结果如表8所示,Kuen-Tsair算法结果如表9所示. 曲线比较如图10所示,部分反投影效果图如图11所示.
表8 从前到后移动标准差变化情况—本文算法
表9 从前到后移动标准差变化情况—Kuen-Tsair算法
(a)校正后高度标准差曲线
(b)校正后宽度标准差曲线
图11 反投影效果图比较
从表6、表7以及图9可以看出,本文算法左右移动高度标准差保持在0.55 像素以内,宽度标准差保持在1.5 像素以内. Kuen算法只能在小范围左右移动内保持与本文算法同样的精度. 从表8、表9和图10可以看出,ratio在0.85~1.15之间时,本文算法高度标准差保持在0.55 像素以内,ratio在0.9~1.08宽度标准差保持在1.55 像素以内. 而Kuen算法只能在0.95~1.04之间保持与本文算法同样的精度. 因此,本文提出的移动柱面参数修正算法精度与其他算法相当,但灵活性更高,更适用于流水线上的应用. 实际应用如图12所示,从图12看出,无论前后左右移动,本文算法都能给出一个很好的反投影效果.
图12 实际应用标贴图算法结果
4 结 论
基于二次曲线拟合的柱面图像反投影变换算法依托于透视投影的基本原理,在消除透镜非线性畸变的基础上,结合小孔成像模型“近大远小”的特性,分析水平方向和竖直方向像素当量的分布特点,并结合图像在两个方向各自不同的延展方式,完成了柱面图像反投影算法. 同时,为了突破传统方法要求相机与物体相对关系严格固定的限制,提出一种灵活修正二次曲线系数的方法以适应物体相对相机小范围内移动的情形. 实验表明,本文算法在与传统方法校正效果相当的前提下,适应性更好,仅需一次标定,效率更高.
[1] LAVALLEE S. Registration for computer-integrated surgery: methodology, state of the art computer-integrated surgery-technology and clinical applications[M]. Cambridge, MA:MIT Press, 1996: 77-97.
[2]雷杰, 杜歆, 朱云芳,等. 基于泰勒模型的全向图像展开[J]. 中国图象图形学报, 2010, 15(10):1430-1435.DOI:10.11834/jig.080564.
LEI Jie, DU Xin, ZHU Yunfang, et al. Omni-directional image unwarping based on Taylor model[J]. Journal of Image & Graphics, 2010, 15(10):1430-1435. DOI:10.11834/jig.080564.
[3] LEI L, HE W, ZHANG W. Distortion correction of data matrix symbol directly marked on cylinder surface[C]// Artificial Intelligence and Computational Intelligence (AICI). IEEE, 2010:225-229. DOI:10.1109/AICI.2010.169.
[4]王伟, 何卫平, 郭改放,等. 基于标定的任意半径柱面上2维条形码畸变校正[J]. 中国图象图形学报, 2014, 19(1):69-75. DOI:10.11834/jig.20140109.
WANG Wei, HE Weiping, GUO Gaifang, et al. Restoration of distorted 2D barcode marked on arbitrary radius cylinder based on calibrated camera[J]. Journal of Image & Graphics, 2014, 19(1):69-75. DOI:10.11834/jig.20140109.
[5]向世明, 赵国英, 陈睿,等. 积厚文档扫描图像校正[J]. 计算机辅助设计与图形学学报, 2005, 17(1):42-48. DOI:10.3321/j.issn:1003-9775.2005.01.006.
XIANG Shiming, ZHAO Guoying, CHEN Rui, et al. Restoration of images scanned from thick bound documents[J]. Journal of Computer Aided Design & Computer Graphics, 2005, 17(1):42-48. DOI:10.3321/j.issn:1003-9775.2005.01.006.
[6] LIAO Q. The research on distortion correction algorithm of unwrapping the cylinder image of panoramic annular lens[]// Proceedings of the 2013 International Conference on Electrical and Information Technologies for Rail Transportation (EITRT2013)-Volume II. Springer , 2014:449-456. DOI:10.1007/978-3-642-53751-6_48.
[7] LAY K T, WANG L J, WANG C H. Rectification of QR-code images using the parametric cylindrical surface model[C]//Next-Generation Electronics (ISNE). IEEE, 2015. DOI:10.1109/ISNE.2015.7132033.
[8] XU Y, ZHOU Q, GONG L, et al. Study of a FPGA real-time multi-cameras cylindrical panorama video system with low latency and high performance[C]//IVMSP Workshop. 2013:1 - 4.DOI:10.1109/IVMSPW.2013.6611890.
[9]陈旺, 徐玮, 熊志辉,等. 折反射全向图像柱面展开校正算法研究[J]. 中国图象图形学报, 2009, 14(12):2559-2565. DOI:10.11834/jig.20091220.
CHEN Wang, XU Wei, XIONG Zhihui, et al. Rectification of catadioptric omnidirectional images via cylindrical unwarping. Journal of Image & Graphics, 2009, 14(12):2559-2565. DOI:10.11834/jig.20091220.
[10]WONG W K, SHENPUA W, CHU K L, et al. A study of different unwarping methods for omnidirectional imaging[C]// Signal and Image Processing Applications (ICSIPA).EEE, 2011:226-239.DOI:10.1109/ICSIPA.2011.61144083.
[11]肖潇, 王伟, 毕凯. 柱面透视投影模型下的全景环形透镜畸变校正[J]. 西安电子科技大学学报自然科学版, 2013, 40(1):87-92. DOI:10.3969/j.issn.1001-2400.2013.01.016.
XIAOXiao, WANG Wei, BI Kai. Panoramic annular lens distortion correction using the cylinder perspective projection model[J]. Journal of Xidian University, 2013, 40(1):87-92. DOI:10.3969/j.issn.1001-2400.2013.01.016.
[12]凌云峰, 朱齐丹, 吴自新,等. 全景视觉图像柱面理论展开算法实现及其改进[J]. 应用科技, 2006, 33(9):4-6. DOI:10.3969/j.issn.1009-671X.2006.09.002.
LING Y F, ZHU Q D, Ziin, et al. Implementation and improvement of unwrapping algorithm cylindrical theory for omni-directional image[J]. Applied Science & Technology, 2006, 33(9):4-6. DOI:10.3969/j.issn.1009-671X.2006.09.002.
[13]周辉, 罗飞, 李慧娟,等. 基于柱面模型的鱼眼影像校正方法的研究[J]. 计算机应用, 2008, 28(10):2664-2666.
ZHOUHui, LUO Fei, LI Huijuan, et al. Study on fisheye image correction based on cylinder model[J]. Journal of Computer Applications, 2008, 28(10):2664-2666.
[14]XU Y, ZHOU Q, GONG L, et al. High-speed simultaneous image distortion correction transformations for a multicamera cylindrical panorama real-time video system using FPGA[J]. IEEE Transactions on Circuits & Systems for Video Technology, 2014, 24(6):1061-1069.DOI:10.1109/TCSVT.2013.2290576.
[15]ZHANG B, QI Z, ZHU J C, et al. Omnidirection image restoration based on spherical perspective projection[C]// Circuits and Systems. IEEE, 200:922-925.
[16]李宝家, 刘昊阳. 超定方程组的一种解法[J]. 沈阳工业大学学报, 2002, 24(1):76-77. DOI:10.3969/j.issn.1000-1646.2002.01.024.
LIJiabao, LIU Haoyang. A solving method of overdetermined systems[J]. Journal of Shengyang University of Technology, 2002, 24(1):76-77. DOI:10.3969/j.issn.1000-1646.2002.01.024.
[17]李勤, 达飞鹏, 温晴川. 任意方向下的摄像机镜头畸变标定[J]. 仪器仪表学报, 2010, 31(9):2022-2027.
LI Qin, DAFeipeng, WEN Qingchuan. Calibration lens distortion of camera in all directions[J]. Chinese Journal of Scientific Instrument, 2010, 31(9):2022-2027.
[18]周子卿, 赵鹏, 李勃,等. 基于共线向量的非量测镜头畸变校正[J]. 光学学报, 2014(10):172-177. DOI:10.3788/AOS201434.1015001.
ZHOUZiqing, ZHAO Peng, LI Bo, et al. Nonmetric lens distortion calibration based on collinear vectors[J]. Acta Optica Sinica, 2014(10):172-177. DOI: 10.3788/AOS201434.1015001.
(编辑 王小唯 苗秀芝)
Flexible cylindrical back-projection algorithm
CAO Jiying1, LU Gaoyong1, LI Bo1, DONG Rong2
(1.School of Electronic Science and Engineering, Nanjing University, Nanjing 210046, China;2.School of Electronics and Information, Nantong University, Nantong 226019, Jiangsu, China)
Traditional cylindrical back-projection algorithm depends on the cylindrical model and calibration accuracy. While object distance changes, a second calibration needed. A new flexible algorithm is proposed to simplify the process and improve the scene adaptability. According to perspective projection theory, pixel equivalent is distributed by conics. The algorithm gets cylindrical imaging characteristics to realize cylindrical back-projection by means of fitting conics in the horizontal and vertical directions separately. It can adapt to the changes of imaging characteristics through amendment of conics coefficient without calibrate again, when the target object moves around relative to the camera. Experiment results show that the proposed algorithm accuracy is about normal for traditional way and remains unchanged while the target object moves around within the scope of a certain scale. The proposed algorithm meets image transformation requirements with calibration only once when the target object moves around on a small scale and scene adaptability is improved.
cylindrical back-projection; conic; imaging character; calibration; movement in small scale
10.11918/j.issn.0367-6234.2016.11.012
2016-04-08
国家自然科学基金(61401239)
曹济英(1993—),女,硕士研究生
李 勃, liboee@nju.edu.cn
TP391.4
A
0367-6234(2016)11-0075-08