当前位置:   article > 正文

基于YOLOv5的人脸目标检测_yolov5识别人脸

yolov5识别人脸

本文是在之前的基于yolov5的人脸关键点检测项目上扩展来的。因为人脸目标检测的效果将直接影响到人脸关键点检测的效果,因此本文主要讲解利用yolov5训练人脸目标检测(关键点检测可以看我人脸关键点检测文章)

基于yolov5的人脸关键点检测:人脸关键点检测


环境说明

torch>=1.5.0

数据集

这里使用的人脸数据集为WIDER FACE

该数据集共有12880张图像

引用说明:

@inproceedings{yang2016wider,
Author = {Yang, Shuo and Luo, Ping and Loy, Chen Change and Tang, Xiaoou},
Booktitle = {IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
Title = {WIDER FACE: A Face Detection Benchmark},
Year = {2016}}

下载数据集并解压至datasets,images中是图像,labels中是对应标签文件(已经做了归一化)

 其中train_bak.txt是所有图像的相对路径(注意此时还没有划分真正的训练集、验证机和测试集),格式为:

./images/xxx.jpg

数据集百度云:

 链接:https://pan.baidu.com/s/1O7pgjy77ur21jMm4lwwuQw 
提取码:yypn 
 

数据集划分脚本

tran_bak.txt包含了12880张图像的相对路径

该脚本可以生成train.txt、val.txt和test.txt。如果你感觉训练过程毕竟慢,希望可以先得到一个训练模型,那么可以将lines=lines[:2000]注释去掉,这将仅从数据集中选择2000张图来进行训练和测试

  1. with open('datasets/train_bak.txt', 'r') as f:
  2. lines = f.readlines()
  3. # lines = lines[:2000] # 只取2000张
  4. # 随机打乱数据
  5. random.shuffle(lines)
  6. # 划分比例
  7. val_ratio = 0.1 # 验证集占比
  8. test_ratio = 0.1 # 测试集占比
  9. # 计算划分的索引
  10. val_index = int(len(lines) * val_ratio)
  11. test_index = int(len(lines) * (val_ratio + test_ratio))
  12. # 划分数据集
  13. val_data = lines[:val_index]
  14. test_data = lines[val_index:test_index]
  15. train_data = lines[test_index:]
  16. # 保存划分后的数据集到文件
  17. with open('datasets/val.txt', 'w') as f:
  18. f.writelines(val_data)
  19. with open('datasets/test.txt', 'w') as f:
  20. f.writelines(test_data)
  21. # 剩余的部分作为训练集
  22. with open('datasets/train.txt', 'w') as f:
  23. f.writelines(train_data)

新建mydata.yaml

上面完成了数据集的划分,然后和正常的yolov5训练一样,需要在data/下新建一个mydata.yaml文件,内容如下:

  1. train: ./datasets/train.txt
  2. val: ./datasets/val.txt
  3. test: ./datasets/test.txt
  4. # number of classes
  5. nc: 1
  6. # class names
  7. names: ['face']

训练

python train.py --data data/mydata.yaml --weights yolov5s.pt

我这里仅训练了10个epoch(需要的可以自己继续训练),评价指标如下:

RPmAP_0.5mAP_0.5:0.95
0.521
0.7987
0.59592
0.28344

 

batch中标签预览图: 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/799379
推荐阅读
相关标签
  

闽ICP备14008679号