-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinference_alignment.py
More file actions
30 lines (24 loc) · 996 Bytes
/
inference_alignment.py
File metadata and controls
30 lines (24 loc) · 996 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import argparse
import cv2
import torch
from facexlib.alignment import landmark_98_to_68
from facexlib.visualization import visualize_alignment
from facexlib.utils import build_model
def main(args):
# initialize model
align_net = build_model(args.model_name, device=args.device)
img = cv2.imread(args.img_path)
with torch.no_grad():
landmarks = align_net.get_landmarks(img)
if args.to68:
landmarks = landmark_98_to_68(landmarks)
visualize_alignment(img, [landmarks], args.save_path)
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('--img_path', type=str, default='assets/test2.jpg')
parser.add_argument('--save_path', type=str, default='test_alignment.png')
parser.add_argument('--model_name', type=str, default='awing_fan')
parser.add_argument('--device', type=str, default='cuda')
parser.add_argument('--to68', action='store_true')
args = parser.parse_args()
main(args)