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
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support