@coolwyj
2016-02-29T17:31:08.000000Z
字数 1380
阅读 2657
论文
DeepLearning
这篇文章主要提出了一个新课题:body identification。故名思意,就是根据整个身体的特征来做分类,判别一群人中谁是谁。文章release了一个数据集PIPA用来训练和测试。
数据集中有一个data.mat文件,详细解释如下:
属性 | 释义 |
---|---|
data.Identity_ids(i) | 编号为i的人的label |
data.photoset_ids(i) | 编号为i的人的照片‘_’前的数字 |
data.owner_ids(i) | |
data.photo_ids(i) | 编号为i的人的照片‘_’后的数字 |
data.head_boxex(i) | 编号为i的人在照片中的头部框 |
data.train_idx(i) | 用作训练的人,其ID在data.Identity_ids中的下标 |
data.test_idx(i) | 与上类似 |
data.val_idx(i) | 与上类似 |
data.left_over(i) | 与上类似 |
data.split | test集合的切分,test_idx的子集 |
train, test, val, left_over 不相交
需要注意的是在windows下解压数据库,每个文件夹中会有很多以“.”开头的jpg文件,忽略这些文件,真正的图片在后面。
文章训练并使用了109个分类器,分别是1个global model,107个poselets model,1个face model。
其中,global model是由data.head_boxex圈定的头部方框进行一定比例选取得到的patch训练得到。
107个poselets model由Poselets_Body Part Detectors Trained Using 3D Human Pose Annotations给出的方法提取postlets后训练得到。
face model使用的是Deep Face
训练好这些模型后,对一个新的patch,就可以提取其特征。
对于每个模型提取的特征,训练一个multi-class-SVM,那么对于一个特征X,就可以判断其为某人y的概率为
对于一张图片,每个模型用SVM分类可以得到一个分数值P,取他们的加权和即为对此图为某人y的最终预测值S,argmax S(y)即为分类结果。
在val集上提取特征,然后训练一个linear-SVM。具体而言,把val集划分为两个part,先用part1 训练SVM,part2计算P,由得到的P拼接成一个向量用来做分类。part 1训练时把多分类问题转化为二分类问题,对每个人 j,构造向量
作为新的特征,训练一个Linear-SVM,得到各个SVM对这个人的权值,那么计算这个人的最后得分S时就使用这个权值。