赞
踩
这是一篇利用自己人造数据来进行行人重识别的论文,截至博客发出时间为止已经发表在arxiv预发表平台上。
1.贡献
文章的主要贡献点在于:
a.提出了合成数据库Somaset,里面包含25个男性和25个女性角色。主要关注点在于类内差异。
b.试图去削弱行人重识别的基本默认条件:行人的衣服在短时间内不会发生变化。而尝试从刚体、动作姿态的角度去理解行人重识别这个问题
c.提出了基于孪生网络的深度网络(笔者小白终于明白了inception是什么意识了,汗)
d.探索了深度网络中的内在神经元能关注到人体的结构信息(胖瘦)
备注:基于深度的行人重识别问题最近比较关注孪生网络和三元组的形式,但是这2种方法都要求输入数据的正负样本间保持一个平衡,但是实际情况中负样本对比正样本对多的多,如何安排正负样本对需要技巧。
1.关于数据库Somaset
统计意义上的人类大概可以分成3种类型:高瘦,中等运动形,肥胖型。本篇论文利用makehuman的框架,创造了25个男人和女人,包括3种类型和不同的肤色。作者设计了11套衣服,其中5套是男女共有,各种性别特有衣服3套
本文对于一共400个人*衣服的组合,每个再设计250种姿势,所以一共有100000个姿势。
2.深度网络结构Somanet
Somanet网络结构是基于incption v3模块,在和Alexnet、VGG16/VGG19等网络结构的比较中胜出。
以下是谷歌翻译的论文结构特点介绍(这段真的没意思啊,也怪笔者对于神经网络的了解还不够多):
我们的架构严格遵循了Inception V3模型[43](图4):卷积和最大池的初始序列复制了原始架构。其后是两个级联的Inception模块和一个修改的Inception模块(Reduced Inception Module),它可以通过在3×3卷积和池层中使用较大的步长将输入数据大小减少一半。此外,它会丢弃将被用作初始模块的输出的1×1卷积窗口。网络提供给我们最后层提供数据的模块;最大池化层,其后是卷积层,其馈送通向输出softmax层的完全连接的层。因为它们比以前的作品中使用的较大的卷积更有效率。 3×3卷积窗口的级联可以为5×5和7×7导出的分析提供代谢,在[11],[47]中使用。我们网络中的卷积层使用直接激活单元(ReLU)[48],它们具有稀疏的激活和有效的梯度传播,因为它们受到消失或爆炸梯度的影响较小。与以前的起始网络[11],[47],[43]不同,我们的完全连接的层采用双曲正切作为激活单元。
我们在SOMAset + SOMAnet上进行了一个玩具实验,以感受一个重要任务的复杂性,其中给定的合成主体(50个不同身份的画廊)可以穿不同的衣服。 已将100,000张图像划分为培训(占图像总数的70%),验证和测试集(各15%)。 对于每个分区内的每个对象,图像已经被取样成比例数量。 重新识别结果,按照第Sec4.3,在累积匹配特征(CMC)曲线识别率方面,在表1中报告。我们看到,这种训练策略允许为受试者的体细胞特征获得足够的描述符,得到79.69%的1级成功 测试集上的速率
和Googlenet的比较:
GoogLeNet的inception网络[11],[47],[43]被设计用于大规模视觉识别挑战[49]。因此,需要深入学习能够区分多达一千个不同类的抽象特征。对于更具体的图像识别任务,这种深层结构可能是不必要的。 GoogLeNet的原始设计还提出了三个目标函数,构想为随着网络的深入,帮助梯度传播。为了在重新编写任务的情况下评估Inception架构的适当深度,我们使用了渲染的SOMAset。我们设计了一个分类任务,原始的GoogLeNet网络必须正确地分类所有主体的身份。我们使用上述实验设置。原始的GoogLeNet被训练,直到验证集达到其所有三个目标函数的平台。结果表明,对于使用SOMAset的re-id的具体任务,通过使用更深的分类阶段,没有提高性能。因此,网络被重新设计为仅使用四个Inception V3模块。因此,网络不需要多个输出来帮助梯度传播(图4)。
我们的架构并没有受到这些问题的困扰(图4)。 它计算一个紧凑的潜在嵌入空间(在我们的例子中是一个R256描述符),这被证明是最佳的,以一定分辨率比较人们的图像。 因此,我们使用网络作为特征提取器,具有线性空间和时间序列。给出描述符,建立和评估相似度,以重新排序。
(由于截屏大小原因,只能分成2层来截屏)
3.训练细节
a.batch size采用32,据说batch size 采取2的幂次可以提高运行速度
b.学习率设计为0.1(和之前见到的学习率相比,这个值算大的了),在到达瓶颈后降为0.01
c.批量归一化
d.从Somaset训练好的网络参数,当要用到现实的数据库的时候,需要进行fine-tuning。取最后的softmax层作为finetuning层,但是又希望避免网络的specificity problem,所以给前面的层一个较低的学习率。
e fine-tuning后,取倒数第二层作为输出。得到256维度的向量,在[-1,1]区间上。为了给算子增加不变性,再把图像的镜像(此处不太明白)作为输入传入,又可以得到一个256维的向量,与之前的256维连在一起,得到512维的向量
f.使用余弦距离来度量2个图像序列之间的距离
4.在深度层中寻找特定的神经元
当一个神经元对于一片区域有特别的反应,那么它对其他区域就不太会有太多的反应。所以这个寻找特定的神经元,可以化为一个规划问题:
其中C为神经元会做出反应的图像集,而R则是不会反应的图像集,N则神经元的集合。
而D则是对应的判别函数,由2部分组成:一部分定义为火线率分数,反应神经元对图像产生反应的趋势分数;另一部分定义为激活分数,表明改反应的趋势的强度:、
A为激活分数
F为火线率分数
其中T定义为阀门函数:
最后的D则定义为火线分数和激活分数的平均值
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。