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

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

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

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

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

  • يحتوي 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.



تم إنشاء 2023-11-12, اخر تحديث 2023-11-22
المؤلفون: جلين جوشر (3) ، يضحك س (1)

التعليقات