论文,ppt,项目出处:http://www.ee.cuhk.edu.hk/~wlouyang/projects/imagenetDeepId/index.html
概述
从上图可以看出DeepID Net是在RCNN的流程上增加了更多的步骤进行完善。下面就一个一个来说咯。
Bounding box rejection
用来(调参)时候的提速,核心思想是认为negative里面有很多都是easy的,而我们要的是区分postive和hard neg就好了,所以可以过滤掉easy neg。
这里的easy neg的定义是在200类中,SVM得分都低于-1.1
Deep model training
模型预训练考虑了两点
- Clarifai模型比AlexNet要好(略废话)
- 从ImageNet的cls中预训练,比如在Imagenet的loc中做预训练(作者认为是cls的输入是image level,而loc和det都是object level)
Def Pooling Layer
引入deformable part的思想,在conv5后接入一个类似part filter的结构,并且在pooling时候引入了deformation的思想——相当于在max pooling上做了改进。
Sub-box features
相当于后处理的一步了,将bbox四等分后,寻找在object proposal中跟四分有较大overlap的部分,通过求ave和max来增强bbox的特征。
SVM-net
直接上hinge loss来替换原来RCNN中softmax后+SVM的训练结构。用来提速的。
Context modeling
用1kcls的score和200det的score拉成1200的长向量,利用其中的context信息来refine结果。
Multi-stage training
感觉类似boosting,用于训练多个fc来提升结果,大致流程是:
- 先训练第一个fc
- fix住conv和第一个fc,然后训练第二个fc
- 同时训练conv,第一个fc和第二个fc
- fixconv和第一个和第二个fc,训练第三个fc
- 同时训练conv,第一二三个fc
- …..