Bỏ để qua phần 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.



Xem: Cách huấn luyện YOLOv10 trên Tập dữ liệu SKU-110k bằng cách sử dụng Ultralytics | Tập dữ liệu bán lẻ

Hình ảnh mẫu tập dữ liệu

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

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

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

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

  1. Tập hợp đào tạo: Tập hợp con này chứa hình ảnh và chú thích được sử dụng để huấn luyện các mô hình phát hiện đối tượng.
  2. Tập hợp 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 thử: 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 .

Tập 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. Nó chứa thông tin về đường dẫn, lớp và thông tin liên quan khác của tập dữ liệu. Đối với trường hợp của tập dữ liệu SKU-110K, SKU-110K.yaml Tệp đượ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

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

Hình ảnh mẫu tập 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 một ví dụ về các đối tượng được đóng gói dày đặc trong bối cảnh kệ bán lẻ. Các đối tượng được chú thích bằng các 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à xác nhận

Nếu bạn sử dụng bộ dữ liệu SKU-110k trong công việ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 ghi nhận Eran Goldman et al. đã tạo và duy trì bộ dữ liệu SKU-110k như một nguồn tài nguyên quý giá 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à người tạo ra nó, hãy truy cập kho lưu trữ GitHub tập dữ liệu SKU-110k.

FAQ

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 et al., nó bao gồm hơn 110.000 danh mục SKU duy nhất. Tầm quan trọng của nó nằm ở khả năng thách thức các máy dò đối tượng hiện đại với sự xuất hiện đa dạng của vật thể và khoảng cách gần, làm cho nó trở thành một nguồn tài nguyên vô giá cho các nhà nghiên cứu và các học viên về thị giác máy tính. Tìm hiểu thêm về cấu trúc và ứng dụng của tập dữ liệu trong phần Tập dữ liệu SKU-110k của chúng tôi.

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

Việc đào tạo mô hình YOLO11 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ẫu.

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

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

  1. Bộ đào tạo: Chứa 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: 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 cách nào để định cấu hình tập 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 chi tiết về đường dẫn, lớp và thông tin liên quan khác của tập dữ liệu. Các SKU-110K.yaml Tệp được duy trì tại Mã hàng-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 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ủa các kệ hàng từ khắp nơi trên thế giới, trưng bày các đối tượng được đóng gói dày đặc đặt ra những thách thức đáng kể cho máy dò đối tượng:

  • Hơn 110.000 danh mục SKU duy nhất
  • Ngoại hình đối tượng đa dạng
  • Chú thích bao gồm hộp giới hạn và nhãn danh mục SKU

Những tính năng này làm cho bộ 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 nhiệm 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 cách nào để trích dẫn bộ dữ liệu SKU-110k trong nghiên cứu của tôi?

Nếu bạn sử dụng bộ dữ liệu SKU-110k trong công việ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}
}

Thông tin thêm về tập dữ liệu có thể được tìm thấy trong phần Trích dẫn và Xác nhận .

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

Ý kiến