Back to Ultralytics

Signature Detection Dataset

docs/en/datasets/detect/signature.md

8.4.918.7 KB
Original Source

Signature Detection Dataset

The Ultralytics Signature Detection Dataset is an object detection dataset of 178 document images annotated with a single signature class, pre-split into 143 training and 35 validation images. The dataset downloads automatically (11.3 MB) the first time you train, making it a compact starting point for computer vision applications such as document verification, fraud detection, and digital document processing.

Dataset Structure

The dataset contains 178 images of various document types with handwritten signatures, split into two subsets:

SplitImagesDescription
Train143Labeled images for model training
Validation35Held-out images for evaluation

Every image carries bounding-box annotations for one class, signature, and the configuration defines no separate test split.

!!! tip "Automatic download"

The Signature Detection Dataset (11.3 MB) downloads automatically from Ultralytics GitHub assets the first time you train, so no manual download or preparation is required.

Explore Signature on Ultralytics Platform to browse the images with their annotation overlays, view the class distribution and bounding-box heatmaps in the Charts tab, and clone it to train your own model in the cloud.

Applications

A model trained on this dataset can identify and track signatures in scanned documents and video, supporting:

  • Document Verification: Automating signature checks in legal and financial documents
  • Fraud Detection: Identifying potentially forged or unauthorized signatures
  • Digital Document Processing: Streamlining workflows in administrative and legal sectors
  • Banking and Finance: Enhancing security in check processing and loan document verification
  • Archival Research: Supporting historical document analysis and cataloging
  • Education and Research: Studying signature characteristics across document types in computer vision courses

Dataset YAML

The signature.yaml file defines the dataset configuration — the dataset paths, class names, and other metadata. It is maintained in the Ultralytics repository at https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/signature.yaml.

!!! example "ultralytics/cfg/datasets/signature.yaml"

```yaml
--8<-- "ultralytics/cfg/datasets/signature.yaml"
```

Usage

To train a YOLO26n model on the Signature Detection Dataset for 100 epochs with an image size of 640, use the provided code samples. For a comprehensive list of available parameters, refer to the model's Training page.

!!! example "Train Example"

=== "Python"

    ```python
    from ultralytics import YOLO

    # Load a model
    model = YOLO("yolo26n.pt")  # load a pretrained model (recommended for training)

    # Train the model
    results = model.train(data="signature.yaml", epochs=100, imgsz=640)
    ```

=== "CLI"

    ```bash
    # Start training from a pretrained *.pt model
    yolo detect train data=signature.yaml model=yolo26n.pt epochs=100 imgsz=640
    ```

Once trained, you can run inference on documents or video with the fine-tuned model. The example below runs prediction on a sample video with a confidence threshold of 0.75:

!!! example "Inference Example"

=== "Python"

    ```python
    from ultralytics import YOLO

    # Load a model
    model = YOLO("path/to/best.pt")  # load a signature-detection fine-tuned model

    # Inference using the model
    results = model.predict("https://ultralytics.com/assets/signature-s.mp4", conf=0.75)
    ```

=== "CLI"

    ```bash
    # Start prediction with a finetuned *.pt model
    yolo detect predict model='path/to/best.pt' imgsz=640 source="https://ultralytics.com/assets/signature-s.mp4" conf=0.75
    ```

Sample Images and Annotations

The dataset covers a variety of document formats, helping trained models generalize across contracts, forms, and letters. Below is a training batch from the dataset:

  • Mosaiced Image: Here, we present a training batch consisting of mosaiced dataset images. Mosaicing, a training technique, combines multiple images into one, enriching batch diversity. This method helps enhance the model's ability to generalize across different signature sizes, aspect ratios, and contexts.

Citations and Acknowledgments

The dataset has been made available under the AGPL-3.0 License.

If you use the Signature Detection Dataset in your research or development work, please cite it appropriately:

!!! quote ""

=== "BibTeX"

    ```bibtex
    @dataset{Ultralytics_Signature_Detection_Dataset_2024,
        author = {Ultralytics},
        title = {Signature Detection Dataset},
        year = {2024},
        publisher = {Ultralytics},
        url = {https://docs.ultralytics.com/datasets/detect/signature/}
    }
    ```

FAQ

What is the Signature Detection Dataset used for?

The Signature Detection Dataset is a collection of 178 annotated document images for training models to detect handwritten signatures. It supports document verification, fraud detection, and archival research, and is a practical base for building smart document analysis systems with machine learning.

How do I download the Signature Detection Dataset?

The dataset downloads automatically (11.3 MB) from Ultralytics GitHub assets the first time you train with data="signature.yaml" — no manual download is required. To explore other datasets, browse the detection datasets overview.

How many images and classes are in the Signature Detection Dataset?

The Signature Detection Dataset contains 143 training and 35 validation images — 178 in total — each annotated with a single class, signature. There is no separate test split. See the Dataset Structure section and the signature.yaml configuration for details.

How do I train a YOLO26n model on the Signature Detection Dataset?

You can train a YOLO26n model for 100 epochs with an image size of 640 using Python or the CLI:

!!! example "Train Example"

=== "Python"

    ```python
    from ultralytics import YOLO

    # Load a pretrained model
    model = YOLO("yolo26n.pt")

    # Train the model
    results = model.train(data="signature.yaml", epochs=100, imgsz=640)
    ```

=== "CLI"

    ```bash
    yolo detect train data=signature.yaml model=yolo26n.pt epochs=100 imgsz=640
    ```

For more details, refer to the Training page and model training tips.

How can I run inference with a model trained on the Signature Detection Dataset?

Load your fine-tuned weights and run prediction:

!!! example "Inference Example"

=== "Python"

    ```python
    from ultralytics import YOLO

    # Load the fine-tuned model
    model = YOLO("path/to/best.pt")

    # Perform inference
    results = model.predict("https://ultralytics.com/assets/signature-s.mp4", conf=0.75)
    ```

=== "CLI"

    ```bash
    yolo detect predict model='path/to/best.pt' imgsz=640 source="https://ultralytics.com/assets/signature-s.mp4" conf=0.75
    ```

Can I use the Signature Detection Dataset in commercial projects?

The dataset is released under the AGPL-3.0 License, which permits commercial use provided derivative works — including software offered over a network — are made available under the same license. For licensing options that remove the open-source requirements, see Ultralytics Licensing.