🔗 ORT: https://redswus-ort.vercel.app
ORT is a research demo that explores unintended text recognition from eyeglass reflections in video conferencing environments. The system accepts a video or image input, detects glasses regions, preprocesses reflected text areas, and applies scene text recognition to estimate visible text candidates.
This repository contains a Next.js frontend for the demo interface and a Flask backend for the analysis pipeline.
- Python 3.9+ is recommended.
- Node.js 18+ is recommended.
- Model weights are required for local inference:
RedSWUS-flask/pt/yolo.ptRedSWUS-flask/pt/best_model.pth
cd RedSWUS-flask
python3 -m venv venv
source venv/bin/activate
pip install -r ../requirements.txtThe Flask server uses SQLite by default and creates video_analysis.db automatically when the app starts.
cd RedSWUS-front
npm installStart the Flask backend first:
cd RedSWUS-flask
source venv/bin/activate
python app.pyThe backend runs at:
http://localhost:5001
In a second terminal, start the Next.js frontend:
cd RedSWUS-front
npm run devOpen the local demo page:
http://localhost:3000
Upload a video or image from the demo page. The frontend sends the file to the Flask endpoint:
POST http://localhost:5001/full_pipeline
The demo pipeline returns recognized text candidates from detected eyeglass reflection regions. During processing, the backend performs:
- Video or image upload
- Glasses detection with YOLO
- Reflection-region preprocessing
- Text-area detection with Detectron2
- Scene text recognition with PARSeq
Generated intermediate files and outputs are stored by the Flask backend under local runtime folders such as uploaded_videos/ and mp4_to_img/.
This project builds on open-source tools and frameworks including Flask, Next.js, PyTorch, Detectron2, YOLOv9, PARSeq, OpenCV, and Vercel.