مجموعة بيانات SKU-110k
The SKU-110k dataset is a collection of densely packed retail shelf images, designed to support research in object detection tasks. Developed by Eran Goldman et al., the dataset contains over 110,000 unique store keeping unit (SKU) categories with densely packed objects, often looking similar or even identical, positioned in proximity.
شاهد: كيفية تدريب YOLOv10 على مجموعة بيانات SKU-110k باستخدام Ultralytics | مجموعة بيانات البيع بالتجزئة
الميزات الرئيسية
- يحتوي SKU-110k على صور لأرفف المتاجر من جميع أنحاء العالم، والتي تضم أجسامًا مكتظة بكثافة تشكل تحديات لأحدث أجهزة الكشف عن الأجسام.
- تشتمل مجموعة البيانات على أكثر من 110,000 فئة فريدة من فئات وحدات حفظ المخزون (SKU)، مما يوفر مجموعة متنوعة من مظاهر الكائنات.
- تتضمن التعليقات التوضيحية المربعات المحددة للكائنات وتسميات فئات SKU.
هيكلية مجموعة البيانات
تنقسم مجموعة بيانات SKU-110k إلى ثلاث مجموعات فرعية رئيسية:
- مجموعة التدريب: تحتوي هذه المجموعة الفرعية على الصور والتعليقات التوضيحية المستخدمة لتدريب نماذج اكتشاف الكائنات.
- مجموعة التحقق من الصحة: تتكون هذه المجموعة الفرعية من الصور والشروح المستخدمة للتحقق من صحة النموذج أثناء التدريب.
- مجموعة الاختبار: تم تصميم هذه المجموعة الفرعية للتقييم النهائي لنماذج اكتشاف الأجسام المدربة.
التطبيقات
تُستخدم مجموعة بيانات SKU-110k على نطاق واسع لتدريب وتقييم نماذج التعلّم العميق في مهام اكتشاف الأجسام، خاصةً في المشاهد المكتظة بكثافة مثل شاشات عرض أرفف البيع بالتجزئة. إن المجموعة المتنوعة من فئات وحدات المخزون المخزني وترتيبات الكائنات المعبأة بكثافة تجعلها مورداً قيماً للباحثين والممارسين في مجال الرؤية الحاسوبية.
مجموعة البيانات YAML
يُستخدم ملف YAML (لغة ترميز أخرى) لتحديد تكوين مجموعة البيانات. وهو يحتوي على معلومات حول مسارات مجموعة البيانات وفئاتها والمعلومات الأخرى ذات الصلة. بالنسبة لحالة مجموعة بيانات SKU-110K، فإن ملف SKU-110K.yaml
يتم الاحتفاظ بالملف في 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
الاستخدام
لتدريب نموذج YOLO11n على مجموعة بيانات SKU-110K لـ 100 حقبة زمنية بحجم صورة 640، يمكنك استخدام مقتطفات التعليمات البرمجية التالية. للحصول على قائمة شاملة بالوسائط المتاحة، راجع صفحة تدريب النموذج.
مثال على القطار
عينة من البيانات والشروح
تحتوي مجموعة بيانات SKU-110k على مجموعة متنوعة من صور أرفف البيع بالتجزئة ذات الأجسام المكدسة بكثافة، مما يوفر سياقًا غنيًا لمهام اكتشاف الأجسام. فيما يلي بعض الأمثلة على البيانات من مجموعة البيانات، إلى جانب التعليقات التوضيحية المقابلة لها:
- صورة رف بيع بالتجزئة معبأ بكثافة: توضح هذه الصورة مثالاً على الأجسام المعبأة بكثافة في رف بيع بالتجزئة. يتم وضع تعليقات توضيحية للأشياء مع مربعات محددة وتسميات فئة SKU.
يعرض المثال تنوع البيانات وتعقيدها في مجموعة بيانات SKU-110k ويسلط الضوء على أهمية البيانات عالية الجودة لمهام اكتشاف الأجسام.
الاستشهادات والشكر والتقدير
إذا كنت تستخدم مجموعة بيانات SKU-110k في أعمال البحث أو التطوير الخاصة بك، يرجى الاستشهاد بالورقة التالية:
نودّ أن نعرب عن تقديرنا لإيران غولدمان وآخرين على إنشاء مجموعة بيانات SKU-110k وصيانتها كمصدر قيّم لمجتمع أبحاث الرؤية الحاسوبية. للمزيد من المعلومات حول مجموعة بيانات SKU-110k ومنشئيها، يرجى زيارة مستودع بيانات SKU-110k على GitHub.
الأسئلة الشائعة
ما هي مجموعة بيانات SKU-110k ولماذا هي مهمة لاكتشاف الأجسام؟
The SKU-110k dataset consists of densely packed retail shelf images designed to aid research in object detection tasks. Developed by Eran Goldman et al., it includes over 110,000 unique SKU categories. Its importance lies in its ability to challenge state-of-the-art object detectors with diverse object appearances and proximity, making it an invaluable resource for researchers and practitioners in computer vision. Learn more about the dataset's structure and applications in our SKU-110k Dataset section.
كيف يمكنني تدريب نموذج YOLO11 باستخدام مجموعة بيانات SKU-110k؟
يعد تدريب نموذج YOLO11 على مجموعة بيانات SKU-110k أمرًا بسيطًا ومباشرًا. إليك مثالاً لتدريب نموذج YOLO11n على 100 حلقة تدريبية بحجم صورة 640:
مثال على القطار
للاطلاع على قائمة شاملة بالوسائط المتاحة، راجع صفحة التدريب النموذجي.
ما هي المجموعات الفرعية الرئيسية لمجموعة بيانات SKU-110k؟
تنقسم مجموعة بيانات SKU-110k إلى ثلاث مجموعات فرعية رئيسية:
- مجموعة التدريب: تحتوي على الصور والتعليقات التوضيحية المستخدمة لتدريب نماذج اكتشاف الكائنات.
- مجموعة التحقق من الصحة: تتكون من الصور والشروح المستخدمة للتحقق من صحة النموذج أثناء التدريب.
- مجموعة الاختبار: مصممة للتقييم النهائي لنماذج اكتشاف الأجسام المدربة.
راجع قسم بنية مجموعة البيانات لمزيد من التفاصيل.
كيف يمكنني تكوين مجموعة بيانات SKU-110k للتدريب؟
يتم تعريف تهيئة مجموعة بيانات SKU-110k في ملف YAML، والذي يتضمن تفاصيل حول مسارات مجموعة البيانات وفئاتها والمعلومات الأخرى ذات الصلة. يتم تعريف SKU-110K.yaml
يتم الاحتفاظ بالملف في SKU-110K.yaml. على سبيل المثال، يمكنك تدريب نموذج باستخدام هذا التكوين كما هو موضح في الاستخدام القسم.
ما هي السمات الرئيسية لمجموعة بيانات SKU-110k في سياق التعلم العميق؟
تتميز مجموعة بيانات SKU-110k بصور لرفوف المتاجر من جميع أنحاء العالم، حيث تعرض أجسامًا مكتظة بكثافة تشكل تحديات كبيرة لأجهزة الكشف عن الأجسام:
- أكثر من 110,000 فئة فريدة من فئات SKU
- مظاهر الكائنات المتنوعة
- تتضمن التعليقات التوضيحية المربعات الحدية وتسميات فئات SKU
هذه الميزات تجعل مجموعة بيانات SKU-110k ذات قيمة خاصة لتدريب وتقييم نماذج التعلم العميق في مهام اكتشاف الأجسام. لمزيد من التفاصيل، راجع قسم الميزات الرئيسية.
كيف يمكنني الاستشهاد بمجموعة بيانات SKU-110k في بحثي؟
إذا كنت تستخدم مجموعة بيانات SKU-110k في أعمال البحث أو التطوير الخاصة بك، يرجى الاستشهاد بالورقة التالية:
يمكن العثور على مزيد من المعلومات حول مجموعة البيانات في قسم الاستشهادات والشكر.