Meet YOLO26: next-gen vision AI.

Link to this sectionBộ dữ liệu COCO#

Bộ dữ liệu COCO (Common Objects in Context) là một bộ dữ liệu quy mô lớn phục vụ các tác vụ phát hiện đối tượng, phân đoạn và chú thích ảnh. Nó được thiết kế nhằm khuyến khích nghiên cứu trên nhiều danh mục đối tượng đa dạng và thường được sử dụng để đánh giá hiệu năng 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à lập trình viên làm việc với các tác vụ phát hiện đối tượng, phân đoạn và ước tính tư thế.



Watch: Ultralytics COCO Dataset Overview

Link to this sectionCác mô hình COCO đã được huấn luyện sẵn#

Mô hìnhkích thước
(pixel)
mAPval
50-95
mAPval
50-95(e2e)
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLO26n64040.940.138.9 ± 0.71.7 ± 0.02.45.4
YOLO26s64048.647.887.2 ± 0.92.5 ± 0.09.520.7
YOLO26m64053.152.5220.0 ± 1.44.7 ± 0.120.468.2
YOLO26l64055.054.4286.2 ± 2.06.2 ± 0.224.886.4
YOLO26x64057.556.9525.8 ± 4.011.8 ± 0.255.7193.9

Link to this sectionTính năng chính#

  • COCO chứa 330K hình ảnh, trong đó 200K hình ảnh có kèm chú thích cho các tác vụ phát hiện đối tượng, phân đoạn và chú thích ảnh.
  • Bộ dữ liệu bao gồm 80 danh mục đối tượng, từ các vật thể phổ biến như ô tô, xe đạp và động vật, đến các danh mục cụ thể hơn như ô, túi xách và thiết bị thể thao.
  • Các chú thích bao gồm khung bao (bounding box) của đối tượng, mặt nạ phân đoạn (segmentation mask) và chú thích cho từng hình ảnh.
  • COCO cung cấp các chỉ số đánh giá tiêu chuẩn như mean Average Precision (mAP) cho phát hiện đối tượng, và mean Average Recall (mAR) cho các tác vụ phân đoạn, giúp việc so sánh hiệu suất mô hình trở nên thuận tiện.

Link to this sectionCấ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 dùng để huấn luyện các mô hình phát hiện đối tượng, phân đoạn và chú thích ảnh.
  2. Val2017: Tập hợp con này có 5K hình ảnh dùng cho mục đích kiểm chứng trong quá trình huấn luyện mô hình.
  3. Test2017: Tập dữ liệu con này bao gồm 20K ảnh được sử dụng để kiểm thử và đánh giá hiệu năng các model đã huấn luyện. Các chú thích ground truth cho tập dữ liệu con này không được công khai, và kết quả cần được gửi lên COCO evaluation server để đánh giá hiệu suất.

Link to this sectionỨng dụng#

Bộ dữ liệu COCO được sử dụng rộng rãi để huấn luyện và đánh giá các mô hình học sâu trong lĩnh vực phát hiện đối tượng (như Ultralytics YOLO, Faster R-CNN, và SSD), phân đoạn cá thể (như Mask R-CNN), và phát hiện điểm đặc trưng (như OpenPose). Tập hợp danh mục đối tượng đa dạng, số lượng ảnh lớn có chú thích cùng các chỉ số đánh giá tiêu chuẩn khiến bộ dữ liệu này trở thành nguồn tài nguyên quan trọng cho các nhà nghiên cứu và thực hành thị giác máy tính.

Link to this sectionYAML tập dữ liệu#

Một tệp YAML (Yet Another Markup Language) được sử dụng để định nghĩa cấu hình bộ dữ liệu. Tệp này chứa thông tin về đường dẫn, lớp đối tượng và các thông tin liên quan khác. Đối với bộ dữ liệu COCO, 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.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 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
  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)

Link to this sectionCách sử dụng#

Để huấn luyện mô hình YOLO26n trên bộ dữ liệu COCO trong 100 epoch với kích thước ảnh là 640, bạn có thể sử dụng các đoạn mã dưới đây. Để xem danh sách đầy đủ các đối số khả dụng, hãy tham khảo trang Huấn luyện của mô hình.

Ví dụ về Training
from ultralytics import YOLO

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

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

Link to this sectionHì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 danh mục đối tượng khác nhau và các bối cảnh phức tạp. Dưới đây là một số ví dụ về hình ảnh từ bộ dữ liệu cùng với các chú thích tương ứng:

COCO dataset mosaic training batch with object detection

  • Hình ảnh Mosaiced: Hình ảnh này minh họa một batch huấn luyện bao gồm các hình ảnh từ tập dữ liệu đã được áp dụng kỹ thuật Mosaic. Mosaic 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 hình ảnh duy nhất để tăng sự đa dạng của các đố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 model đố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 minh họa sự đa dạng và phức tạp của các hình ảnh trong bộ dữ liệu COCO cũng như lợi ích của việc sử dụng kỹ thuật mosaic trong quá trình huấn luyện.

Link to this sectionTrích dẫn và Ghi nhận#

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

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 ghi nhận nỗ lực của COCO Consortium trong việc tạo lập và duy trì nguồn tài nguyên quý 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.

Link to this sectionCâu hỏi thường gặp#

Link to this sectionBộ 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 cho các tác vụ phát hiện đối tượng, phân đoạn và chú thích ảnh. Nó chứa 330K hình ảnh với các chú thích chi tiết cho 80 danh mục đối tượng, biến nó thành nguồn dữ liệu thiết yếu để đánh giá và huấn luyện các mô hình thị giác máy tính. Các nhà nghiên cứu sử dụng COCO nhờ vào tính đa dạng của các danh mục và các chỉ số đánh giá tiêu chuẩn như mean Average Precision (mAP).

Link to this sectionLàm thế nào để tôi có thể huấn luyện một mô hình YOLO sử dụng bộ dữ liệu COCO?#

Để huấn luyện mô hình YOLO26 bằng bộ dữ liệu COCO, bạn có thể sử dụng các đoạn mã sau:

Ví dụ về Training
from ultralytics import YOLO

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

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

Tham khảo trang Huấn luyện để biết thêm chi tiết về các đối số khả dụng.

Link to this sectionCác 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 hình ảnh đã được chú thích cho phát hiện đối tượng, phân đoạn và chú thích ảnh.
  • 80 danh mục đối tượng, trải dài từ các vật phẩm phổ biến như ô tô và động vật đến những vật dụng cụ thể hơn như túi xách và thiết bị thể thao.
  • Các chỉ số đánh giá tiêu chuẩn cho phát hiện đối tượng (mAP) và phân đoạn (mean Average Recall, mAR).
  • Kỹ thuật Mosaicing trong các batch huấn luyện nhằm nâng cao khả năng tổng quát hóa của mô hình trên các kích thước đối tượng và bối cảnh khác nhau.

Link to this sectionTôi có thể tìm các mô hình YOLO26 đã được huấn luyện sẵn trên bộ dữ liệu COCO ở đâu?#

Các mô hình YOLO26 đã huấn luyện sẵn trên bộ 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. Các ví dụ bao gồm:

Những 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 phù hợp với các yêu cầu khác nhau về hiệu suất và tài nguyên.

Link to this sectionBộ dữ liệu COCO được cấu trúc như thế nào và làm cách nào để sử dụng nó?#

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

  1. Train2017: 118K hình ảnh dùng cho huấn luyện.
  2. Val2017: 5K hình ảnh dùng để kiểm chứng trong quá trình huấn luyện.
  3. Test2017: 20K ảnh dùng để đánh giá các model đã huấn luyện. Kết quả cần được gửi lên COCO evaluation server để đánh giá hiệu suất.

Tệp cấu hình YAML của bộ dữ liệu có sẵn tại coco.yaml, trong đó định nghĩa các đường dẫn, lớp đối tượng và chi tiết bộ dữ liệu.

Bình luận