300WLP真实标签的读取
300WLP数据有成对的图片(jpg)和标签组成的,标签都以mat形式保存的,里面包含了了【'__header__', '__version__', '__globals__', 'pt2d', 'roi', 'Illum_Para', 'Color_Para', 'Tex_Para', 'Shape_Para', 'Exp_Para', 'Pose_Para'】
import h5py
from scipy.io import loadmat
import numpy as np
import math
if __name__ == "__main__":
mat_path = "/home/sunny/dataset/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.pi
yaw = Pose_Para[0][1] * 180 / math.pi
roll = Pose_Para[0][2] * 180 / math.pi
print("pitch: {} yaw: {} roll: {}".format(pitch, yaw, roll))
头部姿态输出:
pitch: -18.200389713407343 yaw: 26.86726114746613 roll: -8.615160925626265
参考:
https://blog.csdn.net/weixin_41449637/article/details/103604103