IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> YOLO V4论文笔记 -> 正文阅读

[人工智能]YOLO V4论文笔记

1、backbone 是指用于在imagenet数据集上预训练的结构,用于提取图片特征。用于GPU:vgg,resnet,densenet;用于CPU:squeezeNet,mobilenet,shuffleNet
2、head 是指用于预测类别和bbox的结构。
3、neck 是指在backbone与head之间插入的一些层,用于从不同的stages提取图片特征。通常由bottom-up paths和top-down paths组成,像FPN,Path Aggregation Network(PAN),BiFPN和NAS-FPN等

请添加图片描述

bag of freebies

定义:只是改变了训练技巧,或者只是增加了训练时间的措施,像:数据增强:包括翻转,裁剪等,也包含遮挡、擦除等 ;损失函数;正则化等

1、dropblock请添加图片描述

Focal Loss

请添加图片描述

CIOU损失

smoothL1损失是将坐标的四个点分别计算L1损失,而不考虑他们之间的关系,基于IOU损失的迭代:IOU损失=>GIOU损失=>DIOU损失=>CIOU损失

Bag of specials

定义:增加了模型预测的时间,但是加大地增加了准确率。

1、SAM

注意力机制请添加图片描述

2、激活函数

relu、swish、mish等

3、NMS

nms,soft nms(不是直接将重叠度高的bbox去掉,而是将该bbox的的score根据一个权重函数将其减小)

CSPDarknet

在这里插入图片描述
cspnet是将将feature map拆成两个部分,一部分进行卷积操作,另一部分和上一部分卷积操作的结果进行concatenate。因此它可以与向resnet,densenet或者darknet进行合并。

SPP

Spatial Pyramid Pooling(SPP)解决的问题:在R-CNN网络中,输入CNNs网络的图像必须是固定大小的图像。也就是通过SS算法或者rpn提取出来的proposal regions尺寸是不统一的,经过一个warp变形操作,所有proposal regions的尺寸都变成一致。然后再输入到CNN网络中。图像的多种多样的尺寸带来的问题是让图像看起来很不自然,可能会降低识别精度。

SPP的做法是在卷积层后增加一个SPP layer,spp layer将features map拉成要给固定长度的feature vector。然后将feature vector输入到fully-connected layers中。SPP的结构如下所示:
在这里插入图片描述

SPP这样做有两个优点:(i)解决的proposal regions尺寸问题;(ii)先计算出feature maps,在表示每个proposal region时候特征图的结果可以共享,节约计算时间。

PAN

YOLOv4中采用FPN与PAN相结合的结构,和Yolov3的FPN层不同,Yolov4在FPN层的后面还添加了一个自底向上的特征金字塔。这样结合操作,FPN层自顶向下传达强语义特征,而特征金字塔则自底向上传达强定位特征,两两联手,从不同的主干层对不同的检测层进行参数聚合。

如下图中所示,FPN是自顶向下,将高层的强语义特征传递下来,对整个金字塔进行增强,不过只增强了语义信息,对定位信息没有传递,而本文就是针对这一点,在FPN的后面添加一个自底向上的金字塔,可以说是很皮了。这样的操作是对FPN的补充,将低层的强定位特征传递上去。

我们都知道,深层的feature map携带有更强的语义特征,较弱的定位信息。而浅层的feature map携带有较强的位置信息,和较弱的语义特征。FPN就是把深层的语义特征传到浅层,从而增强多个尺度上的语义表达。而PAN则相反把浅层的定位信息传导到深层,增强多个尺度上的定位能力。
在这里插入图片描述

YOLOv4网络结构

在这里插入图片描述

CBM :Yolov4网络结构中的最小组件,由Conv+Bn+Mish激活函数三者组成。
CBL :由Conv+Bn+Leaky_relu激活函数三者组成。
Res unit :借鉴Resnet网络中的残差结构,让网络可以构建的更深。
CSPX :借鉴CSPNet网络结构,由卷积层和X个Res unint模块Concate组成。
SPP :采用1×1,5×5,9×9,13×13的最大池化的方式,进行多尺度融合。

每个CSPX中包含5+2*X个卷积层,因此整个主干网络Backbone中一共包含1+(5+2x1)+(5+2x2)+(5+2x8)+(5+2x8)+(5+2x4)=72。

核心内容

1、输入端 :这里指的创新主要是训练时对输入端的改进,主要包括Mosaic数据增强、cmBN、SAT自对抗训练
2、BackBone主干网络 :将各种新的方式结合起来,包括:CSPDarknet53、Mish激活函数、Dropblock
3、Neck :目标检测网络在BackBone和最后的输出层之间往往会插入一些层,比如Yolov4中的SPP模块、FPN+PAN结构
4、Prediction :输出层的锚框机制和Yolov3相同,主要改进的是训练时的损失函数CIOU_Loss,以及预测框筛选的nms变为DIOU_nms

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-11-12 19:35:31  更:2021-11-12 19:36:17 
 
开发: 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/27 6:42:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码