مجموعة بيانات COCO8-Multispectral
مقدمة
تُعد مجموعة بيانات COCO8-Multispectral من Ultralytics نسخة متطورة من مجموعة بيانات COCO8 الأصلية، وهي مصممة لتسهيل إجراء التجارب على نماذج اكتشاف الكائنات متعددة الأطياف. تتكون المجموعة من نفس الصور الثمانية الموجودة في مجموعة بيانات COCO train 2017—أربع صور للتدريب وأربع للتحقق—ولكن مع تحويل كل صورة إلى تنسيق متعدد الأطياف بـ 10 قنوات. ومن خلال التوسع إلى ما وراء قنوات RGB القياسية، تتيح مجموعة COCO8-Multispectral تطوير وتقييم النماذج التي يمكنها الاستفادة من معلومات طيفية أكثر ثراءً.
تتوافق مجموعة COCO8-Multispectral تماماً مع منصة Ultralytics ونموذج YOLO26، مما يضمن تكاملاً سلساً في سير عمل الرؤية الحاسوبية الخاص بك.
Watch: How to Train Ultralytics YOLO26 on Multispectral Datasets | Multi-Channel VisionAI 🚀
إنشاء مجموعة البيانات
تم إنشاء الصور متعددة الأطياف في COCO8-Multispectral عن طريق استيفاء صور RGB الأصلية عبر 10 قنوات طيفية متباعدة بالتساوي ضمن الطيف المرئي. تتضمن العملية ما يلي:
- تعيين الطول الموجي: تعيين أطوال موجية اسمية لقنوات RGB—الأحمر: 650 نانومتر، الأخضر: 510 نانومتر، الأزرق: 475 نانومتر.
- الاستيفاء (Interpolation): استخدام الاستيفاء الخطي لتقدير قيم البكسل عند أطوال موجية وسيطة بين 450 نانومتر و700 نانومتر، مما ينتج عنه 10 قنوات طيفية.
- الاستقراء (Extrapolation): تطبيق الاستقراء باستخدام دالة
interp1dمن مكتبة SciPy لتقدير القيم خارج أطوال موجات RGB الأصلية، مما يضمن تمثيلاً طيفياً كاملاً.
يحاكي هذا النهج عملية التصوير متعدد الأطياف، مما يوفر مجموعة بيانات أكثر تنوعاً لتدريب النماذج وتقييمها. لمزيد من القراءة حول التصوير متعدد الأطياف، راجع مقالة ويكيبيديا عن التصوير متعدد الأطياف.
ملف YAML الخاص بمجموعة البيانات
تم تكوين مجموعة بيانات COCO8-Multispectral باستخدام ملف YAML، والذي يحدد مسارات مجموعة البيانات، وأسماء الفئات، والبيانات الوصفية الأساسية. يمكنك مراجعة ملف coco8-multispectral.yaml الرسمي في مستودع 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.zipPrepare your TIFF images in (channel, height, width) order, saved with .tiff or .tif extension, and ensure they are uint8 for use with 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الاستخدام
لتدريب نموذج YOLO26n على مجموعة بيانات COCO8-Multispectral لمدة 100 حقبة (epochs) بحجم صورة 640، استخدم الأمثلة التالية. للحصول على قائمة شاملة بخيارات التدريب، راجع وثائق تدريب 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)لمزيد من التفاصيل حول اختيار النموذج وأفضل الممارسات، استكشف وثائق نموذج Ultralytics YOLO و دليل نصائح تدريب نموذج YOLO.
صور وعينات تعليقات توضيحية
فيما يلي مثال على دفعة تدريب مجمعة (mosaiced) من مجموعة بيانات COCO8-Multispectral:
- صورة مجمعة (Mosaiced Image): توضح هذه الصورة دفعة تدريب حيث يتم دمج صور متعددة من مجموعة البيانات باستخدام تعزيز الفسيفساء (mosaic augmentation). يعمل تعزيز الفسيفساء على زيادة تنوع الكائنات والمشاهد داخل كل دفعة، مما يساعد النموذج على التعميم بشكل أفضل على أحجام الكائنات ونسب العرض إلى الارتفاع والخلفيات المختلفة.
تعتبر هذه التقنية مفيدة بشكل خاص لمجموعات البيانات الصغيرة مثل COCO8-Multispectral، حيث إنها تزيد من الاستفادة من كل صورة أثناء التدريب.
الاقتباسات والشكر
إذا كنت تستخدم مجموعة بيانات COCO في بحثك أو تطويرك، يرجى الاستشهاد بالورقة البحثية التالية:
@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}
}شكر خاص لـ اتحاد COCO على مساهماتهم المستمرة في مجتمع الرؤية الحاسوبية.
الأسئلة الشائعة
فيم تُستخدم مجموعة بيانات Ultralytics COCO8-Multispectral؟
تم تصميم مجموعة بيانات Ultralytics COCO8-Multispectral للاختبار السريع وتصحيح أخطاء نماذج اكتشاف الكائنات متعددة الأطياف. مع وجود 8 صور فقط (4 للتدريب و4 للتحقق)، فهي مثالية للتحقق من مسارات تدريب YOLO26 الخاصة بك والتأكد من أن كل شيء يعمل كما هو متوقع قبل التوسع إلى مجموعات بيانات أكبر. لمزيد من مجموعات البيانات للتجربة، قم بزيارة كتالوج مجموعات بيانات Ultralytics.
كيف تعمل البيانات متعددة الأطياف على تحسين اكتشاف الكائنات؟
توفر البيانات متعددة الأطياف معلومات طيفية إضافية تتجاوز RGB القياسي، مما يتيح للنماذج تمييز الكائنات بناءً على اختلافات طفيفة في الانعكاس عبر الأطوال الموجية. يمكن أن يعزز هذا من دقة الاكتشاف، خاصة في السيناريوهات الصعبة. تعرف على المزيد حول التصوير متعدد الأطياف وتطبيقاته في الرؤية الحاسوبية المتقدمة.
هل تتوافق COCO8-Multispectral مع منصة Ultralytics ونماذج YOLO؟
نعم، تتوافق COCO8-Multispectral تماماً مع منصة Ultralytics وجميع نماذج YOLO، بما في ذلك أحدث إصدار YOLO26. يتيح لك هذا دمج مجموعة البيانات بسهولة في سير عمل التدريب والتحقق الخاص بك.
أين يمكنني العثور على مزيد من المعلومات حول تقنيات تعزيز البيانات؟
للحصول على فهم أعمق لطرق تعزيز البيانات مثل الفسيفساء (mosaic) وتأثيرها على أداء النموذج، ارجع إلى دليل تعزيز بيانات YOLO و مدونة Ultralytics حول تعزيز البيانات.
هل يمكنني استخدام COCO8-Multispectral لقياس الأداء أو للأغراض التعليمية؟
بالتأكيد! الحجم الصغير والطبيعة متعددة الأطياف لمجموعة COCO8-Multispectral تجعلها مثالية لقياس الأداء، والعروض التوضيحية التعليمية، والنماذج الأولية لمعماريات النماذج الجديدة. لمزيد من مجموعات بيانات قياس الأداء، راجع مجموعة بيانات قياس أداء Ultralytics.