
从零开始学习YOLOv3
文章平均质量分 93
*pprp*
GiantPandaCV公众号作者,研究方向automl,nas
展开
-
天池竞赛-布匹缺陷检测baseline提升过程-给yolov5模型添加注意力机制
这次比赛选择了官方提供的baseline yolov5进行训练,一开始使用的是yolov5s.yml配置文件进行训练的,并且数据也只是train2一小部分,由于笔者这里服务器只有一个1080Ti的可以使用,所以实验跑起来速度还是有点慢的,做的尝试也不是很多,下面是流水账。第一次提交就是使用了train2部分数据集,设置了50个epoch,使用迁移学习,分辨率设置为500x500,花费大概2个小时训练完成。这个成绩的acc还不错,是因为conf thresh设置的值比较低,所以acc可以达到比较高的结果。原创 2021-02-25 18:23:07 · 15080 阅读 · 96 评论 -
【CV中的Attention机制】模块梳理合集
文章目录0. 总述1. SENet(CVPR18)2. SKNet(CVPR19)3. CBAM(ECCV18)&BAM(BMVC18)&scSE(MICCAI18)4. Non-Local Network(CVPR19)5. GCNet(ICCVW19)6. CCNet(ICCV19)7. Shuffle Attention(ICASSP21)8. ECANet(CVPR20)9. SGENet(CoRR19)10. GSoPNet(CVPR19)11. FCANet(CoRR20)12.原创 2021-02-16 09:11:56 · 1823 阅读 · 0 评论 -
我们是如何改进YOLOv3进行红外小目标检测的?
【GiantPandCV导语】本文将介绍BBuf、小武和笔者一起在过年期间完成的一个目标检测项目,将描述我们模型改进的思路、实验思路、结果汇总和经验性总结。声明:这篇文章经过了三人同意,并且所有创新点也将被公布。此外,由于经验上的不足,可能整个实验思路不够成熟,比不上CV大组的严谨性和完备性,如有问题还烦请指教。1. 红外小目标检测红外小目标检测的目标比较小,目标极其容易和其他物体混淆,有一定的挑战性。另外,这本质上也是一个小目标领域的问题,很多适用于小目标的创新点也会被借鉴进来。此外,该数据集还原创 2020-09-10 09:47:59 · 6546 阅读 · 31 评论 -
【从零开始学习YOLOv3】2. YOLOv3中的代码配置和数据集构建
前言:本文是讲的是如何配置pytorch版本的yolov3、数据集处理、常用的命令等内容。该库的数据集格式既不是VOC2007格式也不是MS COCO的格式,而是一种新的格式,跟着文章一步一步来,很简单。另外我们公众号针对VOC2007格式数据集转化为本库所需要格式特意开发了一个简单的数据处理库。1. 环境搭建将github库download下来。git clone https://...原创 2020-01-17 14:48:56 · 1964 阅读 · 17 评论 -
【从零开始学习YOLOv3】2. 代码配置和数据集处理
前言:本文是讲的是如何配置pytorch版本的yolov3、数据集处理、常用的命令等内容。该库的数据集格式既不是VOC2007格式也不是MS COCO的格式,而是一种新的格式,跟着文章一步一步来,很简单。另外我们公众号针对VOC2007格式数据集转化为本库所需要格式特意开发了一个简单的数据处理库。1. 环境搭建将github库download下来。git clone https://...原创 2020-03-31 11:51:06 · 1678 阅读 · 20 评论 -
【从零开始学习YOLOv3】8. YOLOv3中Loss部分计算
YOLOv1是一个anchor-free的,从YOLOv2开始引入了Anchor,在VOC2007数据集上将mAP提升了10个百分点。YOLOv3也继续使用了Anchor,本文主要讲ultralytics版YOLOv3的Loss部分的计算, 实际上这部分loss和原版差距非常大,并且可以通过arc指定loss的构建方式, 如果想看原版的loss可以在下方release的v6中下载源码。Githu...原创 2020-03-29 08:45:43 · 2971 阅读 · 1 评论 -
【从零开始学习YOLOv3】1. cfg文件解析
前言: 与其他框架不同,Darknet构建网络架构不是通过代码直接堆叠,而是通过解析cfg文件进行生成的。cfg文件格式是有一定规则,虽然比较简单,但是有些地方需要对yolov3有一定程度的熟悉,才能正确设置。下边以yolov3.cfg为例进行讲解。1. Net层[net]#Testing#batch=1 #subdivisions=1#在测试的时候,设置batch=1,subd...原创 2020-03-21 17:05:58 · 3917 阅读 · 8 评论 -
【从零开始学习YOLOv3】5. 网络模型的构建
前言:之前几篇讲了cfg文件的理解、数据集的构建、数据加载机制和超参数进化机制,本文将讲解YOLOv3如何从cfg文件构造模型。本文涉及到一个比较有用的部分就是bias的设置,可以提升mAP、F1、P、R等指标,还能让训练过程更加平滑。1. cfg文件在YOLOv3中,修改网络结构很容易,只需要修改cfg文件即可。目前,cfg文件支持convolutional, maxpool, unsa...原创 2020-03-07 09:24:46 · 3086 阅读 · 0 评论 -
【从零开始学习YOLOv3】4. YOLOv3中的参数搜索
前言:YOLOv3代码中也提供了参数搜索,可以为对应的数据集进化一套合适的超参数。本文建档分析一下有关这部分的操作方法以及其参数的具体进化方法。1. 超参数YOLOv3中的 超参数在train.py中提供,其中包含了一些数据增强参数设置,具体内容如下:hyp = {'giou': 3.54, # giou loss gain 'cls': 37.4, # cls los...原创 2020-03-07 09:16:23 · 2196 阅读 · 17 评论 -
【从零开始学习YOLOv3】3.YOLOv3的数据组织和处理
前言:本文主要讲YOLOv3中数据加载部分,主要解析的代码在utils/datasets.py文件中。通过对数据组织、加载、处理部分代码进行解读,能帮助我们更快地理解YOLOv3所要求的数据输出要求,也将有利于对之后训练部分代码进行理解。1. 标注格式在上一篇【从零开始学习YOLOv3】2. YOLOv3中的代码配置和数据集构建 中,使用到了voc_label.py,其作用是将xml文件转...原创 2020-03-07 09:13:52 · 1343 阅读 · 0 评论 -
【从零开始学习YOLOv3】7. 教你在目标检测中添加Attention机制
前言:【从零开始学习YOLOv3】系列越写越多,本来安排的内容比较少,但是在阅读代码的过程中慢慢发掘了一些新的亮点,所以不断加入到这个系列中。之前都在读YOLOv3中的代码,已经学习了cfg文件、模型构建等内容。本文在之前的基础上,对模型的代码进行修改,将之前Attention系列中的SE模块和CBAM模块集成到YOLOv3中。1. 规定格式正如[convolutional],[maxpo...原创 2020-01-29 19:25:28 · 16246 阅读 · 147 评论 -
【从零开始学习YOLOv3】6. YOLOv3中的YOLOLayer解析和推理过程
前言:上次讲了YOLOv3中的模型构建,从头到尾理了一遍从cfg读取到模型整个构建的过程。其中模型构建中最重要的YOLOLayer还没有梳理,本文将从代码的角度理解YOLOLayer的构建与实现。1. Grid创建YOLOv3是一个单阶段的目标检测器,将目标划分为不同的grid,每个grid分配3个anchor作为先验框来进行匹配。首先读一下代码中关于grid创建的部分。首先了解一下py...原创 2020-01-22 17:16:10 · 2221 阅读 · 3 评论