行人重识别中的第一个anchor-free模型

CV技术指南

    前言:
    本文针对anchor-free模型用于行人搜索中会出现三个不对齐问题:Scale misalignment,Region misalignment,Task misalignment提出了相应的解决方案,进一步提出了一个更简单更有效的anchor-free模型--AlignPS。
    
    更多内容请关注公众号CV技术指南,专注于计算机视觉的技术总结,最新技术跟踪。
    Introduction
    行人重识别的方法分为两个类别,一类是基于two-step的方法,如图a所示,先使用现成的模型进行行人检测,将其裁剪出来,再放进re-id网络识别。这种方法可以获得比较好的效果,但对时间和资源消耗比较大。第二类是基于one-step的方法,如图b所示,使用一种端到端的方式检测并识别。
    
    如图b所示,这种一步到位的方式在检测出行人后,将检测框内的feature通过ROI Align得到相同大小feature maps, 再进行回归,分类,re-id损失值的计算。这种方式类似于目标检测的two-stages的方法,我们称之为one-step two-stage模型。
    这种one-step two-stage模型不可避免的与目标检测的two-stages模型一样,也有一些内在缺陷,例如密集anchors带来的高计算量,对大小、比例和anchor数量这些超参数的高敏感性。
    最近几年,基于anchor-free的模型展现了独有的优点,即更简单的结构和更快的速度。基于这一点,作者提出要在Re-ID中构建一个anchor free模型。
    
    但这会存在以下三个不对齐的问题:
    1) 许多anchor-free模型通过FPN的方式学习多尺度特征以实现目标检测的尺度不变性。但在Re-ID上会存在尺度不对齐的问题,这是因为在gallery set中会存在各种尺度的人。
    2) 没有了ROI-Align操作,anchor-free模型无法根据指定区域将re-id和检测联系起来。因此,必须直接从特征图中学习re-id embedding,而无需显式的区域对齐。
    3) 行人搜索可以直观地认为是一个把检测和Re-ID作为自认为的多任务学习框架,因此需要找到这两个任务的平衡。
    在这篇论文中提出了第一个用于行人搜索的anchor-free模型,称之为Feature Aligned Person Search Network (AlignPS),AlignPS遵循Re-ID优先的原则提出了aligned feature aggregation (AFA) module,用于处理上面这三个问题。
    AFA通过可变形卷积重塑了FPN的一些构造块,通过特征融合解决了在Re-ID特征学习中区域和尺度不对齐的问题。同时优化了Re-ID和检测在训练过程中的步骤,更注重生成更鲁棒的Re-ID embeddings。这些简单有效的设计成功的将一个经典的anchor-free模型变成了一个很强很有效率的行人搜索框架,超过了anchor-based模型。
    Feature Aligned Person Search Network
    
    AlignPS的基础框架是FCOS,FCOS是目标检测中最常用的one-stage anchor-free框架之一。
    前面提到,AlignPS是基于Re-ID优先的原则,为了学习Re-ID embedding,直接使用AFA输出的feature maps进行flatten,没有使用额外的embedding layers。
    对于检测,使用了FCOS中的检测头。检测头分成两个分支,两条分支都由四个3x3卷积层组成,第一个分支预测回归偏移和中心得分,第二个对前景背景进行分类。最后,AFA输出feature maps的每个位置都会与一个含有分类、中心得分以及Re-ID embedding的Bounding boxes联系起来。
    Aligned Feature Aggregation
    Scale Alignment--FCOS采用在不同层检测不同大小的目标,对于一些重叠的有歧义的目标很有可能会分到不同的层,因此可以很好的提升检测效果。然而这对于Re-ID来说这并不好,因为Re-ID需要与gallery set进行比较,在不同的尺度下检测将会出现尺度不对齐的问题。
    本文的解决办法是只使用P3层的信息,这样就不存在尺度不对齐的问题,注意,可以这样做的原因是P3层基本融合了全部的语义信息。在上一篇论文分享《YOLOF: 特征金字塔的新方式》中提到,特征金字塔的最顶层基本融合了全部语义信息,进行多尺度融合对精度提升影响不大。
    Region Alignment--前面提到没有ROI-Align操作会出现Region misalignment问题,AlignPS从三个方面处理这个问题。
    
    第一,使用3x3可变形卷积来代替FPN中邻侧连接过程中的1x1卷积。3x3可变形卷积可以使网络自适应input feature maps的感受野,很好地完成Region Alignment。
    第二,使用concatenation代替自顶向下路径中的求和操作,这可以整合多尺度特征。
    第三,再次使用3x3可变形卷积代替FPN输出层的3x3卷积。这可以对其多尺度特征从而生成更精确的feature map。
    Task Alignment--提出Re-ID优先是基于以下两点考虑。
    第一,因为现有的一些检测框架有比较强的效果,以至于检测任务相比Re-ID更好处理,因此学习判别Re-ID embedding是首要关注的问题。经过作者们讨论,在anchor-free框架中,Re-ID的performance对Region misalignment更敏感。因此,倾向于Re-ID对于行人搜索是比较理想的。
    第二,对比于检测优先和两者并重的结构,Re-ID优先的结构不需要额外的层去生成Re-ID embedding,从而更有效率。
    Triplet-Aided Online Instance Matching Loss
    目前典型的行人搜索方法大多采用Online Instance Matching(OIM)损失来监督ReID任务的训练过程。
    具体而言,OIM将所有带标签个体的特征中心存储在一个查找表(Lookup Table,简称LUT)中,其中L代表特征个数、D代表特征维度。同时,维护一个循环队列(Circular Queue),其包含了Q个无标签个体的特征。在每次迭代过程中,给定标签为i的输入特征x,OIM分别将x与查找表和循环队列中的所有特征计算相似度,这样可得到x属于标签i的概率pi。
    本文发现,尽管OIM能够有效地利用带标签和无标签样本,但还是具有下面两个局限性:1)相似度计算只局限在输入特征与查找表或循环队列之间,输入特征之间并没有任何相似度计算操作。2)对数似然损失并没有给出特征对之间的明确距离度量。
    
    为此,提出了一种三元组损失(Triplet Loss)来进一步增强OIM损失。对于输入图像中的每个行人,首先采用中心采样(Center Sampling)策略对特征进行采样。这样,每个人中心附近的特征被认为是正样本,这里目标是拉近同一个人采样到的不同特征,将不同人的特征尽量分开。
    与此同时,带标签个体采样到的不同特征也应与查找表中相应的个体中心特征相接近,与查找表中不同个体的中心特征相远离。虚线框中展示的就是根据上述策略构建得到的三元组。
    
    其中M代表正负样本间的边界大小,Dpos和Dneg分别代表正、负样本对之间的欧氏距离。最后,本文所提出的TOIM损失即为OIM和三元组损失函数的简单叠加。
    Conclusion
    AlignPS在CUHK-SYSU上比baseline anchor-free模型提高了20%的mAP。且以更快的速度超过了two-stages 的SOTA。
    
    更多内容请关注公众号CV技术指南,专注于计算机视觉的技术总结,最新技术跟踪。