İçeriğe geç

SKU-110k Veri Kümesi

SKU-110k veri seti, nesne algılama görevlerindeki araştırmaları desteklemek için tasarlanmış, yoğun şekilde paketlenmiş perakende rafı görüntülerinden oluşan bir koleksiyondur. Eran Goldman ve diğerleri tarafından geliştirilen veri seti, genellikle benzer veya hatta aynı görünen, yakın konumlandırılmış, yoğun şekilde paketlenmiş nesnelerle 110.000'den fazla benzersiz mağaza stok tutma birimi (SKU) kategorisi içerir.



İzle: Ultralytics Kullanarak SKU-110k Veri Kümesinde YOLOv10 Nasıl Eğitilir | Perakende Veri Kümesi

Veri kümesi örnek görüntüsü

Temel Özellikler

  • SKU-110k, en son teknolojiye sahip nesne tespit araçları için zorluklar oluşturan, yoğun şekilde paketlenmiş nesneler içeren dünyanın dört bir yanından mağaza raflarının görüntülerini içerir.
  • Veri kümesi, çeşitli nesne görünümleri sağlayan 110.000'den fazla benzersiz SKU kategorisi içerir.
  • Açıklamalar, nesneler için sınırlayıcı kutular ve SKU kategori etiketlerini içerir.

Veri Seti Yapısı

SKU-110k veri kümesi üç ana alt kümeye ayrılmıştır:

  1. Eğitim seti: Bu alt küme, nesne algılama modellerini eğitmek için kullanılan 8.219 resim ve açıklama içerir.
  2. Doğrulama kümesi: Bu alt küme, eğitim sırasında model doğrulaması için kullanılan 588 resim ve açıklamadan oluşur.
  3. Test kümesi: Bu alt küme, eğitilmiş nesne algılama modellerinin nihai değerlendirmesi için tasarlanmış 2.936 görüntü içerir.

Uygulamalar

SKU-110k veri kümesi, özellikle perakende rafı ekranları gibi yoğun şekilde paketlenmiş sahnelerde, nesne algılama görevlerinde derin öğrenme modellerini eğitmek ve değerlendirmek için yaygın olarak kullanılmaktadır. Uygulamaları şunları içerir:

  • Perakende envanter yönetimi ve otomasyonu
  • E-ticaret platformlarında ürün tanıma
  • Planogram uyumluluk doğrulaması
  • Mağazalardaki self-servis ödeme sistemleri
  • Depolarda robotik toplama ve ayıklama

Veri kümesinin çeşitli SKU kategorileri ve yoğun şekilde paketlenmiş nesne düzenlemeleri, onu bilgisayar görüşü alanındaki araştırmacılar ve uygulayıcılar için değerli bir kaynak haline getirmektedir.

Veri Seti YAML

Bir YAML (Yet Another Markup Language) dosyası, veri kümesi yapılandırmasını tanımlamak için kullanılır. Veri kümesinin yolları, sınıfları ve diğer ilgili bilgileri hakkında bilgiler içerir. SKU-110K veri kümesi örneğinde, SKU-110K.yaml dosyası şu adreste tutulur: 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 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", 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

Kullanım

640 görüntü boyutuyla 100 epoch için SKU-110K veri kümesinde bir YOLO11n modeli eğitmek için aşağıdaki kod parçacıklarını kullanabilirsiniz. Mevcut argümanların kapsamlı bir listesi için model Eğitim sayfasına bakın.

Eğitim Örneği

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.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=yolo11n.pt epochs=100 imgsz=640

Örnek Veri ve Açıklamalar

SKU-110k veri kümesi, nesne algılama görevleri için zengin bir bağlam sağlayan, yoğun şekilde paketlenmiş nesneler içeren çeşitli perakende rafı görüntüleri içerir. İşte veri kümesinden bazı veri örnekleri ve bunlara karşılık gelen açıklamalar:

Veri kümesi örnek görüntüsü

  • Yoğun şekilde paketlenmiş perakende rafı görüntüsü: Bu görüntü, bir perakende rafı ortamında yoğun şekilde paketlenmiş nesnelerin bir örneğini göstermektedir. Nesneler, sınırlayıcı kutular ve SKU kategori etiketleriyle açıklanmıştır.

Örnek, SKU-110k veri kümesindeki verilerin çeşitliliğini ve karmaşıklığını sergilemekte ve nesne algılama görevleri için yüksek kaliteli verilerin önemini vurgulamaktadır. Ürünlerin yoğun düzenlemesi, algılama algoritmaları için benzersiz zorluklar sunarak bu veri kümesini perakende odaklı sağlam bilgisayarlı görü çözümleri geliştirmek için özellikle değerli kılmaktadır.

Alıntılar ve Teşekkürler

Araştırma veya geliştirme çalışmalarınızda SKU-110k veri kümesini kullanırsanız, lütfen aşağıdaki makaleye atıfta bulunun:

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

Bilgisayarla görü araştırma topluluğu için değerli bir kaynak olarak SKU-110k veri kümesini oluşturdukları ve sürdürdükleri için Eran Goldman ve diğerlerine teşekkür etmek isteriz. SKU-110k veri kümesi ve yaratıcıları hakkında daha fazla bilgi için SKU-110k veri kümesi GitHub deposunu ziyaret edin.

SSS

SKU-110k veri seti nedir ve nesne tespiti için neden önemlidir?

SKU-110k veri kümesi, nesne algılama görevlerindeki araştırmaya yardımcı olmak için tasarlanmış, yoğun şekilde paketlenmiş perakende rafı görüntülerinden oluşur. Eran Goldman ve diğerleri tarafından geliştirilmiş olup, 110.000'den fazla benzersiz SKU kategorisi içerir. Önemi, çeşitli nesne görünümleri ve yakınlığı ile son teknoloji nesne dedektörlerine meydan okuma yeteneğinde yatmaktadır ve bu da onu bilgisayar görüşündeki araştırmacılar ve uygulayıcılar için paha biçilmez bir kaynak haline getirmektedir. SKU-110k Veri Kümesi bölümümüzde veri kümesinin yapısı ve uygulamaları hakkında daha fazla bilgi edinin.

SKU-110k veri kümesini kullanarak bir YOLO11 modeli nasıl eğitirim?

SKU-110k veri kümesi üzerinde bir YOLO11 modeli eğitmek oldukça basittir. İşte 640 görüntü boyutuyla 100 epoch için bir YOLO11n modelini eğitmek için bir örnek:

Eğitim Örneği

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.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=yolo11n.pt epochs=100 imgsz=640

Mevcut argümanların kapsamlı bir listesi için model Eğitim sayfasına bakın.

SKU-110k veri kümesinin ana alt kümeleri nelerdir?

SKU-110k veri kümesi üç ana alt kümeye ayrılmıştır:

  1. Eğitim seti: Nesne algılama modellerini eğitmek için kullanılan 8.219 resim ve açıklama içerir.
  2. Doğrulama kümesi: Eğitim sırasında model doğrulaması için kullanılan 588 resim ve açıklamadan oluşur.
  3. Test kümesi: Eğitilmiş nesne algılama modellerinin nihai değerlendirmesi için tasarlanmış 2.936 görüntü içerir.

Daha fazla ayrıntı için Veri Kümesi Yapısı bölümüne bakın.

SKU-110k veri setini eğitim için nasıl yapılandırırım?

SKU-110k veri kümesi yapılandırması, veri kümesinin yolları, sınıfları ve diğer ilgili bilgileri hakkında ayrıntılar içeren bir YAML dosyasında tanımlanır. The SKU-110K.yaml dosyası şu adreste tutulur: SKU-110K.yaml. Örneğin, yapılandırmayı kullanarak model eğitebilirsiniz, örneğin: Kullanım bölüm.

derin öğrenme bağlamında SKU-110k veri kümesinin temel özellikleri nelerdir?

SKU-110k veri kümesi, dünyanın dört bir yanındaki mağaza raflarının, nesne dedektörleri için önemli zorluklar oluşturan yoğun şekilde paketlenmiş nesneleri sergileyen görüntülerini içerir:

  • 110.000'den fazla benzersiz SKU kategorisi
  • Çeşitli nesne görünümleri
  • Açıklamalar, sınırlayıcı kutular ve SKU kategori etiketlerini içerir

Bu özellikler, SKU-110k veri kümesini nesne algılama görevlerinde derin öğrenme modellerini eğitmek ve değerlendirmek için özellikle değerli kılar. Daha fazla ayrıntı için Temel Özellikler bölümüne bakın.

SKU-110k veri setini araştırmamda nasıl kaynak gösteririm?

Araştırma veya geliştirme çalışmalarınızda SKU-110k veri kümesini kullanırsanız, lütfen aşağıdaki makaleye atıfta bulunun:

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

Veri kümesi hakkında daha fazla bilgi Alıntılar ve Teşekkürler bölümünde bulunabilir.



📅 1 yıl önce oluşturuldu ✏️ 3 ay önce güncellendi

Yorumlar