计算机系统应用教程网站

网站首页 > 技术文章 正文

什么是目标检测算法?自动驾驶核心支持算法

btikc 2024-08-29 12:21:20 技术文章 18 ℃ 0 评论

目标检测的应用领域

目标检测就是在图像或者视频中预先标记好的目标,利用计算机图像处理技术对目标进行实时跟踪.目标检测技术在自动驾驶领域、安防领域、医疗影像领域等方面都具有广泛的应用价值。

自动驾驶中的目标分割检测是指识别和理解车辆周围环境中的不同物体,并将其分割成不同的类别。然而,算法本身是具有识别概率的,这个概率无论多么接近100%,但是永远不能等于100%,面临复杂路况、恶劣天气、周围车辆人为操作失误,自动驾驶就更加难以紧急处理。

更重要的是,自动驾驶难以在法律层面进行问责,如果是对车企厂商问责,最多是民事赔偿。而且国内都是辅助驾驶,使用时都要签署免责声明。

但是,目标检测算法还是要生生不息,不断进化的,期望有一天可以成熟的在生活中广泛应用。

目标检测主要关注点

1、什么类别物体

2、物体的位置

3、置信度

检测到物体后,使用最小外接矩形框选上。

  • 两步走的目标检测:先进行区域推荐,而后进行目标分类
    • 代表:R-CNN、SPP-net、Fast R-CNN、Faster R-CNN
  • 端到端的目标检测:采用一个网络一步到位
    • 代表:YOLO、SSD

分类原理,输入一张图片,经过其中卷积、激活、池化相关层,最后加入全连接层达到分类概率的效果。

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

两阶段目标检测方法——RCNN

R-CNN依旧延续了传统目标检测思想,首先通过选择性搜索算法产生候选目标,然后通过卷积神经网络对每个候选框进行特征提取,最后对候选区域特征使用SVM和回归器进行分类和回归。

R-CNN促使目标检测领域迎来了新的浪潮,但R-CNN依旧存在一些问题,首先R-CNN是需要多阶段训练才可以完成,需要很长的训练时间;其次就是R-CNN涉及使用全连接层,因此要求输入尺寸固定,这也造成了精度的降低;最后候选区域需要缓存,占用空间比较大。

两阶段目标检测方法——SPPNet

SPP-Net这里依旧使用选择性搜索算法生成候选区域。这里特征图的提取是通过ConvNets在图像上一次性提取,然后使用候选框在特征图上进行获取,而不是类似R-CNN对每个候选区域进行特征提取,这样大大降低了模型的计算量。

与R-CNN架构类似,SPP-Net作为后处理层通过边界框回归来改善定位。SPP-Net依旧使用相同的多阶段训练过程,微调只在全连接层上进行。

SPP-Net比R-CNN模型快得多,具有相当的准确性。SPP-Net可以处理任何形状/宽高比的图像,从而避免由于输入扭曲而导致的目标变形。然而,由于其架构类似于R-CNN,它也同样具有R-CNN的缺点,例如多阶段训练、计算量大和训练时间长等问题。

R-CNN或SPP-Net的主要问题之一是多阶段训练。Fast R-CNN通过创建一个端到端的训练系统解决了这个问题。Fast R-CNN将图像及其目标候选框作为输入。图像通过一组卷积层,并将目标候选框映射到获得的特征图。Fast R-CNN还将SPPNet中金字塔池化替换为RoI池化层。最后将得到的特征经过全连接层后送入分类层和一个边界框回归层。同时Fast R-CNN还将边界框回归损失从L2损失更改为Smooth-L1损失以获得更好的性能,同时引入了多任务损失来训练网络。如图所示,还使用了当时最先进的预训练模型(如AlexNet、VGG和CaffeNet)的作为主干网络来提取特征。

Fast R-CNN的提出是为了提高速度,而准确性的提高是补充性的。Fast R-CNN简化了训练过程,移除了金字塔池化并引入了新的损失函数。在没有RPN的情况下目标检测器实现接近实时的检测速度,并且具有较高的准确性。

两阶段目标检测方法——Faster RCNN

尽管 Fast R-CNN 更接近实时目标检测,但它的区域候选框的生成仍然比较慢。Ren等人提出使用卷积网络作为Faster R-CNN 中的区域候选网络 (RPN),它采用任意输入图像并输出一组候选框。每个候选框都有一个相关的目标分数,该分数是用来描述目标的可能性。

如图所示,与ResNet、DPM、Fast RCNN等使用图像金字塔解决目标大小差异不同,RPN引入了Anchor框。使用了多个不同长宽比的边界框,并对它们进行回归以定位目标。

Faster R-CNN将检测精度提高了3%以上,并且推理时间大幅减少,Faster R-CNN修复了区域候选的瓶颈。在区域提候选中使用CNN的另一个优点是它可以学习生成更好的候选框,从而提高准确性。

单阶段目标检测方法——YOLO

两阶段检测器将目标检测作为一个分类问题来解决,一个模块提出一些候选框,网络将其分类为目标或背景。然而,YOLO将其重构为回归问题,直接将图像像素预测为目标及其边界框属性。

目前,YOLO应用是最为广泛的,后面我们会详细讲解YOLO 1-8的各个版本特性。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表