Ultralytics YOLO27:

Dataset COCO-Seg#

Dataset COCO-Seg cung cấp mask instance segmentation của COCO (Các đối tượng phổ biến trong ngữ cảnh (COCO)) — 118.287 ảnh huấn luyện và 5.000 ảnh xác thực với mask polygon thuộc 80 danh mục object — theo định dạng nhãn Ultralytics YOLO. Dataset sử dụng ảnh gốc và annotation segmentation nguyên bản của COCO, được chuyển đổi để huấn luyện YOLO, khiến dataset trở thành tài nguyên quan trọng cho các nhà nghiên cứu và developer làm việc với các tác vụ instance segmentation.

Model Pretrained COCO-Seg#

Modelkí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.3
YOLO26s-seg64047.340.0118.4 ± 0.93.3 ± 0.010.434.5
YOLO26m-seg64052.544.1328.2 ± 2.46.7 ± 0.123.6121.7
YOLO26l-seg64054.445.5387.0 ± 3.78.0 ± 0.128.0140.1
YOLO26x-seg64056.547.0787.0 ± 6.816.4 ± 0.162.8314.0

Tính năng chính#

  • COCO-Seg cung cấp mask instance segmentation cho 123.287 ảnh COCO train2017/val2017 được gán nhãn (118.287 ảnh huấn luyện + 5.000 ảnh xác thực), trong tổng số khoảng ~330K ảnh của bản phát hành COCO rộng hơn.
  • Dataset bao gồm cùng 80 danh mục object như dataset COCO gốc.
  • Annotation cung cấp mask instance segmentation theo định dạng nhãn polygon YOLO.
  • COCO-Seg cung cấp các chỉ số mAP và mAR được chuẩn hóa để đánh giá hiệu năng instance segmentation, giúp so sánh hiệu quả hiệu năng của model.
  • Kích thước tải xuống: ~20.3 GB khi sử dụng lần đầu (train2017.zip + val2017.zip + nhãn). File test2017.zip dung lượng 7 GB không được tự động tải xuống, vì các ảnh này không công khai ground truth và chỉ cần thiết cho bài nộp test-dev2017.

Cấu trúc dataset#

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

  1. Train2017: 118.287 ảnh dùng để huấn luyện các model phân đoạn đối tượng.
  2. Val2017: 5.000 ảnh dùng để đánh giá trong quá trình phát triển model.
  3. Test-dev2017: 20.288 trong số 40.670 ảnh test2017, dùng để benchmark. Nhãn ground truth của tập con này không được công khai, vì vậy phải gửi dự đoán đến máy chủ đánh giá COCO để chấm điểm.

Để thử nghiệm với 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 model học sâu cho phân đoạn đối tượng, chẳng hạn như các model YOLO. Số lượng ảnh được gán nhãn lớn, sự đa dạng của các danh mục đối tượng và các chỉ số đánh giá được chuẩn hóa khiến bộ dữ liệu này trở thành tài nguyên không thể thiếu đối với các nhà nghiên cứu và chuyên gia thực hành thị giác máy tính. Bạn cũng có thể duyệt và quản lý toàn bộ nhãn COCO-Seg trên Ultralytics Platform.

YAML của dataset#

Tệp YAML được dùng để xác định cấu hình bộ dữ liệu. Tệp này chứa thông tin về đường dẫn, lớp và các thông tin liên quan khác của bộ dữ liệu. Với bộ dữ liệu COCO-Seg, tệp 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 model YOLO26n-seg trên bộ dữ liệu COCO-Seg trong 100 epoch với kích thước ảnh 640, bạn có thể dùng các đoạn mã sau. Để xem danh sách đầy đủ các tham số hiện có, hãy tham khảo trang Huấn luyện model.

Ví dụ huấn luyện
from ultralytics import YOLO

# Tải model
model = YOLO("yolo26n-seg.pt")  # tải model đã huấn luyện trước (được khuyến nghị khi huấn luyện)

# Huấn luyện model
results = model.train(data="coco.yaml", epochs=100, imgsz=640)

Hình ảnh mẫu và annotation#

COCO-Seg có cùng các ảnh đa dạng, danh mục đối tượng và cảnh phức tạp như COCO, đồng thời cung cấp mask phân đoạn đối tượng ở định dạng nhãn YOLO. Dưới đây là một số ảnh trong bộ dữ liệu cùng với các mask phân đoạn đối tượng tương ứng:

Lưới ảnh mosaic của batch huấn luyện bộ dữ liệu phân đoạn COCO

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

Trích dẫn và lời cảm ơn#

Nếu sử dụng bộ dữ liệu COCO-Seg trong nghiên cứu hoặc công việc phát triển, vui lòng trích dẫn bài báo COCO gốc 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 cảm ơn COCO Consortium đã tạo và duy trì tài nguyên vô giá này cho cộng đồng thị giác máy tính. Để biết thêm thông tin về bộ dữ liệu COCO và những người tạo ra bộ dữ liệu, hãy truy cập trang web bộ dữ liệu COCO.

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

  • COCO-Seg là gói dữ liệu mask phân đoạn đối tượng gốc của COCO (Các đối tượng phổ biến trong ngữ cảnh (COCO)) ở định dạng Ultralytics YOLO, dành cho cùng 118.287 ảnh train2017 và 5.000 ảnh val2017. Nhãn COCO gốc đã bao gồm các mask đa giác này cho cả 80 danh mục đối tượng; COCO-Seg chuyển đổi chúng sang định dạng nhãn YOLO dùng để huấn luyện phân đoạn đối tượng.

  • Để huấn luyện model YOLO26n-seg trên bộ dữ liệu COCO-Seg trong 100 epoch với kích thước ảnh 640, bạn có thể dùng các đoạn mã sau. Để xem danh sách chi tiết các tham số huấn luyện hiện có, hãy tham khảo trang Huấn luyện model.

    Ví dụ huấn luyện
    from ultralytics import YOLO
    
    # Tải model
    model = YOLO("yolo26n-seg.pt")  # tải model đã huấn luyện trước (được khuyến nghị khi huấn luyện)
    
    # Huấn luyện model
    results = model.train(data="coco.yaml", epochs=100, imgsz=640)
  • Bộ dữ liệu COCO-Seg có một số tính năng chính:

    • Cung cấp mask phân đoạn đối tượng cho 123.287 ảnh COCO train2017/val2017 được gán nhãn (118.287 train + 5.000 val).
    • Gán nhãn cho cùng 80 danh mục đối tượng có trong COCO gốc.
    • Cung cấp mask phân đoạn đối tượng ở định dạng nhãn đa giác YOLO.
    • Sử dụng các chỉ số đánh giá được chuẩn hóa như Độ chính xác trung bình (mAP) và Độ thu hồi trung bình (mAR) cho các tác vụ phân đoạn đối tượng.
  • Bộ dữ liệu COCO-Seg hỗ trợ nhiều model phân đoạn YOLO26 pretrained với các chỉ số hiệu năng khác nhau. Dưới đây là tóm tắt các model hiện có và những chỉ số chính:

    Modelkí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.3
    YOLO26s-seg64047.340.0118.4 ± 0.93.3 ± 0.010.434.5
    YOLO26m-seg64052.544.1328.2 ± 2.46.7 ± 0.123.6121.7
    YOLO26l-seg64054.445.5387.0 ± 3.78.0 ± 0.128.0140.1
    YOLO26x-seg64056.547.0787.0 ± 6.816.4 ± 0.162.8314.0

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

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

    1. Train2017: Gồm 118.287 ảnh, chủ yếu dùng để huấn luyện các model phân đoạn đối tượng.
    2. Val2017: Gồm 5.000 ảnh dùng để đánh giá trong quá trình huấn luyện.
    3. Test-dev2017: Gồm 20.288 trong số 40.670 ảnh test2017, dành cho việc kiểm thử và benchmark các model đã huấn luyện. Lưu ý rằng nhãn ground truth của tập con này không được công khai và kết quả hiệu năng được gửi đến máy chủ đánh giá COCO để đánh giá.

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

Bình luận