文章目录
-
-
- 一、数据
- [二、基于yolov5-face 修改自己的yolov5加关键点回归](#二、基于yolov5-face 修改自己的yolov5加关键点回归)
-
一、数据
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、执行
bash
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脚本。