Bỏ qua nội dung

Bộ dữ liệu SKU-110k

Bộ dữ liệu SKU-110k là tập hợp các hình ảnh kệ bán lẻ được đóng gói dày đặc, được thiết kế để hỗ trợ nghiên cứu trong các nhiệm vụ phát hiện đối tượng . Được phát triển bởi Eran Goldman và cộng sự, bộ dữ liệu này chứa hơn 110.000 danh mục đơn vị lưu trữ (SKU) duy nhất với các đối tượng được đóng gói dày đặc, thường trông giống nhau hoặc thậm chí giống hệt nhau, được đặt ở gần nhau.



Đồng hồ: Cách huấn luyện YOLOv10 trên Bộ dữ liệu SKU-110k bằng cách sử dụng Ultralytics | Bộ dữ liệu bán lẻ

Hình ảnh mẫu của bộ dữ liệu

Các tính năng chính

  • SKU-110k chứa hình ảnh các kệ hàng trên khắp thế giới, với các vật thể được xếp dày đặc, gây khó khăn cho các máy dò vật thể hiện đại.
  • Bộ dữ liệu bao gồm hơn 110.000 danh mục SKU riêng biệt, cung cấp nhiều kiểu dáng đối tượng đa dạng.
  • Chú thích bao gồm hộp giới hạn cho đối tượng và nhãn danh mục SKU.

Cấu trúc tập dữ liệu

Bộ dữ liệu SKU-110k được tổ chức thành ba tập hợp con chính:

  1. Bộ đào tạo : Tập hợp con này chứa các hình ảnh và chú thích được sử dụng để đào tạo các mô hình phát hiện đối tượng.
  2. Bộ xác thực : Tập hợp con này bao gồm các hình ảnh và chú thích được sử dụng để xác thực mô hình trong quá trình đào tạo.
  3. Bộ kiểm tra : Tập hợp con này được thiết kế để đánh giá cuối cùng các mô hình phát hiện đối tượng đã được đào tạo.

Ứng dụng

Bộ dữ liệu SKU-110k được sử dụng rộng rãi để đào tạo và đánh giá các mô hình học sâu trong các tác vụ phát hiện đối tượng, đặc biệt là trong các cảnh dày đặc như màn hình kệ bán lẻ. Bộ dữ liệu đa dạng các danh mục SKU và cách sắp xếp đối tượng dày đặc khiến nó trở thành một nguồn tài nguyên có giá trị cho các nhà nghiên cứu và học viên trong lĩnh vực thị giác máy tính .

Bộ dữ liệu YAML

Tệp YAML (Yet Another Markup Language) được sử dụng để xác định cấu hình tập dữ liệu. Tệp này chứa thông tin về đường dẫn, lớp và các thông tin liên quan khác của tập dữ liệu. Đối với trường hợp tập dữ liệu SKU-110K, SKU-110K.yaml tập tin được duy trì tại 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

Cách sử dụng

Để đào tạo mô hình YOLO11n trên tập dữ liệu SKU-110K trong 100 kỷ nguyên với kích thước hình ảnh là 640, bạn có thể sử dụng các đoạn mã sau. Để biết danh sách đầy đủ các đối số khả dụng, hãy tham khảo trang Đào tạo mô hình.

Ví dụ về tàu hỏa

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

Dữ liệu mẫu và chú thích

Bộ dữ liệu SKU-110k chứa một tập hợp đa dạng các hình ảnh kệ bán lẻ với các đối tượng được đóng gói dày đặc, cung cấp bối cảnh phong phú cho các tác vụ phát hiện đối tượng. Sau đây là một số ví dụ về dữ liệu từ bộ dữ liệu, cùng với các chú thích tương ứng của chúng:

Hình ảnh mẫu của bộ dữ liệu

  • Hình ảnh kệ bán lẻ được đóng gói dày đặc : Hình ảnh này minh họa ví dụ về các vật thể được đóng gói dày đặc trong bối cảnh kệ bán lẻ. Các vật thể được chú thích bằng hộp giới hạn và nhãn danh mục SKU.

Ví dụ này cho thấy sự đa dạng và phức tạp của dữ liệu trong tập dữ liệu SKU-110k và nhấn mạnh tầm quan trọng của dữ liệu chất lượng cao đối với các tác vụ phát hiện đối tượng.

Trích dẫn và Lời cảm ơn

Nếu bạn sử dụng tập dữ liệu SKU-110k trong công tác nghiên cứu hoặc phát triển của mình, vui lòng trích dẫn bài báo sau:

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

Chúng tôi muốn cảm ơn Eran Goldman và cộng sự đã tạo ra và duy trì tập dữ liệu SKU-110k như một nguồn tài nguyên có giá trị cho cộng đồng nghiên cứu thị giác máy tính. Để biết thêm thông tin về tập dữ liệu SKU-110k và những người tạo ra nó, hãy truy cập kho lưu trữ GitHub của tập dữ liệu SKU-110k .

CÂU HỎI THƯỜNG GẶP

Bộ dữ liệu SKU-110k là gì và tại sao nó lại quan trọng đối với việc phát hiện đối tượng?

Bộ dữ liệu SKU-110k bao gồm các hình ảnh kệ bán lẻ được đóng gói dày đặc được thiết kế để hỗ trợ nghiên cứu trong các nhiệm vụ phát hiện đối tượng. Được phát triển bởi Eran Goldman và cộng sự, bộ dữ liệu này bao gồm hơn 110.000 danh mục SKU độc đáo. Tầm quan trọng của bộ dữ liệu nằm ở khả năng thách thức các máy dò đối tượng hiện đại với nhiều hình dạng đối tượng khác nhau và khoảng cách gần, khiến bộ dữ liệu này trở thành nguồn tài nguyên vô giá đối với các nhà nghiên cứu và chuyên gia trong lĩnh vực thị giác máy tính. Tìm hiểu thêm về cấu trúc và ứng dụng của bộ dữ liệu trong phần Bộ dữ liệu SKU-110k của chúng tôi.

Làm thế nào để tôi đào tạo một YOLO11 mô hình sử dụng tập dữ liệu SKU-110k?

Đào tạo một YOLO11 mô hình trên tập dữ liệu SKU-110k rất đơn giản. Sau đây là ví dụ để đào tạo mô hình YOLO11n cho 100 kỷ nguyên với kích thước hình ảnh là 640:

Ví dụ về tàu hỏa

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

Để biết danh sách đầy đủ các đối số có sẵn, hãy tham khảo trang Đào tạo mô hình.

Các tập hợp con chính của bộ dữ liệu SKU-110k là gì?

Bộ dữ liệu SKU-110k được tổ chức thành ba tập hợp con chính:

  1. Bộ đào tạo : Bao gồm hình ảnh và chú thích được sử dụng để đào tạo mô hình phát hiện đối tượng.
  2. Bộ xác thực : Bao gồm hình ảnh và chú thích được sử dụng để xác thực mô hình trong quá trình đào tạo.
  3. Bộ kiểm tra : Được thiết kế để đánh giá cuối cùng các mô hình phát hiện đối tượng đã được đào tạo.

Tham khảo phần Cấu trúc tập dữ liệu để biết thêm chi tiết.

Làm thế nào để cấu hình bộ dữ liệu SKU-110k để đào tạo?

Cấu hình tập dữ liệu SKU-110k được xác định trong tệp YAML, bao gồm thông tin chi tiết về đường dẫn, lớp và các thông tin liên quan khác của tập dữ liệu. SKU-110K.yaml tập tin được duy trì tại Mã sản phẩm-110K.yaml. Ví dụ, bạn có thể đào tạo một mô hình bằng cách sử dụng cấu hình này như được hiển thị trong Cách sử dụng phần.

Những tính năng chính của tập dữ liệu SKU-110k trong bối cảnh học sâu là gì?

Bộ dữ liệu SKU-110k có hình ảnh các kệ hàng trong cửa hàng trên khắp thế giới, trưng bày các vật thể được xếp dày đặc gây ra những thách thức đáng kể cho các máy phát hiện vật thể:

  • Hơn 110.000 danh mục SKU độc đáo
  • Sự xuất hiện của nhiều vật thể khác nhau
  • Chú thích bao gồm các hộp giới hạn và nhãn danh mục SKU

Những tính năng này làm cho tập dữ liệu SKU-110k đặc biệt có giá trị để đào tạo và đánh giá các mô hình học sâu trong các tác vụ phát hiện đối tượng. Để biết thêm chi tiết, hãy xem phần Tính năng chính .

Làm thế nào để trích dẫn tập dữ liệu SKU-110k trong nghiên cứu của tôi?

Nếu bạn sử dụng tập dữ liệu SKU-110k trong công tác nghiên cứu hoặc phát triển của mình, vui lòng trích dẫn bài báo sau:

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

Bạn có thể tìm thêm thông tin về tập dữ liệu trong phần Trích dẫn và Lời cảm ơn .

📅 Được tạo ra cách đây 1 năm ✏️ Đã cập nhật cách đây 2 tháng

Bình luận