SKU-110k Veri Seti
SKU-110k veri seti, nesne algılama görevlerindeki araştırmaları desteklemek için tasarlanmış, yoğun bir şekilde yerleştirilmiş perakende raf görüntülerinden oluşan bir koleksiyondur. Eran Goldman ve diğerleri tarafından geliştirilen veri seti, birbirine yakın konumlandırılmış, genellikle benzer veya hatta aynı görünen, yoğun bir şekilde paketlenmiş nesnelerle 110.000'den fazla benzersiz stok tutma birimi (SKU) kategorisi içerir.
Watch: How to Train YOLOv10 on SKU-110k Dataset using Ultralytics | Retail Dataset

Temel Özellikler
- SKU-110k, en gelişmiş nesne dedektörleri için zorluklar oluşturan, yoğun bir şekilde paketlenmiş nesnelerin yer aldığı dünyanın dört bir yanından mağaza rafı görüntülerini içerir.
- Veri seti, çok çeşitli nesne görünümleri sağlayan 110.000'den fazla benzersiz SKU kategorisi içerir.
- Ek açıklamalar, nesneler için sınırlayıcı kutuları ve SKU kategori etiketlerini içerir.
Veri Kümesi Yapısı
SKU-110k veri seti üç ana alt kümeye ayrılmıştır:
- Eğitim seti: Bu alt küme, nesne algılama modellerini eğitmek için kullanılan 8.219 görüntü ve ek açıklama içerir.
- Doğrulama seti: Bu alt küme, eğitim sırasında model doğrulaması için kullanılan 588 görüntü ve ek açıklamadan oluşur.
- Test seti: Bu alt küme, eğitilmiş nesne algılama modellerinin nihai değerlendirmesi için tasarlanmış 2.936 görüntü içerir.
Uygulamalar
SKU-110k veri seti, özellikle perakende raf ekranları gibi yoğun paketlenmiş sahnelerdeki 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 stok yönetimi ve otomasyonu
- E-ticaret platformlarında ürün tanıma
- Planogram uyumluluk doğrulaması
- Mağazalarda kendi kendine ödeme sistemleri
- Depolarda robotik toplama ve sıralama
Veri setinin çeşitli SKU kategorileri ve yoğun paketlenmiş nesne düzenlemeleri, onu bilgisayarlı görü alanındaki araştırmacılar ve uygulayıcılar için değerli bir kaynak haline getirmektedir.
Veri Kümesi YAML Dosyası
Veri seti yapılandırmasını tanımlamak için bir YAML (Yet Another Markup Language) dosyası kullanılır. Bu dosya, veri setinin yolları, sınıfları ve diğer ilgili bilgileri hakkında bilgiler içerir. SKU-110K veri seti durumunda, SKU-110K.yaml dosyası https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/SKU-110K.yaml adresinde tutulmaktadır.
# 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 labelKullanım
Bir YOLO26n modelini SKU-110K veri setinde 640 görüntü boyutu ile 100 dönem boyunca eğitmek için aşağıdaki kod parçacıklarını kullanabilirsin. Mevcut bağımsız değişkenlerin kapsamlı bir listesi için model Eğitim sayfasına başvur.
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)Örnek Veriler ve Açıklamalar
SKU-110k veri seti, yoğun paketlenmiş nesnelere sahip çeşitli perakende raf görüntüleri içerir ve nesne algılama görevleri için zengin bir bağlam sağlar. İşte veri setinden bazı veriler ve bunlara karşılık gelen ek açıklamalar:

- Yoğun paketlenmiş perakende raf görüntüsü: Bu görüntü, bir perakende raf ortamında yoğun paketlenmiş nesnelere bir örnek teşkil eder. Nesneler, sınırlayıcı kutular ve SKU kategori etiketleri ile açıklanmıştır.
Bu örnek, SKU-110k veri setindeki verilerin çeşitliliğini ve karmaşıklığını sergilemekte ve nesne algılama görevleri için yüksek kaliteli verilerin önemini vurgulamaktadır. Ürünlerin yoğun yerleşimi, algılama algoritmaları için benzersiz zorluklar sunar ve bu da veri setini, perakende odaklı sağlam bilgisayarlı görü çözümleri geliştirmek için özellikle değerli kılar.
Alıntılar ve Teşekkür
Eğer SKU-110k veri setini araştırma veya geliştirme çalışmalarında kullanırsan, lütfen aşağıdaki makaleye atıfta bulun:
@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}
}SKU-110k veri setini oluşturdukları ve bilgisayarlı görü araştırma topluluğu için değerli bir kaynak olarak korudukları için Eran Goldman ve diğerlerine teşekkür ederiz. SKU-110k veri seti ve yaratıcıları hakkında daha fazla bilgi için SKU-110k veri seti GitHub deposunu ziyaret et.
SSS
SKU-110k veri seti nedir ve nesne algılama için neden önemlidir?
SKU-110k veri seti, nesne algılama görevlerindeki araştırmalara yardımcı olmak için tasarlanmış yoğun paketlenmiş perakende raf görüntülerinden oluşur. Eran Goldman ve diğerleri tarafından geliştirilen bu set, 110.000'den fazla benzersiz SKU kategorisi içerir. Önemi, gelişmiş nesne dedektörlerini çeşitli nesne görünümleri ve yakınlık ile zorlama yeteneğinde yatar, bu da onu bilgisayarlı görü alanındaki araştırmacılar ve uygulayıcılar için paha biçilmez bir kaynak haline getirir. Veri setinin yapısı ve uygulamaları hakkında daha fazla bilgiyi SKU-110k Veri Seti bölümümüzde bulabilirsin.
SKU-110k veri setini kullanarak nasıl YOLO26 modeli eğitebilirim?
SKU-110k veri seti üzerinde bir YOLO26 modelini eğitmek basittir. İşte 640 görüntü boyutu ile 100 dönem boyunca bir YOLO26n modelini 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)Kullanılabilir bağımsız değişkenlerin kapsamlı bir listesi için model Eğitim sayfasına başvurabilirsin.
SKU-110k veri setinin ana alt kümeleri nelerdir?
SKU-110k veri seti üç ana alt kümeye ayrılmıştır:
- Eğitim seti: Nesne algılama modellerini eğitmek için kullanılan 8.219 görüntü ve ek açıklama içerir.
- Doğrulama seti: Eğitim sırasında model doğrulaması için kullanılan 588 görüntü ve ek açıklamadan oluşur.
- Test seti: Eğitilmiş nesne algılama modellerinin nihai değerlendirmesi için tasarlanmış 2.936 görüntü içerir.
Daha fazla ayrıntı için Veri Seti Yapısı bölümüne başvur.
SKU-110k veri setini eğitim için nasıl yapılandırabilirim?
SKU-110k veri seti yapılandırması, veri setinin yolları, sınıfları ve diğer ilgili bilgileri hakkında ayrıntılar içeren bir YAML dosyasında tanımlanır. SKU-110K.yaml dosyası SKU-110K.yaml adresinde tutulmaktadır. Örneğin, Kullanım bölümümüzde gösterildiği gibi bu yapılandırmayı kullanarak bir modeli eğitebilirsin.
Derin öğrenme bağlamında SKU-110k veri setinin temel özellikleri nelerdir?
SKU-110k veri seti, nesne dedektörleri için önemli zorluklar oluşturan yoğun paketlenmiş nesneleri sergileyen, dünyanın dört bir yanından mağaza rafı görüntülerini içerir:
- 110.000'den fazla benzersiz SKU kategorisi
- Çeşitli nesne görünümleri
- Ek açıklamalar, sınırlayıcı kutuları ve SKU kategori etiketlerini içerir
Bu özellikler, SKU-110k veri setini nesne algılama görevlerinde derin öğrenme modellerini eğitmek ve değerlendirmek için özellikle değerli kılar. Daha fazla ayrıntı için Temel Özellikler bölümüne bak.
Araştırmamda SKU-110k veri setine nasıl atıfta bulunabilirim?
Eğer SKU-110k veri setini araştırma veya geliştirme çalışmalarında kullanırsan, lütfen aşağıdaki makaleye atıfta bulun:
@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}
}Veri seti hakkında daha fazla bilgi Alıntılar ve Teşekkürler bölümünde bulunabilir.