Link to this sectionTập dữ liệu SKU-110k#
Tập dữ liệu SKU-110k là bộ sưu tập các hình ảnh kệ hàng bán lẻ được đóng gói dày đặc, được thiết kế để hỗ trợ nghiên cứu trong các tác vụ object detection. Được phát triển bởi Eran Goldman và cộng sự, tập dữ liệu chứa hơn 110.000 danh mục SKU (đơn vị lưu kho) độc nhất với các đối tượng được sắp xếp dày đặc, thường trông giống nhau hoặc thậm chí giống hệt nhau, nằm ở vị trí gần nhau.
Watch: How to Train YOLOv10 on SKU-110k Dataset using Ultralytics | Retail Dataset

Link to this sectionTính năng chính#
- SKU-110k chứa hình ảnh các kệ hàng từ khắp nơi trên thế giới, bao gồm các đối tượng được đóng gói dày đặc gây ra nhiều thách thức cho các bộ phát hiện đối tượng hiện đại nhất.
- Tập dữ liệu bao gồm hơn 110.000 danh mục SKU độc nhất, cung cấp phạm vi đa dạng về hình dạng đối tượng.
- Các chú thích bao gồm BBox cho đối tượng và nhãn danh mục SKU.
Link to this sectionCấu trúc tập dữ liệu#
Tập dữ liệu SKU-110k được chia thành ba tập con chính:
- Training set: Tập con này chứa 8.219 hình ảnh và chú thích được sử dụng để huấn luyện các model object detection.
- Validation set: Tập con này bao gồm 588 hình ảnh và chú thích được sử dụng để kiểm chứng model trong quá trình huấn luyện.
- Test set: Tập con này bao gồm 2.936 hình ảnh được thiết kế để đánh giá cuối cùng các model object detection đã được huấn luyện.
Link to this sectionỨng dụng#
Tập dữ liệu SKU-110k được sử dụng rộng rãi để huấn luyện và đánh giá các model deep learning trong các tác vụ object detection, đặc biệt là trong các cảnh đóng gói dày đặc như kệ trưng bày bán lẻ. Các ứng dụng của nó bao gồm:
- Quản lý và tự động hóa kho hàng bán lẻ
- Nhận diện sản phẩm trên các nền tảng thương mại điện tử
- Xác minh tuân thủ sơ đồ bài trí hàng hóa (planogram)
- Hệ thống thanh toán tự phục vụ trong cửa hàng
- Robot lấy và phân loại hàng trong kho
Bộ sưu tập danh mục SKU đa dạng và cách sắp xếp đối tượng dày đặc của tập dữ liệu này khiến nó trở thành nguồn tài nguyên quý giá cho các nhà nghiên cứu và thực hành trong lĩnh vực computer vision.
Link to this sectionYAML tập dữ liệu#
Một 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à 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, tệp SKU-110K.yaml được duy trì tại https://github.com/ultralytics/ultralytics/blob/main/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 polars as pl
from ultralytics.utils 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 = pl.read_csv(dir / "annotations" / d, has_header=False, new_columns=names, infer_schema_length=None).to_numpy() # 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 labelLink to this sectionCách sử dụng#
Để huấn luyện model YOLO26n trên tập dữ liệu SKU-110K trong 100 epochs với kích thước ảnh là 640, bạn có thể sử dụng các đoạn code sau. Để có danh sách đầy đủ các đối số khả dụng, hãy tham khảo trang Training của model.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="SKU-110K.yaml", epochs=100, imgsz=640)Link to this sectionDữ liệu mẫu và Chú thích#
Tập dữ liệu SKU-110k chứa một bộ đa dạng các hình ảnh kệ hàng bán lẻ với các đối tượng đóng gói dày đặc, cung cấp ngữ cảnh phong phú cho các tác vụ object detection. 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:

- Hình ảnh kệ hàng bán lẻ đóng gói dày đặc: Hình ảnh này minh họa một ví dụ về các đối tượng đó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 BBox 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à làm nổi bật tầm quan trọng của dữ liệu chất lượng cao đối với các tác vụ object detection. Sự sắp xếp dày đặc của các sản phẩm tạo ra những thách thức độc đáo cho các thuật toán phát hiện, làm cho tập dữ liệu này đặc biệt có giá trị để phát triển các giải pháp computer vision tập trung vào bán lẻ mạnh mẽ.
Link to this sectionTrích dẫn và Ghi nhận#
Nếu bạn sử dụng tập 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 đây:
@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 và cộng sự vì đã tạo ra và duy trì tập dữ liệu SKU-110k như một tài nguyên quý giá cho cộng đồng nghiên cứu computer vision. Để 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.
Link to this sectionCâu hỏi thường gặp#
Link to this sectionTập dữ liệu SKU-110k là gì và tại sao nó lại quan trọng đối với object detection?#
Tập dữ liệu SKU-110k bao gồm các hình ảnh kệ hàng bán lẻ đóng gói dày đặc được thiết kế để hỗ trợ nghiên cứu trong các tác vụ object detection. Được phát triển bởi Eran Goldman và cộng sự, nó bao gồm hơn 110.000 danh mục SKU độc nhất. Tầm quan trọng của nó nằm ở khả năng thách thức các bộ phát hiện đối tượng hiện đại nhất với vẻ ngoài và khoảng cách đối tượng đa dạng, khiến nó trở thành tài nguyên vô giá cho các nhà nghiên cứu và người thực hành trong lĩnh vực computer vision. 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.
Link to this sectionLàm thế nào để tôi huấn luyện model YOLO26 sử dụng tập dữ liệu SKU-110k?#
Việc huấn luyện model YOLO26 trên tập dữ liệu SKU-110k rất đơn giản. Dưới đây là ví dụ để huấn luyện model YOLO26n trong 100 epoch với kích thước ảnh là 640:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="SKU-110K.yaml", epochs=100, imgsz=640)Để có danh sách đầy đủ các đối số khả dụng, hãy tham khảo trang Huấn luyện model.
Link to this sectionCác tập con chính của tập dữ liệu SKU-110k là gì?#
Tập dữ liệu SKU-110k được chia thành ba tập con chính:
- Training set: Chứa 8.219 hình ảnh và chú thích được sử dụng để huấn luyện các model object detection.
- Validation set: Bao gồm 588 hình ảnh và chú thích được sử dụng để kiểm chứng model trong quá trình huấn luyện.
- Test set: Bao gồm 2.936 hình ảnh được thiết kế để đánh giá cuối cùng các model object detection đã được huấn luyện.
Tham khảo phần Cấu trúc tập dữ liệu để biết thêm chi tiết.
Link to this sectionLàm thế nào để tôi cấu hình tập dữ liệu SKU-110k để huấn luyện?#
Cấu hình tập dữ liệu SKU-110k được xác định trong một tệp YAML, bao gồm 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. Tệp SKU-110K.yaml được duy trì tại SKU-110K.yaml. Ví dụ, bạn có thể huấn luyện model bằng cấu hình này như được hiển thị trong phần Cách sử dụng của chúng tôi.
Link to this sectionCác tính năng chính của tập dữ liệu SKU-110k trong bối cảnh deep learning là gì?#
Tập dữ liệu SKU-110k bao gồm các hình ảnh kệ hàng từ khắp nơi trên thế giới, thể hiện các đối tượng đóng gói dày đặc gây ra những thách thức đáng kể cho các bộ phát hiện đối tượng:
- Hơn 110.000 danh mục SKU độc nhất
- Hình dạng đối tượng đa dạng
- Các chú thích bao gồm BBox 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ị cho việc huấn luyện và đánh giá các model deep learning trong các tác vụ object detection. Để biết thêm chi tiết, hãy xem phần Các tính năng chính.
Link to this sectionLàm thế nào để tôi trích dẫn tập dữ liệu SKU-110k trong nghiên cứu của mình?#
Nếu bạn sử dụng tập 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 đây:
@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à Ghi nhận.