add super resolution

This commit is contained in:
toto
2023-10-24 21:18:23 +08:00
parent 5fe61af9b9
commit 71e609657a
2 changed files with 17 additions and 4 deletions
+7
View File
@@ -15,6 +15,7 @@ roop = None
skin_retouching = None
portrait_enhancement = None
psgan_interface = None
real_gan_sr = None
def get_retinaface_detection():
global retinaface_detection
@@ -58,6 +59,12 @@ def get_portrait_enhancement():
portrait_enhancement = pipeline(Tasks.image_portrait_enhancement, model='damo/cv_gpen_image-portrait-enhancement', model_revision='v1.0.0')
return portrait_enhancement
def get_real_gan_sr():
global real_gan_sr
if real_gan_sr is None:
real_gan_sr = pipeline('image-super-resolution-x2', model='bubbliiiing/cv_rrdb_image-super-resolution_x2', model_revision="v1.0.2")
return real_gan_sr
def get_pagan_interface():
global psgan_interface
if psgan_interface is None:
+10 -4
View File
@@ -246,16 +246,22 @@ class PortraitEnhancementPM:
@classmethod
def INPUT_TYPES(s):
return {"required":
{"image": ("IMAGE",), }
}
{
"image": ("IMAGE",),
"model": (["pgen", "real_gan"],),
}
}
RETURN_TYPES = ("IMAGE",)
FUNCTION = "protrait_enhancement_pass"
CATEGORY = "protrait/model"
def protrait_enhancement_pass(self, image):
output_image = cv2.cvtColor(get_portrait_enhancement()(tensor_to_img(image))[OutputKeys.OUTPUT_IMG], cv2.COLOR_BGR2RGB)
def protrait_enhancement_pass(self, image, model):
if model == "pgen":
output_image = cv2.cvtColor(get_portrait_enhancement()(tensor_to_img(image))[OutputKeys.OUTPUT_IMG], cv2.COLOR_BGR2RGB)
elif model == "real_gan":
output_image = cv2.cvtColor(get_real_gan_sr()(tensor_to_img(image))[OutputKeys.OUTPUT_IMG], cv2.COLOR_BGR2RGB)
return (np_to_tensor(output_image),)
class ImageScaleShortPM: