Bỏ qua nội dung

Bộ dữ liệu COCO

Bộ dữ liệu COCO (Common Objects in Context) là bộ dữ liệu phát hiện, phân đoạn và chú thích đối tượng quy mô lớn. Bộ dữ liệu này được thiết kế để khuyến khích nghiên cứu về nhiều loại đối tượng khác nhau và thường được sử dụng để đánh giá chuẩn các mô hình thị giác máy tính . Đây là bộ dữ liệu thiết yếu cho các nhà nghiên cứu và nhà phát triển làm việc về các nhiệm vụ phát hiện, phân đoạn và ước tính tư thế đối tượng.



Đồng hồ: Ultralytics Tổng quan về Bộ dữ liệu COCO

Mô hình được đào tạo trước của COCO

Người mẫu kích cỡ
(điểm ảnh)
giá trị mAP
50-95
Tốc độ
CPU ONNX
(bệnh đa xơ cứng)
Tốc độ
T4 TensorRT10
(bệnh đa xơ cứng)
tham số
(Nam)
Thất bại
(B)
YOLO11n 640 39.5 56,1 ± 0,8 1,5 ± 0,0 2.6 6.5
YOLO11s 640 47.0 90,0 ± 1,2 2,5 ± 0,0 9.4 21.5
YOLO11m 640 51.5 183,2 ± 2,0 4,7 ± 0,1 20.1 68.0
YOLO11l 640 53.4 238,6 ± 1,4 6,2 ± 0,1 25.3 86.9
YOLO11x 640 54.7 462,8 ± 6,7 11,3 ± 0,2 56.9 194.9

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

  • COCO chứa 330.000 hình ảnh, trong đó có 200.000 hình ảnh có chú thích để phát hiện đối tượng, phân đoạn và thêm chú thích.
  • Bộ dữ liệu bao gồm 80 danh mục đối tượng, bao gồm các đối tượng phổ biến như ô tô, xe đạp và động vật, cũng như các danh mục cụ thể hơn như ô dù, túi xách và dụng cụ thể thao.
  • Chú thích bao gồm hộp giới hạn đối tượng, mặt nạ phân đoạn và chú thích cho từng hình ảnh.
  • COCO cung cấp các số liệu đánh giá chuẩn hóa như Độ chính xác trung bình (mAP) để 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, giúp phù hợp để so sánh hiệu suất của mô hình.

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

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

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

Ứng dụng

Bộ dữ liệu COCO đượ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át hiện đối tượng (chẳng hạn như YOLO , Faster R-CNN và SSD), phân đoạn thể hiện (như Mask R-CNN) và phát hiện điểm chính (như OpenPose). Bộ dữ liệu đa dạng về danh mục đối tượng, số lượng lớn hình ảnh có chú thích và số liệu đánh giá chuẩn hóa khiến nó trở thành nguồn tài nguyên thiết yếu cho các nhà nghiên cứu và học viên về thị giác máy tính.

Bộ dữ liệu YAML

Tệp YAML (Yet Another Markup Language) được sử dụng để xác định cấu hình tập 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 tập dữ liệu. Trong trường hợp của tập dữ liệu COCO, coco.yaml tập tin được duy trì tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml.

ultralytics /cfg/datasets/coco.yaml

# Ultralytics YOLO 🚀, AGPL-3.0 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: ../datasets/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 ultralytics.utils.downloads import download
  from pathlib import Path

  # 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

Để đào tạo mô hình YOLO11n trên tập dữ liệu COCO trong 100 kỷ nguyên với kích thước hình ảnh là 640, bạn có thể sử dụng các đoạn mã sau. Để biết danh sách đầy đủ các đối số khả dụng, hãy tham khảo trang Đào tạo mô hình.

Ví dụ về tàu hỏa

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.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 detect train data=coco.yaml model=yolo11n.pt epochs=100 imgsz=640

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

Bộ dữ liệu COCO chứa một tập hợp hình ảnh đa dạng với nhiều loại đối tượng và cảnh phức tạp. Sau đây là một số ví dụ về hình ảnh từ bộ dữ liệu, cùng với chú thích tương ứng của chúng:

Hình ảnh mẫu của bộ dữ liệu

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

Ví dụ này cho thấy sự đa dạng và phức tạp của hình ảnh trong tập dữ liệu COCO cũng như lợi ích của việc sử dụng khảm trong quá trình đào tạo.

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

Nếu bạn sử dụng bộ dữ liệu COCO trong công tá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 sau:

@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 muốn cảm ơn COCO Consortium đã tạo ra và duy trì nguồn tài nguyên có giá trị này cho cộng đồng thị giác máy tính. Để biết thêm thông tin về tập dữ liệu COCO và những người tạo ra nó, hãy truy cập trang web tập dữ liệu COCO .

CÂU HỎI THƯỜNG GẶP

Bộ dữ liệu COCO là gì và tại sao nó lại quan trọng đối với thị giác máy tính?

Bộ dữ liệu COCO (Common Objects in Context) là một bộ dữ liệu quy mô lớn được sử dụng để phát hiện đối tượng , phân đoạn và chú thích. Nó chứa 330K hình ảnh với chú thích chi tiết cho 80 danh mục đối tượng, khiến nó trở nên thiết yếu để đánh giá chuẩn và đào tạo các mô hình thị giác máy tính. Các nhà nghiên cứu sử dụng COCO do các danh mục đa dạng và các số liệu đánh giá chuẩn hóa như Độ chính xác trung bình (mAP).

Làm thế nào tôi có thể đào tạo một YOLO mô hình sử dụng tập dữ liệu COCO?

Để đào tạo một YOLO11 mô hình sử dụng tập dữ liệu COCO, bạn có thể sử dụng các đoạn mã sau:

Ví dụ về tàu hỏa

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.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 detect train data=coco.yaml model=yolo11n.pt epochs=100 imgsz=640

Tham khảo trang Đào tạo để biết thêm chi tiết về các đối số có sẵn.

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

Bộ dữ liệu COCO bao gồm:

  • 330K hình ảnh, với 200K chú thích để phát hiện đối tượng, phân đoạn và chú thích.
  • 80 danh mục đồ vật, từ những đồ vật thông thường như ô tô và động vật đến những đồ vật cụ thể như túi xách và dụng cụ thể thao.
  • Các số liệu đánh giá chuẩn hóa để phát hiện đối tượng (mAP) và phân đoạn (trung bình thu hồi trung bình, mAR).
  • Kỹ thuật ghép trong các đợt đào tạo để tăng cường khả năng khái quát hóa mô hình trên nhiều kích thước và bối cảnh đối tượng khác nhau.

Tôi có thể tìm thấy pretrained ở đâu? YOLO11 mô hình được đào tạo trên tập dữ liệu COCO?

Đã được đào tạo trước YOLO11 các mô hình trên tập dữ liệu COCO có thể được tải xuống từ các liên kết được cung cấp trong tài liệu. Ví dụ bao gồm:

Các mô hình này khác nhau về kích thước, mAP và tốc độ suy luận, cung cấp các tùy chọn cho các yêu cầu về hiệu suất và tài nguyên khác nhau.

Bộ dữ liệu COCO được cấu trúc như thế nào và tôi sử dụng nó như thế nào?

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

  1. Train2017 : 118 nghìn hình ảnh dùng để đào tạo.
  2. Val2017 : 5K hình ảnh để xác thực trong quá trình đào tạo.
  3. Test2017 : 20K hình ảnh để đánh giá chuẩn các mô hình đã được đào tạo. Kết quả cần được gửi đến máy chủ đánh giá COCO để đánh giá hiệu suất.

Tệp cấu hình YAML của tập dữ liệu có tại coco.yaml , tệp này xác định đường dẫn, lớp và thông tin chi tiết về tập dữ liệu.

📅 Được tạo ra cách đây 1 năm ✏️ Đã cập nhật cách đây 2 tháng

Bình luận