原文:Yolov8 人脸关键点检测 - 知乎 (zhihu.com)

基于yolov8的人脸检测,带关键点检测。主要基于yolov8 姿态估计进行修改:

Ctrl CV:Yolov8 姿态估计20 赞同 · 39 评论文章

人脸关键点有5个点,分别为左右两个嘴角,两个眼睛的中心,鼻子,这5个关键点属于人脸内部关键点,根据它们就可以计算出人脸的姿态。

一、数据集下载 widerface

http://shuoyang1213.me/WIDERFACE/​shuoyang1213.me/WIDERFACE/

二、数据准备

将数据处理成yolo格式,并划分train、val

这里与姿态估计不同的是人脸关键点只有5个,每个关键点由x,y组成,因此一组标注信息共(1+4+5*2)=15个数字。即每一行都有15个数字标注。

三、模型训练

1、修改模型配置文件yolov8n-widerface.yaml

2、数据配置文件widerface.yaml

3、训练

from ultralytics import YOLO
# Load a model
model = YOLO('yolov8s-widerface.yaml')  # build a new model from YAML
model = YOLO('yolov8s-pose.pt')  # load a pretrained model (recommended for training)

# Train the model
# model.train(data='widerface.yaml', epochs=300, imgsz=640, batch=16)
model.train(data='widerface.yaml', epochs=1, imgsz=640, batch=32)  这里只训练1个 epoch

4、测试

# 图片
yolo pose predict model=runs/pose/train/weights/best.pt source='https://ultralytics.com/images/bus.jpg' show=True save=True

# 视频
yolo pose predict model=runs/pose/train/weights/best.pt source=0 show=True save=True

由于这里只运行了一个epoch, 效果有待提高。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐