Instructions to use ethan0502/ttpla-yolo11-seg with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- ultralytics
How to use ethan0502/ttpla-yolo11-seg with ultralytics:
# Couldn't find a valid YOLO version tag. # Replace XX with the correct version. from ultralytics import YOLOvXX model = YOLOvXX.from_pretrained("ethan0502/ttpla-yolo11-seg") source = 'http://images.cocodataset.org/val2017/000000039769.jpg' model.predict(source=source, save=True) - Notebooks
- Google Colab
- Kaggle
TTPLA YOLO11s-seg β power line & utility tower detection
A YOLO11s segmentation model for detecting power lines (Line) and
transmission towers (Tower) from a low-altitude drone's forward camera,
trained on TTPLA (Abdelfattah et
al., ACCV 2020). Code, training pipeline, and Jetson deployment scripts:
github.com/ethan0502/ttpla-yolo11-seg.
Why segmentation, not just detection
TTPLA's annotations are polygons. Converting them to axis-aligned boxes (the usual detection path) throws away the true shape of a thin power line β a box around a cable is mostly background. Training with segmentation supervision keeps that shape information; at inference you can still take just the boxes (cheap, drop-in) or use the predicted masks for true-pixel risk assessment.
Benchmark
Evaluated on TTPLA's official 220-image held-out test set (never used in
training or model selection), same 2-class (Line/Tower) remap throughout.
| Model | mAP50 | mAP50-95 |
|---|---|---|
| TTPLA paper baseline β YOLACT ResNet-101@700 (Abdelfattah et al., ACCV 2020) | 43.19% | 22.96% |
| yolo11s_seg (1280px train/infer) | 76.59% | 62.84% |
| yolo11s_seg_ft640 (640px deployment fine-tune) | 74.24% | 60.37% |
+33.4pp mAP50 / +39.9pp mAP50-95 over the dataset paper's own baseline, on an identical test protocol.
Per-class (champion model, no per-class numbers are available from the original paper to compare against):
| Class | mAP50 | mAP50-95 |
|---|---|---|
| Line (power cable) | 69.6% | 54.9% |
| Tower | 83.6% | 70.8% |
Full methodology, comparability caveats, and internal ablations:
benchmarks/README.md
in the code repo.
Files
| File | Description |
|---|---|
yolo11s_seg_1280.pt |
Champion checkpoint, trained/evaluated at 1280px (Ultralytics .pt) |
yolo11s_seg_ft640.pt |
640px deployment fine-tune of the champion (Ultralytics .pt) |
yolo11s_seg_ft640.onnx |
ONNX export of the 640px checkpoint, opset 12, for ONNX Runtime / Jetson |
classes.txt |
Class names in output order: Line, Tower |
Usage
With Ultralytics:
from ultralytics import YOLO
model = YOLO("yolo11s_seg_1280.pt") # or yolo11s_seg_ft640.pt for the 640px variant
results = model.predict("flight.jpg", imgsz=1280) # use imgsz=640 for the ft640 checkpoint
With ONNX Runtime, use the deployment scripts in the code repo
(deploy/drone_obstacle_avoidance_seg.py for box+mask risk assessment, or
deploy/drone_obstacle_avoidance_seg_boxonly.py for a lighter box-only
path) β both are written against yolo11s_seg_ft640.onnx at 640Γ640.
Intended use
Real-time onboard obstacle warning for low-altitude drones (tested target: NVIDIA Jetson Orin Nano Super, ONNX Runtime, 640px input). Not validated for any safety-critical or fully autonomous collision-avoidance use β treat output as a pilot/operator warning signal, not a certified sense-and-avoid system.
Training data
TTPLA (Apache License 2.0). Raw imagery is not redistributed here or in the
code repo β see the code repo's NOTICE.md for how to obtain it and for
the official train/val/test split files used.
License
AGPL-3.0-or-later. These weights are a fine-tune of Ultralytics' pretrained
yolo11s-seg.pt checkpoint; Ultralytics' YOLO11 code and pretrained weights
are themselves AGPL-3.0 (a separate Enterprise license is available from
Ultralytics for closed-source use). See the code repo's NOTICE.md for
details.
Citation
Abdelfattah R, Wang X, Wang S. TTPLA: An Aerial-Image Dataset for Detection
and Segmentation of Transmission Towers and Power Lines. ACCV 2020.
- Downloads last month
- 68