diff options
author | Aarni Koskela <akx@iki.fi> | 2023-12-25 21:01:02 +0000 |
---|---|---|
committer | Aarni Koskela <akx@iki.fi> | 2023-12-30 14:30:49 +0000 |
commit | b621a63cf68c788487684250856707cb352b82d0 (patch) | |
tree | 37fc1ce21103832f126ba799fad7ede6cbdd2308 /test/test_face_restorers.py | |
parent | b0f59342346b1c8b405f97c0e0bb01c6ae05c601 (diff) | |
download | stable-diffusion-webui-gfx803-b621a63cf68c788487684250856707cb352b82d0.tar.gz stable-diffusion-webui-gfx803-b621a63cf68c788487684250856707cb352b82d0.tar.bz2 stable-diffusion-webui-gfx803-b621a63cf68c788487684250856707cb352b82d0.zip |
Unify CodeFormer and GFPGAN restoration backends, use Spandrel for GFPGAN
Diffstat (limited to 'test/test_face_restorers.py')
-rw-r--r-- | test/test_face_restorers.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/test/test_face_restorers.py b/test/test_face_restorers.py new file mode 100644 index 00000000..7760d51b --- /dev/null +++ b/test/test_face_restorers.py @@ -0,0 +1,29 @@ +import os +from test.conftest import test_files_path, test_outputs_path + +import numpy as np +import pytest +from PIL import Image + + +@pytest.mark.usefixtures("initialize") +@pytest.mark.parametrize("restorer_name", ["gfpgan", "codeformer"]) +def test_face_restorers(restorer_name): + from modules import shared + + if restorer_name == "gfpgan": + from modules import gfpgan_model + gfpgan_model.setup_model(shared.cmd_opts.gfpgan_models_path) + restorer = gfpgan_model.gfpgan_fix_faces + elif restorer_name == "codeformer": + from modules import codeformer_model + codeformer_model.setup_model(shared.cmd_opts.codeformer_models_path) + restorer = codeformer_model.codeformer.restore + else: + raise NotImplementedError("...") + img = Image.open(os.path.join(test_files_path, "two-faces.jpg")) + np_img = np.array(img, dtype=np.uint8) + fixed_image = restorer(np_img) + assert fixed_image.shape == np_img.shape + assert not np.allclose(fixed_image, np_img) # should have visibly changed + Image.fromarray(fixed_image).save(os.path.join(test_outputs_path, f"{restorer_name}.png")) |