美文网首页
目标检测中的注意力机制

目标检测中的注意力机制

作者: yanghedada | 来源:发表于2018-12-03 14:48 被阅读63次

    在计算机视觉中,使用特征图金子塔,融合上文特征,增加深度,增加广度使用复杂的特征图处理手段已经是常态,最近对注意力机制的使用也愈演愈烈。

    结合最近的注意力机制学习:

    1. 空间位置软注意力机制:使用sigmoid对map进行操作,之后再与原来的map进行元素相加,相乘,concat。
    2. 通道注意力机制:一般是参照SEnet,对通道进行加权操作。
    3. 结合位置空间和通道注意力机制:1和2并行,1和2串行,1和2同时应用。
    4. 与GAN结合的注意力机制。
    5. 与RNN结合的注意力机制。
    6. 各种手段的注意力机制:在领域, RPN分布上进行注意力机制调节。

    @2018年是注意力机制提到最多的一年,每篇论文都会提一下。

    SENet

    SENet 提出了通道间的注意力机制,通过两个全连接层计算通道之间的重要程度。从而过滤掉不重要的通道值。

    使用:

    1. global average pooling 。把二维特征图变成实数
    2. 使用两个压缩的全连接层进行通道权重的学习
    3. 使用门控sigmoid或者softmax
    4. 进行sclae,把每个权重加到特征图上

    github

    重要代码段:

    
        def Squeeze_excitation_layer(self, input_x, out_dim, ratio, layer_name):
            with tf.name_scope(layer_name) :
                squeeze = Global_Average_Pooling(input_x) 
                # 进行全局池化
    
                excitation = Fully_connected(squeeze, units=out_dim / ratio, layer_name=layer_name+'_fully_connected1')
                # 学习通道权重
                excitation = Relu(excitation)
                excitation = Fully_connected(excitation, units=out_dim, layer_name=layer_name+'_fully_connected2')
                # 学习通道权重
                excitation = Sigmoid(excitation)
                # 阈值调节
                excitation = tf.reshape(excitation, [-1,1,1,out_dim])
               
                scale = input_x * excitation
                # 把权重赋给各个通道
                return scale
    

    参考:
    1 , 2 , 3 , 4, 5

    相关文章

      网友评论

          本文标题:目标检测中的注意力机制

          本文链接:https://www.haomeiwen.com/subject/dwyycqtx.html