一、本文的主要思想
1、通过BING将一张图像生成很多小块图像,然后用聚类的方法,在这些小图像中选出一小部分作为待识别的hypotheses;
2、将每张图像的这些hypotheses输入到shared CNN中,每个hypothesis 会产生一个预测,将这些所有的预测采用一个max-pooling得到最后的结果。
二、本文方法的优势
1、不需要真是的bounding box 信息;
2、这种结构对冗余的或者噪声的hypotheses非常鲁棒;
3、在训练阶段不需要每个hypothesis的label信息;
4、可以通过大规模的单标签数据进行预训练;
5、此方法输出的结果就是多标签预测的结果。
三、single-label CNN 没有扩展为多标签的原因
1、多标签相对于单标签而言,每个对象的位置、姿态和尺度都不一样;
2、对象之间有遮挡,同时姿态也是一个很大的挑战;
3、如果用于多标签的话,训练的参数成指数增加,这样就需要更多的训练的数据,同时获取单标签数据的成本要远低于多标签数据;
四、HYPOTHESES-CNN-POOLING具体结构
1、Hypotheses Extraction
采用BING的方法生成hypotheses,然后通过聚类的方法(normalized cut algorithm)将每张图像的所有hypotheses聚类为10类,每类选top1(根据BING生成的得分),由于作者测试过top1-top5效果差不多;聚类后的hypotheses用做后面的Hypotheses-?ne-tuning。
2、Initialization of HCP
(1)Pre-training on single-label image set
首先在大规模单标签数据库Imagenet上面训练,注意数据的增强方法:crops+flips
(2)Image-?ne-tuning(I-FT) on multi-label image set
在对标签数据库(如VOC)上面进行基于整图的多标签数据fine-tuning;
注意三点:A、直接resize到256*256,没有数据增强
B、误差的计算
C、参数的初始化:前面七层采用预训练的参数,第八层采用均值为0,方差为0.01的高斯随机初始化;卷积层的学习率、前两层的全连接和最后一层全连接的学习率分别为:0.001、0.002和0.01,之所有选用不同的学习率,原因有二:其一是卷积层学习是低层特征,其二是全连接成学习的是特定的任务的特征。
这两步的示意图:
3、Hypotheses-?ne-tuning(H-FT)
基于hypothesis(第一步中得到的)的fine-tuning,每张图像的hypotheses分别输入到I-FT得到的CNN模型当中,示意图如下:
注意两点:
A、对每个hypothesis得到的c维prediction进行融合,采用max-pooling的方法得到c维预测向量,在降融合后的c维预测向量输入到一个c维的softmax层中(不理解的地方:为什么得到的c维预测向量还要输入到softmax中,也可以直接把这个c维求误差不就 可以了嘛),采用与I-FT中相同误差计算方式
B、同样采用不用的学习率
4、Multi-label Classi?cation for Test Image
测试阶段和H-FT的过程类似,只是为了提高精度,作者每张图像的10个聚类中选择的top50,获得了不错的效果。
五、实验结果
在VOC所标签数据库上面取得了做好的实验结果,并且尝试了和别的方法的结合,识别率更是有了很大的提升。
六、总结
个人本文主要贡献贡献在于将前人的研究成果进行了很好的融合,建立起一个精确的多标签识别的框架,并且取得了很好的结果。
CNN: Single-label to Multi-label,布布扣,bubuko.com
CNN: Single-label to Multi-label
原文地址:http://blog.csdn.net/woyaopojie1990/article/details/38536207