mirror of
https://github.com/iperov/DeepFaceLab.git
synced 2025-07-06 21:12:07 -07:00
added better pitch/yaw estimator from 68 landmarks, improving face yaw accuracy for sorting and trainers, added sort by face-pitch
22 lines
No EOL
546 B
Python
22 lines
No EOL
546 B
Python
import numpy as np
|
|
import math
|
|
from .umeyama import umeyama
|
|
|
|
def get_power_of_two(x):
|
|
i = 0
|
|
while (1 << i) < x:
|
|
i += 1
|
|
return i
|
|
|
|
def rotationMatrixToEulerAngles(R) :
|
|
sy = math.sqrt(R[0,0] * R[0,0] + R[1,0] * R[1,0])
|
|
singular = sy < 1e-6
|
|
if not singular :
|
|
x = math.atan2(R[2,1] , R[2,2])
|
|
y = math.atan2(-R[2,0], sy)
|
|
z = math.atan2(R[1,0], R[0,0])
|
|
else :
|
|
x = math.atan2(-R[1,2], R[1,1])
|
|
y = math.atan2(-R[2,0], sy)
|
|
z = 0
|
|
return np.array([x, y, z]) |