您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    达摩院初次将Pure Transformer引入目的重辨认,论文中选ICCV 2021
    时间:2021-08-17 21:08 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    达摩院初次将Pure Transformer引入目的重辨认,论文中选ICCV 2021

    Transformer是一种自留意力模型架构,2017年之后在NLP范围取得了很大的成功。2020年,谷歌提出pure transformer结构ViT,在ImageNet分类义务上取得了和CNN可比的功用。之后少量ViT衍生的Pure Transformer架构(下文中简称为Transformer架构/模型)在ImageNet上都取得了成功。此外,在检测、跟踪、联系等下游视觉义务上,pure transformer的架构也不断取得和CNN可比的功用,但是在愈加细粒度的图像检索义务上目前还没有将成功的任务。

    达摩院初次将Pure Transformer引入目的重辨认,论文中选ICCV 2021

    TransReID论文地址:https://arxiv.org/pdf/2102.04378

    TransReID代码:https://github.com/heshuting555/TransReID

    在这篇论文中,阿里达摩院的研讨团队初次成功将pure transformer架构运用于目的重辨认(ReID)义务,提出了TransReID框架,在6个数据集上都取得了超过SOTA CNN办法的功用。

    研讨背景

    纵观整个CNN-based ReID办法的开展,我们发现很多任务都关注两个重要的点:

    1)开掘图片中的全局性信息。CNN网络由于卷积核堆叠的缘由,所以感受野存在一个高斯核的衰减。例如图1所示,标准CNN的模型通常会关注于图片中某一两个比较有判别性的部分区域,而会无视一些全局信息。为了处置这个成绩,少量办法经过引入留意力机制来扩展模型的有效感受野,从而失掉更好的全局性。但是留意力机制仅仅只是缓解了CNN的这个成绩,并不能彻底处置有效感受野高斯衰减的成绩。但是Transformer中的自留意力模块会使得每一个patch都和图片中的patch都计算一个attention score,所以相比CNN模型在开掘全局信息上有自然的优势,并且multi-head也可以开掘多个判别性区域。可以看到,图1中Transformer-based的办法可以开掘多个具有判别性的部分区域。

    2) 学习细节信息丰厚的细粒度特征。CNN网络外面存在下采样操作来取得平移不变性和扩展感受野,但是同时也降低特征图的分辨率,这会丧失图像的一些细节信息。如图2中的这对负样本对(CNN辨认错误,Transformer辨认正确),两张图片的外观特征是十分相似的,但是从书包的细节可以看出,左边书包侧面有一个杯子,而左边书包侧面则没有杯子,因此可以判别是两个ID。但是因此CNN的下采样操作,在网络最后输入的特征图上曾经看不清杯子这个细节了。但是Transformer没有下采样操作,因此特征图可以比较好地保留细节信息,从而辨认目的。

    达摩院初次将Pure Transformer引入目的重辨认,论文中选ICCV 2021

    综上所述,Transformer结构是十分适宜ReID义务的,但是仅仅用Transformer交流掉CNN backbone并没有充沛应用Transformer的特性。本文提出了首个pure transformer的ReID框架TransReID,包含JPM和SIE两个新的模块。之前的ReID任务显示将图片停止切块失掉若干个part,然后对每个part提取local特征可以提升功用。我们自创了这个设计,将Transformer中的patch embedding分红若干个group,但是这个操作没有充沛应用Transformer的全局依赖性。因此我们设计了Jigsaw Patch Module (JPM),将patch embedding随机打乱之后再切分group。Transformer十分擅长encode不同模态的信息,而之前的ReID任务显示相机和姿态信息是有利于ID的辨认的,因此我们设计了Side Information Module (SIE) 来应用这些有益的信息。

    TransReID

    1、Transformer-based strong baseline

    我们首先参考CNN的baseline BoT 设计Transformer-based strong baseline。如图图3所示,我们参考ViT将图片分红N个patch,并引入一个额外的cls token共N+1个embedding。经过Transformer layers之后,我们将cls token作为图像的全局特征,之后经过一个BNNeck结构计算triplet loss和分类ID loss。

    由于ImageNet预训练的ViT是运用224*224的图像分辨率,而ReID通常运用的分辨率不会是224*224,这形成了position embedding的维度不一样。因此,我们将position embedding按照空间位置停止插值来加载预训练的position embedding参数。

    此外,还有一个涨点的tricks是对图像停止patch分块的时分可以让相邻的patch之间有一定的overlap。当然这个操作会使得patch数目添加从而使得模型训练的资源消耗添加,但是功用也会有比较波动提升。

    达摩院初次将Pure Transformer引入目的重辨认,论文中选ICCV 2021

    2、Jigsaw Patch Module

    ReID义务常常会遇到遮挡、不对齐这些成绩,普通我们会采用细粒度的部分特征来处置这些成绩,水平切块就是十分常用的一种部分特征办法。JPM模块自创水平切块思想,将最后一层的patch embedding分红k个group (k=4),然后关于每个group停止transformer encode失掉N个cls token,每个cls token就相当于PCB中的striped feature,计算一个loss。但是这么做有一个缺陷:每个group只包含了图片中一个部分区域的信息,而transformer的特性是可以开掘全局关联性。为了扩展每个group的「视野」,我们将一切的patch embedding按照一定规则停止打乱,然后再停止分组。这样每个group就能够包含来自图片不同区域的patch,近似等效于每个group都有比较全局的「视野」。此外,打乱操作也可以看做是给网络添加了一些扰动,使得网络可以学习到愈加鲁棒的特征。

    详细打乱操作分为两步:(1)将最后一层输入的patch embedding去除0号位置的cls token可以失掉N个patch embedding,之后将它们停止循环平移m步;(2)第二步参照shuffle的group shuffle操作将N个patch的顺序打乱失掉新顺序的N各patch embedding,之后将它们按照新顺序分为k个group,每个group都学习一个cls token,最终concat一切cls token作为最终的feature。

    (责任编辑:admin)