深度学习-对象定位和检测

在本章中,我们将学习使用卷积神经网络来定位和检测图像上的对象。
深度学习-对象定位和检测_第1张图片

• RCNN
• Fast RCNN
• Faster RCNN
• Yolo
• SSD

使用回归本地化对象
回归是关于返回一个数字而不是一个类,在我们的例子中,我们将返回与边界框相关的4个数字(x0,y0,width,height)。 使用图像和地面实况边界框训练该系统,并使用L2距离来计算预测的边界框和地面实况之间的损失。
深度学习-对象定位和检测_第2张图片

通常,要做的是在最后一个卷积层上附加另一个完全连接的层:

深度学习-对象定位和检测_第3张图片

一次仅适用于一个对象。
有些人在最后一个卷积(Overfeat)层之后附加回归部分,而另一些人在完全连接层(RCNN)之后附加。 两者都可以。
比较边界框预测精度
基本上,我们需要比较预测和地面真实情况之间的“相交相交”(ioU)是否大于某个阈值(例如> 0.5)

深度学习-对象定位和检测_第4张图片

神经网络
RCNN(区域+ CNN)是一种依赖外部区域建议系统的方法。RCNN的问题在于它永远不会变得很快,例如,训练网络的步骤如下:
1、接受预先训练的imagenet cnn(例如Alexnet)
2、用需要检测的对象+“ no-object”类重新训练最后一个完全连接的层
3、获取所有投标(=〜2000 p / image),调整它们的大小以匹配cnn输入,然后保存到磁盘。
4、训练SVM在对象和背景之间进行分类(每个类一个二进制SVM)
5、BB回归:训练线性回归分类器,该分类器将输出一些校正因子

深度学习-对象定位和检测_第5张图片

快速RCNN
快速RCNN方法从某些外部系统(选择性搜索)接收区域提议。 这些建议将发送到一个图层(Roi Pooling),该图层会将所有区域的数据大小调整为固定大小。 因为完全连接的层期望所有矢量的大小相同,所以需要执行此步骤:

深度学习-对象定位和检测_第6张图片

更快的RCNN:
深度学习-对象定位和检测_第7张图片

主要思想是使用最后(或更深)的转换层来推断区域提议。
Faster-RCNN由两个模块组成。
RPN(区域提案):基于深度卷积层给出一组矩形
Fast-RCNN Roi池化层:对每个提案进行分类,并完善提案位置。

区域提案网
在这里,我们以框图的方式介绍Faster RCNN的工作原理。
1、获得训练有素的(即imagenet)卷积神经网络
2、从最后一个(或深层)卷积层获取特征图
3、训练区域提议网络,该网络将确定图像上是否存在物体,并提议盒子位置
4、将结果提供给自定义(python)层
5、向ROI池化层(如Fast RCNN)提出建议
6、将所有投标调整为固定大小后,发送到完全连接的层以继续分类

深度学习-对象定位和检测_第8张图片
深度学习-对象定位和检测_第9张图片

你可能感兴趣的:(sdk)