File size: 1,864 Bytes
95b1715
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
import sys
import torch
import random

sys.path =  ['.'] + sys.path

from argparse import ArgumentParser
from utils.common_utils import setup_seed
from runners.simple_runner import SimpleRunner


setup_seed(777)


def run(opts):
    runner = SimpleRunner(
        editor_ckpt_pth="pretrained_models/sfe_editor_light.pt",
    )

    runner.edit(
        orig_img_pth=opts.orig_img_pth,
        editing_name=opts.editing_name,
        edited_power=opts.edited_power,
        save_pth=opts.save_pth,
        align=opts.align,
        use_mask=opts.use_mask,
        mask_trashold=opts.mask_trashold,
        mask_path=opts.mask_path
    )
    runner.available_editings()


if __name__ == "__main__":
    parser = ArgumentParser()
    parser.add_argument(
        "--orig_img_pth", type=str, help="Path to original image"
    )
    parser.add_argument(
        "--editing_name",
        type=str,
        help="Name of desired editing",
    )
    parser.add_argument(
        "--edited_power",
        type=float,
        help="Power of desired editing, float",
    )
    parser.add_argument(
        "--save_pth",
        type=str,
        help="Path where to save edited (and aligned) image",
    )
    parser.add_argument(
        "--align",
        action='store_true',
        help="Flag to align image if it was not",
    )
    parser.add_argument(
        "--use_mask",
        action='store_true',
        help="Flag to edit only masked zone. May be usefull to remove background artefacts.",
    )
    parser.add_argument(
        "--mask_trashold",
        type=float,
        default=0.095,
        help="Trashold in range (0, 1) to separate face from background",
    )
    parser.add_argument(
        "--mask_path",
        type=str,
        default=None,
        help="Path to custom background mask",
    )

    opts = parser.parse_args()
    run(opts)