Spaces:
Running
Running
Upload 121 files
Browse filesThis view is limited to 50 files because it contains too many changes. See raw diff
- app.py +9 -18
- src/__pycache__/live_portrait_pipeline.cpython-310.pyc +0 -0
- src/__pycache__/live_portrait_wrapper.cpython-310.pyc +0 -0
- src/config/__pycache__/__init__.cpython-310.pyc +0 -0
- src/config/__pycache__/argument_config.cpython-310.pyc +0 -0
- src/config/__pycache__/base_config.cpython-310.pyc +0 -0
- src/config/__pycache__/crop_config.cpython-310.pyc +0 -0
- src/config/__pycache__/inference_config.cpython-310.pyc +0 -0
- src/config/argument_config.py +0 -1
- src/config/inference_config.py +0 -1
- src/gradio_pipeline.py +2 -4
- src/live_portrait_pipeline.py +6 -26
- src/modules/__pycache__/__init__.cpython-310.pyc +0 -0
- src/modules/__pycache__/appearance_feature_extractor.cpython-310.pyc +0 -0
- src/modules/__pycache__/convnextv2.cpython-310.pyc +0 -0
- src/modules/__pycache__/dense_motion.cpython-310.pyc +0 -0
- src/modules/__pycache__/motion_extractor.cpython-310.pyc +0 -0
- src/modules/__pycache__/spade_generator.cpython-310.pyc +0 -0
- src/modules/__pycache__/stitching_retargeting_network.cpython-310.pyc +0 -0
- src/modules/__pycache__/util.cpython-310.pyc +0 -0
- src/modules/__pycache__/warping_network.cpython-310.pyc +0 -0
- src/utils/__pycache__/__init__.cpython-310.pyc +0 -0
- src/utils/__pycache__/camera.cpython-310.pyc +0 -0
- src/utils/__pycache__/crop.cpython-310.pyc +0 -0
- src/utils/__pycache__/cropper.cpython-310.pyc +0 -0
- src/utils/__pycache__/face_analysis_diy.cpython-310.pyc +0 -0
- src/utils/__pycache__/helper.cpython-310.pyc +0 -0
- src/utils/__pycache__/io.cpython-310.pyc +0 -0
- src/utils/__pycache__/landmark_runner.cpython-310.pyc +0 -0
- src/utils/__pycache__/retargeting_utils.cpython-310.pyc +0 -0
- src/utils/__pycache__/rprint.cpython-310.pyc +0 -0
- src/utils/__pycache__/timer.cpython-310.pyc +0 -0
- src/utils/__pycache__/video.cpython-310.pyc +0 -0
- src/utils/dependencies/insightface/__pycache__/__init__.cpython-310.pyc +0 -0
- src/utils/dependencies/insightface/app/__pycache__/__init__.cpython-310.pyc +0 -0
- src/utils/dependencies/insightface/app/__pycache__/common.cpython-310.pyc +0 -0
- src/utils/dependencies/insightface/app/__pycache__/face_analysis.cpython-310.pyc +0 -0
- src/utils/dependencies/insightface/data/__pycache__/__init__.cpython-310.pyc +0 -0
- src/utils/dependencies/insightface/data/__pycache__/image.cpython-310.pyc +0 -0
- src/utils/dependencies/insightface/data/__pycache__/pickle_object.cpython-310.pyc +0 -0
- src/utils/dependencies/insightface/model_zoo/__pycache__/__init__.cpython-310.pyc +0 -0
- src/utils/dependencies/insightface/model_zoo/__pycache__/arcface_onnx.cpython-310.pyc +0 -0
- src/utils/dependencies/insightface/model_zoo/__pycache__/attribute.cpython-310.pyc +0 -0
- src/utils/dependencies/insightface/model_zoo/__pycache__/inswapper.cpython-310.pyc +0 -0
- src/utils/dependencies/insightface/model_zoo/__pycache__/landmark.cpython-310.pyc +0 -0
- src/utils/dependencies/insightface/model_zoo/__pycache__/model_zoo.cpython-310.pyc +0 -0
- src/utils/dependencies/insightface/model_zoo/__pycache__/retinaface.cpython-310.pyc +0 -0
- src/utils/dependencies/insightface/model_zoo/__pycache__/scrfd.cpython-310.pyc +0 -0
- src/utils/dependencies/insightface/utils/__pycache__/__init__.cpython-310.pyc +0 -0
- src/utils/dependencies/insightface/utils/__pycache__/constant.cpython-310.pyc +0 -0
app.py
CHANGED
|
@@ -65,14 +65,12 @@ def gpu_wrapped_execute_video(
|
|
| 65 |
input_video_path,
|
| 66 |
flag_relative_input,
|
| 67 |
flag_do_crop_input,
|
| 68 |
-
flag_remap_input,
|
| 69 |
):
|
| 70 |
return gradio_pipeline.execute_video(
|
| 71 |
input_image_path,
|
| 72 |
input_video_path,
|
| 73 |
flag_relative_input,
|
| 74 |
flag_do_crop_input,
|
| 75 |
-
flag_remap_input,
|
| 76 |
)
|
| 77 |
|
| 78 |
@maybe_gpu
|
|
@@ -96,11 +94,11 @@ title_md = "assets/gradio_title.md"
|
|
| 96 |
example_portrait_dir = "assets/examples/source"
|
| 97 |
example_video_dir = "assets/examples/driving"
|
| 98 |
data_examples = [
|
| 99 |
-
[osp.join(example_portrait_dir, "s9.jpg"), osp.join(example_video_dir, "d0.mp4"), True, True
|
| 100 |
-
[osp.join(example_portrait_dir, "s6.jpg"), osp.join(example_video_dir, "d0.mp4"), True, True
|
| 101 |
-
[osp.join(example_portrait_dir, "s10.jpg"), osp.join(example_video_dir, "d5.mp4"), True, True
|
| 102 |
-
[osp.join(example_portrait_dir, "s5.jpg"), osp.join(example_video_dir, "d6.mp4"), True, True
|
| 103 |
-
[osp.join(example_portrait_dir, "s7.jpg"), osp.join(example_video_dir, "d7.mp4"), True, True
|
| 104 |
]
|
| 105 |
#################### interface logic ####################
|
| 106 |
|
|
@@ -111,7 +109,6 @@ retargeting_input_image = gr.Image(type="numpy")
|
|
| 111 |
output_image = gr.Image(type="numpy")
|
| 112 |
output_image_paste_back = gr.Image(type="numpy")
|
| 113 |
output_video = gr.Video()
|
| 114 |
-
output_video_concat = gr.Video()
|
| 115 |
|
| 116 |
with gr.Blocks(theme=gr.themes.Soft(),title="LivePortrait: Revolutionary AI-Powered Portrait Animation Technology") as demo:
|
| 117 |
gr.HTML(load_description(title_md))
|
|
@@ -148,19 +145,15 @@ with gr.Blocks(theme=gr.themes.Soft(),title="LivePortrait: Revolutionary AI-Powe
|
|
| 148 |
with gr.Row():
|
| 149 |
flag_relative_input = gr.Checkbox(value=True, label="relative motion")
|
| 150 |
flag_do_crop_input = gr.Checkbox(value=True, label="do crop")
|
| 151 |
-
flag_remap_input = gr.Checkbox(value=True, label="paste-back")
|
| 152 |
with gr.Row():
|
| 153 |
with gr.Column():
|
| 154 |
process_button_animation = gr.Button("🚀 Animate", variant="primary")
|
| 155 |
with gr.Column():
|
| 156 |
-
process_button_reset = gr.ClearButton([image_input, video_input, output_video
|
| 157 |
with gr.Row():
|
| 158 |
with gr.Column():
|
| 159 |
-
with gr.Accordion(open=True, label="
|
| 160 |
output_video.render()
|
| 161 |
-
with gr.Column():
|
| 162 |
-
with gr.Accordion(open=True, label="The animated video"):
|
| 163 |
-
output_video_concat.render()
|
| 164 |
with gr.Row():
|
| 165 |
# Examples
|
| 166 |
gr.Markdown("## You could choose the examples below ⬇️")
|
|
@@ -173,9 +166,8 @@ with gr.Blocks(theme=gr.themes.Soft(),title="LivePortrait: Revolutionary AI-Powe
|
|
| 173 |
video_input,
|
| 174 |
flag_relative_input,
|
| 175 |
flag_do_crop_input,
|
| 176 |
-
flag_remap_input
|
| 177 |
],
|
| 178 |
-
outputs=[output_video
|
| 179 |
examples_per_page=5,
|
| 180 |
cache_examples=False,
|
| 181 |
)
|
|
@@ -220,9 +212,8 @@ with gr.Blocks(theme=gr.themes.Soft(),title="LivePortrait: Revolutionary AI-Powe
|
|
| 220 |
video_input,
|
| 221 |
flag_relative_input,
|
| 222 |
flag_do_crop_input,
|
| 223 |
-
flag_remap_input
|
| 224 |
],
|
| 225 |
-
outputs=[output_video
|
| 226 |
show_progress=True
|
| 227 |
)
|
| 228 |
image_input.change(
|
|
|
|
| 65 |
input_video_path,
|
| 66 |
flag_relative_input,
|
| 67 |
flag_do_crop_input,
|
|
|
|
| 68 |
):
|
| 69 |
return gradio_pipeline.execute_video(
|
| 70 |
input_image_path,
|
| 71 |
input_video_path,
|
| 72 |
flag_relative_input,
|
| 73 |
flag_do_crop_input,
|
|
|
|
| 74 |
)
|
| 75 |
|
| 76 |
@maybe_gpu
|
|
|
|
| 94 |
example_portrait_dir = "assets/examples/source"
|
| 95 |
example_video_dir = "assets/examples/driving"
|
| 96 |
data_examples = [
|
| 97 |
+
[osp.join(example_portrait_dir, "s9.jpg"), osp.join(example_video_dir, "d0.mp4"), True, True],
|
| 98 |
+
[osp.join(example_portrait_dir, "s6.jpg"), osp.join(example_video_dir, "d0.mp4"), True, True],
|
| 99 |
+
[osp.join(example_portrait_dir, "s10.jpg"), osp.join(example_video_dir, "d5.mp4"), True, True],
|
| 100 |
+
[osp.join(example_portrait_dir, "s5.jpg"), osp.join(example_video_dir, "d6.mp4"), True, True],
|
| 101 |
+
[osp.join(example_portrait_dir, "s7.jpg"), osp.join(example_video_dir, "d7.mp4"), True, True],
|
| 102 |
]
|
| 103 |
#################### interface logic ####################
|
| 104 |
|
|
|
|
| 109 |
output_image = gr.Image(type="numpy")
|
| 110 |
output_image_paste_back = gr.Image(type="numpy")
|
| 111 |
output_video = gr.Video()
|
|
|
|
| 112 |
|
| 113 |
with gr.Blocks(theme=gr.themes.Soft(),title="LivePortrait: Revolutionary AI-Powered Portrait Animation Technology") as demo:
|
| 114 |
gr.HTML(load_description(title_md))
|
|
|
|
| 145 |
with gr.Row():
|
| 146 |
flag_relative_input = gr.Checkbox(value=True, label="relative motion")
|
| 147 |
flag_do_crop_input = gr.Checkbox(value=True, label="do crop")
|
|
|
|
| 148 |
with gr.Row():
|
| 149 |
with gr.Column():
|
| 150 |
process_button_animation = gr.Button("🚀 Animate", variant="primary")
|
| 151 |
with gr.Column():
|
| 152 |
+
process_button_reset = gr.ClearButton([image_input, video_input, output_video], value="🧹 Clear")
|
| 153 |
with gr.Row():
|
| 154 |
with gr.Column():
|
| 155 |
+
with gr.Accordion(open=True, label="Avatar animation video"):
|
| 156 |
output_video.render()
|
|
|
|
|
|
|
|
|
|
| 157 |
with gr.Row():
|
| 158 |
# Examples
|
| 159 |
gr.Markdown("## You could choose the examples below ⬇️")
|
|
|
|
| 166 |
video_input,
|
| 167 |
flag_relative_input,
|
| 168 |
flag_do_crop_input,
|
|
|
|
| 169 |
],
|
| 170 |
+
outputs=[output_video],
|
| 171 |
examples_per_page=5,
|
| 172 |
cache_examples=False,
|
| 173 |
)
|
|
|
|
| 212 |
video_input,
|
| 213 |
flag_relative_input,
|
| 214 |
flag_do_crop_input,
|
|
|
|
| 215 |
],
|
| 216 |
+
outputs=[output_video],
|
| 217 |
show_progress=True
|
| 218 |
)
|
| 219 |
image_input.change(
|
src/__pycache__/live_portrait_pipeline.cpython-310.pyc
CHANGED
|
Binary files a/src/__pycache__/live_portrait_pipeline.cpython-310.pyc and b/src/__pycache__/live_portrait_pipeline.cpython-310.pyc differ
|
|
|
src/__pycache__/live_portrait_wrapper.cpython-310.pyc
CHANGED
|
Binary files a/src/__pycache__/live_portrait_wrapper.cpython-310.pyc and b/src/__pycache__/live_portrait_wrapper.cpython-310.pyc differ
|
|
|
src/config/__pycache__/__init__.cpython-310.pyc
CHANGED
|
Binary files a/src/config/__pycache__/__init__.cpython-310.pyc and b/src/config/__pycache__/__init__.cpython-310.pyc differ
|
|
|
src/config/__pycache__/argument_config.cpython-310.pyc
CHANGED
|
Binary files a/src/config/__pycache__/argument_config.cpython-310.pyc and b/src/config/__pycache__/argument_config.cpython-310.pyc differ
|
|
|
src/config/__pycache__/base_config.cpython-310.pyc
CHANGED
|
Binary files a/src/config/__pycache__/base_config.cpython-310.pyc and b/src/config/__pycache__/base_config.cpython-310.pyc differ
|
|
|
src/config/__pycache__/crop_config.cpython-310.pyc
CHANGED
|
Binary files a/src/config/__pycache__/crop_config.cpython-310.pyc and b/src/config/__pycache__/crop_config.cpython-310.pyc differ
|
|
|
src/config/__pycache__/inference_config.cpython-310.pyc
CHANGED
|
Binary files a/src/config/__pycache__/inference_config.cpython-310.pyc and b/src/config/__pycache__/inference_config.cpython-310.pyc differ
|
|
|
src/config/argument_config.py
CHANGED
|
@@ -26,7 +26,6 @@ class ArgumentConfig(PrintableConfig):
|
|
| 26 |
flag_lip_retargeting: bool = False
|
| 27 |
flag_stitching: bool = True # we recommend setting it to True!
|
| 28 |
flag_relative: bool = True # whether to use relative motion
|
| 29 |
-
flag_pasteback: bool = True # whether to paste-back/stitch the animated face cropping from the face-cropping space to the original image space
|
| 30 |
flag_do_crop: bool = True # whether to crop the source portrait to the face-cropping space
|
| 31 |
flag_do_rot: bool = True # whether to conduct the rotation when flag_do_crop is True
|
| 32 |
#########################################
|
|
|
|
| 26 |
flag_lip_retargeting: bool = False
|
| 27 |
flag_stitching: bool = True # we recommend setting it to True!
|
| 28 |
flag_relative: bool = True # whether to use relative motion
|
|
|
|
| 29 |
flag_do_crop: bool = True # whether to crop the source portrait to the face-cropping space
|
| 30 |
flag_do_rot: bool = True # whether to conduct the rotation when flag_do_crop is True
|
| 31 |
#########################################
|
src/config/inference_config.py
CHANGED
|
@@ -39,7 +39,6 @@ class InferenceConfig(PrintableConfig):
|
|
| 39 |
crf: int = 15 # crf for output video
|
| 40 |
|
| 41 |
flag_write_result: bool = True # whether to write output video
|
| 42 |
-
flag_pasteback: bool = True # whether to paste-back/stitch the animated face cropping from the face-cropping space to the original image space
|
| 43 |
mask_crop: ndarray = cv2.imread(make_abs_path('../utils/resources/mask_template.png'), cv2.IMREAD_COLOR)
|
| 44 |
flag_write_gif: bool = False
|
| 45 |
size_gif: int = 256
|
|
|
|
| 39 |
crf: int = 15 # crf for output video
|
| 40 |
|
| 41 |
flag_write_result: bool = True # whether to write output video
|
|
|
|
| 42 |
mask_crop: ndarray = cv2.imread(make_abs_path('../utils/resources/mask_template.png'), cv2.IMREAD_COLOR)
|
| 43 |
flag_write_gif: bool = False
|
| 44 |
size_gif: int = 256
|
src/gradio_pipeline.py
CHANGED
|
@@ -71,7 +71,6 @@ class GradioPipeline(LivePortraitPipeline):
|
|
| 71 |
input_video_path,
|
| 72 |
flag_relative_input,
|
| 73 |
flag_do_crop_input,
|
| 74 |
-
flag_remap_input,
|
| 75 |
):
|
| 76 |
""" for video driven potrait animation
|
| 77 |
"""
|
|
@@ -82,16 +81,15 @@ class GradioPipeline(LivePortraitPipeline):
|
|
| 82 |
'driving_info': input_video_path,
|
| 83 |
'flag_relative': flag_relative_input,
|
| 84 |
'flag_do_crop': flag_do_crop_input,
|
| 85 |
-
'flag_pasteback': flag_remap_input,
|
| 86 |
}
|
| 87 |
# update config from user input
|
| 88 |
self.args = update_args(self.args, args_user)
|
| 89 |
self.live_portrait_wrapper.update_config(self.args.__dict__)
|
| 90 |
self.cropper.update_config(self.args.__dict__)
|
| 91 |
# video driven animation
|
| 92 |
-
video_path
|
| 93 |
# gr.Info("Run successfully!", duration=2)
|
| 94 |
-
return video_path
|
| 95 |
else:
|
| 96 |
raise gr.Error("The input source portrait or driving video hasn't been prepared yet 💥!", duration=5)
|
| 97 |
|
|
|
|
| 71 |
input_video_path,
|
| 72 |
flag_relative_input,
|
| 73 |
flag_do_crop_input,
|
|
|
|
| 74 |
):
|
| 75 |
""" for video driven potrait animation
|
| 76 |
"""
|
|
|
|
| 81 |
'driving_info': input_video_path,
|
| 82 |
'flag_relative': flag_relative_input,
|
| 83 |
'flag_do_crop': flag_do_crop_input,
|
|
|
|
| 84 |
}
|
| 85 |
# update config from user input
|
| 86 |
self.args = update_args(self.args, args_user)
|
| 87 |
self.live_portrait_wrapper.update_config(self.args.__dict__)
|
| 88 |
self.cropper.update_config(self.args.__dict__)
|
| 89 |
# video driven animation
|
| 90 |
+
video_path = self.execute(self.args)
|
| 91 |
# gr.Info("Run successfully!", duration=2)
|
| 92 |
+
return video_path
|
| 93 |
else:
|
| 94 |
raise gr.Error("The input source portrait or driving video hasn't been prepared yet 💥!", duration=5)
|
| 95 |
|
src/live_portrait_pipeline.py
CHANGED
|
@@ -19,8 +19,8 @@ from .config.inference_config import InferenceConfig
|
|
| 19 |
from .config.crop_config import CropConfig
|
| 20 |
from .utils.cropper import Cropper
|
| 21 |
from .utils.camera import get_rotation_matrix
|
| 22 |
-
from .utils.video import images2video
|
| 23 |
-
from .utils.crop import _transform_img
|
| 24 |
from .utils.retargeting_utils import calc_lip_close_ratio
|
| 25 |
from .utils.io import load_image_rgb, load_driving_info, resize_to_limit
|
| 26 |
from .utils.helper import mkdir, basename, dct2device, is_video, is_template
|
|
@@ -46,7 +46,7 @@ class LivePortraitPipeline(object):
|
|
| 46 |
log(f"Load source image from {args.source_image}")
|
| 47 |
crop_info = self.cropper.crop_single_image(img_rgb)
|
| 48 |
source_lmk = crop_info['lmk_crop']
|
| 49 |
-
|
| 50 |
if inference_cfg.flag_do_crop:
|
| 51 |
I_s = self.live_portrait_wrapper.prepare_source(img_crop_256x256)
|
| 52 |
else:
|
|
@@ -88,12 +88,6 @@ class LivePortraitPipeline(object):
|
|
| 88 |
raise Exception("Unsupported driving types!")
|
| 89 |
#########################################
|
| 90 |
|
| 91 |
-
######## prepare for pasteback ########
|
| 92 |
-
if inference_cfg.flag_pasteback:
|
| 93 |
-
mask_ori = prepare_paste_back(inference_cfg.mask_crop, crop_info['M_c2o'], dsize=(img_rgb.shape[1], img_rgb.shape[0]))
|
| 94 |
-
I_p_paste_lst = []
|
| 95 |
-
#########################################
|
| 96 |
-
|
| 97 |
I_p_lst = []
|
| 98 |
R_d_0, x_d_0_info = None, None
|
| 99 |
for i in track(range(n_frames), description='Animating...', total=n_frames):
|
|
@@ -168,23 +162,9 @@ class LivePortraitPipeline(object):
|
|
| 168 |
I_p_i = self.live_portrait_wrapper.parse_output(out['out'])[0]
|
| 169 |
I_p_lst.append(I_p_i)
|
| 170 |
|
| 171 |
-
if inference_cfg.flag_pasteback:
|
| 172 |
-
I_p_i_to_ori_blend = paste_back(I_p_i, crop_info['M_c2o'], img_rgb, mask_ori)
|
| 173 |
-
I_p_paste_lst.append(I_p_i_to_ori_blend)
|
| 174 |
-
|
| 175 |
mkdir(args.output_dir)
|
| 176 |
-
|
| 177 |
-
if is_video(args.driving_info):
|
| 178 |
-
frames_concatenated = concat_frames(I_p_lst, driving_rgb_lst, img_crop_256x256)
|
| 179 |
-
# save (driving frames, source image, drived frames) result
|
| 180 |
-
wfp_concat = osp.join(args.output_dir, f'{basename(args.source_image)}--{basename(args.driving_info)}_concat.mp4')
|
| 181 |
-
images2video(frames_concatenated, wfp=wfp_concat)
|
| 182 |
-
|
| 183 |
-
# save drived result
|
| 184 |
wfp = osp.join(args.output_dir, f'{basename(args.source_image)}--{basename(args.driving_info)}.mp4')
|
| 185 |
-
|
| 186 |
-
images2video(I_p_paste_lst, wfp=wfp)
|
| 187 |
-
else:
|
| 188 |
-
images2video(I_p_lst, wfp=wfp)
|
| 189 |
|
| 190 |
-
return wfp
|
|
|
|
| 19 |
from .config.crop_config import CropConfig
|
| 20 |
from .utils.cropper import Cropper
|
| 21 |
from .utils.camera import get_rotation_matrix
|
| 22 |
+
from .utils.video import images2video
|
| 23 |
+
from .utils.crop import _transform_img
|
| 24 |
from .utils.retargeting_utils import calc_lip_close_ratio
|
| 25 |
from .utils.io import load_image_rgb, load_driving_info, resize_to_limit
|
| 26 |
from .utils.helper import mkdir, basename, dct2device, is_video, is_template
|
|
|
|
| 46 |
log(f"Load source image from {args.source_image}")
|
| 47 |
crop_info = self.cropper.crop_single_image(img_rgb)
|
| 48 |
source_lmk = crop_info['lmk_crop']
|
| 49 |
+
img_crop_256x256 = crop_info['img_crop_256x256']
|
| 50 |
if inference_cfg.flag_do_crop:
|
| 51 |
I_s = self.live_portrait_wrapper.prepare_source(img_crop_256x256)
|
| 52 |
else:
|
|
|
|
| 88 |
raise Exception("Unsupported driving types!")
|
| 89 |
#########################################
|
| 90 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 91 |
I_p_lst = []
|
| 92 |
R_d_0, x_d_0_info = None, None
|
| 93 |
for i in track(range(n_frames), description='Animating...', total=n_frames):
|
|
|
|
| 162 |
I_p_i = self.live_portrait_wrapper.parse_output(out['out'])[0]
|
| 163 |
I_p_lst.append(I_p_i)
|
| 164 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 165 |
mkdir(args.output_dir)
|
| 166 |
+
# save avatar-only animation result
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 167 |
wfp = osp.join(args.output_dir, f'{basename(args.source_image)}--{basename(args.driving_info)}.mp4')
|
| 168 |
+
images2video(I_p_lst, wfp=wfp)
|
|
|
|
|
|
|
|
|
|
| 169 |
|
| 170 |
+
return wfp
|
src/modules/__pycache__/__init__.cpython-310.pyc
CHANGED
|
Binary files a/src/modules/__pycache__/__init__.cpython-310.pyc and b/src/modules/__pycache__/__init__.cpython-310.pyc differ
|
|
|
src/modules/__pycache__/appearance_feature_extractor.cpython-310.pyc
CHANGED
|
Binary files a/src/modules/__pycache__/appearance_feature_extractor.cpython-310.pyc and b/src/modules/__pycache__/appearance_feature_extractor.cpython-310.pyc differ
|
|
|
src/modules/__pycache__/convnextv2.cpython-310.pyc
CHANGED
|
Binary files a/src/modules/__pycache__/convnextv2.cpython-310.pyc and b/src/modules/__pycache__/convnextv2.cpython-310.pyc differ
|
|
|
src/modules/__pycache__/dense_motion.cpython-310.pyc
CHANGED
|
Binary files a/src/modules/__pycache__/dense_motion.cpython-310.pyc and b/src/modules/__pycache__/dense_motion.cpython-310.pyc differ
|
|
|
src/modules/__pycache__/motion_extractor.cpython-310.pyc
CHANGED
|
Binary files a/src/modules/__pycache__/motion_extractor.cpython-310.pyc and b/src/modules/__pycache__/motion_extractor.cpython-310.pyc differ
|
|
|
src/modules/__pycache__/spade_generator.cpython-310.pyc
CHANGED
|
Binary files a/src/modules/__pycache__/spade_generator.cpython-310.pyc and b/src/modules/__pycache__/spade_generator.cpython-310.pyc differ
|
|
|
src/modules/__pycache__/stitching_retargeting_network.cpython-310.pyc
CHANGED
|
Binary files a/src/modules/__pycache__/stitching_retargeting_network.cpython-310.pyc and b/src/modules/__pycache__/stitching_retargeting_network.cpython-310.pyc differ
|
|
|
src/modules/__pycache__/util.cpython-310.pyc
CHANGED
|
Binary files a/src/modules/__pycache__/util.cpython-310.pyc and b/src/modules/__pycache__/util.cpython-310.pyc differ
|
|
|
src/modules/__pycache__/warping_network.cpython-310.pyc
CHANGED
|
Binary files a/src/modules/__pycache__/warping_network.cpython-310.pyc and b/src/modules/__pycache__/warping_network.cpython-310.pyc differ
|
|
|
src/utils/__pycache__/__init__.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/__pycache__/__init__.cpython-310.pyc and b/src/utils/__pycache__/__init__.cpython-310.pyc differ
|
|
|
src/utils/__pycache__/camera.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/__pycache__/camera.cpython-310.pyc and b/src/utils/__pycache__/camera.cpython-310.pyc differ
|
|
|
src/utils/__pycache__/crop.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/__pycache__/crop.cpython-310.pyc and b/src/utils/__pycache__/crop.cpython-310.pyc differ
|
|
|
src/utils/__pycache__/cropper.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/__pycache__/cropper.cpython-310.pyc and b/src/utils/__pycache__/cropper.cpython-310.pyc differ
|
|
|
src/utils/__pycache__/face_analysis_diy.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/__pycache__/face_analysis_diy.cpython-310.pyc and b/src/utils/__pycache__/face_analysis_diy.cpython-310.pyc differ
|
|
|
src/utils/__pycache__/helper.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/__pycache__/helper.cpython-310.pyc and b/src/utils/__pycache__/helper.cpython-310.pyc differ
|
|
|
src/utils/__pycache__/io.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/__pycache__/io.cpython-310.pyc and b/src/utils/__pycache__/io.cpython-310.pyc differ
|
|
|
src/utils/__pycache__/landmark_runner.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/__pycache__/landmark_runner.cpython-310.pyc and b/src/utils/__pycache__/landmark_runner.cpython-310.pyc differ
|
|
|
src/utils/__pycache__/retargeting_utils.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/__pycache__/retargeting_utils.cpython-310.pyc and b/src/utils/__pycache__/retargeting_utils.cpython-310.pyc differ
|
|
|
src/utils/__pycache__/rprint.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/__pycache__/rprint.cpython-310.pyc and b/src/utils/__pycache__/rprint.cpython-310.pyc differ
|
|
|
src/utils/__pycache__/timer.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/__pycache__/timer.cpython-310.pyc and b/src/utils/__pycache__/timer.cpython-310.pyc differ
|
|
|
src/utils/__pycache__/video.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/__pycache__/video.cpython-310.pyc and b/src/utils/__pycache__/video.cpython-310.pyc differ
|
|
|
src/utils/dependencies/insightface/__pycache__/__init__.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/dependencies/insightface/__pycache__/__init__.cpython-310.pyc and b/src/utils/dependencies/insightface/__pycache__/__init__.cpython-310.pyc differ
|
|
|
src/utils/dependencies/insightface/app/__pycache__/__init__.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/dependencies/insightface/app/__pycache__/__init__.cpython-310.pyc and b/src/utils/dependencies/insightface/app/__pycache__/__init__.cpython-310.pyc differ
|
|
|
src/utils/dependencies/insightface/app/__pycache__/common.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/dependencies/insightface/app/__pycache__/common.cpython-310.pyc and b/src/utils/dependencies/insightface/app/__pycache__/common.cpython-310.pyc differ
|
|
|
src/utils/dependencies/insightface/app/__pycache__/face_analysis.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/dependencies/insightface/app/__pycache__/face_analysis.cpython-310.pyc and b/src/utils/dependencies/insightface/app/__pycache__/face_analysis.cpython-310.pyc differ
|
|
|
src/utils/dependencies/insightface/data/__pycache__/__init__.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/dependencies/insightface/data/__pycache__/__init__.cpython-310.pyc and b/src/utils/dependencies/insightface/data/__pycache__/__init__.cpython-310.pyc differ
|
|
|
src/utils/dependencies/insightface/data/__pycache__/image.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/dependencies/insightface/data/__pycache__/image.cpython-310.pyc and b/src/utils/dependencies/insightface/data/__pycache__/image.cpython-310.pyc differ
|
|
|
src/utils/dependencies/insightface/data/__pycache__/pickle_object.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/dependencies/insightface/data/__pycache__/pickle_object.cpython-310.pyc and b/src/utils/dependencies/insightface/data/__pycache__/pickle_object.cpython-310.pyc differ
|
|
|
src/utils/dependencies/insightface/model_zoo/__pycache__/__init__.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/dependencies/insightface/model_zoo/__pycache__/__init__.cpython-310.pyc and b/src/utils/dependencies/insightface/model_zoo/__pycache__/__init__.cpython-310.pyc differ
|
|
|
src/utils/dependencies/insightface/model_zoo/__pycache__/arcface_onnx.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/dependencies/insightface/model_zoo/__pycache__/arcface_onnx.cpython-310.pyc and b/src/utils/dependencies/insightface/model_zoo/__pycache__/arcface_onnx.cpython-310.pyc differ
|
|
|
src/utils/dependencies/insightface/model_zoo/__pycache__/attribute.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/dependencies/insightface/model_zoo/__pycache__/attribute.cpython-310.pyc and b/src/utils/dependencies/insightface/model_zoo/__pycache__/attribute.cpython-310.pyc differ
|
|
|
src/utils/dependencies/insightface/model_zoo/__pycache__/inswapper.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/dependencies/insightface/model_zoo/__pycache__/inswapper.cpython-310.pyc and b/src/utils/dependencies/insightface/model_zoo/__pycache__/inswapper.cpython-310.pyc differ
|
|
|
src/utils/dependencies/insightface/model_zoo/__pycache__/landmark.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/dependencies/insightface/model_zoo/__pycache__/landmark.cpython-310.pyc and b/src/utils/dependencies/insightface/model_zoo/__pycache__/landmark.cpython-310.pyc differ
|
|
|
src/utils/dependencies/insightface/model_zoo/__pycache__/model_zoo.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/dependencies/insightface/model_zoo/__pycache__/model_zoo.cpython-310.pyc and b/src/utils/dependencies/insightface/model_zoo/__pycache__/model_zoo.cpython-310.pyc differ
|
|
|
src/utils/dependencies/insightface/model_zoo/__pycache__/retinaface.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/dependencies/insightface/model_zoo/__pycache__/retinaface.cpython-310.pyc and b/src/utils/dependencies/insightface/model_zoo/__pycache__/retinaface.cpython-310.pyc differ
|
|
|
src/utils/dependencies/insightface/model_zoo/__pycache__/scrfd.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/dependencies/insightface/model_zoo/__pycache__/scrfd.cpython-310.pyc and b/src/utils/dependencies/insightface/model_zoo/__pycache__/scrfd.cpython-310.pyc differ
|
|
|
src/utils/dependencies/insightface/utils/__pycache__/__init__.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/dependencies/insightface/utils/__pycache__/__init__.cpython-310.pyc and b/src/utils/dependencies/insightface/utils/__pycache__/__init__.cpython-310.pyc differ
|
|
|
src/utils/dependencies/insightface/utils/__pycache__/constant.cpython-310.pyc
CHANGED
|
Binary files a/src/utils/dependencies/insightface/utils/__pycache__/constant.cpython-310.pyc and b/src/utils/dependencies/insightface/utils/__pycache__/constant.cpython-310.pyc differ
|
|
|