Spaces:
Paused
Paused
output original video frame
Browse files
app.py
CHANGED
|
@@ -27,6 +27,7 @@ with gr.Blocks() as demo:
|
|
| 27 |
frames = gr.Gallery(type="pil", label="Frames", format="png")
|
| 28 |
frames_thumb = gr.Gallery(type="pil", label="Thumbnails", format="png")
|
| 29 |
pose_coords = gr.JSON(label="Pose Coordinates")
|
|
|
|
| 30 |
|
| 31 |
submit_btn.click(
|
| 32 |
run_app, inputs=[char_imgs, mocap, tr_steps, inf_steps, fps, remove_bg, resize_inputs], outputs=[animation, frames]
|
|
@@ -37,7 +38,7 @@ with gr.Blocks() as demo:
|
|
| 37 |
)
|
| 38 |
|
| 39 |
inference_btn.click(
|
| 40 |
-
run_inference, inputs=[char_imgs, mocap, tr_steps, inf_steps, fps, modelId, img_width, img_height, remove_bg, resize_inputs], outputs=[animation, frames, frames_thumb, pose_coords]
|
| 41 |
)
|
| 42 |
|
| 43 |
|
|
|
|
| 27 |
frames = gr.Gallery(type="pil", label="Frames", format="png")
|
| 28 |
frames_thumb = gr.Gallery(type="pil", label="Thumbnails", format="png")
|
| 29 |
pose_coords = gr.JSON(label="Pose Coordinates")
|
| 30 |
+
reference = gr.Gallery(type="pil", label="Reference Images", format="png")
|
| 31 |
|
| 32 |
submit_btn.click(
|
| 33 |
run_app, inputs=[char_imgs, mocap, tr_steps, inf_steps, fps, remove_bg, resize_inputs], outputs=[animation, frames]
|
|
|
|
| 38 |
)
|
| 39 |
|
| 40 |
inference_btn.click(
|
| 41 |
+
run_inference, inputs=[char_imgs, mocap, tr_steps, inf_steps, fps, modelId, img_width, img_height, remove_bg, resize_inputs], outputs=[animation, frames, frames_thumb, pose_coords, reference]
|
| 42 |
)
|
| 43 |
|
| 44 |
|
main.py
CHANGED
|
@@ -345,14 +345,14 @@ def prepare_inputs_inference(in_img, in_vid, fps, dwpose, rembg_session, bg_remo
|
|
| 345 |
tpose.save("out/"+"tar_pose"+str(len(target_poses_cropped))+".png")
|
| 346 |
target_poses_cropped.append(tpose)
|
| 347 |
|
| 348 |
-
return in_img, target_poses_cropped, in_pose, target_poses_coords
|
| 349 |
|
| 350 |
|
| 351 |
def prepare_inputs(images, in_vid, fps, bg_remove, dwpose, rembg_session, resize='target', is_app=False):
|
| 352 |
|
| 353 |
in_img, in_pose, train_imgs, train_poses = prepare_inputs_train(images, bg_remove, dwpose, rembg_session)
|
| 354 |
|
| 355 |
-
in_img, target_poses_cropped, _, _ = prepare_inputs_inference(in_img, in_vid, fps, dwpose, rembg_session, bg_remove, resize, is_app)
|
| 356 |
|
| 357 |
|
| 358 |
return in_img, in_pose, train_imgs, train_poses, target_poses_cropped
|
|
@@ -1138,7 +1138,7 @@ def run_inference(images, video_path, train_steps=100, inference_steps=10, fps=1
|
|
| 1138 |
images = [img[0] for img in images]
|
| 1139 |
in_img = images[0]
|
| 1140 |
|
| 1141 |
-
in_img, target_poses, in_pose, target_poses_coords = prepare_inputs_inference(in_img, video_path, fps, dwpose, rembg_session, bg_remove, 'target', is_app)
|
| 1142 |
|
| 1143 |
results = inference(modelId, in_img, in_pose, target_poses, inference_steps, None, vae, unet, image_encoder_p, is_app)
|
| 1144 |
#urls = save_temp_imgs(results)
|
|
@@ -1156,7 +1156,7 @@ def run_inference(images, video_path, train_steps=100, inference_steps=10, fps=1
|
|
| 1156 |
|
| 1157 |
print("Done!")
|
| 1158 |
|
| 1159 |
-
return out_vid+'.webm', results, getThumbnails(results), target_poses_coords
|
| 1160 |
|
| 1161 |
|
| 1162 |
def run_app(images, video_path, train_steps=100, inference_steps=10, fps=12, bg_remove=False, resize_inputs=True):
|
|
|
|
| 345 |
tpose.save("out/"+"tar_pose"+str(len(target_poses_cropped))+".png")
|
| 346 |
target_poses_cropped.append(tpose)
|
| 347 |
|
| 348 |
+
return in_img, target_poses_cropped, in_pose, target_poses_coords, frames
|
| 349 |
|
| 350 |
|
| 351 |
def prepare_inputs(images, in_vid, fps, bg_remove, dwpose, rembg_session, resize='target', is_app=False):
|
| 352 |
|
| 353 |
in_img, in_pose, train_imgs, train_poses = prepare_inputs_train(images, bg_remove, dwpose, rembg_session)
|
| 354 |
|
| 355 |
+
in_img, target_poses_cropped, _, _, _ = prepare_inputs_inference(in_img, in_vid, fps, dwpose, rembg_session, bg_remove, resize, is_app)
|
| 356 |
|
| 357 |
|
| 358 |
return in_img, in_pose, train_imgs, train_poses, target_poses_cropped
|
|
|
|
| 1138 |
images = [img[0] for img in images]
|
| 1139 |
in_img = images[0]
|
| 1140 |
|
| 1141 |
+
in_img, target_poses, in_pose, target_poses_coords, orig_frames = prepare_inputs_inference(in_img, video_path, fps, dwpose, rembg_session, bg_remove, 'target', is_app)
|
| 1142 |
|
| 1143 |
results = inference(modelId, in_img, in_pose, target_poses, inference_steps, None, vae, unet, image_encoder_p, is_app)
|
| 1144 |
#urls = save_temp_imgs(results)
|
|
|
|
| 1156 |
|
| 1157 |
print("Done!")
|
| 1158 |
|
| 1159 |
+
return out_vid+'.webm', results, getThumbnails(results), target_poses_coords, orig_frames
|
| 1160 |
|
| 1161 |
|
| 1162 |
def run_app(images, video_path, train_steps=100, inference_steps=10, fps=12, bg_remove=False, resize_inputs=True):
|