赞
踩
ScaledYOLOv4(论文点此)主要在YOLOv4上针对不同计算设备优化其推理速度而提出的一些缩放模型。与先前的EfficientDet不同(参见目标检测:基于Paddle框架的EfficientDet论文复现),EfficientDet 无非是首先选择网络基础模块,它往往又好又快,然后针对影响目标检测的重要参数如:网络宽度w、深度d、输入图像分辨率size等进行(满足一定条件下按照一定规律)调参。
ScaledYOLOv4针对不同的GPU设计不同模型。思路依然是寻找基础模块,然后调整网络宽度w、深度d、输入图像分辨率
CSPDarknet53优化后的模型作为backbone。数据集已挂载至aistudio项目中,如果需要本地训练可以从这里下载数据集,和标签文件
数据集目录大致如下,可根据实际情况修改
Data |-- coco | |-- annotions | |-- images | |-- train2017 | |-- val2017 | |-- test2017 | |-- labels | |-- train2017 | |-- val2017 | |-- train2017.cache(初始解压可删除,训练时会自动生成) | |-- val2017.cache(初始解压可删除,训练时会自动生成) | |-- test-dev2017.txt | |-- val2017.txt | |-- train2017.txt ` `-- validation
python train.py --batch-size 8 --img 896 896 --data coco.yaml --cfg yolov4-p5.yaml --weights '' --sync-bn --device 0 --name yolov4-p5

python train_multi_gpu.py --batch-size 12 --img 896 896 --data coco.yaml --cfg yolov4-p5.yaml --weights '' --sync-bn --name yolov4-p5 --notest
多卡训练项目已提交至脚本任务ScaledYOLOv4
多卡训练日志以及模型可在此处下载,提取码:mxz8
确保已安装pycocotools
pip install pycocotools
python test.py --img 896 --conf 0.001 --batch 8 --data coco.yaml --weights scaledyolov4.pdparams
需要注意到,在test.py的58行指定模型配置文件路径model = Model('/home/aistudio/ScaledYOLOv4-yolov4-large/models/yolov4-p5.yaml', ch=3, nc=80)以及227行的标签路径cocoGt = COCO(glob.glob('/home/aistudio/Data/coco/annotations/instances_val2017.json')[0]),运行后会出现test_batch0_gt.jpg和test_batch0_pred.jpg
验证完成后会生成detections_val2017__results.json并打印验证信息
python detect.py
与验证相同,你需要指定detec.py中33行模型配置文件路径,在inference下放置了一些测试图像,运行结果将会保存在inference/output文件夹下





这里我以一个简单的YOLO格式光栅数据集为例,数据集已上传至AIStudio
其组织结构如下:
Data
|-- guangshan
| |-- images
| |-- train
| |-- val
| |-- labels
| |-- train
| |-- val
| |-- val.txt
| |-- train.txt
另外你需要构建ScaledYOLOv4-Paddle/models/guangshan-yolov4-p5.yaml和ScaledYOLOv4-Paddle/models/guangshan-yolov4-p5.yaml,相关文件已放入相关目录,主要用于指定数据集读取路径和模型配置。
python train.py --batch-size 8 --img 512 512 --data guangshan.yaml --cfg guangshan-yolov4-p5.yaml --weights '' --sync-bn --device 0 --name yolov4-p5 --notest
python test.py --img 512 --conf 0.001 --batch 8 --data guangshan.yaml --weights guangshan.pdparams
注意到你需要修改test.py中配置文件的路径,并注释model.fuse()
Class Images Targets P R mAP@.5 mAP@.5:.95: 100%|██████████████████████████████████████████████| 2/2 [00:05<00:00, 2.69s/it]
all 16 29 0.104 1 0.995 0.714
创建推理的文件目录如下
guangshan
|-- images
|-- output
python detect.py
注意到你需要修改test.py中配置文件的路径,并注释model.fuse()
推理结果保存在ScaledYOLOv4-Paddle/guangshan/output,推理展示如下:
标签

推理

| 姓名 | 郭权浩 |
|---|---|
| 学校 | 电子科技大学研2020级 |
| 研究方向 | 计算机视觉 |
| 主页 | Deep Hao的主页 |
如有错误,请及时留言纠正,非常蟹蟹!
后续会有更多论文复现系列推出,欢迎大家有问题留言交流学习,共同进步成长!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。