如何获取场景的三维信息是机器视觉领域研究的重要问题之一.目前,基于双目相机或激光雷达构建的机器视觉系统是获取场景三维信息的主要方法,但是需要复杂的相机标定和精确的图像配准算法以提高精度,而激光雷达系统技术复杂且造价较高.为降低硬件成本和技术、计算复杂度,根据单幅图片恢复出场景深度信息的方法成为机器视觉领域的研究热点.然而三维场景投影到二维图像时不可避免地会丢失深度信息,因此单目图像深度估计(monocular depth estimation,MDE)问题也一直被视作难以精确求解的病态问题.在单目图像深度估计研究中,运动恢复结构信息法(SFM)[1]和光照恢复结构信息法(SFS)[2]取得了一定的效果,但其精度难以满足实际应用需求.近年来,随着深度学习方法在各领域的成功应用,利用卷积神经网络的强大特征提取能力从单目图像估计场景深度信息的方法表现出较大的潜力.EIGEN等[3]最早将所设计的多尺度特征提取深度神经网络应用于单目图像深度估计,取得了一定效果.LAINA等[4]采用集成残差模块的全卷积深度神经网络结构,并通过增加网络层数以提升单目图像深度估计准确度.随后,采用自监督[5-6]和无监督[7-8]学习的单目图像深度估计方法在减少数据集依赖、提升泛化性方面取得了一定效果,但是相较于无监督学习,深度估计的效果较差.文献[9]通过在编解码器间引入跳层连接以实现多尺度的特征融合,并设计了相应的多尺度损失函数,减少卷积过程中特征信息的丢失.一般来说,场景深度图中的物体边界处往往存在深度跳变,但是上述方法所生成的场景深度图中物体边界不清晰,边界附近深度变化过于平缓.为提高深度图中物体边界处的清晰度,文献[10]通过引入偏移场预测网络,利用像素点对应的偏移场量,在预测深度图中的每个像素点为中心的邻域内寻找最优像素对该像素点进行重采样.文献[11]则设计了一种基于结构导向的排序损失函数,结合实例分割、边缘采样和物体边界处像素对间的约束关系,引导并强化深度神经网络对物体边界处深度信息的估计.在上述研究工作的基础上,本研究设计了一种基于边缘强化深度神经网络的单目图像深度估计方法.该方法通过集成深度补偿网络来构建边缘强化深度神经网络,设计了点约束损失函数,同时引入多尺度融合损失来提高深度神经网络的训练效果,更为有效地保留深度图中物体边界信息,获得更清晰的物体轮廓,为提高三维物体检测、分割和物体间遮挡关系的准确判断服务.1 边缘强化神经网络1.1 深度补偿原理在采用监督学习的MDE方法中,为获得较好的深度估计效果,应减小预测深度图中各像素处对应的场景深度预测误差值,为了获取更清晰的物体边界,场景深度预测误差值在物体边界处的分布规律和其他区域处的分布规律应尽量一致,即场景深度预测误差值的空间分布应趋于均匀,而现有的单目图像深度估计方法在物体边界处的深度预测误差往往高于其他区域.图1(a)为单目图像深度估计经典测试数据集NYU Depth v2[12]中的典型室内图像;图1(b)为用高精度深度相机采集的场景真实深度图;文献[9]的预测深度图如图1(c)所示;图1(e)为真实深度图和预测深度图在绿色标线上的深度分布规律,w为像素点位置,g为相对深度值(灰度表示);图1(f)为两者在绿色标线上的深度差值分布,其中蓝色曲线表示深度补偿前两者的深度差值,可以看出在深度突变处,即物体边界轮廓处,由于所预测的深度变化过于平缓,两者在此处拥有较大的深度差值.10.13245/j.hust.220307.F001图1深度补偿原理对真实深度图进行相应的处理得到的处理图与预测深度图具有相似的分布规律.如图1(e)所示,绿线表示对真实深度图进行高斯平滑[10]后得到的处理图在标线处的深度分布规律.可以看出:高斯模糊图和预测深度图在绿色标线上物体边界处的深度分布有一定程度的相似性.可利用真实深度图和高斯模糊图的深度差值对预测深度进行人工深度补偿,补偿方式为d(p)=D(p)-D˜(p);(1)D̂(p)←d(p)+D̂(p),(2)式中:∀p∈Ω为像素点,Ω为输入的像素点集;D˜(p)为高斯模糊深度;D̂(p)为预测深度;D(p)为真实深度.由式(1)得到真实深度与高斯模糊深度的差值,即深度补偿值d(p),然后按式(2)所示对预测深度图进行深度补偿.深度补偿后的预测深度图如图1(d)所示,其拥有更为清晰的边界,而其与真实深度的深度差值由图1(f)中的黄线表示,可以明显看出当p为深度突变处的像素时,对应的深度偏离一定程度上有所减小.基于上述讨论,深度补偿的有效性得到了证明.通过深度补偿使得物体边界处的深度分布更为准确,得到的深度图边界轮廓更为清晰.1.2 网络结构设计网络结构分为两部分:深度估计网络预测输入图像深度信息,深度补偿网络输出深度补偿图.RGB图像通过深度估计网络,得到预测深度图(深度突变处变化过于平缓),再将预测深度图和RGB图像同时输入至深度补偿网络,以原始图像做导向得到和预测深度图相对应的深度补偿图,其后对预测深度图和深度补偿图进行融合,得到的深度图中物体边界更为清晰.深度估计网络采用典型的多尺度特征提取与融合神经网络[8].该网络采用编解码结构,编码层以残差网络(ResNet)[13]为主体,以提取图像的多层次特征,缓解梯度消失和爆炸问题;解码层采用反卷积方式表达图像特征,并在解码过程中引入跳层连接,以融合编码层在不同尺度上所提取的图像特征,在解码层最后三层,每一层各自融合上一层的解码信息及其上采样图的特征信息;输出层为等尺度卷积层,降维并输出预测深度图.深度补偿网络主体采用与深度估计网络相同的结构,并融合了以原始RGB图像为输入的导向层,解码层则只保留上层解码信息的融合结构以简化网络、减小参数量.深度补偿网络输入为深度估计网络所预测输出的物体边界较模糊的深度图,使用和深度估计网络相同的编码网络提取图像特征,在解码过程中,融合导向层所提取的RGB图像特征,再输出所预测的深度补偿图(绿色处表示补偿值为正,黄色处表示补偿值为负).根据1.1小节的讨论,使用真实深度图D及其对应的高斯模糊图D˜组成的图像对(D˜,D)作为深度补偿网络的训练数据集.2 损失函数设计2.1 Berhu损失函数相较于𝓁1和𝓁2损失,Berhu损失在梯度反向传播过程中,能使深度神经网络的参数更新保持较好的稳定性[4],因此更适合作为本研究的损失函数.Berhu损失为B(y-x)=|y-x|     (|y-x|≤δ);[(y-x)2+δ2]/(2δ)  (|y-x|δ),(3)式中:x为预测值;y为标签值.当两者差值小于阈值δ时,Berhu损失表现为𝓁1损失;反之,当两者差值大于阈值δ时,Berhu损失表现为𝓁2损失.用于单目图像深度估计网络训练时,Berhu损失能随着深度预测误差的变化而改变反向传播的梯度的大小,使其拥有一定程度上的弹性.关于δ的取值,一般设置为0.2max(|yi-xi|),其中i为训练过程中每批次训练图像的序号,i的最大取值为当前批次中图像的数量.由1.1和1.2节的讨论,所有的原始RGB图像I、真实深度图D及高斯模糊图D˜组成本研究的训练图像集Z,训练深度估计网络f,求得深度估计损失Ld,具体为:∀(I,D,D˜)∈Z,D̂=f(I,D);Ld=B(D-D̂).根据深度估计网络的输出D̂来训练深度补偿网络g,预测深度补偿图D¯并求得深度补偿损失Lc,具体为:∀(I,D,D˜)∈Z,D¯=g(I,D̂,D˜);Lc=B(D˜-D¯).最后进行深度补偿,输出清晰深度图,求得其与真实深度的损失为Lo=|D-(D̂+D¯)|.2.2 点约束损失函数图1(f)表明:深度补偿模块在一定程度上缓解了物体边界处的深度变化过于平缓的问题.在深度神经网络的训练过程中,也须要引导并强化网络对物体边界处深度信息预测能力的学习[14].为此,须要设计能对深度神经网络在物体边界处深度预测误差进行惩罚,以引导并强化网络对物体边界处深度信息预测能力学习的损失函数.在网络训练过程中输出的深度图中,对任意像素点o及其4邻域点进行十字采样以建立约束关系(o|A,B,C,D),通过点o及其4邻域点间的深度值大小关系,可以确定边界信息为t(p)=|1-D̂(p)/D̂(o)|-ε,  ∀p∈(A,B,C,D),式中:D̂(p)和D̂(o)分别为像素点p和o处的深度预测值;ε∈[0,1],一般取值为0.25.当t(p)≤0时,p点与o点是边界同一侧的像素点,即深度值较为接近的像素点;当t(p)0时,p点与o点为边界不同侧的像素点,即深度值差异较大的像素点.如图2所示,边界L附近,黑色点代表深度较小物体上的像素点,白色点代表深度较大物体上的像素点.利用十字采样法得到各像素点十字约束关系并判别各像素是否为边界同侧像素后,点约束损失为10.13245/j.hust.220307.F002图2边界约束点ΔD̂=D̂(o)-D̂(p);k=D(o)/D(p);P(ΔD̂)=log(1+eΔD̂)     (k≤(1+τ)-1),ΔD̂2     ((1+τ)-1k1+τ),log(1+e-ΔD̂)      (k≥1+τ),式中:D̂(p)和D̂(o)分别为像素点p和o处的真实深度值;k为两者的比值;τ取值为0.03.可得总损失函数为Ls=Ld+Lc+Lo+P.利用点约束损失函数,实现边界区域的定位以及强化,本质上是让物体边界附近真实深度的差值较小的点拥有相近的预测深度,例如在边界同一侧的两点;若两点之间拥有较大的真实深度差值,例如边界不同侧的点,则扩大它们预测深度的差值,以此强化边缘,使边界处的深度突变更为显著,从使得预测深度图在物体边界处的深度突变规律更加接近真实深度图.结果对比表明:点约束损失函数能够在深度补偿的基础之上,使得对边缘处的深度估计更为有效,强化边缘的能力得到进一步提升.3 测试实验和结果分析3.1 实验环境采用NYU Depth v2和iBims[15]数据集对所设计的单目图像深度估计方法同其他典型MDE方法进行了训练和对比测试.所设计的深度神经网络采用Tensorflow构建,网络训练在服务器(CPU:I7 7800X 3.5 GHz,内存:32 GiB,操作系统:Ubuntu 18.04 LTS)上进行,同时使用11 GiB显存的NVIDIA GeForce GTX 1080Ti显卡加速训练.训练学习批次(Batch size)的大小设置为4;初始学习率的大小设置为0.000 1;学习率衰减因子α设置为0.9,每进行1 000次迭代,学习率乘以一次衰减因子;采用动量为0.9的Adam优化器[16].本文算法在NYU Depth v2数据集上的训练总耗时约34 h,在iBims数据集上的训练总耗时约25 h.3.2 评价指标通过以下指标来评价MDE方法的深度估计效果:绝对值相对误差R、均方根误差S、对数均方根误差Slog及精确度A[17],具体为R=1N∑i=1N|(D(i)-D̂(i))/D(i)|;S=1N∑i=1N(D(i)-D̂(i))21/2;Slog=1N∑i=1N(log(D(i))-log(D̂(i)))21/2;A=1N∑i=1N[max(D(i)/D̂(i),D̂(i)/D(i))σj],式中:i为图像中某一像素;N为图像像素总数.其中R,S和Slog指标的值越小表示深度估计的效果越好;指标A统计真实深度和预测深度相近的像素点的比例,A越大表明深度预测的总体效果越好,其中j=1,2,3,η=σj=1.25 j.3.3 NYU Depth v2数据集上的测试结果和分析NYU Depth v2数据集包含464个场景、分辨率为640×480的RGB图像,相应深度信息通过 Kinect深度相机采集.选用了其中较为典型的25个场景共3.654×103幅图像及其深度图进行深度神经网络的训练和测试,其中3.0×103幅图像及其深度图作为训练集,654幅图像及其深度图作为测试集.测试中采用数据增强技术对训练集中的彩色图及其深度图进行了扩充,增强方式包括:图像水平翻转;以β∈[1.2,1.6]为尺度因子对图像对进行尺度变换,并通过采样保持图像尺寸不变;将图像RGB各通道值随机乘以因子γ∈[0.8,  1.2]以进行色彩变换;将图像绕过图像中心点且垂直图像平面的轴进行随机旋转,旋转角度范围为[-15°,15°].数据增强后训练集共包含4.75×104幅图像及其深度图.利用上述数据集对本文单目图像深度估计算法同文献[9]、文献[11]和文献[18]所设计方法进行训练和测试,各方法的深度预测效果如图3所示,计算出的各方法指标如表1所示,所有方法均为数据增强.图4为各方法所获得的深度图在绿线处的深度分布以及和真实深度图之间的深度差.由图3(e)所示文献[11]方法所预测的深度图及其局部放大图可以看出:该方法在缓解所预测的深度图中深度跳变过于平缓问题上效果较好,一定程度上减小了边界区域的深度估计误差.但是对于深度跳变轻微的部分边界区域,所提出的单目图像深度估计方法获得的精度更高,预测效果更好.10.13245/j.hust.220307.F003图3NYU Depth v2数据集测试结果10.13245/j.hust.220307.T001表1各方法在NYU Depth v2数据集上的性能指标测试结果方法深度误差ηRSSlog1.251.2521.253文献[3]文献[4]文献[18]文献[19]0.2340.1420.1160.0930.7600.5100.4480.3560.2650.1810.1630.1340.6120.8180.8530.9080.8860.9550.9700.9810.9710.9880.9930.995文献[20]0.1120.4170.1440.8800.9750.99410.13245/j.hust.220307.F004图4NYU Depth v2数据集测试分析本文方法在NYU Depth v2数据集上根据3.2节所提出的各指标进行计算,得到R=0.119,S=0.411,Slog=0.143;当η=1.25时,精确度A=0.886,当η=1.252时,A=0.975,当η=1.253时,A=0.995.由图4和表1可以看出:本文方法所预测的深度分布规律与真实深度更为接近,且在深度跳变明显的物体边界区域拥有更为准确的预测能力,评价指标总体上优于其他方法.3.4 iBims数据集上的测试结果和分析iBims数据集是专为单目图像深度估计方法所设计的高质量多场景数据集,图像由数码单反相机采集,其对应的深度图由高精度激光扫描仪采集点云数据,然后进一步计算得到.iBims数据集中图像噪声较少,物体边界更加清晰,场景深度范围较大.图像分辨率有1   500×1   000和640×480(与NYU Depth v2数据集兼容)两种.iBims数据集总共包含2.9×103对图像,采用和NYU Depth v2同样方法进行数据增强,最终得到2.29×104幅图像及其深度图,其中654幅图像及其深度图作为测试集,其他图像及其深度图作为训练集.利用上述训练集和测试集对本文方法、文献[9]和文献[11]所设计的单目图像深度估计方法进行训练和测试,各方法的深度预测效果如图5所示,计算出的各算法指标如表2所示,所有方法均为数据增强.10.13245/j.hust.220307.F005图5iBims数据集测试结果10.13245/j.hust.220307.T002表2各方法在iBims数据集上的性能指标测试结果方法深度误差ηRS1.251.2521.253文献[3]文献[4]文献[20]文献[21]0.320.260.270.221.551.201.081.090.360.500.590.580.650.780.830.850.840.910.930.94文献[22]0.291.450.410.700.86图6为各方法所获得的深度图在绿线处的深度分布以及和真实深度图之间的深度差值.图5(e)为本文方法仅进行深度补偿的测试结果;图5(f)是本文方法进行深度补偿同时增加点约束损失函数后的测试结果.10.13245/j.hust.220307.F006图6iBims数据集测试分析综合图5(e)、图5(f)和图6可以看出:点约束损失函数在提升物体边界处非同侧点的深度差距方面较为有效,能使得预测深度图在边界处的深度变化更接近真实深度图在边界处的深度变化.本文方法在iBims数据集上根据3.2节所提出的指标进行计算,得到R=0.23,S=1.14;当η=1.25时,精确度A=0.58,当η=1.252时,A=0.83,当η=1.253时,A=0.94.根据表2中测试结果计算的各方法指标可以看出:所设计的网络结构和损失函数的有效性,也使得本文方法在深度估计过程中相较于其他方法拥有更强的边缘强化能力. 4 结语设计了一种单目图像深度估计方法,通过引入深度补偿,在深度估计网络中集成了相应的深度补偿网络,缓解了物体边界处深度突变过于平缓的问题.此外,通过设计点约束损失函数,进一步强化网络对物体边界处深度预测能力的训练,增加了所预测的场景深度图中物体边缘的清晰度,提升了单目图像的深度估计效果.在NYU Depth v2和iBims数据集上的测试结果表明本文方法能预测更准确的场景深度图,缓解了单目图像深度估计过程中易丢失边界信息的问题,使得深度图中物体遮挡关系的判别更为容易,有利于进一步推动单目图像深度估计的实用化进程.

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读