Merge branch 'equalize' into evolve

This commit is contained in:
Art Gourieff 2024-06-26 20:49:55 +07:00
commit 9b0cc02791
3 changed files with 47 additions and 22 deletions

View File

@ -85,16 +85,21 @@ def show(is_img2img: bool, show_br: bool = True, **msgs):
imgs_hash_clear.click(clear_faces_list,None,[progressbar_area])
gr.Markdown("<br>", visible=show_br)
with gr.Column(visible=True) as control_col_1:
gr.Markdown("<center>🔽🔽🔽 Single Image has priority when both Areas in use 🔽🔽🔽</center>")
with gr.Row():
img = gr.Image(
type="pil",
label="Single Source Image",
)
imgs = gr.Files(
label=f"Multiple Source Images{msgs['extra_multiple_source']}",
file_types=["image"],
)
selected_tab = gr.Textbox('tab_single', visible=False)
with gr.Tabs() as tab_single:
with gr.Tab('Single'):
img = gr.Image(
type="pil",
label="Single Source Image",
)
with gr.Tab('Multiple') as tab_multiple:
imgs = gr.Files(
label=f"Multiple Source Images{msgs['extra_multiple_source']}",
file_types=["image"],
)
tab_single.select(fn=lambda: 'tab_single', inputs=[], outputs=[selected_tab])
tab_multiple.select(fn=lambda: 'tab_multiple', inputs=[], outputs=[selected_tab])
with gr.Column(visible=False) as control_col_3:
gr.Markdown("<span style='display:block;text-align:right;padding-right:3px;margin: -15px 0;font-size:1.1em'><sup>Clear Hash if you see the previous face was swapped instead of the new one</sup></span>")
with gr.Row():
@ -189,4 +194,4 @@ def show(is_img2img: bool, show_br: bool = True, **msgs):
# select_source.select(on_select_source,[save_original],[control_col_1,control_col_2,control_col_3,save_original,imgs_hash_clear],show_progress=False)
select_source.select(on_select_source,None,[control_col_1,control_col_2,control_col_3,imgs_hash_clear],show_progress=False)
return img, imgs, select_source, face_model, source_folder, save_original, mask_face, source_faces_index, gender_source, faces_index, gender_target, face_restorer_name, face_restorer_visibility, codeformer_weight, swap_in_source, swap_in_generated, random_image
return img, imgs, selected_tab, select_source, face_model, source_folder, save_original, mask_face, source_faces_index, gender_source, faces_index, gender_target, face_restorer_name, face_restorer_visibility, codeformer_weight, swap_in_source, swap_in_generated, random_image

View File

@ -1,3 +1,4 @@
albumentations==1.4.3
insightface==0.7.3
onnx>=1.14.0
opencv-python>=4.7.0.72

View File

@ -77,7 +77,7 @@ class FaceSwapScript(scripts.Script):
msgs: dict = {
"extra_multiple_source": "",
}
img, imgs, select_source, face_model, source_folder, save_original, mask_face, source_faces_index, gender_source, faces_index, gender_target, face_restorer_name, face_restorer_visibility, codeformer_weight, swap_in_source, swap_in_generated, random_image = ui_main.show(is_img2img=is_img2img, **msgs)
img, imgs, selected_tab, select_source, face_model, source_folder, save_original, mask_face, source_faces_index, gender_source, faces_index, gender_target, face_restorer_name, face_restorer_visibility, codeformer_weight, swap_in_source, swap_in_generated, random_image = ui_main.show(is_img2img=is_img2img, **msgs)
# TAB DETECTION
det_thresh, det_maxnum = ui_detection.show()
@ -123,7 +123,8 @@ class FaceSwapScript(scripts.Script):
random_image,
upscale_force,
det_thresh,
det_maxnum
det_maxnum,
selected_tab,
]
@ -193,7 +194,8 @@ class FaceSwapScript(scripts.Script):
random_image,
upscale_force,
det_thresh,
det_maxnum
det_maxnum,
selected_tab,
):
self.enable = enable
if self.enable:
@ -205,7 +207,10 @@ class FaceSwapScript(scripts.Script):
return
global SWAPPER_MODELS_PATH
self.source = img
if selected_tab == "tab_single":
self.source = img
else:
self.source = None
self.face_restorer_name = face_restorer_name
self.upscaler_scale = upscaler_scale
self.upscaler_visibility = upscaler_visibility
@ -227,7 +232,10 @@ class FaceSwapScript(scripts.Script):
self.select_source = select_source
self.face_model = face_model
self.source_folder = source_folder
self.source_imgs = imgs
if selected_tab == "tab_single":
self.source_imgs = None
else:
self.source_imgs = imgs
self.random_image = random_image
self.upscale_force = upscale_force
self.det_thresh=det_thresh
@ -510,9 +518,9 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing):
# TAB MAIN
msgs: dict = {
"extra_multiple_source": " | Сomparison grid as a result",
"extra_multiple_source": "",
}
img, imgs, select_source, face_model, source_folder, save_original, mask_face, source_faces_index, gender_source, faces_index, gender_target, face_restorer_name, face_restorer_visibility, codeformer_weight, swap_in_source, swap_in_generated, random_image = ui_main.show(is_img2img=False, show_br=False, **msgs)
img, imgs, selected_tab, select_source, face_model, source_folder, save_original, mask_face, source_faces_index, gender_source, faces_index, gender_target, face_restorer_name, face_restorer_visibility, codeformer_weight, swap_in_source, swap_in_generated, random_image = ui_main.show(is_img2img=False, show_br=False, **msgs)
# TAB DETECTION
det_thresh, det_maxnum = ui_detection.show()
@ -554,6 +562,7 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing):
'upscale_force': upscale_force,
'det_thresh': det_thresh,
'det_maxnum': det_maxnum,
'selected_tab': selected_tab,
}
return args
@ -598,7 +607,10 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing):
return
global SWAPPER_MODELS_PATH
self.source = args['img']
if args['selected_tab'] == "tab_single":
self.source = args['img']
else:
self.source = None
self.face_restorer_name = args['face_restorer_name']
self.upscaler_scale = args['upscaler_scale']
self.upscaler_visibility = args['upscaler_visibility']
@ -615,7 +627,10 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing):
self.select_source = args['select_source']
self.face_model = args['face_model']
self.source_folder = args['source_folder']
self.source_imgs = args['imgs']
if args['selected_tab'] == "tab_single":
self.source_imgs = None
else:
self.source_imgs = args['imgs']
self.random_image = args['random_image']
self.upscale_force = args['upscale_force']
self.det_thresh = args['det_thresh']
@ -694,9 +709,13 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing):
if len(result) > 0 and swapped > 0:
image = result[0]
if len(result) > 1:
grid = make_grid(result)
result.insert(0, grid)
image = grid
if hasattr(pp, 'extra_images'):
image = result[0]
pp.extra_images.extend(result[1:])
else:
grid = make_grid(result)
result.insert(0, grid)
image = grid
pp.info["ReActor"] = True
pp.image = image
logger.status("---Done!---")