多类别目标计数 Dilated-Scale-Aware Category-Attention ConvNet for Multi-Class Object Counting 论文笔记
写在前面
过年在家,工作时间减少了很多,玩的也很嗨,花零散时间读完了这篇论文及代码,抽空做个总结。
这篇论文写的是多类别目标计数,思路稍显复杂,改进的空间应该蛮多的。
- 论文链接:Dilated-Scale-Aware Category-Attention ConvNet for Multi-Class Object Counting
 - 代码链接:Github
 
一、Abstract
单类别目标计数已经取得了不错的效果,但是现实场景仍然是多类别目标计数。该任务难点在于目标标注的收集:回归框标注成本较高,本文提出用点标注的方式进行计数。具体来说,首先将单目标计数密度图改为多类别目标计数图。而由于所有类别的目标都采用同一特征提取器,因此目标特征会在贡献的特征空间内进行交互。所以本文设计了一种多任务结构来抑制目标之间的这种负的交互/联系。
二、引言
  目标计数在计算机视觉中很重要,而大部分的方法都是单类别目标计数,因此当改变计数类别时就需要重新训练网络。另外有少量的多类别目标计数,这一应用在现实中更加重要。下面是对计数方法的介绍:
   基于检测的方法同时进行检测和计数,但依赖于box的标注,因此主流的目标计数数据集仅仅提供点水平的标注,这对于采用检测的方法来说基本不太可能。
   基于回归的方法仅依赖于点的标注且实现了很大的成功,但这类方法大多在点标注上采用一系列的高斯blobs,因此当前基于回归的计数方法很难应用在多类别计数上。
   为了解决上述问题,本文提出了一种 Dilated-Scale-Aware Category-Attention ConvNet (DSACA)来实现多类别目标计数。具体来说,DSACS 由两个模块 Dilated-Scale-AwareModule(DSAM) 和 Category-Attention Module (CAM) 组成。首先,利用CNN提取特征图,DSAM 采用不同的膨胀率来同时捕捉大小目标之间的视觉反应,用于融合这些特征图。另外,由于共享目标提取器,预测的密度图彼此会进行交互,促使本文设计一种CAM模块来提供高质量孤立的类别密度图。
   本文贡献如下:
- 本文是第一个尝试基于点标注的进行多类别目标计数的方法;
 - 提出了DSACA,由 DSAM 和 CAM 模块组成,DSAM 捕捉多尺度信息,CAM 自适应地抑制特征提取时的类别内交互;
 - 大量的实验表明本文提出的方法效果很好。
 
三、方法

   如上图所示,提出的方法主要由两个关键模块组成,DSAM 和 CAM。首先利用 VGG16 作为 backbone,但是去掉了 stage_4, 5中的池化层。之后利用 DSAM 提取不同尺度的特征,CAM 用于减少不同类别密度图中的负关联。
A、Multi-Class Object Counting Problem Definition
  目前的单类别目标计数方法主要采用高斯核在点标注上滑动,来产生密度图以及预测出单类别的数量。为了实现多类别计数,本文同样采用高斯核,但预测的是所有类别的密度图。
 具体来说,对于一幅包含 
    
     
      
       
        N
       
      
      
       N
      
     
    N 个类别的物体图像,GT密度图为:
 
     
      
       
        
         D
        
        
         =
        
        
         
          {
         
         
          
           
            
             
              
               
                ∑
               
               
                
                 i
                
                
                 =
                
                
                 1
                
               
               
                
                 C
                
                
                 1
                
               
              
              
               δ
              
              
               
                (
               
               
                
                 U
                
                
                 1
                
               
               
                −
               
               
                
                 U
                
                
                 i
                
                
                 1
                
               
               
                )
               
              
              
               ∗
              
              
               
                G
               
               
                
                 σ
                
                
                 1
                
               
              
              
               
                (
               
               
                
                 U
                
                
                 1
                
               
               
                )
               
              
             
            
           
          
          
           
            
             
              ⋮
             
             
              
             
            
           
          
          
           
            
             
              
               
                ∑
               
               
                
                 i
                
                
                 =
                
                
                 1
                
               
               
                
                 C
                
                
                 n
                
               
              
              
               δ
              
              
               
                (
               
               
                
                 U
                
                
                 n
                
               
               
                −
               
               
                
                 U
                
                
                 i
                
                
                 n
                
               
               
                )
               
              
              
               ∗
              
              
               
                G
               
               
                
                 σ
                
                
                 n
                
               
              
              
               
                (
               
               
                
                 U
                
                
                 n
                
               
               
                )
               
              
             
            
           
          
          
           
            
             
              ⋮
             
             
              
             
            
           
          
          
           
            
             
              
               
                ∑
               
               
                
                 i
                
                
                 =
                
                
                 1
                
               
               
                
                 C
                
                
                 N
                
               
              
              
               δ
              
              
               
                (
               
               
                
                 U
                
                
                 N
                
               
               
                −
               
               
                
                 U
                
                
                 i
                
                
                 N
                
               
               
                )
               
              
              
               ∗
              
              
               
                G
               
               
                
                 σ
                
                
                 N
                
               
              
              
               
                (
               
               
                
                 U
                
                
                 N
                
               
               
                )
               
              
             
            
           
          
         
        
       
       
         D=\left\{\begin{array}{c} \sum_{i=1}^{C_{1}} \delta\left(U^{1}-U_{i}^{1}\right) * G_{\sigma^{1}}\left(U^{1}\right) \\ \vdots \\ \sum_{i=1}^{C_{n}} \delta\left(U^{n}-U_{i}^{n}\right) * G_{\sigma^{n}}\left(U^{n}\right) \\ \vdots \\ \sum_{i=1}^{C_{N}} \delta\left(U^{N}-U_{i}^{N}\right) * G_{\sigma^{N}}\left(U^{N}\right) \end{array}\right. 
       
      
     D=⎩⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎧∑i=1C1δ(U1−Ui1)∗Gσ1(U1)⋮∑i=1Cnδ(Un−Uin)∗Gσn(Un)⋮∑i=1CNδ(UN−UiN)∗GσN(UN)
 其中 
    
     
      
       
        
         U
        
        
         i
        
        
         n
        
       
      
      
       U_{i}^{n}
      
     
    Uin 为第 
    
     
      
       
        n
       
      
      
       n
      
     
    n 个类别中的第 
    
     
      
       
        i
       
      
      
       i
      
     
    i 个实例。在第 
    
     
      
       
        n
       
      
      
       n
      
     
    n 个类别中,共有 
    
     
      
       
        
         C
        
        
         n
        
       
      
      
       C_{n}
      
     
    Cn 个实例。 
    
     
      
       
        
         σ
        
        
         n
        
       
      
      
       \sigma^{n}
      
     
    σn 为高斯函数中第 
    
     
      
       
        n
       
      
      
       n
      
     
    n 个类别的高斯核,取决于第 
    
     
      
       
        n
       
      
      
       n
      
     
    n 个类别的相对大小。
B、Dilated-Scale-Aware Module
提出DSAM模块,通过膨胀卷积融合多阶段/尺度的特征信息。提出的 DSAM 应用不同尺度的膨胀卷积分别在 stage_3,4,5 上,之后经过下采样和拼接操作后,一个 3 × 3 3\times3 3×3 的卷积操作用于融合这些多尺度的特征。采用 L 2 ′ L_{2}^{\prime} L2′ 正则化来监督训练过程。
C、Category-Attention Module
  虽然DSAM有用,但是不完全有用,因此设计 CAM 来产生区分性强的密度图,主要是分别处理每个类别的空间注意力。具体来说,首先利用距离转换将点图转化为距离图 
    
     
      
       
        S
       
      
      
       S
      
     
    S,定义如下:
 
     
      
       
        
         
          P
         
         
          
           (
          
          
           x
          
          
           ,
          
          
           y
          
          
           )
          
         
        
        
         =
        
        
         
          
           min
          
          
           
          
         
         
          
           
            (
           
           
            
             x
            
            
             i
            
           
           
            ,
           
           
            
             y
            
            
             i
            
           
           
            )
           
          
          
           ∈
          
          
           A
          
         
        
        
         
          
           
            
             (
            
            
             x
            
            
             −
            
            
             
              x
             
             
              i
             
            
            
             )
            
           
           
            2
           
          
          
           +
          
          
           
            
             (
            
            
             y
            
            
             −
            
            
             
              y
             
             
              i
             
            
            
             )
            
           
           
            2
           
          
         
        
       
       
         P_{(x, y)}=\min _{\left(x_{i}, y_{i}\right) \in A} \sqrt{\left(x-x_{i}\right)^{2}+\left(y-y_{i}\right)^{2}} 
       
      
     P(x,y)=(xi,yi)∈Amin(x−xi)2+(y−yi)2
 其中,
    
     
      
       
        
         P
        
        
         
          (
         
         
          x
         
         
          ,
         
         
          y
         
         
          )
         
        
       
      
      
       P_{(x, y)}
      
     
    P(x,y) 表示距离图 
    
     
      
       
        S
       
      
      
       S
      
     
    S 位置 
    
     
      
       
        (
       
       
        x
       
       
        ,
       
       
        y
       
       
        )
       
      
      
       (x,y)
      
     
    (x,y) 上的值。
    
     
      
       
        A
       
      
      
       A
      
     
    A 为标注点的坐标集合。通过使用阈值 
    
     
      
       
        J
       
      
      
       J
      
     
    J 将距离图 
    
     
      
       
        S
       
      
      
       S
      
     
    S 上的点划分为 
    
     
      
       
        0
       
       
        −
       
       
        1
       
      
      
       0-1
      
     
    0−1 来获得伪标签注意力 masks 。
   CAM 仅采用 sage_5 上的特征图作为输入,因为该层具有更加丰富的语义信息。之后经过多个卷积和拼接操作来联合多尺度的特征图。这里卷积指的是采用膨胀因子为 
    
     
      
       
        1
       
       
        ,
       
       
        2
       
       
        ,
       
       
        3
       
       
        ,
       
       
        4
       
      
      
       1,2,3,4
      
     
    1,2,3,4 的膨胀卷积。空间注意力图的数量等于类别的数量。预测的空间注意力图和预测的密度图相乘就能获得最终的密度图了,这一操作能有效减少类别间的联系。
D、损失函数
  利用 
    
     
      
       
        
         L
        
        
         2
        
       
      
      
       L_2
      
     
    L2 损失来衡量GT密度图和预测密度图之间的区别:
 
     
      
       
        
         
          L
         
         
          2
         
        
        
         =
        
        
         
          ∑
         
         
          
           n
          
          
           =
          
          
           1
          
         
         
          N
         
        
        
         
          ∑
         
         
          
           x
          
          
           =
          
          
           1
          
         
         
          W
         
        
        
         
          ∑
         
         
          
           y
          
          
           =
          
          
           1
          
         
         
          H
         
        
        
         
          
           ∣
          
          
           
            P
           
           
            
             (
            
            
             n
            
            
             ,
            
            
             x
            
            
             ,
            
            
             y
            
            
             )
            
           
           
            ′
           
          
          
           −
          
          
           
            P
           
           
            
             (
            
            
             n
            
            
             ,
            
            
             x
            
            
             ,
            
            
             y
            
            
             )
            
           
          
          
           ∣
          
         
         
          2
         
        
       
       
         L_{2}=\sum_{n=1}^{N} \sum_{x=1}^{W} \sum_{y=1}^{H}\left|P_{(n, x, y)}^{\prime}-P_{(n, x, y)}\right|^{2} 
       
      
     L2=n=1∑Nx=1∑Wy=1∑H∣∣∣P(n,x,y)′−P(n,x,y)∣∣∣2
 其中,
    
     
      
       
        N
       
      
      
       N
      
     
    N 为类别的总数,
    
     
      
       
        W
       
       
        ,
       
       
        H
       
      
      
       W,H
      
     
    W,H 分别为图像的高和宽。
    
     
      
       
        
         P
        
        
         
          (
         
         
          n
         
         
          ,
         
         
          x
         
         
          ,
         
         
          y
         
         
          )
         
        
        
         ′
        
       
      
      
       P_{(n, x, y)}^{\prime}
      
     
    P(n,x,y)′和
    
     
      
       
        
         P
        
        
         
          (
         
         
          n
         
         
          ,
         
         
          x
         
         
          ,
         
         
          y
         
         
          )
         
        
       
      
      
       P_{(n, x, y)}
      
     
    P(n,x,y)分别表示位置 
    
     
      
       
        (
       
       
        x
       
       
        ,
       
       
        y
       
       
        ,
       
       
        z
       
       
        )
       
      
      
       (x,y,z)
      
     
    (x,y,z) 上的预测密度图和GT密度图的值。采用相同的损失来训练 DASM,即
    
     
      
       
        
         L
        
        
         2
        
        
         
          p
         
         
          r
         
         
          i
         
         
          m
         
         
          e
         
        
       
      
      
       L_{2}^{prime}
      
     
    L2prime。
   采用 BCE 损失来训练 CAM:
 
     
      
       
        
         
          L
         
         
          
           B
          
          
           C
          
          
           E
          
         
        
        
         =
        
        
         −
        
        
         
          1
         
         
          
           W
          
          
           ×
          
          
           H
          
         
        
        
         
          ∑
         
         
          
           n
          
          
           =
          
          
           1
          
         
         
          N
         
        
        
         
          ∑
         
         
          
           x
          
          
           =
          
          
           1
          
         
         
          W
         
        
        
         
          ∑
         
         
          
           y
          
          
           =
          
          
           1
          
         
         
          H
         
        
        
         
          (
         
         
          
           (
          
          
           
            T
           
           
            
             (
            
            
             n
            
            
             ,
            
            
             x
            
            
             ,
            
            
             y
            
            
             )
            
           
          
          
           ×
          
          
           log
          
          
           
          
          
           
            R
           
           
            
             (
            
            
             n
            
            
             ,
            
            
             x
            
            
             ,
            
            
             y
            
            
             )
            
           
          
          
           )
          
         
        
        
         
          +
         
         
          
           (
          
          
           1
          
          
           −
          
          
           
            T
           
           
            
             (
            
            
             n
            
            
             ,
            
            
             x
            
            
             ,
            
            
             y
            
            
             )
            
           
          
          
           )
          
         
         
          ×
         
         
          log
         
         
          
         
         
          
           (
          
          
           1
          
          
           −
          
          
           
            R
           
           
            
             (
            
            
             n
            
            
             ,
            
            
             x
            
            
             ,
            
            
             y
            
            
             )
            
           
          
          
           )
          
         
         
          )
         
        
       
       
         L_{B C E}=-\frac{1}{W \times H} \sum_{n=1}^{N} \sum_{x=1}^{W} \sum_{y=1}^{H}\left(\left(T_{(n, x, y)} \times \log R_{(n, x, y)}\right)\right.\left.+\left(1-T_{(n, x, y)}\right) \times \log \left(1-R_{(n, x, y)}\right)\right) 
       
      
     LBCE=−W×H1n=1∑Nx=1∑Wy=1∑H((T(n,x,y)×logR(n,x,y))+(1−T(n,x,y))×log(1−R(n,x,y)))
 其中 
    
     
      
       
        
         T
        
        
         
          (
         
         
          n
         
         
          ,
         
         
          x
         
         
          ,
         
         
          y
         
         
          )
         
        
       
       
        ∈
       
       
        {
       
       
        0
       
       
        ,
       
       
        1
       
       
        }
       
      
      
       T_{(n,x,y)}\in {\{}0,1{\}}
      
     
    T(n,x,y)∈{0,1}表示位置 
    
     
      
       
        (
       
       
        x
       
       
        ,
       
       
        y
       
       
        )
       
      
      
       (x,y)
      
     
    (x,y) 处第 
    
     
      
       
        n
       
      
      
       n
      
     
    n 个类别的伪标签注意力 mask。
    
     
      
       
        
         R
        
        
         
          (
         
         
          n
         
         
          ,
         
         
          x
         
         
          ,
         
         
          y
         
         
          )
         
        
       
       
        ∈
       
       
        [
       
       
        0
       
       
        ,
       
       
        1
       
       
        ]
       
      
      
       R_{(n,x,y)}\in[0,1]
      
     
    R(n,x,y)∈[0,1] 表示位置 
    
     
      
       
        (
       
       
        n
       
       
        ,
       
       
        x
       
       
        ,
       
       
        y
       
       
        )
       
      
      
       (n,x,y)
      
     
    (n,x,y) 处预测的空间注意力。
   训练过程的总损失为:
 
     
      
       
        
         L
        
        
         =
        
        
         
          L
         
         
          2
         
        
        
         +
        
        
         
          L
         
         
          2
         
         
          ′
         
        
        
         +
        
        
         
          L
         
         
          
           B
          
          
           C
          
          
           E
          
         
        
       
       
         L = L_{2}+L_{2}^{\prime}+L_{BCE} 
       
      
     L=L2+L2′+LBCE
四、实验
A、实施细节
  端到端方式训练,采用VGG16预训练权重中的前13个卷积层。高斯初始化因子设为0.01标准差。距离阈值 
    
     
      
       
        J
       
      
      
       J
      
     
    J 设为 
    
     
      
       
        20
       
      
      
       20
      
     
    20。图像预处理采用随机翻转和图像裁剪,尺寸为 
    
     
      
       
        512
       
       
        ×
       
       
        512
       
      
      
       512\times512
      
     
    512×512。采用Adam优化器更新网络参数,单个NVDIA2080Ti进行训练,实验结果如下:
 
B、数据集
由于目前没有公开的多类别目标计数数据集,因此利用带有多个单类别目标计数集 RSOC 和目标检测数据集 VisDrone。对于目标检测数据集,通过计算 bouding box 的中心坐标来获得点标注,所有实验均在点标注的情况下进行。
VisDrone-DET Dataset
该数据集包含10209个图像,多个类别,只考虑行人+人融合后的人类数据集以及自行车数据集,其挑战在于目标的尺寸极小。
RSOC Dataset
该数据集包含3057个图像,收集自 Google Earth 和 DOTA 遥感数据集,包含4个类别:建筑物,小的交通工具,大的交通工具和船。特别地,小的交通工具和大的交通工具总是同时出现在图像中,而这刚好满足了多类别目标计数的要求。本文考虑的是其中小的交通工具和大的交通工具子集。其挑战在于 RSOC 数据集中包含有一些背景噪声。
C、评估标准
  绝对平均误差 MAE 和均方误差 MSE 是最主要的评价指标,来统计所有类别的平均得分,多类别计数的能力可以表示为:
 
     
      
       
        
         
          
           
            
             M
            
            
             A
            
            
             E
            
           
          
         
         
          
           
            
            
             =
            
            
             
              1
             
             
              M
             
            
            
             
              ∑
             
             
              
               m
              
              
               =
              
              
               1
              
             
             
              M
             
            
            
             
              ∣
             
             
              
               Q
              
              
               m
              
              
               ′
              
             
             
              −
             
             
              
               Q
              
              
               m
              
             
             
              ∣
             
            
            
             ,
            
           
          
         
        
        
         
          
           
            
             M
            
            
             S
            
            
             E
            
           
          
         
         
          
           
            
            
             =
            
            
             
              
               
                1
               
               
                M
               
              
              
               
                ∑
               
               
                
                 m
                
                
                 =
                
                
                 1
                
               
               
                M
               
              
              
               
                
                 (
                
                
                 
                  Q
                 
                 
                  m
                 
                 
                  ′
                 
                
                
                 −
                
                
                 
                  Q
                 
                 
                  m
                 
                
                
                 )
                
               
               
                2
               
              
              
               ,
              
             
            
           
          
         
        
        
         
          
           
            
             M
            
            
             A
            
            
             
              E
             
             
              Average 
             
            
           
          
         
         
          
           
            
            
             =
            
            
             
              1
             
             
              N
             
            
            
             
              ∑
             
             
              
               n
              
              
               =
              
              
               1
              
             
             
              N
             
            
            
             M
            
            
             A
            
            
             
              E
             
             
              n
             
            
            
             ,
            
           
          
         
        
        
         
          
           
            
             M
            
            
             S
            
            
             
              E
             
             
              Average 
             
            
           
          
         
         
          
           
            
            
             =
            
            
             
              1
             
             
              N
             
            
            
             
              ∑
             
             
              
               n
              
              
               =
              
              
               1
              
             
             
              N
             
            
            
             M
            
            
             S
            
            
             
              E
             
             
              n
             
            
            
             ,
            
           
          
         
        
       
       
         \begin{aligned} M A E &=\frac{1}{M} \sum_{m=1}^{M}\left|Q_{m}^{\prime}-Q_{m}\right|,\\ M S E &=\sqrt{\frac{1}{M} \sum_{m=1}^{M}\left(Q_{m}^{\prime}-Q_{m}\right)^{2},} \\ M A E_{\text {Average }} &=\frac{1}{N} \sum_{n=1}^{N} M A E_{n}, \\ M S E_{\text {Average }} &=\frac{1}{N} \sum_{n=1}^{N} M S E_{n}, \end{aligned} 
       
      
     MAEMSEMAEAverage MSEAverage =M1m=1∑M∣Qm′−Qm∣,=M1m=1∑M(Qm′−Qm)2,=N1n=1∑NMAEn,=N1n=1∑NMSEn,
 其中 
    
     
      
       
        M
       
      
      
       M
      
     
    M 为测试集中图像的数量,
    
     
      
       
        N
       
      
      
       N
      
     
    N 为类别的数量。
    
     
      
       
        
         Q
        
        
         m
        
        
         ′
        
       
       
        ,
       
       
        
         Q
        
        
         m
        
       
      
      
       Q_{m}^{\prime},Q_{m}
      
     
    Qm′,Qm 为第 
    
     
      
       
        m
       
      
      
       m
      
     
    m 幅图像中预测的目标数量和GT数量。
D、Comparisons With the State-of-The-Art

 
E、消融实验

 
五、结论
  本文提出了 DSACA 框架,能够在只依赖点标注的情况下同时实现最佳的多类别目标计数性能。设计了 DSAM 和 CAM 分别用于克服密度图之间的关联以及缓解多尺度的影响,实验表明效果很好。
 写在后面
   2021年结束了,2022年,希望有更多的成果发表,早日毕业~
   祝大家新年快乐呀~
