1、第 27 卷第 6 期2022 年 12 月哈 尔 滨 理 工 大 学 学 报JOUNAL OF HABIN UNIVESITY OF SCIENCE AND TECHNOLOGYVol.27No.6Dec.2022Transformer 与 CNN 融合的单目图像深度估计张涛,张晓利,任彦(内蒙古科技大学 信息工程学院,内蒙古 包头 014000)摘要:针对单目视觉图像深度估计时存在精度低的问题,提出一种 Transformer 和 CNN 融合的单目图像深度估计方法。首先,采用 esNet 50 作为编码器 解码器网络的主干网络对图像特征进行提取,同时在编码器 解码器网络中采用层级融合的方
2、法,将编码器各层级特征进行融合作为解码器的输入,提升深度估计网络对多尺度特征信息的利用率。其次,采用 Transformer 网络对解码器的输出特征进行全局分析,Transformer 网络中的多头注意力机制从解码器输出的深层特征中估计深度信息,提高深度估计网络对多尺度特征的提取能力进而提高深度图的精准度。在 NYUDepth-v2 数据集上完成模型有效性验证。实验结果表明,与多尺度卷积神经网络相比,该方法在精度 1.25 上提高 24.3%,在均方根误差指标上降低 61.3%。证明其在单目图像深度估计的可行性。关键词:卷积神经网络;编码器 解码器;Transformer;深度估计;单目视觉D
3、OI:10 15938/j jhust 2022 06 011中图分类号:TP391文献标志码:A文章编号:10072683(2022)06008807收稿日期:2021 09 27基金项目:内蒙古自治区科技计划项目(2020GG0048)作者简介:张涛(1995),男,硕士研究生;张晓利(1963),男,硕士,副教授通信作者:任彦(1977),女,博士,教授,E-mail:ren0831 imust edu cnMonocular Image Depth Estimation Based on theFusion of Transformer and CNNZHANG Tao,ZHANG X
4、iao-li,EN Yan(School of Information Engineering,Inner Mongolia University of Science and Technology,Baotou 014000,China)Abstract:Aiming at the problem of low accuracy in monocular vision image depth estimation,a monocularimage depth estimation method based on Transformer and convolutional neural net
5、work is proposed.First,esNet50 is used as the backbone network of the encoder-decoder network to extract image features.At the same time,the encoder-decoder network adopts a level fusion method to fuse the features of each level of the encoder as thedecoder to input to improve the utilization of mul
6、ti-scale feature information by the depth estimation network.Secondly,the Transformer network is used to perform global analysis on the output features of the decoder.Themulti-head attention mechanism in the Transformer network estimates the depth information from the deep featuresoutput by the deco
7、der,which improves the depth estimation networks ability to extract multi-scale features and thusimproves the depth map accuracy.The validation of the model was completed on the NYU Depth-v2 dataset.Experimental results show that compared with multi-scale convolutional neural networks,this method is
8、 improved by19.9%in 1.25 and root mean square error is reduced by 49.9%.The feasibility of proposed method inestimating depth from a monocular image is proved.Keywords:CNN;encoder-decoder;Transformer;depth estimation;monocular vision0引言二维图像的深度估计已经广泛应用于机器人控制、自动驾驶、场景理解和三维重建技术1 等任务中,目前市场上用于获取图像深度信息的传感器
9、成本较高、噪声过大、使用条件苛刻,不利于在工业环境中广泛使用。因此,研究如何从单目图像中估计出高质量的深度图像具有很大的实际应用价值。图像的深度估计方法主要包括传统方法和深度学习的方法。传统方法主要是开发基于几何算法2 从立体图像对中进行深度估计,此类方法使用手工设计的特征获取图像特征信息,因此只能捕获图像的局部特征,影响深度估计结果的准确性。另一种方法是深度转换法3,它使用搜索树(general-ized search trees,GIST)进行全局场景特征匹配,从包含 GB-D 图像对的数据库中搜索与输入图像“相似”的图像,此方法依赖于庞大的相似场景数据,当数据库中缺少类似场景时,就很难估
10、计出准确的深度图。基于深度学习的方法主要是通过卷积神经网络(conventional neural network,CNN)搭建深度估计模型,显著改善了单目图像深度估计的性能,证明了深层特征优于人工设计的特征。文 4 提出一种基于卷积神经网络的单目图像深度估计模型,该模型应用了多尺度思想,通过独立网络将深度图从低空间分辨率分阶段细化到高空间分辨率。但是由于网络层数少、感受野小,无法提取图像的深层特征,使得估计结果的精度及分辨率不够理想。随着深度学习的快速发展,越来越多深层卷积网络模型被提出,如VGG5(visual geometry grop,VGG)、esNet6(re-sidual net
11、work,esNet)和 DenseNet7(dense convo-lutional network,DenseNet)等,使得单目图像深度估计提高到新的精度水平。文 8提出了一种基于esNet 的完全卷积深度估计方法,并采用了新的上采样方式,该方法中残差结构的运用有效解决了梯度消失和网络退化现象,但是该网络输出的深度图像分变率不高。文 9 使用基于 esNet 的编码器 解码器网络结构进行深度估计,编码器网络输入GB 图像,解码器网络直接输出深度图像,无需进行后处理操作使得估计方式简单,但是由于没有对解码器的输出执行足够的全局分析,导致估计结果不是十分理想。本文针对上述方法的不足以及深度估
12、计过程中存在的问题,提出了一种 Transformer10 与 CNN 融合的深度估计方法。该方法将 GB 图像作为输入,先由编码器 解码器网络提取图像特征信息,再由Transformer 对图像特征信息进行全局分析,根据不同场景的深度分布存在的差异将深度区间划分成多个子区间并计算出子区间的中心值,然后计算出深度图像中每个像素点的深度值在每个深度子区间上的概率,最后将各子区间中心值的线性组合作为深度值。本文方法不受传感器的方向或位置的约束,降低了使用场景的限制条件。由 esNet 组成的编码器提高了深度估计网络的特征提取能力,解决了梯度消失和网络退化现象。解码器由层级融合模块和双线性上采样层组
13、成,提高了网络对编码器各层级特征信息的利用率,使得特征信息能够更高效的在网络中传递,提升输出深度图的准确率及分辨率。1深度估计网络模型本文提出的深度估计网络模型如图 1 所示,该模型主要由 esNet 50 和层级融合组成的编码器 解码器模块以及由 Transformer 组成的深度区间自适应分布及估计模块。1.1编码器 解码器模块esNet 广泛应用于密集预测任务中的基础网络并有着显著的成效,本文选用 esNet 50 作为编码器的主干网络用于图像特征提取,使用过程中去除了 esNet 50 的平均池化层和全连接层。文 9 指出在传统的编码器 解码器网络结构中,仅使用编码器的最后一层输出作为
14、解码器的输入,缺乏对编码器多层级特征的利用,考虑到不同层级之间特征差异,如特征的抽象程度和特征图的空间分辨率等,其提出将各个层级特征融合后用于深度估计并通过实验验证其有效性。本文借鉴其方法并作修改后应用于编码器 解码器模块中,建立了多层级融合结构,如图 2 所示。其主要包括尺度调整、拼接层、卷积层和批处理 4 个部分。首先,编码98第 6 期张涛等:Transformer 与 CNN 融合的单目图像深度估计图 1深度估计网络结构Fig.1Depth estimation network structure图 2多层级融合结构Fig.2Multi-level fusion structure器网
15、络从经过预处理的 GB 图像中提取到 5 个编码特征(Block1-Block5)。然后,层级融合模块接收Block5 和 Block4,尺度调整层将 Block5 上采样至Block4 的大小,将两个编码特征在通道维度上拼接,拼接的结果通过 3 3 卷积调整通道。最后,将卷积的结果经过 Batch Normalize 和 eLU 激活函数得到解码器网络第一层级的输出。解码器网络第一层级的输出经尺度调整与 Block3 融合得到解码器网络的第二层级,以此类推,得到解码器网络输出的解码特征。将 编 码 器 网 络 各 层 级 的 输 出(Block1-Block5)融合后作为解码器的输入提高了模
16、型对编码特征信息的利用率,使得图像特征能够在更高效的网络中传递,提升模型最终的估计效果。深度估计过程中还存在不同场景的深度分布差异问题,如图 3 所示。有些场景的深度值范围较窄(0 5 m),有些场景的深度范围较宽(0 10 m),随着深度分布范围的变化,单纯的使用端到端的网络结构进行准确的深度估计变得困难。图 3不同场景深度值分布Fig.3Depth value distribution of different scenes1.2自适应深度区间分布及估计模块Transformer 网络最初用于解决自然语言处理(natural language processing,NLP)任务,研究人员将其应用于计算机视觉任务中并取得显著的成果。受文 11 的启发,将文 10中的 Transformer Encoder引入本文的深度估计模型中对解码器输出的解码特征进行全局分析,如图 4 所示。本文使用的 Trans-former Encoder 结构与文 11 中的不同之处在于本文将解码特征分割成线性序列作为 Transformer En-coder 的输入。如图 2 所示,编解码网络从预处理的