光场图像透视变换算法 下载: 1190次
1 引言
透视变换是将图像投影到一个新的视平面,广泛应用于图像透视矫正[1]、全景图像拼接[2-3]等图像处理领域。光场图像记录场景丰富的三维结构和颜色信息,相较于传统的二维图像,可更好地用于估计场景的深度和进行三维重建或计算高质量的透视变换结果。与光场图像的新视点插值算法相比,透视变换的视点变化范围更大,但会出现被遮挡区域变为可见区域的内容填充问题。光场图像透视变换需要考虑新相机姿态下每个子视点之间的连续和一致性,因此更具有挑战性。
传统双目立体图像、多视点立体图像的透视变换算法已经较为成熟。Du等[4]提出基于双目立体图像的透视变换算法,通过对左右图像特征点进行匹配和对对应的线段进行透视变换,可以防止局部特征扭曲,同时避免产生空洞区域;Zhang等[5]提出了一种双目立体图像生成方法,其光场图像生成满足视点之间轴距要求,可以根据需求生成满足视差/深度要求的双目立体图像;Chaurasia等[6-7]使用稀疏的深度信息进行多视点图像透视变换,通过人为指定物体的轮廓或者根据颜色信息,将图像分成均匀的超像素保持物体的局部轮廓。相比双目立体图像、多视点立体图像,光场图像透视变换需要考虑更多的约束条件,因此传统的透视变化算法已不再适用于光场图像透视变换。
光场相机感光元件总像素数有限,其子透镜数量越多,单张图像的空间分辨率越小,即需要在光场图像的角度分辨率和空间分辨率之间进行权衡,目前针对光场图像的算法主要集中在新视点插值和图像超分辨率方面。Wanner等[8]提出的全变分框架实现了光场图像的超分辨率新视点生成,但新视点的质量严重依赖于视差图的精度和图像本身的质量;Pujades等[9]提出了一个基于启发式方法和贝叶斯公式的视点生成模型,由于考虑了场景几何估计不确定性所引起的误差,因此新视点图像的质量显著提高;Kalantari等[10]提出了一种针对消费级光场相机新视点生成的神经网络算法,该算法同时训练视差和颜色两部分,只需要光场图像顶点4个子视点图像,即可生成中间其他子视点图像;Flynn等[11]提出了基于深度卷积神经网络(DCNN)的多视点图像新视点生成算法,将新视点生成问题分解为多个深度平面上的视点选择和像素颜色融合问题,在谷歌街景数据上进行训练和预测,得到了良好的结果;Gul等[12]提出的基于卷积神经网络的光场图像增强算法包含两个子网络,分别用来提高角度分辨率和空间分辨率,适用于消费级光场相机;Wang等[13]利用端到端的深度学习框架,构建了一个伪四维(4D)的卷积神经网络,通过稀疏的视点输入即可高效合成密集的4D光场。上述算法可以实现光场图像内部的视点插值效果和子视点图像的超分辨率,但无法生成光场图像外部指定相机姿态的透视变换光场图像。
针对现有算法的不足,本文提出一种基于全变分投影和空洞修复的光场图像透视变换算法。该算法包括两部分:1)通过子图像的透视变换优化生成目标光场图像;2)利用视差值判断目标光场图像空洞区域的内容填充顺序。透视变换过程需要考虑场景的遮挡关系,一个子视点中多个点投影到目标子视点图像上同一个点时,通过深度信息即可判断点与点之间的遮挡关系。光场图像空洞区域的内容填充问题难点在于修复顺序,需要考虑场景的层次关系以及如何避免前景纹理填充背景区域。通过图像的视差值判断修复区域边缘属于前景还是后景,进而判断修复的优先级,确保内容填充顺序正确。最后,通过光场图像子视点之间的内容传播保持子视点之间的连续和一致性。
2 光场图像透视变换算法原理
首先,对光场图像进行预处理,得到每个子视点的视差图;然后,对光场图像进行基于全变分优化的透视变换,得到目标虚拟相机位置和姿态的光场图像以及对应的视差图;接着,使用基于视差优先级的方法修复视差图和中心子视点图像;最后,通过中心子视点向水平和垂直方向依次修复其他子视点图像。
2.1 基于全变分的光场图像透视变换
假设输入的光场图像为
式中:
反向投影是从二维图像到三维空间的映射,因此需要已知场景的深度信息,本文采用基于光场图像极平面图象(EPI)和结构张量的方法[14]计算视差图。图像中的每个点
式中:
经过反向投影得到场景空间坐标信息后,即可计算场景空间坐标到目标光场图像的重投影。光场相机的所有子透镜位于同一个平面,相机姿态的变化等效于子透镜平面的变化。相机旋转时,中心点外的子透镜位置相对相机中心会产生一个平移,如
式中:
式中:
反向投影和重投影可将输入子视点
图 2. 带空洞的光场图像透视变换结果。(a)输入的中心子视点图像;(b)单子视点图像透视变换结果;(c)全部子视点图像透视变换融合结果
Fig. 2. Perspective transformation results of light field image with black holes. (a) Input central subaperture view image; (b) perspective transformation result of single subaperture view image; (c) perspective transformation fusion result of all subaperture view images
2.2 基于视差优先级的图像修复方法
不同于图像编辑、物体去除等问题,透视变换的结果图像中大部分待修复区域由视点变化导致,即原本被前景遮挡的背景区域变成了可见区域。因此,只利用图像本身的纹理和颜色信息修复背景区域时[17],容易错误引用前景的纹理信息。为了避免这种错误,采用先修复视差图后修复RGB图像的策略,通过视差图判断RGB图像空洞区域修复的优先级,得到相对准确合理的修复结果。
对于待修复的视差图
式中:
式中:
式中:diff(
式中:
为了使修复的视差图像更准确,采用低秩低梯度的方法[18]优化修复的视差图像,将视差值量化为灰度级,然后进行低阶正则化,减少梯度为1的惩罚,去除视差图噪声的同时允许连续的视差变化。
RGB图像修复和视差图像修复步骤相似,过程如下:
1) 计算图像每个点的优先级
2) 提取图像待修复区域的边缘∂
3) 计算中心点
4) 找到优先级最大的待修复图像块
5) 将
6) 转到步骤2),直至图像中所有的待修复区域修复完成。
光场图像修复结果如
图 3. 基于视差优先级的光场图像修复结果。(a)待修复的子视点图像;(b)待修复的子视点视差图;(c)修复后的子视点图像;(d)修复后的子视点视差图
Fig. 3. Light field image restoration results based on disparity priority. (a) Subaperture view image to be restored; (b) subaperture disparity map before restoration; (c) restored subaperture view image; (d) restored subaperture disparity map
2.3 通过中心子视点修复其他子视点图像
采用基于空域的方法修复整个光场图像,每个子视点图像寻找最相似图像块的过程存在随机性,因此,非常容易出现子视点之间不一致的现象,而光场图像需要保持每个子视点之间均连续一致。因此,本文先修复中心子视点图像,然后依次修复其他子视点图像,视差的连续性使得修复后的子视点之间内容保持连续一致。修复顺序为中心子视点图像向垂直方向修复中间一列子视点图像,如
图 4. 光场图像所有子视点的修复顺序
Fig. 4. Restoration order of all subaperture views in light field image
修复某一个子视点图像时,将其最邻近一幅已修复的子视点图像作为参考图像。通过视差即可找到参考图像中点
3 实验结果
实验所用计算机硬件配置为Intel(R) Core(TM) i7-6700k处理器,主频为4.00 GHz,内存为16 GB,显卡为双NVIDIA(R) GeForce(R) GTX 1070,操作系统为Windows10,使用Matlab软件开发环境。仿真数据采用Blender软件进行渲染,真实数据通过Lytro Illum光场相机进行采集,使用LFToolBox[19]工具进行光场图像解码预处理。所有数据角度分辨率均为9×9,即每组数据在水平和垂直方向各有9个子视点,总共81幅子视点图像。子视点的索引通过二维向量表示,左上角和右下角的子视点索引分别为(0,0)和(8,8)。
3.1 透视变换结果分析
实验结果如
图 5. 光场图像透视变换及修复结果。(a1)~(f1)输入中心子视点图像;(a2)~(f2)透视变换结果;(a3)~(f3)修复后的透视变换结果
Fig. 5. Results of light field perspective transformation and restoration. (a1)-(f1) Input central subaperture view images; (a2)-(f2) perspective transformation results; (a3)-(f3) restored perspective transformation results
从
3.2 透视变换结果对比
基于贝叶斯的新视点生成算法得到的结果和本文算法结果如
从
表 1. 透视变换参数
Table 1. Parameters for perspective transformation
|
表 2. 算法消耗时间
Table 2. Consuming time of proposed algorithm
|
图 6. 光场图像透视变换结果比较。(a1)~(c1)文献[ 8]算法结果;(a2)~(c2)文献[ 9]算法结果;(a3)~(c3)本文算法的结果;(a4)~(c4)图像真值
Fig. 6. Comparison of light field image perspective transformation results. (a1)-(c1) Results of method in Ref. [8]; (a2)-(c2) results of method in Ref. [9]; (a3)-(c3) results of proposed method; (a4)-(c4) truth images
表 3. 光场透视变换结果定量分析
Table 3. Quantitative analysis for light field perspective transformation images
|
4 结论
提出了一种基于全变分投影和空洞修复的光场图像透视变换算法,通过子视点图像的反向投影和重投影优化生成目标光场图像,利用图像的视差判断空洞区域的边缘属于前景还是背景,进而计算修复优先级。该方法克服了透视变换产生的空洞区域难填充问题,生成的透视变换光场图像拥有正确的遮挡关系,可服务于一系列光场图像编辑应用,如光场图像透视矫正、光场显示、光场图像拼接等。后续工作将针对本文算法的不足进行改进,例如,真实场景的透视变换结果受视差图的质量限制,可以采用更多的约束提高算法的稳健性,同时提高算法的优化速度,使算法具有实时性;另外,透视变换光场图像目前只能保持原来的分辨率,后续工作将在透视变换的同时使图像达到超分辨率,进一步提高算法实用性。
[1] 代勤, 王延杰, 韩广良. 基于改进Hough变换和透视变换的透视图像矫正[J]. 液晶与显示, 2012, 27(4): 552-556.
[2] 赵婷, 康海林, 张正平. 结合区域分块的快速BRISK图像拼接算法[J]. 激光与光电子学进展, 2018, 55(3): 031005.
[3] 陈继华, 郭文松. 基于摄影经纬仪的全景图像拼接方法[J]. 激光与光电子学进展, 2016, 53(5): 051001.
[8] WannerS, GoldlueckeB. Spatial and angular variational super-resolution of 4D light fields[M] ∥Fitzgibbon A, Lazebnik S, Perona P, et al. Computer vision-ECCV 2012. Lecture notes in computer science. Berlin, Heidelberg: Springer, 2012, 7576: 608- 621.
[9] PujadesS, DevernayF, GoldlueckeB. Bayesian view synthesis and image-based rendering principles[C]∥2014 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 23-28, 2014, Columbus, OH, USA. New York: IEEE, 2014: 3906- 3913.
[11] FlynnJ, NeulanderI, PhilbinJ, et al. Deep stereo: learning to predict new views from the world's imagery[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016, Las Vegas, NV, USA. New York: IEEE, 2016: 5515- 5524.
[13] Wang YL, LiuF, Wang ZL, et al. End-to-end view synthesis for light field imaging with pseudo 4DCNN[M] ∥Ferrari V, Hebert M, Sminchisescu C, et al. Computer vision-ECCV 2018. Lecture notes in computer science. Cham: Springer, 2018, 11206: 340- 355.
[14] WannerS, GoldlueckeB. Globally consistent depth labeling of 4D light fields[C]∥2012 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 16-21, 2012, Providence, RI, USA. New York: IEEE, 2012: 41- 48.
[15] 袁瑞峰, 刘明, 惠梅, 等. 基于双目视觉的深度图拼接[J]. 激光与光电子学进展, 2018, 55(12): 121013.
[19] Dansereau DG, PizarroO, Williams SB. Decoding, calibration and rectification for lenselet-based plenoptic cameras[C]∥2013 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 23-28, 2013, Portland, OR, USA. New York: IEEE, 2013: 1027- 1034.
Article Outline
王建明, 毛一鸣, 晏涛, 刘渊. 光场图像透视变换算法[J]. 激光与光电子学进展, 2019, 56(15): 151003. Jianming Wang, Yiming Mao, Tao Yan, Yuan Liu. Perspective Transformation Algorithm for Light Field Image[J]. Laser & Optoelectronics Progress, 2019, 56(15): 151003.