콘텐츠로 건너뛰기

SKU-110k 데이터 세트

SKU-110k 데이터 세트는 조밀하게 포장된 소매점 진열대 이미지 모음으로, 물체 감지 작업의 연구를 지원하기 위해 고안되었습니다. Eran Goldman 등이 개발한 이 데이터 세트에는 유사하거나 심지어 동일해 보이는 물체가 밀집되어 있는 110,000개 이상의 고유한 SKU(스토어 유지 단위) 카테고리가 포함되어 있으며, 종종 근접하게 배치되어 있습니다.



Watch: Ultralytics | 리테일 데이터셋을 사용하여 SKU-110k 데이터셋에서 YOLOv10을 훈련하는 방법

데이터 세트 샘플 이미지

주요 기능

  • SKU-110k에는 전 세계의 매장 진열대 이미지가 포함되어 있으며, 최첨단 물체 감지기에 도전할 수 있는 밀집된 물체가 특징입니다.
  • 이 데이터 세트에는 110,000개 이상의 고유한 SKU 카테고리가 포함되어 있어 다양한 객체 모양을 제공합니다.
  • 주석에는 객체의 경계 상자 및 SKU 카테고리 레이블이 포함됩니다.

데이터 세트 구조

SKU-110k 데이터 세트는 세 가지 주요 하위 집합으로 구성됩니다:

  1. 훈련 집합: 이 하위 집합에는 객체 감지 모델 학습에 사용되는 8,219개의 이미지와 주석이 포함되어 있습니다.
  2. 유효성 검사 집합: 이 하위 집합은 학습 중 모델 유효성 검사에 사용되는 588개의 이미지와 주석으로 구성됩니다.
  3. 테스트 세트: 이 하위 집합에는 학습된 객체 감지 모델의 최종 평가를 위해 설계된 2,936개의 이미지가 포함되어 있습니다.

애플리케이션

SKU-110k 데이터 세트는 특히 소매점 진열대와 같이 밀집된 장면에서 객체 감지 작업에서 딥러닝 모델을 훈련하고 평가하는 데 널리 사용됩니다. 활용 분야는 다음과 같습니다:

  • 소매 재고 관리 및 자동화
  • 이커머스 플랫폼에서의 제품 인식
  • 플래노그램 규정 준수 검증
  • 매장 내 셀프 결제 시스템
  • 창고 내 로봇 피킹 및 분류 작업

데이터 세트의 다양한 SKU 카테고리와 밀집된 개체 배열은 컴퓨터 비전 분야의 연구자 및 실무자에게 유용한 리소스입니다.

데이터 세트 YAML

데이터 세트 구성을 정의하는 데는 YAML(또 다른 마크업 언어) 파일이 사용됩니다. 여기에는 데이터 세트의 경로, 클래스 및 기타 관련 정보에 대한 정보가 포함되어 있습니다. SKU-110K 데이터 세트의 경우, 데이터 세트의 SKU-110K.yaml 파일은 다음 위치에서 유지됩니다. https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/SKU-110K.yaml.

ultralytics/cfg/데이터세트/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: ../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", 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

사용법

이미지 크기가 640인 100개의 에포크에 대한 SKU-110K 데이터 세트에서 YOLO11n 모델을 훈련하려면 다음 코드 조각을 사용할 수 있습니다. 사용 가능한 인수의 전체 목록은 모델 학습 페이지를 참조하세요.

열차 예시

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

샘플 데이터 및 주석

SKU-110k 데이터 세트에는 객체가 밀집된 다양한 소매점 진열대 이미지가 포함되어 있어 객체 감지 작업에 대한 풍부한 컨텍스트를 제공합니다. 다음은 데이터 세트의 데이터 예시 몇 가지와 해당 주석입니다:

데이터 세트 샘플 이미지

  • 조밀하게 포장된 소매점 진열대 이미지: 이 이미지는 소매점 진열대 환경에서 조밀하게 포장된 객체의 예를 보여줍니다. 객체에는 경계 상자 및 SKU 카테고리 레이블로 주석을 달았습니다.

이 예는 SKU-110k 데이터 세트에 포함된 데이터의 다양성과 복잡성을 보여주며 물체 감지 작업에서 고품질 데이터의 중요성을 강조합니다. 제품의 밀집된 배열은 감지 알고리즘에 고유한 과제를 제시하므로 이 데이터 세트는 강력한 소매업 중심의 컴퓨터 비전 솔루션을 개발하는 데 특히 유용합니다.

인용 및 감사

연구 또는 개발 작업에 SKU-110k 데이터셋을 사용하는 경우 다음 논문을 인용해 주세요:

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

컴퓨터 비전 연구 커뮤니티를 위한 귀중한 리소스인 SKU-110k 데이터 세트를 만들고 유지 관리해 주신 Eran Goldman 등에게 감사의 말씀을 전합니다. SKU-110k 데이터 세트와 제작자에 대한 자세한 내용은 SKU-110k 데이터 세트 GitHub 리포지토리에서 확인할 수 있습니다.

자주 묻는 질문

SKU-110k 데이터 세트는 무엇이며 물체 감지에 중요한 이유는 무엇인가요?

SKU-110k 데이터 세트는 물체 감지 작업의 연구를 돕기 위해 고밀도로 압축된 소매점 진열대 이미지로 구성되어 있습니다. Eran Goldman 등이 개발한 이 데이터 세트에는 110,000개 이상의 고유한 SKU 카테고리가 포함되어 있습니다. 다양한 물체 모양과 근접성을 가진 최첨단 물체 감지기에 도전할 수 있다는 점에서 컴퓨터 비전 분야의 연구자와 실무자에게 귀중한 자료가 될 것입니다. 데이터 세트의 구조와 활용에 대한 자세한 내용은 SKU-110k 데이터 세트 섹션에서 알아보세요.

SKU-110k 데이터 세트를 사용하여 YOLO11 모델을 훈련하려면 어떻게 해야 하나요?

SKU-110k 데이터 세트에서 YOLO11 모델을 훈련하는 것은 간단합니다. 다음은 이미지 크기가 640인 100개의 에포크에 대한 YOLO11n 모델을 훈련하는 예제입니다:

열차 예시

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

사용 가능한 인수의 전체 목록은 모델 교육 페이지를 참조하세요.

SKU-110k 데이터 세트의 주요 하위 집합은 무엇인가요?

SKU-110k 데이터 세트는 세 가지 주요 하위 집합으로 구성됩니다:

  1. 훈련 세트: 객체 감지 모델 학습에 사용되는 8,219개의 이미지와 주석이 포함되어 있습니다.
  2. 유효성 검사 세트: 학습 중 모델 유효성 검사에 사용되는 588개의 이미지와 주석으로 구성됩니다.
  3. 테스트 세트: 학습된 객체 감지 모델의 최종 평가를 위해 설계된 2,936개의 이미지가 포함되어 있습니다.

자세한 내용은 데이터 세트 구조 섹션을 참조하세요.

교육을 위해 SKU-110k 데이터셋을 구성하려면 어떻게 해야 하나요?

SKU-110k 데이터 세트 구성은 데이터 세트의 경로, 클래스 및 기타 관련 정보에 대한 세부 정보가 포함된 YAML 파일에 정의되어 있습니다. 데이터 세트의 SKU-110K.yaml 파일은 다음 위치에서 유지됩니다. SKU-110K.yaml. 예를 들어, 다음과 같이 이 구성을 사용하여 모델을 훈련할 수 있습니다. 사용법 섹션으로 이동합니다.

딥러닝의 맥락에서 SKU-110k 데이터 세트의 주요 특징은 무엇인가요?

SKU-110k 데이터 세트에는 전 세계의 매장 진열대 이미지가 포함되어 있으며, 물체 감지기에 상당한 문제를 야기하는 밀집된 물체를 보여줍니다:

  • 110,000개 이상의 고유 SKU 카테고리
  • 다양한 개체 모양
  • 주석에는 경계 상자 및 SKU 카테고리 레이블이 포함됩니다.

이러한 기능 덕분에 SKU-110k 데이터 세트는 물체 감지 작업에서 딥러닝 모델을 훈련하고 평가하는 데 특히 유용합니다. 자세한 내용은 주요 기능 섹션을 참조하세요.

내 연구에서 SKU-110k 데이터셋을 인용하려면 어떻게 해야 하나요?

연구 또는 개발 작업에 SKU-110k 데이터셋을 사용하는 경우 다음 논문을 인용해 주세요:

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

데이터 집합에 대한 자세한 내용은 인용 및 감사 섹션에서 확인할 수 있습니다.

📅1 년 전 생성됨 ✏️ 업데이트됨 8 일 전

댓글