文章目录
- 一、数据
 - 1)数据准备
 - 2)标注文件说明
 
- 二、基于yolov5-face 修改自己的yolov5加关键点回归
 - 1、dataloader,py
 - 2、augmentations.py
 - 3、loss.py
 - 4、yolo.py
 
一、数据
1)数据准备
1、手动创建文件夹: yolov5-face-master/data/widerface/train 和 yolov5-face-master/data/widerface/val 
 2、下载的WIDER_train里的images/ 和 标注文件retinaface_gt_v1.1/train/ 里的label.txt 放在 yolov5-face-master/datasets/train/下 (val验证集同理)
 3、执行
cd data/
python3 train2yolo.py ./datasets/train ./data/widerface/train
python3 val2yolo.py ./datasets/val ./data/widerface/val
 
执行train2yolo.py后的data目录:
 
2)标注文件说明
示例:
 label文件: yolov5-face-master/data/widerface/train/0_Parade_Parade_0_1040.txt
0 0.51904296875 0.23813229571984434 0.0732421875 0.08560311284046693 0.5035009765625 0.2264350194552529 0.5433701171875 0.22805058365758757 0.5264765625 0.2425898832684825 0.5035009765625 0.26035953307392995 0.5406669921875 0.2625136186770428
每行15个元素: 
 labels[1:5]:检测框bbox。 
 labels[5:] :5个关键点坐标(x,y)的归一化形式。(依次为左眼、右眼、鼻子、嘴角左、嘴角右。
 (归一化是x/w0,y/h0 ,
注:这儿原图尺寸写成w0,h0 是参考
utils/face_datasets.py/LoadFaceImagesAndLabels类的__getitem__函数。 其中的w0、h0为原图尺寸, w,h为resize的尺寸。
二、基于yolov5-face 修改自己的yolov5加关键点回归
需要修改的文件:dataloader.py、augmentations.py、loss.py、yolo.py 以及自己的inference脚本。



















![[网鼎杯 2020 白虎组]PicDown python反弹shell proc/self目录的信息](https://img-blog.csdnimg.cn/e6348899ae344a7887e07dca86ae5655.png)