Instructions to use uralman/yolo26l-widerface with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- ultralytics
How to use uralman/yolo26l-widerface with ultralytics:
# Couldn't find a valid YOLO version tag. # Replace XX with the correct version. from ultralytics import YOLOvXX model = YOLOvXX.from_pretrained("uralman/yolo26l-widerface") source = 'http://images.cocodataset.org/val2017/000000039769.jpg' model.predict(source=source, save=True) - Notebooks
- Google Colab
- Kaggle
YOLO26l face detector (WiderFace)
Single-class face detector: Ultralytics YOLO26l fine-tuned on WIDER FACE.
| Classes | face (0) |
| Params | ~24.7M (fused) |
| Weights | best.pt โ 151 MB |
| Train size | 1280 |
| Ultralytics | 8.4.114+ (YOLO26) |
| License | AGPL-3.0 |
Base: YOLO26 docs ยท Dataset: WIDER FACE
Examples (val images)
Quick start
pip install "ultralytics>=8.4.0" huggingface_hub
from huggingface_hub import hf_hub_download
from ultralytics import YOLO
weights = hf_hub_download("uralman/yolo26l-widerface", "best.pt")
model = YOLO(weights)
results = model.predict(
"image.jpg",
imgsz=1280, # match training
conf=0.25, # lower (e.g. 0.15) for recall; raise for fewer FPs
iou=0.7,
max_det=300,
)
for r in results:
print(r.boxes.xyxy, r.boxes.conf) # face boxes
r.save("out.jpg")
Recommended defaults
| Setting | Value | Notes |
|---|---|---|
imgsz |
1280 | Trained at 1280; smaller sizes are faster but can miss tiny faces |
conf |
0.25 | Start here; try 0.15โ0.35 per domain |
iou |
0.7 | NMS IoU |
max_det |
300 | Crowds / parades need headroom |
Approximate latency (PyTorch, imgsz=1280, conf=0.25): ~14 ms/image on NVIDIA H100 (single image, warmed). Expect slower on smaller GPUs / CPU.
When to use this vs nano face models
- Prefer this L checkpoint when you care about small / crowded faces and can afford ~25M params / ~150MB.
- Prefer a nano face YOLO when you need max FPS on edge or CPU and faces are relatively large in frame.
Validation metrics
Ultralytics COCO-style box metrics on the YOLO-formatted WIDER FACE val split used in this run (~3.2k images). Peak by mAP50-95 (epoch 71; training stopped ~epoch 73):
| Metric | Best |
|---|---|
| Precision | 0.896 |
| Recall | 0.725 |
| mAP50 | 0.801 |
| mAP50-95 | 0.455 |
Not the official WIDER FACE Easy/Medium/Hard protocol. Numbers depend on label conversion, imgsz, and NMS โ use them to reproduce this setup, not as a leaderboard claim.
Training (short)
| Item | Value |
|---|---|
| Base | Ultralytics yolo26l.pt |
| Data | WIDER FACE โ YOLO labels (~12.9k train / ~3.2k val), 1 class |
| Setup | imgsz 1280, batch 8, AMP, cosine LR, mosaic + multi-scale |
| Hardware | 2ร H100, DDP |
| Stop | Early (~73 / 200) near plateau |
Files
| File | Description |
|---|---|
best.pt |
Ultralytics PyTorch weights |
model.onnx |
ONNX export (imgsz=1280, dynamic) |
assets/pred_*.jpg |
Example predictions on WIDER FACE val |
ONNX
pip install onnxruntime # or onnxruntime-gpu
from huggingface_hub import hf_hub_download
from ultralytics import YOLO
onnx_path = hf_hub_download("uralman/yolo26l-widerface", "model.onnx")
model = YOLO(onnx_path)
model.predict("image.jpg", imgsz=1280, conf=0.25)
Or export yourself from best.pt:
YOLO("best.pt").export(format="onnx", imgsz=1280, dynamic=True, simplify=True)
Limitations & ethics
- Face detection only (boxes) โ not recognition / identity.
- Domain shift expected outside WIDER FACE-like photos (strong blur, unusual cameras, etc.).
- False positives/negatives can affect privacy pipelines; validate on your data before production.
- Ultralytics / YOLO26 are AGPL-3.0 โ see license.
Acknowledgements
- Ultralytics YOLO26
- WIDER FACE (Yang et al.)
- Downloads last month
- 47



