YOLO Vision 2026:

Tập dữ liệu COCO-Seg#

Dataset COCO-Seg cung cấp các mặt nạ phân đoạn thực thể COCO (Common Objects In Context) — 118.287 ảnh huấn luyện và 5.000 ảnh kiểm định với các mặt nạ đa giác qua 80 danh mục đối tượng — theo định dạng nhãn Ultralytics YOLO. Dataset này sử dụng các hình ảnh gốc và chú thích phân đoạn nguyên bản của COCO, đã được chuyển đổi để huấn luyện YOLO, trở thành một tài nguyên thiết yếu cho các nhà nghiên cứu và lập trình viên làm việc với các tác vụ phân đoạn thực thể.

Các Pretrained Model cho COCO-Seg#

Mô hìnhkích thước
(pixel)
mAPbox
50-95(e2e)
mAPmask
50-95(e2e)
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLO26n-seg64039.633.953.3 ± 0.52.1 ± 0.02.79.1
YOLO26s-seg64047.340.0118.4 ± 0.93.3 ± 0.010.434.2
YOLO26m-seg64052.544.1328.2 ± 2.46.7 ± 0.123.6121.5
YOLO26l-seg64054.445.5387.0 ± 3.78.0 ± 0.128.0139.8
YOLO26x-seg64056.547.0787.0 ± 6.816.4 ± 0.162.8313.5

Tính năng chính#

  • COCO-Seg cung cấp các mask instance segmentation cho 123.287 hình ảnh COCO train2017/val2017 được gắn nhãn (118.287 ảnh huấn luyện + 5.000 ảnh kiểm thử), nằm trong tập hợp khoảng ~330 nghìn hình ảnh rộng lớn hơn của COCO.
  • Tập dữ liệu bao gồm 80 danh mục đối tượng tương tự như trong tập dữ liệu COCO gốc.
  • Các chú thích cung cấp các mask instance segmentation ở định dạng nhãn đa giác YOLO.
  • COCO-Seg cung cấp các số liệu mAP và mAR tiêu chuẩn hóa để đánh giá hiệu suất của instance segmentation, cho phép so sánh hiệu quả hiệu suất của các model.
  • Dung lượng tải xuống: ~20,3 GB trong lần sử dụng đầu tiên (train2017.zip + val2017.zip + nhãn). Thư mục test2017.zip dung lượng 7 GB không được tải về tự động, vì các hình ảnh đó bị ẩn nhãn ground truth và chỉ cần thiết cho việc nộp bài test-dev2017.

Cấu trúc tập dữ liệu#

Tập dữ liệu COCO-Seg được chia thành ba tập con:

  1. Train2017: 118.287 hình ảnh để huấn luyện các model instance segmentation.
  2. Val2017: 5.000 hình ảnh được sử dụng để xác thực trong quá trình phát triển model.
  3. Test-dev2017: 20.288 trong số 40.670 ảnh test2017, được dùng để benchmark. Các chú thích ground truth cho tập con này không được công khai, vì vậy các dự đoán phải được gửi lên máy chủ đánh giá COCO để chấm điểm.

Đối với nhu cầu thử nghiệm quy mô nhỏ hơn, hãy xem các tập con COCO128-Seg (128 ảnh) và COCO8-Seg (8 ảnh).

Ứng dụng#

COCO-Seg được sử dụng rộng rãi để huấn luyện và đánh giá các mô hình deep learning cho tác vụ phân đoạn thực thể, chẳng hạn như các mô hình YOLO. Số lượng lớn ảnh có chú thích, sự đa dạng của các danh mục đối tượng và các số liệu đánh giá chuẩn hóa biến đây thành một tài nguyên không thể thiếu đối với các nhà nghiên cứu và kỹ sư computer vision. Toàn bộ chú thích của COCO-Seg cũng có thể được duyệt và quản lý trên Ultralytics Platform.

YAML tập dữ liệu#

Một file YAML được sử dụng để định nghĩa cấu hình dataset. Nó chứa thông tin về đường dẫn của dataset, các lớp và thông tin liên quan khác. Đối với dataset COCO-Seg, file coco.yaml được duy trì tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml.

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

# COCO 2017 dataset https://cocodataset.org by Microsoft
# Documentation: https://docs.ultralytics.com/datasets/detect/coco
# Example usage: yolo train data=coco.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco ← downloads here (20.3 GB)

# 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: coco # dataset root dir
train: train2017.txt # train images (relative to 'path') 118287 images
val: val2017.txt # val images (relative to 'path') 5000 images
test: test-dev2017.txt # 20288 of 40670 images, submit via https://cocodataset.org/#detection-eval

# 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: |
  from pathlib import Path

  from ultralytics.utils import ASSETS_URL
  from ultralytics.utils.downloads import download

  # Download labels
  segments = True  # segment or box labels
  dir = Path(yaml["path"])  # dataset root dir
  urls = [ASSETS_URL + ("/coco2017labels-segments.zip" if segments else "/coco2017labels.zip")]  # labels
  download(urls, dir=dir.parent)

  # Download data (test2017.zip excluded: ground truth is withheld, only used for the eval-server test-dev split)
  urls = [
      "http://images.cocodataset.org/zips/train2017.zip",  # 19G, 118k images
      "http://images.cocodataset.org/zips/val2017.zip",  # 1G, 5k images
  ]
  download(urls, dir=dir / "images", threads=3)

Cách sử dụng#

Để huấn luyện mô hình YOLO26n-seg trên dataset COCO-Seg trong 100 epoch với kích thước ảnh 640, bạn có thể sử dụng các đoạn code sau. Để xem danh sách đầy đủ các đối số khả dụng, hãy tham khảo trang Training của mô hình.

Ví dụ về Training
from ultralytics import YOLO

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

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

Hình ảnh mẫu và chú thích#

COCO-Seg chứa các hình ảnh đa dạng, danh mục đối tượng và cảnh phức tạp tương tự như COCO, với các mask instance segmentation được cung cấp ở định dạng nhãn YOLO. Dưới đây là một số ví dụ về hình ảnh từ tập dữ liệu, cùng với các mask instance segmentation tương ứng của chúng:

COCO segmentation dataset mosaic training batch

  • Ảnh Mosaic: Hình ảnh này minh họa một batch huấn luyện bao gồm các ảnh dataset được ghép mosaic. Mosaicing là một kỹ thuật được sử dụng trong quá trình huấn luyện nhằm kết hợp nhiều hình ảnh thành một ảnh duy nhất để tăng sự đa dạng về đối tượng và bối cảnh trong mỗi batch huấn luyện. Điều này giúp cải thiện khả năng tổng quát hóa của mô hình đối với các kích thước đối tượng, tỷ lệ khung hình và bối cảnh khác nhau.

Trích dẫn và Ghi nhận#

Nếu bạn sử dụng tập dữ liệu COCO-Seg trong công việc nghiên cứu hoặc phát triển của mình, vui lòng trích dẫn bài báo gốc về COCO và ghi nhận phần mở rộng COCO-Seg:

Trích dẫn
@misc{lin2015microsoft,
      title={Microsoft COCO: Common Objects in Context},
      author={Tsung-Yi Lin and Michael Maire and Serge Belongie and Lubomir Bourdev and Ross Girshick and James Hays and Pietro Perona and Deva Ramanan and C. Lawrence Zitnick and Piotr Dollár},
      year={2015},
      eprint={1405.0312},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Chúng tôi xin gửi lời cảm ơn đến COCO Consortium vì đã tạo ra và duy trì tài nguyên vô giá này cho cộng đồng computer vision. Để biết thêm thông tin về dataset COCO và những người sáng lập, hãy truy cập trang web dataset COCO.

Câu hỏi thường gặp#

  • COCO-Seg là gói định dạng Ultralytics YOLO của các mặt nạ phân đoạn thực thể nguyên bản từ COCO (Common Objects in Context) cho cùng 118.287 ảnh train2017 và 5.000 ảnh val2017. Các chú thích COCO gốc đã bao gồm các mặt nạ đa giác này cho tất cả 80 danh mục đối tượng; COCO-Seg chuyển đổi chúng sang định dạng nhãn YOLO dùng cho việc huấn luyện phân đoạn thực thể đối tượng.

  • Để huấn luyện mô hình YOLO26n-seg trên dataset COCO-Seg trong 100 epoch với kích thước ảnh 640, bạn có thể sử dụng các đoạn code sau. Để xem danh sách chi tiết các đối số huấn luyện khả dụng, hãy tham khảo trang Training của mô hình.

    Ví dụ về Training
    from ultralytics import YOLO
    
    # Load a model
    model = YOLO("yolo26n-seg.pt")  # load a pretrained model (recommended for training)
    
    # Train the model
    results = model.train(data="coco.yaml", epochs=100, imgsz=640)
  • Tập dữ liệu COCO-Seg bao gồm một số tính năng chính:

    • Cung cấp các mask instance segmentation cho 123.287 hình ảnh COCO train2017/val2017 được gắn nhãn (118.287 ảnh huấn luyện + 5.000 ảnh kiểm thử).
    • Ghi chú thích cho cùng 80 danh mục đối tượng được tìm thấy trong COCO gốc.
    • Cung cấp các mask instance segmentation ở định dạng nhãn đa giác YOLO.
    • Sử dụng các số liệu đánh giá chuẩn hóa như mean Average Precision (mAP) và mean Average Recall (mAR) cho các tác vụ phân đoạn thực thể.
  • Tập dữ liệu COCO-Seg hỗ trợ nhiều pretrained YOLO26 segmentation model với các chỉ số hiệu suất khác nhau. Dưới đây là tóm tắt các model khả dụng và các chỉ số chính của chúng:

    Mô hìnhkích thước
    (pixel)
    mAPbox
    50-95(e2e)
    mAPmask
    50-95(e2e)
    Tốc độ
    CPU ONNX
    (ms)
    Tốc độ
    T4 TensorRT10
    (ms)
    params
    (M)
    FLOPs
    (B)
    YOLO26n-seg64039.633.953.3 ± 0.52.1 ± 0.02.79.1
    YOLO26s-seg64047.340.0118.4 ± 0.93.3 ± 0.010.434.2
    YOLO26m-seg64052.544.1328.2 ± 2.46.7 ± 0.123.6121.5
    YOLO26l-seg64054.445.5387.0 ± 3.78.0 ± 0.128.0139.8
    YOLO26x-seg64056.547.0787.0 ± 6.816.4 ± 0.162.8313.5

    Các mô hình này dao động từ YOLO26n-seg gọn nhẹ đến YOLO26x-seg mạnh mẽ hơn, mang lại các mức đánh đổi khác nhau giữa tốc độ và độ chính xác để phù hợp với các yêu cầu ứng dụng khác nhau. Để biết thêm thông tin về lựa chọn mô hình, hãy truy cập trang mô hình Ultralytics.

  • Tập dữ liệu COCO-Seg được chia thành ba tập con cho các nhu cầu huấn luyện và đánh giá cụ thể:

    1. Train2017: Chứa 118.287 hình ảnh được sử dụng chủ yếu để huấn luyện các model instance segmentation.
    2. Val2017: Bao gồm 5.000 hình ảnh được sử dụng để xác thực trong quá trình huấn luyện.
    3. Test-dev2017: Bao gồm 20.288 trong số 40.670 ảnh test2017 được dành riêng để kiểm thử và benchmark các mô hình đã huấn luyện. Lưu ý rằng các chú thích ground truth cho tập con này không được công khai và kết quả hiệu suất được gửi lên máy chủ đánh giá COCO để đánh giá.

    Đối với nhu cầu thử nghiệm quy mô nhỏ hơn, bạn cũng có thể cân nhắc dataset COCO128-Seg (128 ảnh) hoặc dataset COCO8-Seg, một phiên bản rút gọn chỉ chứa 8 ảnh từ tập COCO train 2017.

Bình luận