SKU-110k-Datensatz
Der SKU-110k-Datensatz ist eine Sammlung dicht gepackter Bilder von Einzelhandelsregalen, die zur UnterstĂŒtzung von Forschungsaufgaben im Bereich der Objekterkennung entwickelt wurde. Der von Eran Goldman et al. entwickelte Datensatz enthĂ€lt ĂŒber 110.000 eindeutige Kategorien von Lagerhaltungseinheiten (SKU) mit dicht gepackten Objekten, die oft Ă€hnlich oder sogar identisch aussehen und in unmittelbarer NĂ€he positioniert sind.
Beobachten: So trainieren Sie YOLOv10 auf dem SKU-110k-Datensatz unter Verwendung von Ultralytics | Retail Dataset
Wesentliche Merkmale
- SKU-110k enthĂ€lt Bilder von Ladenregalen aus aller Welt mit dicht gepackten Objekten, die eine Herausforderung fĂŒr moderne Objektdetektoren darstellen.
- Der Datensatz umfasst ĂŒber 110.000 eindeutige SKU-Kategorien, die ein breites Spektrum von Objekten abbilden.
- Zu den Anmerkungen gehören Begrenzungsrahmen fĂŒr Objekte und SKU-Kategoriebezeichnungen.
Struktur des Datensatzes
Der SKU-110k-Datensatz ist in drei Hauptteilmengen unterteilt:
- Trainingsmenge: Dieser Teilsatz enthĂ€lt Bilder und Anmerkungen, die fĂŒr das Training von Objekterkennungsmodellen verwendet werden.
- Validierungssatz: Diese Teilmenge besteht aus Bildern und Anmerkungen, die wÀhrend des Trainings zur Modellvalidierung verwendet werden.
- Testsatz: Diese Teilmenge ist fĂŒr die abschlieĂende Bewertung der trainierten Objekterkennungsmodelle bestimmt.
Anwendungen
Der SKU-110k-Datensatz wird hĂ€ufig zum Trainieren und Evaluieren von Deep-Learning-Modellen fĂŒr Objekterkennungsaufgaben verwendet, insbesondere in dicht gepackten Szenen wie Einzelhandelsregalen. Die Vielfalt der SKU-Kategorien und die dicht gepackten Objektanordnungen machen den Datensatz zu einer wertvollen Ressource fĂŒr Forscher und Praktiker auf dem Gebiet der Computer Vision.
Datensatz YAML
Eine YAML-Datei (Yet Another Markup Language) wird zur Definition der Dataset-Konfiguration verwendet. Sie enthĂ€lt Informationen ĂŒber die Pfade, Klassen und andere relevante Informationen des Datasets. Im Fall des SKU-110K-Datensatzes wird die Datei SKU-110K.yaml
Datei wird verwaltet unter https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/SKU-110K.yaml.
ultralytics/cfg/datasets/SKU-110K.yaml
# Ultralytics YOLO đ, AGPL-3.0 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: ../datasets/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 pandas as pd
from tqdm 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 = pd.read_csv(dir / 'annotations' / d, names=names).values # annotations
images, unique_images = x[:, 0], np.unique(x[:, 0])
with open((dir / d).with_suffix('.txt').__str__().replace('annotations_', ''), 'w') 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') 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 label
Verwendung
Um ein YOLO11n-Modell auf dem SKU-110K-Datensatz fĂŒr 100 Epochen mit einer BildgröĂe von 640 zu trainieren, können Sie die folgenden Codeschnipsel verwenden. Eine umfassende Liste der verfĂŒgbaren Argumente finden Sie auf der Seite Modelltraining.
Beispiel fĂŒr einen Zug
Beispieldaten und Anmerkungen
Der SKU-110k-Datensatz enthĂ€lt eine Reihe von Einzelhandelsregalbildern mit dicht gepackten Objekten, die einen reichhaltigen Kontext fĂŒr Objekterkennungsaufgaben bieten. Hier sind einige Beispiele von Daten aus dem Datensatz zusammen mit den entsprechenden Anmerkungen:
- Bild eines dicht gepackten Einzelhandelsregals: Dieses Bild zeigt ein Beispiel fĂŒr dicht gepackte Objekte in einem Einzelhandelsregal. Die Objekte sind mit Begrenzungsrahmen und SKU-Kategorie-Etiketten versehen.
Das Beispiel zeigt die Vielfalt und KomplexitĂ€t der Daten im SKU-110k-Datensatz und verdeutlicht, wie wichtig qualitativ hochwertige Daten fĂŒr Aufgaben der Objekterkennung sind.
Zitate und Danksagungen
Wenn Sie den SKU-110k-Datensatz in Ihrer Forschungs- oder Entwicklungsarbeit verwenden, zitieren Sie bitte das folgende Dokument:
Wir möchten Eran Goldman et al. fĂŒr die Erstellung und Pflege des SKU-110k-Datensatzes als wertvolle Ressource fĂŒr die Computer-Vision-Forschungsgemeinschaft danken. Weitere Informationen ĂŒber den SKU-110k-Datensatz und seine Ersteller finden Sie im GitHub-Repository des SKU-110k-Datensatzes.
FAQ
Was ist der SKU-110k-Datensatz und warum ist er fĂŒr die Objekterkennung wichtig?
Der SKU-110k-Datensatz besteht aus dicht gepackten Bildern von Einzelhandelsregalen, die die Forschung bei der Objekterkennung unterstĂŒtzen sollen. Er wurde von Eran Goldman et al. entwickelt und umfasst ĂŒber 110.000 einzigartige SKU-Kategorien. Seine Bedeutung liegt in seiner FĂ€higkeit, modernste Objektdetektoren mit unterschiedlichen Objekterscheinungen und in unmittelbarer NĂ€he herauszufordern, was ihn zu einer unschĂ€tzbaren Ressource fĂŒr Forscher und Praktiker im Bereich Computer Vision macht. Erfahren Sie mehr ĂŒber die Struktur und die Anwendungen des Datensatzes in unserem Abschnitt SKU-110k Dataset.
Wie trainiere ich ein YOLO11 -Modell mit dem SKU-110k-Datensatz?
Das Trainieren eines YOLO11 Modells auf dem SKU-110k-Datensatz ist einfach. Hier ein Beispiel fĂŒr das Training eines YOLO11n-Modells fĂŒr 100 Epochen mit einer BildgröĂe von 640:
Beispiel fĂŒr einen Zug
Eine umfassende Liste der verfĂŒgbaren Argumente finden Sie auf der Seite Modellschulung.
Was sind die wichtigsten Teilmengen des SKU-110k-Datensatzes?
Der SKU-110k-Datensatz ist in drei Hauptteilmengen unterteilt:
- Trainingsset: EnthÀlt Bilder und Anmerkungen, die zum Trainieren von Objekterkennungsmodellen verwendet werden.
- Validierungssatz: Besteht aus Bildern und Anmerkungen, die wÀhrend des Trainings zur Modellvalidierung verwendet werden.
- Testsatz: FĂŒr die abschlieĂende Bewertung der trainierten Objekterkennungsmodelle.
Weitere Einzelheiten finden Sie im Abschnitt Datensatzstruktur.
Wie konfiguriere ich den SKU-110k-Datensatz fĂŒr das Training?
Die Konfiguration des SKU-110k-Datensatzes wird in einer YAML-Datei definiert, die Details zu den Pfaden, Klassen und anderen relevanten Informationen des Datensatzes enthÀlt. Die SKU-110K.yaml
Datei wird verwaltet unter SKU-110K.yaml. Sie können zum Beispiel ein Modell mit dieser Konfiguration trainieren, wie in unserer Verwendung Abschnitt.
Was sind die wichtigsten Merkmale des SKU-110k-Datensatzes im Kontext des Deep Learning?
Der SKU-110k-Datensatz enthĂ€lt Bilder von Ladenregalen aus der ganzen Welt und zeigt dicht gepackte Objekte, die eine groĂe Herausforderung fĂŒr Objektdetektoren darstellen:
- Ăber 110.000 einzigartige SKU-Kategorien
- VielfÀltige Erscheinungsformen von Objekten
- Anmerkungen umfassen Begrenzungsrahmen und SKU-Kategoriebezeichnungen
Diese Merkmale machen den SKU-110k-Datensatz besonders wertvoll fĂŒr das Training und die Evaluierung von Deep-Learning-Modellen bei Objekterkennungsaufgaben. Weitere Einzelheiten finden Sie im Abschnitt "Hauptmerkmale ".
Wie kann ich den SKU-110k-Datensatz in meiner Forschung zitieren?
Wenn Sie den SKU-110k-Datensatz in Ihrer Forschungs- oder Entwicklungsarbeit verwenden, zitieren Sie bitte das folgende Dokument:
Weitere Informationen ĂŒber den Datensatz finden Sie im Abschnitt " Zitate und Danksagungen ".