Spaces:
Running
on
Zero
Running
on
Zero
| 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) |