Spaces:
Runtime error
Runtime error
Update visualization.py
Browse files- visualization.py +7 -2
visualization.py
CHANGED
|
@@ -260,7 +260,7 @@ def pad_or_trim_array(arr, target_length):
|
|
| 260 |
return arr
|
| 261 |
|
| 262 |
def create_heatmap(t, mse_embeddings_filtered, mse_posture_filtered, mse_voice_filtered, fps, total_frames, width):
|
| 263 |
-
frame_index = int(t * fps)
|
| 264 |
|
| 265 |
# Normalize the MSE values
|
| 266 |
mse_embeddings_norm = normalize_mse(mse_embeddings_filtered)
|
|
@@ -282,7 +282,7 @@ def create_heatmap(t, mse_embeddings_filtered, mse_posture_filtered, mse_voice_f
|
|
| 282 |
heatmap_frame[2, :, 2] = (mse_voice_norm[frame_index] * 255).astype(np.uint8) # Blue channel for voice
|
| 283 |
|
| 284 |
return heatmap_frame
|
| 285 |
-
|
| 286 |
def create_video_with_heatmap(video_path, df, mse_embeddings, mse_posture, mse_voice, output_folder, desired_fps, most_frequent_person_frames):
|
| 287 |
print(f"Creating heatmap video. Output folder: {output_folder}")
|
| 288 |
|
|
@@ -307,6 +307,11 @@ def create_video_with_heatmap(video_path, df, mse_embeddings, mse_posture, mse_v
|
|
| 307 |
np.arange(len(mse_posture)), mse_posture)
|
| 308 |
mse_voice = np.interp(np.linspace(0, len(mse_voice) - 1, total_frames),
|
| 309 |
np.arange(len(mse_voice)), mse_voice)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 310 |
|
| 311 |
# Filter MSE arrays for the most frequent person frames
|
| 312 |
mse_embeddings_filtered, mse_posture_filtered, mse_voice_filtered = filter_mse_for_most_frequent_person(df, mse_embeddings, mse_posture, mse_voice, most_frequent_person_frames)
|
|
|
|
| 260 |
return arr
|
| 261 |
|
| 262 |
def create_heatmap(t, mse_embeddings_filtered, mse_posture_filtered, mse_voice_filtered, fps, total_frames, width):
|
| 263 |
+
frame_index = min(int(t * fps), len(mse_embeddings_filtered) - 1)
|
| 264 |
|
| 265 |
# Normalize the MSE values
|
| 266 |
mse_embeddings_norm = normalize_mse(mse_embeddings_filtered)
|
|
|
|
| 282 |
heatmap_frame[2, :, 2] = (mse_voice_norm[frame_index] * 255).astype(np.uint8) # Blue channel for voice
|
| 283 |
|
| 284 |
return heatmap_frame
|
| 285 |
+
|
| 286 |
def create_video_with_heatmap(video_path, df, mse_embeddings, mse_posture, mse_voice, output_folder, desired_fps, most_frequent_person_frames):
|
| 287 |
print(f"Creating heatmap video. Output folder: {output_folder}")
|
| 288 |
|
|
|
|
| 307 |
np.arange(len(mse_posture)), mse_posture)
|
| 308 |
mse_voice = np.interp(np.linspace(0, len(mse_voice) - 1, total_frames),
|
| 309 |
np.arange(len(mse_voice)), mse_voice)
|
| 310 |
+
|
| 311 |
+
print(f"Total frames: {total_frames}")
|
| 312 |
+
print(f"mse_embeddings length: {len(mse_embeddings)}")
|
| 313 |
+
print(f"mse_posture length: {len(mse_posture)}")
|
| 314 |
+
print(f"mse_voice length: {len(mse_voice)}")
|
| 315 |
|
| 316 |
# Filter MSE arrays for the most frequent person frames
|
| 317 |
mse_embeddings_filtered, mse_posture_filtered, mse_voice_filtered = filter_mse_for_most_frequent_person(df, mse_embeddings, mse_posture, mse_voice, most_frequent_person_frames)
|