深度学习-物体检测系统

图像分类,检测及分割是计算机视觉领域的三大任务。

分类和检测比较容易理解,图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。

对检测任务现在是分one stage和two stage,两者区别是前者不需要生成候选框,直接对目标定位,把定位问题转化为回归问题处理,后者是先生成了一系列样本的候选框,再通过卷积进行分类。就现在看来深度学习结合two stage比较多,也就是先生成候选框。

性能指标:

1、iou,介于0到1之间,iou值越高越好,当预测框与真实框大于某个阈值,才认定这个框为真阳性,反之就是假阳性,在深度学习检测中,经常认为是大于一个值为物体,小于值是背景。

它定义了两个bounding box的重叠度,也就真实框和预测框的

深度学习-物体检测系统_第1张图片

公式如下:

分子为图像交集,分母为图像并集

下面是py代码

深度学习-物体检测系统_第2张图片

二分类AP,是基于precision-recall曲线计算,分别是精确率和召回率。

现在比如有A和B两个目标

True positives(tp) : A的图片被正确的识别成了A,有tp个。 
True negatives(tn): B的图片没有被识别出来,系统正确地认为它们是B,有tn个。 
False positives(fp): B的图片被错误地识别成了A,有fp个。 
False negatives(fn): A的图片没有被识别出来,系统错误地认为它们是B,有fn个。

则True positives所占的比率:

n代表的是(True positives + False positives)

Recall 是被正确识别出来的飞机个数与测试集中所有飞机的个数的比值: 

分母是(True positives + False negatives)

通过二维图显示出分类器在Precision与Recall之间的权衡。 

取各个类别的AP的平均值,就得到一个综合指标mAP(Mean Average Precision),mAP指标可以避免某些类别比较极端化而弱化其它类别的性能这个问题。

下面开始从rcnn介绍开始。

1、rcnn,2014年加州伯里克分校提出的rcnn算法。

步骤先进行了区域的搜索,再对候选区域进行分类。

生成区域的方法用的是Selective search方法,这是一种启发式搜索算法,它先通过简单的区域划分算法将图片
划分成很多小区域,然后通过层级分组方法按照一定相似度合并它们,最后的剩下的就是候选区域
(region proposals),它们可能包含一个物体。

具体如下:

   比较好的方法是基于区域(region proposal)的方法。selective search就是其中之一。
Selective。就是通过像素之间的相似性,可以用灰度值的距离进行判断相似性。

1、然后生成了区域集R。

2、计算每个相邻区域集的相似度S,对相似度高的合并为新的R。

3、再从S中移除已经融合子集。

4、计算新的集和子集的相似度。

5、直到S为空。

RCNN

基于region proposal的目标检测。思路是先通过selective search方法的进行选出候选区域就是region proposal(先通过ss方法生成很多小区域,然后根据相似度合并,就是上面说的方法,最后剩下的就是候选区域)选出来的区域很可能是一个物体,所以RCNN生成了很多的候选区域,每个区域都resize为一个固定大小(227×227)送入到cnn模型中,最后得到一个4096—D的特征向量,把特征向量送入SVM进行分类,预测出候选区域都属于哪个类别的概率。Rcnn最后训练一个边界框回归模型,loss function用最小均方差训练,这里设P=(Px , Py , Pw, Ph)训练样本框和G= (Gx ,Gy,Gw,Gh)真实框,其中p是G的最大的iou 的样本,这里iou有个阈值,这里设置iou如果小于0.3作为背景,回归器定义为:

tx = (Gx-Px )/Pw, ty = (Gy-Py)/Ph
tw = log(Gw/Pw), th = log(Gh/Ph)
 

2、sppnet是为了解决图像分类中要求输入图片为固定大小的问题,因为在于cnn层提取的特征图最后要送到全连接层,全连接层是需要固定大小的,一般用resize,crop,wrap方法固定,但是会照成图像损失。现在可以用空间金字塔池化层spp解决问题,spp可以和rcnn结合。算法思想:假定cnn层得到了特征图为a×a,设定金字塔尺度为n×n,spp层采用一种滑动窗口池化,窗口大小为win_size = ⌈a/n⌉,步长为stride = [a/n],采用maxpooling,目的是将特征图均分为n×n,然后取出每个子区域的maxpooling,文中用了4×4,2×2,1×1的尺度,每个金字塔都可以得到一个特征,将他们送入全连接层即可。

3,faster rcnn,其中里面最重要的网络是rpn网络,它分两支,一个是分类fg or bg,一个是回归9个框和真实框。如下是整个faster rcnn

深度学习-物体检测系统_第3张图片

经过一个vgg,得到特征图,进入rpn,先进入一个3×3的卷积,后分两支,上面是分类,下面是回归。分类是为了判断出来fg,回归是为了框可以正确。

你可能感兴趣的:(人工智能)