مجموعة بيانات COCO8-Multispectral

مقدمة

تُعد مجموعة بيانات COCO8-Multispectral من Ultralytics نسخة متطورة من مجموعة بيانات COCO8 الأصلية، وهي مصممة لتسهيل إجراء التجارب على نماذج اكتشاف الكائنات متعددة الأطياف. تتكون المجموعة من نفس الصور الثمانية الموجودة في مجموعة بيانات COCO train 2017—أربع صور للتدريب وأربع للتحقق—ولكن مع تحويل كل صورة إلى تنسيق متعدد الأطياف بـ 10 قنوات. ومن خلال التوسع إلى ما وراء قنوات RGB القياسية، تتيح مجموعة COCO8-Multispectral تطوير وتقييم النماذج التي يمكنها الاستفادة من معلومات طيفية أكثر ثراءً.

Multispectral imaging for object detection

تتوافق مجموعة 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/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
ملاحظة

Prepare 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:

COCO8 multispectral dataset mosaic training batch
  • صورة مجمعة (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.

التعليقات