Video-based Person Re-reidentificationn on Semantic and Time Aspect(Oral)

这600多篇论文应该如何归类呢其實看topic,或者看摘要就可以了一般摘要即点明了主题,说明了一切假设一篇摘要200字的话,那么600篇就是12万字

毕业之前还是要收拾一下之前的爛摊子

十一假期重点收拾了一下之前在行人重识别方面的工作,也就是投稿ICCV 2019被骂的狗血临头一度想要放弃计算机视觉,对自己的人生感到一片灰暗的那个工作同时结合高继扬博士 的视频行人重识别工作:

的静态图像行人重识别强baseline工作:

开发了一套基于视频的视频行人偅识别强baseline (其实也就是对tricks进行复制粘贴), 现在用最基本的resnet-50模型单帧提feature然后做帧间平均融合的最基本的模型在Mars上不用reranking基本已经达到mAP 80% Rank-1 87%,对模型進行更改之后能达到更好的效果模型还在继续调优,相关的代码和工作应该会在更改后的文章中公布痛定思痛,万幸ICCV虽然被喷惨了泹审稿人们都很负责,给的意见即中肯又独到这次不要再急功近利了,好好改吧多做点真正有贡献的工作

距离投稿ICCV已经过去半年多叻视频行人重识别上新的工作真如雨后春笋,各benchmark也已经被刷高到不敢看:

现在开始新的竞品调研重点看一下这几篇文章:

开始之前,介绍一下这个项目:

感谢这位仁兄不知疲倦地实时更新视频行人重识别最新学术动态而且会把论文链接和开源代码link过去,是真爱粉没错叻什么tmd叫有贡献的工作!这tm就叫有贡献的工作!

交大和达摩院团队的一个工作,先介绍这篇文章是因为这篇文章跟我投ICCV的文章思想上有很夶的撞车都是想通过利用属性来挖掘特征融合时视频中各帧的空间和时间权重。

先简单的介绍一下视频行人重识别最基本的baseline:

基本都是通过一个基础网络对每段行人视频中每一帧提feature然后再对每一帧的feature进行组合,得到最后融合后的特征组合的方式常见的有:average/max pooling, RNN, soft Temporal Attention 加权平均等等,相关方法[1]中都进行过实验论证

图二 属性辅助重识别框架图

本文中另辟蹊径,考虑到行人属性对行人图像不同区域质量极为敏感这一特点(比如图像中行人下半身被遮挡了就不能识别行人的下半身衣服颜色)想通过利用属性来做不同帧feature的reweighting,同时由于属性有很多种所鉯考虑到要对属性分组讨论,所以设计出如图二的算法框架将不同的行人属性如衣服颜色、性别、是否带帽子、背包等等分为N组,设计哆任务网络在进行行人重识别任务的同时也进行属性识别。同时对不同组的属性分别学习每一帧的权重,然后根据这不同组的特征分別融合一个特征出来最后将不同组的特征和用softmax训出来的全局特征concat起来用作reid度量。

文章一个闪光点是在如何进行属性识别上由于作者没囿目前几个视频行人重识别数据库的属性标注,所以在属性识别这一块作者用了一种Transfer Learning的方法利用RAP静态行人属性数据库进行迁移学习:

在遷移学习上,由于作者没有Target数据集即视频行人属性数据库的属性所以不能采用pretrain+finetuning的方法。而是采用了联合训练的方式针对source数据集和target数据集在domain上的差异,将两个数据集揉和在一起利用source(RAP)数据库训练属性识别,同时利用Maximum Mean Discrepancy (MMD)来训练两个数据集之间的feature分布MMD定义如下:

这个损失函数┅定程度上参考了Triplet Loss,其意义也就是要让属性识别模型做到在一个mini-batch中:一: 同domain的不同的特征之间的距离要尽可能地大,二:不同domain之间地feature要盡可能地近这种方式理论上讲应该能弥补一些domain差异。

但感觉这个地方论文里很多地方没有讲清楚可能要等源码公布才可以看的更清晰┅点,比如mini-batch是怎么组成的如果mini-batch中reid数据出现同id的数据,那拉大同id feature之间的距离不是会对reid结果带来影响呢

属性识别结束在reid阶段,作者利用视頻中不同帧的属性识别confidence做帧间加权然后每组属性会加权出一个feature。属性识别confidence这样算的也就是某个属性的概率分布月趋向于确定(二分类為例,(0.01, 0.99)比(0.49, 0.51)更加确定)置信度越高(没毛病):

总结一下,本文的亮点要在:

1. 利用属性做行人视频的帧间加权辅助reid

2. 属性识别阶段的联匼训练方法,利用MMD减小domain不同带来的副作用

这两点都挺值得学习的,其中联合训练这个方法在其它任务中也可以尝试用于解决训练测试數据集差异过大问题。但读完之后有这样几个地方存在一点疑问:

  1. 不同属性之间的feature直接concat起来真的好吗因为之前做过实验我也知道,不同嘚属性跟行人id之间的关联程度是不一样的有些属性甚至会负面影响到行人重识别结果,比如背包属性会更多地关注于视频中行人背向攝像头的帧,因此一些行人正面摄像头的帧的权重就会被设的很低这样其实是不利于发挥视频行人重识别的优势的。所以对不同属性的feature洅进行一次加权会不会更好呢
  2. 属性识别部分,感觉代码里可能会有更多的细节论文里没法展开讲所以期待代码公开。

计算所的一篇文嶂也是我老板博士在的团队,文章题目就可以看出作者想通过缓解视频行人重识别过程中容易出现的遮挡问题以提高重识别的精度针對视频中出现遮挡的帧,作者没有直接丢弃掉而是尝试通过生成算法恢复被遮挡区域,以充分利用起行人视频中的每一点信息

具体的鋶程基本如上图所示,对一段视频中所有的行人图像横向分块检测不同帧在同一块上的相似度,某帧的某一块相似度过低的话说明这┅块出现了遮挡,然后就要用生成算法将这一块恢复出来

(1)首先如何检测遮挡

作者在检测视频中某些帧是否被遮挡这一部分,采用了一共掱工的方法具体的做法如上图所示,首先将一段视频中的所有帧分成上中下三块再对每块提特征,然后对每个块在时序这一维度上求均值然后看每个块特征与均值的偏移程度来衡量这一块是否被遮挡,偏移程度越大说明出现遮挡的概率也就越大(这个感觉有漏洞,万┅一段视频中遮挡的帧要比不遮挡的帧多那么未遮挡的帧会被认为是异常帧。)

(2)如何恢复遮挡区域

作者提出了一种基于GAN的STCnet用于进行遮挡恢複具体模型的框架如下(此部分感觉是文章最大的闪光点):

作者用了两个GAN网络来完成图像的恢复,第一个GAN网络Spatial Structure Generator是我们最常见的End2End的GAN输叺一张(1)步骤检测出的遮挡图(遮挡区域像素至0)然后恢复出一张自动补全的图,这个部分纯靠训好的GAN网络自己猜没有其他额外的信息输叺。

在这个基础之上作者考虑到视频数据的特性,同一段视频中其他未被遮挡的帧也可以用于辅助进行遮挡帧的恢复所以作者在架构Φ加入了一个Temporal Attention Generator用于利用多帧信息的一种手段,即用同一视频中完整的行人图像辅助遮挡图像的恢复

这个利用多帧信息进行恢复的流程也昰使用GAN网络,不过作者在此之上加入了Attention具体如下:

将Spatial Structure Generator恢复出来的区域与其他完整的行人图像的此区域的图像做一个cosine相似度度量,然后按照相似度的大小设计Attention相似度更高的区域要更受到关注。

因为最后GAN网络还是要为了reId服务所以在loss设计上,作者在GAN的传统encoder 和decoder loss的基础之上引入叻ID Loss即将行人视频的ID信息也引入到训练过程之中,也算是此类为判别任务设计的生成网络常用的操作了

作者设计的遮挡恢复网络跟reID是完铨兼容的,可以直接把生成出来的恢复图放入reID网络就行了

这个结果在19年初已经算是很高的结果了。

总结一下感觉这个工作最大的闪光點在于:

  1. 利用多帧信息进行遮挡恢复网络的设计,感觉这个工作通用性应该很广的不光可以用来做reID,感觉应用到目标追踪上其实更为适匼不过reID MOT不分家嘛。
  2. reID的精度提升很高了但没想到下一篇BMVC 2019刷到了更高。

读完之后的困惑有以下几点:

  1. 遮挡检测那部分如果一段视频中遮擋的帧要比不遮挡的帧多,按照论文中遮挡检测的逻辑未遮挡的帧会被认为是异常帧这种情况不知道有没有处理,还是默认遮挡属于低概率的异常
  2. 其实本身视频行人重识别的性价比就不是很高了(精度/运算量),可能未来真正落地的过程中单摄像头多帧分析比整段视頻分析应用要更为广泛,所以针对遮挡可能直接丢弃掉低质量帧是一种更好的策略,再用GAN来恢复有点画蛇添足所以感觉这个工作如果昰用到目标追踪上,可能应用前景要远比reid大得多

MARS的rank1就这样被这几个台湾老哥用non-local block[2]活生生地刷上了90,文章很简单没有前两篇文章在idea上有很夶地亮点,这文章的目的就是刷分同时证明no-local block这东西比较适合用来做spatial-temporal上的attention,另外作者为了提高计算效率在Spatial和Temporal上做了一个Reduction的操作,提高了non-local層的计算效率刷分同时计算增幅不大,结果可复现,简洁明了我还是很喜欢这样的工作的,直来直去不花里胡哨且够solid

刷分的文嶂一上来就先看一下结果:

主网络在两个主流数据库上MARS依然是现在的sotaDuke被下面要讲的TIP超过,但也是数一数二的水平计算加速后的网络精喥依然不错,可以作为很好的baseline

刷分的文章内容倒是没什么太多好讲的,就是将non-local层引入到resnet-50网络中做时间和空间上的attention(no-local层的特性此处不过将傳统的non-local的范围从W * H扩展加入了一个时序维度T,变成了C*H*W,没什么太复杂的设计)具体架构如下图所示:

但是non-local这东西计算量太大了,怎么办呢做優化:

这一块可以算是除了高分之外这篇文章的闪光点之一吧,为了节省计算量作者主要做了以下几个工作:

(1) 首先空间上分块,将图像分為多块默认同一块上的像素差异不是很大,所以块内不重复进行non-local计算重点针对块间计算。

(2) 在resnet s4之后送入后面三层non-local层之前,将视频中相鄰两帧的feature进行Pool融合时间维度上减半。

这样时间上得到了很大的节省精度下降也不是很大。

总结一下这篇工作的主要亮点在于:

  1. 代码開源,而且很规范可以作为强baseline。

槽点倒是真没找到idea越简单暴力直接,漏洞也就越少同时提一下这个工作用了帧乱序采样和resnet做后一层卷积stride置为1的方法,这两个trick在我这儿的实验也确实是work的

北大和诺亚合作的一篇文章(话说北大和诺亚合作还真挺多呀,认识的几个做压缩嘚北大同学和学长们也是在诺亚)这篇文章的主要论点在于进行视频行人重识别时要同时挖掘long-term和short-term的时序信息,作者提出的GLTR模型主要做的吔是这一个点

作者首先给出了一个例子来讲自己的论点:

如果两个人的形态、衣服颜色等等空间特点高度一致的话,很难单纯通过对不哃帧之间空间特征的加权来进行id判别而相邻帧之间的是时序特征,比如人的运动时姿体的状态和运动的速度就可以一定程度上缓解这种特殊情况带来的困扰所以作者设计了下面的网络:

网络并不是很复杂,首先对一段视频的各帧提feature然后用三个不同空洞率的时序卷积核沿着时序这个维度进行时序卷积,得到3组时序卷积后的特征然后将这三组特征concat起来送入了一个跟non-local块很像的Temporal Self-Attention模块进行编码,然后将编码的結果Pool得到结果

此处如果backbone选resnet-50那么图中的d应该就是2048,最后的feature大小应该是3d=6144这么来说跟其他feature为2048的工作来比性能其实挺不公平的。)

总结一下本文中讲方法的部分篇幅并不大,基本只有3.2 + 3.3加起来差不多只有IEEE模板的一页本文最大的贡献和亮点应该是在新提出的LS-VID数据库吧,这个采集自15个摄像头而且室内室外摄像头兼备同时采集了上中下午不同时段的大规模数据库能够很好地弥补现在主流benchmark在不同时段和室内室外跨場景上的短板,期待这个数据库开源

顶刊的工作确实要扎实许多不管是Idea还是实验的工作量上讲都比会议论文要solid的多。

文章的大体思想昰这样现在很多reID的文章喜欢对人体图像做分块和对齐,比如PCBAligned ReID之类的,但这些工作都只是做了分块基本都没有考虑过块与块之间的关系。所以作者想要做的是设计一种图算法将这些分块之间关联起来在构建关系图的时候,作者同时应用到了人体关键点的信息和特征映射关系(整个工作真的挺复杂的,读完之后有种感觉就是真的有这种操作的必要嘛而且感觉作者就是有种想往复杂里搞的感觉,也可能是被审稿人逼的吧)

(说实话,这篇文章不太想展开细讲细节确实挺多,工作量确实很大可以看出作者扎实的基本功和花费的大量心力,但说实话读完之后感觉文章里面值得借鉴的地方并不是很多。Graph在这里真的有种强行为了用而用的感觉)

大体框架如上图所示,pipline分了两路一路是正常的reid baseline,另一路开始了作者所说的分块->以块为节点pose关键点和特征映射关系为边构建图网络->用GNN挖掘分块间的关系->得到圖编码后的特征,(在构建图数据的时候作者采用了下图中的方法,即以每张图中的分块作为节点然后利用关键点,以人体关键点属于哪个区域作为边连接生成一张图再以特征映射关系生成另一张图,然后将两张图结合到一块):

最后作者将两路特征(正常reid特征+GNN编码特征)Concat到一起用于比对注意此处,个人感觉消融实验做的有一个漏洞

上图为作者在MARS上的消融实验,作者只比较了在Baseline上添模块后性能的提升效果而没有将两路单独拆开来分析,既然你最后的feature是Concat一起那我把它们拆开,比如只保留GNN编码后的这一路正常reid那一路我不要了,这种凊况下的结果如何作者没有给出但这个很关键,感觉这个才能真正体现文章的核心工作即GNN编码这一路是否真的有用

再回头来看一下这些数据,(不知道作者从哪儿找了这么高的baseline这真的是我见过最高的baseline了,)可以看出这些模块之后其实性能提升并不是很大(r1: 87.8->89.8, map:78->81.1)有种雷聲大,雨点小的感觉

模型在几个数据库上的最终结果还是很不错的,尤其是Duke97的rank1和95的mAP差不多已经杀死比赛了。

总结一下这篇文章给出超好结果和体现出的巨大工作量决定了这是一篇很难拒掉的文章,作者扎实的基本功和花费的大量心力在这个作品里都得到了很好的体现我读完之后感觉除了消融实验那部分有一点疑问之外,别的地方也基本都是无懈可击的但总觉得没什么收获,总感觉这篇文章很多工莋很难借鉴可能还是自己太菜吧,要继续努力学习!

好了以上就是今年视频行人重识别这一块新增的顶会文章,果然顶会还是有各自嘚闪光点小瑕疵都有,但做研究毕竟追求的是瑕不掩瑜加油,争取自己也能做出那种短平快真正有意义真正可值得借鉴服用的工作!

我要回帖

更多关于 identification 的文章

 

随机推荐