Meet YOLO26: next-gen vision AI.

Link to this sectionمجموعة بيانات SKU-110k#

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



Watch: How to Train YOLOv10 on SKU-110k Dataset using Ultralytics | Retail Dataset

اكتشاف أرفف متاجر التجزئة المزدحمة في مجموعة بيانات SKU-110K

Link to this sectionالميزات الرئيسية#

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

Link to this sectionهيكل مجموعة البيانات#

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

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

Link to this sectionالتطبيقات#

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

  • إدارة وأتمتة مخزون التجزئة
  • التعرف على المنتجات في منصات التجارة الإلكترونية
  • التحقق من الامتثال لمخطط العرض (Planogram)
  • أنظمة الدفع الذاتي في المتاجر
  • الالتقاط والفرز الآلي في المستودعات

تجعل مجموعة فئات SKU المتنوعة وترتيبات الكائنات المزدحمة من هذه البيانات مورداً قيماً للباحثين والممارسين في مجال الرؤية الحاسوبية.

Link to this sectionYAML مجموعة البيانات#

يُستخدم ملف 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 🚀 AGPL-3.0 License - https://ultralytics.com/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: 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 polars as pl

  from ultralytics.utils 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 = pl.read_csv(dir / "annotations" / d, has_header=False, new_columns=names, infer_schema_length=None).to_numpy()  # annotations
      images, unique_images = x[:, 0], np.unique(x[:, 0])
      with open((dir / d).with_suffix(".txt").__str__().replace("annotations_", ""), "w", encoding="utf-8") 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", encoding="utf-8") 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

Link to this sectionالاستخدام#

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

مثال على التدريب
from ultralytics import YOLO

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

# Train the model
results = model.train(data="SKU-110K.yaml", epochs=100, imgsz=640)

Link to this sectionعينة من البيانات والتعليقات#

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

اكتشاف منتجات التجزئة على أرفف المتاجر في SKU-110K

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

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

Link to this sectionالاقتباسات والشكر#

إذا كنت تستخدم مجموعة بيانات 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}
}

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

Link to this sectionالأسئلة الشائعة#

Link to this sectionما هي مجموعة بيانات SKU-110k ولماذا تعتبر مهمة لاكتشاف الكائنات؟#

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

Link to this sectionكيف يمكنني تدريب نموذج YOLO26 باستخدام مجموعة بيانات SKU-110k؟#

إن تدريب نموذج YOLO26 على مجموعة بيانات SKU-110k أمر مباشر. إليك مثال لتدريب نموذج YOLO26n لمدة 100 عصر بحجم صورة 640:

مثال على التدريب
from ultralytics import YOLO

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

# Train the model
results = model.train(data="SKU-110K.yaml", epochs=100, imgsz=640)

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

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

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

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

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

Link to this sectionكيف أقوم بتهيئة مجموعة بيانات SKU-110k للتدريب؟#

يتم تحديد تهيئة مجموعة بيانات SKU-110k في ملف YAML، والذي يتضمن تفاصيل حول مسارات مجموعة البيانات، والفئات، وغيرها من المعلومات ذات الصلة. يتم الاحتفاظ بملف SKU-110K.yaml في SKU-110K.yaml. على سبيل المثال، يمكنك تدريب نموذج باستخدام هذه التهيئة كما هو موضح في قسم الاستخدام الخاص بنا.

Link to this sectionما هي الميزات الرئيسية لمجموعة بيانات SKU-110k في سياق التعلم العميق؟#

تتميز مجموعة بيانات SKU-110k بصور لأرفف متاجر من جميع أنحاء العالم، تعرض كائنات متراصة بكثافة تشكل تحديات كبيرة لكاشفات الكائنات:

  • أكثر من 110,000 فئة SKU فريدة
  • مظاهر كائنات متنوعة
  • تتضمن التعليقات التوضيحية مربعات إحاطة وتسميات فئات SKU

هذه الميزات تجعل مجموعة بيانات SKU-110k قيمة بشكل خاص لتدريب وتقييم نماذج التعلم العميق في مهام اكتشاف الكائنات. لمزيد من التفاصيل، راجع قسم الميزات الرئيسية.

Link to this sectionكيف يمكنني الاستشهاد بمجموعة بيانات 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}
}

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

التعليقات