콘텐츠로 건너뛰기

이미지 분류 데이터 세트 개요

YOLO 분류 작업의 데이터 세트 구조

For Ultralytics YOLO 분류 작업의 경우 데이터 세트는 아래의 특정 분할 디렉터리 구조로 구성되어야 합니다. root 디렉토리를 사용하여 적절한 교육, 테스트 및 선택적 유효성 검사 프로세스를 용이하게 합니다. 이 구조에는 교육을 위한 별도의 디렉터리(train) 및 테스트(test) 단계, 유효성 검사를 위한 선택적 디렉토리(val).

이러한 각 디렉터리에는 데이터 세트의 각 클래스에 대해 하나의 하위 디렉터리가 포함되어야 합니다. 하위 디렉터리는 해당 클래스의 이름을 따서 명명되며 해당 클래스에 대한 모든 이미지를 포함합니다. 각 이미지 파일의 이름은 고유하게 지정하고 JPEG 또는 PNG와 같은 공통 형식으로 저장해야 합니다.

폴더 구조 예시

CIFAR-10 데이터 집합을 예로 들어 보겠습니다. 폴더 구조는 다음과 같아야 합니다:

cifar-10-/
|
|-- train/
|   |-- airplane/
|   |   |-- 10008_airplane.png
|   |   |-- 10009_airplane.png
|   |   |-- ...
|   |
|   |-- automobile/
|   |   |-- 1000_automobile.png
|   |   |-- 1001_automobile.png
|   |   |-- ...
|   |
|   |-- bird/
|   |   |-- 10014_bird.png
|   |   |-- 10015_bird.png
|   |   |-- ...
|   |
|   |-- ...
|
|-- test/
|   |-- airplane/
|   |   |-- 10_airplane.png
|   |   |-- 11_airplane.png
|   |   |-- ...
|   |
|   |-- automobile/
|   |   |-- 100_automobile.png
|   |   |-- 101_automobile.png
|   |   |-- ...
|   |
|   |-- bird/
|   |   |-- 1000_bird.png
|   |   |-- 1001_bird.png
|   |   |-- ...
|   |
|   |-- ...
|
|-- val/ (optional)
|   |-- airplane/
|   |   |-- 105_airplane.png
|   |   |-- 106_airplane.png
|   |   |-- ...
|   |
|   |-- automobile/
|   |   |-- 102_automobile.png
|   |   |-- 103_automobile.png
|   |   |-- ...
|   |
|   |-- bird/
|   |   |-- 1045_bird.png
|   |   |-- 1046_bird.png
|   |   |-- ...
|   |
|   |-- ...

이러한 구조화된 접근 방식은 모델이 훈련 단계에서 잘 구성된 클래스를 통해 효과적으로 학습하고 테스트 및 검증 단계에서 성능을 정확하게 평가할 수 있도록 합니다.

사용법

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="path/to/dataset", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo classify train data=path/to/data model=yolo11n-cls.pt epochs=100 imgsz=640

지원되는 데이터 세트

Ultralytics 는 자동 다운로드를 통해 다음과 같은 데이터 세트를 지원합니다:

  • Caltech 101: 이미지 분류 작업을 위한 101개 객체 카테고리의 이미지가 포함된 데이터 세트입니다.
  • Caltech 256: 256개의 개체 범주와 더 어려운 이미지가 포함된 Caltech 101의 확장 버전입니다.
  • CIFAR-10: 10개의 클래스로 구성된 60K 32x32 컬러 이미지 데이터 세트(클래스당 6K 이미지)입니다.
  • CIFAR-100: 100개의 객체 카테고리와 클래스당 600개의 이미지가 포함된 CIFAR-10의 확장 버전입니다.
  • Fashion-MNIST: 이미지 분류 작업을 위한 10가지 패션 카테고리의 70,000개의 흑백 이미지로 구성된 데이터 세트입니다.
  • ImageNet: 1,400만 개 이상의 이미지와 20,000개 이상의 카테고리가 포함된 물체 감지 및 이미지 분류를 위한 대규모 데이터 세트입니다.
  • ImageNet-10: 더 빠른 실험과 테스트를 위해 10개의 카테고리로 구성된 ImageNet의 작은 하위 집합입니다.
  • 이미지넷: 더 빠른 교육과 테스트를 위해 쉽게 구분할 수 있는 10개의 클래스를 포함하는 ImageNet의 작은 하위 집합입니다.
  • 이미지 우프: 이미지 분류 작업을 위한 10가지 견종 카테고리를 포함하는 ImageNet의 더 까다로운 하위 집합입니다.
  • MNIST: 이미지 분류 작업을 위한 70,000개의 손으로 쓴 숫자로 구성된 회색조 이미지 데이터 세트입니다.
  • MNIST160: MNIST 데이터 세트에서 각 MNIST 카테고리의 첫 8개 이미지입니다. 데이터 세트에는 총 160개의 이미지가 포함되어 있습니다.

나만의 데이터 집합 추가하기

자체 데이터 세트가 있고 이를 Ultralytics YOLO 분류 모델을 훈련하는 데 사용하려는 경우, 위의 '데이터 세트 구조'에 지정된 형식을 따르는지 확인한 다음, 데이터 세트가 다음과 같이 구성되어 있는지 확인하고 data 인수를 데이터세트 디렉터리에 추가합니다.

자주 묻는 질문

YOLO 분류 작업을 위해 데이터 집합을 어떻게 구성하나요?

Ultralytics YOLO 분류 작업을 위해 데이터 집합을 구성하려면 특정 분할 디렉터리 형식을 따라야 합니다. 데이터 집합을 다음과 같은 별도의 디렉터리로 구성합니다. train, test및 선택적으로 val. 이러한 각 디렉터리에는 각 클래스의 이름을 딴 하위 디렉터리가 있어야 하며, 그 안에 해당 이미지가 들어 있어야 합니다. 이렇게 하면 교육 및 평가 프로세스를 원활하게 진행할 수 있습니다. 예를 들어 CIFAR-10 데이터 세트 형식입니다:

cifar-10-/
|-- train/
|   |-- airplane/
|   |-- automobile/
|   |-- bird/
|   ...
|-- test/
|   |-- airplane/
|   |-- automobile/
|   |-- bird/
|   ...
|-- val/ (optional)
|   |-- airplane/
|   |-- automobile/
|   |-- bird/
|   ...

자세한 내용은 YOLO 분류 작업을 위한 데이터 세트 구조 섹션을 참조하세요.

이미지 분류를 위해 Ultralytics YOLO 에서 지원하는 데이터 세트는 무엇인가요?

Ultralytics YOLO 이미지 분류를 위한 여러 데이터 세트의 자동 다운로드를 지원하며, 여기에는 Caltech 101, Caltech 256, CIFAR-10, CIFAR-100, Fashion-MNIST, ImageNet, ImageNet-10, Imagenette, ImagewoofMNIST가 포함됩니다. 이러한 데이터 세트는 YOLO 쉽게 사용할 수 있도록 구조화되어 있습니다. 각 데이터 세트의 페이지에서 그 구조와 활용에 대한 자세한 내용을 확인할 수 있습니다.

YOLO 이미지 분류를 위해 나만의 데이터세트를 추가하려면 어떻게 해야 하나요?

자체 데이터셋을 사용하려면 Ultralytics YOLO , 분류 작업에 필요한 지정된 디렉터리 형식을 따르고 별도의 train, test및 선택적으로 val 디렉터리와 각 이미지가 포함된 각 클래스의 하위 디렉터리를 지정합니다. 데이터 세트가 올바르게 구조화되면 데이터 세트의 data 인수를 데이터 세트의 루트 디렉터리에 추가합니다. 다음은 Python 에 있는 예제입니다:

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="path/to/your/dataset", epochs=100, imgsz=640)

자세한 내용은 나만의 데이터 세트 추가하기 섹션에서 확인할 수 있습니다.

이미지 분류에 Ultralytics YOLO 을 사용해야 하는 이유는 무엇인가요?

Ultralytics YOLO 는 이미지 분류에 다음과 같은 여러 가지 이점을 제공합니다:

  • 사전 학습된 모델: 다음과 같이 사전 학습된 모델을 로드합니다. yolo11n-cls.pt 를 클릭해 교육 과정을 시작하세요.
  • 사용 편의성: 교육 및 평가를 위한 간단한 API 및 CLI 명령어.
  • 고성능: 최첨단 정확도와 속도로 실시간 애플리케이션에 이상적입니다.
  • 여러 데이터 세트 지원: CIFAR-10, ImageNet 등 다양한 인기 데이터 세트와 원활하게 통합됩니다.
  • 커뮤니티 및 지원: 광범위한 문서와 문제 해결 및 개선을 위한 활발한 커뮤니티에 액세스할 수 있습니다.

추가 인사이트와 실제 적용 사례에 대한 자세한 내용은 Ultralytics YOLO.

Ultralytics YOLO 을 사용하여 모델을 훈련하려면 어떻게 해야 하나요?

Ultralytics YOLO 을 사용하여 모델을 훈련하는 것은 Python 과 CLI 에서 모두 쉽게 수행할 수 있습니다:

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.pt")  # load a pretrained model

# Train the model
results = model.train(data="path/to/dataset", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo classify train data=path/to/data model=yolo11n-cls.pt epochs=100 imgsz=640

이 예는 두 가지 접근 방식을 사용하여 YOLO 모델을 훈련하는 간단한 과정을 보여줍니다. 자세한 내용은 사용법 섹션과 분류 작업 훈련 페이지를 참조하세요.

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

댓글