yolov5 pytorch配置教程
yolov4没发布多久,yolov5就出世了,本着最新的也是最好的心态,果断在服务器上配置好了yolov5, 来跑一跑,不得不说yolov5配置环境比yolov4方便太多了,训练流程也很简单。
代码
https://github.com/ultralytics/yolov5 点击
yolov5和yolov4的区别:
yolov5和yolov4整体的网络结构没有什么大的变化。
yolov5 存在 s,m,l,x四种模型,网络结构是一样的,但模型的深度和宽度是不同的。s模型最小,速度最快,但精度也最低。
-
yolov5使用了自适应的锚框,而yolov4没有
-
yolov5缩放到416×416 填充最小的黑边,减少了信息的冗余——datasets.py的letterbox函数中
-
yolov5在输入层增加了Focus结构,只是提高了速度,对精度没有提升
-
相比于yolov4, yolov5设计了两种CSP结构,一种用于主干网络,一种用于Neck中。
-
yolov5 neck结构刚开始时只有FPN结构,后面有学习了yolov4的,加上了PAN. ——FPN 是 自顶向下 的特征融合,PAN是自底向上。
-
yolov5 使用的是GIOU_Loss做bounding_box损失函数,而yolov4使用的是CIOU_Loss,理论上,CIoU收敛更快,性能更好
-
非极大值抑制中,yolov5采用加权nms的方式,而yolov4在前向推理的过程中使用的方法是DIoU_nms。DIoU_nms在检测遮挡重叠目标时效果更好。
创建pytorch环境
安装anconda
anaconda安装包可以到清华镜像网站下载。此处直达
新建pytorch环境
conda create -n pytorch python=3.6
激活pytorch环境
conda activate pytorch
配置pytorch
离线下载比较快,稍后我会提供百度云[^1]
配置yolov5
按照requirements.txt 文件,少什么配什么,基本上都是1~2M,同样使用清华大学镜像源
pip install ...
训练yolov5
$ python train.py --data coco.yaml --cfg yolov5s.yaml --weights '' --batch-size 64
yolov5m 40
yolov5l 24
yolov5x 16
测试yolov5
$ python detect.py --source 0 # webcam
file.jpg # image
file.mp4 # video
path/ # directory
path/*.jpg # glob
'https://youtu.be/NUsoVlDFqZg' # YouTube
'rtsp://example.com/media.mp4' # RTSP, RTMP, HTTP stream