首页 > 代码库 > 『cs231n』图像定位与检测(下,待续)

『cs231n』图像定位与检测(下,待续)

图像检测原理

定义:

给出一张图片和几个类别,定位出图片中这些类所有的实例。

 

思路分析:回归vs分类

 

技术分享

由于输出数目不定,所以不能简单的把检测任务像定位任务一样归化为回归任务(检测任务会导致回归层神经元数目是不确定的)

 

技术分享

技术分享

 

在机器学习中,分类和回归是解决所有问题的两种基本思路,所以我们尝试用分类的思想分析问题。

 

技术分享

思路是将所有可能分类的区域送入网络

问题是图片数量太多

直观的解决思路是换个速度快的电脑... ...

实际上新电脑还是不够快... ...

 

技术分享

 那就只查看一些可能的区域(预处理)

 

Region Proposals:解决分类输入的问题 

技术分享

可以理解为一种不可知目标检测器,它不关心目标的具体类别,也并不精确,但是可以快速检测出大量选区。

它会寻找整体相似的结构,比如上面的狗被视为一大块白色,眼睛是个黑色小块之类。

 

技术分享

Selective Search是Region Proposals的一个经典实现,其原理就是:

  1. 把具有相似颜色和纹理的相邻像素进行合并,形成小区域
  2. 重复的把小区域合并成大区域
  3. 根据不同尺度区域的形状绘制成框 

 

技术分享

这里评估了各种Region Proposals方法,老师推荐EdgeBoxes方法。

 

图像检测实现

RCNN

 

RCNN原理

技术分享

RCNN整合了图像检测原理中提到的Region Proposals,用于提取特征的卷积神经网络,用于绘制框的回归头,用于分类的SVM分类器,最终实现了检测任务。

 

RCNN实践流程

技术分享

训练或下载一个卷积分类模型(比如AlexNet就行)。

 

技术分享

Fine-tune模型:

  • 最后一层调整为适合自己的类别(分类数量+背景类别1)
  • 注意这里仍然是传统的分类训练

 

 技术分享

 

 保存样本图的特征:

  • 运行Region Proposals于所有待检测图上
  • 将选区裁剪为CNN输入大小,使用上一步的模型进行向前传播,保存第五池化层的特征(AlexNet为例,实际就是保存第一全连接层的输入特征)

 

技术分享

 

将上面的特征连同标签作为样本训练SVM分类器。

 

 技术分享



『cs231n』图像定位与检测(下,待续)