انتقل إلى المحتوى

مجموعة بيانات SKU-110k

مجموعة بيانات SKU-110k عبارة عن مجموعة من صور أرفف البيع بالتجزئة المعبأة بكثافة ، وهي مصممة لدعم البحث في مهام اكتشاف الكائنات. تحتوي مجموعة البيانات ، التي طورها Eran Goldman et al. ، على أكثر من 110,000 فئة فريدة من فئات وحدات حفظ المتاجر (SKU) مع كائنات معبأة بكثافة ، وغالبا ما تبدو متشابهة أو حتى متطابقة ، موضوعة على مقربة.



شاهد: كيفية تدريب YOLOv10 على مجموعة بيانات SKU-110k باستخدام Ultralytics | مجموعة بيانات البيع بالتجزئة

صورة عينة مجموعة البيانات

الميزات الرئيسية

  • يحتوي SKU-110k على صور لأرفف المتاجر من جميع أنحاء العالم ، والتي تتميز بأشياء مكتظة تشكل تحديات لأجهزة الكشف عن الأشياء الحديثة.
  • تتضمن مجموعة البيانات أكثر من 110000 فئة SKU فريدة ، مما يوفر مجموعة متنوعة من مظاهر الكائنات.
  • تتضمن التعليقات التوضيحية مربعات محيطة للكائنات وتسميات فئات SKU.

هيكل مجموعة البيانات

تم تنظيم مجموعة بيانات SKU-110k في ثلاث مجموعات فرعية رئيسية:

  1. مجموعة التدريب: تحتوي هذه المجموعة الفرعية على صور وتعليقات توضيحية مستخدمة لتدريب نماذج اكتشاف الكائنات.
  2. مجموعة التحقق من الصحة: تتكون هذه المجموعة الفرعية من الصور والتعليقات التوضيحية المستخدمة للتحقق من صحة النموذج أثناء التدريب.
  3. مجموعة الاختبار: تم تصميم هذه المجموعة الفرعية للتقييم النهائي لنماذج اكتشاف الكائنات المدربة.

التطبيقات

تستخدم مجموعة بيانات SKU-110k على نطاق واسع لتدريب وتقييم نماذج التعلم العميق في مهام اكتشاف الأشياء ، خاصة في المشاهد المزدحمة مثل شاشات عرض أرفف البيع بالتجزئة. مجموعة البيانات المتنوعة من فئات SKU وترتيبات الكائنات المعبأة بكثافة تجعلها موردا قيما للباحثين والممارسين في مجال رؤية الكمبيوتر.

مجموعة البيانات 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

استخدام

لتدريب أ YOLOv8n على مجموعة بيانات SKU-110K ل 100 حقبة بحجم صورة 640 ، يمكنك استخدام مقتطفات التعليمات البرمجية التالية. للحصول على قائمة شاملة بالوسيطات المتاحة، ارجع إلى صفحة نموذج التدريب .

مثال القطار

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="SKU-110K.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=SKU-110K.yaml model=yolov8n.pt epochs=100 imgsz=640

عينة من البيانات والتعليقات التوضيحية

تحتوي مجموعة بيانات SKU-110k على مجموعة متنوعة من صور أرفف البيع بالتجزئة مع كائنات مكتظة ، مما يوفر سياقا غنيا لمهام اكتشاف الكائنات. في ما يلي بعض الأمثلة على البيانات من مجموعة البيانات، إلى جانب التعليقات التوضيحية المقابلة لها:

صورة عينة مجموعة البيانات

  • صورة رف البيع بالتجزئة المعبأ بكثافة: توضح هذه الصورة مثالا على العناصر المعبأة بكثافة في إعداد رف البيع بالتجزئة. يتم إضافة تعليقات توضيحية إلى الكائنات باستخدام المربعات المحيطة وتسميات فئة SKU.

يعرض المثال تنوع وتعقيد البيانات في مجموعة بيانات SKU-110k ويسلط الضوء على أهمية البيانات عالية الجودة لمهام اكتشاف الكائنات.

الاستشهادات والشكر

إذا كنت تستخدم مجموعة بيانات SKU-110k في أعمال البحث أو التطوير الخاصة بك ، فيرجى الاستشهاد بالورقة التالية:

@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}
}

نود أن نعرب عن تقديرنا ل Eran Goldman et al. لإنشاء وصيانة مجموعة بيانات SKU-110k كمورد قيم لمجتمع أبحاث رؤية الكمبيوتر. لمزيد من المعلومات حول مجموعة بيانات SKU-110k ومنشئيها، تفضل بزيارة مستودع GitHub لمجموعة بيانات SKU-110k.

الأسئلة المتداولة

ما هي مجموعة بيانات SKU-110k ولماذا هي مهمة لاكتشاف الأجسام؟

تتكون مجموعة بيانات SKU-110k من صور أرفف البيع بالتجزئة المعبأة بكثافة والمصممة للمساعدة في البحث في مهام اكتشاف الأشياء. تم تطويرها من قبل عيران جولدمان وآخرين، وهي تتضمن أكثر من 110,000 فئة فريدة من فئات وحدات التخزين المخزنية. وتكمن أهميتها في قدرتها على تحدي أحدث أجهزة الكشف عن الأجسام ذات المظاهر المتنوعة للأجسام مع تنوع مظاهر الأجسام وتقاربها، مما يجعلها مورداً لا يقدر بثمن للباحثين والممارسين في مجال الرؤية الحاسوبية. تعرّف على المزيد حول بنية مجموعة البيانات وتطبيقاتها في قسم مجموعة بيانات SKU-110k Dataset.

كيف يمكنني تدريب نموذج YOLOv8 باستخدام مجموعة بيانات SKU-110k؟

يعد تدريب نموذج YOLOv8 على مجموعة بيانات SKU-110k أمرًا بسيطًا ومباشرًا. إليك مثال لتدريب نموذج YOLOv8n لـ 100 حقبة زمنية بحجم صورة 640:

مثال القطار

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="SKU-110K.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=SKU-110K.yaml model=yolov8n.pt epochs=100 imgsz=640

للاطلاع على قائمة شاملة بالوسائط المتاحة، راجع صفحة التدريب النموذجي.

ما هي المجموعات الفرعية الرئيسية لمجموعة بيانات SKU-110k؟

تم تنظيم مجموعة بيانات SKU-110k في ثلاث مجموعات فرعية رئيسية:

  1. مجموعة التدريب: تحتوي على الصور والتعليقات التوضيحية المستخدمة لتدريب نماذج اكتشاف الكائنات.
  2. مجموعة التحقق من الصحة: تتكون من الصور والشروح المستخدمة للتحقق من صحة النموذج أثناء التدريب.
  3. مجموعة الاختبار: مصممة للتقييم النهائي لنماذج اكتشاف الأجسام المدربة.

راجع قسم بنية مجموعة البيانات لمزيد من التفاصيل.

كيف يمكنني تكوين مجموعة بيانات 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 في أعمال البحث أو التطوير الخاصة بك ، فيرجى الاستشهاد بالورقة التالية:

@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}
}

يمكن الاطلاع على مزيد من المعلومات حول مجموعة البيانات في قسم الاستشهادات والشكر والتقدير.



تم الإنشاء 2023-11-12-2023، تم التحديث 2024-07-26
المؤلفون: RizwanMunawar (1)، Glenn-jocher (6)، Laughing-q (1)

التعليقات