Skip to content

Latest commit

 

History

History
301 lines (263 loc) · 13.3 KB

README.zh-CN.md

File metadata and controls

301 lines (263 loc) · 13.3 KB
语言: 🇨🇳 🇺🇸

«YOLOv2» 复现了论文 "YOLO9000: Better, Faster, Stronger"

  • 使用VOC07+12 trainval数据集进行训练,使用VOC2007 Test进行测试,输入大小为640x640。测试结果如下:
Original (darknet) tztztztztz/yolov2.pytorch zjykzj/YOLOv2(This) zjykzj/YOLOv2(This)
ARCH YOLOv2 YOLOv2 YOLOv2 YOLOv2-Fast
GFLOPs / / 69.5 48.5
DATASET(TRAIN) VOC TRAINVAL 2007+2012 VOC TRAINVAL 2007+2012 VOC TRAINVAL 2007+2012 VOC TRAINVAL 2007+2012
DATASET(VAL) VOC TEST 2007 VOC TEST 2007 VOC TEST 2007 VOC TEST 2007
INPUT_SIZE 416x416 416x416 640x640 640x640
PRETRAINED TRUE TRUE FALSE FALSE
VOC AP[IoU=0.50:0.95] / / 44.3 29.8
VOC AP[IoU=0.50] 76.8 72.7 75.1 62.6
  • 使用COCO train2017数据集进行训练,使用COCO val2017数据集进行测试,输入大小为640x640。测试结果如下:(注意:原始论文使用COCO test-dev2015的评估结果
Original (darknet) zjykzj/YOLOv2(This) zjykzj/YOLOv2(This)
ARCH YOLOv2 YOLOv2 YOLOv2-Fast
GFLOPs / 69.7 48.8
DATASET(TRAIN) / COCO TRAIN2017 COCO TRAIN2017
DATASET(VAL) / COCO VAL2017 COCO VAL2017
INPUT_SIZE 416x416 640x640 640x640
PRETRAINED TRUE FALSE FALSE
COCO AP[IoU=0.50:0.95] 21.6 28.6 20.1
COCO AP[IoU=0.50] 44.0 50.7 41.2

内容列表

最近新闻

  • [2024/05/04]v1.0.0. 重构YOLOv2工程,集成yolov5-v7.0,重新实现YOLOv2/YOLOv2-fast以及YOLOv2Loss。
  • [2023/07/16]v0.3.0. 添加ultralytics/yolov5(485da42) 预处理实现。
  • [2023/06/28]v0.2.1. 重构数据模块。
  • [2023/05/21]v0.2.0. 重构损失函数,并且增加了Darknet-53作为Backbone。
  • [2023/05/09]v0.1.2. 更新COCO数据集和VOC数据集的训练结果。
  • [2023/05/03]v0.1.1. 修复转换函数,并且更新了yolov2_voc.cfgyolov2-tiny_voc.cfg在VOC2007 Test上的训练结果。
  • [2023/05/02]v0.1.0. 完成了YOLOv2的训练/评估/预测功能,同时提供了VOC2007 Test的测试结果。

背景

YOLOv2在YOLOv1的基础上增加了很多的创新。对于网络结构,它创建了Darknet-19;对于损失函数,他设置锚点框来帮助网络更好的训练。相比于YOLOv1,YOLOv2拥有更好的性能。

本仓库参考了很多的实现,包括tztztztztz/yolov2.pytorchyjh0410/yolov2-yolov3_PyTorchzjykzj/YOLOv3

注意:当前本仓库最新的实现完全基于ultralytics/yolov5 v7.0

安装

pip3 install -r requirements.txt

或者使用Docker Container

docker run -it --runtime nvidia --gpus=all --shm-size=16g -v /etc/localtime:/etc/localtime -v $(pwd):/workdir --workdir=/workdir --name yolov2 ultralytics/yolov5:v7.0

用法

训练

python3 train.py --data VOC.yaml --weights "" --cfg yolov2_voc.yaml --img 640 --device 0 --yolov2loss
python3 train.py --data VOC.yaml --weights "" --cfg yolov2-fast_voc.yaml --img 640 --device 0 --yolov2loss
python3 train.py --data coco.yaml --weights "" --cfg yolov2.yaml --img 640 --device 0 --yolov2loss
python3 train.py --data coco.yaml --weights "" --cfg yolov2-fast.yaml --img 640 --device 0 --yolov2loss

评估

# python3 val.py --weights runs/train/voc/exp/weights/best.pt --data VOC.yaml --img 640 --device 0
yolov2_voc summary: 53 layers, 50645053 parameters, 0 gradients, 69.5 GFLOPs
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 155/155 00:41
                   all       4952      12032      0.735      0.711      0.751      0.443
Speed: 0.1ms pre-process, 3.1ms inference, 1.3ms NMS per image at shape (32, 3, 640, 640)
# python3 val.py --weights runs/train/voc/exp3/weights/best.pt --data VOC.yaml --img 640 --device 0
yolov2-fast_voc summary: 33 layers, 42367485 parameters, 0 gradients, 48.5 GFLOPs
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 155/155 00:37
                   all       4952      12032      0.626      0.612      0.626      0.298
Speed: 0.1ms pre-process, 2.3ms inference, 1.5ms NMS per image at shape (32, 3, 640, 640)
# python3 val.py --weights runs/train/coco/exp/weights/best.pt --data coco.yaml --img 640 --device 0
yolov2 summary: 53 layers, 50952553 parameters, 0 gradients, 69.7 GFLOPs
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 157/157 00:57
                   all       5000      36335      0.627       0.48      0.507      0.286
Speed: 0.1ms pre-process, 3.1ms inference, 2.0ms NMS per image at shape (32, 3, 640, 640)
# python3 val.py --weights runs/train/coco/exp2/weights/best.pt --data coco.yaml --img 640 --device 0
yolov2-fast summary: 33 layers, 42674985 parameters, 0 gradients, 48.8 GFLOPs
                 Class     Images  Instances          P          R      mAP50   mAP50-95: 100%|██████████| 157/157 00:53
                   all       5000      36335      0.549      0.402      0.412      0.201
Speed: 0.1ms pre-process, 2.4ms inference, 2.1ms NMS per image at shape (32, 3, 640, 640)

预测

python3 detect.py --weights runs/yolov2_voc.pt --source ./assets/voc2007-test/

python3 detect.py --weights runs/yolov2_coco.pt --source ./assets/coco/

主要维护人员

  • zhujian - Initial work - zjykzj

致谢

参与贡献方式

欢迎任何人的参与!打开issue或提交合并请求。

注意:

许可证

Apache License 2.0 © 2023 zjykzj