⾏⼈重识别论⽂(⼀)--JointDetectionandIdentificationFe。
。。
⽬录
本⽂的主要贡献
1、主要提出了在对⾏⼈进⾏再识别时与⾏⼈检测相互结合
2、提出了OIM损失函数代替Softmax损失函数(最⼤的贡献)
3、收集了新的⾏⼈检测数据集(没有公开,使⽤没有什么卵⽤)
摘要
现有的⾏⼈再识别⽅法中所使⽤的标准和⽅法主要关注的是经过裁剪的⾏⼈照⽚,这与现实⽣活场景中的图⽚有所不同。本⽂为了缩⼩两者
的差距,提出了⼀种⾏⼈搜索的新框架,将⾏⼈检测和⾏⼈再识别结合起来,利⽤单个CNN来进⾏训练。⽂中使⽤了OIM损失(Online
InstanceMatching)来训练⽹络,它⽐⼀般的Softmax损失函数的效果更快更好。
introduction
⾸先介绍了⾏⼈再识别的应⽤领域以及这个研究⽅向存在的难点,⽐如⼈物的姿态,摄像机的⾓度,光照,像素,背景等,接着介绍了尽管
⼈们提出了许多⾏⼈再识别的数据集和⽅法,但是和现实应⽤的场景还是有很⼤的gap在,原因在于许多⽅法⽤到的是⼈⼯裁剪过的图像,
⽽在现实中⾸先必须先从⾏⼈所在的某个场景中识别出⾏⼈。⽬前许多paper⾥的⽅法已经假定了⾏⼈是被完美识别出来的。如下图:
本⽂的主要⼯作:
本⽂利⽤单个CNN将两者结合来解决上述问题,该CNN分为两个部分,⼀个是pedestrianproposalnet,来产⽣候选⾏⼈的
boundingboxes,另⼀个是identificationnet,来提取特征来进⾏与检索⽬标的⽐较。并且使得两者在jointoptimization过程中具有相
互适应,从⽽消除⾃⾝外另⼀⽹络带来的问题。
传统的re-id特征学习主要依赖于pair-wi或tripletdistancelossfunctions(缺点计算量⼤)以及Softmaxlossfunction(缺点
随着⾏⼈类型的增多,运⾏时间会变慢甚⾄函数⽆法收敛)。于是本⽂提出OnlineInstanceMatching损失函数,原理是利⽤来⾃所有
labeledidentities特征所形成的lookuptable与mini-batch样本之间进⾏距离⽐较,另外那些unlabeledidentities可以被视为
negatives,并且将unlabeledidentities的特征存储在循环队列(circularqueue)中进⾏⽐较。
RelatedWork
Personre-identification:早期的⾏⼈重识别使⽤的⽅法包括......⼆进制验证损失函数、多数据集整合等⽅法
Pedestriandetection:早期是传统的⽅法,今年来深度学习引⽤于⾏⼈重识别。
Method
⽹络结构:使⽤CNN联合训练thepedestriandetectionandpersonre-identification。给定⼀张检测图⽚,⾸先通过CNN⽹络将像素和
转化为特征图。pedestrianproposalnet建⽴在这些featuremaps之上,从⽽预测候选⾏⼈的boundingboxes。然后boundingboxes
送⼊具有RoI-Pooling的identificationnet来提取经过L2正则化后的每个box特征(256维)。在推测阶段,利⽤galleryperson和⽬标⾏
⼈之间的featuresdistances来进⾏排序。在训练阶段,根据排序的前⼏个featurevectors,使⽤OIMlossfunction来监控
identificationnet以及其他的lossfunctions以多任务⽅式来训练检测⾏⼈⽹络。
ModelStructure
这篇⽂章采⽤ResNet-50作为本⽂的基于CNN模型的⽹络结构。该模型⾸先采⽤7×7的卷积层作为conv1。接着是conv2xto
conv5x分别包含3,4,6,3residualunits。采⽤conv1toconv43作为stem部分。给定⼀个输⼊图⽚,输出⼀个1024维的特征图,
这个特征图是原图像的⼗六分之⼀。
根据featuresmaps,利⽤512×3×3的卷积层来对⾏⼈特征进⾏转换,接着在featuremap的每个位置利⽤9个anchors(源于
FasterRCNN)和Softmax分类器进⾏⾏⼈与否的预测,同时还包括了线性回归来调整anchors的位置。在non-maximum
suppression过后保留128个调整后的boundingboxes作为最终的proposals。
为了在这些proposals⾥找到⽬标⾏⼈,建⽴了identificationnet来提取特征,并与⽬标⾏⼈作对⽐。⾸先利⽤RoIPooling层从
stemfeaturemap中得到1024×14×14的区域(对应于每个proposal),接着将它们送⼊ResNet-50的conv4_4⾄conv5_3层,
再利⽤globalaveragepooling层将其整合为2048维的特征向量。⼀⽅⾯,pedestrianproposals不可避免的会包含⼀些fal
alarms(也就是proposal⾥包含的不是⾏⼈)和misalignments,利⽤Softmax分类器和线性回归来拒绝⾮⾏⼈区域并完善proposal的位
置。另⼀⽅⾯,我们将特征投影到经过L2正则化后的256维向量⼦空间中,(这⾥进⾏低维投影是因为OIM容易过拟合)计算它们和⽬标
⾏⼈的余弦相似度。
OnlineInstanceMatchingLoss
训练数据集包含L个不同的⽬标任务,
labeledidentity:数据集中包含的⾏⼈。(图中蓝⾊标记框)
unlabeledidentities:包含⾏⼈但不在数据集中的⾏⼈。(图中橙⾊标记框)
backgroundclutter:包含⾮⾏⼈物体或者背景的proposal。
⽂中并未选择SGD进⾏优化,⽽选择了onlineapproximation。mini-batch中⼀个labeledidentity的特征被记为记为x(x是D维特征向
量),保留⼀个lookuptable(LUT)记录所有labeledidentity的特征(D×L维矩阵,L是不同⽬标⾏⼈的个数)。在前向传
播中,计算mini-batch中样本与所有labeledidentities之间的的余弦相似度。在后向传播过程中,如果⽬标⾏⼈的分类标签是t,那么
就可以利⽤如下公式来更新LUT中的第t列:
除了labeledidentities之外,我们利⽤circularqueue来保存那些unlabeledidentities的特征,⽤U来表⽰(D×Q维矩阵,Q
是queue的⼤⼩),同样也可以计算U与mini-batch样本之间的余弦相似度。每⼀轮迭代过后,将新的特征向量压⼊队列中,并剔除那
些过时的。
特征向量x被视为第i类的⾏⼈的概率为:
其中T控制了概率分布的平缓程度。同样的,在circularqueue中,x被视为第i类unlabeledidentity的概率
OIM最终⽬标是使得期望似然函数最⼤化:
L对x的梯度可以表⽰为:
可以看出OIM损失有效的区分了mini-batch与labeledandunlabeledidentities。使得与⽬标⼈物相似的尽量靠近,不相似的尽量远离。
WhynotSoftmaxloss?
⼤规模⾏⼈搜索数据集⾥的⾏⼈类别太多,并且每个⼈对应的实例较少。同时需要学习的判别函数过多,⽽每次SGD中的positive
samples⼜太少,因此分类矩阵的梯度变化很⼤。其次,Softmax⽆法利⽤unlabeledidentities,因为在Softmax中它们没有明确的类别
标识。
OIM与Softmax主要的区别在于OIM损失是⾮参数化的,LUT和circularqueue被认为是外部记忆单元,⽽⾮⽹络的参数。但OIM容易
过拟合,所以⽂中将特征映射到经过L2正则化之后的低维⼦空间中。
当⾏⼈种类增加时,前⾯的计算公式会⽐较费时,因此采⽤了对labeled和unlabeledidentities进⾏⼆次采样的⽅法。
Datat
Experiments
没有数据集⽆法复现没有研究数据集和实验的必要。
本文发布于:2022-12-27 01:34:57,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/37335.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |