|
import gradio as gr |
|
import os |
|
import tempfile |
|
from Fight_detec_func import fight_detec |
|
from objec_detect_yolo import detect_objects_in_video |
|
|
|
def analyze_video(video_path): |
|
temp_dir = "/tmp" |
|
output_path = os.path.join(temp_dir, "output.mp4") |
|
|
|
|
|
fight_result = fight_detec(video_path) |
|
crime_result, annotated_video_path = detect_objects_in_video(video_path) |
|
|
|
return { |
|
"Fight": fight_result, |
|
"Crime": crime_result, |
|
"Output Video": annotated_video_path |
|
} |
|
|
|
|
|
|
|
os.remove(video_path) |
|
os.rmdir(temp_dir) |
|
|
|
return { |
|
"Fight Detection": fight_result[0], |
|
"YOLO Object Detection": yolo_result |
|
} |
|
|
|
iface = gr.Interface( |
|
fn=analyze_video, |
|
inputs=gr.Video(label="Upload Video"), |
|
outputs=gr.JSON(label="Detection Results"), |
|
title="Fight and Object Detection System", |
|
description="Upload a video to detect fights and objects using our AI models" |
|
) |
|
|
|
iface.launch() |
|
|