Roboflow 100 مجموعة بيانات
Roboflow 100، الذي طورته Roboflow برعاية Intel ، وهو معيار رائد للكشف عن الأجسام. يتضمن 100 مجموعة بيانات متنوعة تم أخذ عينات منها من أكثر من 90,000 مجموعة بيانات عامة. تم تصميم هذا المعيار لاختبار قدرة النماذج على التكيف مع مختلف المجالات، بما في ذلك الرعاية الصحية والصور الجوية وألعاب الفيديو.
الميزات الرئيسية
- يتضمن 100 مجموعة بيانات عبر سبعة مجالات: الجوي، وألعاب الفيديو، والميكروسكوبي، وتحت الماء، والوثائق، والكهرومغناطيسي، والعالم الحقيقي.
- يضمّ المعيار 224,714 صورة في 805 فئات، وذلك بفضل أكثر من 11,170 ساعة من جهود وضع العلامات.
- تم تغيير حجم جميع الصور إلى 640 × 640 بكسل، مع التركيز على إزالة الغموض في الفئات وتصفية الفئات الممثلة تمثيلاً ناقصًا.
- تتضمن التعليقات التوضيحية مربعات تحديد للأجسام، مما يجعلها مناسبة لتدريب وتقييم نماذج اكتشاف الأجسام.
هيكلية مجموعة البيانات
تم تنظيم مجموعة البيانات Roboflow 100 في سبع فئات، لكل منها مجموعة متميزة من مجموعات البيانات والصور والفئات:
- جوي: تتكون من 7 مجموعات بيانات بإجمالي 9,683 صورة، تغطي 24 فئة متميزة.
- ألعاب الفيديو: تتضمن 7 مجموعات بيانات، تضم 11,579 صورة في 88 فئة.
- مجهري: تضم 11 مجموعة بيانات تحتوي على 13,378 صورة، تشمل 28 فئة.
- تحت الماء: يحتوي على 5 مجموعات بيانات، تشمل 18,003 صور في 39 فئة.
- المستندات: تتكون من 8 مجموعات بيانات تحتوي على 24,813 صورة، مقسمة إلى 90 فئة.
- الكهرومغناطيسية: تتكون من 12 مجموعة بيانات، بإجمالي 36,381 صورة في 41 فئة.
- العالم الحقيقي: أكبر فئة تضم 50 مجموعة بيانات، تقدم 110,615 صورة في 495 فئة.
تتيح هذه البنية أرضية اختبار متنوعة وشاملة لنماذج الكشف عن الأجسام، مما يعكس سيناريوهات التطبيق في العالم الحقيقي.
المقارنة المعيارية
تقيّم مجموعة البيانات المعيارية أداء نموذج التعلّم الآلي على مجموعات بيانات محددة باستخدام مقاييس موحدة مثل الدقة ومتوسط متوسط الدقة ودرجة F1.
المقارنة المعيارية
سيتم تخزين نتائج المقارنة المعيارية في "ultralytics-benchmarks/evaluation.txt"
مثال للمقارنة المعيارية
import os
import shutil
from pathlib import Path
from ultralytics.utils.benchmarks import RF100Benchmark
# Initialize RF100Benchmark and set API key
benchmark = RF100Benchmark()
benchmark.set_key(api_key="YOUR_ROBOFLOW_API_KEY")
# Parse dataset and define file paths
names, cfg_yamls = benchmark.parse_dataset()
val_log_file = Path("ultralytics-benchmarks") / "validation.txt"
eval_log_file = Path("ultralytics-benchmarks") / "evaluation.txt"
# Run benchmarks on each dataset in RF100
for ind, path in enumerate(cfg_yamls):
path = Path(path)
if path.exists():
# Fix YAML file and run training
benchmark.fix_yaml(str(path))
os.system(f"yolo detect train data={path} model=yolo11s.pt epochs=1 batch=16")
# Run validation and evaluate
os.system(f"yolo detect val data={path} model=runs/detect/train/weights/best.pt > {val_log_file} 2>&1")
benchmark.evaluate(str(path), str(val_log_file), str(eval_log_file), ind)
# Remove the 'runs' directory
runs_dir = Path.cwd() / "runs"
shutil.rmtree(runs_dir)
else:
print("YAML file path does not exist")
continue
print("RF100 Benchmarking completed!")
التطبيقات
Roboflow 100 لا يقدر بثمن بالنسبة لمختلف التطبيقات المتعلقة بالرؤية الحاسوبية والتعلم العميق. يمكن للباحثين والمهندسين استخدام هذا المعيار من أجل:
- تقييم أداء نماذج اكتشاف الأجسام في سياق متعدد المجالات.
- اختبار قابلية تكييف النماذج مع سيناريوهات العالم الحقيقي بما يتجاوز التعرف على الأشياء الشائعة.
- قم بمقارنة قدرات نماذج اكتشاف الأجسام عبر مجموعات بيانات متنوعة، بما في ذلك تلك الموجودة في الرعاية الصحية والصور الجوية وألعاب الفيديو.
للمزيد من الأفكار والإلهام حول التطبيقات الواقعية، تأكد من الاطلاع على أدلة المشاريع الواقعية.
الاستخدام
مجموعة البيانات Roboflow 100 متاحة على كل من GitHub و Roboflow Universe.
يمكنك الوصول إليها مباشرةً من مستودع Roboflow 100 GitHub. بالإضافة إلى ذلك، على Roboflow Universe، لديك المرونة لتنزيل مجموعات البيانات الفردية بمجرد النقر على زر التصدير داخل كل مجموعة بيانات.
عينة من البيانات والشروح
Roboflow يتكون المعيار 100 من مجموعات بيانات تحتوي على صور ومقاطع فيديو متنوعة تم التقاطها من زوايا ومجالات مختلفة. إليك نظرة على أمثلة للصور المشروحة في معيار RF100.
يعد التنوع في معيار Roboflow 100 الذي يمكن رؤيته أعلاه تقدمًا كبيرًا عن المعايير التقليدية التي غالبًا ما تركز على تحسين مقياس واحد ضمن مجال محدود.
الاستشهادات والشكر والتقدير
إذا كنت تستخدم مجموعة البيانات Roboflow 100 في أعمال البحث أو التطوير الخاصة بك، يرجى الاستشهاد بالورقة التالية:
نتوجه بالشكر إلى فريق Roboflow وجميع المساهمين على عملهم الدؤوب في إنشاء مجموعة بيانات Roboflow 100 والحفاظ عليها.
إذا كنت مهتمًا باستكشاف المزيد من مجموعات البيانات لتحسين مشاريعك في اكتشاف الكائنات والتعلم الآلي، فلا تتردد في زيارة مجموعة البيانات الشاملة الخاصة بنا.
الأسئلة الشائعة
ما هي مجموعة البيانات Roboflow 100، ولماذا هي مهمة لاكتشاف الأجسام؟
مجموعة البيانات Roboflow 100، التي طورتها شركة Roboflow برعاية Intel ، وهي معيار حاسم للكشف عن الأجسام. وتضم 100 مجموعة بيانات متنوعة من أكثر من 90,000 مجموعة بيانات عامة، تغطي مجالات مثل الرعاية الصحية والصور الجوية وألعاب الفيديو. ويضمن هذا التنوع قدرة النماذج على التكيف مع مختلف سيناريوهات العالم الحقيقي، مما يعزز متانتها وأدائها.
كيف يمكنني استخدام مجموعة البيانات Roboflow 100 لقياس نماذج الكشف عن الأجسام الخاصة بي؟
لاستخدام مجموعة البيانات Roboflow 100 لقياس الأداء، يمكنك تنفيذ فئة RF100Benchmark من مكتبة Ultralytics . إليك مثال موجز:
مثال للمقارنة المعيارية
import os
import shutil
from pathlib import Path
from ultralytics.utils.benchmarks import RF100Benchmark
# Initialize RF100Benchmark and set API key
benchmark = RF100Benchmark()
benchmark.set_key(api_key="YOUR_ROBOFLOW_API_KEY")
# Parse dataset and define file paths
names, cfg_yamls = benchmark.parse_dataset()
val_log_file = Path("ultralytics-benchmarks") / "validation.txt"
eval_log_file = Path("ultralytics-benchmarks") / "evaluation.txt"
# Run benchmarks on each dataset in RF100
for ind, path in enumerate(cfg_yamls):
path = Path(path)
if path.exists():
# Fix YAML file and run training
benchmark.fix_yaml(str(path))
os.system(f"yolo detect train data={path} model=yolo11n.pt epochs=1 batch=16")
# Run validation and evaluate
os.system(f"yolo detect val data={path} model=runs/detect/train/weights/best.pt > {val_log_file} 2>&1")
benchmark.evaluate(str(path), str(val_log_file), str(eval_log_file), ind)
# Remove 'runs' directory
runs_dir = Path.cwd() / "runs"
shutil.rmtree(runs_dir)
else:
print("YAML file path does not exist")
continue
print("RF100 Benchmarking completed!")
ما هي المجالات التي تغطيها مجموعة البيانات Roboflow 100؟
تمتد مجموعة البيانات Roboflow 100 على سبعة مجالات، يوفر كل منها تحديات وتطبيقات فريدة لنماذج اكتشاف الأجسام:
- جوي: 7 مجموعات بيانات، 9,683 صورة، 24 فئة
- ألعاب الفيديو: 7 مجموعات بيانات، 11,579 صورة، 88 فئة
- مجهري: 11 مجموعة بيانات، 13,378 صورة، 28 فئة
- تحت الماء: 5 مجموعات بيانات، 18,003 صورة، 39 فئة
- المستندات: 8 مجموعات بيانات، 24,813 صورة، 90 فئة
- الكهرومغناطيسية: 12 مجموعة بيانات، 36,381 صورة، 41 فئة
- العالم الحقيقي: 50 مجموعة بيانات، 110,615 صورة، 495 فئة
يسمح هذا الإعداد بإجراء اختبارات مكثفة ومتنوعة للنماذج عبر تطبيقات واقعية مختلفة.
كيف يمكنني الوصول إلى مجموعة بيانات Roboflow 100 وتنزيلها؟
يمكن الوصول إلى مجموعة البيانات Roboflow 100 على GitHub و Roboflow Universe. يمكنك تنزيل مجموعة البيانات بالكامل من GitHub أو تحديد مجموعات بيانات فردية على Roboflow Universe باستخدام زر التصدير.
ما الذي يجب أن أدرجه عند الاستشهاد بمجموعة البيانات Roboflow 100 في بحثي؟
عند استخدام مجموعة البيانات Roboflow 100 في بحثك، تأكد من الاستشهاد بها بشكل صحيح. إليك الاقتباس الموصى به:
لمزيد من التفاصيل، يمكنك الرجوع إلى مجموعة البيانات الشاملة الخاصة بنا.