Head Pose Estimation头部姿态估计任务的基本了解:从数据集开始

【头部姿态】头部姿态检测(一) 头部姿态检测是通过2D图像映射到3D图像,得到人脸姿态的朝向,主要检测的参数有三个,分别是pitch(围绕X轴旋转),yaw(围绕Y轴旋转)和roll(围绕Z轴旋转),分别学名俯仰角、偏航角和滚转角,就是抬头、摇头和转头。 主要的检测方法有三种: 1、经典版:2D人脸关键点检测--->3D人脸模型匹配求解--->3D点和对应2D点的转换关系--->根据旋转矩阵求... 阅读详情


前言

为了检测司机的疲劳状态,除了基于人脸关键点的检测去判断是否闭眼,是否打哈欠,还可以基于头部的姿态取判断是否正视前方,或者低头睡觉.那么准确的头部姿态估计,必不可少.此前,我们基于PnP算法取估计HPE,但误差较大.因此,我们决定在YOLOLandmark基础上添加额外的任务,即人脸检测,人脸关键点检测以及头部姿态检测,三个任务整合到一起.


一、HPE是什么?

Head Pose Estimation,即头部姿态估计,一般用6D元素表示,即空间坐标(x,y,z),空间旋转角度(yaw, roll, pitch)等来表示.有些时候空间位置可在二维图像中定位出bounding-box的二维坐标即可,主要是空间旋转角度的估计是一个关键问题.

这个问题,难点在哪里?
单一的HPE任务,已经是个old任务,通常做法是cropped face输入到ResNet,然后设计一个head估计三个角度.因此,单一的任务在标准的数据集上做训练,这不是一个难的问题.

如果将三个task整合到一起,就会遇到问题.没有完整的数据集同时满足这三个任务的训练,比如,dataA提供来人脸关键点的标注适合人脸检测和人脸关键点检测,dataB提供人脸关键点和姿态的标注,适合关键点与姿态的检测.如果设计一个网络,同时能够单阶段的把三个任务完成,这件事情目前还没有人这么做.

二、常用数据集

1.COFW

原地址下载:caltech
这个数据集主要是包含人脸遮挡的数据集,如下所示:
在这里插入图片描述
所以它并不包含head pose的信息.每张人脸包含29个关键点的标注信息

2.WFLW

Wider Facial Landmarks in-the-wild (WFLW)包含10000张人脸,7500张用于训练,2500张用于测试.每个人脸包含98个人工标记点.此外,除来关键点的标记,还包括来丰富的背景,例如遮挡,大角度,化妆,照明,模糊和表情等用于当前有竞争力的算法去充分的分析.

data sit: LAB

该数据集主要用于验证算法在复杂背景下FLD的鲁棒性.

3.AFLW2000-3D

AFLW2000-3D is a dataset of 2000 images that have been annotated with image-level 68-point 3D facial landmarks. This dataset is used for evaluation of 3D facial landmark detection models. The head poses are very diverse and often hard to be detected by a CNN-based face detector.

下载链接:3dffa

samples:

在这里插入图片描述
这个数据集提供来丰富的3DMMA信息,即3D Face Landmarks, Head Pose等信息.
因此,该数据集可用于head pose的评估,但该数据集包含了大角度的偏转,会对我们的检测器提出漏检的挑战.

4.300W-LP

同样,该数据集也是由3dffa团队提出来的,也是基于3dmma的模型提供FLD和Posture的标注.

该处使用的url网络请求的数据。


三、SOTA work

CVPR2022:SynergyNet

code:github
该网络基于3DMM实现来多个人脸相关任务比如3D FLD, Angle, mesh等任务的实现,比3DFFA,青出于蓝而胜于蓝.

在AFLW3000-3D上的人脸角度估计(MAE欧拉角)
在这里插入图片描述

CVPR2021 Workshop:ASMNet

code:github

FLD的检测效果一般,目前不如我的模型角度高
角度估计demo:
在这里插入图片描述
在WFLW和300W数据集上的Posture性能对比,这里必须说明的是,他们是采用HopeNet去检测这两个数据集,并把检测的结果作为GT,用来训练此模型.
在这里插入图片描述

四、我们想做的贡献

首次基于YOLO实现三个任务的联合检测,即FD, FLD,HPE.这是首次实现.
其次,我们解决来数据集不完备带来的训练问题,我们首先冻结HPE,在A数据集上实现来FD,FLD的联合任务;然后冻结FD,FLD,实现HPE的训练.在训练阶段分步进行,在推理阶段一次搞定.
我们在多个数据集上进行了验证,在人脸检测,FLD和HPE上都取得来不错的性能.包括速度和精度的双提升.
并且,为了将基于单帧的检测用于视频检测,特别是人脸tracking过程中会存在跳帧的问题,为此,我们设计了基于Kalman Filter的平滑滤波,以减少抖动.

人脸关键点检测和头部姿态估计数据集整理 1. 300W数据集简介 300W数据集是一个非常通用的人脸对齐数据集,也是近年来凡paper,都要出指标比对的必然数据集。 下载链接:https://ibug.doc.ic.ac.uk/resources/300-W/ 该数据集共计3148+689张图像,每个图像上包含不止一张人脸,但是对于每张图像只标注一张人脸。 该数据集包含的文件目录为: afw(train 337)https:... 阅读详情

相关推荐

头部姿态估计

头部姿态估计(Head Pose Estimation):通过一幅面部图像来获得头部的姿态角。在3D空间中,表示物体的旋转可以由三个欧拉角(Euler Angle)来表示,即分别计算pitch(围绕X轴旋转,上负下正),yaw(围绕Y轴旋转,左负右正) 和roll(围绕Z轴旋转,左正右负) ,学名俯仰角、偏航角和滚转角,通俗讲就是抬头、摇头和转头。

qq_32902491的博客 2261

探索先进技术:HeadPoseEstimation-WHENet - 实时头部姿态估计的高效解决方案

探索先进技术:HeadPoseEstimation-WHENet - 实时头部姿态估计的高效解决方案 在人工智能领域,实时头部姿态估计是一项重要任务,广泛应用于自动驾驶、虚拟现实(VR)、视频监控等领域。今天我们要向大家推荐一个高效的开源项目——,它利用先进的深度学习算法实现了精确且快速的头部姿态预测。 项目简介 HeadPoseEstimation-WHENet 是由 Ascend 研究团队开发...

gitblog_00019的博客 557

头部姿态估计--HeadDiff: Exploring Rotation Uncertainty With Diffusion Models for Head Pose Estimation

本文提出了一种概率回归扩散模型用于头部姿态估计,称为HeadDiff,该模型特别针对旋转不确定性进行了处理,尤其是在野外条件下捕捉到的面部图像。与传统的图像到姿态的方法不同,这些方法无法明确建立头部姿态的旋转流形,HeadDiff旨在通过扩散过程确保姿态旋转,并同时迭代地细化映射过程。具体来说,最初将头部姿态估计问题形式化为一个反向扩散过程,定义了一个在流形上逐步去噪的范式,通过将大的差距分解为中间步骤来探索不确定性。此外,HeadDiff通过编码旋转表示中的不相干信息,配备了各向同性高斯分布。

qq_51221943的博客 1279

HeadPose Estimation头部姿态估计头部朝向(Android)

头部姿态估计(Head Pose Estimation ),也称头部朝向估计,主要是获得脸部朝向的角度信息,即欧拉角(pitch,yaw,roll)表示。

AI吃大瓜的博客 1万+

深度学习6D姿态估计pose estimation分类

最近看了几篇6D姿态估计的文章,对他们做个分类。 6D姿态估计就是估计出物体相对于相机的姿态。我把他们分成了 类:1、vote方式 2、latent space方式 1、vote方式 1.1 PoseCNN: A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes ...

eight_Jessen的博客 6407

头部姿态估计数据集

头部姿势数据库是1590个单眼面部图像的基准,其具有从-90到+90度的平移和倾斜角度的变化。对于每个人,可以使用2个系列的93个图像(93个不同的姿势)。每人2个系列的目的是能够训练和测试已知和未知面部的算法(参见第2和第3节)。数据库中的人戴或不戴眼镜,并有各种肤色。背景是自愿中立和整洁的,以便专注于面部操作。 该数据集包含了水平方向上的角度标记与垂直方向上的角度标记,是kaggle比赛常用的头部姿态估计训练数据集。

Ego-Ego Pose Estimation: 通过自我头部姿态估计实现身体姿态估计(CVPR 2023)

Ego-Ego Pose Estimation: 通过自我头部姿态估计实现身体姿态估计(CVPR 2023) 项目介绍 本项目是CVPR 2023论文《Ego-Body Pose Estimation via Ego-Head Pose Estimation》的官方实现。该研究提出了一种新颖的方法,旨在通过精确估计第一人称(即“自我”)的头部姿态来推断整个身体的姿态,对于增强虚拟现实、人机交互及自...

gitblog_00441的博客 1058

计算机视觉中头部姿态估计的研究综述Head Pose Estimation in Computer Vision: A Survey(中文)word

计算机视觉中头部姿态估计的研究综述Head Pose Estimation in Computer Vision: A Survey(中文)

实时头部姿态估计:head-pose-estimation深度解析

实时头部姿态估计:head-pose-estimation深度解析 在现代技术的浪潮中,准确而高效的人脸识别和姿态分析已经成为众多应用的基石。今天,我们要向您介绍的是一个集高效与实用于一体的开源项目——head-pose-estimation,这是一款基于OpenCV和dlib实现的实时头部姿态估计工具。 项目介绍 head-pose-estimation旨在通过快速且精确的算法捕捉人脸的微小变化...

gitblog_00930的博客 504

如何在windows下使用cmake编译源码

MyProject/└── build/在MyProject目录下创建并编辑。创建build目录并进入。使用cmake命令生成构建文件。使用适当的命令编译项目。运行生成的可执行文件。

cdj444asdg的博客 3340

【Anaconda】解决“libGL error: MESA-LOADER: failed to open iris”问题

stackoverflow中的“libGL error: MESA-LOADER: failed to open iris”问题。而在自己创建的conda环境中的lib下出现`GLIBCXX_3.4.30’ not found 的情况。在上述解决方案中,将第一行命令的lib路径换成自己创建的conda环境lib路径,运行指令,问题解决。目前问题解决,总结一下查找资料以及解决方法。运行如下命令,发现本地支持。

quintus0505的博客 5016

项目推荐:head-pose-estimation

项目推荐:head-pose-estimation 1. 项目基础介绍和主要编程语言 项目名称: head-pose-estimation 项目地址: https://github.com/lincolnhard/head-pose-estimation 主要编程语言: C++ 和 Python head-pose-estimation 是一个开源项目,专注于实时头部姿态估计。该项目结合了Open...

gitblog_07962的博客 501

CyberChef本地搭建

CyberChef本地搭建

2301_80241182的博客 6015

Dense-Head-Pose-Estimation:高效稳定的3D人脸姿态估计与标志点回归

Dense-Head-Pose-Estimation:高效稳定的3D人脸姿态估计与标志点回归 项目介绍 Dense-Head-Pose-Estimation 是一个基于 ECCV 2020 论文重实现的项目,旨在提供一个快速、准确且稳定的3D密集面部对齐方案。本项目利用TensorFlow Lite框架重新实现了3DDFA v2版本,不仅能够进行人脸网格重建,还支持头姿态估计和面部标志点检测。它通...

gitblog_00655的博客 959

A Mathematical Framework for Transformer Circuits—(二)

transformer数学理论框架

qq_42208244的博客 752

FDTD仿真实战:从材料导入到反射率曲线分析

本文提供了一份完整的FDTD仿真实战指南,详细讲解了从自定义材料(如WO3)数据导入、结构建模、仿真区域与网格设置,到光源与监视器配置、运行仿真并提取反射率数据的全流程。重点解决了材料库缺失、网格优化、边界条件设置等常见难题,旨在帮助研究人员高效、准确地通过FDTD仿真获取材料的关键光学特性——反射率曲线。

elastic6hunter的博客 340

头部姿态估计:《Fine-Grained Head Pose Estimation Without Keypoints》

《Fine-Grained Head Pose Estimation Without Keypoints》 2018,Nataniel Ruiz Eunji Chong James M. Rehg. multi-loss 代码链接:https://github.com/natanielruiz/deep-head-pose 1.引言: 本文提出了一种简洁和鲁棒的方式来确定姿态,通过训练一个mult...

pywin 1240

VS Code配置MinGW64编译非线性优化库NLopt

VS Code用MinGW64编译C++代码安装MSYS2软件并配置非线性优化库NLopt和测试引用库代码的完整具体步骤。:若使用非UCRT版本(如传统MinGW64),替换所有路径中的。库文件会自动安装到MSYS2的。

weixin_30777913的博客 896

【face alignment】Paper reading:Fine-Grained Head Pose Estimation Without Keypoints (CVPR2018)

Paper reading:Fine-Grained Head Pose Estimation Without Keypoints (CVPR2018) 一、 背景 为什么要读这篇论文,因为LZ之前要做头部姿态估计,看到一些传统的方法,都是先进行人脸检测,然后再进行关键点定位,当然现在可以一起做,anyway,得到最后的关键点位置,再使用一个通用的3D人脸模型,通过solvePnP来得到最终的头部姿态,但是不管是脑子中考虑还是最后的动手实践,得到的结论就是这种方式的头部姿态方法不robust。可以想一下:每

Felaim的博客 1259

Python实战:用MNE-Python从脑电数据中提取P300成分(附完整代码)

本文提供了一份使用MNE-Python从脑电数据中提取P300成分的完整实战指南。通过详细的代码示例,系统讲解了从环境搭建、数据加载、预处理(滤波、分段、伪迹剔除)到P300波形提取、可视化与参数量化的全流程。重点介绍了如何利用零相位滤波和叠加平均技术,从EEG信号中精准分离出反映认知加工的P300事件相关电位,适用于脑机接口与认知神经科学研究。

weixin_29240343的博客 335

电脑硬件:电脑主板上的接口介绍,看完你就懂了

它们主要用于连接老式的键盘和鼠标,虽然速度和兼容性不如USB接口,但在某些特定场合依然发挥着重要作用。PCIe接口是主板上的扩展能力象征,可以连接各种扩展卡,如显卡、声卡、网卡等。电脑主板作为电脑硬件组成关键的部分,今天给大家分享一下电脑主板上有哪些接口,具体每一个接口的特点、使用场景,有需要的朋友可以来了解一下!它们不仅能连接鼠标、键盘、U盘、打印机,还能连接各种外设,如移动硬盘、游戏手柄等。:虽然现在用得越来越少,但在一些特定场合,如工业控制、老旧设备上,仍然需要使用PS/2接口。

IT技术分享社区 2777

【亲测免费】 使用OpenCV进行头部姿态估计:LincolnHard的Head-Pose-Estimation项目详解

使用OpenCV进行头部姿态估计:LincolnHard的Head-Pose-Estimation项目详解 在这个数字化的时代,计算机视觉技术正在逐步改变我们的生活方式。其中,头部姿态估计是一项重要的应用,它广泛用于自动驾驶、虚拟现实和人机交互等领域。的项目,提供了一种高效且准确的方法来实现这一功能。 项目简介 Head-Pose-Estimation项目基于Python和OpenCV库,利用深度...

gitblog_00072的博客 679

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

HeadPose Estimation头部姿态估计头部朝向Android Demo:引领头部姿态识别新体验

HeadPose Estimation头部姿态估计头部朝向Android Demo:引领头部姿态识别新体验 去发现同类优质开源项目:https://gitcode.com/ 项目的核心功能/场景 实时检测与估计用户头部姿态和朝向,适用于虚拟现实、增强现实及人机交互。 项目介绍 在当今科技飞速发展的背景下,虚拟现实(VR)、增强现实(AR)以及人机交互领域对头部姿态估计技术的需求日益增长。今天,我们...

gitblog_06736的博客 725

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

实验:如何在YOLO8中添加PnP算法来实现Head Pose Estimation

YOLO8的集成度比较高,如何在简洁的代码中加入Head Pose的东西,不是一件简单的事情.这里介绍如何插入PnP算法实现头部姿态估计的代码?这里,我们使用了Kalman 滤波来消除跳跃的情况,让pose变得更加平滑.但是Kalman 滤波的学习暂时没有具体取探索.在评估学习中.。

wqthaha的专栏 1192

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Paperreading之三Simple Baselines for Human Pose Estimation

  本次paper是coco2018关键点检测项目的亚军方案,方法非常的简洁明了,但是效果很惊艳,达到了state of the art,paper的标题也是写了simple baseline。整篇paper包含一个sota的姿态估计和姿态跟踪,本篇博客只涉及到paper里面的姿态估计部分。 前言 人体姿态估计是MSCOCO数据集(http://cocodataset.org/)上面的一...

baolinq的博客 1万+

Fine-Grained Head Pose Estimation Without Keypoints

1Abstract 传统的头部姿态计算是通过从目标面部提取关键点,本文认为这是没有效率的。我们在300W-LP(一个大型的综合扩展数据集)上提出了一种优雅而鲁棒的训练多重损失卷积神经网络确定内禀欧拉角(横摆、俯仰和横摇)的方法。 论文地址:https://arxiv.org/abs/1710.00925v2 github源码地址:https://github.com/natanielruiz...

博客 1928
上一篇: 基于YOLO的3D人脸关键点检测方案
下一篇: 基于YOLO8的WholeBody估计
烧技湾
博客等级 码龄15年 1万+粉丝 138原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烧技湾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值