Вращение изображения лица с использованием матрицы камеры и морфируемой 3D-модели? ⇐ Python
-
Anonymous
Вращение изображения лица с использованием матрицы камеры и морфируемой 3D-модели?
Сообщество, я пробую этот код для 3D-реконструкции лица. Как я могу создать передние выходные грани на этапе тестирования? это связано с camera_matrix или моделью 3DMM? Я имею в виду, что хочу зафиксировать положение до нулевого угла. и заранее спасибо.
def euler_rotation(rot_param): rx_mul = torch.Tensor([[0, 0, 0, 0, 1, 1, 0, 1, 1]]).to(rot_param.device) rx_add = torch.Tensor([[0, 1, 1, 1, 0, 1, 1, 3, 0]]).to(rot_param.device) * math.pi / 2.0 ry_mul = torch.Tensor([[1, 0, 1, 0, 0, 0, 1, 0, 1]]).to(rot_param.device) ry_add = torch.Tensor([[0, 1, 3, 1, 0, 1, 1, 1, 0]]).to(rot_param.device) * math.pi / 2.0 rz_mul = torch.Tensor([[1, 1, 0, 1, 1, 0, 0, 0, 0]]).to(rot_param.device) rz_add = torch.Tensor([[0, 1, 1, 3, 0, 1, 1, 1, 0]]).to(rot_param.device) * math.pi / 2.0 Rx = torch.cos(rx_mul*rot_param[:,0:1]+rx_add) Ry = torch.cos(ry_mul*rot_param[:,1:2]+ry_add) Rz = torch.cos(rz_mul*rot_param[:,2:3]+rz_add) R = Rx.view(-1,3,3)@Ry.view(-1,3,3)@Rz.view(-1,3,3) вернуть Р
Сообщество, я пробую этот код для 3D-реконструкции лица. Как я могу создать передние выходные грани на этапе тестирования? это связано с camera_matrix или моделью 3DMM? Я имею в виду, что хочу зафиксировать положение до нулевого угла. и заранее спасибо.
def euler_rotation(rot_param): rx_mul = torch.Tensor([[0, 0, 0, 0, 1, 1, 0, 1, 1]]).to(rot_param.device) rx_add = torch.Tensor([[0, 1, 1, 1, 0, 1, 1, 3, 0]]).to(rot_param.device) * math.pi / 2.0 ry_mul = torch.Tensor([[1, 0, 1, 0, 0, 0, 1, 0, 1]]).to(rot_param.device) ry_add = torch.Tensor([[0, 1, 3, 1, 0, 1, 1, 1, 0]]).to(rot_param.device) * math.pi / 2.0 rz_mul = torch.Tensor([[1, 1, 0, 1, 1, 0, 0, 0, 0]]).to(rot_param.device) rz_add = torch.Tensor([[0, 1, 1, 3, 0, 1, 1, 1, 0]]).to(rot_param.device) * math.pi / 2.0 Rx = torch.cos(rx_mul*rot_param[:,0:1]+rx_add) Ry = torch.cos(ry_mul*rot_param[:,1:2]+ry_add) Rz = torch.cos(rz_mul*rot_param[:,2:3]+rz_add) R = Rx.view(-1,3,3)@Ry.view(-1,3,3)@Rz.view(-1,3,3) вернуть Р
Мобильная версия