简介
近期发现之前很多目标检测的论文都只是粗略的读了一遍,只把关键点过了一遍,现打算把论文再拿出来多读几遍,把论文中的一些思路和细节总结一遍。
首先从RCNN说起吧。
主要步骤
RCNN算法分为4个步骤
候选区域生成: 一张图像生成1K~2K个候选区域 (采用Selective Search 方法)
特征提取: 对每个候选区域,使用深度卷积网络提取特征 (CNN)
类别判断: 特征送入每一类的SVM 分类器,判别是否属于该类
位置精修: 使用回归器精细修正候选框位置
要点
1. Region Proposal 候选区位置选择
论文中提到了几种经典的方法, objectness, selective search, category-independent object proposals, constrained parametric min-cuts(CPMC), multi-scale combinatorial group 。
最后文章中采用了 selective search 的方法。由于现在这些方法基本都被 Region Proposal Network 取代了,所以暂时不做进一步调研。
2. CNN 特征提取
在这篇文章之前也有一些文章尝试使用 CNN 来提取特征用于检测任务, 如overfeat.
其他细节和分析
1. Visualizing learned features
第一层: capture oriented edges and opponent layers.
使用一个简单的非参数方法,将10 million个proposals根据单个单元的activations 进行排序,并采用非极大抑制,然后将期中top 16的proposal和acitvation 可视化出来进行观察。
结论: 网络学习到的表达是 class-tuned features togather with a distributed represenataion of shape, texture, color and material properties.
2. Ablation(消除) studies
performance layer by layer, without fine-tuning
直接使用pretrained model 在 PASCAL VOC 上提特征,并用于SVM的训练。
发现: 直接使用卷积层的特征比加上最后两层连接层的效果要好,尽管卷积层只占了6%的参数。这 告诉我们卷积层学到的图像特征更加general.
performance layer by layer with fine-tuning
- 提升很大
- fc6,7 层比pool5变化大,说明pool features 更加general.
- 进行fine-tuning之后最大的提升是来自于顶层,而非底层的特征提取器。
Ref:
- Rich feature hierarchies for accurate object detection adn semantic segmantaion.
- RCNN- 将CNN引入目标检测的开山之作。晓雷