FIX: No source 'face model' when batch

Issue: https://github.com/Gourieff/sd-webui-reactor/discussions/379

+VersionUP (0.7.0 beta3)
This commit is contained in:
Art Gourieff 2024-03-05 01:15:28 +07:00
parent 6c3bf1c6c4
commit b6e394de62
5 changed files with 13 additions and 11 deletions

View File

@ -2,7 +2,7 @@
<img src="https://github.com/Gourieff/Assets/raw/main/sd-webui-reactor/ReActor_logo_NEW_EN.png?raw=true" alt="logo" width="180px"/>
![Version](https://img.shields.io/badge/version-0.7.0_beta2-green?style=for-the-badge&labelColor=darkgreen)
![Version](https://img.shields.io/badge/version-0.7.0_beta3-green?style=for-the-badge&labelColor=darkgreen)
<a href="https://boosty.to/artgourieff" target="_blank">
<img src="https://lovemet.ru/www/boosty.jpg" width="108" alt="Support Me on Boosty"/>

View File

@ -2,7 +2,7 @@
<img src="https://github.com/Gourieff/Assets/raw/main/sd-webui-reactor/ReActor_logo_NEW_RU.png?raw=true" alt="logo" width="180px"/>
![Version](https://img.shields.io/badge/версия-0.7.0_beta2-green?style=for-the-badge&labelColor=darkgreen)
![Version](https://img.shields.io/badge/версия-0.7.0_beta3-green?style=for-the-badge&labelColor=darkgreen)
<a href="https://boosty.to/artgourieff" target="_blank">
<img src="https://lovemet.ru/www/boosty.jpg" width="108" alt="Поддержать проект на Boosty"/>

View File

@ -253,10 +253,11 @@ class FaceSwapScript(scripts.Script):
self.upscale_force = False
if shared.state.job_count > 0:
self.face_restorer_visibility = shared.opts.data['restorer_visibility'] if 'restorer_visibility' in shared.opts.data.keys() else 1
self.codeformer_weight = shared.opts.data['codeformer_weight'] if 'codeformer_weight' in shared.opts.data.keys() else 0.5
self.mask_face = shared.opts.data['mask_face'] if 'mask_face' in shared.opts.data.keys() else False
self.face_model = shared.opts.data['face_model'] if 'face_model' in shared.opts.data.keys() else "None"
# logger.debug(f"Job count: {shared.state.job_count}")
self.face_restorer_visibility = shared.opts.data['restorer_visibility'] if 'restorer_visibility' in shared.opts.data.keys() else face_restorer_visibility
self.codeformer_weight = shared.opts.data['codeformer_weight'] if 'codeformer_weight' in shared.opts.data.keys() else codeformer_weight
self.mask_face = shared.opts.data['mask_face'] if 'mask_face' in shared.opts.data.keys() else mask_face
self.face_model = shared.opts.data['face_model'] if 'face_model' in shared.opts.data.keys() else face_model
logger.debug("*** Set Device")
set_Device(self.device)

View File

@ -166,13 +166,14 @@ def restore_face(image: Image, enhancement_options: EnhancementOptions):
if enhancement_options.face_restorer is not None:
original_image = result_image.copy()
logger.status("Restoring the face with %s", enhancement_options.face_restorer.name())
numpy_image = np.array(result_image)
if enhancement_options.face_restorer.name() == "CodeFormer":
logger.status("Restoring the face with %s (weight: %s)", enhancement_options.face_restorer.name(), enhancement_options.codeformer_weight)
numpy_image = codeformer_model.codeformer.restore(
numpy_image, w=enhancement_options.codeformer_weight
)
else: # GFPGAN:
logger.status("Restoring the face with %s", enhancement_options.face_restorer.name())
numpy_image = gfpgan_model.gfpgan_fix_faces(numpy_image)
# numpy_image = enhancement_options.face_restorer.restore(numpy_image)
restored_image = Image.fromarray(numpy_image)
@ -554,10 +555,10 @@ def swap_face(
source_face_model = [load_face_model(face_model)]
if source_face_model is not None:
source_faces_index = [0]
source_faces = source_face_model
logger.status("Using Loaded Source Face Model...")
source_faces = source_face_model
logger.status(f"Using Loaded Source Face Model: {face_model}")
else:
logger.error(f"Cannot load Face Model File: {face_model}.safetensors")
logger.error(f"Cannot load Face Model File: {face_model}")
else:
logger.error("Cannot detect any Source")

View File

@ -1,5 +1,5 @@
app_title = "ReActor"
version_flag = "v0.7.0-b1"
version_flag = "v0.7.0-b3"
from scripts.reactor_logger import logger, get_Run, set_Run
from scripts.reactor_globals import DEVICE