Spaces:
Running
on
Zero
Running
on
Zero
File size: 1,393 Bytes
4724018 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
import os
import argparse
import numpy as np
import torch
import torch.nn.functional as F
from .visualizer import Visualizer
def create_white_video(num_frames, target_h=480, target_w=720):
white_video = torch.ones((1, num_frames, 3, target_h, target_w))
return white_video
def process_video(tracks_path, output_dir, args):
video_name = os.path.splitext(os.path.basename(tracks_path))[0].replace('_tracks', '')
video = create_white_video(args.num_frames)
combined_data = np.load(tracks_path, allow_pickle=True).item()
tracks = torch.from_numpy(combined_data['tracks'])
visibility = torch.from_numpy(combined_data['visibility'])
vis = Visualizer(
save_dir=output_dir,
grayscale=False,
fps=args.output_fps,
pad_value=0,
linewidth=args.point_size,
tracks_leave_trace=args.len_track
)
video_vis = vis.visualize(
video=video,
tracks=tracks,
visibility=visibility,
filename=video_name
)
def visualize_tracks(tracks_dir, output_dir, args):
args.tracks_dir = tracks_dir
os.makedirs(output_dir, exist_ok=True)
tracks_files = [f for f in os.listdir(args.tracks_dir) if f.endswith('tracks.npy')]
for tracks_file in tracks_files:
tracks_path = os.path.join(args.tracks_dir, tracks_file)
process_video(tracks_path, output_dir, args) |