基于 Yolov4 和 Yolov4-tiny 的 Human Detector 训练记录
网络训练
序言本实验总体目标是基于 Yolov4 和 Yolov4-tiny,训练仅包含“人类”一类的人体检测器(Human Detector);
本文档包含:
Human Detector 使用步骤:描述如何使用预训练好的基于 Yolov4 和 Yolov4-tiny 的 Human Detector(以下简称 HD_yolov4, HD_yolov4_tiny);
自定义数据集训练 Yolov4 & Yolov4-tiny:描述如何使用自定义数据集训练 Yolov4 和 Yolov4-tiny;
性能对比: Yolov4 和 Yolov4-tiny 分别作为 Base Model 的 Human Detector 精度和速度对比。
基本信息数据集:COCO 2017 的仅 human 类
1、Human Detector 使用步骤下载 pretrained model:
新建 backup 文件夹,并将以下 pretrained model 权重文件放入。
编译:
视频 demo 测试:
以 HD_yolov4_tiny 为例,通过以下命令对测试视频 tslist.mp4(提取码:h21b) 进行检测,并输出保存为 tiny_yolov4_demo.mp4。
./darknet detector demo data/obj.data cfg/human_detector_yolov4-tiny-custom.cfg backup/human_detector_yolov4-tiny-custom_best.weights -ext_output tslist.mp4 -i 0 -thresh 0.30 -out_filename tiny_yolov4_demo.mp4
data/obj.data 中可进行测试集配置
cfg/human_detector_yolov4-tiny-custom.cfg 是模型的配置文件
./backup/human_detector_yolov4-tiny-custom_best.weights 是上述下载的 pretrained model
-ext_output 是在画面中显示检测 bbox
-i 输入视频,默认为 0
-thresh 检测出的 bbox 阈值,低于该阈值的 bbox 框将不被显示在画面中
-out_filename 是输出视频的命名
假如视频帧率太大不方便查看,可用以下命令将其转换为帧率为 10 的视频片段。
ffmpeg -y -r 30 -i tiny_yolov4_demo.mp4 -r 10 tiny_yolov4_demo_fps10.mp4
可以直接运行 video_tiny.sh & video_yolov4.sh 脚本分别对 HD_yolov4_tiny 和 HD_yolov4 进行测试。
测试模型性能:
以 HD_yolov4_tiny 为例,测试模型精度 mAP (mean average precisions):
./darknet detector map data/obj.data cfg/human_detector_yolov4-tiny-custom.cfg ./backup/human_detector_y