diff --git a/examples/lvcd_test_example_01.json b/examples/lvcd_test_example_01.json new file mode 100644 index 0000000..565a4cc --- /dev/null +++ b/examples/lvcd_test_example_01.json @@ -0,0 +1,1119 @@ +{ + "last_node_id": 57, + "last_link_id": 130, + "nodes": [ + { + "id": 27, + "type": "GetImageRangeFromBatch", + "pos": { + "0": -646, + "1": 90 + }, + "size": { + "0": 428.4000244140625, + "1": 102 + }, + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 118 + }, + { + "name": "masks", + "type": "MASK", + "link": null + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 120 + ], + "slot_index": 0, + "shape": 3 + }, + { + "name": "MASK", + "type": "MASK", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "GetImageRangeFromBatch" + }, + "widgets_values": [ + 0, + 1 + ] + }, + { + "id": 51, + "type": "Note", + "pos": { + "0": -633, + "1": -25 + }, + "size": { + "0": 390.94049072265625, + "1": 66.49737548828125 + }, + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [], + "properties": {}, + "widgets_values": [ + "Get first frame as the color reference for testing" + ], + "color": "#432", + "bgcolor": "#653" + }, + { + "id": 26, + "type": "LineArtPreprocessor", + "pos": { + "0": -649, + "1": 366 + }, + "size": { + "0": 315, + "1": 82 + }, + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 119 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 85 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "LineArtPreprocessor" + }, + "widgets_values": [ + "disable", + 512 + ] + }, + { + "id": 52, + "type": "Note", + "pos": { + "0": -652, + "1": 500 + }, + "size": { + "0": 340.9259338378906, + "1": 58 + }, + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [], + "properties": {}, + "widgets_values": [ + "Get lineart for testing" + ], + "color": "#432", + "bgcolor": "#653" + }, + { + "id": 14, + "type": "ImageResizeKJ", + "pos": { + "0": -96, + "1": 92 + }, + "size": { + "0": 315, + "1": 266 + }, + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 120 + }, + { + "name": "get_image_size", + "type": "IMAGE", + "link": null + }, + { + "name": "width_input", + "type": "INT", + "link": null, + "widget": { + "name": "width_input" + } + }, + { + "name": "height_input", + "type": "INT", + "link": null, + "widget": { + "name": "height_input" + } + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 50, + 79, + 87 + ], + "slot_index": 0, + "shape": 3 + }, + { + "name": "width", + "type": "INT", + "links": null, + "shape": 3 + }, + { + "name": "height", + "type": "INT", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "ImageResizeKJ" + }, + "widgets_values": [ + 576, + 576, + "lanczos", + true, + 64, + 0, + 0, + "disabled" + ] + }, + { + "id": 2, + "type": "LoadLVCDModel", + "pos": { + "0": -101, + "1": -307 + }, + "size": { + "0": 315, + "1": 106 + }, + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "LVCD_pipe", + "type": "LVCDPIPE", + "links": [ + 109 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "LoadLVCDModel" + }, + "widgets_values": [ + "svd-fp16.safetensors", + false, + "fp16" + ] + }, + { + "id": 21, + "type": "ImageConcatMulti", + "pos": { + "0": 1603, + "1": -313 + }, + "size": { + "0": 210, + "1": 170 + }, + "flags": {}, + "order": 15, + "mode": 0, + "inputs": [ + { + "name": "image_1", + "type": "IMAGE", + "link": 63 + }, + { + "name": "image_2", + "type": "IMAGE", + "link": 69 + }, + { + "name": "image_3", + "type": "IMAGE", + "link": 66 + } + ], + "outputs": [ + { + "name": "images", + "type": "IMAGE", + "links": [ + 60 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": {}, + "widgets_values": [ + 3, + "right", + true, + null + ] + }, + { + "id": 29, + "type": "RepeatImageBatch", + "pos": { + "0": 1374, + "1": -371 + }, + "size": { + "0": 315, + "1": 58 + }, + "flags": { + "collapsed": true + }, + "order": 13, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 79 + }, + { + "name": "amount", + "type": "INT", + "link": 67, + "widget": { + "name": "amount" + } + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 63 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "RepeatImageBatch" + }, + "widgets_values": [ + 1 + ] + }, + { + "id": 25, + "type": "GetImageSizeAndCount", + "pos": { + "0": 288, + "1": 176 + }, + "size": { + "0": 277.20001220703125, + "1": 86 + }, + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 50 + } + ], + "outputs": [ + { + "name": "image", + "type": "IMAGE", + "links": [ + 110 + ], + "slot_index": 0, + "shape": 3 + }, + { + "name": "576 width", + "type": "INT", + "links": null, + "shape": 3 + }, + { + "name": "320 height", + "type": "INT", + "links": null, + "shape": 3 + }, + { + "name": "1 count", + "type": "INT", + "links": [], + "slot_index": 3, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "GetImageSizeAndCount" + }, + "widgets_values": [] + }, + { + "id": 15, + "type": "ImageResizeKJ", + "pos": { + "0": -109, + "1": 444 + }, + "size": { + "0": 315, + "1": 266 + }, + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 85 + }, + { + "name": "get_image_size", + "type": "IMAGE", + "link": 87 + }, + { + "name": "width_input", + "type": "INT", + "link": null, + "widget": { + "name": "width_input" + } + }, + { + "name": "height_input", + "type": "INT", + "link": null, + "widget": { + "name": "height_input" + } + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 124, + 129 + ], + "slot_index": 0, + "shape": 3 + }, + { + "name": "width", + "type": "INT", + "links": null, + "shape": 3 + }, + { + "name": "height", + "type": "INT", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "ImageResizeKJ" + }, + "widgets_values": [ + 576, + 576, + "lanczos", + false, + 64, + 0, + 0, + "disabled" + ] + }, + { + "id": 57, + "type": "GetImageSizeAndCount", + "pos": { + "0": 304.9486389160156, + "1": 411.9718017578125 + }, + "size": { + "0": 277.20001220703125, + "1": 86 + }, + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 129 + } + ], + "outputs": [ + { + "name": "image", + "type": "IMAGE", + "links": [ + 130 + ], + "slot_index": 0, + "shape": 3 + }, + { + "name": "576 width", + "type": "INT", + "links": null, + "shape": 3 + }, + { + "name": "320 height", + "type": "INT", + "links": null, + "shape": 3 + }, + { + "name": "75 count", + "type": "INT", + "links": [], + "slot_index": 3, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "GetImageSizeAndCount" + } + }, + { + "id": 50, + "type": "VHS_LoadVideo", + "pos": { + "0": -965, + "1": 173 + }, + "size": [ + 247.455078125, + 402.36393229166663 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "meta_batch", + "type": "VHS_BatchManager", + "link": null + }, + { + "name": "vae", + "type": "VAE", + "link": null + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 118, + 119 + ], + "slot_index": 0, + "shape": 3 + }, + { + "name": "frame_count", + "type": "INT", + "links": null, + "shape": 3 + }, + { + "name": "audio", + "type": "AUDIO", + "links": null, + "shape": 3 + }, + { + "name": "video_info", + "type": "VHS_VIDEOINFO", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "VHS_LoadVideo" + }, + "widgets_values": { + "video": "sample_1.mp4", + "force_rate": 0, + "force_size": "Disabled", + "custom_width": 512, + "custom_height": 512, + "frame_load_cap": 0, + "skip_first_frames": 0, + "select_every_nth": 1, + "choose video to upload": "image", + "videopreview": { + "hidden": false, + "paused": false, + "params": { + "frame_load_cap": 0, + "skip_first_frames": 0, + "force_rate": 0, + "filename": "sample_1.mp4", + "type": "input", + "format": "video/mp4", + "select_every_nth": 1 + }, + "muted": false + } + } + }, + { + "id": 48, + "type": "LVCDDecoder", + "pos": { + "0": 1047, + "1": 188 + }, + "size": { + "0": 315, + "1": 126 + }, + "flags": {}, + "order": 11, + "mode": 0, + "inputs": [ + { + "name": "LVCD_pipe", + "type": "LVCDPIPE", + "link": 114 + }, + { + "name": "samples", + "type": "SVDSAMPLES", + "link": 115 + } + ], + "outputs": [ + { + "name": "images", + "type": "IMAGE", + "links": [ + 116 + ], + "slot_index": 0, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "LVCDDecoder" + }, + "widgets_values": [ + 2, + 0, + 1 + ] + }, + { + "id": 47, + "type": "LVCDSampler", + "pos": { + "0": 654, + "1": 153 + }, + "size": { + "0": 330.24658203125, + "1": 290.5760192871094 + }, + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [ + { + "name": "LVCD_pipe", + "type": "LVCDPIPE", + "link": 109 + }, + { + "name": "ref_images", + "type": "IMAGE", + "link": 110 + }, + { + "name": "sketch_images", + "type": "IMAGE", + "link": 130 + } + ], + "outputs": [ + { + "name": "LVCD_pipe", + "type": "LVCDPIPE", + "links": [ + 114 + ], + "slot_index": 0, + "shape": 3 + }, + { + "name": "samples", + "type": "SVDSAMPLES", + "links": [ + 115 + ], + "slot_index": 1, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "LVCDSampler" + }, + "widgets_values": [ + 19, + 25, + 6, + 160, + 0.02, + 4, + 25, + 127, + "fixed" + ] + }, + { + "id": 32, + "type": "GetImageRangeFromBatch", + "pos": { + "0": 1274, + "1": -264 + }, + "size": { + "0": 428.4000244140625, + "1": 102 + }, + "flags": { + "collapsed": true + }, + "order": 14, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 124 + }, + { + "name": "masks", + "type": "MASK", + "link": null + }, + { + "name": "num_frames", + "type": "INT", + "link": 126, + "widget": { + "name": "num_frames" + } + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 69 + ], + "slot_index": 0, + "shape": 3 + }, + { + "name": "MASK", + "type": "MASK", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "GetImageRangeFromBatch" + }, + "widgets_values": [ + 0, + 15 + ] + }, + { + "id": 31, + "type": "GetImageSizeAndCount", + "pos": { + "0": 1404, + "1": 180 + }, + "size": { + "0": 277.20001220703125, + "1": 86 + }, + "flags": {}, + "order": 12, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 116 + } + ], + "outputs": [ + { + "name": "image", + "type": "IMAGE", + "links": [ + 66 + ], + "slot_index": 0, + "shape": 3 + }, + { + "name": "576 width", + "type": "INT", + "links": null, + "shape": 3 + }, + { + "name": "320 height", + "type": "INT", + "links": null, + "shape": 3 + }, + { + "name": "75 count", + "type": "INT", + "links": [ + 67, + 126 + ], + "slot_index": 3, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "GetImageSizeAndCount" + }, + "widgets_values": [] + }, + { + "id": 28, + "type": "VHS_VideoCombine", + "pos": { + "0": 1898, + "1": -312 + }, + "size": [ + 1320.2227783203125, + 564.781995985243 + ], + "flags": {}, + "order": 16, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 60 + }, + { + "name": "audio", + "type": "AUDIO", + "link": null + }, + { + "name": "meta_batch", + "type": "VHS_BatchManager", + "link": null + }, + { + "name": "vae", + "type": "VAE", + "link": null + } + ], + "outputs": [ + { + "name": "Filenames", + "type": "VHS_FILENAMES", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "VHS_VideoCombine" + }, + "widgets_values": { + "frame_rate": 8, + "loop_count": 0, + "filename_prefix": "LVCD_results", + "format": "video/h264-mp4", + "pix_fmt": "yuv420p", + "crf": 19, + "save_metadata": true, + "pingpong": false, + "save_output": false, + "videopreview": { + "hidden": false, + "paused": false, + "params": { + "filename": "AnimateDiff_00002.mp4", + "subfolder": "", + "type": "temp", + "format": "video/h264-mp4", + "frame_rate": 8 + }, + "muted": false + } + } + } + ], + "links": [ + [ + 50, + 14, + 0, + 25, + 0, + "IMAGE" + ], + [ + 60, + 21, + 0, + 28, + 0, + "IMAGE" + ], + [ + 63, + 29, + 0, + 21, + 0, + "IMAGE" + ], + [ + 66, + 31, + 0, + 21, + 2, + "IMAGE" + ], + [ + 67, + 31, + 3, + 29, + 1, + "INT" + ], + [ + 69, + 32, + 0, + 21, + 1, + "IMAGE" + ], + [ + 79, + 14, + 0, + 29, + 0, + "IMAGE" + ], + [ + 85, + 26, + 0, + 15, + 0, + "IMAGE" + ], + [ + 87, + 14, + 0, + 15, + 1, + "IMAGE" + ], + [ + 109, + 2, + 0, + 47, + 0, + "LVCDPIPE" + ], + [ + 110, + 25, + 0, + 47, + 1, + "IMAGE" + ], + [ + 114, + 47, + 0, + 48, + 0, + "LVCDPIPE" + ], + [ + 115, + 47, + 1, + 48, + 1, + "SVDSAMPLES" + ], + [ + 116, + 48, + 0, + 31, + 0, + "IMAGE" + ], + [ + 118, + 50, + 0, + 27, + 0, + "IMAGE" + ], + [ + 119, + 50, + 0, + 26, + 0, + "IMAGE" + ], + [ + 120, + 27, + 0, + 14, + 0, + "IMAGE" + ], + [ + 124, + 15, + 0, + 32, + 0, + "IMAGE" + ], + [ + 126, + 31, + 3, + 32, + 2, + "INT" + ], + [ + 129, + 15, + 0, + 57, + 0, + "IMAGE" + ], + [ + 130, + 57, + 0, + 47, + 2, + "IMAGE" + ] + ], + "groups": [], + "config": {}, + "extra": { + "ds": { + "scale": 0.5209868481924987, + "offset": [ + 1076.4435159364998, + 504.45723998032855 + ] + } + }, + "version": 0.4 +} \ No newline at end of file diff --git a/inference/model_hack.py b/inference/model_hack.py index b351cb1..e3cd2f4 100644 --- a/inference/model_hack.py +++ b/inference/model_hack.py @@ -2,8 +2,47 @@ import torch from torch import nn from einops import rearrange import torch.nn.functional as F +import warnings +import platform +from torch.nn.attention import SDPBackend, sdpa_kernel +backends = [] -from torch.backends.cuda import sdp_kernel +def get_sdpa_settings(): + if torch.cuda.is_available(): + old_gpu = torch.cuda.get_device_properties(0).major < 7 + # only use Flash Attention on Ampere (8.0) or newer GPUs + use_flash_attn = torch.cuda.get_device_properties(0).major >= 8 and platform.system() == 'Linux' + if not use_flash_attn: + warnings.warn( + "Flash Attention is disabled as it requires a GPU with Ampere (8.0) CUDA capability.", + category=UserWarning, + stacklevel=2, + ) + # keep math kernel for PyTorch versions before 2.2 (Flash Attention v2 is only + # available on PyTorch 2.2+, while Flash Attention v1 cannot handle all cases) + pytorch_version = tuple(int(v) for v in torch.__version__.split(".")[:2]) + if pytorch_version < (2, 2): + warnings.warn( + f"You are using PyTorch {torch.__version__} without Flash Attention v2 support. " + "Consider upgrading to PyTorch 2.2+ for Flash Attention v2 (which could be faster).", + category=UserWarning, + stacklevel=2, + ) + math_kernel_on = pytorch_version < (2, 2) or not use_flash_attn + else: + old_gpu = True + use_flash_attn = False + math_kernel_on = True + + return old_gpu, use_flash_attn, math_kernel_on + +OLD_GPU, USE_FLASH_ATTN, MATH_KERNEL_ON = get_sdpa_settings() +if USE_FLASH_ATTN: + backends.append(SDPBackend.FLASH_ATTENTION) +if MATH_KERNEL_ON: + backends.append(SDPBackend.MATH) +if OLD_GPU or not USE_FLASH_ATTN: + backends.append(SDPBackend.EFFICIENT_ATTENTION) def remove_all_hooks(model: torch.nn.Module) -> None: for child in model.children(): @@ -167,7 +206,9 @@ class Reference(Operator): q, k, v = map(lambda t: rearrange(t, "b n (h d) -> b h n d", h=h), (q, k, v)) # Attention N = q.shape[-2] - with sdp_kernel(**{"enable_math": True, "enable_flash": True, "enable_mem_efficient": True}): + if not MATH_KERNEL_ON and OLD_GPU: + backends.append(SDPBackend.MATH) + with sdpa_kernel(backends): if layer_ind > 12 or self.mode == 'normal': attn_bias = None else: @@ -177,9 +218,7 @@ class Reference(Operator): amplify = amplify.log() attn_bias[:, :, :, :N] = amplify[:, :, :, [0]] attn_bias[:, :, :, N:] = amplify[:, :, :, [1]] - out = F.scaled_dot_product_attention( - q, k, v, attn_mask=attn_bias, - ) + out = F.scaled_dot_product_attention(q, k, v, attn_mask=attn_bias) del q, k, v out = rearrange(out, "b h n d -> b n (h d)", h=h) diff --git a/inference/sample_func.py b/inference/sample_func.py index 887ee59..ae383e1 100644 --- a/inference/sample_func.py +++ b/inference/sample_func.py @@ -1,11 +1,8 @@ # @title Sampling function import math -import os from typing import Optional import copy -import cv2 -import numpy as np import torch from einops import rearrange, repeat @@ -115,7 +112,7 @@ def decode_video(model, device, latents, arg): end = 0 i = 0 - + comfy_pbar = ProgressBar(N) with torch.autocast('cuda'): while end < N: start = i * (B - f - olap) + f @@ -131,6 +128,7 @@ def decode_video(model, device, latents, arg): else: outputs = torch.cat([ outputs, out[f+olap:] ]) i += 1 + comfy_pbar.update(1) return outputs @@ -201,6 +199,7 @@ def sample( with torch.no_grad(): with torch.autocast('cuda'): # Prepare conditions + print("Preparing conditions...") c, uc, additional_model_inputs = get_conditioning( model, get_unique_embedder_keys_from_conditioner(model.conditioner), @@ -212,6 +211,7 @@ def sample( controls=controls, palette=palette, anchor=anchor, first_control=first_control, additional_conditions=additional_conditions, ) + print("conditions prepared") # Initial noise if x_T is None: randn = torch.randn(shape, dtype=torch.float32, device="cpu").to(device) @@ -435,29 +435,6 @@ def guidance(denoised, scale, num_frames): return denoised - -def write_video(output_folder, fps_id, samples): - os.makedirs(output_folder, exist_ok=True) - video_path = os.path.join(output_folder, f".mp4") - writer = cv2.VideoWriter( - video_path, - cv2.VideoWriter_fourcc(*"MP4V"), - fps_id + 1, - (samples.shape[-1], samples.shape[-2]), - ) - - vid = ( - (rearrange(samples, "t c h w -> t h w c") * 255) - .cpu() - .numpy() - .astype(np.uint8) - ) - for frame in vid: - frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR) - writer.write(frame) - writer.release() - - def seed_everything(seed: int): import random, os import numpy as np diff --git a/inference/test/sample_1/00.png b/inference/test/sample_1/00.png deleted file mode 100644 index b806864..0000000 Binary files a/inference/test/sample_1/00.png and /dev/null differ diff --git a/inference/test/sample_1/01.png b/inference/test/sample_1/01.png deleted file mode 100644 index b365199..0000000 Binary files a/inference/test/sample_1/01.png and /dev/null differ diff --git a/inference/test/sample_1/02.png b/inference/test/sample_1/02.png deleted file mode 100644 index 18e4320..0000000 Binary files a/inference/test/sample_1/02.png and /dev/null differ diff --git a/inference/test/sample_1/03.png b/inference/test/sample_1/03.png deleted file mode 100644 index e469a98..0000000 Binary files a/inference/test/sample_1/03.png and /dev/null differ diff --git a/inference/test/sample_1/04.png b/inference/test/sample_1/04.png deleted file mode 100644 index 0f7394d..0000000 Binary files a/inference/test/sample_1/04.png and /dev/null differ diff --git a/inference/test/sample_1/05.png b/inference/test/sample_1/05.png deleted file mode 100644 index 40deab2..0000000 Binary files a/inference/test/sample_1/05.png and /dev/null differ diff --git a/inference/test/sample_1/06.png b/inference/test/sample_1/06.png deleted file mode 100644 index 528e99e..0000000 Binary files a/inference/test/sample_1/06.png and /dev/null differ diff --git a/inference/test/sample_1/07.png b/inference/test/sample_1/07.png deleted file mode 100644 index 0387143..0000000 Binary files a/inference/test/sample_1/07.png and /dev/null differ diff --git a/inference/test/sample_1/08.png b/inference/test/sample_1/08.png deleted file mode 100644 index 2d64768..0000000 Binary files a/inference/test/sample_1/08.png and /dev/null differ diff --git a/inference/test/sample_1/09.png b/inference/test/sample_1/09.png deleted file mode 100644 index 387d91d..0000000 Binary files a/inference/test/sample_1/09.png and /dev/null differ diff --git a/inference/test/sample_1/10.png b/inference/test/sample_1/10.png deleted file mode 100644 index a072242..0000000 Binary files a/inference/test/sample_1/10.png and /dev/null differ diff --git a/inference/test/sample_1/11.png b/inference/test/sample_1/11.png deleted file mode 100644 index 2d1263f..0000000 Binary files a/inference/test/sample_1/11.png and /dev/null differ diff --git a/inference/test/sample_1/12.png b/inference/test/sample_1/12.png deleted file mode 100644 index a20ebdb..0000000 Binary files a/inference/test/sample_1/12.png and /dev/null differ diff --git a/inference/test/sample_1/13.png b/inference/test/sample_1/13.png deleted file mode 100644 index 4ad6af6..0000000 Binary files a/inference/test/sample_1/13.png and /dev/null differ diff --git a/inference/test/sample_1/14.png b/inference/test/sample_1/14.png deleted file mode 100644 index 0462d7e..0000000 Binary files a/inference/test/sample_1/14.png and /dev/null differ diff --git a/inference/test/sample_1/15.png b/inference/test/sample_1/15.png deleted file mode 100644 index 9b77dbb..0000000 Binary files a/inference/test/sample_1/15.png and /dev/null differ diff --git a/inference/test/sample_1/16.png b/inference/test/sample_1/16.png deleted file mode 100644 index b7b4577..0000000 Binary files a/inference/test/sample_1/16.png and /dev/null differ diff --git a/inference/test/sample_1/17.png b/inference/test/sample_1/17.png deleted file mode 100644 index 26e2669..0000000 Binary files a/inference/test/sample_1/17.png and /dev/null differ diff --git a/inference/test/sample_1/18.png b/inference/test/sample_1/18.png deleted file mode 100644 index 013b776..0000000 Binary files a/inference/test/sample_1/18.png and /dev/null differ diff --git a/inference/test/sample_1/19.png b/inference/test/sample_1/19.png deleted file mode 100644 index fe23c71..0000000 Binary files a/inference/test/sample_1/19.png and /dev/null differ diff --git a/inference/test/sample_1/20.png b/inference/test/sample_1/20.png deleted file mode 100644 index c13d702..0000000 Binary files a/inference/test/sample_1/20.png and /dev/null differ diff --git a/inference/test/sample_1/21.png b/inference/test/sample_1/21.png deleted file mode 100644 index a671c27..0000000 Binary files a/inference/test/sample_1/21.png and /dev/null differ diff --git a/inference/test/sample_1/22.png b/inference/test/sample_1/22.png deleted file mode 100644 index db21f68..0000000 Binary files a/inference/test/sample_1/22.png and /dev/null differ diff --git a/inference/test/sample_1/23.png b/inference/test/sample_1/23.png deleted file mode 100644 index 50a84b0..0000000 Binary files a/inference/test/sample_1/23.png and /dev/null differ diff --git a/inference/test/sample_1/24.png b/inference/test/sample_1/24.png deleted file mode 100644 index 95d3853..0000000 Binary files a/inference/test/sample_1/24.png and /dev/null differ diff --git a/inference/test/sample_1/25.png b/inference/test/sample_1/25.png deleted file mode 100644 index 61f6b48..0000000 Binary files a/inference/test/sample_1/25.png and /dev/null differ diff --git a/inference/test/sample_1/26.png b/inference/test/sample_1/26.png deleted file mode 100644 index f7db139..0000000 Binary files a/inference/test/sample_1/26.png and /dev/null differ diff --git a/inference/test/sample_1/27.png b/inference/test/sample_1/27.png deleted file mode 100644 index e63b405..0000000 Binary files a/inference/test/sample_1/27.png and /dev/null differ diff --git a/inference/test/sample_1/28.png b/inference/test/sample_1/28.png deleted file mode 100644 index f68ce8b..0000000 Binary files a/inference/test/sample_1/28.png and /dev/null differ diff --git a/inference/test/sample_1/29.png b/inference/test/sample_1/29.png deleted file mode 100644 index 65e8792..0000000 Binary files a/inference/test/sample_1/29.png and /dev/null differ diff --git a/inference/test/sample_1/30.png b/inference/test/sample_1/30.png deleted file mode 100644 index cc53334..0000000 Binary files a/inference/test/sample_1/30.png and /dev/null differ diff --git a/inference/test/sample_1/31.png b/inference/test/sample_1/31.png deleted file mode 100644 index 740fb4e..0000000 Binary files a/inference/test/sample_1/31.png and /dev/null differ diff --git a/inference/test/sample_1/32.png b/inference/test/sample_1/32.png deleted file mode 100644 index baa3135..0000000 Binary files a/inference/test/sample_1/32.png and /dev/null differ diff --git a/inference/test/sample_1/33.png b/inference/test/sample_1/33.png deleted file mode 100644 index 8d1d495..0000000 Binary files a/inference/test/sample_1/33.png and /dev/null differ diff --git a/inference/test/sample_1/34.png b/inference/test/sample_1/34.png deleted file mode 100644 index 07a2c96..0000000 Binary files a/inference/test/sample_1/34.png and /dev/null differ diff --git a/inference/test/sample_1/35.png b/inference/test/sample_1/35.png deleted file mode 100644 index da647e7..0000000 Binary files a/inference/test/sample_1/35.png and /dev/null differ diff --git a/inference/test/sample_1/36.png b/inference/test/sample_1/36.png deleted file mode 100644 index 8a8cd4a..0000000 Binary files a/inference/test/sample_1/36.png and /dev/null differ diff --git a/inference/test/sample_1/37.png b/inference/test/sample_1/37.png deleted file mode 100644 index 288e122..0000000 Binary files a/inference/test/sample_1/37.png and /dev/null differ diff --git a/inference/test/sample_1/38.png b/inference/test/sample_1/38.png deleted file mode 100644 index 7d4b156..0000000 Binary files a/inference/test/sample_1/38.png and /dev/null differ diff --git a/inference/test/sample_1/39.png b/inference/test/sample_1/39.png deleted file mode 100644 index 522c57b..0000000 Binary files a/inference/test/sample_1/39.png and /dev/null differ diff --git a/inference/test/sample_1/40.png b/inference/test/sample_1/40.png deleted file mode 100644 index ea150ba..0000000 Binary files a/inference/test/sample_1/40.png and /dev/null differ diff --git a/inference/test/sample_1/41.png b/inference/test/sample_1/41.png deleted file mode 100644 index 53b458d..0000000 Binary files a/inference/test/sample_1/41.png and /dev/null differ diff --git a/inference/test/sample_1/42.png b/inference/test/sample_1/42.png deleted file mode 100644 index 25e8bdf..0000000 Binary files a/inference/test/sample_1/42.png and /dev/null differ diff --git a/inference/test/sample_1/43.png b/inference/test/sample_1/43.png deleted file mode 100644 index cb232ec..0000000 Binary files a/inference/test/sample_1/43.png and /dev/null differ diff --git a/inference/test/sample_1/44.png b/inference/test/sample_1/44.png deleted file mode 100644 index e211320..0000000 Binary files a/inference/test/sample_1/44.png and /dev/null differ diff --git a/inference/test/sample_1/45.png b/inference/test/sample_1/45.png deleted file mode 100644 index 8f14b28..0000000 Binary files a/inference/test/sample_1/45.png and /dev/null differ diff --git a/inference/test/sample_1/46.png b/inference/test/sample_1/46.png deleted file mode 100644 index 1967485..0000000 Binary files a/inference/test/sample_1/46.png and /dev/null differ diff --git a/inference/test/sample_1/47.png b/inference/test/sample_1/47.png deleted file mode 100644 index 5b01453..0000000 Binary files a/inference/test/sample_1/47.png and /dev/null differ diff --git a/inference/test/sample_1/48.png b/inference/test/sample_1/48.png deleted file mode 100644 index ca93fbb..0000000 Binary files a/inference/test/sample_1/48.png and /dev/null differ diff --git a/inference/test/sample_1/49.png b/inference/test/sample_1/49.png deleted file mode 100644 index 5b42484..0000000 Binary files a/inference/test/sample_1/49.png and /dev/null differ diff --git a/inference/test/sample_1/50.png b/inference/test/sample_1/50.png deleted file mode 100644 index 2ed21dd..0000000 Binary files a/inference/test/sample_1/50.png and /dev/null differ diff --git a/inference/test/sample_1/51.png b/inference/test/sample_1/51.png deleted file mode 100644 index 0ec0221..0000000 Binary files a/inference/test/sample_1/51.png and /dev/null differ diff --git a/inference/test/sample_1/52.png b/inference/test/sample_1/52.png deleted file mode 100644 index 0ed2174..0000000 Binary files a/inference/test/sample_1/52.png and /dev/null differ diff --git a/inference/test/sample_1/53.png b/inference/test/sample_1/53.png deleted file mode 100644 index ee529b2..0000000 Binary files a/inference/test/sample_1/53.png and /dev/null differ diff --git a/inference/test/sample_1/54.png b/inference/test/sample_1/54.png deleted file mode 100644 index a7f0a87..0000000 Binary files a/inference/test/sample_1/54.png and /dev/null differ diff --git a/inference/test/sample_1/55.png b/inference/test/sample_1/55.png deleted file mode 100644 index 5663600..0000000 Binary files a/inference/test/sample_1/55.png and /dev/null differ diff --git a/inference/test/sample_1/56.png b/inference/test/sample_1/56.png deleted file mode 100644 index 7611232..0000000 Binary files a/inference/test/sample_1/56.png and /dev/null differ diff --git a/inference/test/sample_1/57.png b/inference/test/sample_1/57.png deleted file mode 100644 index 77bddba..0000000 Binary files a/inference/test/sample_1/57.png and /dev/null differ diff --git a/inference/test/sample_1/58.png b/inference/test/sample_1/58.png deleted file mode 100644 index d2d81bd..0000000 Binary files a/inference/test/sample_1/58.png and /dev/null differ diff --git a/inference/test/sample_1/59.png b/inference/test/sample_1/59.png deleted file mode 100644 index 975fbc4..0000000 Binary files a/inference/test/sample_1/59.png and /dev/null differ diff --git a/inference/test/sample_1/60.png b/inference/test/sample_1/60.png deleted file mode 100644 index 96a66c5..0000000 Binary files a/inference/test/sample_1/60.png and /dev/null differ diff --git a/inference/test/sample_1/61.png b/inference/test/sample_1/61.png deleted file mode 100644 index 91b439d..0000000 Binary files a/inference/test/sample_1/61.png and /dev/null differ diff --git a/inference/test/sample_1/62.png b/inference/test/sample_1/62.png deleted file mode 100644 index e3d6389..0000000 Binary files a/inference/test/sample_1/62.png and /dev/null differ diff --git a/inference/test/sample_1/63.png b/inference/test/sample_1/63.png deleted file mode 100644 index 77c2865..0000000 Binary files a/inference/test/sample_1/63.png and /dev/null differ diff --git a/inference/test/sample_1/64.png b/inference/test/sample_1/64.png deleted file mode 100644 index 9613813..0000000 Binary files a/inference/test/sample_1/64.png and /dev/null differ diff --git a/inference/test/sample_1/65.png b/inference/test/sample_1/65.png deleted file mode 100644 index c7a0d3f..0000000 Binary files a/inference/test/sample_1/65.png and /dev/null differ diff --git a/inference/test/sample_1/66.png b/inference/test/sample_1/66.png deleted file mode 100644 index 4ed56d4..0000000 Binary files a/inference/test/sample_1/66.png and /dev/null differ diff --git a/inference/test/sample_1/67.png b/inference/test/sample_1/67.png deleted file mode 100644 index 920e0f8..0000000 Binary files a/inference/test/sample_1/67.png and /dev/null differ diff --git a/inference/test/sample_1/68.png b/inference/test/sample_1/68.png deleted file mode 100644 index fda17b7..0000000 Binary files a/inference/test/sample_1/68.png and /dev/null differ diff --git a/inference/test/sample_1/69.png b/inference/test/sample_1/69.png deleted file mode 100644 index 49b24f9..0000000 Binary files a/inference/test/sample_1/69.png and /dev/null differ diff --git a/inference/test/sample_1/70.png b/inference/test/sample_1/70.png deleted file mode 100644 index dd1783f..0000000 Binary files a/inference/test/sample_1/70.png and /dev/null differ diff --git a/inference/test/sample_1/71.png b/inference/test/sample_1/71.png deleted file mode 100644 index 85dfb97..0000000 Binary files a/inference/test/sample_1/71.png and /dev/null differ diff --git a/inference/test/sample_1/72.png b/inference/test/sample_1/72.png deleted file mode 100644 index ff2f1cc..0000000 Binary files a/inference/test/sample_1/72.png and /dev/null differ diff --git a/inference/test/sample_1/73.png b/inference/test/sample_1/73.png deleted file mode 100644 index 63c6276..0000000 Binary files a/inference/test/sample_1/73.png and /dev/null differ diff --git a/inference/test/sample_1/74.png b/inference/test/sample_1/74.png deleted file mode 100644 index 49f66db..0000000 Binary files a/inference/test/sample_1/74.png and /dev/null differ diff --git a/inference/test/sample_1/sample_1.mp4 b/inference/test/sample_1/sample_1.mp4 new file mode 100644 index 0000000..c1c3eb4 Binary files /dev/null and b/inference/test/sample_1/sample_1.mp4 differ