APP下载

基于注意力机制与图卷积神经网络的单目红外图像深度估计

2021-04-11

应用光学 2021年1期
关键词:单目像素点注意力

(华东理工大学 信息科学与工程学院,上海 200237)

引言

随着无人驾驶领域的飞速发展,计算机对于三维场景进行理解并辅助人进行驾驶决策的需求变得越来越大。而深度估计作为三维场景重建[1]的一部分,已成为计算机视觉领域的一个重要课题。深度估计通常分为单目深度估计、双目深度估计以及多目深度估计算法。单目深度估计相较双目及多目深度估计来说对于硬件的要求较低,成为近几年比较火热的一个研究方向。但单目深度估计由于缺少视差数据,利用传统的方法常常无法对图像中的深度进行推断。而随着深度学习的火热发展,深度神经网络能够自动进行特征提取的能力使得其在场景深度估计上也得到了广泛的应用。

近年来,许多基于深度神经网络的研究工作在单目深度估计上取得了不少的研究成果。Eigen 等人[2]首次将深度卷积神经网络应用于单目深度估计任务中,提出利用多尺度的卷积神经网络对深度图进行预测。网络架构主要为两部分,全局粗略尺度网络用来得到低分辨率的粗略深度图,局部精细尺度网络对前者的输出进行精细化。随后,Eigen 等人[3]在其前述研究的基础上进行了改进,增添了高分辨率尺度,以获得更高分辨率的深度估计结果,并改变了网络训练的方式,实现了在同一个网络下同时完成深度估计、表面法线预测以及语义标注3个任务。Laina 等人[4]采用了全卷积的ResNet[5]以及上采样来进行深度估计,残差结构带来的最直观的优势就是其具有更大的感受野,因此可以接收分辨率更高的输入图像,保证其全局信息可以更好地得到保持。Wu 等人[6]提出了基于双向递归的卷积神经网络来进行单目红外视频深度估计任务。Gu 等人[7]提出了一种新型的金字塔输入残差神经网络来对红外图像进行单目深度估计。

卷积神经网络在深度估计任务中取得了较好成果,但其局部连接特性会对深度估计任务有一定的局限性。在场景深度预测问题中,图像中的每个像素点对应的深度信息不仅与它的邻域相关联,通常还与图像中相同深度的像素点有关联。因此,卷积神经网络在特征提取过程中输入输出的局部连接性会使得每个像素点的感受野过小,无法更好地预测其对应的深度值。扩张卷积[8]的出现为这个问题提供了一种思路,它能够在不增加参数量的前提下有效增大感受野。Li 等人[9]在采用扩张卷积思想的同时,在网络结构中通过分层融合策略融合不同尺度的信息,使用多分类的逻辑回归损失,能够更快地获得精度较高的深度估计结果。Fu 等人[10]提出了空间递增的离散化(spacing-increasing discretization,SID)策略,将带有扩张卷积的金字塔池化模块(atrous spatial pyramid pooling,ASPP)作为网络主体来进行深度估计任务。

此外,注意力机制的出现也可用于扩大感受野,利于从全局的角度出发去解决问题。自注意力机制最早被Bahdanau 等人[11]应用于机器翻译的研究,此后开始广泛应用于自然语言处理与计算机视觉等领域。Xu 等人[12]提出了结构化的注意力模型,将它与条件随机场结合在一起,对卷积神经网络不同层的多尺度信息进行自主调节并进行融合。Li 等人[13]提出了一种基于深度注意的分类(deep attention-based classification,DABC)网络,用于鲁棒性单目图像深度估计,它采用了通道级别的注意力机制,将更重要的通道赋予更高的权值来对原始特征进行更新。Chen 等人[14]提出了自适应的像素级注意力模型,与软性有序推理相结合,在可见光数据集NYU Depth V2上进行场景深度估计。

但单目深度估计中仍有一个问题需要考虑,那就是由神经网络提取的像素级深度关联信息是非欧数据[15],可以考虑采用图神经网络来处理此类问题。Fu 等人[15]提出采用ResNet/SENet 提取出多尺度粗略的深度图,再通过新颖的策略将其构造成图结构输入图卷积神经网络进行处理。这就为单目深度估计任务提供了一个新的思路,即将图神经网络应用于单目深度估计任务,但文献[15]的研究工作仍有一定的局限。首先,它采用ResNet/SENet得到的粗略深度估计的结果来进行图结构的构建,这样得到的图结构是固定的,整个网络结构无法进行端到端(end-toend)的训练。此外,通过预训练模型得到的图结构没有考虑全局尺度下不同区域的深度信息关联,这样的图结构输入图卷积神经网络进行训练可能引起较大的误差。

针对上述问题,本文提出了基于注意力机制和图卷积神经网络(attention graph convolutional network,AGCN)的深度估计方法。AGCN 通过端到端的训练,在全局的角度提取图像的像素级深度关联信息构造图结构,并用图卷积神经网络作为整体框架来进行分类深度推理。首先,本文采用注意力机制提取特征图像素级的全局深度关联,这个全局深度关联包含着丰富的场景深度上下文信息。其次,将此深度关联信息与特征图作

为图结构输入图卷积神经网络实现单目图像深度估计推理。最后,在训练阶段,将连续的深度估计回归问题采用分类的方式进行,进而降低网络的学习难度。实验结果表明,本文提出的模型在红外数据集NUST-SR上获得了良好的效果,相较其他方法更具优势。

1 网络结构

本节详细介绍基于注意力机制和图卷积神经网络的深度估计方法,整体网络结构如图1所示。AGCN 将ResNet 作为网络的骨架结构用于原始图像的特征提取,将提取出的特征经过注意力模型得到邻接矩阵和节点特征,将两者作为图结构输入GCN,最终得到深度分类结果。

图1 网络结构图(AGCN)Fig.1 Structure diagram of network (AGCN)

1.1 注意力模型

在引言中已经提到深度估计问题中,图像中每个像素点的深度信息不仅与它邻近像素点的深度信息相关,同时还要考虑图像中更大范围的其他像素点的深度信息。这是因为大范围内其他区域的像素点的深度值可能与该像素点的深度值相同或者接近,能够为该像素点的深度估计提供更多的信息。但对于卷积神经网络来说,卷积操作的感受野是局部的,只有当卷积层数非常深时才能将更大范围内的像素之间的信息联系起来,但这样一方面会将大范围内深度值不相同的像素点也考虑在内,另一方面会导致非常大的参数量。注意力模型可以有效解决这个问题,它能够在模拟长程依赖(longrange dependencies)的同时兼顾参数量的问题,从全局的角度来处理深度估计中特征相关性的问题。

注意力机制的概念是受到认知科学中人类对信息处理机制的启发而产生的。由于信息处理能力的局限,人类会选择性地关注完整信息中的某一部分,同时忽略其他信息。注意力机制包含3个要素source、query以及attention value,其中source代表需要处理的原始信息,query代表给定的条件或是先验信息,attention value代表在给定query的条件下,通过注意力机制从原始数据source中所提取的信息。通常source中包含的信息是通过键-值对key-value 来表示的。注意力机制的定义如(1)式:

引申到场景深度预测问题中,注意力机制对于某个像素点的深度信息,可以关注到它周围深度相关的像素点,以及全图范围内深度相近的像素点。本节将详述注意力模型的构建,如图2所示。

图2 注意力模型结构图Fig.2 Structure diagram of attention model

输入大小为x∈RH×W×c的特征图,其中H,W为输入特征图的长和宽,c为输入特征图的通道数。采用3个不同的转换函数f、g、p(在本文中都为标准卷积操作)将特征图转换为query=f(x)∈RN×cq,key=g(x)∈RN×ck以 及value=p(x)∈RN×cv,其中N=H×W。将query转置后与key进行矩阵相乘的操作,再经过softmax得到attention map,即attention map中的注意力权重的计算如(2)式:

式中:αj,i的含义是位置i与位置j的相似度,两个位置的信息越相近,它们的相似度就越大;为一个固定的缩放系数,用来避免attention map的数量级过大影响计算量。

query与key融合得到的attention map可以获得不同位置的关联信息,value可以得到原始数据较深层次的抽象特征。将attention map 作为邻接矩阵构造节点之间边的关系,将value作为节点的特征,得到输入图神经网络所需的图结构。

1.2 图卷积神经网络

图卷积神经网络(GCN)作为将卷积神经网络与图相结合的方法,在近几年得到了广泛的应用。GCN的本质是聚合节点周围的邻居信息,对于图中的任意节点,每一次的特征更新都代表着聚合了更高一阶邻居的信息。本节将详述图卷积神经网络的构建,如图3所示。

图3 图卷积神经网络示意图Fig.3 Schematic of graph convolutional neural network

输入为图G={V,E},其中V∈RN×cv代表节点特征,即从原始图像中提取到的图像特征(1.1节中的value),E∈RN×N代表节点之间边的连接关系,由1.1节中获得的attention map 来获得。图卷积层(GCN layer)的节点特征更新公式为:

其中X∈RN×din代表该层的输入特征;Y∈RN×dout代表该层的输出特征;N=H×W代表节点数量;M∈RN×N代表聚合邻居信息的聚合矩阵,它是一个归一化的矩阵,每一行的值加起来都为1;W∈R2din×dout代表在训练过程中可学习的权重矩阵;σ(·)代表非线性激活函数(本文中采用的是ReLU);“ ‖”操作代表将矩阵沿着特征维度进行级联;MX的含义即为对节点的邻居信息进行特征聚合,但若直接取M为邻接矩阵A,它不是一个归一化的矩阵,会影响神经网络训练时的稳定性,因此需要将A重归一化,即:

综上,图卷积层的聚合公式为

通常,邻接矩阵的构造是:

本文创新性地采用1.1节中得到的attention map 来作为邻接矩阵,attention map中每个值代表的就是对应节点之间的相似度,它表示了节点之间连接的强烈程度,不再是非0 即1的值。用这样的邻接矩阵来进行图卷积聚合操作会使得结果更加准确。同时,本文的模型训练是一个端到端的过程,attention map 不是固定的,将在训练过程中不断变化,同样有助于提升深度推理的结果。

此外,图卷积层的数量并不是越多越好,已有研究表明[16],在使用多层GCN layer后,节点的区分度会变得越来越差,节点的表示向量会趋向一致,使得相应的学习任务变得困难,这个现象称为过平滑(over-smooth)问题,因此本文将采用GCN layer 0~3层进行实验,选择最适合的层数。

2 网络训练

2.1 数据集介绍

本文所采用的数据集NUST-SR是由南京理工大学无人车队的车载红外摄像头以及激光雷达拍摄所得,其中包含6529 对红外原始图像和相对应的深度图像。红外原始图像和对应的深度图像经过图像配准和预处理后分辨率统一为512 pixel×256 pixel。本文中将原始数据集划分为训练集(包含5223 对图像)和测试集(包含1306 对图像),数据集的深度范围为1.8 m~80 m。

2.2 网络训练过程

本文的实验是基于Facebook 人工智能研究院推出的开源框架Pytorch,开发环境为Ubuntu18.04,搭载了显卡NVIDIA RTX 2080Ti。在训练过程中,首先对红外原始图像进行归一化,接着将深度图像的连续深度值离散化为32类深度标签。训练时采用ResNet 对红外图像进行初步的特征提取,网络的学习率初始化为1×10−3,迭代次数设置为300代,选取交叉熵为损失函数,优化函数采用Adam,训练和测试时的batchsize 都设为8。整个训练过程耗时24 h。

3 实验结果

3.1 模型评价指标

针对深度估计问题,对模型好坏的定量评价通用指标通常有:

1)平均相对误差(average relative error,REL)。

2)对数均方根误差(log root mean squared error,RMSE-log)。

3)平均log10误差(average l og10e rror,l og10)。

4)准确率-阈值(accuracy with threshold)。

p的百分比

3.2 实验结果定量及定性展示

3.2.1 注意力模型构建深度关联

1.1节中已经提到,传统的卷积操作的感受野是局部的,而注意力机制对于某个像素点的深度信息,可以有更大的感受野,能够获得全图范围内的深度关联信息,非常有利于场景深度预测的进行。本节将把通过注意力模型得到的图像的深度关联信息进行可视化,来说明注意力模型在场景深度推理中的作用。

图4中第1列为原始图像与Ground Truth,第2列为注意力模型对图像深度关联信息提取后的可视化结果,其中绿色的“+”为图中选取的像素点,与该像素点深度关联越高(即深度值的相似性越高)的像素点越亮,否则越暗。从图4中可以看出,注意力模型可以有效关联出整个图像中不仅包含该点邻域内像素点,也包含更大范围内深度相关性高的像素点,进而有利于场景深度估计的进行。

图4 注意力模型提取深度关联可视化Fig.4 Visualization of attention model extracting depth information association

3.2.2 GCN层数的选择

GCN 并不像CNN 那样,随着网络层数的加深可能获得更好的识别效果,若使用过多层数的GCN layer可能会导致推理结果的显著下降。这是由于随着GCN layer层数的逐渐加深,到达某个合适的层数后,继续加深会导致节点的区分度变得越来越低,节点的特征向量会趋向一致,后续的推理任务会变得非常困难,前文已提及过,这个现象称为过平滑现象。为了避免这个问题的发生,本文将取GCN layer为0~3层(0层即为仅采用注意力模型加分类器)时分别进行实验,得到合适的GCN层数。表1为取0~3层GCN layer时的定量评价指标比较结果。

表1 不同层数的GCN layer时的定量评价指标比较结果Table1 Comparison results of quantitative evaluation indicators with different GCN layers

从表1中可以看出:1)当GCN层数为0时,即仅采用注意力模型时的深度推理结果逊于采用GCN 之后的结果,证明GCN 确实有助于深度推理的进行;2)选取GCN层数为1时能获得更好的深度估计结果,这表明采用GCN 确实能在注意力模型的基础上进行深度分类,但仅采用一层即可,采用过多的GCN layer可能导致邻域间的特征聚合降低像素点的区分度,3.2.3节的实验结果也将采用GCN layer为1时的结果。

3.2.3 与其他深度估计方法的对比

本节将从直观和客观2个角度将本文模型(AGCN)与其他经典深度估计方法的结果进行对比。首先,图5展示了本文与其他方法得到的深度推理图比较结果。从图5中可以看出,由于采用了GCN,它的聚合节点邻居的特性使得本文预测的深度结果更为平滑,而文献[2]等没有考虑邻域信息,表现出了较弱的分类结果。同时,采用了注意力机制使得本文得到的结果包含更多的细节信息,如图5中第3列,本文的方法对图中人物的估计更为精细,图中不同区域相同深度的像素点更易被推理出,相比其余方法得到了更为准确的深度分类结果。

图5 不同深度估计方法结果对比Fig.5 Comparison of results with different depth estimation methods

接着,以客观角度对深度估计结果从上文已提及的4个指标方面进行定量比较的结果如表2,进一步佐证了上述直观结果。从表2可以看出,本文所提出的方法在各项指标上的表现都优于其他方法,且在准确率上有较大提升,尤其在阈值δ<1.253时达到了98.05%的准确率,高出其他方法1%~2%,同时在误差方面的指标也得到了一定的提升。

表2 本文模型(AGCN)与其他经典深度估计方法的比较结果Table2 Comparison results of AGCN and other classic depth estimation methods

4 结论

本文提出了一种基于注意力机制和图卷积神经网络(attention graph convolutional network,AGCN)的深度估计方法。该方法首先利用注意力模型提取像素级的全局深度关联,利用此关联可作为邻接矩阵,与提取出的特征图相结合成为图结构输入GCN 进行深度推理。采用注意力模型可以使得邻接矩阵在训练时处于动态变化中,实现整个模型端到端的训练,图结构不再是固定不变的,进而有助于深度推理结果的提升。同时实验表明,GCN 对邻域信息的聚合能力能使深度推理获得更好的结果。最终本文所提出的方法在红外图像数据集NUST-SR上获得了优于经典深度估计方法的结果。在之后的研究工作中,将采用进一步改进的图神经网络来进行深度推理,以获得更好的聚合结果。

猜你喜欢

单目像素点注意力
让注意力“飞”回来
基于局部相似性的特征匹配筛选算法
一种单目相机/三轴陀螺仪/里程计紧组合导航算法
基于5×5邻域像素点相关性的划痕修复算法
基于单目视觉的仓储物流机器人定位方法探讨
基于canvas的前端数据加密
单目SLAM直线匹配增强平面发现方法
“扬眼”APP:让注意力“变现”
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
基于CAD模型的单目六自由度位姿测量