Conjunto de dados SKU-110k
O conjunto de dados SKU-110k é uma coleção de imagens de prateleiras de retalho densamente embaladas, concebidas para apoiar a investigação em tarefas de deteção de objectos. Desenvolvido por Eran Goldman et al., o conjunto de dados contém mais de 110.000 categorias únicas de unidades de manutenção de loja (SKU) com objectos densamente embalados, muitas vezes com aspeto semelhante ou mesmo idêntico, posicionados nas proximidades.
Ver: Como treinar o YOLOv10 no conjunto de dados SKU-110k utilizando Ultralytics | Conjunto de dados de retalho
Caraterísticas principais
- O SKU-110k contém imagens de prateleiras de lojas de todo o mundo, com objectos densamente compactados que representam desafios para os detectores de objectos mais avançados.
- O conjunto de dados inclui mais de 110.000 categorias SKU únicas, fornecendo uma gama diversificada de aparências de objectos.
- As anotações incluem caixas delimitadoras para objectos e etiquetas de categorias SKU.
Estrutura do conjunto de dados
O conjunto de dados SKU-110k está organizado em três subconjuntos principais:
- Conjunto de treino: Este subconjunto contém imagens e anotações utilizadas para treinar modelos de deteção de objectos.
- Conjunto de validação: Este subconjunto é constituído por imagens e anotações utilizadas para a validação do modelo durante a formação.
- Conjunto de teste: Este subconjunto foi concebido para a avaliação final dos modelos de deteção de objectos treinados.
Aplicações
O conjunto de dados SKU-110k é amplamente utilizado para treinar e avaliar modelos de aprendizagem profunda em tarefas de deteção de objectos, especialmente em cenas densamente compactadas, como os expositores de prateleiras de retalho. O conjunto diversificado de categorias de SKU e as disposições de objectos densamente compactados do conjunto de dados fazem dele um recurso valioso para investigadores e profissionais no domínio da visão computacional.
Conjunto de dados YAML
Um ficheiro YAML (Yet Another Markup Language) é utilizado para definir a configuração do conjunto de dados. Ele contém informações sobre os caminhos do conjunto de dados, classes e outras informações relevantes. Para o caso do conjunto de dados SKU-110K, o ficheiro SKU-110K.yaml
é mantido em 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
Utilização
Para treinar um modelo YOLO11n no conjunto de dados SKU-110K para 100 épocas com um tamanho de imagem de 640, pode utilizar os seguintes snippets de código. Para obter uma lista abrangente dos argumentos disponíveis, consulte a página Treinamento do modelo.
Exemplo de comboio
Dados de amostra e anotações
O conjunto de dados SKU-110k contém um conjunto diversificado de imagens de prateleiras de retalho com objectos densamente embalados, fornecendo um contexto rico para tarefas de deteção de objectos. Aqui estão alguns exemplos de dados do conjunto de dados, juntamente com as anotações correspondentes:
- Imagem de uma prateleira de retalho densamente embalada: Esta imagem demonstra um exemplo de objectos densamente embalados numa prateleira de retalho. Os objectos são anotados com caixas delimitadoras e etiquetas de categorias SKU.
O exemplo mostra a variedade e complexidade dos dados no conjunto de dados SKU-110k e realça a importância de dados de alta qualidade para tarefas de deteção de objectos.
Citações e agradecimentos
Se utilizar o conjunto de dados SKU-110k no seu trabalho de investigação ou desenvolvimento, cite o seguinte documento:
Gostaríamos de agradecer a Eran Goldman et al. por criar e manter o conjunto de dados SKU-110k como um recurso valioso para a comunidade de pesquisa em visão computacional. Para obter mais informações sobre o conjunto de dados SKU-110k e seus criadores, visite o repositório GitHub do conjunto de dados SKU-110k.
FAQ
O que é o conjunto de dados SKU-110k e porque é importante para a deteção de objectos?
O conjunto de dados SKU-110k consiste em imagens de prateleiras de retalho densamente compactadas, concebidas para ajudar a investigação em tarefas de deteção de objectos. Desenvolvido por Eran Goldman et al., inclui mais de 110.000 categorias SKU únicas. A sua importância reside na sua capacidade de desafiar os detectores de objectos mais avançados com diversas aparências de objectos e proximidade, tornando-o um recurso inestimável para investigadores e profissionais da visão computacional. Saiba mais sobre a estrutura e as aplicações do conjunto de dados na nossa secção Conjunto de dados SKU-110k.
Como posso treinar um modelo YOLO11 utilizando o conjunto de dados SKU-110k?
Treinar um modelo YOLO11 no conjunto de dados SKU-110k é simples. Aqui está um exemplo para treinar um modelo YOLO11n para 100 épocas com um tamanho de imagem de 640:
Exemplo de comboio
Para obter uma lista completa dos argumentos disponíveis, consulte a página de formação do modelo.
Quais são os principais subconjuntos do conjunto de dados SKU-110k?
O conjunto de dados SKU-110k está organizado em três subconjuntos principais:
- Conjunto de treino: Contém imagens e anotações utilizadas para treinar modelos de deteção de objectos.
- Conjunto de validação: Consiste em imagens e anotações utilizadas para validação do modelo durante a formação.
- Conjunto de teste: Concebido para a avaliação final dos modelos de deteção de objectos treinados.
Consulte a secção Estrutura do conjunto de dados para obter mais detalhes.
Como é que configuro o conjunto de dados SKU-110k para treino?
A configuração do conjunto de dados SKU-110k é definida num ficheiro YAML, que inclui detalhes sobre os caminhos, classes e outras informações relevantes do conjunto de dados. O ficheiro SKU-110K.yaml
é mantido em SKU-110K.yaml. Por exemplo, é possível treinar um modelo usando esta configuração, como mostrado no nosso Utilização secção.
Quais são as principais caraterísticas do conjunto de dados SKU-110k no contexto da aprendizagem profunda?
O conjunto de dados SKU-110k apresenta imagens de prateleiras de lojas de todo o mundo, mostrando objectos densamente compactados que representam desafios significativos para os detectores de objectos:
- Mais de 110.000 categorias SKU exclusivas
- Aparência diversificada dos objectos
- As anotações incluem caixas delimitadoras e etiquetas de categoria SKU
Estas caraterísticas tornam o conjunto de dados SKU-110k particularmente valioso para treinar e avaliar modelos de aprendizagem profunda em tarefas de deteção de objectos. Para obter mais detalhes, consulte a secção Caraterísticas principais.
Como posso citar o conjunto de dados SKU-110k na minha investigação?
Se utilizar o conjunto de dados SKU-110k no seu trabalho de investigação ou desenvolvimento, cite o seguinte documento:
Mais informações sobre o conjunto de dados podem ser encontradas na secção Citações e Agradecimentos.