
YOLOV5
Laughing-q
打工人打工魂打工就是人上人
展开
-
YOLOV5代码解析(更新中)
YOLOV5专栏train.pytest.pydataset.py detect.py utils.py torch_utils.py common.py yolo.py原创 2020-07-20 15:48:33 · 56109 阅读 · 52 评论 -
Yolov5技术总结
Yolov5技术总结Backbone:Detection (YOLO) layer:损失函数:Yolov5-1.0、2.0、3.0:Backbone:Focus: 网络第一层进行 pixel un-shuffling而不是stride=2的卷积;该模块的设计主要是减少计算量加快速度;作者原话:https://github.com/ultralytics/yolov5/issues/847Focus() module is designed for FLOPS reduction and speed原创 2020-09-25 16:38:47 · 9221 阅读 · 24 评论 -
YOLOV5 general.py注释与解析
YOLOV5 general.py注释与解析暂时只做了build_targets和compute_loss函数的注释,主要是今天正好对yolov5的边框回归方式看了一下;有时间再更新其它函数;build_targets函数中有对yolov5边框回归的详细说明,毕竟现在也没有发paper,只能通过代码自己研究,要是有错误,欢迎指正。def build_targets(p, targets, model): """ Args: p: 网络输出,List[torch.ten原创 2020-09-25 16:32:16 · 10687 阅读 · 35 评论 -
YOLOV5检测代码detect.py注释与解析
YOLOV5检测代码detect.py注释与解析检测参数以及main函数解析detect函数解析本文主要对ultralytics\yolov5-v2.0版本的测试代码detect.py的解析,现在v5已经更新了-v3.0版本, 但该代码部分基本上不会有很大的改动,故以下注释与解析都是适用的;当然如果有大改动,笔者也会更新注释。检测参数以及main函数解析if __name__ == '__main__': """ weights:训练的权重 source:测试数据,可以是图片/原创 2020-08-19 10:11:54 · 65796 阅读 · 416 评论 -
YOLOV5网络结构
YOLOV5网络结构github代码地址:ultralytics\yolov5,v5还在开发当中,目前的网络结构如下图,要是网络结构有更新,笔者也会更新结构图。下图括号中四个数字代表:(输入通道、输出通道、卷积核大小、步长);两个数字代表:(输入通道、输出通道);一个数字代表:(输出通道);且上采样是采用nearst插值,两倍上采样;x N表示堆叠此模块N次。yolov5网络结构图至于Focus的部分附上代码帮助理解:def forward(self, x): # x(b,c,w,h)原创 2020-07-22 14:08:57 · 75646 阅读 · 166 评论 -
YOLOV5dataset.py代码注释与解析
YOLOV5训练时数据加载模块代码注释与解析本文主要对ultralytics\yolov5在训练时的数据加载模块的dataset.py代码进行注释和解析。当然dataset.py中还有其他时候(例如detect时)所用到的加载方法(例如LoadImages、LoadWebcam等),本文主要是对训练时用到的LoadImagesAndLabels类的相关注释。import globimport mathimport osimport randomimport shutilimport time原创 2020-07-15 16:40:23 · 22425 阅读 · 87 评论 -
YOLOV5训练代码train.py注释与解析
YOLOV5训练代码train.py注释与解析训练参数以及main函数解析train函数解析本文主要对ultralytics\yolov5的训练代码train.py的解析,由于yolov5还在开发当中,平常多多少少都会修复一些bug或者有一些代码和功能的更新,但基本上不会有很大的改动,故以下注释与解析都是适用的;当然如果有大改动,笔者也会更新注释。训练参数以及main函数解析训练的时候可以设置进行超参数进化算法(默认不使用)。值得一提的是,由于现在yolov5还在开发当中,训练文件的–resume还原创 2020-07-20 15:28:33 · 79321 阅读 · 170 评论 -
YOLOV5测试代码test.py注释与解析
YOLOV5测试代码test.py注释与解析测试参数以及main函数解析test函数解析本文主要对ultralytics\yolov5的训练代码train.py的解析,由于yolov5还在开发当中,平常多多少少都会修复一些bug或者有一些代码和功能的更新,但基本上不会有很大的改动,故以下注释与解析都是适用的;当然如果有大改动,笔者也会更新注释。测试参数以及main函数解析if __name__ == '__main__': """ opt参数详解 weights:测试的模型权重原创 2020-07-20 15:38:55 · 30649 阅读 · 192 评论