Link to this sectionSKU-110K Veri Kümesi#
SKU-110K veri kümesi, 8.219 eğitim, 588 doğrulama ve 2.936 test görüntüsüne ayrılmış 11.743 adet yoğun paketlenmiş perakende raf görüntüsünden oluşan tek sınıflı bir nesne algılama veri kümesidir. Her ürün, tek bir object sınıfı altında bir sınırlayıcı kutu ile etiketlenmiştir; isim, 110.000 tespit sınıfına değil, sahneler genelinde resmedilen 110.000'den fazla benzersiz stok tutma birimine (SKU) atıfta bulunmaktadır. Eran Goldman ve arkadaşları tarafından CVPR 2019 tarihli Precise Detection in Densely Packed Scenes makalesi için oluşturulan bu küme, 1,7 milyondan fazla etiketli ürün içerir (görüntü başına ortalama yaklaşık 147 adet) ve bu da onu kalabalık perakende ortamlarındaki bilgisayarlı görü modelleri için zorlu bir kıyaslama haline getirir.
Watch: How to Train YOLOv10 on SKU-110k Dataset using Ultralytics | Retail Dataset

Link to this sectionTemel Özellikler#
- Tek sınıflı algılama: Her ürün, tek bir
objectsınıfı altında bir sınırlayıcı kutu ile etiketlenmiştir (names: {0: object}) — ek açıklamalar herhangi bir SKU bazlı kategori etiketi taşımaz. - Aşırı nesne yoğunluğu: Dünyanın dört bir yanından gelen mağaza rafı görüntüleri, genellikle benzer veya hatta birbirinin aynısı olan nesnelerin yakın mesafede konumlandırıldığı, görüntü başına ortalama yaklaşık 147 adet sıkı paketlenmiş ürüne sahiptir.
- Büyük ölçek: 11.743 görüntü üzerinde 110.000'den fazla benzersiz SKU ve 1,7 milyonu aşkın etiketli sınırlayıcı kutu, güncel nesne dedektörlerine meydan okur.
Link to this sectionVeri Kümesi Yapısı#
SKU-110K veri kümesi, hepsi tek object sınıfını paylaşan üç alt kümeye ayrılmıştır:
| Bölüm | Görüntüler | Açıklama |
|---|---|---|
| Eğit (Train) | 8.219 | Model eğitimi için görüntüler ve ek açıklamalar |
| Doğrulama | 588 | Eğitim sırasında değerlendirme için ayrılmış görüntüler |
| Test | 2.936 | Eğitilmiş modelin nihai değerlendirmesi için görüntüler |
Link to this sectionUygulamalar#
SKU-110K veri kümesi, özellikle perakende raf ekranları gibi yoğun paketlenmiş sahnelerde nesne algılama görevlerinde derin öğrenme modellerini eğitmek ve değerlendirmek için yaygın olarak kullanılır. Uygulama alanları şunlardır:
- Perakende envanter yönetimi ve otomasyonu
- E-ticaret platformlarında ürün tanıma
- Planogram uyumluluk doğrulaması
- Mağazalardaki self-servis ödeme sistemleri
- Depolarda robotik toplama ve ayırma
Kendi raf görüntülerini etiketlemek, eğitmek ve perakende algılama veri kümelerini tarayıcında yönetmek için tüm iş akışını Ultralytics Platform ile çalıştır.
Link to this sectionVeri Kümesi YAML#
SKU-110K.yaml dosyası veri kümesi yapılandırmasını tanımlar; veri kümesi yolları, sınıf adları ve diğer meta verileri içerir. Ultralytics deposunda şu adreste tutulmaktadır: https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/SKU-110K.yaml.
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# SKU-110K retail items dataset https://github.com/eg4000/SKU110K_CVPR19 by Trax Retail
# Documentation: https://docs.ultralytics.com/datasets/detect/sku-110k
# Example usage: yolo train data=SKU-110K.yaml
# parent
# ├── ultralytics
# └── datasets
# └── SKU-110K ← downloads here (13.6 GB)
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: SKU-110K # dataset root dir
train: train.txt # train images (relative to 'path') 8219 images
val: val.txt # val images (relative to 'path') 588 images
test: test.txt # test images (optional) 2936 images
# Classes
names:
0: object
# Download script/URL (optional) ---------------------------------------------------------------------------------------
download: |
import shutil
from pathlib import Path
import numpy as np
import polars as pl
from ultralytics.utils import TQDM
from ultralytics.utils.downloads import download
from ultralytics.utils.ops import xyxy2xywh
# Download
dir = Path(yaml["path"]) # dataset root dir
parent = Path(dir.parent) # download dir
urls = ["http://trax-geometry.s3.amazonaws.com/cvpr_challenge/SKU110K_fixed.tar.gz"]
download(urls, dir=parent)
# Rename directories
if dir.exists():
shutil.rmtree(dir)
(parent / "SKU110K_fixed").rename(dir) # rename dir
(dir / "labels").mkdir(parents=True, exist_ok=True) # create labels dir
# Convert labels
names = "image", "x1", "y1", "x2", "y2", "class", "image_width", "image_height" # column names
for d in "annotations_train.csv", "annotations_val.csv", "annotations_test.csv":
x = pl.read_csv(dir / "annotations" / d, has_header=False, new_columns=names, infer_schema_length=None).to_numpy() # annotations
images, unique_images = x[:, 0], np.unique(x[:, 0])
with open((dir / d).with_suffix(".txt").__str__().replace("annotations_", ""), "w", encoding="utf-8") as f:
f.writelines(f"./images/{s}\n" for s in unique_images)
for im in TQDM(unique_images, desc=f"Converting {dir / d}"):
cls = 0 # single-class dataset
with open((dir / "labels" / im).with_suffix(".txt"), "a", encoding="utf-8") as f:
for r in x[images == im]:
w, h = r[6], r[7] # image width, height
xywh = xyxy2xywh(np.array([[r[1] / w, r[2] / h, r[3] / w, r[4] / h]]))[0] # instance
f.write(f"{cls} {xywh[0]:.5f} {xywh[1]:.5f} {xywh[2]:.5f} {xywh[3]:.5f}\n") # write labelLink to this sectionKullanım#
SKU-110K, ilk kez eğitim yaptığında otomatik olarak indirilir ve 11.743 görüntüsü için yaklaşık 13,6 GB boş disk alanına ihtiyaç duyar. İndirme betiği ayrıca orijinal ek açıklamaları alır ve bunları birkaç dakika sürebilen YOLO formatına dönüştürür.
Bir YOLO26n modelini SKU-110K veri kümesi üzerinde 640 görüntü boyutuyla 100 dönem (epoch) boyunca eğitmek için aşağıdaki kod parçacıklarını kullanabilirsin. Mevcut argümanların kapsamlı bir listesi için model Eğitim sayfasına bakabilirsin.
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)Link to this sectionÖrnek Veriler ve Etiketler#
SKU-110K görüntüleri, düzinelerce birbirine benzeyen öğenin yan yana durduğu gerçek mağaza raflarındaki yoğun paketlenmiş ürünleri yakalar. İşte ek açıklamalarıyla birlikte örnek bir görüntü:

- Yoğun paketlenmiş perakende raf görüntüsü: Bu görüntü, bir perakende raf ortamındaki yoğun paketlenmiş nesnelere bir örnek oluşturur. Nesneler, tek
objectsınıfı altında sınırlayıcı kutularla etiketlenmiştir.
Ürünlerin yoğun düzeni, SKU-110K'yı sağlam perakende odaklı bilgisayarlı görü çözümleri geliştirmek için özellikle değerli kılar, çünkü görüntü başına yüksek nesne sayısı dedektörleri tipik kıyaslamaların çok ötesine taşır.
Link to this sectionAlıntılar ve Teşekkür#
SKU-110K veri kümesini araştırma veya geliştirme çalışmalarında kullanıyorsan, lütfen şu makaleyi referans göster:
@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}
}Bilgisayarlı görü araştırma topluluğu için değerli bir kaynak olarak SKU-110K veri kümesini oluşturdukları ve korudukları için Eran Goldman ve arkadaşlarına teşekkür ederiz. SKU-110K veri kümesi ve yaratıcıları hakkında daha fazla bilgi için SKU-110K veri kümesi GitHub deposunu ziyaret et.
Link to this sectionSSS#
Link to this sectionSKU-110K veri kümesi ne için kullanılır?#
SKU-110K veri kümesi, Eran Goldman ve arkadaşları tarafından CVPR 2019 makaleleri için oluşturulan, 11.743 yoğun paketlenmiş perakende raf görüntüsünden oluşan tek sınıflı bir nesne algılama veri kümesidir. Her ürün bir object sınırlayıcı kutusuyla etiketlenmiştir ve görüntüler 110.000'den fazla benzersiz stok tutma birimini (SKU) kapsar, bu da onu kalabalık sahnelerdeki nesneleri algılamak ve perakende bilgisayarlı görü sistemleri oluşturmak için güçlü bir kıyaslama haline getirir.
Link to this sectionSKU-110K veri kümesi 110.000 sınıfa mı sahip?#
Hayır. SKU-110K tek sınıflıdır: her ürün object sınıfı altında bir sınırlayıcı kutu ile etiketlenmiştir (names: {0: object}). İsimdeki "110K", tespit sınıflarının sayısına değil, görüntülerde resmedilen benzersiz stok tutma birimlerinin (SKU) sayısına atıfta bulunur.
Link to this sectionSKU-110K veri kümesinde kaç görüntü ve sınıf var?#
SKU-110K veri kümesi 11.743 görüntü (eğitim için 8.219, doğrulama için 588 ve test için 2.936) ve tek bir algılama sınıfı olan object içerir. Ayrıntılar için Veri Kümesi Yapısı bölümüne ve SKU-110K.yaml yapılandırmasına bak.
Link to this sectionSKU-110K veri kümesi indirmesi ne kadar büyük?#
SKU-110K yaklaşık 13,6 GB'dır ve data="SKU-110K.yaml" ile ilk kez eğitim yaptığında otomatik olarak indirilir; manuel indirme gerekmez. Daha küçük seçeneklere göz atmak için algılama veri kümeleri genel bakışına bak.
Link to this sectionSKU-110K veri kümesini kullanarak nasıl YOLO26 modeli eğitirim?#
SKU-110K veri kümesi üzerinde bir YOLO26 modeli eğitmek oldukça basittir. İşte 640 görüntü boyutu ile 100 epoch boyunca bir YOLO26n modeli eğitmek için bir örnek:
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)Mevcut argümanların kapsamlı bir listesi için model Eğitim sayfasına ve model eğitimi ipuçlarına bak.