cleanyourtv-app
A community-built phone app for Clean Your TV: clean up an Android TV from your phone. No laptop, no coding agent, nothing uninstalled.
AI-powered traffic violation detection and object recognition from dashcam imagery using YOLOv8
OtherGitHub @pratyushpadOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
YOLOv8 traffic-violation detection across 23 classes with a spatial rule engine — upload a dashcam frame, get a structured violation report.
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗Live demo: ai-argus.netlify.app
Upload a road photo and Argus finds vehicles, pedestrians, traffic lights and 16 kinds of traffic signs with a custom-trained YOLOv8s model, then applies spatial rules to flag likely violations (for example, a vehicle next to a no-entry sign).
Note: the backend runs on a free Hugging Face Space (CPU) that sleeps when idle. The first request after a sleep takes about 30 seconds while it wakes up; after that a request takes about 3 seconds end to end.
YOLOv8s fine-tuned for 80 epochs (batch 16, 640 px) on a Colab GPU in 2.7 hours. Validation split, 1,470 images, 1,592 boxes:
| Metric | Value |
|---|---|
| mAP50 | 0.927 |
| mAP50-95 | 0.810 |
| Precision / Recall | 0.920 / 0.871 |
| Vehicles (car / truck / bus) mAP50 | 0.825 / 0.732 / 0.747 |
| Traffic signs mAP50 | 0.86 to 0.995 |
Inference: about 4 ms per image (model time) on an Apple M3 Pro GPU (MPS), about 87 ms on its CPU. The live demo runs on a free CPU Space, so expect about 3 seconds per request including the network round trip.
Limitations.
POST /api/detect on the FastAPI backend.backend/services/violation_rules.py) checks distances between detections: 8 sign rules, speed-zone notices and pedestrian proximity.netlify.toml sets NEXT_PUBLIC_API_URL)Requires Python 3.10+ and Node.js 18+. Download best.pt from the v1.0-model release to model/best.pt (the Docker setup needs it too), then:
python3 -m venv .venv && source .venv/bin/activate
pip install -r backend/requirements.txt
cd backend && python main.py # http://localhost:8080/docs
cd frontend && npm install && npm run dev # http://localhost:3000
Or docker compose up --build.
pip install ultralytics
python model/train.py --data model/data.yaml --epochs 80 --batch 16
Set path: in model/data.yaml to your dataset folder (YOLO format: images/ and labels/, each with train/ and val/). The dataset is not included in this repo. Best weights land in runs/traffic_violation/weights/best.pt; copy that to model/best.pt.
├── model/ # Training script and data config
├── backend/ # FastAPI app (detection, violation rules, annotator)
├── frontend/ # Next.js app (upload UI, results display)
├── docs/ # README images
└── docker-compose.yml