Link to this sectionنظرة عامة على مجموعات بيانات اكتشاف الكائنات#
يتطلب تدريب نموذج اكتشاف كائنات قوي ودقيق مجموعة بيانات شاملة. يقدم هذا الدليل تنسيقات مختلفة لمجموعات البيانات المتوافقة مع نموذج Ultralytics YOLO ويوفر رؤى حول هيكلها واستخدامها وكيفية التحويل بين التنسيقات المختلفة.
Link to this sectionتنسيقات مجموعات البيانات المدعومة#
Link to this sectionتنسيق Ultralytics YOLO#
تنسيق Ultralytics YOLO هو تنسيق لتكوين مجموعة البيانات يسمح لك بتحديد الدليل الجذر لمجموعة البيانات، والمسارات النسبية لأدلة صور التدريب/التحقق من الصحة/الاختبار أو ملفات *.txt التي تحتوي على مسارات الصور، وقاموس بأسماء الفئات. فيما يلي مثال:
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# COCO8 dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco8/
# Example usage: yolo train data=coco8.yaml
# parent
# ├── ultralytics
# └── datasets
# └── coco8 ← downloads here (1 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 # 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)
# 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.zipيجب تصدير الملصقات لهذا التنسيق إلى تنسيق YOLO مع ملف *.txt واحد لكل صورة. إذا لم تكن هناك كائنات في الصورة، فلا يلزم وجود ملف *.txt. يجب تنسيق ملف *.txt بحيث يحتوي على صف واحد لكل كائن بتنسيق class x_center y_center width height. يجب أن تكون إحداثيات المربع بتنسيق xywh مُطبع (من 0 إلى 1). إذا كانت مربعاتك بالبكسل، فيجب عليك تقسيم x_center و width على عرض الصورة، وتقسيم y_center و height على ارتفاع الصورة. يجب أن تكون أرقام الفئات مفهرسة من الصفر (تبدأ بـ 0).

يحتوي ملف الملصق المقابل للصورة أعلاه على شخصين (الفئة 0) وربطة عنق (الفئة 27):

عند استخدام تنسيق Ultralytics YOLO، قم بتنظيم صور التدريب والتحقق من الصحة وملصقاتها كما هو موضح في مثال مجموعة بيانات COCO8 أدناه.

Link to this sectionمثال على الاستخدام#
إليك كيفية استخدام مجموعات بيانات تنسيق YOLO لتدريب نموذجك:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)Link to this sectionتنسيق Ultralytics NDJSON#
يوفر تنسيق NDJSON (JSON محدد بأسطر جديدة) طريقة بديلة لتحديد مجموعات البيانات لنماذج Ultralytics YOLO. يخزن هذا التنسيق البيانات الوصفية لمجموعة البيانات والتعليقات التوضيحية في ملف واحد حيث يحتوي كل سطر على كائن JSON منفصل.
يحتوي ملف مجموعة بيانات NDJSON على:
- سجل مجموعة البيانات (السطر الأول): يحتوي على البيانات الوصفية لمجموعة البيانات بما في ذلك نوع المهمة، وأسماء الفئات، والمعلومات العامة
- سجلات الصور (الأسطر اللاحقة): تحتوي على بيانات الصور الفردية بما في ذلك الأبعاد، والتعليقات التوضيحية، ومسارات الملفات
{
"type": "dataset",
"task": "detect",
"name": "Example",
"description": "COCO NDJSON example dataset",
"url": "https://app.ultralytics.com/user/datasets/example",
"class_names": { "0": "person", "1": "bicycle", "2": "car" },
"bytes": 426342,
"version": 0,
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2025-01-01T00:00:00Z"
}Link to this sectionمثال على الاستخدام#
لاستخدام مجموعة بيانات NDJSON مع YOLO26، ما عليك سوى تحديد المسار إلى ملف .ndjson:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.pt")
# Train using NDJSON dataset
results = model.train(data="path/to/dataset.ndjson", epochs=100, imgsz=640)Link to this sectionمزايا تنسيق NDJSON#
- ملف واحد: جميع معلومات مجموعة البيانات موجودة في ملف واحد
- البث: يمكن معالجة مجموعات البيانات الكبيرة سطرًا بسطر دون تحميل كل شيء في الذاكرة
- التكامل السحابي: يدعم روابط الصور البعيدة للتدريب المستند إلى السحابة
- قابل للتوسيع: من السهل إضافة حقول بيانات وصفية مخصصة
- التحكم في الإصدار: تنسيق الملف الواحد يعمل بشكل جيد مع git وأنظمة التحكم في الإصدار
Link to this sectionمجموعات البيانات المدعومة#
فيما يلي قائمة بمجموعات البيانات المدعومة ووصف موجز لكل منها:
- African-wildlife: مجموعة بيانات تحتوي على صور للحياة البرية الأفريقية، بما في ذلك الجاموس والفيل ووحيد القرن والحمار الوحشي.
- Argoverse: مجموعة بيانات تحتوي على بيانات تتبع ثلاثي الأبعاد وتنبؤ بالحركة من بيئات حضرية مع تعليقات توضيحية غنية.
- Brain-tumor: مجموعة بيانات لاكتشاف أورام المخ تتضمن صور الرنين المغناطيسي أو الأشعة المقطعية مع تفاصيل حول وجود الورم وموقعه وخصائصه.
- COCO: تعد Common Objects in Context (COCO) مجموعة بيانات واسعة النطاق لـ اكتشاف الكائنات، والتجزئة، والتعليق التوضيحي مع 80 فئة من الكائنات.
- COCO8: مجموعة فرعية أصغر من أول 4 صور من تدريب COCO والتحقق من صحة COCO، مناسبة للاختبارات السريعة.
- COCO8-Grayscale: نسخة بتدرج الرمادي من COCO8 تم إنشاؤها عن طريق تحويل RGB إلى تدرج الرمادي، مفيدة لتقييم النماذج ذات القناة الواحدة.
- COCO8-Multispectral: نسخة متعددة الأطياف مكونة من 10 قنوات من COCO8 تم إنشاؤها عن طريق استيفاء أطوال موجات RGB، مفيدة لتقييم النماذج الواعية بالطيف.
- COCO12-Formats: مجموعة بيانات اختبار تحتوي على 12 صورة تغطي 12 تنسيق صور مدعوم (AVIF, BMP, DNG, HEIC, JP2, JPEG, JPG, MPO, PNG, TIF, TIFF, WebP) للتحقق من خطوط أنابيب تحميل الصور.
- COCO128: مجموعة فرعية أصغر مكونة من أول 128 صورة من COCO train2017، وهي مناسبة للاختبارات.
- Construction-PPE: مجموعة بيانات تضم عمال مواقع البناء مع معدات سلامة مصنفة مثل الخوذات والسترات والقفازات والأحذية والنظارات الواقية، بما في ذلك تعليقات توضيحية للمعدات المفقودة مثل no_helmet، no_goggle لمراقبة الامتثال في العالم الحقيقي.
- Global Wheat 2020: مجموعة بيانات تحتوي على صور لرؤوس القمح لتحدي القمح العالمي لعام 2020.
- HomeObjects-3K: مجموعة بيانات من الأدوات المنزلية الداخلية بما في ذلك الأسرة والكراسي وأجهزة التلفزيون والمزيد - مثالية للتطبيقات في أتمتة المنازل الذكية، والروبوتات، والواقع المعزز، وتحليل تخطيط الغرف.
- KITTI: مجموعة بيانات تضم مشاهد قيادة حقيقية مع بيانات ستيريو، وLiDAR، وGPS/IMU، تُستخدم هنا لمهام اكتشاف الكائنات ثنائية الأبعاد مثل تحديد السيارات والمشاة وراكبي الدراجات في البيئات الحضرية والريفية والطرق السريعة.
- LVIS: مجموعة بيانات واسعة النطاق لاكتشاف الكائنات، والتجزئة، والتعليق التوضيحي مع 1203 فئة من الكائنات.
- Medical-pills: مجموعة بيانات تحتوي على صور للأقراص الطبية، تم وضع تعليقات توضيحية عليها لتطبيقات مثل ضمان جودة الأدوية، وفرز الأقراص، والامتثال التنظيمي.
- Objects365: مجموعة بيانات عالية الجودة وواسعة النطاق لاكتشاف الكائنات مع 365 فئة من الكائنات وأكثر من 600 ألف صورة بها تعليقات توضيحية.
- OpenImagesV7: مجموعة بيانات شاملة من Google تحتوي على 1.7 مليون صورة تدريب و42 ألف صورة للتحقق من الصحة.
- Roboflow 100: معيار متنوع لاكتشاف الكائنات مع 100 مجموعة بيانات تغطي سبعة مجالات تصوير لتقييم شامل للنموذج.
- Signature: مجموعة بيانات تحتوي على صور لمستندات مختلفة بها توقيعات مصنفة، لدعم أبحاث التحقق من المستندات واكتشاف الاحتيال.
- SKU-110K: مجموعة بيانات تتميز باكتشاف الكائنات الكثيفة في بيئات البيع بالتجزئة مع أكثر من 11 ألف صورة و1.7 مليون مربع تحديد.
- TT100K: استكشف مجموعة بيانات إشارات المرور Tsinghua-Tencent 100K (TT100K) مع 100,000 صورة لمنظر الشارع وأكثر من 30,000 إشارة مرور مصنفة للاكتشاف والتصنيف القويين.
- VisDrone: مجموعة بيانات تحتوي على بيانات اكتشاف الكائنات وتتبع كائنات متعددة من صور ملتقطة بطائرات بدون طيار مع أكثر من 10 آلاف صورة وتسلسلات فيديو.
- VOC: مجموعة بيانات فئات كائنات Pascal البصرية (VOC) لاكتشاف وتجزئة الكائنات مع 20 فئة من الكائنات وأكثر من 11 ألف صورة.
- xView: مجموعة بيانات لاكتشاف الكائنات في الصور العلوية مع 60 فئة من الكائنات وأكثر من مليون كائن مصنف.
Link to this sectionإضافة مجموعة البيانات الخاصة بك#
إذا كانت لديك مجموعة بيانات خاصة بك وترغب في استخدامها لتدريب نماذج الاكتشاف باستخدام تنسيق Ultralytics YOLO، فتأكد من أنها تتبع التنسيق المحدد أعلاه تحت "تنسيق Ultralytics YOLO". قم بتحويل تعليقاتك التوضيحية إلى التنسيق المطلوب وحدد المسارات، وعدد الفئات، وأسماء الفئات في ملف تكوين YAML.
Link to this sectionنقل أو تحويل تنسيقات الملصقات#
Link to this sectionتنسيق مجموعة بيانات COCO إلى تنسيق YOLO#
يمكنك بسهولة تحويل الملصقات من تنسيق مجموعة بيانات COCO الشهير إلى تنسيق YOLO باستخدام مقتطف التعليمات البرمجية التالي:
from ultralytics.data.converter import convert_coco
convert_coco(labels_dir="path/to/coco/annotations/")يمكن استخدام أداة التحويل هذه لتحويل مجموعة بيانات COCO أو أي مجموعة بيانات بتنسيق COCO إلى تنسيق Ultralytics YOLO. تقوم العملية بتحويل تعليقات COCO المستندة إلى JSON إلى تنسيق YOLO المستند إلى النص الأبسط، مما يجعله متوافقاً مع نماذج Ultralytics YOLO.
تذكر أن تتحقق جيداً مما إذا كانت مجموعة البيانات التي تريد استخدامها متوافقة مع نموذجك وتتبع اتفاقيات التنسيق اللازمة. تعتبر مجموعات البيانات المنسقة بشكل صحيح أمراً بالغ الأهمية لتدريب نماذج اكتشاف كائنات ناجحة.
Link to this sectionالأسئلة الشائعة#
Link to this sectionما هو تنسيق مجموعة بيانات Ultralytics YOLO وكيفية هيكلته؟#
تنسيق Ultralytics YOLO هو تكوين منظم لتحديد مجموعات البيانات في مشاريع التدريب الخاصة بك. يتضمن ذلك تعيين مسارات لصور التدريب، والتحقق من الصحة، والاختبار والملصقات المقابلة. على سبيل المثال:
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# COCO8 dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco8/
# Example usage: yolo train data=coco8.yaml
# parent
# ├── ultralytics
# └── datasets
# └── coco8 ← downloads here (1 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 # 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)
# 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.zipيتم حفظ الملصقات في ملفات *.txt مع ملف واحد لكل صورة، منسقة كـ class x_center y_center width height مع إحداثيات مُطبعة. للحصول على دليل مفصل، راجع مثال مجموعة بيانات COCO8.
Link to this sectionكيف أقوم بتحويل مجموعة بيانات COCO إلى تنسيق YOLO؟#
يمكنك تحويل مجموعة بيانات COCO إلى تنسيق YOLO باستخدام أدوات تحويل Ultralytics. إليك طريقة سريعة:
from ultralytics.data.converter import convert_coco
convert_coco(labels_dir="path/to/coco/annotations/")سيقوم هذا الكود بتحويل تعليقات COCO التوضيحية إلى تنسيق YOLO، مما يتيح تكاملاً سلساً مع نماذج Ultralytics YOLO. للحصول على تفاصيل إضافية، قم بزيارة قسم نقل أو تحويل تنسيقات الملصقات.
Link to this sectionما هي مجموعات البيانات المدعومة من قبل Ultralytics YOLO لاكتشاف الكائنات؟#
يدعم Ultralytics YOLO مجموعة واسعة من مجموعات البيانات، بما في ذلك:
توفر كل صفحة مجموعة بيانات معلومات مفصلة حول الهيكل والاستخدام المصمم لتدريب YOLO26 بكفاءة. استكشف القائمة الكاملة في قسم مجموعات البيانات المدعومة.
Link to this sectionكيف أبدأ في تدريب نموذج YOLO26 باستخدام مجموعة البيانات الخاصة بي؟#
لبدء تدريب نموذج YOLO26، تأكد من تنسيق مجموعة البيانات الخاصة بك بشكل صحيح وأن المسارات محددة في ملف YAML. استخدم البرنامج النصي التالي لبدء التدريب:
from ultralytics import YOLO
model = YOLO("yolo26n.pt") # Load a pretrained model
results = model.train(data="path/to/your_dataset.yaml", epochs=100, imgsz=640)راجع قسم الاستخدام لمزيد من التفاصيل حول استخدام أوضاع مختلفة، بما في ذلك أوامر CLI.
Link to this sectionأين يمكنني العثور على أمثلة عملية لاستخدام Ultralytics YOLO لاكتشاف الكائنات؟#
يوفر Ultralytics العديد من الأمثلة والأدلة العملية لاستخدام YOLO26 في تطبيقات متنوعة. للحصول على نظرة عامة شاملة، قم بزيارة مدونة Ultralytics حيث يمكنك العثور على دراسات حالة، ودروس مفصلة، وقصص مجتمعية تعرض اكتشاف الكائنات، والتجزئة، والمزيد باستخدام YOLO26. للحصول على أمثلة محددة، تحقق من قسم الاستخدام في الوثائق.