docs/en/datasets/detect/sku-110k.md
The SKU-110K dataset is a single-class object detection dataset of 11,743 densely packed retail-shelf images, split into 8,219 training, 588 validation, and 2,936 test images. Every product is annotated with one bounding box under a single class, object — the name refers to the more than 110,000 unique store-keeping units (SKUs) pictured across the scenes, not to 110,000 detection classes. Created by Eran Goldman et al. for the CVPR 2019 paper Precise Detection in Densely Packed Scenes, it carries over 1.7 million annotated products — an average of roughly 147 per image — making it a demanding benchmark for computer vision models in crowded retail environments.
<strong>Watch:</strong> How to Train YOLOv10 on SKU-110k Dataset using Ultralytics | Retail Dataset
</p>object (names: {0: object}) — the annotations carry no per-SKU category labels.The SKU-110K dataset is split into three subsets, all sharing the single object class:
| Split | Images | Description |
|---|---|---|
| Train | 8,219 | Images and annotations for model training |
| Validation | 588 | Held-out images for evaluation during training |
| Test | 2,936 | Images for final evaluation of the trained model |
The SKU-110K dataset is widely used for training and evaluating deep learning models in object detection tasks, especially in densely packed scenes such as retail shelf displays. Its applications include:
To annotate your own shelf images, train, and manage retail-detection datasets in your browser, run the full workflow with Ultralytics Platform.
The SKU-110K.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/SKU-110K.yaml.
!!! example "ultralytics/cfg/datasets/SKU-110K.yaml"
```yaml
--8<-- "ultralytics/cfg/datasets/SKU-110K.yaml"
```
!!! warning "13.6 GB download"
SKU-110K downloads automatically the first time you train and requires about 13.6 GB of free disk space for its 11,743 images. The download script also fetches the original annotations and converts them to YOLO format, which can take a few minutes.
To train a YOLO26n model on the SKU-110K dataset for 100 epochs with an image size of 640, you can use the following code snippets. For a comprehensive list of available arguments, refer to the model 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="SKU-110K.yaml", epochs=100, imgsz=640)
```
=== "CLI"
```bash
# Start training from a pretrained *.pt model
yolo detect train data=SKU-110K.yaml model=yolo26n.pt epochs=100 imgsz=640
```
SKU-110K images capture densely packed products on real store shelves, where dozens of near-identical items sit side by side. Here is an example image with its annotations:
object class.The dense arrangement of products makes SKU-110K particularly valuable for developing robust retail-focused computer vision solutions, as the high object count per image pushes detectors well beyond typical benchmarks.
If you use the SKU-110K dataset in your research or development work, please cite the following paper:
!!! quote ""
=== "BibTeX"
```bibtex
@inproceedings{goldman2019dense,
author = {Eran Goldman and Roei Herzig and Aviv Eisenschtat and Jacob Goldberger and Tal Hassner},
title = {Precise Detection in Densely Packed Scenes},
booktitle = {Proc. Conf. Comput. Vision Pattern Recognition (CVPR)},
year = {2019}
}
```
We would like to acknowledge Eran Goldman et al. for creating and maintaining the SKU-110K dataset as a valuable resource for the computer vision research community. For more information about the SKU-110K dataset and its creators, visit the SKU-110K dataset GitHub repository.
The SKU-110K dataset is a single-class object detection dataset of 11,743 densely packed retail-shelf images, created by Eran Goldman et al. for their CVPR 2019 paper. Every product is labeled with one object bounding box, and the imagery spans more than 110,000 unique store-keeping units (SKUs), making it a strong benchmark for detecting objects in crowded scenes and for building retail computer vision systems.
No. SKU-110K is single-class: every product is annotated with one bounding box under the class object (names: {0: object}). The "110K" in the name refers to the number of unique store-keeping units (SKUs) pictured across the images, not to the number of detection classes.
The SKU-110K dataset contains 11,743 images — 8,219 for training, 588 for validation, and 2,936 for testing — and a single detection class, object. See the Dataset Structure section and the SKU-110K.yaml configuration for details.
SKU-110K is about 13.6 GB and downloads automatically the first time you train with data="SKU-110K.yaml" — no manual download is required. To browse smaller options, see the detection datasets overview.
Training a YOLO26 model on the SKU-110K dataset is straightforward. Here's an example to train a YOLO26n model for 100 epochs with an image size of 640:
!!! 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="SKU-110K.yaml", epochs=100, imgsz=640)
```
=== "CLI"
```bash
# Start training from a pretrained *.pt model
yolo detect train data=SKU-110K.yaml model=yolo26n.pt epochs=100 imgsz=640
```
For a comprehensive list of available arguments, refer to the model Training page and model training tips.