Ensemble de données SKU-110k
L'ensemble de données SKU-110k est une collection d'images d'étagères de vente au détail densément emballées, conçues pour soutenir la recherche dans les tâches de détection d'objets. Développé par Eran Goldman et al, ce jeu de données contient plus de 110 000 catégories uniques d'unités de gestion de magasin (UGS) avec des objets densément emballés, souvent similaires ou même identiques, positionnés à proximité immédiate les uns des autres.
Regarder : Comment entraîner YOLOv10 sur l'ensemble de données SKU-110k à l'aide de Ultralytics | Ensemble de données sur la vente au détail
Caractéristiques principales
- SKU-110k contient des images d'étagères de magasins du monde entier, avec des objets densément emballés qui posent des problèmes aux détecteurs d'objets les plus modernes.
- L'ensemble de données comprend plus de 110 000 catégories uniques d'UGS, ce qui permet d'obtenir une gamme variée d'apparences d'objets.
- Les annotations comprennent des boîtes de délimitation pour les objets et des étiquettes de catégories d'UGS.
Structure de l'ensemble de données
L'ensemble de données SKU-110k est organisé en trois sous-ensembles principaux :
- Ensemble d'entraînement: Ce sous-ensemble contient des images et des annotations utilisées pour l'apprentissage des modèles de détection d'objets.
- Ensemble de validation: Ce sous-ensemble est constitué d'images et d'annotations utilisées pour la validation du modèle pendant la formation.
- Ensemble de test: Ce sous-ensemble est conçu pour l'évaluation finale des modèles de détection d'objets formés.
Applications
L'ensemble de données SKU-110k est largement utilisé pour la formation et l'évaluation de modèles d'apprentissage profond dans les tâches de détection d'objets, en particulier dans les scènes densément emballées telles que les étalages de vente au détail. L'ensemble diversifié de catégories d'UGS et les arrangements d'objets densément emballés font de ce jeu de données une ressource précieuse pour les chercheurs et les praticiens dans le domaine de la vision par ordinateur.
Jeu de données YAML
Un fichier YAML (Yet Another Markup Language) est utilisé pour définir la configuration du jeu de données. Il contient des informations sur les chemins d'accès au jeu de données, les classes et d'autres informations pertinentes. Dans le cas du jeu de données SKU-110K, le fichier SKU-110K.yaml
est conservé à l'adresse suivante 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
Utilisation
Pour entraîner un modèle YOLO11n sur l'ensemble de données SKU-110K pendant 100 époques avec une taille d'image de 640, vous pouvez utiliser les extraits de code suivants. Pour une liste complète des arguments disponibles, reportez-vous à la page Entraînement du modèle.
Exemple de train
Exemples de données et d'annotations
Le jeu de données SKU-110k contient un ensemble varié d'images d'étagères de magasins avec des objets densément emballés, fournissant un contexte riche pour les tâches de détection d'objets. Voici quelques exemples de données issues de l'ensemble de données, ainsi que les annotations correspondantes :
- Image d'un rayon de vente au détail à forte densité: Cette image montre un exemple d'objets densément emballés dans un rayon de vente au détail. Les objets sont annotés avec des boîtes de délimitation et des étiquettes de catégorie SKU.
Cet exemple illustre la variété et la complexité des données de l'ensemble SKU-110k et souligne l'importance de disposer de données de haute qualité pour les tâches de détection d'objets.
Citations et remerciements
Si vous utilisez l'ensemble de données SKU-110k dans vos travaux de recherche ou de développement, veuillez citer l'article suivant :
Nous tenons à remercier Eran Goldman et al. pour la création et la maintenance de l'ensemble de données SKU-110k, qui constitue une ressource précieuse pour la communauté des chercheurs en vision par ordinateur. Pour plus d'informations sur le jeu de données SKU-110k et ses créateurs, visitez le dépôt GitHub du jeu de données SKU-110k.
FAQ
Qu'est-ce que l'ensemble de données SKU-110k et pourquoi est-il important pour la détection d'objets ?
L'ensemble de données SKU-110k se compose d'images d'étagères de vente au détail densément emballées, conçues pour faciliter la recherche dans les tâches de détection d'objets. Développé par Eran Goldman et al. il comprend plus de 110 000 catégories uniques de SKU. Son importance réside dans sa capacité à mettre à l'épreuve les détecteurs d'objets les plus modernes avec des objets d'apparences diverses et très proches les uns des autres, ce qui en fait une ressource inestimable pour les chercheurs et les praticiens de la vision par ordinateur. Pour en savoir plus sur la structure et les applications de l'ensemble de données, consultez notre section sur l'ensemble de données SKU-110k.
Comment entraîner un modèle YOLO11 à l'aide de l'ensemble de données SKU-110k ?
L'entraînement d'un modèle YOLO11 sur l'ensemble de données SKU-110k est simple. Voici un exemple d'entraînement d'un modèle YOLO11n pour 100 époques avec une taille d'image de 640 :
Exemple de train
Pour une liste complète des arguments disponibles, voir la page Formation au modèle.
Quels sont les principaux sous-ensembles de l'ensemble de données SKU-110k ?
L'ensemble de données SKU-110k est organisé en trois sous-ensembles principaux :
- Ensemble d'entraînement: Contient les images et les annotations utilisées pour l'apprentissage des modèles de détection d'objets.
- Ensemble de validation: Il s'agit des images et des annotations utilisées pour la validation du modèle pendant la formation.
- Jeu de test: Conçu pour l'évaluation finale des modèles de détection d'objets formés.
Pour plus de détails, reportez-vous à la section Structure des ensembles de données.
Comment configurer l'ensemble de données SKU-110k pour la formation ?
La configuration de l'ensemble de données SKU-110k est définie dans un fichier YAML, qui comprend des détails sur les chemins d'accès à l'ensemble de données, les classes et d'autres informations pertinentes. La configuration de l'ensemble de données est définie dans un fichier YAML. SKU-110K.yaml
est conservé à l'adresse suivante SKU-110K.yaml. Par exemple, vous pouvez former un modèle à l'aide de cette configuration, comme indiqué dans notre Utilisation section.
Quelles sont les principales caractéristiques de l'ensemble de données SKU-110k dans le contexte de l'apprentissage profond?
L'ensemble de données SKU-110k comprend des images d'étagères de magasins du monde entier, présentant des objets densément emballés qui posent des problèmes importants aux détecteurs d'objets :
- Plus de 110 000 catégories uniques d'UGS
- Diverses apparences d'objets
- Les annotations comprennent des boîtes de délimitation et des étiquettes de catégories d'UGS.
Ces caractéristiques rendent l'ensemble de données SKU-110k particulièrement précieux pour la formation et l'évaluation des modèles d'apprentissage profond dans les tâches de détection d'objets. Pour plus de détails, voir la section Caractéristiques principales.
Comment citer l'ensemble de données SKU-110k dans ma recherche ?
Si vous utilisez l'ensemble de données SKU-110k dans vos travaux de recherche ou de développement, veuillez citer l'article suivant :
De plus amples informations sur l'ensemble de données sont disponibles dans la section Citations et remerciements.