مجموعة بيانات SKU-110k
مجموعة بيانات SKU-110k عبارة عن مجموعة من صور أرفف البيع بالتجزئة المعبأة بكثافة، وهي مصممة لدعم البحث في مهام اكتشاف الأجسام. تحتوي مجموعة البيانات، التي طورها عيران جولدمان وآخرون، على أكثر من 110,000 فئة فريدة من وحدات حفظ المتاجر (SKU) مع أجسام معبأة بكثافة، غالباً ما تبدو متشابهة أو حتى متطابقة، موضوعة على مقربة من بعضها البعض.
شاهد: كيفية تدريب 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 ولماذا هي مهمة لاكتشاف الأجسام؟
تتكون مجموعة بيانات SKU-110k من صور أرفف البيع بالتجزئة المعبأة بكثافة والمصممة للمساعدة في البحث في مهام اكتشاف الأشياء. تم تطويرها من قبل عيران جولدمان وآخرين، وهي تتضمن أكثر من 110,000 فئة فريدة من فئات وحدات التخزين المخزنية. وتكمن أهميتها في قدرتها على تحدي أحدث أجهزة الكشف عن الأجسام ذات المظاهر المتنوعة للأجسام مع تنوع مظاهر الأجسام وتقاربها، مما يجعلها مورداً لا يقدر بثمن للباحثين والممارسين في مجال الرؤية الحاسوبية. تعرّف على المزيد حول بنية مجموعة البيانات وتطبيقاتها في قسم مجموعة بيانات SKU-110k Dataset.
كيف يمكنني تدريب نموذج 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 في أعمال البحث أو التطوير الخاصة بك، يرجى الاستشهاد بالورقة التالية:
يمكن العثور على مزيد من المعلومات حول مجموعة البيانات في قسم الاستشهادات والشكر.