mirror of
https://github.com/TencentARC/GFPGAN.git
synced 2025-05-15 23:00:12 -07:00
44 lines
1.5 KiB
Python
44 lines
1.5 KiB
Python
import cv2
|
|
from facexlib.utils.face_restoration_helper import FaceRestoreHelper
|
|
|
|
from gfpgan.archs.gfpganv1_arch import GFPGANv1
|
|
from gfpgan.archs.gfpganv1_clean_arch import GFPGANv1Clean
|
|
from gfpgan.utils import GFPGANer
|
|
|
|
|
|
def test_gfpganer():
|
|
# initialize with the clean model
|
|
restorer = GFPGANer(
|
|
model_path='experiments/pretrained_models/GFPGANCleanv1-NoCE-C2.pth',
|
|
upscale=2,
|
|
arch='clean',
|
|
channel_multiplier=2,
|
|
bg_upsampler=None)
|
|
# test attribute
|
|
assert isinstance(restorer.gfpgan, GFPGANv1Clean)
|
|
assert isinstance(restorer.face_helper, FaceRestoreHelper)
|
|
|
|
# initialize with the original model
|
|
restorer = GFPGANer(
|
|
model_path='experiments/pretrained_models/GFPGANv1.pth',
|
|
upscale=2,
|
|
arch='original',
|
|
channel_multiplier=1,
|
|
bg_upsampler=None)
|
|
# test attribute
|
|
assert isinstance(restorer.gfpgan, GFPGANv1)
|
|
assert isinstance(restorer.face_helper, FaceRestoreHelper)
|
|
|
|
# ------------------ test enhance ---------------- #
|
|
img = cv2.imread('tests/data/gt/00000000.png', cv2.IMREAD_COLOR)
|
|
result = restorer.enhance(img, has_aligned=False, paste_back=True)
|
|
assert result[0][0].shape == (512, 512, 3)
|
|
assert result[1][0].shape == (512, 512, 3)
|
|
assert result[2].shape == (1024, 1024, 3)
|
|
|
|
# with has_aligned=True
|
|
result = restorer.enhance(img, has_aligned=True, paste_back=False)
|
|
assert result[0][0].shape == (512, 512, 3)
|
|
assert result[1][0].shape == (512, 512, 3)
|
|
assert result[2] is None
|