计算机系统应用教程网站

网站首页 > 技术文章 正文

目标检测 - 常见目标检测算法大汇总

btikc 2024-09-03 11:18:27 技术文章 16 ℃ 0 评论

第1章 目标检测概述

目标检测是对图像分类任务的进一步加深,他不仅要识别出图片中各种类别的目标,还要把他们的位置找出来用矩形框框住。

在实际操作中,通常先找出目标的位置(通过坐标轴方框标注出来),然后在对标注的目标进行分类,如下图所示:

目标检测是深度学习在计算机视觉领域一个非常重要的应用,从本节开始,我们将陆续开始目标检测的学习。

根据算法的流程可以将目标检测算法分为两种流派:

(1)以Faster R-CNN为代表的Two-Stage算法:

它检测目标主要分为两个部分,

  • 通过专门模块去生成候选框,
  • 寻找前景以及调整边界框。

(2)以SSD、YOLO为代表的One-Stage算法

它是直接基于anchor直接进行分类以及调整边界框。

这两种方式各有各的特别,

Two-Stage很明显检测的精度要高一点,但是检测速度慢;

One-Stage放弃了高精度,但是换来了速度,速度比Two-Stage算法快很多。

接下来简单介绍几种常用的目标检测算法。

第2章 常见的Two-Stage算法

2.1 R-CNN

在过去的十多年时间里,传统的机器视觉领域,通常采用特征描述子来应对目标识别任务,这些特征描述子最常见的就是 SIFT 和 HOG.而 OpenCV 有现成的 API 可供大家实现相关的操作。

R-CNN(Region with CNN Feature)2014年提出,在此之前都是传统的目标检测算法,人为定义特征进行检测,进入了瓶颈期,进步缓慢,但是R-CNN出来之后将目标检测领域的准确率至少提高了30%。

2012 年 Krizhevsky 等人在 ImageNet 举办的 ILSVRC 目标识别挑战大赛中一战成名,豪夺当年的第一名,Top5 错误率 15%,而他们团队提出来的网络结构以第一作者 Alex Krizhevsky 名字命名,它就是 AlexNet。

因为 AlexNet 的出现,世人的目标识别的目光重回神经网络领域,以此为契机,不断涌出各种各样的网络比如 VGG、GoogleNet、ResNet 等等。

受 AlexNet 启发,R-CNN论文作者尝试将 AlexNet 在 ImageNet 目标识别的能力泛化到 PASCAL VOC 目标检测上面来。

R-CNN 借鉴了滑动窗口思想,采用对区域进行识别的方案。

2.2 Fast R-CNN

2.3 Faster R-CNN

第3章 常见的One-Stage算法

3.1 SSD

SSD是一种经典的One-Stage算法,它解决当时Faster R-CNN对小目标检测效果差和检测速度慢的问题。

SSD可以预测不用尺度的目标,它的网络有6个输出特征层。

使用Faster R-CNN在单GPU上大概每秒6、7张图片;

而使用SSD算法,同样在单GPU上它每秒能检测50 、60 张图片;

但相比之前使用了FPN的Faster R-CNN而言呢,SSD算法的检测精度要差很多。

3.2 YOLO

YOLO系列算法是目前使用最多的目标检测算法,它最大的特点就是检测速度快,而且现在检测精度也就是mAP也变高了,所以称为时下最热门的目标检测算法。

YOLO是在CVPR2016提出的一种目标检测算法,它一共有5个版本,YOLO v1到v3是同一个作者Joseph设计的,包括论文到算法结构,YOLO v4到v5是其他作者设计的,目前检测效果最好和使用最多的就是YOLO v5。

其核心思想是将目标检测转化为回归问题求解,并基于一个单独的end-to-end网络:完成从原始图像的输入到物体位置和类别的输出。


YOLO在进行预测时,会对图像进行全面地推理。

它一种统一的目标检测模型。我们的模型构建简单,可以直接在整张图像上进行训练。

第4章 汇总比较

4.1 汇总比较

————————————————

版权声明:本文为CSDN博主「文火冰糖的硅基工坊」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/HiWangWenBing/article/details/122115271

Tags:

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

欢迎 发表评论:

最近发表
标签列表