常见目标检测算法大汇总

描述

第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 借鉴了滑动窗口思想,采用对区域进行识别的方案

算法

 

算法

 

算法

 

算法

 

算法

 

算法

第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 汇总比较

算法

审核编辑 :李倩

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分