yolov4,yolov5(学习记录)

YOLOv5算法原理与网络结构 以 YOLOv5s为例,第一个CSP1中,使用了1个残差组件,因此是CSP1_1,在YOLOv5m中,增加了网络的深度,在第一个CSP1中,使用了2个残差组件,因此是CSP1_2,YOLOv5l中,同样的位置,则使用了3个残差组件,YOLOv5x中,使用了4个,其余CSP也是同样的原理,使用残差组件的个数如图5所示。第一,提高了数据集的复杂度:对多张图片,进行随机的缩放以及剪裁,之后再随机分布,进行拼接,使数据集得到极大地丰富,特别是进行随机缩放操作,可以增加许多小目标,训练得到的模型,鲁棒性会更好; 阅读详情

输入端创新

1、Mosaic数据增强

yolov4中使用的Mosaic是参考2019年底提出的CutMix数据增强的方式,但CutMix只使用了两张图片进行拼接,而Mosaic数据增强则采用了4张图片,随机缩放、随机剪裁、随机排布的方式进行拼接。

preview

这里首先要了解为什么要进行Mosaic数据增强呢?

在平时项目训练时,小目标的AP一般比中目标和大目标低很多。而Coco数据集中也包含大量的小目标,但比较麻烦的是小目标的分布并不均匀。(小目标的AP指的是识别的准确率吗??也就是小目标识别不准,为了解决这个问题吗) 

小目标的定义:

可以看到小目标的定义是目标框的长宽0×0~32×32之间的物体。

但在整体的数据集中,小、中、大目标的占比并不均衡。
如上表所示,Coco数据集中小目标占比达到41.4%,数量比中目标和大目标都要多。

但在所有的训练集图片中,只有52.3%的图片有小目标,而中目标和大目标的分布相对来说更加均匀一些。

针对这种状况,Yolov4的作者采用了Mosaic数据增强的方式。

主要有几个优点:

  1. 丰富数据集:随机使用4张图片,随机缩放,再随机分布进行拼接,大大丰富了检测数据集,特别是随机缩放增加了很多小目标,让网络的鲁棒性更好。
  2. 减少GPU:可能会有人说,随机缩放,普通的数据增强也可以做,但作者考虑到很多人可能只有一个GPU,因此Mosaic增强训练时,可以直接计算4张图片的数据,使得Mini-batch大小并不需要很大,一个GPU就可以达到比较好的效果。

此外,发现另一研究者的训练方式也值得借鉴,采用的数据增强和Mosaic比较类似,也是使用4张图片(不是随机分布),但训练计算loss时,采用“缺啥补啥”的思路:

如果上一个iteration中,小物体产生的loss不足(比如小于某一个阈值),则下一个iteration就用拼接图;否则就用正常图片训练,也很有意思。

参考链接:https://www.zhihu.com/question/3901

2、BackBone创新

(1)CSPDarknet53

CSPDarknet53是在yolov3主干网络Darknet53基础上,借鉴2019年CSPNet的经验,产生的Backbone结构,其中包含了5个CSP模块

preview

这里因为CSP模块比较长,不放到本处,大家也可以点击Yolov4的netron网络结构图,对比查看,一目了然。 

每个CSP模块前面的卷积核的大小都是3*3,stride=2,因此可以起到下采样的作用。

因为Backbone有5个CSP模块,输入图像是608*608,所以特征图变化的规律是:608->304->152->76->38->19

经过5次CSP模块后得到19*19大小的特征图。

而且作者只在Backbone中采用了Mish激活函数,网络后面仍然采用Leaky_relu激活函数。

我们再看看下作者为啥要参考2019年的CSPNet,采用CSP模块?

CSPNet论文地址:https://arxiv.org/pdf/1911.11929.pdf

CSPNet全称是Cross Stage Paritial Network,主要从网络结构设计的角度解决推理中计算量很大的问题。

CSPNet的作者认为推理计算过高的问题是由于网络优化中的梯度信息重复导致的。

因此采用CSP模块先将基础层的特征映射划分为两部分,然后通过跨阶段层次结构将它们合并,在减少了计算量的同时可以保证准确率。

因此Yolov4在主干网络Backbone采用CSPDarknet53网络结构,主要有三个方面的优点:

优点一:增强CNN的学习能力,使得在轻量化的同时保持准确性。

优点二:降低计算瓶颈

优点三:降低内存成本

(2)Mish激活函数

Mish激活函数是2019年下半年提出的激活函数

论文地址:https://arxiv.org/abs/1908.08681

和Leaky_relu激活函数的图形对比如下:

Yolov4作者实验测试时,使用CSPDarknet53网络在ImageNet数据集上做图像分类任务,发现使用了Mish激活函数的TOP-1和TOP-5的精度比没有使用时都略高一些。(什么是TOP-1和TOP-5精度)

因此在设计Yolov4目标检测任务时,主干网络Backbone还是使用Mish激活函数。

(3)Dropblock

Yolov4中使用的Dropblock,其实和常见网络中的Dropout功能类似,也是缓解过拟合的一种正则化方式。(Dropout是什么在好多地方见过了,有时间看看)

Dropblock在2018年提出,论文地址:https://arxiv.org/pdf/1810.12890.pdf

传统的Dropout很简单,一句话就可以说的清:随机删除减少神经元的数量,使网络变得更简单。

剩下的部分跳过,可以参考知乎江大白  大佬的博客:深入浅出Yolo系列之Yolov3&Yolov4&Yolov5&Yolox核心基础知识完整讲解 - 知乎

下面直接进入YOLOv5部分

二、YOLOv5 

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

1、自适应锚框计算

2、自适应图片缩放

在常用的目标检测算法中,不同的图片长宽都不相同,因此常用的方式是将原始图片统一缩放到一个标准尺寸,再送入检测网络中。

比如Yolo算法中常用416*416,608*608等尺寸,比如对下面800*600的图像进行缩放。

但Yolov5代码中对此进行了改进,也是Yolov5推理速度能够很快的一个不错的trick。

作者认为,在项目实际使用时,很多图片的长宽比不同,因此缩放填充后,两端的黑边大小都不同,而如果填充的比较多,则存在信息冗余,影响推理速度。

因此在Yolov5的代码中datasets.py的letterbox函数中进行了修改,对原始图像自适应的添加最少的黑边。

图像高度上两端的黑边变少了,在推理时,计算量也会减少,即目标检测速度会得到提升。

这种方式在之前github上Yolov3中也进行了讨论:https://github.com/ultralytics/yolov3/issues/232

在讨论中,通过这种简单的改进,推理速度得到了37%的提升,可以说效果很明显。

但是有的同学可能会有大大的问号??如何进行计算的呢?大白按照Yolov5中的思路详细的讲解一下,在datasets.py的letterbox函数中也有详细的代码。

第一步:计算缩放比例

原始缩放尺寸是416*416,都除以原始图像的尺寸后,可以得到0.52,和0.69两个缩放系数,选择小的缩放系数。

第二步:计算缩放后的尺寸 

原始图片的长宽都乘以最小的缩放系数0.52,宽变成了416,而高变成了312。

第三步:计算黑边填充数值

 下面省略了,这个技术其实对我不太重要,了解一下

3、Backbone

3.1 Focus结构

Focus结构,在Yolov3&Yolov4中并没有这个结构,其中比较关键是切片操作。

比如右图的切片示意图,4*4*3的图像切片后变成2*2*12的特征图。

以yolov5s的结构为例,原始608*608*3的图像输入Focus结构,采用切片操作,先变成304*304*12的特征图,再经过一次32个卷积核的卷积操作,最终变成304*304*32的特征图

需要注意的是:yolov4s的Focus结构最后使用了32个卷积核,而其他三种结构,使用的数量有所增加,先注意下,后面会讲解到四中结构的不同点。

3.2  CSP结构

yolov4网络结构中,借鉴了CSPNet的设计思路,在主干网络中设计了CSP结构。

yolov5与Yolov4的不同点在于,yolov4中只有主干网络使用了CSP结构,而yolov5中设计了两种CSP结构,以yolov5s网络为例,CSP1_X结构应用于Backbone主干网络,另一种CSP2_X结构则应用于Neck中。 

3.3  Neck

yolov4的Neck结构中,采用的都是普通的卷积操作。而yolov5的Neck结构中,采用借鉴CSPnet设计的CSP2结构,加强网络特征融合的能力

3.4  yolov5四种网络结构的不同点

yolov5代码中的四种网络,和之前的yolov3,yolov4的cfg文件不同,都是以yaml的形式来呈现。

而且四个文件的内容基本上都是一样的,只有最上方的depth_multiple和width_multiple两个参数不同 

3.4.1  四种结构的参数

(1)yolov5s.yaml

(2)Yolov5m.yaml

(3)Yolov5l.yaml

(4)Yolov5x.yaml

四种结构就是通过上面的两个参数,来控制网络的深度和宽度。其中depth_multiple控制网络的深度,width_multiple控制网络的深度。

3.4.2  yolo5网络结构 

四种结构的yaml文件中,下方的网络架构代码都是一样的。

为了便于讲解,将其中的Backbone部分提出来,讲解如何控制网络的宽度和深度,yaml文件中的Head部分也是同样的原理

在对网络结构进行解析时,Yolo.py中下方的这一行代码将四种结构的depth_multiple,width_multiple提取出,赋值给gd,gw。后面主要对gd,gw这两个参数进行详解。

下面再细致剖析下,看是如何控制每种结构,深度和宽度的。

3.4.3  yolov5四种网络的深度

(1)不同的网络深度

在上图中,画了两种CSP结构,CSP1和CPS2,其中CSP1结构主要应用于Backbone中,CSP2结构主要应用于Neck中。

需要注意的是,四种网络结构中每个CPS结构的深度都是不同的。

a.以yolov5s为例,第一个CSP1中,使用了1个残差组件,一次是CSP1_1。而在yolov5m中,则增加了网络的深度,咋第一个CSP1中,使用了2个残差组件,因此是CSP1_2        。

而yolov5l中,同样的位置,则使用了3个残差组件,yolov5x中,使用了4个残差组件。

其余的第二个CSP1和第三个CSP1也是同样的原理。

b.在第二种CSP2结构中也是同样的方式,以第一个CSP2结构为例,yolov5s组件中使用了2*X=2*1=2个卷积,因为X=1所以使用了1组卷积,因此是CSP2_1。

而yolov5m中使用了2组,yolov5l中使用了3组,yolov5x中使用了4组

yolov5中,网络的不断加深,也在不断增加网络特征提取和特征融合的能力。

(2)控制深度的代码

控制四种网络结构的核心代码是yolo.py中下面的代码,存在两个变量,n和gd。

我们再将n和gd代入计算,看每种网络的变化结果。

(其实上面这个代码的具体功能没看明白) 

(3)验证控制深度的有效性

我们选择最小的yolov5.yaml和中间的yolov5l.yaml两个网络结构,将gd(depth_multiple)系数带入,看是否正确

a.yolov5s.yaml

其中depth_multiple=0.33,即gd=0.33,而n则由上面红色框中的信息获得

以上面网络框图中的第一个CSP1为例,即上面的第一个红色框。n等于第二个数值3.

而gd=0.33,带入(2)中的计算代码,结果n=1。因此第一个CSP1结构内只有1个残差组件,即CSP1_1.

第二个CSP1结构中,n等于第二个数值9,而gd=0.33,带入(2)计算,结果n=3,因此第二个CSP1结构中有3个残差组件,即CSP1_3.

第三个CSP1结构也是同理

b.yolov5l.yaml

其中depth_multiple=1,即gd=1

和上面的计算方式相同,第一个CSP1结构中,n=3,带入代码中,结果n=3,因此为CSP1_3

下面第二个CPS1和第三个CSP1结构都是同样的原理。

3.4.4  yolov5四种网络的宽度 

(1)不同网路的宽度:

如上图表格中所示,四种yolov5结构在不同阶段的卷积核的数量都是不一样的,因此也直接影响卷积后特征图的第三维度,即厚度,这里表示为网络的宽度。

a.以yolov5s结构为例,第一个Focus结构中,最后卷积操作时,卷积核的数量是32个,因此经过Focus结构,特征图的大小变成304*304*32

而yolov5m的Focus结构中的卷积操作使用了48个卷积核,因此Focus结构后的特征图变成304*304*48。yolov5l,yolov5x也是同样的原理。

b.第二个卷积操作时,yolov5s使用了64个卷积核,因此得到的特征图是152*152*64。而Yolov5m使用96个卷积核,因此得到的特征图是152*152*96.yolov5l,yolov5x也是同理。

c.后面三个卷积下采样操作也是同样的原理,这里不过多讲解。

四种不同结构的卷积核的数量不同,这也直接影响网络中,比如CSP1,CSP2等结构,以及各个普通卷积,卷积操作时的卷积核数量也在同步调整,影响整体网络的计算量。

大家最好可以将结构图和前面第一部分四个网络的特征图链接,对应查看,思路会更加清晰。

当然卷积核的数量越多,特征图的厚度,即宽度越宽,网络提取特征的学习能力也越强。

(2)控制宽度的代码

在yolov5的代码中,控制宽度的核心代码是yolo.py文件里面的这一行:

它所调用的子函数make_divisible的功能是:(返回可被除数整除的 x)

Math.ceil(double x/y);功能: 向上取整,即返回大于或等于X/y结果值的整数。 当X/Y结果整除时直接返回结果,否则小数位舍去整数位加1。

(3)验证控制宽度的有效性

我们还是选择最小的yolov5s和中间的yolov5l两个网络结构,将width_multiple系数带入,看是否正确。

a. yolov5s.yaml

其中width_multiple=0.5,即gw=0.5。

以第一个卷积下采样为例,即Focus结构中下面的卷积操作。

按照上面Backbone的信息,我们知道Focus中,标准的c2=64,而gw=0.5,代入(2)中的计算公式,最后的结果=32。即Yolov5s的Focus结构中,卷积下采样操作的卷积核数量为32个。

再计算后面的第二个卷积下采样操作,标准c2的值=128,gw=0.5,代入(2)中公式,最后的结果=64,也是正确的。

b. yolov5l.yaml

其中width_multiple=1,即gw=1,而标准的c2=64,代入上面(2)的计算公式中,可以得到Yolov5l的Focus结构中,卷积下采样操作的卷积核的数量为64个,而第二个卷积下采样的卷积核数量是128个。

另外的三个卷积下采样操作,以及yolov5m,yolov5x结构也是同样的计算方式,大白这里不过多解释。

4 Yolov5相关论文及代码

4.1 代码

Yolov5的作者并没有发表论文,因此只能从代码角度进行分析。

Yolov5代码:https://github.com/ultralytics/yolov5

大家可以根据网页的说明,下载训练,及测试,流程还是比较简单的。

4.2 相关论文

另外一篇论文,PP-Yolo,在Yolov3的原理上,采用了很多的tricks调参方式,也挺有意思。

感兴趣的话可以参照另一个博主的文章:点击查看

5 小目标分割检测

目标检测发展很快,但对于小目标的检测还是有一定的瓶颈,特别是大分辨率图像小目标检测。比如7920*2160,甚至16000*16000的图像。

图像的分辨率很大,但又有很多小的目标需要检测。但是如果直接输入检测网络,比如yolov3,检出效果并不好。

主要原因是:

(1)小目标尺寸

以网络的输入608*608为例,yolov3、yolov4,yolov5中下采样都使用了5次,因此最后的特征图大小是19*19,38*38,76*76。

三个特征图中,最大的76*76负责检测小目标,而对应到608*608上,每格特征图的感受野是608/76=8*8大小。

再将608*608对应到7680*2160上,以最长边7680为例,7680/608*8=101。

即如果原始图像中目标的宽或高小于101像素,网络很难学习到目标的特征信息。

(PS:这里忽略多尺度训练的因素及增加网络检测分支的情况)

下面更多的内容这次可能用不到了,但还是比较重要并且有意思,有时间一定看一下

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

Ubuntu 22.04 + RTX 3060 避坑实录:从驱动到YOLOv5,我踩过的那些版本兼容的‘雷’ 本文详细记录了在Ubuntu 22.04系统上为RTX 3060显卡配置深度学习环境的实战经验,重点解决了NVIDIA驱动、CUDA、cuDNN和YOLOv5的版本兼容性问题。通过对比不同驱动版本和安装方法,提供了避免黑屏和性能优化的实用技巧,帮助开发者高效搭建稳定的AI开发环境。 阅读详情

相关推荐

改进YOLO系列:CVPR2023最新PConv提供YOLOv4/YOLOv4-tiny模型的YAML文件

为了改进YOLO系列的性能,CVPR2023引入了PConv(Progressive Convolution)方法,并提供了YOLOv4和YOLOv4-tiny模型的YAML文件。这种渐进的卷积过程有助于解决小目标检测和遮挡目标的问题,提高了目标检测算法在复杂场景下的性能。在上述代码中,我们首先加载了YOLOv4模型和权重,然后定义了图像预处理函数和目标检测函数。通过CVPR2023提供的YOLOv4和YOLOv4-tiny模型的YAML文件,结合PConv的改进,我们可以获得更准确和鲁棒的目标检测结果。

GzvDart的博客 610

YOLOv5中的CSP结构

深度学习入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。 目录 一、背景知识 -- CSPNet 二、CSP结构分析 1、总括 2、CSP1_X结构 3、CSP2_X 三、源码分析(内含注释分析) 一、背景知识 -- CSPNet 有关CSPNet的介绍分析可以康康博主之前的博客 深度学习之CSPNet分析_tt丫的博客-优快云博客 二、CSP结构分析 1、总括 YOLOv5s的CSP结构是将原输入分成两个分支,分别进行

tt丫的博客 7万+

深入浅出之CSPBlock模块(YOLO)

YOLO CSPX模块是YOLO系列算法中的一个重要组成部分,它通过跨阶段部分连接的方式减少了计算量,同时保证了模型的准确率。在YOLOv4及后续版本中,CSPX模块被广泛应用于主干网络和Neck结构中,为模型提供了强大的特征提取和融合能力。

浩瀚之水的专栏 6755

yolov4_u5版复现—2. 模型及相关原理model.py

1.关于yaml文件解析: yolov4_u5 使用yaml文件存储模型结构信息,将其读入解析后再build模型。 # parameters nc: 80 # number of classes depth_multiple: 1.0 # expand model depth width_multiple: 1.0 # expand layer channels # anchors anchors: - [12,16, 19,36, 40,28] # P3/8 - [36,75, 76,5

weixin_39759689的博客 2431

从MCU到MPU:瑞萨RZN2L上手初体验,给Cortex-M工程师的Cortex-R52入门避坑指南

本文详细介绍了从MCU到MPU的过渡经验,特别是瑞萨RZN2L开发板的实战避坑指南。针对Cortex-M工程师转向Cortex-R52内核的挑战,文章深入解析了启动流程、内存管理、中断响应等九大本质差异,并提供了硬件设计陷阱和软件迁移的实用技巧,帮助开发者快速适应MPU开发环境。

weixin_29158413的博客 258

别再傻傻分不清了!Anaconda和Miniconda到底选哪个?附保姆级安装与镜像源配置(Windows/Mac)

本文详细解析了Anaconda和Miniconda的核心差异,包括体积、预装内容、系统资源占用等关键维度,并提供了针对不同需求的决策框架。附有Windows和Mac双平台的详细安装与配置指南,帮助用户根据实际需求选择最适合的conda工具,提升开发效率。

weixin_30315723的博客 426

yolov4论文怎么引用_YOLOV4-5学习记录

(个人学习记录,方便回头更快速定位知识点)(希望大佬们帮忙解决问题,指出问题)YOLOV4Paper_link:https://arxiv.org/abs/2004.10934Codelink:https://github.com/AlexeyAB/darknetYOLOV4-scalePaper_link:https://arxiv.org/abs/2011.08036Codelink:http...

weixin_39996234的博客 1412

Frida精准定位Shopee x-sap-ri动态签名生成函数

x-sap-ri是Shopee客户端生成的上下文感知型动态令牌,本质为基于设备标识、请求路径与毫秒级时间戳三元组的SHA256哈希值,经Base64编码后作为防重放与防批量伪造的核心校验字段。其生成逻辑深度混淆且跨Java/Native层,静态分析失效,而Frida凭借内存级函数调用拦截与JNI层穿透能力,成为唯一可行的技术路径。本文聚焦Frida在加固App中的实战适配——通过libcrypto.so API特征扫描反向定位被抹名的生成函数,实现对x-sap-ri输入参数(如16字节device_id加密

weixin_33978578的博客 611

2023.4.10 yolov5_train.py学习记录

【代码】2020.4.9 yolov5_train.py学习记录。

qq_43668547的博客 245

python docx设置标题中文字体rPr.rFonts.set(qn(‘w:eastAsia‘),u‘黑体‘),报错‘NoneType‘ object has no attribute ‘set‘

一、我的代码: 因为要编一个报告自动化生成的代码,所以用了python docx,在设置标题自己写了一段代码,要求将标题设置成:一级标题 黑体 小四 from docx import Document from docx.oxml.ns import qn from docx.shared import Pt def add_Head(document, level, text, font, size): # document word对象 # level 几级标题 # text 标题内容 # f

qq_40272386的博客 8860

Mac上安装虚拟机搭载window系统

用Mac的都知道,很多window用的软件是Mac版本没有的。平时有的还得要求去用那些软件,有几种方式可供大家选择: 1.再买个window本; 2.装双系统; 3.装虚拟机,搭载window系统。 我比较推荐第3条,这样可以在Mac本上做到双开,一边开着mac一边开着window,还能做到同时处理文件,不至于重新启动操作系统,下边是具体实现步骤,其中有几个需要下载的,建议在网速好的时候完...

Coder_Mumu的博客 1万+

2023.4.9 yolov5_detect.py学习记录

【代码】2020.4.9 yolov5学习记录。

qq_43668547的博客 133

【PX4学习笔记】1. ROS及PX4环境搭建

环境 Ubuntu18.04 安装教程参考 https://www.guyuehome.com/8983 安装过程中问题的解决 问题1 rosdep init 错误的终极解决方法 注意etc/下的ros和rostep文件夹要自己建 问题2 Ubuntu安装ROS报错 sudo: rosdep:找不到命令 问题3(更好地解决了问题1、2)【推荐】 解决GitHub的raw.githubusercontent.com无法连接问题 问题4:GeographicLib的安装 教程中安装GeographicLib d

【人工智障 | 计算鸡视觉 | 机器孩】 8234

[TI TDA4 J721E] TDA4平台 相关技术文章 汇总

TDA4 相关文章汇总 环境搭建 Demo 验证 目标检测 YOLOv5 Pipeline Graph Draw2D 中文字符 vxReplicateNode 畸变校正 360环视

AIRKernel的博客 7657

移动机器人路径规划中噪声环境下的鲁棒性测试仿真

设计一个二维或三维环境模型,包括静态障碍物和可能存在的动态障碍物。

amy_mhd的博客 126

UE5 Niagara基础知识讲解

在UE5版本中,Niagara粒子系统引入了许多可添加的模块,分别用于控制发射器的生成和更新、粒子的生成和更新以及渲染效果。本文采用虚幻5.2.1版本,以图文方式对Niagara基础知识进行讲解。

一碗清深的博客 2472

YOLOv5白皮书-第Y5周:yolo.py文件解读

本次训练是在前文《YOLOv5白皮书-第Y2周:训练自己的数据集》的基础上进行的。文件位置:。这个文件是YOLOv5网络模型的搭建文件,如果你想改进YOLOv5,那么这个文件是你必须进行修改的文件之一。文件内容看起来多,其实真正有用的代码不多的,重点理解好文中提到的一个函数两个类即可。注:由于YOLOv5版本众多,同一个文件对于细节处你可能会看到不同的版本,不用担心这都是正常的,注意把握好整体架构即可。任务:将YOLOv5s网络模型中的C3模块按照下图方式修改形成C2模块,并将C2模块插入。

m0_55259388的博客 965

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

yolo基础--yolov5网络结构的讲解与“yolov5s.yaml”文件的修改初步探索

common.py文件讲述的是yolo网络具体实现 🙏 🙏 🙏。:探索AI算法,C++,go语言的世界;在迷茫中寻找光芒​🌸​。:努力学习的22级本科生一枚 🌟​。往期–>yolov5网络结构讲解。从这个可以看出修改后的网络结构。本文任务就是修改4和6模块。都减少了不少参数量。

羊小猪~~的博客 497

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

深度学习每周学习总结P9(YOLOv5-Backbone模块实现)

数据导入及处理部分:本次数据导入没有使用torchvision自带的数据集,需要将原始数据进行处理包括数据导入,查看数据分类情况,定义transforms,进行数据类型转换等操作。划分数据集:划定训练集测试集后,再使用torch.utils.data中的DataLoader()分别加载上一步处理好的训练及测试数据,查看批处理维度.本次学习的是yolov5中BackBone模块的实现。

qq_33489955的博客 886

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

YOLOv5白皮书-第Y6周:模型改进

本次训练需要修改的内容比较多,看起来有三个点,其实是四个点,在yolov5s.yaml中把backbone的索引7、8的层删除了,还要修改head的Concat的索引。总体来说,需要掌握其间的内在联系,熟练了之后就好改了。

m0_55259388的博客 1060

YOLOv5白皮书-第Y4周:common.py文件解读

文件位置:./models/common.py该文件是实现YOLO算法中各个模块的地方,如果我们需要修改某一模块(例如C3),那么就需要修改这个文件中对应模块的的定义。这里先围绕代码,带大家过一遍各个模块的定义,详细介绍将在后续的教案中逐步展开。由于YOLOv5版本问题,同一个模块你可能会看到不同的版本,这都是正常的,以官网为主即可。本周任务: 将yolov5s网络模型中的C3模块按照如下图方式修改,并跑通YOLOv5。任务提示:仅需修改YOLOv5网络结构图。

2303_82344401的博客 1148

JetsonTX2刷机jetpack4.6+安装pytorch+yolov5+TensorRT加速+调用海康威视摄像头/usb摄像头(超级详细版,实现FPS=40)

前言:小白的踩坑日记,期间报过的error数不胜数,好在最后跑通了,所有的步骤都是自己实际经历,也非常感谢很多不知名博主的帮助

weixin_62689198的博客 5255

第Y3周:yolov5s.yaml文件解读

【代码】第Y3周:yolov5s.yaml文件解读。

weixin_47918905的博客 379

P8深度学习实验:YOLOv5-C3模块实现

上周,我们理论部分我们讨论了 transformer 模型;实验部分我们实践了用VGG-16模型实现马铃薯病害辨识。这周,我们将自己搭建 YOLOv5 - C3 实现天气预测。

yiruu_0227的博客 268

基于改进 YOLOv5 算法的高压输电线路异物检测 开发日志

7.已配置好yolov5,但当前的torch版本与驱动不匹配,重新安装nvidia存在较大风险,故选择降低torch版本。Ubuntu18.04安装OpenCV4.3.0和环境配置(支持编译CUDA并安装配置python-opencv)一定注意要先查看自己的Python版本,确保3.0以上,再有就是注意Python与opencv版本对应问题。由于CUDA 9.0仅支持GCC 6.0及以下版本,而Ubuntu 18.04预装GCC版本为7.3,降低版本无法完成,改用ppa方式安装nvidia。

u012133341的博客 490

Jetson Nano( 五) TensorRT yolov4 yolov4-tiny yolov5 实测

TensorRT yolov4 yolov4-tiny yolov5 软硬件环境: Jetson Nano 4G JP 4.4.1 CUDA 10.2 TensorRT 7.1.3.0 Pytorch 1.6.0 参考大佬项目: https://github.com/enazoe/yolo-tensorrt作者封装了模型的转换 https://github.com/wang-xinyu/tensorrtx https://github.com/jkjung-avt/tens

爬山的咸鱼 6496
上一篇: yolo论文【yolov1-v4】
下一篇: yolo.py代码精读
epic_Lin
博客等级 码龄5年 338粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值