YOLO系列
文章平均质量分 87
记录YOLO系列目标检测学习过程
彭祥.
目前研究生在读,主要研究目标检测相关算法,具体以Transformer模型为主,对图像去噪方面也有涉猎,大学期间专业为软件开发,拥有较为丰富的编程与毕业设计撰写经验。
展开
-
YOLO目标检测算法调试过程学习记录
先前已经完成过YOLO系列目标检测算法的调试过程,今天主要是将所有的调试加以总结这里的conda环境就不再赘述了,直接使用requirement.txt文件的即可,也可以参考YOLOX的配置过程5。原创 2023-08-20 13:12:57 · 401 阅读 · 0 评论 -
YOLOX算法调试记录
YOLOX是在YOLOv3基础上改进而来,具有与YOLOv5相媲美的性能,其模型结构如下:由于博主只是要用YOLOX做对比试验,因此并不需要对模型的结构太过了解。先前博主调试过YOLOv5,YOLOv7,YOLOv8,相比而言,YOLOX的环境配置是类似的,但其参数设置太过分散,改动比较麻烦,就比如epoch这些参数竟然要放到yolox_base.py文件中去继承,而不是直接在train.py中指定。话不多说,我们开始调试过程。原创 2023-08-19 19:52:13 · 790 阅读 · 0 评论 -
YOLO输出大中小目标的AP值
在进行实验的过程中,博主一直使用的是COCO数据集,其评价指标如下所示,包含大中小目标的AP值与AR值。博主选用了yolov5与yolov7进行实验,其中yolov5成功,yolov7却出现了问题。随后博主在进行对比实验时使用了YOLO模型,其默认是不输出大中小目标的AP值的,为了能够获取这个评价指标值,我们需要对val.py文件进行修改。原创 2023-06-12 10:47:55 · 2634 阅读 · 3 评论 -
YOLO断点训练
在使用服务器运行YOLO模型的过程中,时常会因为各种原因而中断,如断网、关机等情况,YOLO中给提供了一个参数 resume:意为断点训练,即可以接着之前的训练来进行训练。原创 2023-06-11 08:27:36 · 520 阅读 · 0 评论 -
YOLOv5使用自定义数据集实验
上一篇博文中介绍了YOLOv7训练自定义数据集,在这篇文章中,我们主要记录YOLOv5模型的实验过程,用于对比实验。YOLOv5与YOLOv7毕竟一母同胞,因此部署起来也是极为类似。原创 2023-06-10 19:56:55 · 1392 阅读 · 0 评论 -
YOLOv7训练自定义数据集
使用YOLOv7做对比实验,需要重新部署一下YOLO环境,并将COCO格式数据集转换为YOLO格式博主的COCO数据集是由WiderPerson数据集转换来的,并且做了一些处理。原创 2023-06-10 11:25:03 · 1361 阅读 · 0 评论 -
ViT:Transformer在CV领域的开山之作
我们都知道,Transformer作为NLP算法的一员,擅长两者预测,分别是完形填空式与给出前句预测后句这两种类型,无论是那种,其处理的都是文本,抑或是一个序列,且由于序列长度的限制,其最佳为256,为了证明Transformer的通用性,那么将其转入计算机视觉时我们依旧是想将其转换为序列形式,这就产生了一个问题,如果是将图像按每个像素转换为扁平的一维序列,那么其长度是极大的,总所周知,Transformer的核心便是自注意力机制的引入,而自注意力机制便是将所有元素进行内积求权重,这是n。原创 2023-03-09 19:24:54 · 1479 阅读 · 1 评论 -
YOLOS调试记录
再次发表一下对于调试该模型时的一些感悟:首先一定要认认真真阅读readme中给我们的指导,这会让我们的调试事半功倍。其次关于这个模型,该模型根据论文中给出的结果与分析来看,其相较于当下的主流模型如yolov7,yolov8等还是由差距的,但这也意味着其改进空间巨大。Transformer作为NLP领域的中流砥柱,在迁移到计算机视觉后能够表现出如此性能已是出人意料,而这也给我们了许多启示。原创 2023-03-07 12:55:28 · 945 阅读 · 3 评论 -
YOLOv7实验记录
这篇博客主要记录博主在做YOLOv7模型训练与测试过程中遇到的一些问题。首先我们需要明确YOLO模型权重文件与模型文件的使用其实在github的readme中已经告诉我们使用方法,但我相信有很多像博主一样眼高手低的人可能会犯类似的错误。原创 2023-03-05 09:08:15 · 2228 阅读 · 2 评论 -
YOLOV7模型调试记录
先前的YOLOv7模型是pytorch重构的,并非官方提供的源码,而在博主使用自己的数据集进行实验时发现效果并不理想,因此生怕是由于源码重构导致该问题,此外还需进行对比实验,因此便从官网上下载了源码,进行调试运行。原创 2023-03-01 20:20:36 · 972 阅读 · 0 评论 -
YOLOv8模型学习笔记
提供了一个全新的 SOTA 模型,包括 P5 640 和 P6 1280 分辨率的目标检测网络和基于 YOLACT 的实例分割模型。和YOLOv5 一样,基于缩放系数也提供了 N/S/M/L/X 尺度的不同大小模型,用于满足不同场景需求骨干网络和 Neck 部分可能参考了 YOLOv7 ELAN 设计思想,将 YOLOv5 的 C3 结构换成了梯度流更丰富的 C2f 结构,并对不同尺度模型调整了不同的通道数,属于对模型结构精心微调,不再是无脑一套参数应用所有模型,大幅提升了模型性能。原创 2023-02-27 20:38:55 · 2617 阅读 · 0 评论 -
YOLOv5模型学习记录
新年伊始,YOLOv8横空出世,这个还未开源时便引发界内广泛热议的目标检测算法,一经问世便再次引发热潮,而作为与其师出同源的YOLOv5,自然要拿来与其比较一番。接下来我们便来学习一下吧。原创 2023-02-26 16:32:48 · 1729 阅读 · 0 评论 -
结合YOLOv8实现目标追踪
博主使用YOLOv8在自制数据集上取得了不错的效果,考虑到后期的安排,需要在完成目标检测后完成目标追踪功能。因此在本篇博文中主要介绍结合YOLOv8实现目标追踪。项目源码:接下来便是调试过程,博主依旧使用的是远程服务器来运行项目。原创 2023-02-22 19:21:43 · 6598 阅读 · 6 评论 -
YOLOv8模型调试记录
新年伊始,ultralytics 公司在 2023 年 1月 10 号开源的 YOLOv5 的下一个重大更新版本,目前支持图像分类、物体检测和实例分割任务,在还没有开源时就收到了用户的广泛关注。今天,便开始了YOLOv8的调试过程。原创 2023-02-21 19:15:42 · 2617 阅读 · 1 评论 -
YOLO项目服务器配置及云硬盘挂载问题
依次执行就可以,本次博主又换了一个服务器,这次在安装过程中遇到了一些问题,最终也解决了,实验数据集换成了CADCD,输入尺寸为1280x1024,很明显此时的显存占用要比640x640的大了很多,下面是本次GPU使用情况:batch-size为16,迭代次数为200次。在使用这个服务器的过程中意识到每次更换服务器需要重新上传项目和数据集,这让人很苦恼,因此可以采用加装一个云硬盘的方式,这样就不需如此频繁更换了,然而也是刚刚意识到该问题,博主的GPU服务器是硅谷二区的,但并未找到可用区的硬盘,呜呜呜。原创 2023-02-02 10:08:02 · 1466 阅读 · 0 评论 -
关于CADC数据集的处理笔记
56,000 张相机图像;7,000 次 LiDAR 扫描;75 个场景,每个场景 50-100 帧;10 个注释类;完整的传感器套件:1 个 LiDAR,8 个摄像头,后处理 GPS / IMU;论文下载地址:https://arxiv.org/abs/2001.10117项目源码下载地址:https://gitee.com/yangmissionyang/cadc_devkit关于数据集的使用方法,在readme中已经做出了讲解:首先需要下载该数据集,运行。原创 2023-02-01 16:14:58 · 1156 阅读 · 7 评论 -
YOLO学习记录之模型修改
我们在做实验时,不免需要对模型结构进行修改来检测自己的改进性能,对于一般模型而言,我们只需要简单的在代码中添加网络层即可,但对于一些预训练好的模型,我们则需要进行较为复杂的修改。以我们的YOLOV7模型为例,yolo_v7.pth为预训练模型,里面已经根据image_Net训练好了大量的权值,是具有通用性的,如果我们不选择该模型而选择自己重新训练的话,无疑会增大计算成本,同时也可能无法取到满意的效果。今天主要是尝试为YOLO模型添加简单的网络层,为之后模型的修改完善打下基础。原创 2023-01-02 15:23:00 · 2778 阅读 · 1 评论 -
Anchor Based和Anchor Free的相爱相杀与ATSS的诞生
我们都知道按照是否出现RPN可将目标检测算法分为two-stage和one-stage,其中one-stage的一个主要代表便是YOLO系列,而根据是否存在先验锚框的定义我们也可以将其分为Anchor based和Anchor free两类,关于这两种也是各有优劣,但大趋势上好像是倾向于Anchor Free,但实际上,两者真正能够产生差别的原因在于正负样本匹配机制。本文便以YOLO系列目标检测算法为例,讲述Anchor Based和Anchor Free的相爱相杀。原创 2022-12-29 21:29:57 · 997 阅读 · 1 评论 -
YOLOV7学习记录之训练过程
在前面学习YOLOV7的过程中,我们已经学习了其网络结构,然而实际上YOLOV7项目的难点并不在于其网络模型而是在于其损失函数的设计,即如何才能训练出来合适的bbox。神经网络模型都有训练和测试(推理)过程,在YOLOV7的训练过程中,包含模型构造,标签分配和损失函数计算。其中模型在前面以及讲过了。在测试过程中包含加载模型,损失函数计算,输出值解码,非极大值抑制,MAP计算等,今天我们先讲一下YOLOV7的训练过程。原创 2022-12-23 18:59:53 · 3108 阅读 · 2 评论 -
YOLOV7学习记录之mAP计算
如何评估一个训练好模型的好坏,是目标检测中一个很重要的因素,如常见的TP、FP、AP、PR、map等视频可以参考:TP:被正确分类为正样本的数量;实际是正样本,也被模型分类为正样本FP:被错误分类为正样本的数量;实际是负样本,但被模型分类为正样本TN:被正确分类为负样本的数量;实际是负样本,也被模型分类为负样本FN:被错误分类为负样本的数量;实际是正样本,但被模型分类为负样本如下图举例:红色是预测框,绿色是真实框。假设阈值为0.5,意思就是预测框与真实框的IoU大于等于0.5时认为检测到目标了原创 2022-12-24 23:18:54 · 6458 阅读 · 4 评论 -
YOLOV7学习记录之模型推理
前面我们学习了YOLOV7的训练过程,今天我们学习其推理过程,即模型预测:其包含损失函数计算,输出值解码,非极大值抑制,mAP计算等过程。同时还介绍原始图像上绘制目标框等功能。我们从predict.py文件开始,这里博主将原本的单张图像预测修改为多张图像,只是加了个list循环而已。我们先来看一下predict的流程,其还是很容易理解的生成模型:yolo = YOLO() yolo.py 此时只初始化初始化参数 :模型权重文件目录等。原创 2022-12-24 00:00:18 · 2304 阅读 · 1 评论 -
YOLOV1算法学习记录
R-CNN系列算法(R-CNN、SPPNet、Fast R-CNN、Faster R-CNN)均是采用two-stage的方法(1.提取region proposal 2.分类+边框回归),主要是对region proposal进行识别定位。虽然这类方法检测精度很高,但由于需要一个单独的网络进行提取region proposal,因此在速度上无法突破瓶颈。而YOLOV1算法作为YOLO系列算法的开篇之作,作为One Stage目标检测算法的杰出代表,其重要性不言而喻。原创 2022-12-10 11:17:46 · 848 阅读 · 0 评论 -
YOLOV7 目标检测模型调试记录
YOLO系列在目标检测领域可谓名声赫赫,其性能表现不俗,如今其已经更新到了YOLOV7版本,今天便来一睹其风采。博主之前只是对YOLO算法的原理一知半解,并未实验,因此并不熟练,因此,借此机会来进行实验以为日后的论文撰写做好准备。原创 2022-12-13 22:37:25 · 3024 阅读 · 4 评论 -
YOLOV7学习记录之原理+代码介绍
博主计划做一个目标检测跟踪项目,考虑使用YOLO系列模型来作为目标检测器,如今YOLO项目已经更新到了YOLOV7版本,因此便来学习一下相关原理,完成相关实验工作。论文链接:https://arxiv.org/abs/2207.02696。原创 2022-12-14 22:21:05 · 15850 阅读 · 4 评论 -
YOLO目标检测之IOU计算及其衍变体
IOU损失函数目前主要应用于目标检测的领域,其演变的过程如下:IOU --> GIOU --> DIOU -->CIOU损失函数,每一种损失函数都较上一种损失函数有所提升。下面来具体介绍这几种损失函数。原创 2022-12-24 18:53:07 · 1500 阅读 · 0 评论