Spaces:
Sleeping
Sleeping
''' | |
import gradio as gr | |
from utils import extract_frames | |
from model import predict_defect | |
def analyze_video(video): | |
frames = extract_frames(video) | |
results = [predict_defect(frame) for frame in frames] | |
return results | |
demo = gr.Interface( | |
fn=analyze_video, | |
inputs=gr.Video(label="Upload Drone Video"), | |
outputs=gr.Gallery(label="Detected Road Defects") | |
, | |
title="Drone-based Road Defect Detection", | |
description="Upload drone footage to identify and highlight road surface defects." | |
) | |
if __name__ == "__main__": | |
demo.launch() | |
''' | |
import gradio as gr | |
import os | |
from utils import extract_frames | |
from model import predict_defect | |
# === 1. Load videos from the Data folder === | |
DATA_DIR = "Data" | |
def get_video_choices(): | |
return [os.path.join(DATA_DIR, f) for f in os.listdir(DATA_DIR) if f.endswith(".mp4")] | |
# === 2. Analyze selected video === | |
def analyze_selected_video(video_path): | |
frames = extract_frames(video_path) | |
results = [predict_defect(frame) for frame in frames] | |
return results | |
# === 3. Gradio interface === | |
demo = gr.Interface( | |
fn=analyze_selected_video, | |
inputs=gr.Dropdown(choices=get_video_choices(), label="Select Drone Video"), | |
outputs=gr.Gallery(label="Detected Road Defects"), | |
title="Drone-based Road Defect Detection", | |
description="Select footage from the Data folder to highlight road surface defects." | |
) | |
if __name__ == "__main__": | |
demo.launch() | |