ishworrsubedii commited on
Commit
a6b6ab1
·
verified ·
1 Parent(s): d9df3d5

Update src/components/faceswap.py

Browse files
Files changed (1) hide show
  1. src/components/faceswap.py +19 -8
src/components/faceswap.py CHANGED
@@ -10,6 +10,7 @@ from src.components.face_enhancer import load_face_enhancer_model
10
 
11
  warnings.filterwarnings("ignore", category=FutureWarning)
12
 
 
13
  class FaceSwapper:
14
  def __init__(self, app_name='buffalo_l', det_size=(640, 640), device="cuda"):
15
  model_dir = "/mannequin_to_model/.insightface/models"
@@ -23,12 +24,22 @@ class FaceSwapper:
23
 
24
  logger.info('FaceSwapper initialized')
25
 
26
- def load_enhancer_model(self, enhancer, device):
27
- model, model_runner = load_face_enhancer_model(enhancer, device)
28
- logger.info(f'{enhancer} model loaded')
29
- self.enhancer_model = model
30
- self.model_runner = model_runner
31
- logger.info('Enhancer model loaded')
 
 
 
 
 
 
 
 
 
 
32
 
33
  def load_swapper_model(self, model_url, model_path):
34
  gdown_cache_dir = "/mannequin_to_model/.cache/gdown"
@@ -43,7 +54,7 @@ class FaceSwapper:
43
  if not os.path.exists(model_path):
44
  os.makedirs(os.path.dirname(model_path), exist_ok=True)
45
  gdown.download(model_url, model_path, quiet=False)
46
-
47
  self.swapper = insightface.model_zoo.get_model(model_path, download=False, download_zip=False)
48
  logger.info('Swapper model loaded')
49
 
@@ -55,6 +66,6 @@ class FaceSwapper:
55
  img1_ = self.swapper.get(img1_, face1, face2, paste_back=True)
56
  if enhance:
57
  img1_ = self.model_runner(img1_, self.enhancer_model)
58
-
59
  logger.info('Face swapped')
60
  return img1_
 
10
 
11
  warnings.filterwarnings("ignore", category=FutureWarning)
12
 
13
+
14
  class FaceSwapper:
15
  def __init__(self, app_name='buffalo_l', det_size=(640, 640), device="cuda"):
16
  model_dir = "/mannequin_to_model/.insightface/models"
 
24
 
25
  logger.info('FaceSwapper initialized')
26
 
27
+ def load_swapper_model(self, model_url, model_path):
28
+ gdown_cache_dir = "/mannequin_to_model/.cache/gdown"
29
+ os.makedirs(gdown_cache_dir, exist_ok=True)
30
+ os.environ['XDG_CACHE_HOME'] = gdown_cache_dir
31
+
32
+ cookie_path = os.path.join(gdown_cache_dir, "cookies.txt")
33
+ if not os.path.exists(cookie_path):
34
+ with open(cookie_path, 'w') as f: # Create an empty cookies.txt file
35
+ pass
36
+
37
+ if not os.path.exists(model_path):
38
+ os.makedirs(os.path.dirname(model_path), exist_ok=True)
39
+ gdown.download(model_url, model_path, quiet=False)
40
+
41
+ self.swapper = insightface.model_zoo.get_model(model_path, download=False, download_zip=False)
42
+ logger.info('Swapper model loaded')
43
 
44
  def load_swapper_model(self, model_url, model_path):
45
  gdown_cache_dir = "/mannequin_to_model/.cache/gdown"
 
54
  if not os.path.exists(model_path):
55
  os.makedirs(os.path.dirname(model_path), exist_ok=True)
56
  gdown.download(model_url, model_path, quiet=False)
57
+
58
  self.swapper = insightface.model_zoo.get_model(model_path, download=False, download_zip=False)
59
  logger.info('Swapper model loaded')
60
 
 
66
  img1_ = self.swapper.get(img1_, face1, face2, paste_back=True)
67
  if enhance:
68
  img1_ = self.model_runner(img1_, self.enhancer_model)
69
+
70
  logger.info('Face swapped')
71
  return img1_