惯例先放效果
所有代码包含训练、测试图片视频打包在: 地址
git clone https://github.com/YunYang1994/tensorflow-yolov3
或者点此下载压缩包
配置了conda自然很方便
conda create -n yolov3 python=3.6
y
conda activate yolov3
cd 下载路径/tensorflow-yolov3
pip install -r ./docs/requirements.txt
没有也没关系(只要你不怕环境乱)
cd tensorflow-yolov3
pip install -r ./docs/requirements.txt
下载,并解压到checkpoint目录
https://github.com/YunYang1994/tensorflow-yolov3/releases/download/v1.0/yolov3_coco.tar.gz
如果你用的linux,那也可以命令的方式
cd checkpoint
wget https://github.com/YunYang1994/tensorflow-yolov3/releases/download/v1.0/yolov3_coco.tar.gz
tar -xvf yolov3_coco.tar.gz
cd ..
python convert_weight.py
python freeze_graph.py
python image_demo.py
python video_demo.py # if use camera, set video_path = 0
=======环境没问题,下面正式开始训练=====
一堆图片(这里只有五百张左右)
图片对应的标签:(可以考虑labelme之类的工具手动标注)
格式:图片路径(空格)矩形框左上和右下角坐标(空格)标签(空格)下一个矩形框位置+标签
label.name里存储和标签对应的名字,例如这里就只有一个snowman,刚刚标签里也只有0
修改./core/config.py里的配置路径
__C.YOLO.CLASSES = "./label.names"
__C.TRAIN.ANNOT_PATH = "./yolo_snowman_train.txt"
__C.TEST.ANNOT_PATH = "./yolo_snowman_test.txt"
显存不够的同学可以适当减少训练batch大小(__C.TRAIN.BATCH_SIZE )
从coco数据集预训练结果进行迁移学习:
python convert_weight.py --train_from_coco
python train.py
如果数据量够,不想从头训练,直接
python train.py即可
开始训练:
tensorboard看一下效果:
tensorboard --logdir=./data
浏览器打开 http://localhost:6006/#scalars
很稳妥
挑选一个合适的训练文件以及修改输出pb文件名字运行freeze_graph.py
pb_file = "./snowman.pb"
ckpt_file = "./checkpoint/yolov3_test_loss=3.2343.ckpt-37"
python snowman_test.py
效果如图:(没错,和一开始的不是同一段,哈哈哈)
提前祝大家圣诞节快乐,233
雪人数据来源:
https://www.learnopencv.com/training-yolov3-deep-learning-based-custom-object-detector/
代码来源:
https://github.com/YunYang1994/tensorflow-yolov3