2024年4月7日发(作者:巫马兴朝)
LYTRO相机光场图像深度估计算法及重建的研究
孙福盛;韩燮;丁江华;刘涛
【摘 要】Light-field cameras have now become available in both consumer
and industrial applications. It is an important research subject to reconstruct the
object by using the light field camera. In the course of practical research, the
spatial information of the Lytro camera and the angle information are reused in
the same sensor, which leads to the low resolution of the image, and the
reconstruction effect is not ideal. In order to solve this problem, this paper
presents a method of sub-pixel image depth estimation, performing the sub-pixel
shifts based on multi-label of sub-aperture images in the frequency domain,
building the matching cost volume reference to center view image. Then the use
of the guide filter suppresses noise while keeping the edge of the image well, and
matching cost behavior of multi label is optimized, the accurate depth estimation
results are obtained. Finally, the surface rendering and texture mapping of the
target depth map are processed, and finer results are obtained. The experimental
results show that the proposed algorithm can solve the problem of fuzzy
reconstruction in the reconstruction of complex objects with good performance.%
光场相机目前已广泛应用于消费领域和工业应用领域,利用光场相机对目标物进行深度重
建成为了一项重要的研究课题.在实际研究过程中,Lytro相机空间信息与角度信息复用于同
一传感器,导致图像分辨率较低,从而使得重建效果不甚理想.为解决这一问题,提出了一种亚
像素精度的光场图像深度估计方法,在频率域对子孔径图像进行多标签下的亚像素偏移,以
中心视角图像为参照,建立像素匹配代价行为;使用引导滤波抑制噪声的同时保持了图像边
缘;对多标签下的匹配代价行为进行优化,得到精确的深度估计结果.对目标深度图进行表面
渲染、纹理映射等重建处理,得到较为精细的重建结果.实验结果表明,该算法在对复杂度较
高的物体进行重建时,解决了重建模糊等问题,有较好的表现.
【期刊名称】《计算机工程与应用》
【年(卷),期】2018(054)013
【总页数】6页(P175-180)
【关键词】亚像素精度;多标签;图像匹配;图像分割;深度估计;三维重建
【作 者】孙福盛;韩燮;丁江华;刘涛
【作者单位】中北大学 计算机与控制工程学院,太原 030051;中北大学 计算机与控制
工程学院,太原 030051;中北大学 计算机与控制工程学院,太原 030051;中北大学 计算机
与控制工程学院,太原 030051
【正文语种】中 文
【中图分类】TP391.41
1 引言
图像的深度估计是计算机视觉研究中的一个基本问题,它在机器人学、目标跟踪、场
景理解和三维重建中有着重要作用[1]。同人类利用很多视觉线索来感知深度一样,图像
中也存在很多可利用的深度线索,如双目视差、运动信息、模糊和纹理梯度等[2]。光场
去相机能够同时记录到达传感器光线的位置信息和角度信息。仅一次拍摄,通过软件处理
可以获得场景的多视角图像和重聚焦图像,视差信息和模糊线索并存,对深度估计极为有
利,受到业界的极大关注。目前,国内外基于光场图像的深度估计与重建已取得了一些进
展。文献[3-7]提取四维光场的极平面图像(Epipolar Plane Images,EPI)进行分析,
三维场景的一点对应EPI的一条直线,直线斜率与深度成比例关系。文献[7]针对EPI的线
性结构特点,提出一种交叉检测模型,用于快速准确地检测图像的轮廓边缘;采用结构张
量对边缘点的深度进行预估,并通过照度一致性得分求取精确的边缘深度。该方法对噪声
敏感,适用于基线比较大的相机阵列系统,对基于微透镜阵列的Lytro光场图像不能产生
令人满意的结果。文献[8]将视差线索和散焦线索相融合,结合马尔科夫随机场进行优化,
在纹理复杂和深度不连续场景下取得了较高质量的深度恢复结果。该方法对重聚焦参数依
赖性强,鲁棒性不高。文献[9]直接对马赛克子孔径图像进行块匹配,避免不同子孔径间
的信号干扰。该方法产生的深度图呈现阶梯状,精度受到限制。文献[10]提出基于Lytro
图像的双目立体测距的方法,选取其中两个子孔径图像构成双目立体测距系统,通过
Matlab标定工具箱和OpenCV函数库进行联合标定、立体校正和立体匹配生成深度图像,
对目标物体进行距离测量。该方法只使用了100多个子孔径图像中两幅图像进行测距实
验,立体匹配及测距精度不高。文献[11]采用depth from focus算法估计场景深度,进
行数字重聚焦处理,重构聚焦于不同深度的图像序列,最后用Halcon软件实现三维重建。
文献[12]中提到Lytro相机子孔径图像像素间的偏移量在-1~1之间,因此本文提出
基于亚像素精度的光场图像深度重建,算法分为以下几步:(1)设置不同偏移标签,对
子孔径图像在频率域内进行不同程度的亚像素偏移。(2)以中心子孔径图像为参照,建
立像素匹配代价行为Cost Volume。(3)对Cost Volume进行引导滤波保持图像边缘。
(4)利用GCO 工具箱,结合图像分割,对Cost Volume进行优化产生精确的深度估计
结果。(5)三维重建。
本文算法创新性可总结为两个方面:(1)在频率域内进行不同程度的亚像素偏移,
提高算法精度及实验结果精度;(2)通过引导滤波的方法保护目标物边缘信息,以获得
优质的算法效果。
2 光场子孔径图像提取
2.1 光场成像原理
与传统相机相比,Lytro光场相机在主透镜与传感器之间插入微透镜阵列,每个微透
镜下覆盖若干传感器像素,如图1所示。
微透镜阵列与主透镜的距离D≈Fm,微透镜阵列与传感器的距离d=fm,其中F m、
fm分别为主透镜和微透镜的焦距,F m=6.45 mm,fm=25μm,两者相差两个数量级。
因此,主透镜聚焦在微透镜阵列上,微透镜阵列聚焦在无穷远处。
如图1所示,由A点发出的所有角度的光线经主透镜汇聚到其中一个微透镜,继而
分散到其后覆盖的若干传感器像元,构成一个宏像素。粗线为来自A点某个角度的光线,
只可能到达其中一个子像素。宏像素对应物点的位置信息,子像素对应角度信息,传感器
采用空间复用原理记录场景的四维光场信息。
图1 Lytro光场相机原理
2.2 子孔径图像提取
图1中粗线是物体上一点到达主透镜某个子孔径的光线,将所有点通过该孔径的光线
提取出来,构成了子孔径图像,如图2所示。图2(a)是传感器平面,高、宽分别为
Height和Width,宏像素大小M×N。将每个宏像素中相同位置的子像素提取出来,按
相对位置组合成新的图像,即子孔径图像,共M×N个,每个子孔径图像的大小为
(Height/N)×(Width/M),如图2(b)所示。
图2 子孔径图像提取
子孔径图像等价于减小主透镜孔径大小之后对场景的成像,景深相对于原始图像增大。
子孔径图像是从不同视角采集的图像,不过相邻两个视角的图像视差在一个像素之内,因
此本文提出基于亚像素精度的光场图像深度估计。
3 深度估计
3.1 子孔径图像亚像素偏移
四维光场表示为L(x,y,s,t),(s,t)是子孔径图像索引,(x,y)是图像坐标。除中心视角外,
对每个子孔径图像I(s,t)(x,y)在频率域进行多标签的亚像素偏移。
根据相移理论,图像在空间域偏移(Δx,Δy)时,对应的频率域的变换为:
其中,F{⋅}是二维离散傅里叶变换;Δx、Δy是像素偏移量;k是亚像素单位偏移量,
设为0.02;l是偏移倍数,即标签数,为了保证精度,l个数一般大于20;若l小于20,
则精度极剧下降。(sc,tc)是中心子孔径索引值,视角离中心越远,图像偏移量越大。
亚像素偏移图像I′(s,t)(x,y)根据公式(3)获得:
图3分别对子孔径图像在空间域进行双线性插值平移(3(b))和频率域进行像素偏
移(3(c))。局部放大结果表明:双线性插值产生模糊现象,频率域操作产生的图像更
清晰,更尖锐。为了保证后续计算匹配代价行为的准确度,精确的偏移图像至关重要,尤
其是对于基线极小的Lytro子孔径图像。
图3 图像偏移
3.2 建立匹配代价行为
子孔径图像执行偏移操作之后,以中心孔径图像为参考,分别对每个标签建立像素匹
配代价行为Cost Volume。此过程考虑两方面的像素差异,灰度差值C A和梯度差值C
G。匹配代价函数C是像素(x,y)和标签l的函数,即:
其中τ1、τ2是为鲁棒性设置的阈值,V是除中心孔径外所有子孔径图像的索引集合,
x方向梯度差异定位为:Diff(x,y)=I(sc,tc)x(x,y)-I′(s,t),x(yx方,y向)相似。公式(5)通
过比较中心孔径图像和其他子孔径图像像素差异建立的匹配代价,公式(6)则是比较梯
度差异。λ是协调两个梯度方向的比重,定义为:
最后根据公式(4)建立多标签下的像素匹配代价行为C(x,y,l)。
3.3 引导滤波
引导滤波是近几年才出现的滤波技术,是一种同时考虑了像素空间差异和强度差异的
滤波器,具有保持图像边缘的特性[13]。引导滤波用到了局部线性模型,即输出图像与输
入图像在一个图像窗口内满足线性关系。
以中心子孔径图像I=I(sc,tc)(x,y)为引导图像,采用引导滤波器对每个匹配代价行为
C(x,y)进行滤波(固定标签l)。在窗口wk内,输出图像C′k(xi,y i)定义为:
σk是引导图I在图像窗口的方差。| |wk表示窗口大小,ε用于防止ak过大,两者是
调节滤波器滤波效果的重要参数。a k的分子是引导图像和待滤波图像的协方差,本文利
用文献[14]高效率的盒式滤波器使求和运算的复杂度降低到O(1)。利用方差和期望的关系
公式(11),可用
一个像素可能同时落到数个窗口内,因此输出值C′(xi,y i)取多个窗口的平均值,如公
式(12)所示:
使用引导滤波器对各个标签的匹配代价行为进行滤波,得到边缘保持良好的滤波结果
C′(x,y,l)。
3.4 GCO优化
GCO(Graph Cut Optimization)是一款计算机视觉研究机构研发的工具箱,主要
研究基于多标签的图像分割优化算法[15]。原理过程如图4所示。
图4 GCO原理
图4中只画出了两个标签的情况。其中绿色和紫色是像素分别在两个标签下的匹配代
价行为,在本文中指C′(x,y,l);红色线表示像素邻域间的边权值,一般取两者的颜色差值,
若不相邻则取0。
把所有需要断裂的点与点之间边的权值和未断裂的点与标签之间连接的边的权值加起
来认为是最后切割的能量。根据能量最小化,黑色粗线表示图像分割结果。
最后调用GCO_GetLabeling(Handle,i),获得每个像素对应的标签,即像素的
深度估计结果。
4 算法结果与对比分析
本文就Lytro 1代光场相机拍摄的两幅光场图像进行实验研究。一幅是包含前后两组
积木块的大景深场景(如图7实验1);另一幅是景深距离相对较小的仙人掌图片(如图
7实验2)。以MATLAB为主要实验环境,并借助Lytro Desktop软件。依次进行如下
操作:(1)子孔径图像提取,多标签亚像素偏移;(2)建立匹配代价行为 Cost
Volume;(3)对 Cost Volume进行引导滤波;(4)利用GCO 3.0工具箱,得到优化
后的深度估计图。最后将本文算法结果与文献[8]作对比。
4.1 光场图像预处理
Lytro相机的微透镜阵列按六边形排列,原始图像如图5(a)所示。图像分辨率为3
280×3 280。
图5 光场图像
Lytro相机的子孔径图像的获取,是对所有微透镜所覆盖的相同位置的子像素提取;
因此,子孔径图像宏像素大小,是由相机中单个微透镜所覆盖的传感器像素个数决定。不
同的光场相机,单个微透镜覆盖的子像素个数不同;子像素越多,相机获取的实验数据信
息越多,图像分辨率越高,深度估计越准确;反之,则相机获取的实验数据信息越少,图
像分辨率越低,深度估计的误差越多。
本文实验中选取的宏像素为Lytro相机单个微透镜下覆盖的传感器像素集合,如图5
(c)所示(本文中选取的实验相机为第一代Lytro相机,相机序列号为:sn-
A502390678,运行环境为:Windows 8,64位操作系统)。由于不同生产批号之间的
差异,宏像素的大小约为:10×10个像素。
对原始图像进行校正得到正交排列的宏像素。本文实验中,宏像素共379×379个,
每个宏像素大小为11×11个像素。如图5(b)所示。
将所有宏像素中相同位置的子像素提取出来,构成11×11幅子孔径图像I(s,t)(x,y),
每幅图像的像素分辨率是379×379,如图6(a)所示。从图中看出边缘子孔径图像较暗,
这是由于通过这些孔径的光线较少引起的,若将其作为实验目标,则会引入大量噪声。因
此只考虑位于中间的7×7幅图像,如图6(b)所示。
图6 子孔径图像
对所有子孔径图像在频率域进行多标签亚像素偏移。本文亚像素单位偏移量k=0.02,
标签数l=75,即每幅子孔径图像都要进行75次亚像素偏移,得到
4.2 算法结果分析
参考2.2节介绍的方法,以中心子孔径图像I(sc,tc)(x,y)为参考,其中sc=4,tc=4。
根据公式(4)、(5)、(6)建立数量为l的匹配代价行为C(x,y,l)。
假设像素(x,y)在标签l0下的匹配代价最小,则将该像素的深度设为l0。初步深度估
计结果如图7(b)所示,边缘深度已有所体现,但在图像平滑区域出现大量噪声。
图7 深度估计
为了缓解不可靠匹配并抑制噪声,以中心子孔径图像为引导图像,对每个标签下的匹
配代价行为C(x,y,l)进行引导滤波,产生对边缘保持良好的C′(x,y,l)。通过多次实验,其中
两个重要参数图像窗口大小| |wk=5×5=
利用GCO 3.0工具箱进行多标签优化和提高。以C′(x,y,l)为每个标签到各像素的
DataCost,以邻域内像素之间的颜色差值为Weight,建立像素间的SmoothCost。结
合图像分割算法,进行多标签优化,实验结果如图7(d)所示。
图7(d)表明本文算法在大景深和小景深场景下都取得了良好的深度估计结果。特
别是在实验2中,仙人掌各像素深度接近,仍取得了理想的效果,其中,黑色方框部分表
明该算法对距离较近的点会产生错误的估计结果。原因一:去马赛克过程中子孔径图像发
生串扰;原因二:场景通过主透镜、微透镜阵列成像过程中,图像发生扭曲和变形。
标签数的选取则是算法过程中一个十分重要的环节。本文算法中,子孔径图像进行多
标签下的亚像素偏移,标签的个数是最重要的参数。l的取值不仅影响算法的时间和空间
复杂度,也决定了最终深度图的精度,本文对此参数进行详细分析。对上述实验分别取标
签数25、50、75和100,实验结果如图8所示。25,ε=0.000 1。根据公式(12)优化
深度估计值,实验结果如图7(c)所示。
图8 l取值对结果影响程度
图8结果表明|l|较小时,前后场景相对深度对比强烈,时间复杂度低,但有尖锐的边
缘;反之,|l|较大时,深度图呈现相对平滑的状态,时间复杂度高,但对比不明显。这是
由于当标签数多时,侧重于保护深度图的连续性特征。从实际应用角度来说,||l对最终结
果影响不大。但从时间复杂度考虑,||l最好控制在50~75之间便可取得理想结果。
4.3 算法对比分析
如图9是本文结果与文献[8]、文献[13]、文献[14]的实验对比结果。文献[8]用数字
重聚焦原理产生场景的一系列聚焦深度不同的图像。该算法是一种经典的算法,但是该算
法在数字重聚焦时需要尽可能覆盖场景的所有深度范围,因此依赖于参数α。α取值范围
对最终结果影响很大,鲁棒性较差。图8(b)由于无法准确确定参数范围,使得最终结
果呈现一片黑或者很暗的情况,实验结果不理想。图9(c)及图9(d)分别为文献[13]、
文献[14]的实验结果,如图可见文献算法在目标物边缘处理方面优于本文算法,如木块边
缘、键盘边缘。但在近距离目标物的深度恢复方面,如木块前桌面部分,本文算法精度优
于文献算法。
图9 实验对比
值得一提的是,由于Lytro相机获取的图像分辨率低是其致命弱点,本文实验数据是
通过单次拍摄对目标实现深度获取及三维重建的。因此,只能通过深度信息得到相对的深
度比例数据,在无具体数值参照物的情况下,对精细目标进行深度获取时,目标物分辨精
度可达5 mm,即可分辨出间距≥5 mm的不同目标物或间距≥5 mm的不同深度平面,
充分体现了该算法的优势。
如表1是几种算法在Matlab环境的运行时间对比。
表1 时间复杂度对比算法文献[8]算法本文算法文献[13]算法文献[14]算法时间/s 2
371 2 209 2 108 2 883
5 深度重建
在前文的算法验证中,通过分析与对比,对本文算法进行了可行性证明。本章将基于
该算法对拍摄目标物体进行三维重建。
实验过程如图10所示,实验目标选取了复杂度较高的鲜花模型,用于充分体现算法
在深度获取时的精细程度,同时也为下一阶段对Lytro相机深度分辨率的研究做准备。
图10 高复杂度鲜花模型
如图11所示,(a)为目标光场图像,(b)为目标子孔径图像,(c)为目标校正
图像,(d)、(e)为目标深度图像。
利用基于VC++的OpenGL和ArcGIS Engine工具,对图11中目标深度图进行表
面渲染、纹理映射等重建处理,得到了较为精细的重建结果,如图12所示。
图11 重建过程
图12 重建结果
6 结束语
本文针对Lytro相机光场图像的特殊性和复杂性,重点研究了Lytro光场图像的深度
估计算法,提出了基于亚像素精度光场图像的深度估计方法。对提出的算法从理论上进行
了研究,并通过实验进行验证;通过对比分析,给出了算法优势及不足;最后,利用算法
对目标图像进行三维重建。实验结果表明,该算法在对复杂度较高的物体进行重建时,解
决了重建模糊等问题,有很好的重建效果。
【相关文献】
[1]江静,张雪松.基于计算机视觉的深度估计方法[J].光电技术应用,2011,26(1):
51-55.
[2]肖照林.基于相机阵列的光场成像与深度估计方法研究[D].西安:西北工业大学,
2014.
[3]Wanner S,Goldluecke ly consistent depth labeling of 4D light
fields[C]//Proceedings of IEEE Conference on Computer Vision and Pattern
Recognition,2012:41-48.
[4]Li J,Lu M,Li Z uous depth map reconstruction from light
fields[C]//Proceedings of IEEE Conference on Multimedia and Expo,2013:1-6.
[5]Diebold M,Goldluecke ar plane image refocusing for improved
depth estimation and occlusion handling[C]//Proceedings of Anuual Workshop
on Vision Modeling,and Visualization,Sep 2013.
[6]Kim C,Zimmer H,Pritch Y,et reconstruction from high spatio-
angular resolution light fields[J].ACM Trans Graph,2013,32(4).
[7]丁伟利,马鹏程,陆鸣,等.基于先验似然的高分辨光场图像深度重建算法研究[J].
光学学报,2015,35(7):231-238.
[8]Tao M,Hadap S,Malik J,et from combining defocus and
correspondence using light-field cameras[C]//Proceedings of IEEE International
Conference on Computer Vision,2013:673-680.
[9]Sabater N,Seifi M,Drazic V,et te disparity estimation for
plenoptic images[C]//Proceedings of ECCV 2014 Workshops,2014:548-560.
[10]杨韬,符文星,王民钢,等.基于光场成像的双目深度图像获取[J].西北工业大学
学报,2015,33(5):727-731.
[11]尹晓艮,张晓芳,张伟超,等.基于光场数字重聚焦的三维重建方法研究[J].光电
子·激光,2015,26(5):986-991.
[12]Hahne C,Aggoun A,Haxha S,et ne of virtual cameras acquired
by a standard plenoptic camera setup[C]//Proceedings of 2014 3DTV-Conference:
The True Vision-Capture,Transmission and Display of 3D Video,2014:1-3.
[13]Jeon H G,Park J,Choe G,et te depth map estimation from a
lenslet light field camera[C]//Proceedings of 2015 IEEE Conference on Computer
Vision and Pattern Recognition,2015:1547-1555.
[14]Chen C,Lin H,Yu Z,et field stereomatching using bilateral
statistics of surface cameras[C]//Proc of IEEE Int Conf Comput Vis Pattern Recog,
2014:1518-1525.
[15]Ma Z,He K,Wei Y,et nt time weighted median filtering for
stereo matching and beyond[C]//Proceedings
Conference on Computer Vision,2013:49-56.
of 2013 IEEE International
2024年4月7日发(作者:巫马兴朝)
LYTRO相机光场图像深度估计算法及重建的研究
孙福盛;韩燮;丁江华;刘涛
【摘 要】Light-field cameras have now become available in both consumer
and industrial applications. It is an important research subject to reconstruct the
object by using the light field camera. In the course of practical research, the
spatial information of the Lytro camera and the angle information are reused in
the same sensor, which leads to the low resolution of the image, and the
reconstruction effect is not ideal. In order to solve this problem, this paper
presents a method of sub-pixel image depth estimation, performing the sub-pixel
shifts based on multi-label of sub-aperture images in the frequency domain,
building the matching cost volume reference to center view image. Then the use
of the guide filter suppresses noise while keeping the edge of the image well, and
matching cost behavior of multi label is optimized, the accurate depth estimation
results are obtained. Finally, the surface rendering and texture mapping of the
target depth map are processed, and finer results are obtained. The experimental
results show that the proposed algorithm can solve the problem of fuzzy
reconstruction in the reconstruction of complex objects with good performance.%
光场相机目前已广泛应用于消费领域和工业应用领域,利用光场相机对目标物进行深度重
建成为了一项重要的研究课题.在实际研究过程中,Lytro相机空间信息与角度信息复用于同
一传感器,导致图像分辨率较低,从而使得重建效果不甚理想.为解决这一问题,提出了一种亚
像素精度的光场图像深度估计方法,在频率域对子孔径图像进行多标签下的亚像素偏移,以
中心视角图像为参照,建立像素匹配代价行为;使用引导滤波抑制噪声的同时保持了图像边
缘;对多标签下的匹配代价行为进行优化,得到精确的深度估计结果.对目标深度图进行表面
渲染、纹理映射等重建处理,得到较为精细的重建结果.实验结果表明,该算法在对复杂度较
高的物体进行重建时,解决了重建模糊等问题,有较好的表现.
【期刊名称】《计算机工程与应用》
【年(卷),期】2018(054)013
【总页数】6页(P175-180)
【关键词】亚像素精度;多标签;图像匹配;图像分割;深度估计;三维重建
【作 者】孙福盛;韩燮;丁江华;刘涛
【作者单位】中北大学 计算机与控制工程学院,太原 030051;中北大学 计算机与控制
工程学院,太原 030051;中北大学 计算机与控制工程学院,太原 030051;中北大学 计算机
与控制工程学院,太原 030051
【正文语种】中 文
【中图分类】TP391.41
1 引言
图像的深度估计是计算机视觉研究中的一个基本问题,它在机器人学、目标跟踪、场
景理解和三维重建中有着重要作用[1]。同人类利用很多视觉线索来感知深度一样,图像
中也存在很多可利用的深度线索,如双目视差、运动信息、模糊和纹理梯度等[2]。光场
去相机能够同时记录到达传感器光线的位置信息和角度信息。仅一次拍摄,通过软件处理
可以获得场景的多视角图像和重聚焦图像,视差信息和模糊线索并存,对深度估计极为有
利,受到业界的极大关注。目前,国内外基于光场图像的深度估计与重建已取得了一些进
展。文献[3-7]提取四维光场的极平面图像(Epipolar Plane Images,EPI)进行分析,
三维场景的一点对应EPI的一条直线,直线斜率与深度成比例关系。文献[7]针对EPI的线
性结构特点,提出一种交叉检测模型,用于快速准确地检测图像的轮廓边缘;采用结构张
量对边缘点的深度进行预估,并通过照度一致性得分求取精确的边缘深度。该方法对噪声
敏感,适用于基线比较大的相机阵列系统,对基于微透镜阵列的Lytro光场图像不能产生
令人满意的结果。文献[8]将视差线索和散焦线索相融合,结合马尔科夫随机场进行优化,
在纹理复杂和深度不连续场景下取得了较高质量的深度恢复结果。该方法对重聚焦参数依
赖性强,鲁棒性不高。文献[9]直接对马赛克子孔径图像进行块匹配,避免不同子孔径间
的信号干扰。该方法产生的深度图呈现阶梯状,精度受到限制。文献[10]提出基于Lytro
图像的双目立体测距的方法,选取其中两个子孔径图像构成双目立体测距系统,通过
Matlab标定工具箱和OpenCV函数库进行联合标定、立体校正和立体匹配生成深度图像,
对目标物体进行距离测量。该方法只使用了100多个子孔径图像中两幅图像进行测距实
验,立体匹配及测距精度不高。文献[11]采用depth from focus算法估计场景深度,进
行数字重聚焦处理,重构聚焦于不同深度的图像序列,最后用Halcon软件实现三维重建。
文献[12]中提到Lytro相机子孔径图像像素间的偏移量在-1~1之间,因此本文提出
基于亚像素精度的光场图像深度重建,算法分为以下几步:(1)设置不同偏移标签,对
子孔径图像在频率域内进行不同程度的亚像素偏移。(2)以中心子孔径图像为参照,建
立像素匹配代价行为Cost Volume。(3)对Cost Volume进行引导滤波保持图像边缘。
(4)利用GCO 工具箱,结合图像分割,对Cost Volume进行优化产生精确的深度估计
结果。(5)三维重建。
本文算法创新性可总结为两个方面:(1)在频率域内进行不同程度的亚像素偏移,
提高算法精度及实验结果精度;(2)通过引导滤波的方法保护目标物边缘信息,以获得
优质的算法效果。
2 光场子孔径图像提取
2.1 光场成像原理
与传统相机相比,Lytro光场相机在主透镜与传感器之间插入微透镜阵列,每个微透
镜下覆盖若干传感器像素,如图1所示。
微透镜阵列与主透镜的距离D≈Fm,微透镜阵列与传感器的距离d=fm,其中F m、
fm分别为主透镜和微透镜的焦距,F m=6.45 mm,fm=25μm,两者相差两个数量级。
因此,主透镜聚焦在微透镜阵列上,微透镜阵列聚焦在无穷远处。
如图1所示,由A点发出的所有角度的光线经主透镜汇聚到其中一个微透镜,继而
分散到其后覆盖的若干传感器像元,构成一个宏像素。粗线为来自A点某个角度的光线,
只可能到达其中一个子像素。宏像素对应物点的位置信息,子像素对应角度信息,传感器
采用空间复用原理记录场景的四维光场信息。
图1 Lytro光场相机原理
2.2 子孔径图像提取
图1中粗线是物体上一点到达主透镜某个子孔径的光线,将所有点通过该孔径的光线
提取出来,构成了子孔径图像,如图2所示。图2(a)是传感器平面,高、宽分别为
Height和Width,宏像素大小M×N。将每个宏像素中相同位置的子像素提取出来,按
相对位置组合成新的图像,即子孔径图像,共M×N个,每个子孔径图像的大小为
(Height/N)×(Width/M),如图2(b)所示。
图2 子孔径图像提取
子孔径图像等价于减小主透镜孔径大小之后对场景的成像,景深相对于原始图像增大。
子孔径图像是从不同视角采集的图像,不过相邻两个视角的图像视差在一个像素之内,因
此本文提出基于亚像素精度的光场图像深度估计。
3 深度估计
3.1 子孔径图像亚像素偏移
四维光场表示为L(x,y,s,t),(s,t)是子孔径图像索引,(x,y)是图像坐标。除中心视角外,
对每个子孔径图像I(s,t)(x,y)在频率域进行多标签的亚像素偏移。
根据相移理论,图像在空间域偏移(Δx,Δy)时,对应的频率域的变换为:
其中,F{⋅}是二维离散傅里叶变换;Δx、Δy是像素偏移量;k是亚像素单位偏移量,
设为0.02;l是偏移倍数,即标签数,为了保证精度,l个数一般大于20;若l小于20,
则精度极剧下降。(sc,tc)是中心子孔径索引值,视角离中心越远,图像偏移量越大。
亚像素偏移图像I′(s,t)(x,y)根据公式(3)获得:
图3分别对子孔径图像在空间域进行双线性插值平移(3(b))和频率域进行像素偏
移(3(c))。局部放大结果表明:双线性插值产生模糊现象,频率域操作产生的图像更
清晰,更尖锐。为了保证后续计算匹配代价行为的准确度,精确的偏移图像至关重要,尤
其是对于基线极小的Lytro子孔径图像。
图3 图像偏移
3.2 建立匹配代价行为
子孔径图像执行偏移操作之后,以中心孔径图像为参考,分别对每个标签建立像素匹
配代价行为Cost Volume。此过程考虑两方面的像素差异,灰度差值C A和梯度差值C
G。匹配代价函数C是像素(x,y)和标签l的函数,即:
其中τ1、τ2是为鲁棒性设置的阈值,V是除中心孔径外所有子孔径图像的索引集合,
x方向梯度差异定位为:Diff(x,y)=I(sc,tc)x(x,y)-I′(s,t),x(yx方,y向)相似。公式(5)通
过比较中心孔径图像和其他子孔径图像像素差异建立的匹配代价,公式(6)则是比较梯
度差异。λ是协调两个梯度方向的比重,定义为:
最后根据公式(4)建立多标签下的像素匹配代价行为C(x,y,l)。
3.3 引导滤波
引导滤波是近几年才出现的滤波技术,是一种同时考虑了像素空间差异和强度差异的
滤波器,具有保持图像边缘的特性[13]。引导滤波用到了局部线性模型,即输出图像与输
入图像在一个图像窗口内满足线性关系。
以中心子孔径图像I=I(sc,tc)(x,y)为引导图像,采用引导滤波器对每个匹配代价行为
C(x,y)进行滤波(固定标签l)。在窗口wk内,输出图像C′k(xi,y i)定义为:
σk是引导图I在图像窗口的方差。| |wk表示窗口大小,ε用于防止ak过大,两者是
调节滤波器滤波效果的重要参数。a k的分子是引导图像和待滤波图像的协方差,本文利
用文献[14]高效率的盒式滤波器使求和运算的复杂度降低到O(1)。利用方差和期望的关系
公式(11),可用
一个像素可能同时落到数个窗口内,因此输出值C′(xi,y i)取多个窗口的平均值,如公
式(12)所示:
使用引导滤波器对各个标签的匹配代价行为进行滤波,得到边缘保持良好的滤波结果
C′(x,y,l)。
3.4 GCO优化
GCO(Graph Cut Optimization)是一款计算机视觉研究机构研发的工具箱,主要
研究基于多标签的图像分割优化算法[15]。原理过程如图4所示。
图4 GCO原理
图4中只画出了两个标签的情况。其中绿色和紫色是像素分别在两个标签下的匹配代
价行为,在本文中指C′(x,y,l);红色线表示像素邻域间的边权值,一般取两者的颜色差值,
若不相邻则取0。
把所有需要断裂的点与点之间边的权值和未断裂的点与标签之间连接的边的权值加起
来认为是最后切割的能量。根据能量最小化,黑色粗线表示图像分割结果。
最后调用GCO_GetLabeling(Handle,i),获得每个像素对应的标签,即像素的
深度估计结果。
4 算法结果与对比分析
本文就Lytro 1代光场相机拍摄的两幅光场图像进行实验研究。一幅是包含前后两组
积木块的大景深场景(如图7实验1);另一幅是景深距离相对较小的仙人掌图片(如图
7实验2)。以MATLAB为主要实验环境,并借助Lytro Desktop软件。依次进行如下
操作:(1)子孔径图像提取,多标签亚像素偏移;(2)建立匹配代价行为 Cost
Volume;(3)对 Cost Volume进行引导滤波;(4)利用GCO 3.0工具箱,得到优化
后的深度估计图。最后将本文算法结果与文献[8]作对比。
4.1 光场图像预处理
Lytro相机的微透镜阵列按六边形排列,原始图像如图5(a)所示。图像分辨率为3
280×3 280。
图5 光场图像
Lytro相机的子孔径图像的获取,是对所有微透镜所覆盖的相同位置的子像素提取;
因此,子孔径图像宏像素大小,是由相机中单个微透镜所覆盖的传感器像素个数决定。不
同的光场相机,单个微透镜覆盖的子像素个数不同;子像素越多,相机获取的实验数据信
息越多,图像分辨率越高,深度估计越准确;反之,则相机获取的实验数据信息越少,图
像分辨率越低,深度估计的误差越多。
本文实验中选取的宏像素为Lytro相机单个微透镜下覆盖的传感器像素集合,如图5
(c)所示(本文中选取的实验相机为第一代Lytro相机,相机序列号为:sn-
A502390678,运行环境为:Windows 8,64位操作系统)。由于不同生产批号之间的
差异,宏像素的大小约为:10×10个像素。
对原始图像进行校正得到正交排列的宏像素。本文实验中,宏像素共379×379个,
每个宏像素大小为11×11个像素。如图5(b)所示。
将所有宏像素中相同位置的子像素提取出来,构成11×11幅子孔径图像I(s,t)(x,y),
每幅图像的像素分辨率是379×379,如图6(a)所示。从图中看出边缘子孔径图像较暗,
这是由于通过这些孔径的光线较少引起的,若将其作为实验目标,则会引入大量噪声。因
此只考虑位于中间的7×7幅图像,如图6(b)所示。
图6 子孔径图像
对所有子孔径图像在频率域进行多标签亚像素偏移。本文亚像素单位偏移量k=0.02,
标签数l=75,即每幅子孔径图像都要进行75次亚像素偏移,得到
4.2 算法结果分析
参考2.2节介绍的方法,以中心子孔径图像I(sc,tc)(x,y)为参考,其中sc=4,tc=4。
根据公式(4)、(5)、(6)建立数量为l的匹配代价行为C(x,y,l)。
假设像素(x,y)在标签l0下的匹配代价最小,则将该像素的深度设为l0。初步深度估
计结果如图7(b)所示,边缘深度已有所体现,但在图像平滑区域出现大量噪声。
图7 深度估计
为了缓解不可靠匹配并抑制噪声,以中心子孔径图像为引导图像,对每个标签下的匹
配代价行为C(x,y,l)进行引导滤波,产生对边缘保持良好的C′(x,y,l)。通过多次实验,其中
两个重要参数图像窗口大小| |wk=5×5=
利用GCO 3.0工具箱进行多标签优化和提高。以C′(x,y,l)为每个标签到各像素的
DataCost,以邻域内像素之间的颜色差值为Weight,建立像素间的SmoothCost。结
合图像分割算法,进行多标签优化,实验结果如图7(d)所示。
图7(d)表明本文算法在大景深和小景深场景下都取得了良好的深度估计结果。特
别是在实验2中,仙人掌各像素深度接近,仍取得了理想的效果,其中,黑色方框部分表
明该算法对距离较近的点会产生错误的估计结果。原因一:去马赛克过程中子孔径图像发
生串扰;原因二:场景通过主透镜、微透镜阵列成像过程中,图像发生扭曲和变形。
标签数的选取则是算法过程中一个十分重要的环节。本文算法中,子孔径图像进行多
标签下的亚像素偏移,标签的个数是最重要的参数。l的取值不仅影响算法的时间和空间
复杂度,也决定了最终深度图的精度,本文对此参数进行详细分析。对上述实验分别取标
签数25、50、75和100,实验结果如图8所示。25,ε=0.000 1。根据公式(12)优化
深度估计值,实验结果如图7(c)所示。
图8 l取值对结果影响程度
图8结果表明|l|较小时,前后场景相对深度对比强烈,时间复杂度低,但有尖锐的边
缘;反之,|l|较大时,深度图呈现相对平滑的状态,时间复杂度高,但对比不明显。这是
由于当标签数多时,侧重于保护深度图的连续性特征。从实际应用角度来说,||l对最终结
果影响不大。但从时间复杂度考虑,||l最好控制在50~75之间便可取得理想结果。
4.3 算法对比分析
如图9是本文结果与文献[8]、文献[13]、文献[14]的实验对比结果。文献[8]用数字
重聚焦原理产生场景的一系列聚焦深度不同的图像。该算法是一种经典的算法,但是该算
法在数字重聚焦时需要尽可能覆盖场景的所有深度范围,因此依赖于参数α。α取值范围
对最终结果影响很大,鲁棒性较差。图8(b)由于无法准确确定参数范围,使得最终结
果呈现一片黑或者很暗的情况,实验结果不理想。图9(c)及图9(d)分别为文献[13]、
文献[14]的实验结果,如图可见文献算法在目标物边缘处理方面优于本文算法,如木块边
缘、键盘边缘。但在近距离目标物的深度恢复方面,如木块前桌面部分,本文算法精度优
于文献算法。
图9 实验对比
值得一提的是,由于Lytro相机获取的图像分辨率低是其致命弱点,本文实验数据是
通过单次拍摄对目标实现深度获取及三维重建的。因此,只能通过深度信息得到相对的深
度比例数据,在无具体数值参照物的情况下,对精细目标进行深度获取时,目标物分辨精
度可达5 mm,即可分辨出间距≥5 mm的不同目标物或间距≥5 mm的不同深度平面,
充分体现了该算法的优势。
如表1是几种算法在Matlab环境的运行时间对比。
表1 时间复杂度对比算法文献[8]算法本文算法文献[13]算法文献[14]算法时间/s 2
371 2 209 2 108 2 883
5 深度重建
在前文的算法验证中,通过分析与对比,对本文算法进行了可行性证明。本章将基于
该算法对拍摄目标物体进行三维重建。
实验过程如图10所示,实验目标选取了复杂度较高的鲜花模型,用于充分体现算法
在深度获取时的精细程度,同时也为下一阶段对Lytro相机深度分辨率的研究做准备。
图10 高复杂度鲜花模型
如图11所示,(a)为目标光场图像,(b)为目标子孔径图像,(c)为目标校正
图像,(d)、(e)为目标深度图像。
利用基于VC++的OpenGL和ArcGIS Engine工具,对图11中目标深度图进行表
面渲染、纹理映射等重建处理,得到了较为精细的重建结果,如图12所示。
图11 重建过程
图12 重建结果
6 结束语
本文针对Lytro相机光场图像的特殊性和复杂性,重点研究了Lytro光场图像的深度
估计算法,提出了基于亚像素精度光场图像的深度估计方法。对提出的算法从理论上进行
了研究,并通过实验进行验证;通过对比分析,给出了算法优势及不足;最后,利用算法
对目标图像进行三维重建。实验结果表明,该算法在对复杂度较高的物体进行重建时,解
决了重建模糊等问题,有很好的重建效果。
【相关文献】
[1]江静,张雪松.基于计算机视觉的深度估计方法[J].光电技术应用,2011,26(1):
51-55.
[2]肖照林.基于相机阵列的光场成像与深度估计方法研究[D].西安:西北工业大学,
2014.
[3]Wanner S,Goldluecke ly consistent depth labeling of 4D light
fields[C]//Proceedings of IEEE Conference on Computer Vision and Pattern
Recognition,2012:41-48.
[4]Li J,Lu M,Li Z uous depth map reconstruction from light
fields[C]//Proceedings of IEEE Conference on Multimedia and Expo,2013:1-6.
[5]Diebold M,Goldluecke ar plane image refocusing for improved
depth estimation and occlusion handling[C]//Proceedings of Anuual Workshop
on Vision Modeling,and Visualization,Sep 2013.
[6]Kim C,Zimmer H,Pritch Y,et reconstruction from high spatio-
angular resolution light fields[J].ACM Trans Graph,2013,32(4).
[7]丁伟利,马鹏程,陆鸣,等.基于先验似然的高分辨光场图像深度重建算法研究[J].
光学学报,2015,35(7):231-238.
[8]Tao M,Hadap S,Malik J,et from combining defocus and
correspondence using light-field cameras[C]//Proceedings of IEEE International
Conference on Computer Vision,2013:673-680.
[9]Sabater N,Seifi M,Drazic V,et te disparity estimation for
plenoptic images[C]//Proceedings of ECCV 2014 Workshops,2014:548-560.
[10]杨韬,符文星,王民钢,等.基于光场成像的双目深度图像获取[J].西北工业大学
学报,2015,33(5):727-731.
[11]尹晓艮,张晓芳,张伟超,等.基于光场数字重聚焦的三维重建方法研究[J].光电
子·激光,2015,26(5):986-991.
[12]Hahne C,Aggoun A,Haxha S,et ne of virtual cameras acquired
by a standard plenoptic camera setup[C]//Proceedings of 2014 3DTV-Conference:
The True Vision-Capture,Transmission and Display of 3D Video,2014:1-3.
[13]Jeon H G,Park J,Choe G,et te depth map estimation from a
lenslet light field camera[C]//Proceedings of 2015 IEEE Conference on Computer
Vision and Pattern Recognition,2015:1547-1555.
[14]Chen C,Lin H,Yu Z,et field stereomatching using bilateral
statistics of surface cameras[C]//Proc of IEEE Int Conf Comput Vis Pattern Recog,
2014:1518-1525.
[15]Ma Z,He K,Wei Y,et nt time weighted median filtering for
stereo matching and beyond[C]//Proceedings
Conference on Computer Vision,2013:49-56.
of 2013 IEEE International