| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 从R-CNN到Faster-RCNN再到YOLOV5,目标检测网络发展概述 -> 正文阅读 |
|
[人工智能]从R-CNN到Faster-RCNN再到YOLOV5,目标检测网络发展概述 |
R-CNN?R-CNN由Ross Girshick于2014年提出,R-CNN首先通过选择性搜索算法Selective Search从一组对象候选框中选择可能出现的对象框,然后将这些选择出来的对象框中的图像resize到某一固定尺寸的图像,并喂入到CNN模型(经过在ImageNet数据集上训练过的CNN模型,如AlexNet)提取特征,最后将提取出的特征送入到SVM分类器来预测该对象框中的图像是否存在待检测目标,并进一步预测该检测目标具体属于哪一类。 虽然R-CNN算法取得了很大进展,但缺点也很明显:重叠框(一张图片大2000多个候选框)特征的冗余计算使得整个网络的检测速度变得很慢(使用GPU的情况下检测一张图片大约需要14S)。 为了减少大量重叠框带来的冗余计算,K.He等人提出了SPPNet。 SPPNetSPPNet 提出了一种空间金字塔池化层(Spatial Pyramid Pooling Layer, SPP)。它的主要思路是对于一副图像分成若干尺度的图像块(比如一副图像分成1份,4份,8份等),然后对每一块提取的特征融合在一起,从而兼顾多个尺度的特征。SPP使得网络在全连接层之前能生成固定尺度的特征表示,而不管输入图片尺寸如何。当使用SPPNet网络用于目标检测时,整个图像只需计算一次即可生成相应特征图,不管候选框尺寸如何,经过SPP之后,都能生成固定尺寸的特征表示图,这避免了卷积特征图的重复计算。 相比于RCNN算法,SPPNet在Pascal-07数据集上不牺牲检测精度(VOC-07, MAP=59.2%)的情况下,推理速度提高了20多倍。 为了解决以上存在的一些不足,2015年R.Girshick等人提出Fast RCNN Fast RCNNFast RCNN 网络是RCNN和SPPNet的改进版,该网络使得我们可以在相同的网络配置下同时训练一个检测器和边框回归器。该网络首先输入图像,图像被传递到CNN中提取特征,并返回感兴趣的区域RO1,之后再RO1上运用RO池化层以保证每个区域的尺寸相同,最后这些区域的特征被传递到全连接层的网络中进行分类,并用Softmaxi和线性回归层同时返回边界框。 Fast RCNN 在VOC-07数据集上将检测精度MAP从58.5%提高到70.0%,检测速度比RCNN提高了200倍。 Fast RCNN 仍然选用选择性搜索算法来寻找感兴趣的区域,这一过程通常较慢,与RCNN不同的是,Fast RCNN处理一张图片大约需要2秒,但是在大型真实数据集上,这种速度仍然不够理想。那么问题来了:“我们可以使用CNN模型来直接生成候选框吗?",基于此,Faster RCNN的提出完美回答这一问题。 Faster RCNNFaster RCNN 是第一个端到端,最接近于实时性能的深度学习检测算法,该网络的主要创新点就是提出了区域选择网络用于生成候选框,能极大提升检测框的生成速度。该网络首先输入图像到卷积网络中,生成该图像的特征映射。在特征映射上应用Region Poposal Network,返回object proposals和相应分数。应用Rol池化层,将所有proposals修正到同样尺寸。最后,将proposals传递到完全连接层,生成目标物体的边界框。 虽然Faster RCNN的精度更高,速度更快,也非常接近于实时性能,但它在后续的检测阶段中仍存在一些计算冗余;除此之外,如果IOU阈值设置的低,会引起噪声检测的问题,如果IOU设置的高,则会引起过拟合。 YOLOV1? 网络架构将输入的图像分为S*S的格子,对于每个格子为中心给出两个先验框,对于置信度高的格子(即位于物体中心的格子)通过回归任务将两个先验框调整至合适的大小,然后选择IOU指标较大的框作为预测结果。
注:关于?7×7×30的预测结果,是指将图像分为7*7的网格,同时在30中,1~5代表第一个先验框的(x,y,w,h)以及置信度c,6~10代表第二个先验框,11~30代表对应20个类别的预测概率。 总的来说,将网格数量定义为S*S,定义B个先验框,预测C个类别,那么输出结果即为S×S×(5×B+C)的矩阵向量 损失计算损失函数主要分为三部分:坐标预测损失、置信度预测损失、类别预测损失。 ?特点优点:
缺点:
YOLOV2YOLOv2采用Darknet-19 作为特征提取网络,Darknet-19 的整体结构如下: ?Darknet-19
YOLO v2使用DarkNet19作为特征提取网络,该网络比YOLO v2所使用的VGG-16要更快。 特点1、在卷积或池化之后,激活函数之前,对每个数据输出进行标准化。
2、引入 Anchor Box 机制:在YOLOv1中是直接对边界框的位置(x, y, w, h)进行预测,这会导致网络在前期训练时非常困难,很难收敛。YOLOv2引入了 Anchors box 机制,希望通过提前筛选得到的具有代表性先验框Anchors,使得网络在训练时更容易收敛。 3、Convolution With Anchor Boxes:YOLOv1 有一个致命的缺陷就是:一张图片被分成7×7的网格,一个网格只能预测一个类,当一个网格中同时出现多个类时,就无法检测出所有类。针对这个问题,YOLOv2做出了相应的改进:
4、使用聚类方法选择Anchors:YOLOv2 使用 K-means 聚类方法得到 Anchor Box 的大小,选择具有代表性的尺寸的Anchor Box进行一开始的初始化。 5、Fine-Grained Features:细粒度特征,可理解为不同层之间的特征融合。YOLOv2通过添加一个Passthrough Layer,把高分辨率的浅层特征连接到低分辨率的深层特征(把特征堆积在不同Channel中)而后进行融合和检测,以此来提高对小目标的检测能力。 6、【不足】YOLO v2算法只有一条检测分支,且该网络缺乏对多尺度上下文信息的捕获,所 YOLOV3YOLOv3 借助残差网络的思想,YOLOv3 将原来的 darknet-19 改进为darknet-53。其中darknet-53主要由1×1和3×3的卷积层组成,每个卷积层之后包含一个批量归一化层和一个Leaky ReLU,加入这两个部分的目的是为了防止过拟合。卷积层、批量归一化层以及Leaky ReLU共同组成Darknet-53中的基本卷积单元DBL。因为在Darknet-53中共包含53个这样的DBL,所以称其为Darknet-53。 与darknet-19对比可知,darknet-53主要做了如下改进:
? 结构特点
YOLOV4
YOLO v4在输入端,引入了Mosaic数据增强、cmBN、SAT自对抗训练 特点与其它先进的检测器相比,对于同样的精度,YOLOv4更快(FPS);对于同样的速度,YOLOv4更准(AP)。 YOLOV5YOLOv5官方代码中,一共给出了5个版本,分别是 YOLOv5n、YOLOv5s、YOLOv5m、YOLOv5l、YOLO5x 五个模型。 ? Yolov5s网络是Yolov5系列中深度最小,特征图的宽度最小的网络。后面的3种都是在此基础上不断加深,不断加宽。YOLOv5s 和YOLOv4一样,对输入的图像进行Mosaic数据增强。 骨干网路部分主要采用的是:Focus结构、CSP结构。其中 Focus 结构在YOLOv1-YOLOv4中没有引入,作者将 Focus 结构引入了YOLOv5,用于直接处理输入的图片。 在网络的颈部,采用的是:FPN+PAN结构,进行丰富的特征融合,这一部分和YOLOv4的结构相同。 对于网络的输出,遵循YOLO系列的一贯做法,采用的是耦合的Head。并且和YOLOv3、YOLOv4类似,采用了三个不同的输出Head,进行多尺度预测。 Yolov5的作者将获取数据集的最佳anchors这一步骤嵌入到整体代码中,每次训练时,自适应的计算不同训练集中的最佳锚框值。 YOLOv5为了避免将原图直接resize成统一大小,造成目标变形,采用了灰度填充的方式统一输入尺寸。 YOLOv5定位部分的损失函数使用了GIOU函数。 参考文献 YOLO系列算法精讲:从yolov1至yolov5的进阶之路(2万字超全整理) |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 22:31:44- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |