Bỏ để qua phần nội dung

Tập dữ liệu COCO-SEG

Bộ dữ liệu COCO-Seg , một phần mở rộng của tập dữ liệu COCO (Đối tượng chung trong ngữ cảnh), được thiết kế đặc biệt để hỗ trợ nghiên cứu phân đoạn phiên bản đối tượng. Nó sử dụng các hình ảnh tương tự như COCO nhưng giới thiệu các chú thích phân đoạn chi tiết hơn. Tập dữ liệu này là một 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 phiên bản, đặc biệt là đào tạo YOLO Mô hình.

Mô hình đào tạo sẵn COCO-SEG

Mẫu kích thước
(điểm ảnh)
bản đồhộp
50-95
bản đồmặt nạ
50-95
Tốc độ
CPU ONNX
(Cô)
Tốc độ
A100 TensorRT
(Cô)
Params
(M)
Flops
(B)
YOLOv8n-Seg 640 36.7 30.5 96.1 1.21 3.4 12.6
YOLOv8s-Seg 640 44.6 36.8 155.7 1.47 11.8 42.6
YOLOv8m-Seg 640 49.9 40.8 317.0 2.18 27.3 110.2
YOLOv8l-Seg 640 52.3 42.6 572.4 2.79 46.0 220.5
YOLOv8x-Seg 640 53.4 43.4 712.1 4.02 71.8 344.1

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

  • COCO-Seg giữ lại hình ảnh 330K gốc từ COCO.
  • Tập dữ liệu bao gồm 80 loại đối tượng giống nhau được tìm thấy trong tập dữ liệu COCO gốc.
  • Chú thích bây giờ bao gồm các mặt nạ phân đoạn phiên bản chi tiết hơn cho từng đối tượng trong hình ảnh.
  • COCO-Seg cung cấp các số liệu đánh giá được tiêu chuẩn hóa như Độ chính xác trung bình trung bình (mAP) để phát hiện đối tượng và Thu hồi trung bình trung bình (mAR) cho các tác vụ phân đoạn phiên bản, cho phép so sánh hiệu quả hiệu suất mô hình.

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

Tập dữ liệu COCO-Seg được phân vùng thành ba tập con:

  1. Train2017: Tập hợp con này chứa 118K hình ảnh cho các mô hình phân đoạn phiên bản đào tạo.
  2. Val2017: Tập hợp con này bao gồm hình ảnh 5K đượ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 để kiểm tra và đo điểm chuẩn cho các mô hình được đào tạo. Chú thích sự thật cơ bản cho tập hợp con này không có sẵn 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

COCO-Seg được sử dụng rộng rãi để đào tạo và đánh giá các mô hình deep learning trong phân đoạn phiên bản, chẳng hạn như YOLO Mô hình. 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à học viên thị giác máy tính.

Tập 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. Nó chứa thông tin về đường dẫn, lớp và thông tin liên quan khác của tập dữ liệu. Trong trường hợp tập 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 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/yolov5/releases/download/v1.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)

Sử dụng

Để đào tạo một YOLOv8nMô hình -seg trên tập dữ liệu COCO-Seg cho 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ố có sẵn, hãy tham khảo trang Đào tạo mẫu.

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

from ultralytics import YOLO

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

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

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

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

Hình ảnh mẫu tập dữ liệu

  • Hình ảnh khảm: Hình ảnh này thể hiện một lô đào tạo bao gồm các hình ảnh tập dữ liệu được khảm. Khảm 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 sự đa dạng của các đối tượng và cảnh trong mỗi đợt đào tạo. Điều này hỗ trợ khả năng khái quát hóa của mô hình cho 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-Seg và lợi ích của việc sử dụng khảm trong quá trình đào tạo.

Trích dẫn và xác nhậ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 gốc của COCO và xác 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 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à người tạo ra nó, hãy truy cập trang web tập dữ liệu COCO.



Đã tạo 2023-11-12, Cập nhật 2024-04-17
Tác giả: glenn-jocher (4), RizwanMunawar (1), Laughing-q (1)

Ý kiến