![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
目标检测
文章平均质量分 88
江湖小张
这个作者很懒,什么都没留下…
展开
-
【YOLO系列】YOLO V5模型详解
YOLOv5根据参数量分为了YOLOv5n(Nano)、YOLOv5s(Small)、YOLOv5m(Medium)、YOLOv5l(Large)和 YOLOv5x(Extra Large)五种类型,其参数量依次上升,当然了其效果也是越来越好。从2020年6月发布至2022年11月已经更新了7个大版本,在v7版本中还添加了语义分割的功能。原创 2024-03-01 17:21:40 · 1955 阅读 · 0 评论 -
【YOLO系列】 YOLOv4之BN、CBN、CmBN(附代码)
在文中,作者针对BN在小批量的问题,利用多个最近迭代的样本的来提高数据估计的质量,但是由于在迭代过程中网络权重不断变化,来自不同迭代的网络激活不能相互比较,因此作者提出一种基于泰勒多项式的技术来补偿迭代之间网络权值变化,从而有效利用之前迭代的样本来改进批量归一化,这种方法就是交叉迭代的批量归一化(CBN)。说简单点,CBN就是一种通过补偿迭代之间网络权值的变化而有效的利用之前的迭代样本来改进批量归一化的方法。原创 2024-01-31 14:25:28 · 1493 阅读 · 0 评论 -
【YOLO系列】 YOLOv4之SAT自对抗训练
自对抗训练(Self-Adversarial Training,简称SAT)是一种新型的数据增强技术,旨在通过神经网络自身进行的对抗式攻击来提高模型的鲁棒性和泛化能力。其主要分为两个阶段:第一阶段神经网络会对其原始图像进行修改,制造出图像上没有目标的假象。这种修改是通过一种对抗的方式进行的,即神经网络改变原始图像而不是网络权值。具体来说,神经网络在训练过程中会生成一种对抗性的攻击,这种攻击可以改变原始图像,使其看起来像没有目标物体一样。第二阶段训练神经网络对修改后的图像进行正常的目标检测。原创 2024-01-22 15:49:10 · 769 阅读 · 0 评论 -
【YOLO系列】 YOLOv4之(Hard)NMS、Soft NMS、DIOU NMS(附代码)
NMS (Non-Maximum Suppression,非极大值抑制),是一种在计算机视觉领域常用的技术,。在目标检测任务中,算法通常会生成多个候选框来表示可能包含目标的区域。由于图像中的目标可能以不同的尺度和位置出现,这些候选框往往会有一定的重叠。在经典的NMS中,得分最高的检测框和其它检测框逐一计算出一个对应的IoU值,并将该值超过NMS threshold的框全部过滤掉。可以看出,在经典NMS算法中,IoU是唯一考量的因素。原创 2024-01-18 15:11:34 · 1321 阅读 · 0 评论 -
【YOLO系列】 YOLOv4之Focal Loss损失函数
Focal Loss损失函数何凯明大神在RetinaNet网络中提出来的,主要是为了解决one-stage目标检测中正负样本比例严重失衡的问题。该损失函数降低了大量简单负样本在训练中所占的比重,也可以理解为一种困难样本的挖掘。它通过调整标准的交叉熵损失函数,使得模型在训练过程中更加关注难以分类的样本。作者认为one-stage和two-stage的表现差异主要原因是大量前景背景类别不平衡导致。作者设计了一个简单密集型网络RetinaNet来训练,在保证速度的同时达到了精度最优。原创 2024-01-15 16:23:25 · 1114 阅读 · 0 评论 -
【YOLO系列】 YOLOv4之Mosaic数据增强(附代码)
Mosaic数据增强是一种在目标检测任务中常用的技术,特别是在使用YOLO系列算法时。这种数据增强方法通过将四张图片随机组合成一张新的图片,从而增加数据集的多样性,提高模型的泛化能力。将这样一张新的图片传入到神经网络当中去学习,相当于一下子传入四张图片进行学习了。这极大丰富了检测物体的背景,且在标准化BN计算的时候一下子会计算四张图片的数据。原创 2024-01-15 16:13:40 · 2436 阅读 · 0 评论 -
【YOLO系列】 Smooth L1 Loss、IOU、GIOU、DIOU、CIOU(附代码实现)
Smooth L1 Loss、IOU、GIOU、DIOU和CIOU都是用于评估模型预测准确性的指标,但它们在计算方式和应用场景上有所不同。原创 2024-01-11 14:03:17 · 1317 阅读 · 0 评论 -
【YOLO系列】 YOLO V4之正则化DropBlock
DropBlock是一种正则化技术,用于防止深度神经网络的过拟合。它通过在训练过程中随机丢弃网络中的一部分特征图,来增加模型的泛化能力。文章中分析了传统的dropout在conv上效果不好的原因conv具有空间相关性,所以即使对一些单元随机进行dropout,仍然可以有信息流向后面的网络,导致dropout不彻底。针对这个问题,作者提出了DropBolck这一方法,思想很简单:从名字就可以看出来,既然随机丢弃独立的单元可能导致丢弃不彻底,那不如一次丢弃一个block。原创 2024-01-11 11:31:42 · 938 阅读 · 0 评论 -
【YOLO系列】 YOLOv4思想详解
以下内容仅为个人在学习人工智能中所记录的笔记,先将目标识别算法yolo系列的整理出来分享给大家,供大家学习参考。本文未对论文逐句逐段翻译,而是阅读全文后,总结出的YOLO V4论文的思路与实现路径。若文中内容有误,希望大家批评指正。资料下载回顾:大家可以发现YOLO V4论文的作者变成Alexey Bochkovskiy了,YOLO V1-3的作者都是Joseph Redmon, Ali Farhadi,不过不影响,YOLO V4作者提出了一大堆措施来提高YOLO的性能,我们这就来看看。原创 2024-01-09 17:09:50 · 1159 阅读 · 0 评论 -
【YOLO系列】 YOLOv4之Mish函数
1、公式其他的激活函数,ReLU 是 x = max(0,x),Swish = x * sigmoid(x)。2、 代码实现要使用这个Mish模块,可以将其添加到神经网络模型中,并在训练和推理过程中使用它作为激活函数。return xReLU有一些已知的弱点,但是通常执行起来很轻,并且在计算上很轻。Mish具有较强的理论渊源,在测试中,就训练稳定性和准确性而言,Mish的平均性能优于ReLU。原创 2024-01-09 17:06:33 · 473 阅读 · 0 评论 -
【YOLO系列】YOLOv3代码详解(五):utils.py脚本
将funcs中的元素进行某种累积或合并"""# 递归操作,将funcs中的元素进行某种累积或合并if funcs:else:实现图片数据增强# 获得范围为[a,b]的随机数"""通过随机缩放的方式调整图片的尺寸至(416, 416),随机改变图片的RGB、翻转方式来实现图片数据增强"""image = Image.open(line[0]) # 打开需要训练的图片iw, ih = image.size # 获取图片的宽度与高度# 获取Gound Truth框。原创 2023-12-24 21:54:45 · 83 阅读 · 0 评论 -
【YOLO系列】YOLOv3代码详解(四):模型脚本model.py
定义一个darknet_conv_kwargs字典,传递“kernel_regularizer”、“padding”参数# 如果输入的kwargs中定义了strides为(2,2),则padding模式为valid,否则为same模式# 将输入的kwargs值更新到darknet_conv_kwargs字典中# 定义一个no_bias_kwargs字典# 将传递里面的kwargs值更新到no_bias_kwargs字典中。原创 2023-12-24 21:51:30 · 493 阅读 · 0 评论 -
【YOLO系列】YOLOv3代码详解(三):训练脚本train.py
(1)创建计算图、定义输入图片的Tensor、y_true的形状(2)判断是否加载预训练模型的权重yolo_weights.h5,并冻结模型中除3层输出层以外的所有层;(3)定义模型的loss(4)返回model# 创建模型# 首先清楚其他的计算图# 定义一个输入层,接受任意大小和形状的彩色(3通道)图片,返回一个Tensor# 获取输入图片的高和宽# 获取Anchor Box的数量。原创 2023-12-24 21:45:06 · 405 阅读 · 0 评论 -
【YOLO系列】YOLOv3代码详解(二):检测脚本yolo.py
本文仅对YOLOV3代码中关键部分进行了注释,未掌握基础代码的铁汁可以自己百度一下。若文中内容有误,希望大家批评指正。原创 2023-12-22 14:57:48 · 499 阅读 · 0 评论 -
【YOLO系列】YOLOv3代码详解(一):主脚本yolo_video.py
本文仅对YOLOV3代码中关键部分进行了注释,未掌握基础代码的铁汁可以自己百度一下。若文中内容有误,希望大家批评指正。原创 2023-12-22 14:45:28 · 156 阅读 · 0 评论 -
【YOLO系列】 速看!YOLOv3中如何使用K-Means聚类算法生成Anchor Box
我们在YOLO V2中说到,在Faster RCNN中anchor boxes大小都是手动设定的,这就带有一定的主观性,会使得网络在使用中不能更好的做出预测。这是在使用anchor boxes出现的第一个问题。为了解决这个问题,于是YOLO V2提出了使用k-Means聚类方法在训练集中自动的获取每个anchor boxes的大小,以替代人工设置。k-Means算法的思想很简单,对于给定的样本集,按照样本之间的距离大小,将样本集划分为K个簇。然后使每个簇内的点离中心点尽量近,让簇间的距离尽量远。原创 2023-12-15 16:59:10 · 765 阅读 · 0 评论 -
【YOLO系列】 YOLOv3论文思想详解
YOLOv3是一种目标检测算法,它采用了Darknet-53作为基础网络,借鉴了ResNet中的残差块的设计,在某些层之间添加了“跳层连接”。它还采用了逻辑回归取代softmax进行分类,使用了多尺度特征图进行检测,以及在预测阶段采用了非最大值抑制(NMS)算法进行筛选。相比其他目标检测算法,YOLOv3在速度和精度之间取得了很好的平衡,尤其在小物体检测方面表现突出。然而,YOLOv3也存在一些缺点,如对于密集的或者小尺度的目标检测效果不好,以及对于遮挡的目标或者背景复杂的场景,检测效果不够准确。原创 2023-12-15 10:35:08 · 683 阅读 · 0 评论 -
【数据准备001】标注工具Labelimg安装与使用(附txt与xml文件相互转化代码)
LabelImg是一个开源的图形图像注释工具,用于创建边界/矩形框(适用于要标注物体的位置和大小)和多边形注释(适用于标注非规则形状的物体)。它是用Python写的,并使用Qt作为其图形界面。LabelImg能够在Windows、Linux和macOS等多个平台上运行,同时支持各种类型的图像文件格式,如JPG、PNG和BMP等。原创 2023-12-13 16:12:35 · 16645 阅读 · 13 评论 -
【YOLO系列】YOLO V2论文思想详解
以下内容仅为个人在学习人工智能中所记录的笔记,先将目标识别算法yolo系列的整理出来分享给大家,供大家学习参考。 本文未对论文逐句逐段翻译,而是阅读全文后,总结出的YOLO V2论文的思路与实现路径。 若文中内容有误,希望大家批评指正。 YOLO V2论文下载地址:YOLO9000: Better, Faster, Stronger 项目地址:YOLO V2 YOLO V2论文名叫"YOLO9000: Better, Faster, Stronge原创 2023-11-27 17:29:48 · 437 阅读 · 0 评论 -
【YOLO系列】YOLO V1论文思想详解
以下内容仅为个人在学习人工智能中所记录的笔记,先将目标识别算法yolo系列的整理出来分享给大家,供大家学习参考。本文未对论文逐句逐段翻译,而是阅读全文后,总结出的YOLO V1论文的思路与实现路径。若文中内容有误,希望大家批评指正。原创 2023-11-11 17:49:42 · 280 阅读 · 1 评论