콘텐츠로 건너뛰기

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

YOLO 분류 작업을 위한 데이터 세트 구조

다음을 위한 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의 더 작은 하위 세트입니다.
  • Imagenette: 더 빠른 학습 및 테스트를 위해 쉽게 구별할 수 있는 10개의 클래스를 포함하는 ImageNet의 더 작은 하위 세트입니다.
  • Imagewoof: 이미지 분류 작업을 위해 10개의 개 품종 범주를 포함하는 ImageNet의 더 어려운 하위 세트입니다.
  • MNIST: 이미지 분류 작업을 위해 손으로 쓴 숫자 70,000개의 흑백 이미지 데이터 세트입니다.
  • MNIST160: MNIST 데이터 세트의 각 MNIST 범주에서 처음 8개의 이미지입니다. 데이터 세트는 총 160개의 이미지를 포함합니다.

자체 데이터 세트 추가

자체 데이터 세트가 있고 Ultralytics YOLO를 사용하여 분류 모델을 학습하는 데 사용하려면 "데이터 세트 구조" 아래에 지정된 형식을 따르는지 확인한 다음 다음을 가리키십시오. data 학습 스크립트를 초기화할 때 데이터 세트 디렉터리에 대한 인수입니다.

FAQ

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년 전에 생성됨 ✏️ 5개월 전에 업데이트됨

댓글