Chuyển đến nội dung

Bộ dữ liệu COCO-Seg

Bộ dữ liệu COCO-Seg, một phần mở rộng của bộ dữ liệu COCO (Common Objects in Context), được thiết kế đặc biệt để hỗ trợ nghiên cứu về phân đoạn thể hiện đối tượng. Nó sử dụng cùng một hình ảnh như COCO nhưng giới thiệu các chú thích phân đoạn chi tiết hơn. Bộ dữ liệu này là một nguồn tài nguyên quan trọng cho các nhà nghiên cứu và nhà phát triển làm việc trên các tác vụ phân đoạn thể hiện, đặc biệt là để đào tạo các mô hình Ultralytics YOLO.

Các mô hình COCO-Seg được huấn luyện trước

Mô hình Kích thước
(pixels)
mAPbox
50-95
mAPmask
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
Tham số
(M)
FLOPs
(B)
YOLO11n-seg 640 38.9 32.0 65.9 ± 1.1 1.8 ± 0.0 2.9 10.4
YOLO11s-seg 640 46.6 37.8 117.6 ± 4.9 2.9 ± 0.0 10.1 35.5
YOLO11m-seg 640 51.5 41.5 281.6 ± 1.2 6.3 ± 0.1 22.4 123.3
YOLO11l-seg 640 53.4 42.9 344.2 ± 3.2 7.8 ± 0.2 27.6 142.2
YOLO11x-seg 640 54.7 43.8 664.5 ± 3.2 15.8 ± 0.7 62.1 319.0

Các tính năng chính

  • COCO-Seg giữ lại 330 nghìn hình ảnh gốc từ COCO.
  • Bộ dữ liệu bao gồm 80 loại đối tượng giống như trong bộ dữ liệu COCO gốc.
  • Các chú thích hiện bao gồm mặt nạ phân đoạn thể hiện chi tiết hơn cho từng đối tượng trong ảnh.
  • COCO-Seg cung cấp các chỉ số đánh giá được tiêu chuẩn hóa như mean Average Precision (mAP) để phát hiện đối tượng và mean Average Recall (mAR) cho các tác vụ phân vùng thực thể, cho phép so sánh hiệu quả hiệu suất của mô hình.

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

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

  1. Train2017: Tập hợp con này chứa 118 nghìn hình ảnh để huấn luyện các mô hình phân đoạn thể hiện.
  2. Val2017: Tập hợp con này bao gồm 5K hình ảnh được sử dụng cho mục đích xác thực trong quá trình huấn luyện mô hình.
  3. Test2017: Tập hợp con này bao gồm 20 nghìn ảnh được sử dụng để kiểm tra và đánh giá các mô hình đã được huấn luyện. Các chú thích ground truth cho tập hợp con này không được cung cấp công khai và kết quả được gửi đến máy chủ đánh giá COCO để đánh giá hiệu suất.

Các ứng dụng

COCO-Seg được sử dụng rộng rãi để đào tạo và đánh giá các mô hình học sâu trong phân vùng thể hiện, chẳng hạn như các mô hình YOLO. Số lượng lớn hình ả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á được tiêu chuẩn hóa làm cho nó trở thành một nguồn tài nguyên không thể thiếu cho các nhà nghiên cứu và người thực hành thị giác máy tính.

YAML bộ dữ liệu

Tệp YAML (Yet Another Markup Language) được sử dụng để xác định cấu hình bộ dữ liệu. Nó chứa thông tin về đường dẫn, các lớp và các thông tin liên quan khác của bộ dữ liệu. Trong trường hợp bộ dữ liệu COCO-Seg, coco.yaml tệp đượ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.1 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 to https://competitions.codalab.org/competitions/20794

# 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.downloads import download

  # Download labels
  segments = True  # segment or box labels
  dir = Path(yaml["path"])  # dataset root dir
  url = "https://github.com/ultralytics/assets/releases/download/v0.0.0/"
  urls = [url + ("coco2017labels-segments.zip" if segments else "coco2017labels.zip")]  # labels
  download(urls, dir=dir.parent)
  # Download data
  urls = [
      "http://images.cocodataset.org/zips/train2017.zip",  # 19G, 118k images
      "http://images.cocodataset.org/zips/val2017.zip",  # 1G, 5k images
      "http://images.cocodataset.org/zips/test2017.zip",  # 7G, 41k images (optional)
  ]
  download(urls, dir=dir / "images", threads=3)

Cách sử dụng

Để huấn luyện mô hình YOLO11n-seg trên tập dữ liệu COCO-Seg trong 100 epochs với kích thước ảnh là 640, bạn có thể sử dụng các đoạn mã sau. Để có danh sách đầy đủ các đối số có sẵn, hãy tham khảo trang Training (Huấn luyện) của mô hình.

Ví dụ huấn luyện

from ultralytics import YOLO

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

# Train the model
results = model.train(data="coco.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo segment train data=coco.yaml model=yolo11n-seg.pt epochs=100 imgsz=640

Ảnh và Chú thích mẫu

COCO-Seg, giống như COCO tiền nhiệm, chứa một tập hợp đa dạng các hình ảnh với nhiều danh mục đối tượng và cảnh phức tạp. Tuy nhiên, COCO-Seg giới thiệu các mặt nạ phân vùng thực thể chi tiết hơn cho mỗi đối tượng trong hình ảnh. Dưới đây là một số ví dụ về hình ảnh từ bộ dữ liệu, cùng với các mặt nạ phân vùng thực thể tương ứng của chúng:

Ảnh mẫu bộ dữ liệu

  • Hình ảnh ghép: Hình ảnh này minh họa một lô huấn luyện bao gồm các hình ảnh tập dữ liệu được ghép lại. Ghép ảnh là một kỹ thuật được sử dụng trong quá trình huấn luyện, kết hợp nhiều hình ảnh thành một hình ảnh duy nhất để tăng sự đa dạng của các đối tượng và cảnh trong mỗi lô huấn luyện. Điều này hỗ trợ 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à ngữ cảnh khác nhau.

Ví dụ này thể hiện sự đa dạng và phức tạp của hình ảnh trong bộ dữ liệu COCO-Seg và những lợi ích của việc sử dụng mosaicing trong quá trình huấn luyện.

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

Nếu bạn sử dụng bộ 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 COCO gốc và ghi nhận phần mở rộng cho COCO-Seg:

@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ì nguồn 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 nó, hãy truy cập trang web bộ dữ liệu COCO.

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

Bộ dữ liệu COCO-Seg là gì và nó khác với bộ dữ liệu COCO gốc như thế nào?

Bộ dữ liệu COCO-Seg là một phần mở rộng của bộ dữ liệu COCO (Common Objects in Context) gốc, được thiết kế đặc biệt cho các tác vụ phân đoạn thể hiện. Mặc dù nó sử dụng cùng một hình ảnh như bộ dữ liệu COCO, COCO-Seg bao gồm các chú thích phân đoạn chi tiết hơn, làm cho nó trở thành một nguồn tài nguyên mạnh mẽ cho các nhà nghiên cứu và nhà phát triển tập trung vào phân đoạn thể hiện đối tượng.

Làm thế nào để huấn luyện một mô hình YOLO11 bằng bộ dữ liệu COCO-Seg?

Để huấn luyện mô hình YOLO11n-seg trên tập dữ liệu COCO-Seg trong 100 epochs với kích thước ảnh là 640, bạn có thể sử dụng các đoạn mã sau. Để có danh sách chi tiết các đối số có sẵn, hãy tham khảo trang Training (Huấn luyện) của mô hình.

Ví dụ huấn luyện

from ultralytics import YOLO

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

# Train the model
results = model.train(data="coco.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo segment train data=coco.yaml model=yolo11n-seg.pt epochs=100 imgsz=640

Các tính năng chính của bộ dữ liệu COCO-Seg là gì?

Bộ dữ liệu COCO-Seg bao gồm một số tính năng chính:

  • Giữ lại 330K hình ảnh gốc từ bộ dữ liệu COCO.
  • Chú thích 80 loại đối tượng tương tự như trong COCO gốc.
  • Cung cấp mặt nạ phân vùng thể hiện chi tiết hơn cho mỗi đối tượng.
  • Sử dụng các số liệu đánh giá tiêu chuẩn như độ chính xác trung bình (mAP) cho phát hiện đối tượng và độ thu hồi trung bình (mAR) cho các tác vụ phân đoạn thể hiện.

Những mô hình được huấn luyện trước nào có sẵn cho COCO-Seg và các chỉ số hiệu suất của chúng là gì?

Tập dữ liệu COCO-Seg hỗ trợ nhiều mô hình phân đoạn YOLO11 đã được huấn luyện trước với các số liệu hiệu suất khác nhau. Dưới đây là tóm tắt về các mô hình có sẵn và các số liệu chính của chúng:

Mô hình Kích thước
(pixels)
mAPbox
50-95
mAPmask
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
Tham số
(M)
FLOPs
(B)
YOLO11n-seg 640 38.9 32.0 65.9 ± 1.1 1.8 ± 0.0 2.9 10.4
YOLO11s-seg 640 46.6 37.8 117.6 ± 4.9 2.9 ± 0.0 10.1 35.5
YOLO11m-seg 640 51.5 41.5 281.6 ± 1.2 6.3 ± 0.1 22.4 123.3
YOLO11l-seg 640 53.4 42.9 344.2 ± 3.2 7.8 ± 0.2 27.6 142.2
YOLO11x-seg 640 54.7 43.8 664.5 ± 3.2 15.8 ± 0.7 62.1 319.0

Các mô hình này bao gồm từ YOLO11n-seg nhẹ đến YOLO11x-seg mạnh mẽ hơn, cung cấp các sự đá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.

Cấu trúc của tập dữ liệu COCO-Seg như thế nào và nó chứa những tập hợp con nào?

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

  1. Train2017: Chứa 118 nghìn hình ảnh chủ yếu được sử dụng để huấn luyện các mô hình phân đoạn thể hiện.
  2. Val2017: Bao gồm 5K hình ảnh được sử dụng để xác thực trong quá trình huấn luyện.
  3. Test2017: Bao gồm 20 nghìn ảnh được dành riêng cho việc kiểm tra và đánh giá các mô hình đã được huấn luyện. Lưu ý rằng các chú thích ground truth cho tập hợp con này không được cung cấp công khai và kết quả hiệu suất được gửi đến máy chủ đánh giá COCO để đánh giá.

Đối với các nhu cầu thử nghiệm nhỏ hơn, bạn cũng có thể cân nhắc sử dụng bộ dữ liệu COCO8-seg, đây là một phiên bản nhỏ gọn chỉ chứa 8 hình ảnh từ bộ COCO train 2017.



📅 Đã tạo 1 năm trước ✏️ Cập nhật 5 tháng trước

Bình luận