目标检测常用基本算法综述

最近各大视频网站和媒体经常看到的就是特斯拉刹车失灵的事件,
今年1月份,位于北京市一名女子花了82万买了一辆新款的特斯拉轿车,提车刚刚满一个月发生了一起车祸事故,导致两车被撞。

据特斯拉车主陈女士称:“但是车辆发出提示音和前车保持车距太近,于是连续三次刹车后,车辆加速撞上了前面的车辆。”

这里很多人进行分析 有两个问题,一个是特斯拉刹车的方式和一般我们做啥车不一样,会识别人和障碍物,但是还要将信息传递给中央系统,然后做个分析后再进行判断是否刹车。一个是识别是否刹车的问题,有的人就拿国产的比亚迪或别的车来进行测试,发现对于假人特斯拉判断不敏感。这里其实就是一个目标检测的问题,能否更好分类出前方的障碍物是否是真人。

那么目标检测的问题是如何定义的呢

目标检测是在图片中对可变数量的目标进行查找和分类:
这里涉及几个问题,一个是目标是什么,有几个,如何进行分类,比如这里的人是目标,而且我们不能有遗漏。
另外是目标尺度的问题,也就是人的范围有多大个,然后就是如何抗干扰,因为还有各种环境,亮度,障碍物等等。


目标检测常用基本算法综述_第1张图片
image.png

相对于图像分类,目标检测更多是要去分类图片中的部分信息,另外更要有实时性要求。
目标检测是定位和分类目标,而目标分割更多需要定位后划分清目标的边缘,能和交叉的目标进行区分,特别是有交叠的地方。

和很多模式识别或机器学习问题一样,目标检测的方法也是从传统到深度学习的一个过程


目标检测常用基本算法综述_第2张图片
image.png

早期是基于传统的手工特征的检测算法,到2012年随着深度神经网络的发展,更多的使用深度学习来进行目标检测。直到现在比较成熟高效的就是YOLOv4,yolov5。

目标检测的基本流程


目标检测常用基本算法综述_第3张图片
image.png

可将目标检测算法分为两大部分,一个是传统机器学习的方式,一种是深度学习的
深度学习的又可以分为one-stage和two-stage两种方式

传统的目标检测算法主要思路是区域选择->特征提取->分类器
区域选择就是在环境内找到目标的候选区域
特征提取是图像处理的方式,需要进行标记,比如人脸的共有特征是眉毛,眼睛,鼻子等等
分类器就是传统机器学习的分类,比如svm ,adaboost

例如viola-jones,HOG+SVM,DPM

目前目标检测领域的深度学习方法主要分为两类:two stage 的目标检测算法;one stage 的目标检测算法。前者是先由算法生成一系列作为样本的候选框,再通过卷积神经网络进行样本分类;后者则不用产生候选框,直接将目标边框定位的问题转化为回归问题处理。正是由于两种方法的差异,在性能上也有不同,前者在检测准确率和定位精度上占优,后者在算法速度上占优。

目标检测常用基本算法综述_第4张图片
image.png

传统目标检测方法vs深度学习目标检测方法

传统目标检测方法 深度学习目标检测方法
手动设计特征 深度网络学习特征
滑动窗口 proposal或直接回归
传统分类器 深度网络
多步骤 端到端
准确度和实时性差 准确度高实时性好

你可能感兴趣的:(目标检测常用基本算法综述)