YOLO Format Format Guide

    用於 YOLO 物件偵測模型的標註格式

    Annotation

    Specification

    YOLO 標註格式是一種簡單的基於文字的標記格式,用於訓練 YOLO(You Only Look Once)物件偵測模型。資料集中的每張影像都有一個對應的 .txt 標註檔案,具有相同的基本名稱。標註檔案中的每行代表一個邊界框,包含五個以空格分隔的值:類別索引(整數)、x 中心座標、y 中心座標、框寬度和框高度。所有座標都歸一化到 [0, 1] 範圍,相對於影像尺寸。

    歸一化慣例意味著 x 中心和寬度除以影像寬度,而 y 中心和高度除以影像高度。這使標註與解析度無關——無論影像是否被調整大小,相同的標註檔案都能正確工作。類別索引是一個從零開始的整數,映射到在單獨配置檔案(通常是 data.yaml)中定義的類別名稱。沒有物件的影像有一個空的標註檔案或沒有標註檔案。

    對於分割任務,YOLO 格式擴展到多邊形標註,其中每行包含類別索引後跟定義多邊形頂點的 x,y 座標對。對於定向邊界框(OBB),格式使用類別索引後跟四個 x,y 角點對。對於姿態估計,關鍵點在邊界框之後追加,作為每個關鍵點的 x,y,visibility 三元組。Ultralytics YOLOv8 框架已在偵測、分割、分類、姿態估計和定向邊界框任務中標準化了這些擴展格式。

    When to Use YOLO Format

    當訓練 YOLO 系列中的任何模型時,請使用 YOLO 格式——YOLOv5、YOLOv7、YOLOv8、YOLOv9、YOLOv10、YOLO11 或透過 Ultralytics 框架的 RT-DETR。YOLO 是即時應用中最流行的物件偵測架構,標註格式受到所有主要標記工具的支援,包括 Label Studio、CVAT、Roboflow、Labelbox 和 V7。如果您的用例涉及即時物件偵測,YOLO 格式和訓練管線可能是最快的部署路徑。

    當您的工作流程以 YOLO 系列模型為中心且您偏好每張影像一個文字檔案的簡潔性時,選擇 YOLO 格式而非 COCO 格式。YOLO 格式更容易手動檢查、編輯和版本控制,因為每個標註是一個小文字檔案,而不是一個大型 JSON。它也避免了 COCO 巢狀 JSON 結構的複雜性,後者具有單獨的類別、標註和影像字典。

    當您需要儲存豐富的標註中繼資料(標註者 ID、信心分數、標註時間戳)、當您的任務需要超出 YOLO 多邊形格式支援的非矩形標註,或當您訓練的模型在 YOLO 系列之外且期望 COCO、VOC 或其他標註格式時,YOLO 格式不太適合。

    Schema / Structure

    text
    YOLO Detection Format (per line):
    <class_id> <x_center> <y_center> <width> <height>
    
    Where:
      class_id  - Integer class index (0-based)
      x_center  - Bounding box center X (normalized 0.0-1.0)
      y_center  - Bounding box center Y (normalized 0.0-1.0)
      width     - Bounding box width (normalized 0.0-1.0)
      height    - Bounding box height (normalized 0.0-1.0)
    
    YOLO Segmentation Format (per line):
    <class_id> <x1> <y1> <x2> <y2> ... <xn> <yn>
    
    Dataset Directory Structure:
    dataset/
    ├── data.yaml            # Class names and paths
    ├── train/
    │   ├── images/
    │   │   ├── img001.jpg
    │   │   └── img002.jpg
    │   └── labels/
    │       ├── img001.txt
    │       └── img002.txt
    ├── val/
    │   ├── images/
    │   └── labels/
    └── test/
        ├── images/
        └── labels/
    YOLO 標註格式規格,包含偵測、分割和目錄結構

    Example Data

    yaml
    # data.yaml - Dataset configuration
    path: ./dataset
    train: train/images
    val: val/images
    test: test/images
    names:
      0: person
      1: car
      2: bicycle
      3: traffic_light
    
    # --- labels/img001.txt ---
    # Two people and one car detected in the image
    0 0.4531 0.3275 0.1200 0.4500
    0 0.7125 0.4100 0.0950 0.3800
    1 0.2800 0.5500 0.3200 0.2800
    
    # --- labels/img002.txt ---
    # One bicycle and one traffic light
    2 0.6200 0.6800 0.1500 0.2200
    3 0.1500 0.1200 0.0400 0.0800
    物件偵測的 YOLO 資料集配置(data.yaml)和標註檔案

    Ertas Support

    Ertas Data Suite 支援 YOLO 格式資料集的電腦視覺訓練資料準備。您可以匯入 YOLO 格式的標註資料集、套用資料品質檢查(包括標註驗證,如驗證座標範圍、類別索引有效性和邊界框合理性),並匯出維護 YOLO 目錄結構的已清理資料集。PII 編輯可以套用於關聯的中繼資料檔案,同時保持標註完整性。

    Related Resources

    Ship AI that runs on your users' devices.

    Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.