最近阅读到Facebook AI实验室发的一篇文章,Beyond Frontal Faces: Improving Person Recognition Using Multiple Cues,主要用来做person recognition。 论文提到,传统的deepface适用于正脸(frontal face)的情形,但是对于侧脸、脸部有遮挡、背脸的情形下,效果不理想,论文作者提到利用身体的其他部位来作为特征辅助,比如人的头发,衣服,眼镜,姿势等等。本文主要的贡献是如何利用姿态即poselet。作者提出一种pose invariant的特征,什么意思。 举个例子,不同的人有相同的姿态,相同的人有不同的姿态,如果我们只是对人的整体(full-body)进行特征抽取和分类,那么很可能有相同姿态的人就会分到一起。因此,我们希望排除姿态的多变性带来的特征噪音,也就是我们训练的特征必须对姿态多变性具有鲁棒性。因此,论文作者提出在针对同一种姿态抽取特征和训练分类器,最后整合分类器结果做投票。
第一步,抽取人的各个poselets(Poselets: Body part detectors trained using 3D human pose annotations)的特征,分别训练分类器。这里要注意有些人在有些poselet的得分比较低,我们称该poselet没有被激活,论文用全局full body的分类器来替换。
第二步,线性组合各个分类器的结果,利用svm来训练得出权重的比例。
我们能够想到该方法效果肯定比deep face好,说白了就是寻找有区分性的特征(poselet),然后组合分类器,。但是该方法需要每个poselet训练一个分类器(可用fine-tune),开销比较大。
几个注意点:
1. full body classifier需要知道人的所在位置,文中数据库有face bounding box, 可以以一定比例推出full body的位置。但是有些图片人的身体不是直立的,该方法会失效,因此采用poselet方法。
2. poselet可能没有必要那么多个,可以利用pca或者手动选择影响比较大的poselet。
3. 不知道poselet实际检测poselet效果如何?
4. 除了poselet,还有其他的cues可以引入: 时间。