改进投影变换和保留结构特征的拼接图像修复算法

魏启元+吕晓琪+谷宇
摘 要: 拼接图像含有不规则的边界,需通过裁剪图像和补充像素获得矩形图像。直接裁剪的方式丢弃了图像周围的像素;基于样本块的图像修复算法存在物体结构上的不连续和不完整;利用马尔科夫随机场模型修补图像的方法搜索范围大,效率低。提出通过改进投影变换实现拼接图像的空间变换,减少拼接后图像周围的空缺区域面积,结合边界保留的细缝段裁剪算法对拼接图像进行矩形化扩充,实现拼接图像周围像素和内部物体结构信息的保留。实验结果表明,该方法实现了拼接图像视角最大化,未引入视觉可见形变,有效实现了拼接图像的矩形修复。
关键词: 拼接图像; 矩形化扩充; 细缝段裁剪; 边界保留; 图像修补
中图分类号: TN911.73?34; TP391 文献标识码: A 文章编号: 1004?373X(2017)23?0038?05
Abstract: The splicing image contains the irregular boundary, and its rectangular shape is acquired by means of image cutting and pixel supplementary. Since the direct cutting mode may discard the pixels around the image, the image completion algorithm based on sample block has the discontinuous and incomplete object structure, and the image completion method based on Markov random field model has broad search scope and low efficiency, a method of improving the projection transformation is proposed to realize the space transformation of the splicing image, so as to reduce the vacant areas around the spliced image, and combined the seam segment carving algorithm for boundary feature reservation to perform the rectangular expansion for the splicing image so as to realize the reservation of the pixels around the splicing image and object structure information inside the image. The experimental results show that the proposed method can realize the maximum visual angle of the splicing image, and rectangular completion of the splicing image without the visual visible deformation.
Keywords: splicing image; rectangular expansion; seam segment carving; edge preservation; image completion
0 引 言
圖像拼接是将两幅或者多幅有重叠部分的图像叠加成一幅大型的具有较宽视角的图像,目前已广泛应用于机器视觉、医学图像处理、遥感数据分析等领域[1?2]。由于拍摄时刻、视点、设备的差异,浮动图像往往存在尺度变化[3]、透视形变、扭曲等差别。为了解决上述问题,文献[4]提出采用Moving DLT(Direct Line Transform)方法消除重叠区域的鬼影问题,但是对非重叠区域进行了过渡的拉伸。文献[5]提出SPHP(Shape Preserving Half Projective)变换,将单应性矩阵分为两个部分,分别执行投影变换和相似变换,最终实现拼接图像最少的形变和拼接结果更大的视角。拼接后的图像不可避免地会有不规则的边界产生[6],然而人们的生活经验中,照片都是以矩形存在。文献[7]提出细缝裁剪算法,通过能量映射函数确定视觉显著的内容,利用动态规划算法查找能量最小的像素线,通过不断删除或复制这些低能量线实现图像缩放,但是只能应用矩形图像。文献[8]提出基于细缝线段(Seam Segment Carving,SSC)的图像裁剪算法,实现变换矩形图像到指定形状。文献[9]对拼接结果采用基于网格弯曲的图像形变算法,实现全景图像的修复,获得了较好的视觉效果。
影像修补(Image Completion)技术应用于移除影像中部分内容、修补照片中的瑕疵等,近些年也被应用到拼接图像处理中[10?11]。文献[12]提出利用优先权决定填补顺序对已知区域和待填补区域边缘线上的点都计算其优先权,共同决定填补的可信度和线性强度,但是在保留缺失区域结构信息的同时,也易修补出多余的线性结构。文献[13]提出马尔可夫随机场模型修补影像的方法,利用节点间相互传递信息同时改变接收到信息节点候选区块的可信度,迭代处理所有节点直到候选区块达到稳定为止,但是存在搜索范围过大,效率过低。文献[14]提出首先预测缺失区域在填补后的好坏程度,然后根据预测结果找到一个矩形,要求包含最多的已知区域和品质较好的未知区域,之后通过影像填补的方法进行填充,但是由于只是对矩形内的部分完成修补,所以仍然会损失一部分已知区域。
根据传统投影变换、直接裁剪、样本块图像修复的特点和不足,提出采用形状保留半投影(SPHP)变换和细缝段裁剪算法(SSC)实现拼接图像的矩形修复,提高浮动图像和参考图像重叠区域的配准精度,减少非重叠区域的扭曲形变和边缘缺失像素面积;通过自定义边界增强能量函数,能够有效保护视觉敏感的边缘和结构信息,扩充后的图像具有更宽的视角和更好的视角效果。
1 拼接图像空间变换
1.1 全局投影变换模型
1.2 几何误差修正
由于两幅配准图像之间存在旋转、比例和扫描误差等因素,图像会出现相对几何形变,它降低了图像的信噪比和各项性能指标,甚至可能导致图像拼接失败。为了提高重叠区域配准的准确率,引入单应性矩形几何误差,文献[5]提出假设对图像坐标的扰动为高斯噪声,通过最小二乘法计算式(2)的几何误差,避免求解8次多项式的迭代过程陷入局部最优。采用旋转坐标系统的方式,将坐标[(x,y)]转换到新的坐标系下[(u,v)],坐标变换如下:
1.3 SPHP投影变换
2 拼接图像矩形化扩充
2.1 细缝段裁剪(Seam Segment Carving)算法
细缝段是一条由相互连接的像素组成的低能量通路,由相互连接的像素[s1,s2,…,sn]组成,采用如下方法记录一条细缝段:[SX,n(st,ed)]。其中,[X]表示细缝段的方向,取值为L/R/T/B,分别表示垂直方向(左Left和右Right)和水平方向(上Top和下Buttom)的细缝段;[n]表示细缝段的大小,即包含了多少个像素;[(st,ed)]表示细缝段在行和列方向的开始位置和结束位置。
细缝段的提取,拼接图像外围黑色区域表示内容缺失的像素,包含黑色区域的最小外接矩形称之为目标矩形。首先,在目标矩形图像的四周找到一条黑色像素点水平连续或垂直连续的最长像素段[SX,n(st,ed)]。然后以最长像素段和拼接图像边界构造子图像。最后由式(12)找到子图像的最小能量细缝,向[X]表示的方向移动细缝到黑色区域一个像素单位,紧邻细缝的像素与周围像素进行二次插值。此时,之前找到的最长黑色像素段将被插入像素覆盖,实现一次图像扩充。插入细缝的过程将重复进行,直到图像覆盖全部矩形面积且没有黑色区域。但是,未充分考虑人眼对规则形状物体改变的视觉敏感。例如,当细缝多次相邻穿过图像中的直线,那么将导致交叉点处出现明显的扭曲,所以提出改进的能量函数定义。
2.2 改进能量函数的定义
式中:[e(I)]表示拼接图像的梯度能量图;[Eline]表示增强的直线段能量映射;[α]为平衡因子。采用Canny算子进行边界检测,以大小为3的Gaussian模板进行噪声移除,[Tup=100]和[Tlow=20]进行阈值处理。边界点转换为Hough空间[IH,]其中每一个像素点都与一条直线相关。阈值[THough=0.6?maxIH,]由Hough空间的最大值派生得到,选择满足条件的直线段。对于每一个候选直线段,计算直线段上像素点的总和。直线段最小长度[Tlength=]10像素。有效直线段间(缺口间)距离[Tgap=30]像素,采用梯度强度算法进行优化,提高直线段检测的精度。
2.3 改进算法描述
改进的拼接图像矩形化扩充方法,以缝雕刻算法为基础,实现对直线段的能量增强。算法流程图如图2所示。
算法具体步骤如下:
(1) 通过对参考图像和浮动图像进行特征提取,构造特征描述符并进行特征匹配,计算投影变换矩阵[H,]然后进行坐标空间变换,最后完成SPHP投影变换。
(2) 采用Canny边界检测判断显著性边界,将边界像素变换到Hough空间定位直线段位置,筛选满足条件的直线段,记录像素点位置。
(3) 判断边界是否含有黑色区域,是则表示拼接图像还有空缺的像素;通过修改的能量函数计算拼接图像的显著性图像,找到最小能量细缝段(SSC),并记录像素点的位置。
(4) 确定视觉显著直线段与最小能量细缝段交叉像素点位置,采用基于能量感知的细缝段裁剪算法扩充不规则边界的拼接图像,最后增强交叉点处像素能量值。实验中对交叉点处像素能量统一增加200,插入点周围7×7区域以2D高斯分布进行增加,避免细缝穿过紧邻插入点的像素位置。重复步骤(2)~步骤(4),直到拼接图像周围没有空缺像素,完成矩形化扩充。
3 实验结果与分析
为了验证改进算法的有效性,选取开放数据集[14]中不同类型的图像进行测试,并与传统的投影变换和直接裁剪方法进行比较,平均处理时间为10~15 s。实验工具为VS2010,OpenCV 2.4.11,硬件配置为Win7 Inter[?] CoreTM i7?3770 CPU 8 GB内存。
选择待拼接图像temple和campus,图像空间变换后二值图像如图3所示。其中图3(a)和图3(c)表示采用传统投影变换进行图像拼接,图3(b)和图3(d)表示采用改进投影变换(SPHP)进行图像拼接。传统投影变换对目标图像非重叠区域形变严重,并且拼接结果中黑色区域明显,即需要填充的像素面积较大。通过SPHP变换,减少拼接图像非重叠区域形变,圖像四周黑色区域减少,使得需要扩充的像素面积减少,其中黑色区域面积所占拼接图像百分比如表1所示。
通过对拼接图像进行SPHP变换,然后采用细缝段裁剪(SSC)方法对拼接图像进行矩形化扩充,实验结果如图4所示。其中图4(a)和图4(b)表示采用传统投影变换进行图像拼接,图4(c)和图4(d)表示采用改进投影变换(SPHP)进行图像拼接,其中红色方框表示采用最大内接矩形裁剪方式获得的矩形拼接图像,损失了较多的周围像素;图4(e)和图4(f)表示在改进投影变换(SPHP)的基础上对拼接图像进行细缝段裁剪(SSC)矩形化修复结果。
通过对比,可以发现传统的投影变换和改进的投影变换都实现了拼接图像的理想拼接,但是传统的投影变换对拼接图像非重叠区域形变严重,而改进的投影变换可以实现拼接图像重叠区域到非重叠区域的平滑过渡;并且后者相较于前者减少了拼接图像四周的黑色区域,为之后的修复提供了更好的条件。其中,图4(e)和图4(f)采用本文提出的SPHP+SSC方法,不仅保留了拼接图像四周像素,并且在未引入明显形变的情况下实现了拼接图像矩形修复。
针对已经完成拼接的边界不规则图像,选取数据集[14]中三组图片进行说明。实验主要与经典的Criminisi算法[12]、Komodakis算法[13]和Adobe Photoshop CS5(Content Aware Fill)进行比较,如图5所示。
比较不同方法,其中Criminisi算法(图5(b)列)修复后图像四周不同程度地出现了不确定的内容,修复的错误较多;Komodakis算法(图5(c)列)修复后图像四周出现了不同程度的模糊,其中第二幅图像上部分的木头引入了多余的结构信息,第三幅图像中间部分在修复后出现了原图像中不存在的多余路灯;图5(d)列中第一幅图像的四周也出现了模糊和不确定的内容,例如,在白云的地方出现了石头的像素,在第二幅中左上角出现了小孩子的衣服,不够合理,在第三幅中也出现了多余的路灯。对比本文提出方法,较好地解决了上述算法出现的问题,保留了原图像中全部内容信息和结构信息,修复图像四周内容清晰,没有模糊内容的产生,没有出现不合理的内容。
本文算法不仅能更好地满足人眼视觉效果要求,而且在客观评价指标上优于以上相关算法,如表2所示。通过峰值信噪比(Peak Signal?to?Noise Ratio, PSNR)的比较,可以看出本文方法处理后的图像与原图像之间失真更小;通过结构相似性(Structural Similarity, SSIM)的比较,可以看出本文的方法更好地保留了拼接图像的结构信息。
4 结 语
本文针对传统投影变换,Criminisi算法和Komodakis算法的不足,提出采用形状保留半投影变换(SPHP)和能量感知的细缝段裁剪(SSC)进行图像拼接和拼接后图像修复,有效实现了拼接过程中重叠区域精确配准,非重叠区域形变最小;修复后图像结构信息保持良好,边界清晰,图像质量更高。
注:本文通讯作者为吕晓琪。
参考文献
[1] SZELISKI R. Image alignment and stitching: a tutorial [J]. Foundations & trends in computer graphics & vision, 2006, 2(1): 273?292.
[2] 王娟,师军,吴宪祥.图像拼接技术综述[J].计算机应用研究,2008,25(7):1940?1943.
[3] BROWN M, LOWE D G. Automatic panoramic image stitching using invariant features [J]. International journal of computer vision, 2007, 74(1): 59?73.
[4] BROWN M S, CHIN T J, ZARAZA J, et al. As?projective?as?possible image stitching with moving DLT [J]. IEEE transactions on pattern analysis & machine intelligence, 2014, 36(7): 1285?1298.
[5] CHUM O, PAJDLA T, STURM P. The geometric error for homographies [J]. Computer vision & image understanding, 2005, 97(1): 86?102.
[6] 张霖.基于图像特征的拼接算法研究[D].北京:中国科学院研究生院,2011.
[7] AVIDAN S, SHAMIR A. Seam carving for content?aware image resizing [J]. ACM transactions on graphics, 2007, 26(3): 1?9.
[8] CHANG C H, SATO Y, CHUANG Y Y. Shape?preserving half?projective warps for image stitching [C]// Proceedings of 2014 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE, 2014: 3254?3261.
[9] HE K, CHANG H, SUN J. Rectangling panoramic images via warping [J]. ACM transactions on graphics, 2013, 32(4): 1?10.
[10] 李汪兵,叶学义,齐珍珍,等.小波域的快速自适应图像修复算法[J].计算机工程与应用,2015,51(15):183?187.
[11] 侯玉婷,彭进业,韩东辰.改进的Criminisi图像修复算法研究[J].计算机工程与应用,2015,51(11):135?138.
[12] CRIMINISI A, PEREZ P, TOYAMA K. Region filling and object removal by exemplar?based image inpainting [J]. IEEE transactions on image processing, 2004, 13(9): 1200?1212.
[13] KOMODAKIS N, TZIRITAS G. Image completion using efficient belief propagation via priority scheduling and dynamic pruning [J]. IEEE transactions on image processing, 2010, 16(11): 2649?2661.
[14] KOPF J, KIENZLE W, DRUCKER S, et al. Quality prediction for image completion [J]. ACM transactions on graphics, 2012, 31(6): 439?445.