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