APP下载

基于轻量化融合损失网络的单目深度估计

2023-10-31周润民王晓红

智能计算机与应用 2023年10期
关键词:深度图解码器损失

周润民, 王晓红, 王 辉, 苏 靖, 刘 璐

(1 贵州大学 矿业学院, 贵阳 550025; 2 贵州大学 林学院,贵阳 550025)

0 引 言

场景深度感知是重建周围环境的关键环节,包含了目标的三维结构信息,对于室内三维测图、无人机避障和自动驾驶等研究领域都具有重要的意义[1]。

目前深度信息的获取可以分为主动式和被动式。 主动式获取方式有激光雷达、RGB-D 相机和3D 结构光等,均是通过反射物体表面来获取深度信息,但通常设备价格昂贵、体积重及功耗高;被动式获取是基于图像序列,利用相机捕获同一场景下单摄或者多摄目标的影像,通过三角测量方式获取深度信息,拍摄时要求时间同步,通常拍摄设备体积较大,不适用于微型机器人平台(例如微型航空和地面自动驾驶),因此研究成本低、体积小和能源效率高的单目相机进行场景深度感知具有重要的现实意义。 当前采用的编码端模型臃肿、参数量大,如何得到轻量化且精准的图像深度估计模型成为了关键性挑战。

1 相关工作

传统单目深度估计依靠手工提取特征,输出的深度图像比较模糊,而且场景中物体细节部分信息丢失,导致估计的图像深度信息不理想。 随着深度学习的发展,极大的促进了深度估计领域的发展。对于高精度的深度估计任务,文献[2]提出将卷积神经网络(Convolutional Neural Networks, CNN)用于预测单目图像深度估计,设计了一个由粗到细的两个堆栈组成的卷积神经网络,粗尺度网络预测图像的全局深度,细尺度网络提取局部深度并优化图像的 局 部 细 节; 文 献[3]将 连 续 条 件 随 机 场(Conditional Random Field, CRF)和深度卷积神经网络相结合,构建深度卷积神经场模型来提升深度估计效果;文献[4]同样采用双尺度网络模型进行深度估计,同时引入了感知损失使预测深度进一步提高;文献[5]构建了一种基于残差学习的全卷积网络架构用于预测图像的深度估计,该模型编码器采用ResNet50 模型结构,该结构层次更深同时能够提取更加丰富的特征信息,但是更深的网络导致模型臃肿、参数量增加、计算复杂度高;文献[6]构建了一种轻量金字塔解码结构的单目深度估计模型,编码器使用ResNet50 用于特征提取,解码器将轻量金字塔解码模块提取到的不同感受野特征图进行融合,并采用跳跃连接实现知识共享,以提升深度估计的性能。

近年来深度学习不断发展,网络模型结构的轻量化、高效越来越重要。 文献[7]通过深度可分离卷积代替标准卷积,提出了一种轻量化的网络模型MobileNet,网络的运行速度有很大的提升,但该网络模型结构简单,没有复用图像特征进行特征融合,随后提出了更加高效的网络模型;文献[8]构建了一种以MoblieNet 为基础,适合在嵌入式系统上使用的模型,该模型的推理速度得到了进一步提升,但是由于解码器采用的是传统U-Net 结构上采样,导致预测深度图目标轮廓模糊、边缘细节不够锐利;文献[9]提出了一种可以进行量化的单目深度估计模型,并完成对该模型的量化压缩工作,该模型实现了网络模型的轻量化,但是以牺牲深度估计的准确性为代价的。

本文构建一种基于轻量化融合损失网络的模型结构,对预测结果在多个网络上进行特征约束。 模型在编码阶段提取全局特征,解码阶段通过特征融合整合全局和局部特征信息,使得预测的深度图具有很好的深度连续性,最后预测的深度图通过损失网络更好地惩罚预测信息和目标信息,进一步提高深度估计精度。

2 整体模型框架

基于轻量化融合损失网络的模型结构如图1 所示。 在整体模型框架中,编码器阶段是图像特征的提取阶段,低维特征分辨率较高,包含丰富的特征信息,而高维特征分辨率较低,提取到的图像特征更加抽象;解码器阶段是提取特征的恢复阶段,将编码器提取的高维特征与跨层共享的低维特征进行特征融合,生成清晰准确的特征预测图;最后,预测深度传递到ResNet50 损失网络进行融合感知。

图1 基于轻量化融合损失网络的模型结构Fig.1 Model structure based on lightweight fusion loss network

2.1 编码器结构

在样本数据较少的情况下,为获得更高的准确率,通常会扩展深度学习模型的深度、宽度以及分辨率。 常规卷积神经网络尽管可以任意调整其中的几个维度,但是都需要手动调节参数,且很可能伴随着模型性能和效率的下降。 EfficientNet 是一种结合神经网络搜索技术的多维度混合放缩模型,在EfficientNet-B0 的基线上调整深度、宽度以及分辨率缩放获得[10]。 式(1):

其中,α、β、γ为常数,是模型深度、宽度和分辨率的网络搜索技术参数,缩放系数θ是模型的扩张量。

目前深度估计任务编码器大部分采用ResNet 作为特征提取器,通过不断加深网络的深度以获取更高的精度。 但随着网络的加深,模型变得十分庞大,计算效率低。 因此,从实际应用的角度,综合考虑参数尺寸及模型复杂度,本文选择EfficientNet-B2 模型并运用迁移学习加载预训练模型,提高深度预测性能的同时加速网络收敛,防止梯度弥散和梯度爆炸等问题。

2.2 解码器结构

解码器通过编码器输出的特征图进行上采样,并在空间维度上恢复特征映射,生成与输入尺寸相同的深度图。 传统的解码器采用卷积与插值的UNet 结构恢复深度图,本文使用一种全新的解码器结构SU-Net(Selective Feature Fusion-based UNet),主要包含选择特征融合模块(Selective Feature Fusion,SFF),相邻SFF 模块之间通过跳跃连接和双线性插值上采样恢复到对应尺度,其中1x1 卷积层使输入值的通道维度减少,与编码器对应的跳跃连接输出值在通道维度上相等,然后经过两个卷积层和一个Sigmoid 函数得到预测深度图[11]。

SFF 模块类似于空间注意力模块如图2 所示,将浅层局部特征、深层全局特征分别表示为f1∈RW×H×C1、f2∈RW×H×C2,空间位置集合R ={(x,y)|x =1,2,…,W;y =1,2,…,H},(x,y) 为空间特征的坐标信息。 为了获取空间特征的注意力图,将局部特征和全局特征在通道维度上进行特征拼接,将拼接特征通过三层3x3 卷积操作得到双通道空间注意力图,通过Sigmoid 函数运算将其映射至[0,1],然后将局部特征和全局特征分别与空间注意力通道矩阵相乘,得到专注于空间关系的有效特征,最后使两种特征矩阵相加。 SFF 模块生成的双通道特征注意力图能够自适应地选择和融合特征值,使网络从局部和全局信息出发,选择对网络性能好的空间特征权重,抑制无效权重。 双通道空间注意力特征和选择特征融合模块计算如式(2)和式(3)所示:

图2 选择特征融合模块Fig.2 Feature selection and fusion module

其中,σ表示Sigmoid 激活函数;Conv为卷积层运算;MS(F) 表示双通道注意力特征。

3 损失函数

损失函数是神经网络优化中至关重要的一部分。 选择合适的损失网络不仅可以加快网络收敛,同时能够保证模型寻找到全局最优解,衡量模型预测能力,L1、L2 函数是目前应用比较广泛的损失函数。 本文根据单目深度估计以往研究方法,采用尺度不变对数误差损失函数和基于本文构建的残差感知损失函数联合相加得到联合损失函数。 联合损失函数的表达式(4):

其中,Ltotal表示联合损失函数;L为尺度不变对数误差损失函数;Lp为残差感知损失函数;w∈[0,1] 为残差感知损失函数的平衡因子,试验中设置为0.5。

3.1 尺度不变对数误差损失函数

在模型训练期间,目标深度图中的物体边缘、弱纹理区域和镜面反射等周围会出现丢值现象。 本文利用简单的掩膜方法来处理这些缺失值,即通过目标深度图获取一个掩膜矩阵,重新计算预测与真值深度图的像素值,使模型在有效点上计算损失,排除无效点的影响。 损失函数表达式(5):

式中:λ∈ [0,1] 为尺度因子,di =log10Y -log10,Y、分别为模型预测深度图与真实深度图的集合,,试验设置λ =0.5。

3.2 残差感知损失函数

目前有监督的深度估计任务核心是对预测深度图与真实深度图进行差异评估,传统的解决方法是建立逐像素损失函数,这种方式简单高效。 最近也有部分研究将感知损失用于遥感影像去噪、医学影像去噪和单目深度估计,以上均是采用预训练的VGG(Visual Geomtry Group)网络,对输入图像提取高维度特征,随后使用优化的感知损失函数评估特征之间的差异[12-13]。 采用VGG 网络模型预测图像,预测结果图质量好,物体边缘锐利,但是训练优化模型时开销时间较大。 本文综合以上的优点,构建一种具有残差的感知损失函数,ResNet50 相对于其他网络具有更深的网络层数和更抽象的高层特征。 当预测深度φ(Y) 的特征偏离目标深度φ(Y^)时,感知损失会惩罚预测深度(Y) 的特征,惩罚边缘、纹理和轮廓等差异。 残差感知损失网络结构见表1,感知损失表达式(6):

表1 残差感知损失网络结构参数Tab.1 Residual perceived loss network structural parameters

其中,φ表示损失网络,φ(Y) 、φ() 分别表示真实深度图和预测深度图经过第i层后提取到的特征集合。

4 试验结果与分析

4.1 试验设置与数据集

本文采用纽约大学公开的室内环境数据集NYU-Depth V2,原始RGΒ-D 数据由Kinect 相机拍摄采集的464 个室内场景,包括12 万对彩色图像与深度图像,场景的深度范围为0 ~10 m,在249 个场景中选取约2 万张子集用于训练,其余215 个场景用官方划分的654 张图像子集作为测试。 本文网络结构的原始图像输入大小为480×640,在训练过程中对输入的彩色图片按随机概率50%进行水平翻转、随机裁剪、颜色变换等,并且引入CutDepth 策略进行数据增强。

本文试验操作系统为Ubuntu,试验基于Pytorch 1.9 深度学习框架,试验硬件配置为Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40 GHz 处理器,内存为16 GB,模型在GPU 显存为12 G NVIDIA TITAN XP的显卡上训练,具体试验参数见表2。

表2 试验参数Tab.2 Test parameters

4.2 定量评价指标

本文按照6 项指标来评价本文构建模型的试验结果,将模型预测与真实标签估计效果进行比较。

(1)绝对值相对误差(Abs Rel),式(7):

(2)均方根误差(RMSE),式(8):

(3)对数平均误差(log),式(9):

(4)阈值相似度δ,式(10):

其中,阈值thr ={1.25,1.252,1.253};i是像素索引;di、分别为像素i处的预测深度值和真实深度值;N是测试集深度图中所有像素数目的总和。

4.3 消融试验

为了验证数据增强、选择特征融合模块和损失网络3 个消融因素对本文模型的有效性,本文采用以下的方式进行消融试验分析:编码器均统一采用EfficientNet-B2,解码器为U-Net(模型1)、解码器为U-Net 采用CutDepth(模型2)、解码器为SU-Net(模型3)、解码器为SU-Net 采用CutDepth(模型4)以及构建的损失网络(模型5)。 3 种因素对网络消融试验的结果见表3,结果表明各项评估指标在解码器SU-Net 比U-Net 有一定的精度提升,这归因于选择特征融合模块中双通道空间注意力图,通过对全局与局部路径的空间特征权重的重标定,对特征图进行自适应性的恢复校准,从而提高模型识别恢复路径的准确性。 通常情况下,数据增强策略使样本多样性增多,模型精度越高。 模型2 基于UNet 与模型4 基于SU-Net,在数据增强策略下,模型的误差小、准确度高,与实际情况相符。

表3 不同模块误差对比Tab.3 Error comparison of different modules

本文构建的模型与其余4 种模型相比,误差更小,准确率更高。 这得益于模型不仅汲取了数据增强与SU-Net 的两个优点,还得到了损失网络对预测输出的进一步感知。 损失网络结合迁移学习中的高级特征信息,通过对预测深度与真实深度的融合感知,提高了网络对标签信息的重构使用,提取更为详细的细节信息,弥补编码-解码阶段特征信息表达能力不足的问题。

5 种消融试验预测深度如图3 所示,可见本文最终构建模型相比前4 种消融试验在深度预测更加接近真实深度,存在镜面反射时预测深度有明显的提升,对于目标的轮廓清晰可见,边缘更加锐利,这得益于损失网络强大的损失感知,使预测深度图感知到与真实深度图之间存在的差异,通过每一次感知损失函数的修正进一步提升预测精度。

图3 构建模型深度效果Fig.3 Depth results of proposed model

4.4 对比试验

为了验证本文模型的深度估计精度,将其与近年来其他应用深度学习的单目深度估计在NYUDepth V2 数据集上的对比试验结果见表4。 试验结果表明,本文模型的绝对值相对误差(Abs Rel)、均方根误差(RMSE)、对数平均误差(log)以及不同阈值下的准确率(δ) 在对比试验中优于其他方法。文献[14]采用ResNet101 模型作为深度估计的基础网络并结合DenseASPP 部分结构,提出了一个DCDN(Deep Convolution DenseASPP Network)新的卷积神经网络模型;而本文构建模型将EfficientNet-B2 结构作为编码器,其模型参数量更加的轻量,在绝对值相对误差、均方根误差以及对数平均误差分别减少了15.8%、13.1%、11.8%,在阈值为δ <1.25、δ <1.252、δ <1.253的准确度分别提升4.3%、1.4%、0.2%。

表4 NYU Depth v2 数据集上的试验结果对比Tab.4 Comparison of test results on NYU Depth v2 dataset

将本文构建模型与文献[5]的模型进行定性评价,得到的预测深度图如图4 所示。 从图4 可以看出,采用本文模型,小型物体轮廓明显边缘更加锐利,远距离的深度预测效果有较大改善,说明本文模型对于提取目标轮廓边缘有显著提升,解决了小型物体轮廓模糊的问题,同时提高了深度估计的性能,具有更好的预测深度能力。

图4 深度预测图对比Fig.4 Comparison of different depth maps

5 结束语

针对现有的深度估计任务中存在的编码器模型参数量大和计算复杂度高等问题,本文构建了一种基于轻量化融合损失网络的单目深度估计模型,并利用NYU-Depth V2 公开数据集开展了试验研究。试验结果表明,该模型中损失网络汲取到了图像的高级特征信息,能对预测深度与真实深度进行融合感知,提高模型对信息的重构使用,弥补编码-解码阶段特征信息表达能力不足的问题;该模型不仅误差更小,准确率更高,而且优于现有的部分深度估计模型。

猜你喜欢

深度图解码器损失
科学解码器(一)
胖胖损失了多少元
科学解码器(二)
科学解码器(三)
线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器
基于深度图的3D-HEVC鲁棒视频水印算法
玉米抽穗前倒伏怎么办?怎么减少损失?
一种基于局部直方图匹配的深度编码滤波算法
叠加速度谱在钻孔稀少地区资料解释中的应用
一般自由碰撞的最大动能损失