Spaces:
Runtime error
Runtime error
Update visualization.py
Browse files- visualization.py +13 -1
visualization.py
CHANGED
|
@@ -9,6 +9,7 @@ import cv2
|
|
| 9 |
from matplotlib.patches import Rectangle
|
| 10 |
from utils import seconds_to_timecode
|
| 11 |
from anomaly_detection import determine_anomalies
|
|
|
|
| 12 |
import gradio as gr
|
| 13 |
|
| 14 |
def plot_mse(df, mse_values, title, color='navy', time_threshold=3, anomaly_threshold=4):
|
|
@@ -209,7 +210,18 @@ def plot_posture(df, posture_scores, color='blue', anomaly_threshold=3):
|
|
| 209 |
|
| 210 |
def create_video_with_heatmap(video_path, df, mse_embeddings, mse_posture, mse_voice, output_path, desired_fps, largest_cluster):
|
| 211 |
# Filter the DataFrame to only include frames from the largest cluster
|
| 212 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 213 |
mse_embeddings = mse_embeddings[df['Cluster'] == largest_cluster]
|
| 214 |
mse_posture = mse_posture[df['Cluster'] == largest_cluster]
|
| 215 |
mse_voice = mse_voice[df['Cluster'] == largest_cluster]
|
|
|
|
| 9 |
from matplotlib.patches import Rectangle
|
| 10 |
from utils import seconds_to_timecode
|
| 11 |
from anomaly_detection import determine_anomalies
|
| 12 |
+
from scipy import interpolate
|
| 13 |
import gradio as gr
|
| 14 |
|
| 15 |
def plot_mse(df, mse_values, title, color='navy', time_threshold=3, anomaly_threshold=4):
|
|
|
|
| 210 |
|
| 211 |
def create_video_with_heatmap(video_path, df, mse_embeddings, mse_posture, mse_voice, output_path, desired_fps, largest_cluster):
|
| 212 |
# Filter the DataFrame to only include frames from the largest cluster
|
| 213 |
+
df_largest_cluster = df[df['Cluster'] == largest_cluster]
|
| 214 |
+
|
| 215 |
+
# Interpolate mse_voice to match the length of df
|
| 216 |
+
x_voice = np.linspace(0, len(mse_voice)-1, len(mse_voice))
|
| 217 |
+
x_new = np.linspace(0, len(mse_voice)-1, len(df))
|
| 218 |
+
f = interpolate.interp1d(x_voice, mse_voice)
|
| 219 |
+
mse_voice_interpolated = f(x_new)
|
| 220 |
+
|
| 221 |
+
mse_embeddings = mse_embeddings[df['Cluster'] == largest_cluster]
|
| 222 |
+
mse_posture = mse_posture[df['Cluster'] == largest_cluster]
|
| 223 |
+
mse_voice = mse_voice_interpolated[df['Cluster'] == largest_cluster]
|
| 224 |
+
|
| 225 |
mse_embeddings = mse_embeddings[df['Cluster'] == largest_cluster]
|
| 226 |
mse_posture = mse_posture[df['Cluster'] == largest_cluster]
|
| 227 |
mse_voice = mse_voice[df['Cluster'] == largest_cluster]
|