reference link: http://blog.csdn.net/hjimce/article/details/50187029
一、相关理论
本篇博文主要讲解2014年CVPR上的经典paper:《Rich feature hierarchies for Accurate Object Detection and Segmentation》,这篇文章的算法思想又被称之为:R-CNN(Regions with Convolutional Neural Network Features),是物体检测领域曾经获得state-of-art精度的经典文献。
这篇paper的思想,改变了物体检测的总思路,现在好多文献关于深度学习的物体检测的算法,基本上都是继承了这个思想,比如:《Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition》,所以学习经典算法,有助于我们以后搞物体检测的其它paper。
之前刚开始接触物体检测算法的时候,老是分不清deep learning中,物体检测和图片分类算法上的区别,弄得我头好晕,终于在这篇paper上,看到了解释。物体检测和图片分类的区别:
图片分类不需要定位,而物体检测需要定位出物体的位置,也就是相当于把物体的bbox检测出来,还有一点物体检测是要把所有图片中的物体都识别定位出来。
(笔记后感by ym:
个人理解testing整个流程即:
1.先将region通过ss检测出来(2k+),然后根据cnn提取的region特征丢入svm进行分类(compute score),得到的就是一个region-bbox以及对应的类别
2.再利用(IoU->nms)得到具体的框,目的防止泛滥,为了精确bbox.
3.再根据pool5 feature做了个bbox regression来decrease location error.
4.其中training的trick则为hnm+finetuning)
拓展知识: Selective Search
因为研究RCNN的需要,在这里看一下Selective Search的操作流程
reference link:http://koen.me/research/pub/uijlings-ijcv2013-draft.pdf
SS遵循如下的原则:
- 图片中目标的尺寸不一,边缘清晰程度也不一样,选择性搜索应该能够将所有的情况都考虑进去,如下图,最好的办法就是使用分层算法来实现
- 区域合并的算法应该多元化。初始的小的图像区域(Graph-Based Image Segmentation得到)可能是根据颜色、纹理、部分封闭等原因得到的,一个单一的策略很难能适应所有的情况将小区域合并在一起,因此需要有一个多元化的策略集,能够在不同场合都有效。
- 能够快速计算。
二、基础知识
1、有监督预训练与无监督预训练
(1)无监督预训练(Unsupervised pre-training)
无监督预训练这个名词我们比较熟悉,栈式自编码、DBM采用的都是采用无监督预训练。因为预训练阶段的样本不需要人工标注数据,所以就叫做无监督预训练。
(2)有监督预训练(Supervised pre-training)
所谓的有监督预训练,我们也可以把它称之为迁移学习。比如你已经有一大堆标注好的人脸年龄分类的图片数据,训练了一个CNN,用于人脸的年龄识别。
然后当你遇到新的项目任务是: