zoukankan      html  css  js  c++  java
  • 论文阅读笔记(七十五)【CVPR2021】:Anchor-Free Person Search

    Introduction

    Person search任务的目的是:定位并识别目标行人。其包含了两个子任务:行人检测和行人重识别。现有方法主要分为两类:二步检索框架和一步二阶段检索框架。前者先通过目标检测算法定位行人位置,再裁切出行人进行重识别,这类方法比较耗时;后者实现了两种任务的端到端学习,通过ROI对齐层获取行人区域(如Faster-RCNN),这类方法存在密集anchor计算复杂的问题以及超参数敏感(anchor数量、尺寸等)的问题。

    相比之下,作者提出了anchor-free方法,设计了无需anchor的间接架构,并拥有较高的检索速度。当前anchor-free的检测方法存在一些问题:① 需要使用FPN网络来学习多尺度特征,却会对行人重识别任务引入尺寸不对齐问题;② 由于缺少ROI,anchor-free难以依据局部区域来对齐reid特征和检测特征,因此reid特征需要在缺乏局部对齐的情况下学习;③ 行人检索是一个多任务的框架,需要实现reid和检测两个任务的平衡。

    为此,作者设计了Feature Aligned Person Search Network (AlignPS)。其中设计了一个anchor-free检测模型以及一个aligned feature aggregation (AFA)模块。具体而言:AFA利用了可变卷积(deformable convolution)和特征融合来改造FPN,解决区域、尺寸的不对齐问题。作者也优化了两个子任务的训练过程,让网络去学习更加鲁邦的reid特征映射。

    Feature-Aligned Person Search Networks

    (1) Framework Overview:

    框架在FCOS的基础上实现,不同之处是:作者提出的框架采用“reid first”的原则,着重学习鲁棒的行人特征。框架中,通过AFA模块融合了不同尺寸的特征图。AFA输出的特征图直接作为reid最终的特征映射。detection head包含了两个分支来完成回归和分类任务,每个分支包含了4个3x3卷积层,

    (2) Aligned Feature Aggregation:

    ① Scale Alignment:

    原版FCOS采用了不同层的特征来检测不同尺寸的目标。然而,在reid任务中,当需要匹配不同尺寸的同一个人,reid特征可能不在同一个尺寸上提取。因此,作者只对AFA输出的最后层上进行检测。骨干网络采用的ResNet50,AFA依次输出,其stride分别为32/16/8。

    ② Region Alignment:

    由于anchor-free方法无法从行人检测框中精确提取特征,作者从下面三个角度来解决这个问题:

    1) 在特征融合模块中采用3x3可变形卷积(deformable conv),让网络自适应地调整感受野,隐式地实现区域对齐;

    2) 在特征融合模块中使用级联来替换求和,这样可以更好地聚合多级特征;

    3) AFA输出的特征图再次使用可变形卷积,进一步对齐区域。

    ③ Task Alignment:

    作者采用了“reid first”的原则来进行训练。原因如下:

    1) 本框架继承了现有的FCOS目标检测的优势,任务的重心更应该倾向reid;

    2) 相比“detection first”和并行结构,“reid first”不需要额外的层来提取reid特征,因此更加高效。

    (3) Triplet-Aided Online Instance Matching Loss

    现有方法大部分都采用OIM损失来进行reid训练。将所有带标签的行人特征作为lookup table,即,没有带标签的行人特征作为circular queue,即。x属于第i个ID的概率值为:

    其中为控制概率分布的超参数。OIM损失计算为:

    为了提高OIM性能,作者嵌入了一种新的三元组损失,将行人中心周围的一组特征作为正样本,其他行人的一组特征为负样本,计算其三元组损失:

     

    Experiments

    (1) Datasets and Settings:(表格来源

    (2) Implementation Details:

    backbone:ResNet-50;

    optimizer:SGD;

    learning rate:0.001 (epoch 16和22时下降0.1);

    epoch:24;

    tricks:warmup,多尺度训练(图像的边长在667~2000间随机调整);

    test image size:1500x900;

    (3) 实验结果:

     其中 AlignPS+指的是在骨干网络中嵌入了可变形卷积。

  • 相关阅读:
    NetCore基于Consul+Ocelot+Docker+Jenkin搭建微服务架构
    Linux文档整理之【Jenkins+Docker自动化部署.Net Core】
    分布式事务
    redis
    pandas读取Excel
    centos7上用docker搭建简单的前后端分离项目
    CENTOS 设置swap 并让系统使用它
    MikroTik RouterOS安装chr授权到阿里云虚拟机(转)
    IDEA使用External Tools配置来查看javap反编译字节码
    【k8s】metrics-server
  • 原文地址:https://www.cnblogs.com/orangecyh/p/14844780.html
Copyright © 2011-2022 走看看