目前头部姿态估计算法使用的数据,一般是300WLP、AFLW2000、Biwi Kinect Head Pose Database

  • 300WLP共有数据122450张图片,其中AFW:5207 AFW_Flip:5207 HELEN:37676 HELEN_Flip:37676 IBUG:1786 IBUG_Flip:1786 LFPW:16556 LFPW_Flip:16556
  • AFLW2000共有2000张图片
  • Biwi Kinect Head Pose Database共有15678张图片

300WLP、AFLW2000真实标签的读取

300WLP数据有成对的图片(jpg)和标签组成的,标签都以mat形式保存的,里面包含了了【'__header__', '__version__', '__globals__', 'pt2d', 'roi', 'Illum_Para', 'Color_Para', 'Tex_Para', 'Shape_Para', 'Exp_Para', 'Pose_Para'】,AFLW2000类似

import h5py
from scipy.io import loadmat
import numpy as np
import mathif __name__ == "__main__":mat_path = "./300W_LP/AFW/AFW_134212_1_0.mat"c_mat = loadmat(mat_path)print(c_mat.keys())#人脸68个关键点landmarks = np.array(np.transpose(c_mat['pt2d'])).astype('float').reshape(-1, 2)print("landmarks \n", landmarks)#头部姿态角的俯仰、偏航和滚转角(以弧度的形式表示),并将弧度制转变为以度(°)为单位Pose_Para = c_mat['Pose_Para']pitch = Pose_Para[0][0] * 180 / math.piyaw = Pose_Para[0][1] * 180 / math.piroll = Pose_Para[0][2] * 180 / math.piprint("pitch: {} yaw: {} roll: {}".format(pitch, yaw, roll))

头部姿态输出:

pitch: -18.200389713407343 yaw: 26.86726114746613 roll: -8.615160925626265

300wlp数据集有68个关键点坐标

from scipy.io import loadmat
import cv2if __name__ == '__main__':c_mat = loadmat("/300W_LP/landmarks/AFW/AFW_134212_1_0_pts.mat")print(c_mat.keys())print(c_mat['pts_2d'])print(c_mat['pts_2d'].shape)img = cv2.imread("/300W_LP/AFW/AFW_134212_1_0.jpg")for x, y in c_mat['pts_2d']:x = int(x)y = int(y)cv2.circle(img, (x, y), 2, (0, 0, 255), 2)cv2.imshow('0', img)# cv2.imwrite("test.jpg", img)cv2.waitKey(0)

Biwi Kinect Head Pose Database数据读取

头部姿态估计的标签都保存在了txt文件中,

import numpy as npdef get_pose_angle(pose_path):pose_annot = open(pose_path, 'r')R = []for line in pose_annot:line = line.strip('\n').split(' ')L = []if line[0] != '':for nb in line:if nb == '':continueL.append(float(nb))R.append(L)R = np.array(R)T = R[3,:]R = R[:3,:]pose_annot.close()R = np.transpose(R) # 求矩阵的转置roll = -np.arctan2(R[1][0], R[0][0]) * 180 / np.piyaw = -np.arctan2(-R[2][0], np.sqrt(R[2][1] ** 2 + R[2][2] ** 2)) * 180 / np.pipitch = np.arctan2(R[2][1], R[2][2]) * 180 / np.pireturn pitch, yaw, rollif __name__ == '__main__':post_path = "./Biwi Kinect Head Pose Database/hpdb/01/frame_00036_pose.txt"pitch, yaw, roll = get_pose_angle(post_path)print("pitch:{} yaw:{} roll:{}".format(pitch, yaw, roll))

发现不少有问题的图片,如AFLW2000中image03714.jpg(pitch: -29.543809085066318 yaw: -11.260400983618409 roll: -29.381892620601995);image03282.jpg (pitch: 30.66166858048187 yaw: -77.87501653892568 roll: -31.465400845779367);

参考:

【Python】Python读取mat数据集(COFW,300WLP),解析后训练模型用_不会飞的鹰08的博客-CSDN博客

读取头部姿态数据集300W_LP、AFLW2000、BIWI数据集中的真值_福尔摩斯帅双的博客-CSDN博客

300WLP、AFLW2000-3D、Biwi Kinect Head Pose Database姿态数据的读取相关推荐

  1. SSD-6D: Making RGB-Based 3D Detection and 6D Pose Estimation Great Again—2017(笔记)

    SSD-6D: Making RGB-Based 3D Detection and 6D Pose Estimation Great Again-2017(笔记) SSD-6D让RGB图像的3D检测和 ...

  2. 读论文,第一天:TransPose: Real-time 3D Human Translation and Pose Estimation with Six Inertial Sensors

    TransPose: Real-time 3D Human Translation and Pose Estimation with Six Inertial Sensors 立的flag,每天看至少 ...

  3. mysql如何drop数据库_mysql drop database删除数据库命令实例讲解

    这篇文章主要介绍了mysql drop database删除数据库命令实例讲解的相关资料,需要的朋友可以参考下 mysql drop database命令用于删除一个数据库,如果试图使用drop da ...

  4. Kinect结合OpenCV获取骨骼数据原理及相关学习资料

    首先说一下,本系统所使用的开发环境版本是计算机系统Windows 10.Visual Studio 2013.Opencv3.1.0和Kinect SDK v2.0. vs2013需要vc12,如果V ...

  5. V2V-PoseNet:Voxel-to-Voxel Prediction Network for Accurate 3D Hand and Human Pose Estimation from...

    摘要   从单个深度图中用于3D手和人体姿势估计的大多数现有的基于深度学习的方法基于采用2D深度图并且直接回归关键点,例如手或人体关节,的3D坐标的共同框架,通过2D卷积神经网络(CNN).这种方法的 ...

  6. 深度学习 - MPII Human Pose Database数据集下载

    原数据集下载网页:http://human-pose.mpi-inf.mpg.de/#download 转载于:https://blog.51cto.com/396732/2072239

  7. DaNet: Decompose-and-aggregate Network for 3D Human Shape and Pose Estimation

    UVI 当中间变量 global UVI regresses camera and shape partial UVI regresses rotation predict rotation时, 切换 ...

  8. Human Pose Estimation姿态估计调研

    介绍 姿态估计的目标是在RGB图像或视频中描绘出人体的形状,这是一种多方面任务,其中包含了目标检测.姿态估计.分割等等.有些需要在非水平表面进行定位的应用可能也会用到姿态估计,例如图形.增强现实或者人 ...

  9. 基于Azure Kinect DK的人体姿态跟踪监测,获取关节信息(Windows)

    Azure Kinect DK相机安装配置:https://blog.csdn.net/y18771025420/article/details/113468859 OpenCV安装: https:/ ...

最新文章

  1. HTTPS的七个神话(译文)
  2. 实验楼第二次试验报告
  3. [Android] 关于系统工具栏和全屏沉浸模式
  4. [hihoCoder]无间道之并查集
  5. 转-httpd 2.4.4 + mysql-5.5.28 + php-5.4.13编译安装过程
  6. python无师自通配套资源_Python编程 无师自通 专业程序员的养成
  7. codeforces1498 D. Bananas in a Microwave(背包+优化)
  8. 前端学习(1423):ajax错误处理
  9. (37)FPGA原语设计(BUFR)
  10. 股票撤销st申请多长时间批复?
  11. ds90ub934 i2c 配置_DS90UB934-Q1 FPD-Link III 解串器 摄像头、环视系统应用
  12. 如何理解电容的阻抗-频率曲线
  13. 问题 C: 逃离机场
  14. BLAST原理和用法总结(二)
  15. jQuery实用网页元素颜色修改插件
  16. Android项目CJM9之新闻浏览模块的实现
  17. Thinkpad W530 笔记本关机后耗电问题
  18. 如何运行一个BSV创世全节点
  19. 移动办公oa系统该如何搭配其他工具使用?
  20. pr安装过程中突然出现错误代码16 Adobe Premiere Pro

热门文章

  1. Map 3D 2011 在线帮助真正在线了 :)
  2. impala的详细介绍--图文描述
  3. windows下,linux下elasticsearch安装插件head插件的步骤
  4. JMETER Debug Sampler
  5. java服务端异步处理机制_Java异步处理机制实例详解
  6. 新人学习web前端必须要知道的基础知识,让你轻松入门
  7. 想成为一个Web前端开发工程师,需要掌握的详细知识总结
  8. 一位老程序员的心得分享,WEB前端菜鸟,感觉很迷茫,该怎么做?
  9. android系统应用程序,Android调用系统应用程序
  10. 水泵怎么做_燃气壁挂炉初次调试,要怎么做才好?