基于视差图像序列的深度估计算法研究*
2018-04-20苏新彦
张 敏, 苏新彦, 白 桦
(1. 中北大学 信息探测与处理山西省重点实验室, 山西 太原 030051; 2. 首都航天机械公司, 北京 100076)
基于相机阵列的多视角成像[1-2]通过单次采样获得物体的空间信息, 得到图像序列, 保证了时间的一致性, 可以克服现有立体匹配[3-4]算法中环境等造成的误差, 降低了误匹配率, 使得得到的深度图轮廓更加清晰. 基于多视角成像的测距相比于双目立体视觉的测距, 前者获得的视角信息更加丰富, 进一步扩展了匹配空间, 使配准更加准确, 得到的重建效果更好. 基于相机阵列的多视角成像同时记录了场景点的角度信息和位置信息, 相比于传统成像多了两个维度, 可以很好地用于深度图像的重建[5-6].
目前, 基于场景信息的深度估计算法已经取得了一些研究. Bolles等[7]最先提出了极平面图像(Extremeplane image, EPI)这一概念, 并将它运用到多视角图像中, 根据EPI特定的线性结构, 通过计算直线的斜率来间接地对场景的深度进行估计; Criminisi等[8]提出一种分层的思想, 通过迭代将EPI分成不同深度的EPI管, 并通过分类整理, 去除EPI管中由于镜面反射造成影响的信息, 重建图像; Tao[9]等根据得到的光场相机数据集, 首先将聚焦区域与离焦模糊区域相融合, 在复杂的纹理与深度信息不连续的场景中, 取得了相对好的深度重建结果; Wanner等[10-11]提出一种基于能量最小化的深度估计方法, 利用结构张量并结合EPI来估计局部视差, 并进一步进行全局能量优化, 得到全局优化的深度图, 虽然得到的结果更加平滑, 但是牺牲了一些细节信息; Kim等[12]提出由精到粗的深度扩散方法, 首先根据边缘置信度, 计算场景的边缘轮廓信息, 再依次通过降采样来计算轮廓内部的深度, 能够得到较多细节信息的边缘深度图, 但是它的深度扩散算法需要在整个深度范围内搜索扩散, 时间复杂度太高, 不适合广泛应用.
本文针对Kim算法深度扩散中时间复杂度太高的问题, 在其算法的基础上进行改进. 首先, Kim算法是对每一个存储的边缘深度点在整个深度范围内搜索, 对非边缘区域进行扩散, 时间复杂度高. 本文是针对非边缘平滑区域的像素点, 在存储的边缘深度范围内进行搜索, 找到最相近的深度进行扩散. 因为是在存储的边缘深度范围内进行搜索, 而非整个深度范围, 所以时间复杂度大大降低. 其次, Kim算法是在EPI中, 对单个视角中的像素进行深度相似性匹配, 误匹配率很高. 本文是在EPI中沿着斜率的方向, 针对在多视角下的同名点, 计算同名点下的均值辐射度, 找到最相匹配的斜率, 提高了匹配的精准度.
1 基于Kim算法的深度估计算法概述
2 深度扩散
深度扩散就是利用存储的边缘深度信息, 按照一定的约束, 将没有计算深度的非边缘平滑区域填充上与之相匹配的深度值. 在Kim算法中, 约束条件是使满足‖E(s′,u′)-r‖<ε的E(s′,u′)对应的像素点为深度赋值r所对应的深度值.
Kim算法是把每一个存储的边缘深度点在整个EPI范围内搜索, 寻找相近似的深度, 对非边缘区域进行扩散. 本文是把每一个非边缘平滑区域的像素点在存储的边缘深度范围内寻找最相近的深度进行扩散, 是在边缘深度范围内进行搜索, 而非整个EPI范围. 我们知道, 边缘图像的深度信息范围已经包含了场景中图像整体的深度范围, 所以非边缘平滑区域的深度, 一定包含在此深度范围中. 也就是某非边缘平滑区域像素点的深度, 一定有一个对应的边缘深度点与之相匹配.
本文的算法, 首先将对EPI计算得到的边缘深度存储在一个线段元组I中,I=[d,u,s,r], 其中d为计算得到的视差,u和s为对应的位置坐标,r=E(s,u)存储了颜色信息. 利用这些边缘信息, 在EPI中对非边缘平滑区域进行扩散. 扩散的核心思想是: 对非边缘平滑区域的像素点, 遍历线性元组I中的视差值, 计算在该视差下的同名点的颜色集合R(u,d), 取这个集合的均匀辐射值r′, 计算每一个视差所对应的e=‖r′-r‖, 将计算得到的e存储在矩阵E中, 并从小到大排序. 最多在矩阵E中找到前3个值存储; 对存储的前几个值, 综合考虑距离与相似性e, 取e<ε且距离相对较近时所对应的视差, 将这个最匹配的视差赋值给需要扩散的非平滑区域的像素点, 完成扩散.
对一个M*N的图像来综合分析两种扩散算法的时间复杂度. 假设在每个EPI中计算得到的边缘点都相等, 为m个; 计算每一个同名点颜色集合的均匀辐射值需要时间t1, 计算e需要时间t2, 比较e<ε需要时间t3, 对矩阵E排序需要时间t4, 排序在matlab中有调用函数, 所以t4相对较小. 对于Kim算法, 考虑一个EPI, 它的外循环是1∶m, 它的内循环是1∶N, 所有的计算都在内循环里, 所以它需要mN个t1+t2+t3. Kim算法扩散总的时间为mN(t1+t2+t3), 它的时间复杂度为O(mN). 对于本文改进的深度扩散算法, 相同条件下, 它的外循环是1∶N, 内循环是1∶m,t1在内循环体内,t3和t4在外循环体内, 它扩散需要总的时间为N(mt1+t4+3t3), 算法的时间复杂度为O(N). 可以发现, 时间复杂度降低了.
3 实验结果与分析
实验基于文献[12]算法所提供的数据集和斯坦福数据库进行测试, 在Microsoft Windows 7 操作系统下, Intel Core(TM) i5-2410 2.26GHz以及Matlab R2014b的仿真软件下进行验证.
图 1 为深度估计实验对比图. 可以发现, 相对于文献[12]的算法, 本算法在非边缘平滑区域得到更多的细节信息, 扩散效果更好. 另外, 本算法也较好地保持了图像的边缘信息, 同时运行时间大大缩短, 几乎为文献[12]算法的3/5, 明显地降低了时间复杂度, 适合于快速估计深度.
图 1 深度估计实验对比图Fig.1 Experimental contrast diagram of depth estimation
图 1 中, 上边为Kim数据集, 下边为斯坦福数据集. (a)数据集的原图; (b)文献[12]结果图; (c)本文算法结果图.
表 1 给出了相应的运行时间.
表 1 运行时间
4 结 论
本文在Kim算法基础上, 对其深度扩散算法进行改进, 将原来的全局搜索, 改变为在边缘深度范围内的快速搜索, 明显降低了算法的时间复杂度. 另外, 不是单一的对单个视角下像素点进行扩散, 而是沿着斜率的方向对多个视角进行扩散, 使非边缘平滑区域的扩散更加准确, 减少不必要的错误. 但是仍然可以发现, 对于场景中的一些局部细节信息, 该算法不能够很好地表现出来, 依旧把它当成一个整体. 所以, 在接下来的工作中, 我们应该更加关注局部细节信息, 将距离相近的信息表现出来, 得到更加具体的图像深度信息.
参考文献:
[1]Lumsdaine A, Georgiev T. The focused plenoptic camera[C]. Computational Photography (ICCP), 2009 IEEE International Conference on. IEEE, 2009: 1-8.
[2]Georgiev T, Lumsdaine A. Superresolution with plenoptic camera 2.0[R]. Adobe Systems Incorporated, Tech. Rep, 2009.
[3]Yang Q. A non-local cost aggregation method for stereo matching[C]. IEEE Conference on Computer Vision and Pattern Recognition. IEEE Computer Society, 2012: 1402-1409.
[4]Shi C, Wang G, Yin X, et al. High-accuracy stereo matching based on adaptive ground control points[J]. IEEE Transactions on Image Processing A Publication of the IEEE Signal Processing Society, 2015, 24(4): 1412.
[5]Geiger A, Roser M, Urtasun R. Efficient large-scale stereo matching[C]. Asian Conference on Computer Vision. Springer-Verlag, 2010: 25-38.
[6]Zhu Shiping,Yang Liu. Stereo matching algorithm with graph cuts based on adaptive watershed[J]. Acta Optica Sinica, 2013, 33(3): 0315004.
[7]Criminisi A, Kang S B, Swaminathan R, et al. Extracting layers and analyzing their specular properties using epipolar-plane-image analysis[J]. Computer Vision and Image Understanding, 2005, 97(1): 51-85.
[8]Tao M W, Hadap S, Malik J, et al. Depth from combining defocus and correspondence using light-field cameras[C]. IEEE International Conference on Computer Vision. IEEE Computer Society, 2013: 673-680.
[9]Wanner S, Goldluecke B. Variational light field analysis for disparity estimation and super- resolution. Pattern Analysis and Machine Intelligence[J]. IEEE Transactions on, 2014, 36(3): 606-619.
[10]Wanner S, Goldluecke B. Globally consistent depth labeling of 4D light fields[C]. Computer Vision and Pattern Recognition (CVPR), Conference on. IEEE, 2012: 41-48.
[11]Wanner S, Goldluecke B. Spatial and angular variational super- resolution of 4D light fields[J]. Computer Vision- ECCV 2012. Springer Berlin Heidelberg, 2012: 608-621.
[12]Kim C, Zimmer H, Pritch Y, et al.. Scene reconstruction from high spatio- angular resolution light fields[J]. ACM Transactions on Graphics, 2013, 32(4): 73-83.