首页 炼丹房 帖子详情
目标检测算法有哪些
收藏
快速回复
炼丹房 问答学习资料新手上路 1082 0
目标检测算法有哪些
收藏
快速回复
炼丹房 问答学习资料新手上路 1082 0

目标检测是计算机视觉领域中的一个重要研究方向,也是其他复杂视觉任务的基础。 本文将介绍三种经典的目标检测算法,从R-CNN到Fast R-CNN,最后到YOLO算法。

1、R-CNN
R-CNN(Region with CNN Feature)2014年提出,在此之前都是传统的目标检测算法,人为定义特征进行检测,进入了瓶颈期,进步缓慢,但是R-CNN出来之后将目标检测领域的准确率至少提高了30%,是第一个成功将深度学习应用到目标检测上的算法。R-CNN基于卷积神经网络(CNN),线性回归,和支持向量机(SVM)等算法,实现目标检测技术。 R-CNN算法流程可分为三个步骤

一张图像生成1k~2k个候选区域(使用Selective Search方法)。找出所有潜在可能包含目标的区域;运行速度需要相对较快;比如, Selective Search在CPU上仅需要运行几秒钟就可以产生2000个候选区域。
对每个候选区域,使用神经网络抽取特征,特征送入每一类的SVM分类器,判别是否属于该类。
使用回归器精细修正预测框的位置,例如对于每个框,回归器预测其与真实框的距离差距(左上角与右下角点坐标)。

从它的算法流程可以看出R-CNN具有以下缺点

测试速度慢;
训练速度慢,过程极其繁琐;
训练所需空间大。

 

2、Fast R-CNN
Fast R-CNN只用一个特征提取网络对图片进行特征提取,然后在提取的特征图上找到感兴趣区域,并直接使用该特征图上的感兴趣区域进行分类与偏差回归。如果在特征图上找到了目标,那么我们可以根据卷积网络的变换,把特征图上的边界框反向映射回原图的坐标。 对比R-CNN我们可以看到,R-CNN对于图像中每一个感兴趣区域都进行了CNN特征提取,而Fast R-CNN只用CNN网络做了一次特征提取。如果区域建议有1k个,那么Fast R-CNN将加速1000倍!(对比R-CNN)

 

3、YOLO算法
在我们Fast R-CNN是有区域建议(ROI)的,因此Fast R-CNN是一个二阶段的算法,而YOLO是一个一阶段的算法,取消了区域建议这一步,直接将图像等分,生成候选框,然后对每个框进行类别预测、边界框回归以及置信度分数预测。YOLO的最大特点是预测速度很快,可以做到实时的目标检测,而且版本发展迭代非常快。因为没有区域建议,精度要差于Fast R-CNN,这里只用最原始的YOLO比较。

 

0
收藏
回复
在@后输入用户全名并按空格结束,可艾特全站任一用户