hysts HF staff commited on
Commit
37fdc05
·
1 Parent(s): 707cb96
Files changed (1) hide show
  1. app.py +11 -31
app.py CHANGED
@@ -9,9 +9,9 @@ import pathlib
9
  import subprocess
10
  import tarfile
11
 
12
- import mim
13
-
14
  if os.environ.get('SYSTEM') == 'spaces':
 
 
15
  mim.uninstall('mmcv-full', confirm_yes=True)
16
  mim.install('mmcv-full==1.3.16', is_yes=True)
17
 
@@ -26,22 +26,15 @@ import huggingface_hub
26
  import numpy as np
27
  import torch
28
 
29
- REPO_URL = 'https://github.com/hysts/anime-face-detector'
30
  TITLE = 'hysts/anime-face-detector'
31
- DESCRIPTION = f'A demo for {REPO_URL}'
32
- ARTICLE = None
33
 
34
  TOKEN = os.environ['TOKEN']
35
 
36
 
37
  def parse_args() -> argparse.Namespace:
38
  parser = argparse.ArgumentParser()
39
- parser.add_argument('--face-score-slider-step', type=float, default=0.05)
40
- parser.add_argument('--face-score-threshold', type=float, default=0.5)
41
- parser.add_argument('--landmark-score-slider-step',
42
- type=float,
43
- default=0.05)
44
- parser.add_argument('--landmark-score-threshold', type=float, default=0.3)
45
  parser.add_argument('--device', type=str, default='cpu')
46
  parser.add_argument('--theme', type=str)
47
  parser.add_argument('--live', action='store_true')
@@ -99,13 +92,10 @@ def detect(
99
  color = (0, 0, 255)
100
  pt = np.round(pt).astype(int)
101
  cv2.circle(res, tuple(pt), line_width, color, cv2.FILLED)
102
- res = cv2.cvtColor(res, cv2.COLOR_BGR2RGB)
103
- return res
104
 
105
 
106
  def main():
107
- gr.close_all()
108
-
109
  args = parse_args()
110
  device = torch.device(args.device)
111
 
@@ -120,12 +110,7 @@ def main():
120
  func = functools.update_wrapper(func, detect)
121
 
122
  image_paths = load_sample_image_paths()
123
- examples = [[
124
- path.as_posix(),
125
- 'yolov3',
126
- args.face_score_threshold,
127
- args.landmark_score_threshold,
128
- ] for path in image_paths]
129
 
130
  gr.Interface(
131
  func,
@@ -135,16 +120,11 @@ def main():
135
  type='value',
136
  default='yolov3',
137
  label='Detector'),
138
- gr.inputs.Slider(0,
139
- 1,
140
- step=args.face_score_slider_step,
141
- default=args.face_score_threshold,
142
- label='Face Score Threshold'),
143
- gr.inputs.Slider(0,
144
- 1,
145
- step=args.landmark_score_slider_step,
146
- default=args.landmark_score_threshold,
147
- label='Landmark Score Threshold'),
148
  ],
149
  gr.outputs.Image(type='numpy', label='Output'),
150
  examples=examples,
 
9
  import subprocess
10
  import tarfile
11
 
 
 
12
  if os.environ.get('SYSTEM') == 'spaces':
13
+ import mim
14
+
15
  mim.uninstall('mmcv-full', confirm_yes=True)
16
  mim.install('mmcv-full==1.3.16', is_yes=True)
17
 
 
26
  import numpy as np
27
  import torch
28
 
 
29
  TITLE = 'hysts/anime-face-detector'
30
+ DESCRIPTION = 'This is a demo for https://github.com/hysts/anime-face-detector.'
31
+ ARTICLE = '<center><img src="https://visitor-badge.glitch.me/badge?page_id=hysts.anime-face-detector" alt="visitor badge"/></center>'
32
 
33
  TOKEN = os.environ['TOKEN']
34
 
35
 
36
  def parse_args() -> argparse.Namespace:
37
  parser = argparse.ArgumentParser()
 
 
 
 
 
 
38
  parser.add_argument('--device', type=str, default='cpu')
39
  parser.add_argument('--theme', type=str)
40
  parser.add_argument('--live', action='store_true')
 
92
  color = (0, 0, 255)
93
  pt = np.round(pt).astype(int)
94
  cv2.circle(res, tuple(pt), line_width, color, cv2.FILLED)
95
+ return res[:, :, ::-1]
 
96
 
97
 
98
  def main():
 
 
99
  args = parse_args()
100
  device = torch.device(args.device)
101
 
 
110
  func = functools.update_wrapper(func, detect)
111
 
112
  image_paths = load_sample_image_paths()
113
+ examples = [[path.as_posix(), 'yolov3', 0.5, 0.3] for path in image_paths]
 
 
 
 
 
114
 
115
  gr.Interface(
116
  func,
 
120
  type='value',
121
  default='yolov3',
122
  label='Detector'),
123
+ gr.inputs.Slider(
124
+ 0, 1, step=0.05, default=0.5, label='Face Score Threshold'),
125
+ gr.inputs.Slider(
126
+ 0, 1, step=0.05, default=0.3,
127
+ label='Landmark Score Threshold'),
 
 
 
 
 
128
  ],
129
  gr.outputs.Image(type='numpy', label='Output'),
130
  examples=examples,