论文:http://ise.thss.tsinghua.edu.cn/MIG/2018-7.pdf
代码:https://github.com/slf12/GRLModel
1 核心思想
本篇论文的核心思想是行人的属性存在组内互斥和组间关联。组内互斥是指同一类的多个属性不可能一起出现,比如判定一个行人年龄为16-30时,不能再判定其年龄为31-45。组间关联是指不同的属性组之间具有关联关系,比如判定某个人性别为女,那么其发型为长发的概率会更高。因此作者提出使用LSTM来学习属性间的相互互斥及依赖关系。
作者第二个贡献是引入了空间上的视觉注意力,也就是针对行人图像,检测其不同的区域(头部、上身、下身),针对区域图像进行对应属性的预测。其思路如图1所示:
对输入图像,先使用FCN进行人体连接点的检测,然后使用人体区域建议网络(body region proposal network)进行各人体区域的检测。
2 整体网络
整体网络如上图所示,先对输入图像使用微调后的Inception V3提取特征,然后结合人体区域的位置信息,利用ROI Average Pooling层获取各人体区域的特征,同时也获取了人体的全局特征。获取的这些特征送入一个LSTM网络中去学习属性间的互斥及关联关系,然后将各输出经过全连接层后和BN层后获取各二分类属性的出现的概率。
3 损失函数
作者把所有的属性当成二分类属性来处理,因此使用的是sigmoid交叉熵损失。但由于在监控场景下采集的属性之间存在严重的数据不均衡(夏天采集的图像,短袖出现的概率远大于羽绒服出现的概率),因此作者使用的是加权的sigmoid交叉熵损失以解决数据不均衡问题。
p
j
p_j
pj表示训练集中第j个属性为正的概率。
p
^
i
j
\hat{p}_{ij}
p^ij表示第i幅图像中第j个属性被预测为正的概率。
这个 w j w_j wj的式子是不是应该有个负号,出现的概率越大权重值越小 ?
4 实验
总体分类结果
上图可以看出使用属性分组挖掘的准确率提升要高于ROI Pooling的准确率提升。
上面两图可以看出,进行属性识别时的预测顺序对识别准确率影响很大。
5 个人理解
本文思路很合理,但是使用FCN+人体区域建议网络进行人体区域的检测,在工程上复杂度略高。