Spaces:
No application file
No application file
| 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 | |