dronefreak/dji-tello-object-detection-segmentation
dronefreak/dji-tello-object-detection-segmentation has 70 GitHub stars and 21 forks. Star changes are not measured yet. Last checked 2026-11-11 16:08 UTC. Last push 2026-10-25.
Comment ces chiffres sont mesurés
Modern instance segmentation for DJI Tello drones with YOLOv8/Detectron2. Real-time performance, modular design, autonomous tracking.
What you can do
- 🎯 Multiple Detection Backends: YOLOv8 (fast) or Detectron2 (accurate)
- 🚁 Modern Drone Control: Smooth RC controls, async processing
- 🎨 Rich Visualization: Masks, bboxes, labels with transparency
- 📹 Recording & Photos: Video recording and frame capture
Progression mesurée des étoiles
- in 24h
- Mise à jour retardée
- in 7 days
- Mise à jour retardée
- in 15 days
- Mise à jour retardée
- in 1 month
- Mise à jour retardée
Variations nettes sur des périodes qui se chevauchent, pas des totaux quotidiens. Les mesures absentes restent vides. Les étoiles indiquent l’intérêt, pas la qualité.
README.md
OriginalTello Vision v2.0 🚁🤖
Modern, modular instance segmentation and object detection for DJI Tello drones. Complete rewrite with SOTA models, clean architecture, and actual performance.
📖 Documentation Index
| Section | Description |
|---|---|
| Quickstart | Get up and running fast |
| Migration | Notes on upgrading between versions |
| Improvements | Roadmap and ideas for future releases |
| License | License and legal details |
Features
- 🎯 Multiple Detection Backends: YOLOv8 (fast) or Detectron2 (accurate)
- 🚁 Modern Drone Control: Smooth RC controls, async processing
- 🎨 Rich Visualization: Masks, bboxes, labels with transparency
- 📹 Recording & Photos: Video recording and frame capture
- ⚙️ Config-Driven: YAML configuration for everything
- 🔌 Pluggable Architecture: Easy to add custom models
- 📊 Real-time Stats: FPS, battery, detection count
Quick Start
1. Installation
# Clone the repo
git clone https://github.com/dronefreak/dji-tello-object-detection-segmentation
cd dji-tello-object-detection-segmentation
# Create virtual environment
python3.10 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install with YOLOv8 (recommended for real-time)
pip install -e ".[yolo]"
# OR install with Detectron2 (higher quality, slower)
# Detectron2 isn't a regular PyPI extra — install the base package first
# (for torch), then install Detectron2 manually from git:
pip install -e .
pip install 'git+https://github.com/facebookresearch/detectron2.git'
# OR both YOLOv8 and Detectron2
pip install -e ".[yolo]"
pip install 'git+https://github.com/facebookresearch/detectron2.git'
2. Run It
# Test without a drone first (webcam)
python examples/test_detector.py --source 0
# With a Tello: power it on, connect to its WiFi, then
python -m tello_vision.app
# With custom config
python -m tello_vision.app --config my_config.yaml
See QUICKSTART.md for benchmarking, config tweaks, and the autonomous-follow demo.
Controls
| Action | Key |
|---|---|
| Takeoff | Tab |
| Land | Backspace |
| Emergency Stop | Esc |
| Move | W/A/S/D |
| Up/Down | Space/X |
| Rotate | Q/E |
| Record Video | R |
| Take Photo | Enter |
| Quit | P |
Keys only work while the video window is focused. Esc cuts the motors immediately and the drone will fall — use Backspace to land, and P to quit (it lands first).
Architecture
tello_vision/
├── detectors/
│ ├── base_detector.py # Abstract detector interface
│ ├── yolo_detector.py # YOLOv8 implementation
│ └── detectron2_detector.py # Detectron2 implementation
├── tello_controller.py # Drone control & video streaming
├── visualizer.py # Detection visualization
└── app.py # Main application
Adding Custom Models
Extend BaseDetector:
from tello_vision.detectors.base_detector import BaseDetector, DetectionResult
class MyCustomDetector(BaseDetector):
def load_model(self):
# Load your model
pass
def detect(self, frame) -> DetectionResult:
# Run inference
pass
Register in base_detector.py:
def create_detector(backend: str, config: dict):
if backend == 'custom':
from .my_custom_detector import MyCustomDetector
return MyCustomDetector(config)
Performance Comparison
| Model | Device | FPS | mAP | Use Case |
|---|---|---|---|---|
| YOLOv8n-seg | RTX 3060 | 25-30 | ~35 | Real-time, fast |
| YOLOv8s-seg | RTX 3060 | 18-22 | ~38 | Balanced |
| YOLOv8m-seg | RTX 3060 | 12-15 | ~41 | Accuracy focus |
| Detectron2 R50 | RTX 3060 | 8-12 | ~38 | High quality |
| YOLOv8n-seg | CPU | 2-3 | ~35 | CPU fallback |
FPS measured at 960x720 resolution
All settings (detection, visualization, performance, recording) live in
config.yaml, which is commented inline; see
QUICKSTART.md for common tweaks.
Advanced Usage
Python API
from tello_vision import TelloVisionApp
app = TelloVisionApp('config.yaml')
if app.initialize():
app.run()
Custom Processing Pipeline
from tello_vision import TelloController, BaseDetector, Visualizer
# Initialize components
drone = TelloController(config)
detector = BaseDetector.create_detector('yolov8', config)
visualizer = Visualizer(config)
# Custom loop
drone.connect()
detector.load_model()
while True:
frame = drone.get_frame()
result = detector.detect(frame)
# Custom logic here
for det in result.detections:
if det.class_name == 'person' and det.confidence > 0.8:
print(f"Person detected at {det.center}")
frame = visualizer.draw_detections(frame, result)
Troubleshooting
Connection Issues
# Check WiFi connection
ping 192.168.10.1
# Verify Tello firmware is up to date
# Check battery > 10%
Performance Issues
- Use smaller model:
yolov8n-seg.ptinstead ofyolov8x-seg.pt - Enable frame skipping:
frame_skip: 1or2 - Lower confidence threshold may increase speed
- Use GPU if available
Import Errors
# YOLOv8
pip install ultralytics
# Detectron2 (Linux/Mac)
pip install 'git+https://github.com/facebookresearch/detectron2.git'
# Detectron2 (Windows) - build from source or use pre-built wheels
Development
# Install dev dependencies
pip install -e ".[dev,yolo]"
# Install pre-commit hooks (runs all checks below automatically on commit)
pre-commit install
# Run all checks manually
pre-commit run --all-files
# Individual tools
ruff check tello_vision/ tests/ examples/
ruff format tello_vision/ tests/ examples/
mypy tello_vision/ tests/ examples/ --ignore-missing-imports
bandit -r tello_vision/ examples/ --confidence-level medium
Roadmap
- Multi-drone support
- ROS2 integration
- Web interface
- Object tracking (ByteTrack)
- Autonomous navigation
- Dataset recording tool
- Model training pipeline
- Docker container
License
Apache License, Version 2.0 - fork it, break it, make it better.
Acknowledgments
- Original repo: dronefreak/dji-tello-object-detection-segmentation
- Ultralytics YOLOv8
- Detectron2
- djitellopy
Explorer des projets similaires
tensorflow/tensorflow
Un framework open source d'apprentissage automatique pour tous
201,505 étoileshuggingface/transformers
🤗 Transformers : le framework de définition de modèles pour les modèles d'apprentissage automatique de pointe en texte, vision, audio et multimodal, pour l'inférence et l'entraînement.
168,815 étoilesAUTOMATIC1111/stable-diffusion-webui
Interface web de Stable Diffusion
165,289 étoilesComfy-Org/ComfyUI
La GUI, l'API et le backend les plus puissants et modulaires pour les modèles de diffusion, avec une interface de graphes et de nœuds. Le moteur d'inférence local le plus rapide au monde.
146,271 étoiles