Move template and size to the options

This commit is contained in:
henryruhs 2023-10-15 23:11:55 +02:00
parent dc78e3b2ac
commit a4acc8c423
2 changed files with 27 additions and 9 deletions

View File

@ -26,27 +26,37 @@ MODELS : Dict[str, ModelValue] =\
'codeformer':
{
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models/codeformer.onnx',
'path': resolve_relative_path('../.assets/models/codeformer.onnx')
'path': resolve_relative_path('../.assets/models/codeformer.onnx'),
'template': 'ffhq',
'size': (512, 512)
},
'gfpgan_1.2':
{
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models/GFPGANv1.2.onnx',
'path': resolve_relative_path('../.assets/models/GFPGANv1.2.onnx')
'path': resolve_relative_path('../.assets/models/GFPGANv1.2.onnx'),
'template': 'ffhq',
'size': (512, 512)
},
'gfpgan_1.3':
{
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models/GFPGANv1.3.onnx',
'path': resolve_relative_path('../.assets/models/GFPGANv1.3.onnx')
'path': resolve_relative_path('../.assets/models/GFPGANv1.3.onnx'),
'template': 'ffhq',
'size': (512, 512)
},
'gfpgan_1.4':
{
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models/GFPGANv1.4.onnx',
'path': resolve_relative_path('../.assets/models/GFPGANv1.4.onnx')
'path': resolve_relative_path('../.assets/models/GFPGANv1.4.onnx'),
'template': 'ffhq',
'size': (512, 512)
},
'gpen_bfr_512':
{
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models/GPEN-BFR-512.onnx',
'path': resolve_relative_path('../.assets/models/GPEN-BFR-512.onnx')
'path': resolve_relative_path('../.assets/models/GPEN-BFR-512.onnx'),
'template': 'ffhq',
'size': (512, 512)
}
}
OPTIONS : Optional[OptionsWithModel] = None
@ -131,7 +141,9 @@ def post_process() -> None:
def enhance_face(target_face: Face, temp_frame: Frame) -> Frame:
frame_processor = get_frame_processor()
crop_frame, affine_matrix = warp_face(target_face, temp_frame, 'ffhq', (512, 512))
model_template = get_options('model').get('template')
model_size = get_options('model').get('size')
crop_frame, affine_matrix = warp_face(target_face, temp_frame, model_template, model_size)
crop_frame = prepare_crop_frame(crop_frame)
frame_processor_inputs = {}
for frame_processor_input in frame_processor.get_inputs():

View File

@ -29,12 +29,16 @@ MODELS : Dict[str, ModelValue] =\
'inswapper_128':
{
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models/inswapper_128.onnx',
'path': resolve_relative_path('../.assets/models/inswapper_128.onnx')
'path': resolve_relative_path('../.assets/models/inswapper_128.onnx'),
'template': 'arcface',
'size': (128, 128)
},
'inswapper_128_fp16':
{
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models/inswapper_128_fp16.onnx',
'path': resolve_relative_path('../.assets/models/inswapper_128_fp16.onnx')
'path': resolve_relative_path('../.assets/models/inswapper_128_fp16.onnx'),
'template': 'arcface',
'size': (128, 128)
}
}
OPTIONS : Optional[OptionsWithModel] = None
@ -141,8 +145,10 @@ def post_process() -> None:
def swap_face(source_face : Face, target_face : Face, temp_frame : Frame) -> Frame:
frame_processor = get_frame_processor()
model_template = get_options('model').get('template')
model_size = get_options('model').get('size')
source_face = prepare_source_face(source_face)
crop_frame, affine_matrix = warp_face(target_face, temp_frame, 'arcface', (128, 128))
crop_frame, affine_matrix = warp_face(target_face, temp_frame, model_template, model_size)
crop_frame = prepare_crop_frame(crop_frame)
frame_processor_inputs = {}
for frame_processor_input in frame_processor.get_inputs():