Ultralytics YOLO27:

Bộ dữ liệu COCO-Seg#

Bộ dữ liệu COCO-Seg cung cấp các mask phân đoạn instance cho COCO (Các đối tượng phổ biến trong ngữ cảnh) — gồm 118.287 ảnh huấn luyện và 5.000 ảnh validation với các mask đa giác trên 80 danh mục đối tượng — theo định dạng nhãn Ultralytics YOLO. Bộ dữ liệu sử dụng các ảnh gốc và annotation phân đoạn gốc của COCO, được chuyển đổi để huấn luyện YOLO, 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ụ phân đoạn instance.

Các model được pretrained trên 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)
tham số
(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 các mask phân đoạn instance cho 123.287 ảnh COCO train2017/val2017 được gắn nhãn (118.287 ảnh train + 5.000 ảnh val), trong tổng số khoảng ~330K ảnh của bản phát hành COCO.
  • Bộ dữ liệu bao gồm cùng 80 danh mục đối tượng có trong bộ dữ liệu COCO gốc.
  • Các annotation cung cấp mask phân đoạn instance theo định dạng nhãn đa giác YOLO.
  • COCO-Seg cung cấp các metric mAP và mAR được chuẩn hóa để đánh giá hiệu năng phân đoạn instance, giúp so sánh hiệu quả hiệu năng của các model.
  • Kích thước tải xuống: ~20.3 GB trong lần sử dụng đầu tiên (train2017.zip + val2017.zip + labels). test2017.zip có dung lượng 7 GB không được tự động tải xuống vì các ảnh đó có ground truth bị ẩn và chỉ cần thiết cho bài nộp test-dev2017.

Cấu trúc bộ dữ liệu#

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

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

Đối với nhu cầu thử nghiệm trên 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 deep learning trên tác vụ phân đoạn instance, chẳng hạn như các model YOLO. Số lượng lớn ảnh được gắn annotation, sự đa dạng của các danh mục đối tượng và các metric đánh giá được chuẩn hóa khiến bộ dữ liệu này trở thành tài nguyên thiết yếu cho các nhà nghiên cứu và kỹ sư 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ộ annotation COCO-Seg trên Ultralytics Platform.

YAML của bộ dữ liệu#

Một file YAML được sử dụng để định nghĩa cấu hình bộ dữ liệu. File này chứa thông tin về các đường dẫn, class và thông tin liên quan khác của bộ dữ liệu. Đối với bộ dữ liệu 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 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ể sử dụng các đoạn code sau. Để xem danh sách đầy đủ các argument khả dụng, hãy tham khảo trang Training của model.

Ví dụ huấn luyện
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à annotation#

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

Mosaic của batch huấn luyện bộ dữ liệu phân đoạn COCO

  • Ảnh dạng mosaic: Hình ảnh này minh họa một batch huấn luyện được tạo từ các ảnh bộ dữ liệu dạng mosaic. 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 tính đa dạng của các đối tượng và cảnh trong mỗi batch huấn luyện. Kỹ thuật này giúp model có khả năng tổng 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à ghi nhận đóng góp#

Nếu sử dụng bộ dữ liệu COCO-Seg trong công việc nghiên cứu hoặ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 thành 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 website bộ dữ liệu COCO.

FAQ#

  • COCO-Seg là gói các mask phân đoạn instance gốc của COCO (Các đối tượng phổ biến trong ngữ cảnh) theo định dạng Ultralytics YOLO, dành cho cùng 118.287 ảnh train2017 và 5.000 ảnh val2017. Các annotation COCO gốc đã bao gồm những 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 được sử dụng để huấn luyện phân đoạn instance đố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ể sử dụng các đoạn code sau. Để xem danh sách chi tiết các argument huấn luyện khả dụng, hãy tham khảo trang Training của model.

    Ví dụ huấn luyện
    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)
  • Bộ dữ liệu COCO-Seg bao gồm một số tính năng chính:

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

    Modelkích thước
    (pixel)
    mAPbox
    50-95(e2e)
    mAPmask
    50-95(e2e)
    Tốc độ
    CPU ONNX
    (ms)
    Tốc độ
    T4 TensorRT10
    (ms)
    tham số
    (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 nhẹ đến YOLO26x-seg mạnh hơn, cung cấp các đánh đổi khác nhau giữa tốc độ và độ chính xác để đáp ứng nhiều yêu cầu ứng dụng. Để biết thêm thông tin về việc lựa 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 cho các nhu cầu huấn luyện và đánh giá cụ thể:

    1. Train2017: Bao gồm 118.287 ảnh, chủ yếu được sử dụng để huấn luyện các model phân đoạn instance.
    2. Val2017: Bao gồm 5.000 ảnh được sử dụng để validation trong quá trình huấn luyện.
    3. Test-dev2017: Bao 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 annotation ground truth cho tập con này không được cung cấp công khai và kết quả hiệu năng được gửi đến server đánh giá COCO để đánh giá.

    Đối với nhu cầu thử nghiệm trên 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, một phiên bản thu gọn chỉ gồm 8 ảnh từ tập COCO train 2017.

Bình luận