Dataset COCO8-Multispectral
Giới thiệu
Dataset COCO8-Multispectral của Ultralytics là một biến thể nâng cao của dataset COCO8 gốc, được thiết kế để tạo điều kiện thuận lợi cho việc thử nghiệm với các model phát hiện đối tượng đa phổ (multispectral object detection). Dataset này bao gồm 8 hình ảnh tương tự từ tập COCO train 2017—4 cho huấn luyện và 4 cho kiểm thử—nhưng mỗi hình ảnh đã được chuyển đổi thành định dạng đa phổ 10 kênh. Bằng cách mở rộng vượt ra ngoài các kênh RGB tiêu chuẩn, COCO8-Multispectral cho phép phát triển và đánh giá các model có khả năng tận dụng thông tin phổ phong phú hơn.
COCO8-Multispectral hoàn toàn tương thích với Ultralytics Platform và YOLO26, đảm bảo tích hợp liền mạch vào các quy trình làm việc computer vision của bạn.
Watch: How to Train Ultralytics YOLO26 on Multispectral Datasets | Multi-Channel VisionAI 🚀
Tạo Dataset
Các hình ảnh đa phổ trong COCO8-Multispectral được tạo ra bằng cách nội suy các hình ảnh RGB gốc qua 10 kênh phổ cách đều nhau trong phạm vi quang phổ khả kiến. Quy trình này bao gồm:
- Gán bước sóng: Gán các bước sóng danh định cho các kênh RGB—Đỏ: 650 nm, Xanh lục: 510 nm, Xanh lam: 475 nm.
- Nội suy: Sử dụng nội suy tuyến tính để ước tính giá trị pixel tại các bước sóng trung gian giữa 450 nm và 700 nm, tạo ra 10 kênh phổ.
- Ngoại suy: Áp dụng ngoại suy với hàm
interp1dcủa SciPy để ước tính các giá trị nằm ngoài các bước sóng RGB gốc, đảm bảo biểu diễn phổ đầy đủ.
Phương pháp này mô phỏng quy trình chụp ảnh đa phổ, cung cấp tập dữ liệu đa dạng hơn cho việc huấn luyện và đánh giá model. Để đọc thêm về chụp ảnh đa phổ, hãy xem bài viết Wikipedia về Chụp ảnh đa phổ.
Dataset YAML
Dataset COCO8-Multispectral được cấu hình bằng một tệp YAML, trong đó định nghĩa các đường dẫn dataset, tên lớp và các metadata thiết yếu. Bạn có thể xem tệp coco8-multispectral.yaml chính thức trong kho lưu trữ Ultralytics GitHub.
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# COCO8-Multispectral dataset (COCO8 images interpolated across 10 channels in the visual spectrum) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco8-multispectral/
# Example usage: yolo train data=coco8-multispectral.yaml
# parent
# ├── ultralytics
# └── datasets
# └── coco8-multispectral ← downloads here (20.2 MB)
# 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: coco8-multispectral # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 images
test: # test images (optional)
# Number of multispectral image channels
channels: 10
# 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: https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8-multispectral.zipChuẩn bị các hình ảnh TIFF của bạn theo thứ tự (channel, height, width), lưu với phần mở rộng .tiff hoặc .tif, và đảm bảo chúng ở định dạng uint8 để sử dụng với Ultralytics:
import cv2
import numpy as np
# Create and write 10-channel TIFF
image = np.ones((10, 640, 640), dtype=np.uint8) # CHW-order
cv2.imwritemulti("example.tiff", image)
# Read TIFF
success, frames_list = cv2.imreadmulti("example.tiff")
image = np.stack(frames_list, axis=2)
print(image.shape) # (640, 640, 10) HWC-order for training and inferenceCách sử dụng
Để huấn luyện model YOLO26n trên dataset COCO8-Multispectral trong 100 epochs với kích thước ảnh là 640, hãy sử dụng các ví dụ sau. Để có danh sách đầy đủ các tùy chọn huấn luyện, hãy tham khảo tài liệu Huấn luyện YOLO.
from ultralytics import YOLO
# Load a pretrained YOLO26n model
model = YOLO("yolo26n.pt")
# Train the model on COCO8-Multispectral
results = model.train(data="coco8-multispectral.yaml", epochs=100, imgsz=640)Để biết thêm chi tiết về lựa chọn model và các phương pháp thực hành tốt nhất, hãy khám phá tài liệu model Ultralytics YOLO và hướng dẫn Mẹo huấn luyện model YOLO.
Hình ảnh và chú thích mẫu
Dưới đây là ví dụ về một batch huấn luyện được mosaic từ dataset COCO8-Multispectral:
- Hình ảnh Mosaiced: Hình ảnh này minh họa một batch huấn luyện trong đó nhiều hình ảnh dataset được kết hợp bằng tăng cường dữ liệu mosaic. Tăng cường mosaic giúp tăng tính đa dạng của đối tượng và bối cảnh trong mỗi batch, giúp model tổng quát hóa tốt hơn với nhiều kích thước đối tượng, tỷ lệ khung hình và nền khác nhau.
Kỹ thuật này đặc biệt có giá trị đối với các dataset nhỏ như COCO8-Multispectral, vì nó tối đa hóa công dụng của từng hình ảnh trong quá trình huấn luyện.
Trích dẫn và Ghi nhận
Nếu bạn sử dụng tập dữ liệu COCO trong 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}
}Đặc biệt cảm ơn COCO Consortium vì những đóng góp liên tục của họ cho cộng đồng computer vision.
Câu hỏi thường gặp (FAQ)
Dataset Ultralytics COCO8-Multispectral được sử dụng để làm gì?
Dataset Ultralytics COCO8-Multispectral được thiết kế để thử nghiệm và gỡ lỗi nhanh các model phát hiện đối tượng đa phổ. Chỉ với 8 hình ảnh (4 cho huấn luyện, 4 cho kiểm thử), nó rất lý tưởng để xác minh các pipeline huấn luyện YOLO26 của bạn và đảm bảo mọi thứ hoạt động như mong đợi trước khi mở rộng quy mô sang các dataset lớn hơn. Để có thêm các dataset thử nghiệm khác, hãy truy cập Danh mục Dataset Ultralytics.
Dữ liệu đa phổ cải thiện khả năng phát hiện đối tượng như thế nào?
Dữ liệu đa phổ cung cấp thông tin phổ bổ sung ngoài RGB tiêu chuẩn, cho phép các model phân biệt đối tượng dựa trên những khác biệt nhỏ về độ phản xạ qua các bước sóng. Điều này có thể nâng cao độ chính xác khi phát hiện, đặc biệt là trong các tình huống thách thức. Tìm hiểu thêm về chụp ảnh đa phổ và các ứng dụng của nó trong computer vision nâng cao.
COCO8-Multispectral có tương thích với Ultralytics Platform và các model YOLO không?
Có, COCO8-Multispectral hoàn toàn tương thích với Ultralytics Platform và tất cả các model YOLO, bao gồm cả YOLO26 mới nhất. Điều này cho phép bạn dễ dàng tích hợp dataset vào các quy trình huấn luyện và kiểm thử của mình.
Tôi có thể tìm thêm thông tin về các kỹ thuật tăng cường dữ liệu ở đâu?
Để hiểu sâu hơn về các phương pháp tăng cường dữ liệu như mosaic và tác động của chúng đến hiệu suất model, hãy tham khảo Hướng dẫn Tăng cường dữ liệu YOLO và Blog Ultralytics về Tăng cường dữ liệu.
Tôi có thể sử dụng COCO8-Multispectral để đo điểm chuẩn (benchmarking) hoặc cho mục đích giáo dục không?
Chắc chắn rồi! Kích thước nhỏ và bản chất đa phổ của COCO8-Multispectral làm cho nó trở nên lý tưởng cho việc đo điểm chuẩn, minh họa giáo dục và tạo mẫu các kiến trúc model mới. Để biết thêm các dataset đo điểm chuẩn, hãy xem Bộ sưu tập Dataset Benchmark Ultralytics.