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ẻ
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:
- 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.
- 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.
- 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
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 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:
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
Để 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:
- 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.
- 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.
- 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:
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 .