Bộ dữ liệu COCO8-Đa quang phổ
Giới thiệu
Bộ dữ liệu Ultralytics COCO8-Multispectral là một biến thể nâng cao của bộ dữ liệu COCO8 gốc, được thiết kế để tạo điều kiện thử nghiệm với các mô hình phát hiện đối tượng đa phổ. Nó bao gồm cùng 8 hình ảnh từ bộ COCO train 2017—4 cho đào tạo và 4 cho xác thực—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 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 mô hình có thể tận dụng thông tin quang phổ phong phú hơn.
COCO8-Đa quang phổ hoàn toàn tương thích với Ultralytics HUB và YOLO11, đảm bảo tích hợp liền mạch vào quy trình computer vision của bạn.
Xem: Cách Huấn Luyện Ultralytics YOLO11 trên Bộ Dữ Liệu Đa Quang Phổ | Multi-Channel VisionAI 🚀
Tạo lập bộ dữ liệu
Hình ảnh đa phổ trong COCO8-Multispectral được tạo bằng cách nội suy hình ảnh RGB gốc trên 10 kênh quang phổ cách đều nhau trong quang phổ nhìn thấy. Quá trình này bao gồm:
- Gán bước sóng: Gán bước sóng danh nghĩa cho các kênh RGB — Đỏ: 650 nm, Lục: 510 nm, Lam: 475 nm.
- Nội suy: Sử dụng nội suy tuyến tính để ước tính các giá trị pixel ở các bước sóng trung gian từ 450 nm đến 700 nm, tạo ra 10 kênh quang phổ.
- Ngoại suy: Áp dụng ngoại suy với SciPy's
interp1d
chức năng để ước tính các giá trị vượt ra ngoài bước sóng RGB ban đầu, đảm bảo biểu diễn quang phổ đầy đủ.
Cách tiếp cận này mô phỏng quy trình chụp ảnh đa phổ, cung cấp một tập dữ liệu đa dạng hơn để huấn luyện và đánh giá mô hình. Để tìm hiểu thêm về chụp ảnh đa phổ, hãy xem bài viết về Chụp ảnh đa phổ trên Wikipedia.
YAML bộ dữ liệu
Tập dữ liệu COCO8-Multispectral được định cấu hình bằng tệp YAML, xác định đường dẫn tập dữ liệu, tên lớp và siêu dữ liệu thiết yếu. Bạn có thể xem lại thông tin chính thức coco8-multispectral.yaml
tệp trong kho lưu trữ Ultralytics GitHub.
ultralytics/cfg/datasets/coco8-multispectral.yaml
# 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.zip
Lưu ý
Chuẩn bị hình ảnh TIFF của bạn trong (channel, height, width)
được sắp xếp và lưu với .tiff
hoặc .tif
tiện ích mở rộng để 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 inference
Cách sử dụng
Để huấn luyện một mô hình YOLO11n trên bộ dữ liệu COCO8-Multispectral trong 100 epochs với kích thước ảnh là 640, hãy sử dụng các ví dụ sau. Để xem 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.
Ví dụ huấn luyện
from ultralytics import YOLO
# Load a pretrained YOLO11n model
model = YOLO("yolo11n.pt")
# Train the model on COCO8-Multispectral
results = model.train(data="coco8-multispectral.yaml", epochs=100, imgsz=640)
# Train YOLO11n on COCO8-Multispectral using the command line
yolo detect train data=coco8-multispectral.yaml model=yolo11n.pt epochs=100 imgsz=640
Để biết thêm chi tiết về lựa chọn mô hình và các phương pháp hay nhất, hãy khám phá tài liệu về mô hình Ultralytics YOLO và hướng dẫn Mẹo huấn luyện mô hình YOLO.
Ảnh và Chú thích mẫu
Dưới đây là một ví dụ về lô huấn luyện được ghép từ bộ dữ liệu COCO8-Multispectral:
- Hình ảnh ghép: Hình ảnh này minh họa một lô huấn luyện trong đó nhiều hình ảnh tập dữ liệu được kết hợp bằng cách sử dụng tăng cường mosaic. Tăng cường mosaic làm tăng tính đa dạng của các đối tượng và cảnh trong mỗi lô, giúp mô hình khái quát hóa tốt hơn cho các kích thước, tỷ lệ khung hình và hình nền khác nhau của đối tượng.
Kỹ thuật này đặc biệt có giá trị cho các tập dữ liệu nhỏ như COCO8-Multispectral, vì nó tối đa hóa tiện ích của mỗi hình ảnh 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 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}
}
Xin chân thành cảm ơn COCO Consortium vì những đóng góp liên tục của họ cho cộng đồng thị giác máy tính.
Câu hỏi thường gặp
Bộ dữ liệu Ultralytics COCO8-Multispectral được sử dụng để làm gì?
Bộ dữ liệu Ultralytics COCO8-Multispectral được thiết kế để kiểm tra và gỡ lỗi nhanh các mô hình phát hiện đối tượng đa phổ. Với chỉ 8 hình ảnh (4 cho huấn luyện, 4 cho xác thực), nó lý tưởng để xác minh quy trình huấn luyện YOLO của bạn và đảm bảo mọi thứ hoạt động như mong đợi trước khi mở rộng sang các bộ dữ liệu lớn hơn. Để có thêm bộ dữ liệu để thử nghiệm, hãy truy cập Danh mục Bộ dữ liệu 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 mô hình phân biệt các đối tượng dựa trên sự khác biệt nhỏ về độ phản xạ trên các bước sóng. Điều này có thể nâng cao độ chính xác phát hiện, đặc biệt là trong các tình huống khó khăn. Tìm hiểu thêm về hình ảnh đa phổ và các ứng dụng của nó trong thị giác máy tính nâng cao.
COCO8-Multispectral có tương thích với Ultralytics HUB và các mô hình YOLO không?
Đúng vậy, COCO8-Multispectral hoàn toàn tương thích với Ultralytics HUB và tất cả các mô hình YOLO , bao gồm cả YOLO11 mới nhất. Điều này cho phép bạn dễ dàng tích hợp tập dữ liệu vào quy trình huấn luyện và xác thực 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 mô hình, 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 cho mục đích đánh giá hiệu năng hoặc 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 để đánh giá chuẩn, trình diễn giáo dục và tạo mẫu kiến trúc mô hình mới. Để biết thêm các bộ dữ liệu chuẩn, hãy xem Bộ Sưu Tập Dữ Liệu Chuẩn Ultralytics.