yolov3检测人头_基于yolo_v3的人脸检测

一.实验环境的搭建

1. 安装环境配置:

Python=3.6、tensorflow-gpu==1.6.0、Keras、pillow、opencv-python、matplotlib、numpy

没有通过pip安装(例如:pip install keras)

2. 启动虚拟环境,并且安装对应的实验环境

从darknet官网下载yolov3.weights,将模型保存在keras-yolo3目录下,

3. 模型转换

因为keras的模型文件是h5格式,所以需要将.weights转换成.h5

到keras-yolo3-master目录下,在命令行模式执行

python convert.py -w yolov3.cfg yolov3.weights model_data/yolo.h5

4. 测试

python yolo_video.py --images

当提示:Input image filename时,输入图片路径(比如:images/xxx.jpg)

接着会弹出一张框出目标的图片

二. 人脸数据集的介绍及准备

数据的下载 1. 数据集的下载 本实验使用了:WIDER_train.zip、wider_face_split.zip 2. 数据集的预处理(格式转换) 将数据集的格式转换至VOC数据集格式: 参考博客https://blog.csdn.net/minstyrain/article/details/77986262

三.相关代码的修改及训练

1. 预训练模型的转换 从darknet官网下载darknet53.conv.74模型至keras-yolo3-master文件夹下; 模型下载好后,重命名模型: darkent53.conv.74修改为darknet53.weights 然后利用代码进行.h5模型的转换:

python convert.py -w darknet53.cfg darknet53.weights model_data/darknet53_weights.h5

2. 在model_data文件夹下新建face.txt文件,内容如下:

face

修改部分的代码:

annotation_path = 'path/to/your/train.txt' ##根据自己的文件路径改

log_dir = 'logs/your/logs/name'

classes_path = 'model_data/face.txt'

anchors_path ='model_data/yolo_anchors.txt'

在keras-yolo3-master文件夹下,执行

python train.py

训练后最终的模型保存在设置log_dir的文件夹下

四.使用训练好的人脸检测模型

1. 准备模型

用下载到的yolov3-tiny.weights,yolov3-tiny.cfg放到keras-yolo3-master文件夹下,用convert.py生成yolov3_tiny.h5

python convert.py -w yolov3-tiny.cfg yolov3-tiny.weights model_data/yolov3_tiny_face_model.h5

2. 修改yolo.py代码 需要修改的内容为:

"model_path": 'model_data/yolov3_tiny_face_model.h5',

"anchors_path": 'model_data/tiny_yolo_anchors.txt',

"classes_path": 'model_data/face.txt',

3. 模型效果测试 输入指令:

python yolo_video.py –image

新images文件夹,用于放要测试的图片

当提示:Input image filename时,输入图片路径(比如:images/xxx.jpg)

你可能感兴趣的:(yolov3检测人头)