SAVRN
Search Contact SAVRN

Open-weight model · Object detection

yolo11n-text

by Oleksandr Rudnychenko RoyRud1902/yolo11n-text

A fine-tuned YOLO11n model for detecting text regions in images. This model is optimized for detecting text bounding boxes in documents, screenshots, UI interfaces, and natural scene images.

Parameters
Context
Weights5.5 MB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads9.2k

Model Card

By Oleksandr Rudnychenko, published under apache-2.0, revision 8fc8436770be.

A fine-tuned YOLO11n model for detecting text regions in images. This model is optimized for detecting text bounding boxes in documents, screenshots, UI interfaces, and natural scene images. This model is based on Ultralytics YOLO11n (nano variant) and has been fine-tuned specifically for text detection tasks. It detects text regions as bounding boxes, which can be used as input for OCR pipelines or UI automation tasks. - Optimized for horizontal text; may have reduced accuracy on rotated text - Single class (text) - does not distinguish between text types This model is released under the Apache 2.0 License. - Ultralytics for the YOLO11 architecture - DonkeySmall for the training dataset

Read Oleksandr Rudnychenko's full model card

A fine-tuned YOLO11n model for detecting text regions in images. This model is optimized for detecting text bounding boxes in documents, screenshots, UI interfaces, and natural scene images.

Model Description

This model is based on Ultralytics YOLO11n (nano variant) and has been fine-tuned specifically for text detection tasks. It detects text regions as bounding boxes, which can be used as input for OCR pipelines or UI automation tasks.

Model Architecture

  • Base Model: YOLO11n (nano)
  • Parameters: 2,590,035
  • Layers: 181
  • Input Size: 640x640
  • Classes: 1 (text)

Training Details

Dataset

Training Configuration

Parameter Value
Epochs 50
Batch Size 16
Image Size 640
Optimizer SGD (auto)
Learning Rate 0.01 → 0.0003
Momentum 0.937
Weight Decay 0.0005
Warmup Epochs 3.0
AMP Enabled
Workers 8

Augmentation

Augmentation Value
HSV Hue 0.015
HSV Saturation 0.7
HSV Value 0.4
Translation 0.1
Scale 0.5
Horizontal Flip 0.5
Mosaic 1.0
Erasing 0.4
Auto Augment randaugment

Hardware

  • GPU: NVIDIA GeForce RTX 5070 Ti (16GB VRAM)
  • Training Time: ~1.75 hours (6,267 seconds)
  • Framework: Ultralytics 8.3.240, PyTorch 2.9.1+cu128

Performance Metrics

Final Results (Epoch 50)

Metric Value
Precision 95.7%
Recall 93.6%
mAP@50 97.6%
mAP@50-95 81.8%
Box Loss 0.619
Class Loss 0.376
DFL Loss 0.828

Training Progress

Epoch mAP@50 mAP@50-95 Precision Recall
1 89.1% 64.3% 86.0% 82.7%
10 95.9% 76.8% 93.5% 90.7%
20 96.9% 79.5% 94.8% 92.0%
30 97.3% 80.8% 95.1% 93.1%
40 97.6% 81.5% 95.6% 93.5%
50 97.6% 81.8% 95.7% 93.6%

Usage

Installation

pip install ultralytics

Inference

from ultralytics import YOLO

# Load the model
model = YOLO("best.pt")

# Run inference
results = model.predict(
    source="image.jpg",
    conf=0.25,
    iou=0.7,
    imgsz=640
)

# Process results
for result in results:
    boxes = result.boxes
    for box in boxes:
        # Get bounding box coordinates (x1, y1, x2, y2)
        xyxy = box.xyxy[0].tolist()
        confidence = box.conf[0].item()
        print(f"Text box: {xyxy}, confidence: {confidence:.2f}")

Batch Processing

from ultralytics import YOLO
from pathlib import Path

model = YOLO("best.pt")

# Process folder of images
results = model.predict(
    source="path/to/images/",
    conf=0.25,
    save=True,  # Save annotated images
    save_txt=True  # Save YOLO format labels
)

Export to Other Formats

from ultralytics import YOLO

model = YOLO("best.pt")

# Export to ONNX
model.export(format="onnx", imgsz=640, simplify=True)

# Export to TensorRT (for NVIDIA GPUs)
model.export(format="engine", imgsz=640, half=True)

# Export to CoreML (for Apple devices)
model.export(format="coreml", imgsz=640)

Model Files

File Description
best.pt Best checkpoint (highest mAP@50)
args.yaml Training configuration
results.csv Training metrics per epoch
results.png Training curves visualization
confusion_matrix.png Confusion matrix
BoxPR_curve.png Precision-Recall curve

Recommended Inference Parameters

Parameter Recommended Description
conf 0.25 Confidence threshold
iou 0.7 NMS IoU threshold
imgsz 640-1024 Input image size
max_det 300 Maximum detections per image

Use Cases

  • OCR Preprocessing: Detect text regions before applying OCR
  • Document Analysis: Locate text areas in scanned documents
  • UI Automation: Find text elements in application screenshots
  • Scene Text Detection: Detect text in natural images
  • PDF Processing: Extract text region locations

Limitations

  • Optimized for horizontal text; may have reduced accuracy on rotated text
  • Trained primarily on document and UI images
  • Single class (text) - does not distinguish between text types
  • Best performance at 640px input size

Citation

@software{yolo11n_text,
  author = {Ultralytics},
  title = {YOLO11n Text},
  year = {2024},
  publisher = {HuggingFace},
  url = {https://huggingface.co/datasets/DonkeySmall/Yolo-Text-Detection}
}

@software{ultralytics_yolo,
  author = {Jocher, Glenn and Chaurasia, Ayush and Qiu, Jing},
  title = {Ultralytics YOLO},
  year = {2023},
  publisher = {GitHub},
  url = {https://github.com/ultralytics/ultralytics}
}

License

This model is released under the Apache 2.0 License.

Acknowledgments

Configuration

Architecture
YOLO11n
Model type
yolo11

Identity and Version

Repository
RoyRud1902/yolo11n-text
Publisher
Oleksandr Rudnychenko
Task
Object detection
Modality
Image
Library
ultralytics
Parameters
Not stated by the source
Languages
ocr
Revision
8fc8436770be72178cf788983b73bf6a75c967e3
First published
2025-12-22
Last updated
2025-12-22

Files and Weights

11 files, 6.0 MB in total. The weights are 1 file totalling 5.5 MB in pt.

Weights1 file · 5.5 MB
Configuration3 files · 4.5 KB
Documentation1 file · 6.3 KB
Other5 files · 547.0 KB
Repository1 file · 1.7 KB
Every file
FileTypeSizeSHA-256
best.ptWeights5.5 MB ce26dca363a6
args.yamlConfiguration1.8 KB
config.jsonConfiguration868 B
example_inference.pyConfiguration1.9 KB
README.mdDocumentation6.3 KB
BoxPR_curve.pngOther76.6 KB
confusion_matrix.pngOther103.5 KB 52d7d9095610
labels.jpgOther113.9 KB 6a4b35f638d2
results.csvOther6.1 KB
results.pngOther246.9 KB 0e5275b9387a
.gitattributesRepository1.7 KB

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
5.5 MB
Download from Oleksandr Rudnychenko

Released by Oleksandr Rudnychenko through its official repository on Hugging Face. Read the license.

Built From

  • Trained on (disclosed) DonkeySmall/Yolo-Text-Detection

Evaluations

Each result is shown as reported, with the conditions its reporter stated. None is a SAVRN measurement. A comparison lines two results up only when their configuration, unit and setup are all stated and identical.

BenchmarkConditionsResultReported byRevisionDate
YOLO Text Detection Task Text DetectionMetric PrecisionComparison conditions not established 0.957 RoyRud1902
Publisher reported
Evaluated revision not stated
YOLO Text Detection Task Text DetectionMetric RecallComparison conditions not established 0.936 RoyRud1902
Publisher reported
Evaluated revision not stated
YOLO Text Detection Task Text DetectionMetric mAP@50Comparison conditions not established 0.976 RoyRud1902
Publisher reported
Evaluated revision not stated
YOLO Text Detection Task Text DetectionMetric mAP@50-95Comparison conditions not established 0.818 RoyRud1902
Publisher reported
Evaluated revision not stated

Memory Requirements

PrecisionWeights in memory
As published5.5 MB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About yolo11n-text

Can I use yolo11n-text commercially?

Yes. yolo11n-text is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

Similar Models

Model · Object detection

locate-anything.cpp-gguf

Mudler

GGUF builds of nvidia/LocateAnything-3B for locate-anything.cpp - a C++/ggml inference engine for open-vocabulary detection / visual grounding, no Python at inference time. Brought to you by the LocalAI team. The detections are the same as the official PyTorch implementation (the engine is parity-gated against it), and it runs faster - on CPU and GPU. The full-precision f32 GGUF (~15 GB) is reproducible from the HF weights with scripts/convertlocateanythingtogguf.py in the repo. Same detections as the official model, faster. Full methodology, the warm/median setup, parity checks, and more images are in the repo's Slow-mode inference on the 448 fixture; vs official divides the official…

Open weights other gguf

Model · Object detection

Anzhcs_YOLOs

Anzhc

YOLOs in this repo are trained with datasets that i have annotated myself, or with the help of my friends(They will be appropriately mentioned in those cases). YOLOs on open datasets will have their own pages. Ultralytics 8.3.217 updates mask handling, which breaks function in main Adetailer repo. Install Ultralytics==8.3.216 or lower. Alternatively - use forks that fix this. - Fixed in main repo. I've added some features to make Adetailer more usable and less manual - https://github.com/Anzhc/aadetailer-reforge Im open to commissions, hit me up in Discord - anzhc P.S. All model names in tables have download links attached:3 Series of models aiming at detecting and segmenting face…

Open weights agpl-3.0 ultralytics

This is a fine-tuned version of YOLOv11 (n, s, m, l, x) specialized for License Plate Detection, using a public dataset from Roboflow Universe: The upstream Roboflow dataset (license-plate-recognition-rxg4e) contains train/test contamination — the same source images appear in both the training and test splits with only minor manual augmentation applied (see Discussion #2 for concrete examples). As a result: - The reported metrics below are likely overestimated, because the test set is not a true held-out evaluation. - Real-world generalization performance is expected to be lower than the numbers in the table. - Treat all evaluation figures with caution and validate the model on your own…

Open weights agpl-3.0 ultralytics

Model · Object detection

surya_layout2

Datalab

A lightweight document layout detection model used by Surya. It detects layout regions (text, tables, figures, headers, captions, equations, etc.) on a page image and runs on CPU or GPU. This is the "fast" layout detector — a compact object detector that serves as a drop-in alternative to Surya's VLM-based layout model. Documentation, installation, and everything else lives in the Point the fast layout predictor at this checkpoint: Or make it the default so the CLI and library use it without an explicit path: Released under the AI Pubs OpenRAIL-M license (see LICENSE) — the same license as the surya-ocr-2 model weights.

Open weights openrail surya

Model · Object detection

detr-resnet-50

Joshua

https://huggingface.co/facebook/detr-resnet-50 with ONNX weights to be compatible with Transformers.js. If you haven't already, you can install the Transformers.js JavaScript library from NPM using: Test it out here, or create your own object-detection demo with 1 click! Note: Having a separate repo for ONNX weights is intended to be a temporary solution until WebML gains more traction. If you would like to make your models web-ready, we recommend converting to ONNX using Optimum and structuring your repo like this one (with ONNX weights located in a subfolder named onnx).

Open weights 1,024 tokens transformers.js