콘텐츠로 건너뛰기

객체 감지 데이터 세트 개요

강력하고 정확한 객체 감지 모델을 훈련하려면 포괄적인 데이터 세트가 필요합니다. 이 가이드에서는 Ultralytics YOLO 모델과 호환되는 다양한 형식의 데이터셋을 소개하고 그 구조, 사용법, 서로 다른 형식 간 변환 방법에 대한 인사이트를 제공합니다.

지원되는 데이터 세트 형식

Ultralytics YOLO 형식

Ultralytics YOLO 형식은 데이터 세트 구성 형식으로, 데이터 세트 루트 디렉터리, 트레이닝/검증/테스트 이미지 디렉터리의 상대 경로 또는 *.txt 파일과 이미지 경로가 포함된 클래스 이름 사전이 있습니다. 다음은 예시입니다:

# 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/coco8 # dataset root dir (absolute or relative; if relative, it's relative to default datasets_dir)
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 images
test: # test images (optional)

# Classes (80 COCO classes)
names:
    0: person
    1: bicycle
    2: car
    # ...
    77: teddy bear
    78: hair drier
    79: toothbrush

이 형식의 레이블은 YOLO 형식으로 내보내야 합니다. *.txt 파일을 추가합니다. 이미지에 객체가 없는 경우에는 *.txt 파일이 필요합니다. 파일은 *.txt 파일은 객체당 한 행으로 포맷해야 합니다. class x_center y_center width height 형식이어야 합니다. 상자 좌표는 정규화된 xywh 형식(0에서 1까지)을 사용해야 합니다. 상자가 픽셀 단위인 경우 다음을 나누어야 합니다. x_center 그리고 width 를 이미지 너비로, 그리고 y_center 그리고 height 를 이미지 높이별로 정렬합니다. 클래스 번호는 0으로 시작하는 영 인덱스여야 합니다.

레이블이 지정된 이미지 예시

위 이미지에 해당하는 라벨 파일에는 2인(클래스 0) 및 동점(클래스 27):

레이블 파일 예시

Ultralytics YOLO 형식을 사용하는 경우 아래 COCO8 데이터 세트 예시와 같이 트레이닝 및 유효성 검사 이미지와 레이블을 구성합니다.

데이터 세트 디렉터리 구조 예시

사용법

이러한 형식을 사용하여 모델을 훈련하는 방법은 다음과 같습니다:

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="coco8.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640

지원되는 데이터 세트

다음은 지원되는 데이터 세트 목록과 각 데이터 세트에 대한 간략한 설명입니다:

  • Argoverse: 풍부한 주석이 포함된 도시 환경의 3D 추적 및 모션 예측 데이터가 포함된 데이터 세트입니다.
  • COCO: 컨텍스트 내 공통 개체(COCO)는 80개의 개체 범주로 구성된 대규모 개체 감지, 세분화 및 캡션 데이터 세트입니다.
  • LVIS: 1203개의 객체 카테고리가 포함된 대규모 객체 감지, 세분화 및 캡션 데이터 세트입니다.
  • COCO8: 빠른 테스트에 적합한 COCO train 및 COCO val의 처음 4개 이미지의 작은 하위 집합입니다.
  • COCO128: 테스트에 적합한 COCO train 및 COCO val의 첫 128개 이미지의 작은 하위 집합입니다.
  • 글로벌 밀 2020: 글로벌 밀 챌린지 2020의 밀 머리 이미지가 포함된 데이터 세트입니다.
  • Objects365: 365개의 물체 카테고리와 60만 개 이상의 주석이 달린 이미지가 포함된 고품질의 대규모 물체 감지 데이터 세트입니다.
  • OpenImagesV7: 170만 개의 열차 이미지와 4만 2천 개의 유효성 검사 이미지가 포함된 Google 의 포괄적인 데이터 세트입니다.
  • SKU-110K: 11K 개 이상의 이미지와 170만 개의 경계 상자로 구성된 소매 환경에서의 고밀도 물체 감지 기능을 갖춘 데이터 세트입니다.
  • VisDrone: 10K 이상의 이미지와 비디오 시퀀스가 포함된 드론으로 캡처한 이미지의 객체 감지 및 다중 객체 추적 데이터가 포함된 데이터 세트입니다.
  • VOC: 20개의 객체 클래스와 11,000개 이상의 이미지가 포함된 객체 감지 및 분할을 위한 파스칼 시각 객체 클래스(VOC) 데이터 세트입니다.
  • xView: 60개의 객체 카테고리와 100만 개 이상의 주석이 달린 오버헤드 이미지에서 객체를 감지하기 위한 데이터 세트입니다.
  • Roboflow 100: 포괄적인 모델 평가를 위해 7개 이미지 도메인에 걸쳐 100개의 데이터 세트를 포함하는 다양한 물체 감지 벤치마크입니다.
  • 뇌종양: 뇌종양을 감지하기 위한 데이터 세트에는 종양의 존재 여부, 위치 및 특성에 대한 세부 정보가 포함된 MRI 또는 CT 스캔 이미지가 포함됩니다.
  • 아프리카 야생동물: 버팔로, 코끼리, 코뿔소, 얼룩말 등 아프리카 야생동물의 이미지가 포함된 데이터 세트입니다.
  • 서명: 서명: 주석이 달린 서명이 있는 다양한 문서 이미지로 구성된 데이터 세트로, 문서 검증 및 사기 탐지 연구를 지원합니다.
  • 의료용 알약: 의약품 품질 보증, 알약 분류 및 규정 준수와 같은 애플리케이션을 위해 주석이 달린 의료용 알약 이미지가 포함된 데이터 세트입니다.

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

자체 데이터 세트가 있고 이를 Ultralytics YOLO 형식으로 탐지 모델 학습에 사용하려는 경우, 위의 "Ultralytics YOLO 형식"에 지정된 형식을 따르는지 확인하세요. 어노테이션을 필요한 형식으로 변환하고 YAML 구성 파일에 경로, 클래스 수, 클래스 이름을 지정하세요.

라벨 형식 포트 또는 변환

COCO 데이터 세트 형식을 YOLO 형식으로 변환

다음 코드 스니펫을 사용하여 널리 사용되는 COCO 데이터 세트 형식의 레이블을 YOLO 형식으로 쉽게 변환할 수 있습니다:

from ultralytics.data.converter import convert_coco

convert_coco(labels_dir="path/to/coco/annotations/")

이 변환 도구는 COCO 데이터 세트 또는 COCO 형식의 모든 데이터 세트를 Ultralytics YOLO 형식으로 변환하는 데 사용할 수 있습니다. 이 프로세스는 JSON 기반 COCO 주석을 더 간단한 텍스트 기반 YOLO 형식으로 변환하여 Ultralytics YOLO 모델과 호환되도록 합니다.

사용하려는 데이터 세트가 모델과 호환되는지, 필요한 형식 규칙을 따르고 있는지 다시 한 번 확인하는 것을 잊지 마세요. 올바른 형식의 데이터 세트는 성공적인 객체 감지 모델을 훈련하는 데 매우 중요합니다.

자주 묻는 질문

Ultralytics YOLO 데이터 세트 형식이란 무엇이며 어떻게 구성하나요?

Ultralytics YOLO 형식은 트레이닝 프로젝트에서 데이터 세트를 정의하기 위한 구조화된 구성입니다. 여기에는 트레이닝, 유효성 검사 및 테스트 이미지와 해당 레이블에 대한 경로 설정이 포함됩니다. 예를 들어

path: ../datasets/coco8 # dataset root directory
train: images/train # training images (relative to 'path')
val: images/val # validation images (relative to 'path')
test: # optional test images
names:
    0: person
    1: bicycle
    2: car
    # ...

레이블은 다음 위치에 저장됩니다. *.txt 파일은 이미지당 하나의 파일로, 형식은 class x_center y_center width height 를 정규화된 좌표로 변환합니다. 자세한 가이드는 COCO8 데이터 세트 예시.

COCO 데이터셋을 YOLO 형식으로 변환하려면 어떻게 하나요?

Ultralytics 변환 도구를 사용하여 COCO 데이터 집합을 YOLO 형식으로 변환할 수 있습니다. 다음은 빠른 방법입니다:

from ultralytics.data.converter import convert_coco

convert_coco(labels_dir="path/to/coco/annotations/")

이 코드는 COCO 주석을 YOLO 형식으로 변환하여 Ultralytics YOLO 모델과 원활하게 통합할 수 있도록 합니다. 자세한 내용은 포트 또는 라벨 형식 변환 섹션을 참조하세요.

객체 감지를 위해 Ultralytics YOLO 에서 지원하는 데이터 세트는 무엇인가요?

Ultralytics YOLO 를 포함한 다양한 데이터 세트를 지원합니다:

각 데이터 세트 페이지에서는 효율적인 YOLO11 교육을 위한 구조와 사용법에 대한 자세한 정보를 제공합니다. 지원되는 데이터 세트 섹션에서 전체 목록을 살펴보세요.

내 데이터 집합을 사용하여 YOLO11 모델 학습을 시작하려면 어떻게 해야 하나요?

YOLO11 모델 학습을 시작하려면 데이터 세트의 형식이 올바르게 지정되어 있고 경로가 YAML 파일에 정의되어 있는지 확인합니다. 다음 스크립트를 사용하여 훈련을 시작합니다:

from ultralytics import YOLO

model = YOLO("yolo11n.pt")  # Load a pretrained model
results = model.train(data="path/to/your_dataset.yaml", epochs=100, imgsz=640)
yolo detect train data=path/to/your_dataset.yaml model=yolo11n.pt epochs=100 imgsz=640

CLI 명령어를 비롯한 다양한 모드 활용에 대한 자세한 내용은 사용 섹션을 참조하세요.

물체 감지를 위해 Ultralytics YOLO 을 사용하는 실제 사례는 어디에서 찾을 수 있나요?

Ultralytics 는 다양한 애플리케이션에서 YOLO11 을 사용하기 위한 수많은 예제와 실용적인 가이드를 제공합니다. 종합적인 개요를 보려면 Ultralytics 블로그에서 객체 감지, 세분화 등을 보여주는 사례 연구, 자세한 자습서, 커뮤니티 스토리를 YOLO11 에서 확인하세요. 구체적인 예시는 설명서의 사용법 섹션을 참조하세요.

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

댓글