सामग्री पर जाएं

SKU-110k डेटासेट

SKU-110k डेटासेट घनी पैक वाली खुदरा शेल्फ छवियों का एक संग्रह है, जिसे ऑब्जेक्ट डिटेक्शन कार्यों में अनुसंधान का समर्थन करने के लिए डिज़ाइन किया गया है। एरन गोल्डमैन एट अल द्वारा विकसित, डेटासेट में घनी पैक वाली वस्तुओं के साथ 110,000 से अधिक अद्वितीय स्टोर कीपिंग यूनिट (एसकेयू) श्रेणियां हैं, जो अक्सर समान या समान दिखती हैं, निकटता में स्थित होती हैं।

डेटासेट नमूना छवि

प्रमुख विशेषताऐं

  • SKU-110k में दुनिया भर के स्टोर अलमारियों की छवियां शामिल हैं, जिनमें घनी पैक वाली वस्तुएं हैं जो अत्याधुनिक ऑब्जेक्ट डिटेक्टरों के लिए चुनौतियां पेश करती हैं।
  • डेटासेट में 110,000 से अधिक अद्वितीय 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 डेटासेट पर मॉडल 640 के छवि आकार के साथ 100 युगों के लिए, आप निम्न कोड स्निपेट का उपयोग कर सकते हैं। उपलब्ध तर्कों की व्यापक सूची के लिए, मॉडल प्रशिक्षण पृष्ठ देखें।

ट्रेन का उदाहरण

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

हम कंप्यूटर दृष्टि अनुसंधान समुदाय के लिए एक मूल्यवान संसाधन के रूप में SKU-110k डेटासेट बनाने और बनाए रखने के लिए एरन गोल्डमैन एट अल को स्वीकार करना चाहते हैं। SKU-110k डेटासेट और इसके रचनाकारों के बारे में अधिक जानकारी के लिए, SKU-110k डेटासेट GitHub रिपॉजिटरी पर जाएं।



2023-11-12 बनाया गया, अपडेट किया गया 2023-11-22
लेखक: ग्लेन-जोचर (3), लाफिंग-क्यू (1)

टिप्पणियाँ