yolo系列理论补充(v4、v5、x)和瑞芯微

最近快要复试了,没怎么搞毕设,那就顺带补充补充理论知识,以后也用得上。

基本为搬运,主要写给自己看的。

​​​​​​神经网络学习小记录60——Pytorch GhostNet模型的复现详解_Bubbliiiing的博客-CSDN博客
Pytorch 搭建自己的Ghostnet-YoloV4目标检测平台(Bubbliiiing)-Ghostnet网络介绍与构建_哔哩哔哩_bilibili

YOLOv4

相比yolov3的改进点:

1、Darknet53->CSPDarknet53。

2、加强特征提取网络的改进,使用了SPP和PANet结构。

3、数据增强方面使用Mosaic数据增强。

4、使用CIOU作为回归LOSS

5、使用MISH激活函数

GhostNet-YOLOv4

首先学习基于pytorch的GhostNet-YOLOv4

由2020年华为新出的一个轻量级网络——GhostNet

使用ghost模块,代替普通3×3卷积(对比mobilenet v1使用深度可分离卷积代替普通3×3卷积)

核心思想:用计算量更低的操作去生成这些冗余的特征图

先用1×1的卷积对输入特征层进行一个通道数压缩。

yolo系列理论补充(v4、v5、x)和瑞芯微_第1张图片

yolo系列理论补充(v4、v5、x)和瑞芯微_第2张图片

在这里插入图片描述

当一张图片输入到Ghostnet当中时,我们首先进行一个16通道的普通1x1卷积块(卷积+标准化+激活函数)。

之后我们就开始Ghost Bottlenecks的堆叠了,利用Ghost Bottlenecks,我们最终获得了一个7x7x160的特征层(当输入是224x224x3的时候)。

然后我们会利用一个1x1的卷积块进行通道数的调整,此时我们可以获得一个7x7x960的特征层。

之后我们进行一次全局平均池化,然后再利用一个1x1的卷积块进行通道数的调整,获得一个1x1x1280的特征层。

然后平铺后进行全连接就可以进行分类了。
yolo系列理论补充(v4、v5、x)和瑞芯微_第3张图片

最后提一嘴,将ghost-net运用到yolov4实际上就是把骨干网络backbone换成ghost-net,后面是一样的去特征金字塔融合。

注意两点:一点是类似yolov3要去指明提供的3个特征层位置。第二点是权值文件(预处理)要更换。

YOLOv5

深入浅出Yolo系列之Yolov5核心基础知识完整讲解 - 知乎 (zhihu.com)

输入端:

Mosaic数据增强

自适应锚框计算

自适应图片缩放

backbone:

focus结构

CSP结构

Neck结构

输出端:

bounding box损失函数

nms非极大值抑制

yolox

特点:

1、使用了focus网络结构,对特征点信息进行划分,将特征点信息堆叠到通道上。

相当于压缩长宽,拓展通道。

2、使用了CSPnet网络结构,在残差模块堆叠的同时,构建大的残差边,经过少量处理直接连接到最后。

yolo系列理论补充(v4、v5、x)和瑞芯微_第4张图片

 数据增强:Mosaic数据增强

yolo系列理论补充(v4、v5、x)和瑞芯微_第5张图片

 yolo系列理论补充(v4、v5、x)和瑞芯微_第6张图片

yolo系列理论补充(v4、v5、x)和瑞芯微_第7张图片 yolo系列理论补充(v4、v5、x)和瑞芯微_第8张图片

瑞芯微

up主:想变强的小应同学

又看了点rv1126,因为快复试不能系统学习。

瑞芯微只有buildroot,没有完整系统的概念,只要300块左右,便宜。不能进行本地编译,只能交叉编译,也就是在电脑上编译,板子上运行。

SDK的prebuild目录里有gcc(用于交叉编译的工具链)

近期总结:

因为学长不在学校,不太能直接上手帮忙,只能想办法自己解决了。

目前pc端代码都还有办法解决。(b站bubbliiing)

关键是部署:

1、ubuntu当时编译库有些问题,考虑重装系统。

2、toolkit工具用来模型转换

3、b站想变强的小应同学

4、tengine推理引擎用于部署

5、autoDL用来训练模型

6、csdn好像有关于yolov5在rv1126上部署的文章

7、gcc工具链用于交叉编译

8、群里说不定有东西(至少有虚拟机,但是教程没有)

9、整体流程

暂时就是上面这些需要后续搞定的了。

你可能感兴趣的:(python)