From bbad9a47325d7a2ddf38f18687090e0e43a06cd2 Mon Sep 17 00:00:00 2001 From: henryruhs Date: Tue, 27 May 2025 12:48:37 +0200 Subject: [PATCH] Add ultra_sharp_2_x4 to frame enhancers --- facefusion/processors/choices.py | 2 +- .../processors/modules/frame_enhancer.py | 21 +++++++++++++++++++ facefusion/processors/types.py | 2 +- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/facefusion/processors/choices.py b/facefusion/processors/choices.py index 74f5510..9f386bd 100755 --- a/facefusion/processors/choices.py +++ b/facefusion/processors/choices.py @@ -194,7 +194,7 @@ face_swapper_set : FaceSwapperSet =\ face_swapper_models : List[FaceSwapperModel] = list(face_swapper_set.keys()) frame_colorizer_models : List[FrameColorizerModel] = [ 'ddcolor', 'ddcolor_artistic', 'deoldify', 'deoldify_artistic', 'deoldify_stable' ] frame_colorizer_sizes : List[str] = [ '192x192', '256x256', '384x384', '512x512' ] -frame_enhancer_models : List[FrameEnhancerModel] = [ 'clear_reality_x4', 'lsdir_x4', 'nomos8k_sc_x4', 'real_esrgan_x2', 'real_esrgan_x2_fp16', 'real_esrgan_x4', 'real_esrgan_x4_fp16', 'real_esrgan_x8', 'real_esrgan_x8_fp16', 'real_hatgan_x4', 'real_web_photo_x4', 'realistic_rescaler_x4', 'remacri_x4', 'siax_x4', 'span_kendata_x4', 'swin2_sr_x4', 'ultra_sharp_x4' ] +frame_enhancer_models : List[FrameEnhancerModel] = [ 'clear_reality_x4', 'lsdir_x4', 'nomos8k_sc_x4', 'real_esrgan_x2', 'real_esrgan_x2_fp16', 'real_esrgan_x4', 'real_esrgan_x4_fp16', 'real_esrgan_x8', 'real_esrgan_x8_fp16', 'real_hatgan_x4', 'real_web_photo_x4', 'realistic_rescaler_x4', 'remacri_x4', 'siax_x4', 'span_kendata_x4', 'swin2_sr_x4', 'ultra_sharp_x4', 'ultra_sharp_2_x4' ] lip_syncer_models : List[LipSyncerModel] = [ 'wav2lip_96', 'wav2lip_gan_96' ] age_modifier_direction_range : Sequence[int] = create_int_range(-100, 100, 1) diff --git a/facefusion/processors/modules/frame_enhancer.py b/facefusion/processors/modules/frame_enhancer.py index 27a9b6c..b831dc0 100644 --- a/facefusion/processors/modules/frame_enhancer.py +++ b/facefusion/processors/modules/frame_enhancer.py @@ -381,6 +381,27 @@ def create_static_model_set(download_scope : DownloadScope) -> ModelSet: }, 'size': (128, 8, 4), 'scale': 4 + }, + 'ultra_sharp_2_x4': + { + 'hashes': + { + 'frame_enhancer': + { + 'url': resolve_download_url('models-3.2.1', 'ultra_sharp_2_x4.hash'), + 'path': resolve_relative_path('../.assets/models/ultra_sharp_2_x4.hash') + } + }, + 'sources': + { + 'frame_enhancer': + { + 'url': resolve_download_url('models-3.2.1', 'ultra_sharp_2_x4.onnx'), + 'path': resolve_relative_path('../.assets/models/ultra_sharp_2_x4.onnx') + } + }, + 'size': (128, 8, 4), + 'scale': 4 } } diff --git a/facefusion/processors/types.py b/facefusion/processors/types.py index 1e81cf8..e95879d 100644 --- a/facefusion/processors/types.py +++ b/facefusion/processors/types.py @@ -12,7 +12,7 @@ FaceEditorModel = Literal['live_portrait'] FaceEnhancerModel = Literal['codeformer', 'gfpgan_1.2', 'gfpgan_1.3', 'gfpgan_1.4', 'gpen_bfr_256', 'gpen_bfr_512', 'gpen_bfr_1024', 'gpen_bfr_2048', 'restoreformer_plus_plus'] FaceSwapperModel = Literal['blendswap_256', 'ghost_1_256', 'ghost_2_256', 'ghost_3_256', 'hififace_unofficial_256', 'inswapper_128', 'inswapper_128_fp16', 'simswap_256', 'simswap_unofficial_512', 'uniface_256'] FrameColorizerModel = Literal['ddcolor', 'ddcolor_artistic', 'deoldify', 'deoldify_artistic', 'deoldify_stable'] -FrameEnhancerModel = Literal['clear_reality_x4', 'lsdir_x4', 'nomos8k_sc_x4', 'real_esrgan_x2', 'real_esrgan_x2_fp16', 'real_esrgan_x4', 'real_esrgan_x4_fp16', 'real_esrgan_x8', 'real_esrgan_x8_fp16', 'real_hatgan_x4', 'real_web_photo_x4', 'realistic_rescaler_x4', 'remacri_x4', 'siax_x4', 'span_kendata_x4', 'swin2_sr_x4', 'ultra_sharp_x4'] +FrameEnhancerModel = Literal['clear_reality_x4', 'lsdir_x4', 'nomos8k_sc_x4', 'real_esrgan_x2', 'real_esrgan_x2_fp16', 'real_esrgan_x4', 'real_esrgan_x4_fp16', 'real_esrgan_x8', 'real_esrgan_x8_fp16', 'real_hatgan_x4', 'real_web_photo_x4', 'realistic_rescaler_x4', 'remacri_x4', 'siax_x4', 'span_kendata_x4', 'swin2_sr_x4', 'ultra_sharp_x4', 'ultra_sharp_2_x4'] LipSyncerModel = Literal['wav2lip_96', 'wav2lip_gan_96'] FaceSwapperSet : TypeAlias = Dict[FaceSwapperModel, List[str]]