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)
|