-
摘要: 深度确定性策略梯度(Deep deterministic policy gradient, DDPG)方法在连续控制任务中取得了良好的性能表现. 为进一步提高深度确定性策略梯度方法中经验回放机制的效率, 提出分类经验回放方法, 并采用两种方式对经验样本分类: 基于时序差分误差样本分类的深度确定性策略梯度方法(DDPG with temporal difference-error classification, TDC-DDPG)和基于立即奖赏样本分类的深度确定性策略梯度方法(DDPG with reward classification, RC-DDPG).在TDC-DDPG和RC-DDPG方法中, 分别使用两个经验缓冲池, 对产生的经验样本按照重要性程度分类存储, 网络模型训练时通过选取较多重要性程度高的样本加快模型学习. 在连续控制任务中对分类经验回放方法进行测试, 实验结果表明, 与随机选取经验样本的深度确定性策略梯度方法相比, TDC-DDPG和RC-DDPG方法具有更好的性能.Abstract: The deep deterministic policy gradient (DDPG) algorithm achieves good performance in continuous control tasks. In order to further improve the efficiency of the experience replay mechanism in the DDPG algorithm, a method of classifying the experience replay is proposed, where transitions are classified in two branches: deep deterministic policy gradient with temporal difference-error classification (TDC-DDPG) and deep deterministic policy gradient with reward classification (RC-DDPG). In both methods, two replay buffers are introduced respectively to classify the transitions according to the degree of importance. Learning can be speeded up in network model training period by selecting a greater number of transitions with higher importance. The classification experience replay method has been tested in a series of continuous control tasks and experimental results show that the TDC-DDPG and RC-DDPG methods have better performance than the DDPG method with random selection of transitions.
-
计算两个输入图像上对应像素的相对水平立体匹配对于理解或重建3D场景至关重要, 广泛应用于自动驾驶[1]、无人机[2]、医学成像和机器人智能控制等领域. 通常, 给定一对校正后的图像, 立体匹配的目标是位移, 即视差.
近年来, 基于深度学习的立体匹配算法研究已取得重大进展, 相比传统方法[3-4], 可从原始数据理解语义信息, 在精度和速度方面有着显著优势. 早期基于深度学习的方法[5-6]是经卷积神经网络(Convolutional neural network, CNN)获得一维特征相关性度量之后, 采用一系列传统的后处理操作预测最终视差, 无法端到端网络训练. 随着全卷积神经网络(Fully convolutional networks, FCN)的发展[7], 研究者们提出了将端到端网络整合到立体匹配模型中[8-16]. 对于全卷积深度学习立体匹配网络, PSMNet[17]提出一种空间金字塔池化模块, 扩大深层特征感受野, 提取不同尺度和位置的上下文信息. CFPNet[18]在金字塔模块基础上引入扩张卷积和全局平均池化扩大感受野, 使其更有效地感知全局上下文信息. MSFNet[19]利用多尺度特征模块, 通过级联融合不同层级的特征捕获细节和语义特征. 除了以上对特征提取网络的研究之外, 在代价聚合中, 第一个端到端视差估计网络DispNet[20]提出沿视差方向计算一维相关性的匹配代价计算方法. 由于仅沿着一个维度计算相关性, 损失了其余多个维度的有效信息, 因此为了更好地利用多维度的上下文语义特征, Kendall等[21]提出了GC-Net, 通过采用3D编解码结构在三个维度上理解全局语义信息. 受GC-Net启发, 众多学者提出了多种变体来正则化代价体, 建模匹配过程, 例如, 结合2D和3D卷积运算的多维聚合子网络[22]、多尺度残差3D卷积模块[23]、堆叠3D沙漏结构[17, 24]等. 尽管上述方法在视差估计中已取得长足进步, 但在网络学习推理过程中, 图像特征和代价体特征的多层级多模块交互利用仍存在不足, 缺乏全局网络信息的长距离依赖, 导致网络不具有敏锐的鉴别性能, 准确估计视差依然极具挑战性.
随着注意力机制在多种研究任务, 如语义分割[25]、 自然语言处理[26]、超分辨率[27]等方面的广泛应用, 注意力机制在立体匹配网络中引起了关注[28-30]. 其中, 基于SE-Net[31]的扩张空间金字塔注意力模块[28]虽然采用降维减小了计算成本, 但是降维的同时导致特征通道与其权重之间的对应是间接的, 降低了通道注意力的学习能力. MRDA-Net[30]只在2D特征提取网络末端和3D编解码网络末端引入单一池化3D注意力模块来整合全局信息, 无法做到多模块信息交互, 导致网络获取显著信息不充分. 综上, 由于2D图像特征为3D张量, 3D代价体特征为四维张量, 两者之间的维度差异使常规注意力方法无法同时应用于特征提取与代价聚合这两个子模块中, 注意力机制在立体匹配网络中应用较少、方式单一, 从而整个立体匹配网络缺乏有效协同的注意力机制, 对长距离上下文信息无法做到多模块多层级关注.
考虑上述问题, 本文在Gwc-Net[24]的基础上提出一种多维注意力特征聚合立体匹配算法, 通过对特征提取和代价聚合两个子模块设计不同的注意力方法, 从多模块多层级的角度去理解关注整个网络传输过程中的上下文信息. 设计2D注意力残差模块, 使用无降维自适应2D通道注意力, 逐像素提取和融合更全面有效的信息特征, 学习局部跨通道间的相关性, 自适应关注通道间的区别信息. 提出3D注意力沙漏聚合模块, 利用3D平均池化和3D最大池化构建3D通道注意力, 将其嵌入多个子编解码块的末端, 重新校准来自不同模块的多个代价体, 整合多模块输出单元计算匹配代价.
1. 多维注意力特征聚合立体匹配算法
所提算法主要包括2D注意力残差模块, 联合代价体, 3D注意力沙漏聚合模块. 算法网络结构如图1所示. 2D注意力残差模块对输入左图像
${{{I}}_{\rm{l}}}$ 和右图像${{{I}}_{\rm{r}}}$ 进行特征提取, 将提取的特征用于构建联合代价体, 采用3D注意力沙漏聚合模块计算匹配代价, 最终通过视差回归函数输出预测视差.1.1 2D注意力残差模块
为保留网络的低级结构特征以提取左右图像的细节信息, 首先构建3个卷积核尺寸为3×3的滤波器获取浅层特征, 输出特征图尺寸为
${1 / 2}H \times {1 / 2}W \times 32$ . 然后, 采用基本残差块conv1_x, conv2_x, conv3_x和conv4_x逐像素提取深层语义信息. 其中, conv1_x, conv2_x, conv3_x和conv4_x包含的基本残差单元个数分别为3, 16, 3和3. 每个残差块由两个卷积核尺寸为3 × 3的2D卷积、批归一化(Batch normalization, BN)层和线性整流 (Rectified linear unit, ReLU)激活层组成[17]. 级联conv2_x, conv3_x和conv4_x, 融合低级结构信息和高级语义信息, 构建尺寸为${1 / 4}H \times {1 / 4}W \times 320$ 的特征表示. 该模块共53层, 输出左特征图${{{F}}_{\rm{l}}}$ 和右特征图${{{F}}_{\rm{r}}}$ 的尺寸均为${1 / 4}H \times {1 / 4}W \times 320$ , 具体参数设置如表1所示.表 1 2D注意力残差单元和联合代价体的参数设置(D表示最大视差, 默认步长为1)Table 1 Parameter setting of the 2D attention residual unit and combined cost volume (D represents the maximum disparity. The default stride is 1)层级名称 层级设置 输出维度 ${ { { {{F} }_{\rm{l}}} } / { { {{F} }_{\rm{r}}} } }$ 卷积核尺寸, 通道数, 步长 H×W×3 2D 注意力残差模块 Conv0_1 $3 \times 3,32,$ 步长 = 2 ${1 / 2}H \times {1 / 2}W \times 32$ Conv0_2 $3 \times 3,32,$ ${1 / 2}H \times {1 / 2}W \times 32$ Conv0_3 $3 \times 3,32,$ ${1 / 2}H \times {1 / 2}W \times 32$ Conv1_x $\left[ \begin{aligned} 3 \times 3,32 \\ 3 \times 3,32 \end{aligned} \right] \times 3$ ${1 / 2}H \times {1 / 2}W \times 32$ Conv2_x $\left[ \begin{aligned} 3 \times 3,32 \\ 3 \times 3,32 \end{aligned} \right] \times 16$, 步长 = 2 ${1 / 4}H \times {1 / 4}W \times 64$ Conv3_x $\left[ \begin{aligned} 3 \times 3,32 \\ 3 \times 3,32 \end{aligned} \right] \times 3$ ${1 / 4}H \times {1 / 4}W \times 128$ Conv4_x $\left[ \begin{aligned} 3 \times 3,32 \\ 3 \times 3,32 \end{aligned} \right] \times 3$ ${1 / 4}H \times {1 / 4}W \times 128$ ${ {{F} }_{\rm{l}}}$/${ {{F} }_{\rm{r}}}$ 级联: Conv2_x, Conv3_x, Conv4_x ${1 / 4}H \times {1 / 4}W \times 320$ 联合代价体 ${ {{F} }_{{\rm{gc}}} }$ — ${1 / 4}D \times {1 / 4}H \times {1 / 4}W \times 40$ ${\tilde {{F} }_{\rm{l}}}$/${\tilde {{F} }_{\rm{r}}}$ $\left[ \begin{aligned} 3 \times 3,128 \\ 1 \times 1,{\rm{ } }12 \end{aligned} \right]$ ${1 / 4}H \times {1 / 4}W \times 12$ ${ {{F} }_{{\rm{cat}}} }$ — ${1 / 4}D \times {1 / 4}H \times {1 / 4}W \times 24$ ${ {{F} }_{{\rm{com}}} }$ 级联: ${ {{F} }_{{\rm{gc}}} }$, ${ {{F} }_{{\rm{cat}}} }$ ${1 / 4}D \times {1 / 4}H \times {1 / 4}W \times 64$ PSMNet[17]在特征提取过程中只采用单路径卷积方式, 没有对提取的特征进一步整合和交互, 缺乏信息之间的长距离依赖. 为自适应地增强特征表示, 在残差块中引入通道注意力, 强调重要特征并抑制不必要特征. 这种机制对每一通道赋予从0到1的不同权值, 代表各个通道的重要程度, 使得网络可以区别不同对象的特征图. 在之前的工作中, 通道注意力大多采用SE-Net, 通过两次全连接层缩放所有特征图的通道维度. 然而, 缩放特征通道数量虽然在整合信息过程中大大减小了计算量, 但是降维的同时导致特征通道与其权重之间的对应是间接的, 降低了通道注意力的学习能力.
因此在SE-Net[31]的基础上, 设计无降维的注意力, 去除缩放通道[32]. 鉴于无降维会增加计算复杂度, 且通道特征具有一定的局部周期性, 本文构造无降维局部跨通道注意力, 在无降维的基础上, 通过局部约束计算通道之间的依赖关系, 并将其注意力嵌入每个残差块. 参照文献[30], 通道注意力是针对2D图像特征的长和宽进行的2D卷积滤波操作, 因此命名为2D注意力. 2D注意力残差单元结构如图2所示.
设2D注意力输入特征图为
${{H}} \in {{\bf{R}}^{H \times W \times C}}$ , 在不降低通道维数的情况下, 执行全局平均池化和卷积核尺寸为$1 \times 1 \times k$ 的一维(One-dimensional, 1D)卷积. 其中卷积核大小为k的1D卷积用来计算每个通道与其k个邻域间的相互作用, k表示局部跨通道间的覆盖范围, 即有多少邻域参与一个通道的注意力预测. k的大小可以通过一个与特征图通道个数C相关的函数自适应确定. 为进一步降低模型复杂度, 所有通道共享相同的权值, 该过程通过快速的1D卷积实现. 上述过程可表述为$$\qquad{\boldsymbol{s}} = {f_{1{\rm{D}}}}({{z}_{{\rm{avg}}}})$$ (1) $$\qquad k = \phi (C) = {\left| {\frac{{{{\log }_2}(C) + 1}}{2}} \right|_{{\rm{odd}}}}$$ (2) 式中,
${{{z}}_{{\rm{avg}}}}$ 是经2D全局平均池化生成的特征图,${{{z}}_{{\rm{avg}}}} \in {{\bf{R}}^{1 \times 1 \times C}}$ ;${f_{1{\rm{D}}}}$ 是卷积核尺寸为$1 \times 1 \times k$ 的1D卷积; s表示使用1D卷积为各通道权重赋值后的张量,${{s}} \in {{\bf{R}}^{1 \times 1 \times C}}$ ;$\phi $ 表示k和C之间的映射关系;${\left| p \right|_{{\rm{odd}}}}$ 表示p的相邻最近奇数.将具有不同通道权重的特征张量通过sigmoid激活函数归一化处理, 并与输入特征图的通道对应乘积, 实现对特征图自适应地重新校准
$$\hat{{H}} = {{H}} \times \sigma ({{s}})$$ (3) 式中,
$\sigma $ 表示sigmoid激活函数;${{\hat{H}}}$ 表示2D注意力的输出特征图,${\hat{{H}}} \in {{\bf{R}}^{H \times W \times C}}$ .1.2 联合代价体
代价计算通常是计算1D相似性或者通过移位级联构建代价体, 前者损耗信息多, 后者计算成本高. 因此, 构建联合代价体
${{{F}}_{{\rm{com}}}}$ , 由分组关联代价体分量${{{F}}_{{\rm{gc}}}}$ 和降维级联代价体分量${{{F}}_{{\rm{cat}}}}$ 构成, 其中${{{F}}_{{\rm{gc}}}}$ 和${{{F}}_{{\rm{cat}}}}$ 分别提供一维相似性度量和丰富的空间语义信息. 联合代价体结构如图3所示. 首先, 将包含320个通道的左特征图${{{F}}_{{\rm{l}}}}$ 和右特征图${{{F}}_{{\rm{r}}}}$ 沿特征维度等分为n组, 即每个特征组有${{320} / n}$ 个通道. 根据Gwc-Net[24]表明网络的性能随着组数的增加而增加, 且考虑到内存使用量和计算成本, 故设置为$n = 40$ .$${{{F}}_{{\rm{gc}}}} = \frac{1}{{\frac{320}{n}}}\left\langle {{{F}}_{{\rm{l}}}^i,{{F}}_{{\rm{r}}}^i} \right\rangle $$ (4) 式中,
$\left\langle { \cdot , \cdot } \right\rangle $ 表示点积运算;${{F}}_{{\rm{l}}}^i$ 和${{F}}_{{\rm{r}}}^i$ 分别表示第i组的左特征图和右特征图.针对代价体相比图像特征具有更多维度这一属性, 对提取的左右特征图降维以减少内存占用. 分别对输出尺寸均为
${1 / 4}H \times {1 / 4}W \times 320$ 的左特征图${{{F}}_{{\rm{l}}}}$ 和右特征图${{{F}}_{{\rm{r}}}}$ 依次执行卷积核尺寸为3×3和1×1的2D卷积操作, 得到具有12个特征维度的左特征图${\tilde {{F}}_{{\rm{l}}}}$ 和右特征图${\tilde {{F}}_{{\rm{r}}}}$ , 进而级联获得降维级联代价体分量, 其通道维度为24.$${{{F}}_{{\rm{cat}}}} = \left\{ {{{\tilde{{F}}}_{\rm{l}}},{{\tilde{{F}}}_{\rm{r}}}} \right\}$$ (5) 式中,
$\left\{ { \cdot , \cdot } \right\}$ 表示级联操作.最后, 将
${{{F}}_{{\rm{gc}}}}$ 和${{{F}}_{{\rm{cat}}}}$ 沿着通道维度堆叠形成尺寸为${1 / 4}D \times {1 / 4}H \times {1 / 4}W \times 64$ 的${{{F}}_{{\rm{com}}}}$ . 联合代价体的参数设置如表1所示.1.3 3D注意力沙漏聚合模块
堆叠3D沙漏模块与Gwc-Net[24]相同, 包含1个预处理结构和3个3D注意力沙漏结构, 以捕获不同尺度的上下文信息. 3D注意力沙漏聚合模块结构如图4所示. 其中, 预处理结构由4个卷积核为3×3×3的3D卷积层组成用于提取低级特征, 并为最终视差预测提供细节信息, 作为视差图的几何约束. 对于沙漏结构, 在编码部分执行4次卷积核为3×3×3的3D卷积, 在每一个步长为1的3D卷积层后紧接一个步长为2的3D卷积层进行下采样操作, 降低特征图分辨率的同时将通道数翻倍. 由于编码部分共两次下采样, 在解码部分相应执行两次上采样即两次卷积核为3×3×3的3D反卷积操作以恢复分辨率, 同时特征通道数减半, 并将第2个反卷积层的输出与编码器中同分辨率的特征级联. 此外, 使用卷积核为1×1×1的3D卷积将预处理结构和沙漏结构直连, 减少网络计算参数. 网络包括Output0, Output1, Output2和Output3共4个输出单元, 每一个输出单元执行两次卷积核为3×3×3的3D卷积, 并应用三线性插值恢复与输入图像大小相同的分辨率
$H \times W \times D$ .以往基于CNN的代价聚合算法[17, 24]并未对代价体的通道信息进行多模块多层级关注, 无法有效利用和整合传输信息中的有效特征, 导致网络缺乏选择性鉴别信息特征和关注显著特征的能力. 此外, 代价聚合与特征提取中的特征维度存在差异, 使用特征提取模块中的无降维注意力增大代价体聚合的计算成本. 因此, 我们针对代价体特征的属性, 扩展通道注意力机制, 在堆叠3D沙漏结构[24]的基础上, 对3D代价体特征的长、宽和深度共3个维度进行3D卷积滤波, 计算不同通道之间的相互依赖性. 为了区分特征提取模块中的2D注意力, 我们命名为3D注意力. 3D注意力沙漏单元结构如图5所示, 沿着通道维度推断3D注意力特征图, 与输入代价体相乘, 细化代价体特征.
由于3D卷积滤波器具有感受局部视野的特性, 难以有效利用局部区域以外的上下文信息, 因此采用3D全局平均池化整合全局空间信息. 与文献[30]不同, 本文不仅使用3D全局平均池化, 而且使用3D最大池化编码特征图, 通过两种池化方式进一步区别对象的显著特征. 设3D注意力单元输入代价体为
${{X}} \in {{\bf{R}}^{D \times W \times H \times C}}$ , 首先在同一层级分别执行3D平均池化和3D最大池化获得两个尺寸为$D \times 1 \times 1 \times C$ 的代价体特征图. 其次, 相比2D图像特征对应的3D张量, 代价体为四维张量, 故为了减少参数数量, 降低计算负担, 采用卷积核尺寸为1×1×1 的3D卷积来整合所有通道间的信息, 压缩特征维度为${C / {16}}$ , 再次执行同卷积核尺寸的3D卷积, 将特征维度恢复至C. 上述过程可表示为$${{{s}}_{{\rm{avg}}}} = {f''_{1 \times 1 \times 1}}({f'_{1 \times 1 \times 1}}({{{u}}_{{\rm{avg}}}}))$$ (6) $${{{s}}_{{\rm{\max}} }} = {f''_{1 \times 1 \times 1}}({f'_{1 \times 1 \times 1}}({{{u}}_{{\rm{\max}} }}))$$ (7) 式中,
${{{u}}_{{\rm{avg}}}}$ 和${{{u}}_{\max }}$ 表示分别经3D平均池化和3D最大池化生成的特征图,${{{u}}_{{\rm{avg}}}}$ ,${{{u}}_{\max }}$ $ \in {{\bf{R}}^{D \times 1 \times 1 \times C}}$ ;${f'_{1 \times 1 \times 1}}$ 和${f''_{1 \times 1 \times 1}}$ 分别表示用于降维和升维的卷积核为1×1×1的3D卷积;${{{s}}_{{\rm{avg}}}}$ 和${{{s}}_{\max }}$ 分别表示赋予通道不同权值的特征图,${{{s}}_{{\rm{avg}}}}$ ,${{{s}}_{\max }}$ $ \in {{\bf{R}}^{D \times 1 \times 1 \times C}}$ .将
${{{s}}_{{\rm{avg}}}}$ 和${{{s}}_{\max }}$ 逐像素相加, 采用sigmoid激活函数, 得到最终的3D注意力特征图$${\hat{{X}}} = {{X}} \times \sigma ({{s}}_{{\rm{avg}}}^{} + {{s}}_{\max }^{})$$ (8) 式中,
${\hat{{X}}}$ 表示3D注意力单元的输出特征图,${\hat{{X}}} \in {{\bf{R}}^{D \times H \times W \times C}}$ .1.4 损失函数
所提算法的输出分别为Output0, Output1, Output2和Output3, 对应的损失为Loss0, Loss1, Loss2和Loss3. 在训练阶段, 总损失为4个损失的加权总和. 在测试阶段, 最终输出为Output3, 损失为Loss3. 视差估计采用GC-Net[17]提出的soft-argmin方法, 将每个像素i的视差值与相应的概率
${p_i}$ 乘积求和获得预测视差$\tilde d$ $$\tilde d = \sum\limits_{i = 0}^{{D_{\max }} - 1} {i \times {p_i}} $$ (9) 式中,
${D_{\max }}$ 表示特征图的最大视差值.最终的损失函数定义为
$$L(\tilde d,d) = \frac{1}{N}\sum\limits_{k = 0}^3 {{\lambda _k}} \times {L_{\rm{1}}}({\tilde d_i} - {d_i})$$ (10) 式中, N表示标签像素的数量,
${\tilde d_i}$ 表示预测视差图,${d_i}$ 表示真值视差图. 平滑${L_{\rm{1}}}$ 损失函数表示为$${L_{\rm{1}}}({\tilde d_i} - {d_i}) = \left\{ \begin{array}{lll} & 0.5{{({{\tilde d}_i} - {d_i})}^2},& 若\left| {{{\tilde d}_i} - {d_i}} \right| < 1 \\ &\left| {{{\tilde d}_i} - {d_i}} \right| - 0.5, &否则 \end{array} \right.$$ (11) 2. 实验及结果分析
本文在公开数据集SceneFlow[20], KITTI2015[33]和KITTI2012[34]上进行实验分析, 并使用EPE(End-point-error)和D1 等评价指标对所提算法进行评估. 其中, EPE表示估计的视差值与真实值之间的平均欧氏距离; D1表示以左图为参考图像预测的视差错误像素百分比.
2.1 数据集与实验细节
所提算法应用PyTorch深度学习框架实现, 在单个Nvidia 2080Ti GPU上进行训练和测试, 且设置批次大小为2. 采用Adam优化器且设置
${\beta _1} = 0.9$ ,${\beta _2} = 0.999$ . 在训练阶段, 随机将图像大小裁剪为256×512. 使用的数据集如下:1) SceneFlow数据集. 是一个具有室内和室外场景的大型综合数据集, 包含35454幅训练图像对和4370幅测试图像对. 本文使用SceneFlow数据集的子数据集Flyingthings3D, 其中, 训练图像对提供精细且密集的真值图. 图像的分辨率为540×960, 最大视差为192. 使用完整的数据集从头训练该模型, 以学习率0.001训练10个周期. 训练过程大约花费56小时, 训练的模型直接用于测试.
2) KITTI2015数据集. 是一个室外驾驶真实场景数据集. 该数据集较小, 包含200幅训练图像对和200幅测试图像对. 其中, 训练图像对提供LiDAR获得的稀疏真值视差图, 测试图像对不提供真值视差图. 图像的分辨率为375×1242像素, 最大视差为128. 整个训练图像对被随机分成训练集(80%)和验证集(20%). 使用SceneFlow数据集预训练的模型在KITTI2015上微调300个周期, 设置恒定学习率为
$1 \times {10^{{\rm{ - }}4}}$ , 微调过程大约花费20小时.3) KITTI2012数据集. 与KITTI2015类似, KITTI2012数据集只具有室外驾驶场景, 包含194幅训练图像对和195幅测试图像对, 提供训练图像对的稀疏真值视差图. 其微调过程与KITTI2015数据集一致.
2.2 超参数分析
本文分别在KITTI2012和KITTI2015数据集上对立体匹配网络进行消融实验, 定量评估2D注意力残差模块、3D注意力沙漏聚合模块、联合代价体以及损失函数权重对立体匹配性能的影响.
1)验证2D注意力残差模块的有效性
本文在不含3D注意力单元的情况下, 比较4种2D注意力的变体: 无2D注意力的残差网络, 具有最大池化层的降维2D注意力, 具有平均池化层的降维2D注意力[31]和无降维自适应2D注意力. 表2给出了在KITTI2015数据集上2D注意力残差模块在不同设置下的性能评估结果, 其中“> [n] px”表示EPE大于n时的像素百分比, “
$ \checkmark$ ”表示模块使用该结构. 由表2可知, 未添加2D注意力时EPE值仅为0.631, 错误率明显高于其他3种方法, 无降维自适应2D注意力EPE值可达0.615, 性能优于分别具有最大池化层和平均池化层的降维2D注意力. 实验结果表明, 所提出的2D注意力残差模块性能最优, 通过保持维度一致和局部跨通道间的信息交互, 有效提高了网络注意力, 有助于立体匹配任务降低预测视差误差.表 2 2D注意力残差模块在不同设置下的性能评估Table 2 Performance evaluation of 2D attention residual module with different settings网络设置 KITTI2015 2D 注意力单元 > 1 px (%) > 2 px (%) > 3 px (%) EPE (px) — 13.6 3.49 1.79 0.631 最大池化 + 降维 12.9 3.20 1.69 0.623 平均池化 + 降维 12.7 3.26 1.64 0.620 $ \checkmark$ 12.4 3.12 1.61 0.615 2)验证3D注意力沙漏聚合模块的有效性
本文在2D注意力残差模块的基础上, 比较4种3D注意力的变体: 无3D注意力的原始沙漏聚合模块, 具有3D最大池化层的3D注意力, 具有3D平均池化层的3D注意力和同时使用两种池化方式的3D注意力. 表3给出了在KITTI2012和KITTI2015数据集上3D注意力沙漏聚合模块在不同设置下的性能评估. 由表3可知, 加入3D注意力后, 算法的D1-all和EPE值都明显降低, 证明具有3D注意力的沙漏聚合模块优于原始沙漏聚合模块. 具有两种池化方式的3D注意力沙漏聚合模块在KITTI2012和KITTI2015数据集上EPE值分别达到0.654和0.589, 其性能明显优于仅含单一池化的3D注意力沙漏聚合模块. 实验结果表明, 本文不能忽略3D最大池化的重要性, 其与3D平均池化一样有意义, 将两种池化方式结合可帮助立体匹配任务更多样地获取上下文信息.
表 3 联合代价体和3D注意力沙漏聚合模块在不同设置下的性能评估Table 3 Evaluation of 3D attention hourglass aggregation module and combined cost volume with different settings网络设置 KITTI2012 KITTI2015 联合代价体 3D 注意力单元 EPE (px) D1-all (%) EPE (px) D1-all (%) 3D 最大池化 3D 平均池化 $ \checkmark$ — — 0.804 2.57 0.615 1.94 $ \checkmark$ $ \checkmark$ — 0.722 2.36 0.610 1.70 $ \checkmark$ — $ \checkmark$ 0.703 2.33 0.607 1.68 PSMNet[17] $ \checkmark$ $ \checkmark$ 0.867 2.65 0.652 2.03 $ \checkmark$ $ \checkmark$ $ \checkmark$ 0.654 2.13 0.589 1.43 3)验证联合代价体的有效性
此外, 鉴于联合代价体是特征提取与代价聚合之间的枢纽, 本文将联合代价体与PSMNet[17]的级联代价体进行对比, 表3给出了在KITTI2012和KITTI2015数据集上联合代价体在不同设置下的性能评估. 从表中可以看出, 联合代价体相比PSMNet[17]的级联代价体, 增加了相关代价体分量的引导, 对于多维注意力聚合特征的性能产生了积极的作用, 整个网络结构相辅相成.
4)验证不同损失函数权重对网络的影响
由于3D聚合网络有4个输出单元, 因此损失函数权重对网络的影响也至关重要. 本文将损失权重以
$ {\lambda _1},{\lambda _2},{\lambda _3},{\lambda _4}$ 的顺序设置, 如图6所示. 当$ {\lambda _1} = 0.5,{\lambda _2} = 0.5,{\lambda _3} = 0.7,{\lambda _4} = 1.0$ 时, 越接近网络末端的损失计算对网络训练越重要, 同时网络其余子编码块的输出也对网络的性能起着辅助训练的作用, 使整个网络从前到后都能得到有效的误差回传, 多个子编码块的输出保证了网络的均衡训练.2.3 与其他方法的性能比较与分析
为进一步验证算法有效性, 在SceneFlow数据集上将所提方法与其他方法进行比较, 包括Gwc-Net[24], PSMNet[17], MCA-Net[29], CRL[35]和GC-Net[21]. 定量评估结果如表4所示, 其中px表示像素. 所提算法在SceneFlow数据集上的EPE值均低于其他5种算法, 其中, 与Gwc-Net相比EPE降低了0.055, 与PSMNet相比EPE降低了0.28. 此外, 图7显示了在SceneFlow数据集上的视差评估结果, 其中图7(c) Gwc-Net表示不包含多维注意力的算法. 由图7中标注的小方框可看出, 具有多维注意力的算法能更有效地提取不同对象的显著变化特征. 因此所提算法能够为主体对象的显著特征分配更高的响应值, 提高网络的学习推理能力, 实现比未添加注意力时更精细的视差图.
表5反映了在KITTI2015数据集上本文算法与DispNetC[20], MC-CNN-art[36], CRL[35], PDSNet[37], GC-Net[21]和PSMNet[17]的定量评估结果. 其中, “All”表示所有区域像素, “Noc”表示仅非遮挡区域的像素. 本文分别在背景区域(bg)、 前景区域(fg)和所有区域内(all)计算评价指标D1值. 由表5可知, 所提算法在所有区域和非遮挡区域的D1-bg、D1-fg和D1-all值都低于其他方法. 特别是在非遮挡部分, 相比于PSMNet[17], 前景区域D1-fg值减小了0.23, 远远大于背景区域D1-bg的减小值0.07, 而且, 所有区域D1-all值也减小了0.08, 说明所提算法对于非遮挡区域显著对象的预测精度具有明显提升, 在整体视差预测方面具有优越的性能. 图8显示了在KITTI2015数据集上视差估计结果. 由图可知, 在处理重复图案区域中(如栅栏、道路)匹配效果较好, 而且保留了对象的显著信息 (如车辆、电线杆和树干的边缘区域). 大的弱纹理区域(如天空)和被遮挡区域中由于没有可用于正确匹配的特征, 将存在很多噪声. 实验结果表明, 多维注意力通过聚集丰富的匹配信息可有效鉴别不同对象的显著特征, 提取更全面有效的特征, 降低匹配误差.
表 5 不同算法在KITTI2015上的性能评估 (%)Table 5 Performance evaluation of different methods on the KITTI2015 dataset (%)在KITTI2012数据集上的性能评估与KITTI2015类似. 表6反映了在KITTI2012数据集上本文算法与DispNetC[20]、MC-CNN-acrt[36]、GC-Net[21]、SegStereo[11]和PSMNet[17]的定量评估结果. 由表6可知, 本文算法与其他几种算法相比, 在无遮挡区域和所有区域中, 大于3像素和大于5像素的误差值均最低, 其中, 无遮挡区域分别为1.46和0.81; 所有区域分别为1.73和0.90, 再次证明基于多维注意力特征聚合的立体匹配网络在无遮挡区域和所有区域中视差预测的有效性和可行性. 图9显示了在KITTI2012数据集上视差估计结果, 由图中标注的方框可看出本文算法在显著对象(如围栏, 车辆)方面视差预测结果较好, 且不受光线变化的影响. 此外, 从图9第1行最后一列的黄框可以看出, 尤其是对于墙壁这类很显著平滑的对象, 虽然KITTI2012数据集中真值视差图的稀疏性导致训练的网络模型对于树木的视差预测精度不高, 但相比Gwc-Net, 本文算法预测的墙壁没有和树木混淆, 符合墙壁的属性. 实验结果表明, 本文算法具有良好的泛化性, 多维注意力的引入提高了网络的学习能力, 可有效鉴别无遮挡对象的显著特征, 提高视差预测精度.
表 6 不同算法在KITTI2012上的性能评估 (%)Table 6 Performance evaluation of different methods on the KITTI2012 dataset (%)3. 结束语
本文提出了一种多维注意力特征聚合立体匹配算法, 以多模块及多层级的嵌入方式协同两种不同维度的注意力单元. 2D注意力残差模块在原始残差网络基础上引入自适应无降维2D通道注意力, 理解局部跨通道间的相互依赖性, 保留显著细节特征, 为代价聚合过程提供了全面有效的相似性度量. 3D注意力沙漏聚合模块在多个沙漏结构的基础上嵌入双重池化3D注意力单元, 捕获多尺度上下文信息, 有效提高了网络的聚合能力. 2D注意力和3D注意力之间相辅相成, 对整个网络的权重修正, 误差回传都起到了积极的作用. 在3个公开数据集上的实验结果表明, 所提算法不仅具有较高的预测精度, 而且可以敏锐地鉴别推理无遮挡区域中主体对象的显著性特性.
-
表 1 连续动作任务中实验数据
Table 1 Experimental data in continuous action tasks
任务名称 算法 平均奖赏 最高奖赏 标准差 HalfCheetah DDPG 3 360.32 5 335.23 1 246.40 TDC-DDPG 5 349.64 9 220.27 2 368.13 RC-DDPG 3 979.64 6 553.49 1 580.21 Ant DDPG 551.87 1 908.30 307.86 TDC-DDPG 521.42 1 863.99 296.91 RC-DDPG 772.37 2 971.63 460.05 Humanoid DDPG 404.36 822.11 114.38 TDC-DDPG 462.65 858.34 108.20 RC-DDPG 440.30 835.75 100.31 Walker DDPG 506.10 1 416.00 243.02 TDC-DDPG 521.58 1 919.15 252.95 RC-DDPG 700.57 3 292.62 484.65 Hopper DDPG 422.10 1 224.68 180.04 TDC-DDPG 432.64 1 689.48 223.61 RC-DDPG 513.45 2 050.72 257.82 Swimmer DDPG 34.06 63.16 16.74 TDC-DDPG 44.18 69.40 19.77 RC-DDPG 38.44 71.70 21.59 -
[1] 张耀中, 胡小方, 周跃, 段书凯.基于多层忆阻脉冲神经网络的强化学习及应用.自动化学报, 2019, 45(08): 1536-1547.Zhang Yao-Zhong, Hu Xiao-Fang, Zhou Yue, Duan Shu-Kai. A novel reinforcement learning algorithm based on multilayer memristive spiking neural network with applications. Acta Automatic Sinica, 2019, 45(08): 1536-1547. [2] Dorpinghaus M, Roldan E, Neri I, Meyr H, Julicher F. An information theoretic analysis of sequential decision-making. Mathematics, 2017, 39(6): 429-437. [3] Yu Xi-Li. Deep reinforcement learning: an overview. Machine Learning, 2017, 12(2): 231-316. [4] 秦蕊, 曾帅, 李娟娟, 袁勇.基于深度强化学习的平行企业资源计划.自动化学报, 2017, 43(09): 1588-1596.Qin Rui, Zeng Shuai, Li Juan-Juan, Yuan Yong. Parallel enterprises resource planning based on deep reinforcement learning. Acta Automatic Sinica, 2017, 43(9): 1588-1596. [5] Mnih V, Kavukcuoglu K, Silver D, Graves A, Antonoglou A, Wierstra D, et al. Playing atari with deep reinforcement learning. In: Proceedings of the Workshops at the 26th Neural Information Processing Systems 2013. Lake Tahoe, USA: MIT Press, 2013. 201−220 [6] Mnih V, Kavukcuoglu K, Silver D, Andrei A, Rusu, Veness J. Human-level control through deep reinforcement learning. Nature, 2015, 518(7540): 529-533. doi: 10.1038/nature14236 [7] Schaul T, Quan J, Antonoglou I, Silver D. Prioritized experience replay. In: Proceedings of the 4th International Conference on Learning Representations. San Juan, PuertoRico, USA: ICLR, 2016. 322−355 [8] 高阳, 陈世福, 陆鑫.强化学习研究综述.自动化学报, 2004, 30(1): 86-100.Gao Yang, Chen Shi-Fu, Lu Xin. Research on reinforcement learning: a review. Acta Automatic Sinica, 2004, 30(1): 86-100. [9] Ertel W. Reinforcement Learning. London: Springer-Verlag, 2017. 12−16 [10] Peters J, Bagnell J A, Sammut C. Policy gradient methods. Encyclopedia of Machine Learning, 2010, 5(11): 774-776. [11] Sutton R S, Barto A G. Reinforcement learning: An introduction. Cambridge, USA: MIT Press, 2018. [12] Thomas P S, Brunskill E. Policy gradient methods for reinforcement learning with function approximation and action-dependent baselines. Artificial Intelligence, 2018, 16(4): 23-25. [13] Silver D, Lever G, Heess N, Degris T, Wierstra D, Riedmillerm M. Deterministic policy gradient algorithms. In: Proceedings of the 31st International Conference on Machine Learning. New York, USA: ACM, 2014. 387−395 [14] Lillicrap T P, Hunt J J, Pritzel A, Heess N, Erez T, Tassa Y. Continuous control with deep reinforcement learning. Computer Science, 2015, 8(6): A187. [15] Atherton L A, Dupret D, Mellor J R. Memory trace replay: the shaping of memory consolidation by neuromodulation. Trends in Neurosciences, 2015, 38(9): 560-570. doi: 10.1016/j.tins.2015.07.004 [16] Olafsdottir H, Barry C, Saleem AB, Hassabis D, Spiers HJ. Hippocampal place cells construct reward related sequences through unexplored space. Elife, 2015, 4: e06063. doi: 10.7554/eLife.06063 期刊类型引用(8)
1. 张小凡,李涛. 融合多维注意力机制与动态尺度的数据校核算法. 电子设计工程. 2024(03): 22-26 . 百度学术
2. 徐亮亮,马开森,王霞,李东胜,孙华. LA-UNet网络模型在城市绿地遥感分类中的应用. 应用生态学报. 2024(04): 1101-1111 . 百度学术
3. 郦丽华. 大规模协同虚拟环境下并行层次兴趣匹配算法. 齐齐哈尔大学学报(自然科学版). 2024(02): 51-55+83 . 百度学术
4. 冯强龙,王晓峰,王海宇,陆正霖,丁坤岭,舒航. 基于CTH的不适定区域精确无监督立体匹配算法. 重庆科技大学学报(自然科学版). 2024(05): 85-91 . 百度学术
5. 李传彪,毕远伟. 基于跨域自适应的立体匹配算法. 计算机应用. 2023(10): 3230-3235 . 百度学术
6. 戴激光,罗方泽. 一种用于双目立体视觉的立体匹配网络. 测绘科学. 2023(12): 234-242 . 百度学术
7. 郭乾宇,武一,刘华宾,赵普. 基于损失自注意力机制的立体匹配算法研究. 计算机应用研究. 2022(07): 2236-2240 . 百度学术
8. 陈其博,葛宝臻,李云鹏,权佳宁. 基于多重注意力机制的立体匹配算法. 激光与光电子学进展. 2022(16): 521-528 . 百度学术
其他类型引用(18)
-