Meet YOLO26: next-gen vision AI.

Link to this section객체 탐지 데이터셋 개요#

견고하고 정확한 객체 탐지 모델을 학습시키려면 포괄적인 데이터셋이 필요합니다. 이 가이드에서는 Ultralytics YOLO 모델과 호환되는 다양한 데이터셋 형식을 소개하고, 그 구조와 사용법, 그리고 형식 간 변환 방법에 대한 정보를 제공합니다.

Link to this section지원되는 데이터셋 형식#

Link to this sectionUltralytics YOLO 형식#

Ultralytics YOLO 형식은 데이터셋 루트 디렉토리, 학습/검증/테스트 이미지 디렉토리 또는 이미지 경로가 포함된 *.txt 파일에 대한 상대 경로, 그리고 클래스 이름 딕셔너리를 정의할 수 있는 데이터셋 구성 형식입니다. 다음은 예시입니다:

ultralytics/cfg/datasets/coco8.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# COCO8 dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco8/
# Example usage: yolo train data=coco8.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco8 ← downloads here (1 MB)

# 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: coco8 # dataset root 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
names:
  0: person
  1: bicycle
  2: car
  3: motorcycle
  4: airplane
  5: bus
  6: train
  7: truck
  8: boat
  9: traffic light
  10: fire hydrant
  11: stop sign
  12: parking meter
  13: bench
  14: bird
  15: cat
  16: dog
  17: horse
  18: sheep
  19: cow
  20: elephant
  21: bear
  22: zebra
  23: giraffe
  24: backpack
  25: umbrella
  26: handbag
  27: tie
  28: suitcase
  29: frisbee
  30: skis
  31: snowboard
  32: sports ball
  33: kite
  34: baseball bat
  35: baseball glove
  36: skateboard
  37: surfboard
  38: tennis racket
  39: bottle
  40: wine glass
  41: cup
  42: fork
  43: knife
  44: spoon
  45: bowl
  46: banana
  47: apple
  48: sandwich
  49: orange
  50: broccoli
  51: carrot
  52: hot dog
  53: pizza
  54: donut
  55: cake
  56: chair
  57: couch
  58: potted plant
  59: bed
  60: dining table
  61: toilet
  62: tv
  63: laptop
  64: mouse
  65: remote
  66: keyboard
  67: cell phone
  68: microwave
  69: oven
  70: toaster
  71: sink
  72: refrigerator
  73: book
  74: clock
  75: vase
  76: scissors
  77: teddy bear
  78: hair drier
  79: toothbrush

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8.zip

이 형식의 라벨은 이미지당 하나의 *.txt 파일로 YOLO 형식으로 내보내야 합니다. 이미지에 객체가 없으면 *.txt 파일은 필요하지 않습니다. *.txt 파일은 객체당 한 행씩 class x_center y_center width height 형식으로 작성해야 합니다. 박스 좌표는 정규화된 xywh(0에서 1 사이) 형식이어야 합니다. 박스 좌표가 픽셀 단위인 경우 x_centerwidth를 이미지 너비로, y_centerheight를 이미지 높이로 나누어야 합니다. 클래스 번호는 0부터 시작하는 제로 인덱스여야 합니다.

YOLO labeled image with bounding boxes on persons and tie

위 이미지에 해당하는 라벨 파일에는 2명의 사람(클래스 0)과 넥타이 1개(클래스 27)가 포함되어 있습니다:

YOLO format label file with normalized coordinates

Ultralytics YOLO 형식을 사용할 때는 아래의 COCO8 데이터셋 예시와 같이 학습 및 검증 이미지와 라벨을 구성하십시오.

YOLO dataset directory structure with train and val folders

Link to this section사용 예시#

YOLO 형식 데이터셋을 사용하여 모델을 학습시키는 방법은 다음과 같습니다:

예시
from ultralytics import YOLO

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

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

Link to this sectionUltralytics NDJSON 형식#

NDJSON(Newline Delimited JSON) 형식은 Ultralytics YOLO 모델을 위한 데이터셋을 정의하는 또 다른 방법을 제공합니다. 이 형식은 데이터셋 메타데이터와 주석을 단일 파일에 저장하며, 각 줄에는 별도의 JSON 객체가 포함됩니다.

NDJSON 데이터셋 파일 구성 요소:

  1. 데이터셋 레코드(첫 번째 줄): 작업 유형, 클래스 이름 및 일반 정보를 포함하는 데이터셋 메타데이터를 포함합니다.
  2. 이미지 레코드(이후 줄): 크기, 주석 및 파일 경로를 포함한 개별 이미지 데이터를 포함합니다.
NDJSON 예시
{
    "type": "dataset",
    "task": "detect",
    "name": "Example",
    "description": "COCO NDJSON example dataset",
    "url": "https://app.ultralytics.com/user/datasets/example",
    "class_names": { "0": "person", "1": "bicycle", "2": "car" },
    "bytes": 426342,
    "version": 0,
    "created_at": "2024-01-01T00:00:00Z",
    "updated_at": "2025-01-01T00:00:00Z"
}

Link to this section사용 예시#

YOLO26과 함께 NDJSON 데이터셋을 사용하려면 .ndjson 파일 경로를 지정하기만 하면 됩니다:

예시
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")

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

Link to this sectionNDJSON 형식의 장점#

  • 단일 파일: 모든 데이터셋 정보가 하나의 파일에 포함됨
  • 스트리밍: 메모리에 전체를 로드하지 않고 큰 데이터셋을 한 줄씩 처리 가능
  • 클라우드 통합: 클라우드 기반 학습을 위한 원격 이미지 URL 지원
  • 확장성: 사용자 정의 메타데이터 필드를 쉽게 추가 가능
  • 버전 관리: 단일 파일 형식이므로 git 및 버전 관리 시스템과 잘 호환됨

Link to this section지원되는 데이터셋#

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

  • African-wildlife: 버팔로, 코끼리, 코뿔소, 얼룩말 등 아프리카 야생 동물의 이미지를 포함하는 데이터셋입니다.
  • Argoverse: 풍부한 주석이 포함된 도시 환경의 3D 추적 및 모션 예측 데이터를 포함하는 데이터셋입니다.
  • Brain-tumor: 뇌종양 탐지를 위한 데이터셋으로, 종양의 존재 여부, 위치 및 특성에 대한 상세 정보가 포함된 MRI 또는 CT 스캔 이미지가 있습니다.
  • COCO: Common Objects in Context(COCO)는 80개 객체 범주를 가진 대규모 객체 탐지, 세그멘테이션 및 캡션 데이터셋입니다.
  • COCO8: 빠른 테스트에 적합하도록 COCO 학습 및 검증 이미지 중 처음 4개를 추출한 작은 데이터셋입니다.
  • COCO8-Grayscale: RGB를 그레이스케일로 변환하여 생성한 COCO8의 그레이스케일 버전으로, 단일 채널 모델 평가에 유용합니다.
  • COCO8-Multispectral: RGB 파장을 보간하여 생성한 10채널 다중 스펙트럼 COCO8 버전으로, 스펙트럼 인식 모델 평가에 유용합니다.
  • COCO12-Formats: 이미지 로딩 파이프라인 검증을 위해 지원되는 12가지 이미지 형식(AVIF, BMP, DNG, HEIC, JP2, JPEG, JPG, MPO, PNG, TIF, TIFF, WebP)을 포함하는 12장의 이미지로 구성된 테스트 데이터셋입니다.
  • COCO128: 테스트에 적합하도록 COCO train2017에서 처음 128장의 이미지를 추출한 소규모 서브셋입니다.
  • Construction-PPE: 안전모, 조끼, 장갑, 부츠, 고글과 같은 안전 장비가 라벨링된 건설 현장 근로자 데이터셋으로, 실제 규정 준수 모니터링을 위한 no_helmet, no_goggle과 같은 장비 미착용 주석도 포함합니다.
  • Global Wheat 2020: Global Wheat Challenge 2020을 위한 밀 이삭 이미지를 포함하는 데이터셋입니다.
  • HomeObjects-3K: 침대, 의자, TV 등을 포함한 실내 가구 데이터셋으로 스마트 홈 자동화, 로봇 공학, 증강 현실 및 실내 레이아웃 분석 애플리케이션에 이상적입니다.
  • KITTI: 스테레오, LiDAR 및 GPS/IMU 데이터가 포함된 실제 주행 환경 데이터셋으로, 여기서는 도시, 시골 및 고속도로 환경에서 자동차, 보행자, 자전거 이용자를 식별하는 2D 객체 탐지 작업에 사용됩니다.
  • LVIS: 1203개 객체 범주를 가진 대규모 객체 탐지, 세그멘테이션 및 캡션 데이터셋입니다.
  • Medical-pills: 제약 품질 보증, 알약 분류 및 규제 준수 애플리케이션을 위해 주석이 달린 알약 이미지 데이터셋입니다.
  • Objects365: 365개 객체 범주와 60만 개 이상의 주석이 달린 이미지를 포함하는 고품질 대규모 객체 탐지 데이터셋입니다.
  • OpenImagesV7: Google에서 제공하는 170만 개의 학습 이미지와 4만 2천 개의 검증 이미지가 포함된 포괄적인 데이터셋입니다.
  • Roboflow 100: 포괄적인 모델 평가를 위해 7개 이미지 도메인에 걸친 100개 데이터셋을 포함하는 다양한 객체 탐지 벤치마크입니다.
  • Signature: 서명이 주석으로 달린 다양한 문서 이미지를 포함하여 문서 확인 및 부정 탐지 연구를 지원하는 데이터셋입니다.
  • SKU-110K: 1만 1천 개 이상의 이미지와 170만 개의 경계 상자를 포함하여 소매 환경에서의 밀집 객체 탐지에 특화된 데이터셋입니다.
  • TT100K: 10만 개의 거리 뷰 이미지와 3만 개 이상의 주석이 달린 교통 표지판을 포함하는 Tsinghua-Tencent 100K(TT100K) 교통 표지판 데이터셋으로 견고한 탐지 및 분류를 지원합니다.
  • VisDrone: 1만 개 이상의 이미지와 비디오 시퀀스를 포함하는 드론 촬영 객체 탐지 및 다중 객체 추적 데이터셋입니다.
  • VOC: 20개 객체 클래스와 1만 1천 개 이상의 이미지를 포함하는 객체 탐지 및 세그멘테이션용 Pascal Visual Object Classes(VOC) 데이터셋입니다.
  • xView: 60개 객체 범주와 100만 개 이상의 주석이 달린 객체를 포함하는 항공 이미지 객체 탐지 데이터셋입니다.

Link to this section자신만의 데이터셋 추가하기#

자체 데이터셋을 보유하고 있으며 이를 Ultralytics YOLO 형식으로 객체 탐지 모델 학습에 사용하려는 경우, 위에서 명시된 "Ultralytics YOLO 형식"을 따르는지 확인하십시오. 주석을 필요한 형식으로 변환하고 YAML 구성 파일에 경로, 클래스 수 및 클래스 이름을 지정하십시오.

Link to this section라벨 형식 포팅 또는 변환#

Link to this sectionCOCO 데이터셋 형식을 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 모델과 호환되게 만듭니다.

사용하려는 데이터셋이 모델과 호환되며 필요한 형식 규칙을 따르는지 다시 한 번 확인하십시오. 올바르게 형식화된 데이터셋은 성공적인 객체 탐지 모델 학습에 매우 중요합니다.

Link to this sectionFAQ#

Link to this sectionUltralytics YOLO 데이터셋 형식이란 무엇이며 어떻게 구성하나요?#

Ultralytics YOLO 형식은 학습 프로젝트에서 데이터셋을 정의하기 위한 구조화된 구성입니다. 학습, 검증, 테스트 이미지 및 해당 라벨에 대한 경로를 설정하는 것이 포함됩니다. 예를 들어:

# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# COCO8 dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco8/
# Example usage: yolo train data=coco8.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco8 ← downloads here (1 MB)

# 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: coco8 # dataset root 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
names:
  0: person
  1: bicycle
  2: car
  3: motorcycle
  4: airplane
  5: bus
  6: train
  7: truck
  8: boat
  9: traffic light
  10: fire hydrant
  11: stop sign
  12: parking meter
  13: bench
  14: bird
  15: cat
  16: dog
  17: horse
  18: sheep
  19: cow
  20: elephant
  21: bear
  22: zebra
  23: giraffe
  24: backpack
  25: umbrella
  26: handbag
  27: tie
  28: suitcase
  29: frisbee
  30: skis
  31: snowboard
  32: sports ball
  33: kite
  34: baseball bat
  35: baseball glove
  36: skateboard
  37: surfboard
  38: tennis racket
  39: bottle
  40: wine glass
  41: cup
  42: fork
  43: knife
  44: spoon
  45: bowl
  46: banana
  47: apple
  48: sandwich
  49: orange
  50: broccoli
  51: carrot
  52: hot dog
  53: pizza
  54: donut
  55: cake
  56: chair
  57: couch
  58: potted plant
  59: bed
  60: dining table
  61: toilet
  62: tv
  63: laptop
  64: mouse
  65: remote
  66: keyboard
  67: cell phone
  68: microwave
  69: oven
  70: toaster
  71: sink
  72: refrigerator
  73: book
  74: clock
  75: vase
  76: scissors
  77: teddy bear
  78: hair drier
  79: toothbrush

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8.zip

라벨은 이미지당 하나씩 *.txt 파일에 저장되며, 정규화된 좌표를 사용하여 class x_center y_center width height 형식으로 작성됩니다. 자세한 가이드는 COCO8 데이터셋 예시를 참조하십시오.

Link to this sectionCOCO 데이터셋을 YOLO 형식으로 어떻게 변환하나요?#

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

from ultralytics.data.converter import convert_coco

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

이 코드는 COCO 주석을 YOLO 형식으로 변환하여 Ultralytics YOLO 모델과 원활하게 통합할 수 있도록 해줍니다. 자세한 내용은 라벨 형식 포팅 또는 변환 섹션을 방문하십시오.

Link to this sectionUltralytics YOLO는 객체 탐지를 위해 어떤 데이터셋을 지원하나요?#

Ultralytics YOLO는 다음을 포함하여 광범위한 데이터셋을 지원합니다:

각 데이터셋 페이지는 효율적인 YOLO26 학습에 맞춰진 구조와 사용법에 대한 자세한 정보를 제공합니다. 전체 목록은 지원되는 데이터셋 섹션에서 확인하십시오.

Link to this section자체 데이터셋을 사용하여 YOLO26 모델 학습을 시작하려면 어떻게 해야 하나요?#

YOLO26 모델 학습을 시작하려면 데이터셋 형식이 올바른지 확인하고 YAML 파일에 경로가 정의되어 있는지 확인하십시오. 다음 스크립트를 사용하여 학습을 시작하십시오:

예시
from ultralytics import YOLO

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

CLI 명령을 포함한 다양한 모드 활용에 대한 자세한 내용은 사용 예시 섹션을 참조하십시오.

Link to this section객체 탐지를 위해 Ultralytics YOLO를 사용하는 실용적인 예제는 어디서 찾을 수 있나요?#

Ultralytics는 다양한 애플리케이션에서 YOLO26을 사용하는 방법에 대한 수많은 예제와 실용적인 가이드를 제공합니다. 포괄적인 개요를 보려면 Ultralytics 블로그를 방문하여 YOLO26을 사용한 객체 탐지, 세그멘테이션 등을 보여주는 사례 연구, 상세 튜토리얼 및 커뮤니티 스토리를 확인하십시오. 특정 예제는 문서의 사용 섹션을 확인하십시오.

댓글