300WLP、AFLW2000-3D、Biwi Kinect Head Pose Database姿态数据的读取
目前头部姿态估计算法使用的数据,一般是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姿态数据的读取相关推荐
- 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检测和 ...
- 读论文,第一天: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,每天看至少 ...
- mysql如何drop数据库_mysql drop database删除数据库命令实例讲解
这篇文章主要介绍了mysql drop database删除数据库命令实例讲解的相关资料,需要的朋友可以参考下 mysql drop database命令用于删除一个数据库,如果试图使用drop da ...
- Kinect结合OpenCV获取骨骼数据原理及相关学习资料
首先说一下,本系统所使用的开发环境版本是计算机系统Windows 10.Visual Studio 2013.Opencv3.1.0和Kinect SDK v2.0. vs2013需要vc12,如果V ...
- V2V-PoseNet:Voxel-to-Voxel Prediction Network for Accurate 3D Hand and Human Pose Estimation from...
摘要 从单个深度图中用于3D手和人体姿势估计的大多数现有的基于深度学习的方法基于采用2D深度图并且直接回归关键点,例如手或人体关节,的3D坐标的共同框架,通过2D卷积神经网络(CNN).这种方法的 ...
- 深度学习 - MPII Human Pose Database数据集下载
原数据集下载网页:http://human-pose.mpi-inf.mpg.de/#download 转载于:https://blog.51cto.com/396732/2072239
- 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时, 切换 ...
- Human Pose Estimation姿态估计调研
介绍 姿态估计的目标是在RGB图像或视频中描绘出人体的形状,这是一种多方面任务,其中包含了目标检测.姿态估计.分割等等.有些需要在非水平表面进行定位的应用可能也会用到姿态估计,例如图形.增强现实或者人 ...
- 基于Azure Kinect DK的人体姿态跟踪监测,获取关节信息(Windows)
Azure Kinect DK相机安装配置:https://blog.csdn.net/y18771025420/article/details/113468859 OpenCV安装: https:/ ...
最新文章
- HTTPS的七个神话(译文)
- 实验楼第二次试验报告
- [Android] 关于系统工具栏和全屏沉浸模式
- [hihoCoder]无间道之并查集
- 转-httpd 2.4.4 + mysql-5.5.28 + php-5.4.13编译安装过程
- python无师自通配套资源_Python编程 无师自通 专业程序员的养成
- codeforces1498 D. Bananas in a Microwave(背包+优化)
- 前端学习(1423):ajax错误处理
- (37)FPGA原语设计(BUFR)
- 股票撤销st申请多长时间批复?
- ds90ub934 i2c 配置_DS90UB934-Q1 FPD-Link III 解串器 摄像头、环视系统应用
- 如何理解电容的阻抗-频率曲线
- 问题 C: 逃离机场
- BLAST原理和用法总结(二)
- jQuery实用网页元素颜色修改插件
- Android项目CJM9之新闻浏览模块的实现
- Thinkpad W530 笔记本关机后耗电问题
- 如何运行一个BSV创世全节点
- 移动办公oa系统该如何搭配其他工具使用?
- pr安装过程中突然出现错误代码16 Adobe Premiere Pro
热门文章
- Map 3D 2011 在线帮助真正在线了 :)
- impala的详细介绍--图文描述
- windows下,linux下elasticsearch安装插件head插件的步骤
- JMETER Debug Sampler
- java服务端异步处理机制_Java异步处理机制实例详解
- 新人学习web前端必须要知道的基础知识,让你轻松入门
- 想成为一个Web前端开发工程师,需要掌握的详细知识总结
- 一位老程序员的心得分享,WEB前端菜鸟,感觉很迷茫,该怎么做?
- android系统应用程序,Android调用系统应用程序
- 水泵怎么做_燃气壁挂炉初次调试,要怎么做才好?