A sleek web app that flags AI-generated video in seconds with frame-by-frame analysis.
Built for ACMHacks 2025 — UCSC ACM’s annual hackathon.
Team: Sayan Sharma, Yash Khot.
Upload a short video (.mp4/.mov). DeepSight:
- Detects faces per frame (OpenCV)
- Runs a fine-tuned Xception model (FaceForensics++ weights)
- Provides a deepfake probability score and a synced frame-by-frame chart
- Returns an overall verdict + JSON for further analysis
Frontend
- React (Vite)
- Modern, dark UI (CSS)
- Video panel + probability HUD
- Live chart rendering (frame vs. fake probability) (MatPlotLib)
Backend
- FastAPI + Uvicorn
- Multipart uploads
- Model inference endpoint
/api/predict
ML / CV
- PyTorch, torchvision, timm (Xception backbone)
- OpenCV (face detection)
- NumPy, Pandas, Matplotlib (frame analytics/plots)
- MoviePy (video IO)
- Build the Docker Image
- docker build -t deepsight .
- Run the Container
- docker run -p 8000:8000 deepsight
- Open DeepSight
- Visit → http://localhost:8000
Requirements: Python 3.10–3.12, Node 18+, ffmpeg installed.
- Clone
- git clone https://github.com/Sayan090807/DeepSight.git
- cd DeepSight
- Python deps
- python -m venv venv && source venv/bin/activate # Windows: venv\Scripts\activate
- pip install -r requirements.txt
- Pull LFS weights
- git lfs install
- git lfs pull # downloads the FaceForensics++ Xception weights
- Build the React UI
- cd app/frontend
- npm install
- npm run build
- cd ../../
- Run Project
- make run
- Open http://0.0.0.0:8000
make build # builds the React frontend make run # starts FastAPI (serves the built UI) make clean # removes frontend build artifacts
Multipart form upload (file).
Response Example: { "frames_analyzed": 30, "average_fake_probability": 0.12, "frame_probs": [0.08, 0.11, 0.14, "..."], "plot_png": "/plots/last_run.png" }
- Model: Xception trained on FaceForensics++
- Safe loading: Weights from older checkpoints are handled defensively
- Performance: Frame skipping + face cropping → real-time on CPU
- Explainability: Per-frame timeline exposes where the model spikes
Skills: ML inference, computer vision, web dev, API design, data visualization, model integration, deployment.
Libraries:
FastAPI, Uvicorn, PyTorch, torchvision, timm, OpenCV, MoviePy, NumPy, Pandas, Matplotlib, React (Vite).
- FaceForensics++ and the broader deepfake research community
- FastAPI & PyTorch teams
- UCSC ACM organizers and mentors for ACMHacks 2025
MIT — see LICENSE.