A desktop GUI application for running real-time object detection on your screen. Supports YOLO and rf-detr models. Perfect for quickly testing performance on browser media and other on-screen content. You can then download only the images or videos where the model performed poorly for further training.
demo.mp4
- Features
- Installation
- Requirements
- Documentation
- Performance Benchmarks
- License & Attributions
- Acknowledgements
- Real-time screen capture — Monitor any display and detect objects from captured screenshots
- Multiple detection backends — Ultralytics, LibreYOLO, RF-DETR
- Detection history — Review and export past detections
- YOLO format export — Export detections in YOLO annotation format for training
- Custom class names — Load class names from YAML, JSON, Python, or TXT files
- Cross-platform — Windows, Linux, macOS (untested)
You probably have already installed packages related to the models (backends). Then just install the app without those packages.
pip install "git+https://github.com/st22nestrel/rtd-app.git"
# Run the app
rtd-appIf not, you can install packages for all supported backend
pip install "rtd-app[all] @ git+https://github.com/st22nestrel/rtd-app.git"👉 more install options
Detection backends are optional — install only what you need:
# Single backend
pip install "rtd-app[ultralytics] @ git+https://github.com/st22nestrel/rtd-app.git"
pip install "rtd-app[libreyolo] @ git+https://github.com/st22nestrel/rtd-app.git"
pip install "rtd-app[rfdetr] @ git+https://github.com/st22nestrel/rtd-app.git"
# Multiple backends
pip install "rtd-app[ultralytics,rfdetr] @ git+https://github.com/st22nestrel/rtd-app.git"This keeps rtd-app isolated from other Python packages:
pipx install "rtd-app[ultralytics] @ git+https://github.com/st22nestrel/rtd-app.git"
rtd-appInstalls additional packages for running tests:
git clone https://github.com/st22nestrel/rtd-app.git
cd rtd-app
pip install -e ".[all,dev]"
rtd-appClone the repository and run directly—ideal if you want to modify the code:
git clone https://github.com/st22nestrel/rtd_app.git
cd rtd_app
pip install -r requirements.txt
python main.py- Python 3.10+
| Package | Purpose |
|---|---|
| mss | Fast cross-platform screen capture |
| dearpygui | GPU-accelerated GUI framework |
| ultralytics | YOLO model inference |
| libreyolo | alternative YOLO model inference (supports fever models) |
| rf-detr | rf-detr model inference |
| supervision | Detection visualization |
- 📖 User Manual — Complete guide to all features
- ⚙️ Configuration — Settings file format and locations
| Hardware | Resolution | Backend | FPS |
|---|---|---|---|
| RTX 3060ti (desktop) | 1920x1080 | Ultralytics (YOLOv8n) | ~4 |
| RTX A500 (laptop) | 1920x1080 | Ultralytics (YOLOv8n) | 2-4 |
FPS varies based on model size, screen resolution, and detection complexity.
This project is licensed under AGPL-3.0 License.
Tip
As I do not mind using the frontend code as foundation for comercial apps (if you wished to do so), I am releasing this app also under MIT license in a separate branch here https://github.com/st22nestrel/rtd-app/tree/main-mit, without dependencies that require it to be licensed under AGPL-3.0 (the documentation mught still mention those dependecies, but they will be missing). Therefore this version will have less features (stripped ultralytics backend etc.), and might not recieve updates as frequently.
This project uses several open-source components:
- RF-DETR: Apache 2.0 License
- Ultralytics: AGPL-3.0 License
- Test images (From COCO dataset): CC BY 4.0 License
This project would not be possible without these excellent open-source libraries:
This project was highly vibecoded with assistance from AI tools.