目标检测算法分类

版权声明:@抛物线 https://blog.csdn.net/qq_28513801/article/details/90142185
 两步走的目标检测:先进行区域推荐,而后进行目标分类

 代表:R-CNN、SPP-net、Fast R-CNN、Faster R-CNN
 端到端的目标检测:采用一个网络一步到位

 代表:YOLO、SSD

在这里插入图片描述

 先来回归下分类的原理,这是一个常见的CNN组成图,输入一张图片,经过其中卷积、激活、池化相关层,最后加入全连接层达到分类概率的效果.

在这里插入图片描述

 分类的损失与优化
在训练的时候需要计算每个样本的损失,那么CNN做分类的时候使用softmax函数计算结果,损失为交叉熵损失

在这里插入图片描述\

常见的CNN模型
在这里插入图片描述

 对于目标检测来说不仅仅是分类这样简单的一个图片输出一个结果,而且还需要输出图片中目标的位置信息,所以从分类到检测,如下图标记了过程:

1.分类
在这里插入图片描述

2.分类+定位(只有一个对象的时候)
在这里插入图片描述

检测的任务
分类:
N个类别
输入:图片
输出:类别标签
评估指标:Accuracy
在这里插入图片描述

定位:
N个类别
输入:图片
输出:物体的位置坐标
主要评估指标:IOU

在这里插入图片描述

其中我们得出来的(x,y,w,h)有一个专业的名词,叫做bounding box(bbox).

两种Bounding box名称

在目标检测当中,对bbox主要由两种类别。

Ground-truth bounding box:图片当中真实标记的框
Predicted bounding box:预测的时候标记的框

在这里插入图片描述

一般在目标检测当中,我们预测的框有可能很多个,真实框GT也有很多个。

检测的评价指标

在这里插入图片描述

IoU(交并比)
两个区域的重叠程度overlap:侯选区域和标定区域的IoU值

在这里插入图片描述

 在分类的时候我们直接输出各个类别的概率,如果再加上定位的话,我们可以考虑在网络的最后输出加上位置信息

这是回归位置
增加一个全连接层,即为FC1、FC2

FC1:作为类别的输出

FC2:作为这个物体位置数值的输出

在这里插入图片描述

假设有10个类别,输出[p1,p2,p3,…,p10],然后输出这一个对象的四个位置信息[x,y,w,h]。同理知道要网络输出什么,如果衡量整个网络的损失

对于分类的概率,还是使用交叉熵损失
位置信息具体的数值,可使用MSE均方误差损失(L2损失)
如下图所示:
在这里插入图片描述

位置数值的处理:

 对于输出的位置信息是四个比较大的像素大小值,在回归的时候不适合。目前统一的做法是,每个位置除以图片本身像素大小。

 假设以中心坐标方式,那么x = x/x_image,y/y_image, w/x_image,h/y_image,也就是这几个点最后都变成了0~1之间的值。

猜你喜欢

转载自blog.csdn.net/qq_28513801/article/details/90142185