PDDsa / customize-training-with-yolov3

Customize training with YOLOv3

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Customize training with YOLOv3

编译darknet

git clone https://github.com/pjreddie/darknet
cd darknet/
make

创建工程

  • 工程目录结构
├── darknet53.conv.74      基于imagenet的预训练模型
└── open-close          工程目录
    ├── backup          存储模型训练时权重值
    ├── cfg            配置目录
    │   ├── train.txt      存储用于训练的图像路径
    │   ├── valid.txt      存储用于验证的图像路径
    │   ├── yolo.data       配置文件
    │   ├── yolo.names      标签名
    │   └── yolov3.cfg      YOLOv3神经网络文件
    ├── data
    │   └── labels        预测时用于显示标签名字
    │       ├── 100_0.png
    │       ├── 100_1.png
    │       ├── ......
    │       └── make_labels.py
    ├── images           图像样本集
    │   ├── IMG_9255.JPG
    │   ├── IMG_9263.JPG
    │   ├── IMG_9266.JPG
    │   └── IMG_9280.JPG
    ├── labels           PASCAL VOC格式的标注
    │   ├── IMG_9255.xml
    │   ├── IMG_9263.xml
    │   ├── IMG_9266.xml
    │   └── IMG_9280.xml
    ├── predictions        预测后的图像
    │   ├── IMG_9256.jpg
    │   ├── IMG_9265.jpg
    │   ├── IMG_9271.jpg
    │   ├── IMG_9272.jpg
    │   └── IMG_9290.jpg
    ├── test-images        测试图像
    │   ├── IMG_9256.JPG
    │   ├── IMG_9265.JPG
    │   ├── IMG_9271.JPG
    │   ├── IMG_9272.JPG
    │   └── IMG_9290.JPG
    ├── weights
    │   └── yolov3_final.weights 训练出来的模型
    └── yolos             YOLOv3格式的标注
        ├── IMG_9255.JPG
        ├── IMG_9255.txt
        ├── IMG_9263.JPG
        ├── IMG_9263.txt
        ├── IMG_9266.JPG
        ├── IMG_9266.txt
        ├── IMG_9280.JPG
        └── IMG_9280.txt
  • 训练的样本:train.txt
yolos/IMG_9255.JPG
yolos/IMG_9266.JPG
yolos/IMG_9280.JPG
  • 验证的样本:valid.txt
yolos/IMG_9263.JPG
  • 标注类型:yolo.names
close
open
  • 配置文件:yolo.data
classes= 2
train  = cfg/train.txt
valid  = cfg/valid.txt
names = cfg/yolo.names
backup = backup
  • 修改YOLO神经网络文件:yolov3.cfg
603行:filters=21    # (classes + 5)*3
610行:classes=2
689行:filters=21
696行:classes=2
776行:filters=21
783行:classes=2
  • 使用LabelImg标注图像样本集
python3 labelImg.py [图像目录] [标注名字文件] [标注目录]

python3 labelImg.py open-close/yolos/ open-close/cfg/yolo.names

wget https://pjreddie.com/media/files/darknet53.conv.74

训练和预测

  • 样本训练
../darknet detector train cfg/yolo.data cfg/yolov3.cfg ../darknet53.conv.74
  • 图像预测
../darknet detector test cfg/yolo.data cfg/yolov3.cfg weights/yolov3_final.weights test-images/IMG_9256.JPG

参考资料

About

Customize training with YOLOv3

License:MIT License


Languages

Language:Python 100.0%