一个不知名大学生,江湖人称菜狗
original author: jacky Li
Email : [email protected]
Time of completion:2022.12.23
Last edited: 2022.12.23
Hopenet是一个准确且易于使用的头部姿势估计网络。模型已在 300W-LP 数据集上进行了训练,并在真实数据上进行了测试,具有良好的定性性能。
有关方法和定量结果的详细信息,请查看CVPR研讨会论文。
估计一个人的头部姿势是一个关键问题,它有很大的 应用量,例如帮助视线估计、建模注意力、 将 3D 模型拟合到视频并执行面部对齐。传统头部 姿势是通过从目标面部估计一些关键点并求解来计算的 与平均人头模型的 2D 到 3D 对应问题。我们认为 这是一种脆弱的方法,因为它完全依赖于地标检测 性能,无关的头部模型和临时安装步骤。我们介绍 通过训练多重损失来确定姿势的优雅而稳健的方法 300W-LP上的卷积神经网络,一个大型合成扩展 数据集,用于直接从以下位置预测固有欧拉角(偏航角、俯仰角和横滚角) 通过联合分箱姿势分类和回归的图像强度。我们 对常见的野外姿势基准数据集进行实证检验 显示最先进的结果。此外,我们在数据集上测试我们的方法 通常用于使用深度进行姿势估计,并开始缩小差距 最先进的深度姿势方法。我们开源我们的培训和测试 编写代码并发布我们预先训练的模型。
要使用,请安装 PyTorch 和 OpenCV(用于视频) - 我相信这就是你所需要的,除了通常的库,如 numpy。你需要一个GPU来运行Hopenet(目前)。
要使用 dlib 人脸检测对视频进行测试(头部中心将跳跃):
python code/test_on_video_dlib.py --snapshot PATH_OF_SNAPSHOT --face_model PATH_OF_DLIB_MODEL --video PATH_OF_VIDEO --output_string STRING_TO_APPEND_TO_OUTPUT --n_frames N_OF_FRAMES_TO_PROCESS --fps FPS_OF_SOURCE_VIDEO
要使用您自己的人脸检测对视频进行测试(我们建议使用 dockerface,头部中心会更平滑):
python code/test_on_video_dockerface.py --snapshot PATH_OF_SNAPSHOT --video PATH_OF_VIDEO --bboxes FACE_BOUNDING_BOX_ANNOTATIONS --output_string STRING_TO_APPEND_TO_OUTPUT --n_frames N_OF_FRAMES_TO_PROCESS --fps FPS_OF_SOURCE_VIDEO
人脸边界框批注应采用 Dockerface 格式(n_frame x_min y_min x_max y_max置信度)。
预训练模型:
有关alpha代表的更多信息,请阅读论文。前两个模型用于验证纸张结果,如果用于真实数据,我们建议使用最后一个模型,因为它对图像质量和模糊更可靠,并且在视频上提供良好的结果。
如果您有问题,请打开一个问题。
一些很酷的人在其他平台上对这项工作进行了一些非常酷的实现:
一个非常酷的HopeNet轻量级版本:
@InProceedings{Ruiz_2018_CVPR_Workshops,
author = {Ruiz, Nataniel and Chong, Eunji and Rehg, James M.},
title = {Fine-Grained Head Pose Estimation Without Keypoints},
booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) Workshops},
month = {June},
year = {2018}
}