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:
parent
6c3bf1c6c4
commit
b6e394de62
@ -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"/>
|
<img src="https://github.com/Gourieff/Assets/raw/main/sd-webui-reactor/ReActor_logo_NEW_EN.png?raw=true" alt="logo" width="180px"/>
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
<a href="https://boosty.to/artgourieff" target="_blank">
|
<a href="https://boosty.to/artgourieff" target="_blank">
|
||||||
<img src="https://lovemet.ru/www/boosty.jpg" width="108" alt="Support Me on Boosty"/>
|
<img src="https://lovemet.ru/www/boosty.jpg" width="108" alt="Support Me on Boosty"/>
|
||||||
|
|||||||
@ -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"/>
|
<img src="https://github.com/Gourieff/Assets/raw/main/sd-webui-reactor/ReActor_logo_NEW_RU.png?raw=true" alt="logo" width="180px"/>
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
<a href="https://boosty.to/artgourieff" target="_blank">
|
<a href="https://boosty.to/artgourieff" target="_blank">
|
||||||
<img src="https://lovemet.ru/www/boosty.jpg" width="108" alt="Поддержать проект на Boosty"/>
|
<img src="https://lovemet.ru/www/boosty.jpg" width="108" alt="Поддержать проект на Boosty"/>
|
||||||
|
|||||||
@ -253,10 +253,11 @@ class FaceSwapScript(scripts.Script):
|
|||||||
self.upscale_force = False
|
self.upscale_force = False
|
||||||
|
|
||||||
if shared.state.job_count > 0:
|
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
|
# logger.debug(f"Job count: {shared.state.job_count}")
|
||||||
self.codeformer_weight = shared.opts.data['codeformer_weight'] if 'codeformer_weight' in shared.opts.data.keys() else 0.5
|
self.face_restorer_visibility = shared.opts.data['restorer_visibility'] if 'restorer_visibility' in shared.opts.data.keys() else face_restorer_visibility
|
||||||
self.mask_face = shared.opts.data['mask_face'] if 'mask_face' in shared.opts.data.keys() else False
|
self.codeformer_weight = shared.opts.data['codeformer_weight'] if 'codeformer_weight' in shared.opts.data.keys() else codeformer_weight
|
||||||
self.face_model = shared.opts.data['face_model'] if 'face_model' in shared.opts.data.keys() else "None"
|
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")
|
logger.debug("*** Set Device")
|
||||||
set_Device(self.device)
|
set_Device(self.device)
|
||||||
|
|||||||
@ -166,13 +166,14 @@ def restore_face(image: Image, enhancement_options: EnhancementOptions):
|
|||||||
|
|
||||||
if enhancement_options.face_restorer is not None:
|
if enhancement_options.face_restorer is not None:
|
||||||
original_image = result_image.copy()
|
original_image = result_image.copy()
|
||||||
logger.status("Restoring the face with %s", enhancement_options.face_restorer.name())
|
|
||||||
numpy_image = np.array(result_image)
|
numpy_image = np.array(result_image)
|
||||||
if enhancement_options.face_restorer.name() == "CodeFormer":
|
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 = codeformer_model.codeformer.restore(
|
||||||
numpy_image, w=enhancement_options.codeformer_weight
|
numpy_image, w=enhancement_options.codeformer_weight
|
||||||
)
|
)
|
||||||
else: # GFPGAN:
|
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 = gfpgan_model.gfpgan_fix_faces(numpy_image)
|
||||||
# numpy_image = enhancement_options.face_restorer.restore(numpy_image)
|
# numpy_image = enhancement_options.face_restorer.restore(numpy_image)
|
||||||
restored_image = Image.fromarray(numpy_image)
|
restored_image = Image.fromarray(numpy_image)
|
||||||
@ -554,10 +555,10 @@ def swap_face(
|
|||||||
source_face_model = [load_face_model(face_model)]
|
source_face_model = [load_face_model(face_model)]
|
||||||
if source_face_model is not None:
|
if source_face_model is not None:
|
||||||
source_faces_index = [0]
|
source_faces_index = [0]
|
||||||
source_faces = source_face_model
|
source_faces = source_face_model
|
||||||
logger.status("Using Loaded Source Face Model...")
|
logger.status(f"Using Loaded Source Face Model: {face_model}")
|
||||||
else:
|
else:
|
||||||
logger.error(f"Cannot load Face Model File: {face_model}.safetensors")
|
logger.error(f"Cannot load Face Model File: {face_model}")
|
||||||
|
|
||||||
else:
|
else:
|
||||||
logger.error("Cannot detect any Source")
|
logger.error("Cannot detect any Source")
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
app_title = "ReActor"
|
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_logger import logger, get_Run, set_Run
|
||||||
from scripts.reactor_globals import DEVICE
|
from scripts.reactor_globals import DEVICE
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user