Page 466 - 《软件学报》2025年第9期
P. 466

李军侠 等: 基于语义调制的弱监督语义分割                                                           4377


                 编码层组成的     Transformer 编码器中进行特征提取, 得到最终的输出           token  T out ∈ R (C+N)×D , 其中每个编码层由一个
                 多头注意力    (MHA) 模块和一个多层感知器          (MLP) 组成. 最终的输出     token  T out  可以进一步划分为输出类   token
                 T c_out ∈ R C×D  和输出块  token  T p_out ∈ R N×D  . 最后将  T p_out  进行重组  (Reshape) 并送到卷积层  (Conv) 中, 得到含有  C  个
                 输出通道的初始类激活图         Original-CAM:

                                                               (          )
                                              Original-CAM = Conv Reshape(T p_out )                   (1)

                 2.2   语义调制策略
                    从  Transformer 编码器中的多头注意力模块出发可以得到注意力                A ∈ R M×(C+N)×(C+N) (M  代表注意力头的个数),
                 计算如下:

                                                           (    )
                                                            QK  T
                                                        A =  √                                        (2)
                                                              d
                 其中, Q, K  分别表示输入经过线性投影得到的            query  矩阵及  key  矩阵, d  表示缩放因子. 取  A  中所有注意力头的
                 平均值得到     A ∈ R (C+N)×(C+N)  , 进一步, 通过   A  可以分别得到类与块间注意力    A c2p ∈ R C×N   以及区域块间注意力
                                                   ,
                 A p2p ∈ R  N×N  , 其中  A c2p = A[1 : C,C +1 : C + N] A p2p = A[C +1 : C + N,C +1 : C + N]. 对得到的原始类与块间注意力进
                 行可视化, 发现部分注意力存在误差, 如图            1(b) 黑色方框所标注的区域块的注意力. 同时发现, 绿色方框标注的区
                 域块的注意力相对准确, 而且黑色方框标注的区域块和绿色方框标注的区域块在原图中的特征非常相近. 于是思
                 考利用绿色方框标注的区域块的注意力来修正黑色方框标注的区域块的注意力.
                    因此本文设计了一种语义调制策略, 如图              3  所示. 具体步骤如下: 针对类      c 与块  i 之间的注意力, 首先从区域
                 块间注意力中得到区域块         i 与其他每一个区域块间的语义亲和力, 接下来按照语义亲和力从大到小的顺序对所有
                 的区域块进行排序, 之后把排在前          30%  的区域块选择出来, 并把选择出来的区域块称为区域块                 i 的语义相关块, 根
                 据前面的分析可知, 语义相关块就是与区域块               i 特征相似的一些区域块. 然后, 从类        c 所对应的类与块间注意力中
                 将类  c 与语义相关块的注意力取出并进行计算, 得到类              c 与块                     r(c,i) ∈ R 1×1 , 计算如下:
                                                                 i 之间的注意力调节因子
                                                          1  ∑
                                                    r(c,i) =  A c2p (c, j)                            (3)
                                                          S
                 其中,  c ∈ {1,2,...,C} 表示目标类别, i, j 表示块,  i ∈ {1,2,...,N} j ∈ U, U  表示块  i 的语义相关块集合, S  表示  U  中语
                                                                ,
                 义相关块的数量.      A c2p (c, j) 表示类  c 与块  j 之间的注意力. 接下来使用注意力调节因子       r(c,i) 对类  c 与块  i 之间的
                 注意力进行调节:

                                                 A c2p (c,i) = A c2p (c,i)+α×r(c,i)                   (4)
                 其中,  α 代表调制系数. 之后, 对语义调制后的类与块间注意力进行可视化, 如图                   1(c) 所示, 可以发现与调制前类与
                 块间注意力对比, 调制后类与块间注意力准确性显著提高.

                                                            语义亲和力
                                      C c  P i
                                                              排序
                                               P 1 P 2 P 3 P 4 P 5  P N  P 90 P 18 P 123 P 55 P 198  P i
                                         注意力                                 选择
                                          调节                               语义相关块
                                                             注意力
                                                    r(c,i)
                                                              计算       P 90 P 18 P 123  P 36
                                                   注意力
                                                   调节因子
                                                     图 3 语义调制策略

                 2.3   类激活图优化
                    如图  4  中第  2  列和第  3  列所示, 可以发现  CNN  生成的初始类激活图往往只会覆盖图像中最具辨别力的区域.
                 最近已经有工作指出这个问题是由            CNN  的卷积操作引起的, 因为每次卷积核和图像进行卷积操作的时候, 卷积核
                 所覆盖的区域只是图像的一小块, 故进行卷积操作的时候, 只能捕获小范围的特征依赖性, 无法捕获全局特征依赖
   461   462   463   464   465   466   467   468   469   470   471