An advanced AI-powered forensic video analysis platform that coordinates multiple state-of-the-art computer vision models running on Kaggle GPUs, processes bounding boxes, computes saliency intervals, and compiles key suspect video tracks.
- Centralized Model Control: Seamlessly orchestrates and triggers three distinct AI models (YOLOv8 + EffNet + Indexing, DeepFace, and Best Retrieval models) on Kaggle Cloud GPUs.
- Smart Suspect Zoom & Track Crops: Extracts suspect tracks and aligns candidate matching crops into clean, uniform galleries using custom blurred-background paddings.
- Temporal Synopsis Generation: Automatically detects target visibility intervals and constructs condensed video summaries (synopses).
- Audio Synchronization: Re-integrates original scene audio with synopses by dynamically cutting and stitching audio streams matching target interval timestamps using FFmpeg.
- Premium Frontend UX: Responsive dark/light UI built with Streamlit, styled with custom CSS card containers, hover micro-animations, and fluid transitions.
- Frontend UI: Streamlit
- Backend Processing: Python 3.9+, OpenCV, Pandas, SciPy, MoviePy, Kaggle CLI
- Audio/Video Transcoding: FFmpeg
- Cloud GPU Inference: Kaggle API (Kernels Push)
- Clone the repository:
git clone https://github.com/CreatorguyS/Forensic-synopsis-generator.git cd Forensic-synopsis-generator - Install Python dependencies:
pip install -r requirements.txt
- Install system-level dependency
ffmpeg. - Place your Kaggle API token (
kaggle.json) in~/.kaggle/. - Run the web application:
streamlit run app.py
- Log in to Streamlit Share using GitHub.
- Select your repository, set the branch to
main, and the Entry point toapp.py. - Open Advanced Settings -> Secrets and configure your Kaggle credentials:
KAGGLE_USERNAME = "your_kaggle_username" KAGGLE_KEY = "your_kaggle_api_key"
- Click Deploy. Streamlit will automatically read
packages.txtto installffmpegandrequirements.txtfor Python packages.