diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index a670194..c61ccfa 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,18 +1,8 @@ -[Remove this]The issue would most likely be diagnosed if you follow the template and give all the info. +***[Remove this]The issue would be closed without notice and be considered spam if the template is not followed.*** **Describe the bug** A clear and concise description of what the bug is. -**To Reproduce** -Steps to reproduce the behavior: -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -**Expected behavior** -A clear and concise description of what you expected to happen. - **Screenshots** If applicable, add screenshots to help explain your problem. diff --git a/README.md b/README.md index ea52153..0e44589 100644 --- a/README.md +++ b/README.md @@ -4,11 +4,16 @@ Real-time face swap and video deepfake with a single click and only a single image.

+

+hacksider%2FDeep-Live-Cam | Trendshift +

+

Demo GIF Performance Demo GIF

+ ## Disclaimer This software is intended as a productive contribution to the AI-generated media industry. It aims to assist artists with tasks like animating custom characters or using them as models for clothing, etc. diff --git a/modules/processors/frame/face_enhancer.py b/modules/processors/frame/face_enhancer.py index d714fdb..7874e35 100644 --- a/modules/processors/frame/face_enhancer.py +++ b/modules/processors/frame/face_enhancer.py @@ -11,7 +11,6 @@ from modules.face_analyser import get_one_face from modules.typing import Frame, Face from modules.utilities import ( conditional_download, - resolve_relative_path, is_image, is_video, ) @@ -21,9 +20,11 @@ THREAD_SEMAPHORE = threading.Semaphore() THREAD_LOCK = threading.Lock() NAME = "DLC.FACE-ENHANCER" +abs_dir = os.path.dirname(os.path.abspath(__file__)) +models_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(abs_dir))), 'models') def pre_check() -> bool: - download_directory_path = resolve_relative_path("..\models") + download_directory_path = models_dir conditional_download( download_directory_path, [ @@ -47,11 +48,7 @@ def get_face_enhancer() -> Any: with THREAD_LOCK: if FACE_ENHANCER is None: - if os.name == "nt": - model_path = resolve_relative_path("..\models\GFPGANv1.4.pth") - # todo: set models path https://github.com/TencentARC/GFPGAN/issues/399 - else: - model_path = resolve_relative_path("../models/GFPGANv1.4.pth") + model_path = os.path.join(models_dir, 'GFPGANv1.4.pth') FACE_ENHANCER = gfpgan.GFPGANer(model_path=model_path, upscale=1) # type: ignore[attr-defined] return FACE_ENHANCER diff --git a/modules/processors/frame/face_swapper.py b/modules/processors/frame/face_swapper.py index 0c7d88c..cfe2147 100644 --- a/modules/processors/frame/face_swapper.py +++ b/modules/processors/frame/face_swapper.py @@ -10,19 +10,21 @@ from modules.face_analyser import get_one_face, get_many_faces, default_source_f from modules.typing import Face, Frame from modules.utilities import ( conditional_download, - resolve_relative_path, is_image, is_video, ) from modules.cluster_analysis import find_closest_centroid +import os FACE_SWAPPER = None THREAD_LOCK = threading.Lock() NAME = "DLC.FACE-SWAPPER" +abs_dir = os.path.dirname(os.path.abspath(__file__)) +models_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(abs_dir))), 'models') def pre_check() -> bool: - download_directory_path = resolve_relative_path("../models") + download_directory_path = abs_dir conditional_download( download_directory_path, [ @@ -54,7 +56,7 @@ def get_face_swapper() -> Any: with THREAD_LOCK: if FACE_SWAPPER is None: - model_path = resolve_relative_path("../models/inswapper_128_fp16.onnx") + model_path = os.path.join(models_dir, 'inswapper_128_fp16.onnx') FACE_SWAPPER = insightface.model_zoo.get_model( model_path, providers=modules.globals.execution_providers )