Introduction

本文的贡献:提出了基于视频的行人重识别模型:Appearance and Motion Enhancement Model(AMEM)。该模型对两类信息进行提取:提出了Appearance Enhancement Module(AME),采用行人属性学习提取行人的样貌特征;提出了Motion Enhancement Module(MEM),提取行人的步态特征,并对其行走进行预测。

在预测阶段仅使用提出模型的主干网络和两个特征提取模块。

Approach

(1)整体框架:

输入视频序列,通过backbone网络提取出特征,然后通过AEM和MEM模块加强了特征中的外貌和动作信息,最终只使用主干网络和两个模块进行特征距离评估。

一些关键的参数定义:

S = {I1, I2, ..., IT} 表示输入的视频序列,每个视频序列含有 T 帧;

y 表示行人的身份标签;

BF = Ø(S, θB) 表示通过backbone网络的特征提取函数(BF为 T' * C * H * W 维),其中 θB 表示网络中的参数;

(2)Appearance Enhancement Module(AME)模块:

① 生成伪属性标签(pseudo attribute labels):

在ResNet-50上对PETA数据集进行训练。使用ResNet-50的Conv5_x模块的输出作为最后的特征映射 fA^(规格:2048*16*8)。由于属性识别模型的预定义属性数量 N = 105,过于庞大,对属性进行分组。在属性分组前,加上全局平均池化层和全连接层。分组的数量为 M,每组有一个属性特征量 am(规格:256),每组含有 Nm 个属性,各组的属性如下表。

第 m 组的属性损失函数为(采用了Binary Cross-Entropy loss):

其中 pi^ 表示第 i 属性通过全连接层和Sigmoid层后在第 m 组为真的概率值,lim 表示第 i 个属性在第 m 组是否为真。

Attribute Recognition Model(ARM)的总损失函数为:

将视频的每一帧都输入ARM中,获取图像的属性特征,对于每个特征,采用时间平均池化,对最终的平均预测进行判断,超过0.5设置为true,即 li^ = 1,最终得到 l1^, l2^, ...,  lN^.

② 外貌增强(appearance enhancement):

将第 ① 步得到的标签作为 AEM 模块的监督。

将获得的 BF 输入到 appearance branch,生成特征map为 fA(规格:C * H * W),appearance branch采用2017年提出的 I3D inception block,具体如下:

每一个卷积层都跟着batch正则化层和ReLU激活层。之后采用第 ① 步的标签作为监督,采用类似第 ① 步的做法提取出 M 个属性特征量和 N 个属性预测值,损失函数为:

【个人理解:先用别人的数据集,训练一个行人属性模型,再把作者所用的数据集输入该模型,得到属性label,把属性label作为监督,应用在appearance branch module的训练上。】

(3)Motion Enhancement Module(MEM)模块:

MEM模块预测出未来帧,再跟实际的帧比较,若成功预测,则说明该模型捕获了行人的步行模式。

① 图像自动编码器(Texture AutoEncoder):

TAE是由2006年被提出,用于编码行人图片,输出的结果 ftex 规格为 C * H * W。Encoder采用了ResNet-18模型,Decoder采用了4个反卷积模块,每一个模块都有一个带有3*3规格kernel的反卷积层和batch正则化层组成,除了最后的反卷积模块,其它再添加ReLU层,最后通过sigmoid层输出。

TAE采用Market-1501训练,损失函数采用Mean Squared Error(MSE)loss,并添加一项DTAE用于判断生成的图片是否为真,总损失函数为:

其中 I^ 为输入的图片,I~ 为输出的重构结果;G、D、f 分别为表示TAE的反编码、DTAE和ftex;pI^ 和 pf 分别表示在图片和特征空间的样本分布。DTAE 在最大化 Ladv 时,TAE在最小化。

【注:该损失函数还没有看懂,参考文献待阅读 2017:Unsupervised representation learning with deep convolutional neural network for remote sensing images】

② 动作提取:

选取输入序列的一帧 It(0 < t < T - c),预测下一帧 It+1。将 It+1 视为通过 ftext+1 反编码得到。 ftext+1 被分为两个部分:当前帧的texture特征 ftext 和动作特征 fM(表示两个连续帧的运动)。通过TAE提取出了 ftext,通过主干网络 Ø(S, θB) 获得动作特征 fM。motion branch采用了和appearance branch相同的结构,仅仅参数不同。然后将这两个特征concat,并输入texture嵌入模块获得 ftext+1,该模块由两个分别带有3*3和1*1kernel的卷积层、两个batch正则化层和一个ReLU层构成。 ftext+1 通过反编码获得预测的下一阵 It+1~

将上述获得的 It+1~ 作为新的当前帧,同理获得 It+2~ ,依次获得到 It+c~。MEM损失函数如下:

(4)优化:

对 fA、fM、fB进行concat,生成最终的特征map F,通过全局平均池化和全连接层,最终的特征表示为 fs。最终的总损失函数为(Lid为softmax损失,Ltri为三元组损失):

其中L表示batch中样本的数量,K表示batch中三元组的数量,[*]+ = max(*, 0),dip 和 din 表示正负样本对的特征距离。

Experiment

(1)实验设置:

主干模型在Kinetics上预训练;

采用Adam优化;

采用MARS、iLIDS-VID、PRID-2011作为评测数据集;

learning rate = 1e-3,每60epoch,下降0.2倍;

weight decay = 5e-4;

输入序列长度 T = 8;

输入帧的规格:256 * 128;

特征map规格:H = 16,W = 8,C = 1024,T’ = 3;

最终特征 fs 的维度:512;

其它参数:k = 0.2,λA = 0.1,λM = 10;

(2)实验结果:

(Table 4中的R3D[3D-ResNet]、P3D[Pseudo 3D]、I3D分别是3D卷积模型的变形)

论文阅读笔记(十四)【AAAI2020】:Appearance and Motion Enhancement for Video-based Person Re-identification的更多相关文章

  1. 论文阅读笔记十四:Decoupled Deep Neural Network for Semi-supervised Semantic Segmentation(CVPR2015)

    论文链接:https://arxiv.org/abs/1506.04924 摘要 该文提出了基于混合标签的半监督分割网络.与当前基于区域分类的单任务的分割方法不同,Decoupled 网络将分割与分类 ...

  2. 论文阅读笔记(四)【TIP2017】:Video-Based Pedestrian Re-Identification by Adaptive Spatio-Temporal Appearance Model

    Introduction (1)背景知识: ① 人脸识别是具有高可靠性的生物识别技术,但在低解析度(resolution)和姿态变化下效果很差. ② 步态(gait)是全身行为的生物识别特征,大部分步 ...

  3. 论文阅读笔记十五:Pyramid Scene Parsing Network(CVPR2016)

    论文源址:https://arxiv.org/pdf/1612.01105.pdf tensorflow代码:https://github.com/hellochick/PSPNet-tensorfl ...

  4. 论文阅读笔记十:DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs (DeepLabv2)(CVPR2016)

    论文链接:https://arxiv.org/pdf/1606.00915.pdf 摘要 该文主要对基于深度学习的分割任务做了三个贡献,(1)使用空洞卷积来进行上采样来进行密集的预测任务.空洞卷积可以 ...

  5. 论文阅读笔记十九:PIXEL DECONVOLUTIONAL NETWORKS(CVPR2017)

    论文源址:https://arxiv.org/abs/1705.06820 tensorflow(github): https://github.com/HongyangGao/PixelDCN 基于 ...

  6. 论文阅读笔记十八:ENet: A Deep Neural Network Architecture for Real-Time Semantic Segmentation(CVPR2016)

    论文源址:https://arxiv.org/abs/1606.02147 tensorflow github: https://github.com/kwotsin/TensorFlow-ENet ...

  7. 论文阅读笔记十六:DeconvNet:Learning Deconvolution Network for Semantic Segmentation(ICCV2015)

    论文源址:https://arxiv.org/abs/1505.04366 tensorflow代码:https://github.com/fabianbormann/Tensorflow-Decon ...

  8. 论文阅读笔记十二:Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation(DeepLabv3+)(CVPR2018)

    论文链接:https://arxiv.org/abs/1802.02611 tensorflow 官方实现: https: //github.com/tensorflow/models/tree/ma ...

  9. 云时代架构阅读笔记十四——我对Hash算法的理解

    Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射,也就是 ...

随机推荐

  1. Docker 容器数据 持久化(系统学习Docker05)

    写在前面 本来是可以将数据存储在 容器内部 的.但是存在容器内部,一旦容器被删除掉或者容器毁坏(我亲身经历的痛,当时我们的大数据平台就是运行在docker容器内,有次停电后,不管怎样容器都起不来.以前 ...

  2. C# 正则进阶

    .NET 中的正则表达式是基于 Perl 5 的正则表达式. 超时 从 .NET Framework 4.5 开始,正则表达式支持在匹配操作中指定超时时间.如果匹配超时,就会抛出 RegexMatch ...

  3. eclipse编写代码所遇到的问题

    spring方面: 1.Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListabl ...

  4. Deep Learning for Chatbots(Introduction)

    聊天机器人又被称为会话系统,已经成为一个热门话题,许多公司都在这上面的投入巨大,包括微软,Facebook,苹果(Siri),Google,微信,Slack.许多创业公司尝试通过多种方式来改变与消费者 ...

  5. Shiro过滤器

    Shiro内置过滤器 anon.authBasic.authc.user.logout perms.roles.ssl.port spring.xml <bean id="shiroF ...

  6. Python原来这么好学-1.1节: 在windows中安装Python

    这是一本教同学们彻底学通Python的高质量学习教程,认真地学习每一章节的内容,每天只需学好一节,帮助你成为一名卓越的Python程序员: 本教程面向的是零编程基础的同学,非科班人士,以及有一定编程水 ...

  7. 【WPF学习】第四十七章 WriteableBitmap类

    WPF允许使用Image元素显示位图.然而,按这种方法显示图片的方法完全是单向的.应用程序使用现成的位图,读取问题,并在窗口中显示位图.就其本身而言,Image元素没有提供创建和编辑位图信息的方法. ...

  8. php面试笔记(5)-php基础知识-自定义函数及内部函数考点

    本文是根据慕课网Jason老师的课程进行的PHP面试知识点总结和升华,如有侵权请联系我进行删除,email:guoyugygy@163.com 在面试中,考官往往喜欢基础扎实的面试者,而函数相关的考点 ...

  9. Language Model

    在某次会上的语言模型的ppt.

  10. 【转载】Python 最强编辑器PyCharm详细使用指南!

    PyCharm 是一种 Python IDE,可以帮助程序员节约时间,提高生产效率.那么具体如何使用呢?本文从 PyCharm 安装到插件.外部工具.专业版功能等进行了一一介绍,希望能够帮助到大家.机 ...