头部姿态检测的意义:

(1) 注意力检测:通过判断头部姿态可以判断人的注意力情况。比如可以检测长途司机是不是在目视前方,长时间不目视前方

(2) 行为分析:通过视频监控分析再辅助其他算法可以判断一个人是否具有不轨行为,做到提前预警,防患于未然

(3) 人机互动:人的头部动作有时可以表示意义,传递信息。摇头在大多数人看来是否认,点头表示同意

(4) 视线追踪:也可以称为眼球跟踪,准确的 头部姿态估计能够提高视线追踪的精度

头部姿态检测是通过2D图像映射到3D图像,得到人脸姿态的朝向,主要检测的参数有三个,分别是pitch(围绕X轴旋转),yaw(围绕Y轴旋转) 和 roll(围绕Z轴旋转) ,分别学名俯仰角、偏航角和滚转角,就是抬头、摇头和转头。

主要的检测方法有三种:

1、经典版: 2D人脸关键点检测--->3D人脸模型匹配求解--->3D点和对应2D点的转换关系--->根据旋转矩阵求解欧拉角

代码链接:https://github.com/JuneoXIE/mtcnn-opencv_face_pose_estimation/blob/bedc3e7503190b2d468f64ef01a48d0e61ed3e3c/pose_estimate.py(用MTCNN,可参考)

物体相对于相机的姿态可以使用旋转矩阵和平移矩阵来表示:

(1)平移矩阵:物体相对于相机的空间位置关系矩阵,用T表示;

(2)旋转矩阵:物体相对于相机的空间姿态关系矩阵,用R表示。

对于坐标转换,涉及到几个坐标系:世界坐标系(UVW)、相机坐标系(XYZ)、图像中心坐标系(uv)和图像像素坐标系(xy)

图像坐标系:理想的图像坐标系原点O1和真实的O0有一定的偏差,由此我们建立了等式(1)和(2),可以用矩阵形式(3)表示。

相机坐标系(C)和世界坐标系(W):通过相机与图像的投影关系,我们得到了等式(4)和等式(5),可以用矩阵形式(6)表示

我们又知道相机坐标系和世界坐标的关系可以用等式(7)表示:

由等式(3),等式(6)和等式(7)我们可以推导出图像坐标系和世界坐标系的关系:

其中M1称为相机的内参矩阵,包含内参(fx,fy,u0,v0)。M2称为相机的外参矩阵,包含外参(R:旋转矩阵,T:平移矩阵)

opencv中的solvePnP函数:知道世界坐标系内点的位置、像素坐标位置和相机参数就可以搞定旋转和平移矩阵,如下:

cv2.solvePnP(objectPoints, imagePoints, cameraMatrix, distCoeffs[, rvec[, tvec[, useExtrinsicGuess[, flags]]]]) → retval, rvec, tvec
  • objectPoints:世界坐标系中的3D点坐标,单位mm

  • imagePoints:图像坐标系中点的坐标,单位像素

  • cameraMatrix:相机内参矩阵

  • distCoeffs:畸变系数

  • rvec:旋转矩阵

  • tvec:平移矩阵

  • useExtrinsicGuess:是否使用提供的rvec和tvec初始化调优。

  • flags:SOLVEPNP _ITERATIVE、SOLVEPNP _P3P、SOLVEPNP _EPNP、SOLVEPNP _DLS、SOLVEPNP _UPNP

2、SVM训练和预测

3、深度学习版

【头部姿态】头部姿态检测(一)相关推荐

  1. mediapipe 眨眼检测、头部三轴姿态检测(改进版)

    其实视觉检测的项目我也搞了一段时间了,只不过自我感觉不精,基本就是调库侠加拼接侠,会把各种例程拼来拼去的. 今天研究的是眨眼检测,开始用的是比较常见的opencv dlib的库,不过发现逼格不够高,有 ...

  2. 姿态估计目标检测论文整理(1)

    一.姿态估计 1. 现阶段人体姿态识别主流的通常有2个思路: Top-Down(自上而下)方法:将人体检测和关键点检测分离,在图像上首先进行人体检测,找到所有的人体框,对每个人体框图再使用关键点检测, ...

  3. YOLOv7姿态估计pose estimation(姿态估计+目标检测+跟踪)

    概述 YOLOv7姿态估计:一种快速准确的人体姿态估计模型 ​ 人体姿态估计是计算机视觉中的一项重要任务,具有各种应用,例如动作识别.人机交互和监控.近年来,基于深度学习的方法在人体姿态估计方面取得了 ...

  4. 姿态传感器DMS05检测出现异常

    更多资讯详见xiaok海洋测绘网 最近检查DMS05姿态传感器发现如下异常: 1.自检图: 2.运行状态图: 结合上面两个图,可以发现: DMS05的垂直向的加速度出现异常,从而造成Heave出现了异 ...

  5. 一步一步做ListView滚动固定头部并且头部会变化哦

    手机QQ好友列表中,组名在滚动的时候会固定在头部,等到这个组全部滚完后,组名也会随着向上滚动.在ListView也可以实现这么的效果. 如上所示:listview中分类显示,每一个类别有一个catal ...

  6. 计算机视觉中头部姿态估计的研究综述

    Head Pose Estimation in Computer Vision: A Survey Erik Murphy-Chutorian, Student Member, IEEE and Mo ...

  7. 用头部运动学习无姿态注视偏差

    keywords 注视估计 自由头部运动 头部姿态补偿 基于外观的方法 [摘要] 现有的方法: 根据捕捉到的眼球形态估计人眼注视方向时,由于头部运动会对眼球形态产生较大的影响,因此通常需要假设一个固定 ...

  8. 姿态估计:人体骨骼关键点检测综述(2016-2020)

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:作者丨七酱@知乎 来源丨https://zhuanlan.z ...

  9. 人体姿态估计(人体关键点检测)分类与经典方法分析(附GitHub地址)

    人体姿态估计(Human Pose Estimation)也称为人体关键点检测(Human Keypoints Detection).对于人体姿态估计的研究,大致可做如下分类. 1. RGB vs R ...

  10. 人体骨骼关键点检测(姿态估计)综述2019

    目录: 1.前言 2.相关数据集 3.研究方向分类 4.单人关键点检测的发展(2016-2019) 5.Ground Truth的构建 6.自上而下的人体关键点检测算法 一.前言 人体骨骼关键点检测是 ...

最新文章

  1. Spark入门(四)Idea远程提交项目到spark集群
  2. JavaSE——面向对象基础(思想、类与对象、构造方法、重载、匿名对象)
  3. JEECG - 基于代码生成器的J2EE智能开发框架 杂记:【演示视频和源码】
  4. 定量的方法如何能划分类别?
  5. 1.1HashMap
  6. 敏感词库快速添加到mysql数据库,并在页面使用方法过滤敏感词
  7. Flash 第七章 元件,帧,库管理
  8. jdk32位安装包下载_天正T20V5.0软件安装包下载(建筑,给排水,结构,电气,暖通)+安装教程...
  9. openpyxl使用教程
  10. 纯css 箭头,纯CSS实现小箭头的案例
  11. linux驱动之输入子系统
  12. 自定义自己的iphone铃声
  13. 推荐的前端开源项目CDN加速服务
  14. 平板触控笔要原装的吗?开学季必备电容笔推荐
  15. Alibaba Cloud 3 (Soaring Falcon) x86_64(Py3.7.8) 系统 YUM源
  16. 前端 查看页面在不同分辨率下效果
  17. el-select支持远程搜索时是没有下拉箭头icon的
  18. CoaXPress接口助CMOS相机实现更高速率
  19. 计算机综合实践免修 华东师范大学,电子技术综合实践
  20. Socket多人聊天MFC版

热门文章

  1. 服务器完美安装可道云,打造私有网盘
  2. 应用软件 故障隔离_隔离软件工程师生命中的一天
  3. 如果人工智能迎来下一个寒冬,你认为会是卡在什么问题上?
  4. Markdown入门总结
  5. 内蒙古中考计算机考试知识点总结,内蒙古包头中考语文备考分析及知识总结.doc...
  6. 毕业设计之企业网站后台管理的设想
  7. 2020丘成桐科学奖计算机名单,2016东润丘成桐科学奖(数学)国内各赛区获奖名单...
  8. vue provide / inject 实现组件数据的实时响应
  9. (附源码)springboot图书管理系统 毕业设计 160934
  10. 外文翻译原文附在后面_外文翻译及外文原文(参考格式).doc