Ultralytics YOLO27:

مجموعة بيانات Roboflow 100#

تُعد Roboflow 100، برعاية Intel، مجموعة بيانات معيارية رائدة في اكتشاف الكائنات. تضم 100 مجموعة بيانات متنوعة. صُمم هذا المعيار خصيصًا لاختبار قدرة نماذج الرؤية الحاسوبية، مثل نماذج Ultralytics YOLO، على التكيف مع مجالات متعددة، تشمل الرعاية الصحية والصور الجوية وألعاب الفيديو.

Roboflow 100 diverse object detection benchmark

الميزات الرئيسية#

  • تنوع المجالات: تضم 100 مجموعة بيانات موزعة على سبعة مجالات مختلفة: الصور الجوية، وألعاب الفيديو، والصور المجهرية، وتحت الماء، والمستندات، والكهرومغناطيسية، والعالم الحقيقي.
  • الحجم: يتألف المعيار من 224,714 صورة موزعة على 805 فئات، ويمثل أكثر من 11,170 ساعة من الجهد المبذول في وسم البيانات.
  • التوحيد القياسي: تُجرى معالجة مسبقة لجميع الصور وتُغيّر أبعادها إلى 640x640 بكسل لضمان اتساق التقييم.
  • تقييم منقح: يركز على إزالة الالتباس بين الفئات واستبعاد الفئات محدودة التمثيل لضمان تقييم النموذج بجودة أعلى.
  • التعليقات التوضيحية: تتضمن صناديق محيطة للكائنات، وهي مناسبة لـتدريب نماذج اكتشاف الكائنات وتقييمها باستخدام مقاييس مثل mAP.

بنية مجموعة البيانات#

تُنظّم مجموعة بيانات 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 فئة.

يوفر هذا التنظيم بيئة اختبار متنوعة وواسعة النطاق لنماذج اكتشاف الكائنات، ويعكس طيفًا واسعًا من سيناريوهات التطبيقات الواقعية التي تظهر في مختلف حلول Ultralytics.

قياس الأداء المعياري#

يتضمن قياس الأداء المعياري لمجموعة بيانات تقييم أداء نماذج التعلم الآلي على مجموعات بيانات محددة باستخدام مقاييس موحدة. تشمل المقاييس الشائعة الدقة ومتوسط الدقة (mAP) ودرجة F1. يمكنك معرفة المزيد عنها في دليل مقاييس أداء YOLO.

نتائج قياس الأداء المعياري

تُجمع جميع المخرجات ضمن دليل واحد runs/<task>/multitrain/: وتُضبط كل مجموعة بيانات بدقة في دليل فرعي خاص بها (يحتوي على results.png الخاص بها)، وتُكتب المقاييس الخاصة بكل مجموعة بيانات والمقاييس المتوسطة في multitrain_results.json إلى جانب مخطط أعمدة multitrain_results.png. كما يعيد استدعاء model.train() قاموس {dataset: metrics} لإتاحة الوصول البرمجي.

مثال على قياس الأداء المعياري

ينزّل البرنامج النصي أدناه مجموعات بيانات Roboflow 100 المدرجة في datasets_links.txt من Roboflow، ثم يضبط نموذجًا أساسيًا واحدًا بدقة (مثل YOLO26n) على المجموعة بأكملها عبر استدعاء واحد لـmodel.train(). يؤدي تمرير قائمة بمجموعات البيانات إلى ضبط النموذج الأساسي بدقة على كل منها بالتتابع، مع عرض نتائج المقارنة بين مجموعات البيانات تلقائيًا.

import re
from pathlib import Path

from roboflow import Roboflow

from ultralytics import YOLO
from ultralytics.utils import ASSETS_URL, LOGGER, YAML
from ultralytics.utils.downloads import safe_download

# Download the RF100 datasets (requires a Roboflow API key)
rf = Roboflow(api_key="YOUR_ROBOFLOW_API_KEY")
safe_download(f"{ASSETS_URL}/datasets_links.txt")  # list of RF100 dataset links

datasets = []
for line in Path("datasets_links.txt").read_text().splitlines():
    try:
        _, _url, workspace, project, version = re.split("/+", line.strip())
        location = f"rf-100/{project}-{version}"
        rf.workspace(workspace).project(project).version(version).download("yolov8", location=location)
        yaml = Path(location) / "data.yaml"
        cfg = YAML.load(yaml)  # point train/val at the downloaded image folders
        cfg["train"], cfg["val"] = "train/images", "valid/images"
        YAML.save(yaml, cfg)
        datasets.append(str(yaml))
    except Exception as e:
        LOGGER.warning(f"Failed to prepare dataset from {line!r}: {e}")

# Fine-tune one base model across all RF100 datasets and visualize the cross-dataset results
model = YOLO("yolo26n.pt")
results = model.train(data=datasets, epochs=100, imgsz=640)  # {dataset: metrics}

# Per-dataset runs, multitrain_results.json (per-dataset + mean), and multitrain_results.png are saved
# together under runs/detect/multitrain. Read results in-memory or from the JSON for custom post-processing.
for dataset, metrics in results.items():
    if metrics:  # None if that dataset failed to train
        print(f"{dataset}: mAP50-95 = {metrics['metrics/mAP50-95(B)']:.4f}")

التطبيقات#

تُعد Roboflow 100 قيّمة للغاية لمختلف التطبيقات المتعلقة بـالرؤية الحاسوبية والتعلم العميق. ويمكن للباحثين والمهندسين الاستفادة من هذا المعيار من أجل:

لمزيد من الأفكار والإلهام حول التطبيقات الواقعية، استكشف أدلتنا حول المشاريع العملية، أو اطّلع على منصة Ultralytics لتبسيط تدريب النماذج ونشرها.

الاستخدام#

تتوفر مجموعة بيانات Roboflow 100، بما في ذلك البيانات الوصفية وروابط التنزيل، في مستودع Roboflow 100 الرسمي على GitHub. يمكنك الوصول إلى مجموعة البيانات واستخدامها مباشرةً من هناك لاحتياجات قياس الأداء المعياري. بعد تنزيل مجموعات البيانات وتجهيزها كما هو موضح أعلاه، يمكن ضبط نماذج Ultralytics بدقة على المجموعة بأكملها عبر استدعاء واحد لـmodel.train()، وذلك بتمرير قائمة بملفات YAML لمجموعات البيانات.

البيانات النموذجية والتعليقات التوضيحية#

تتألف Roboflow 100 من مجموعات بيانات تضم صورًا متنوعة التُقطت من زوايا ومجالات مختلفة. فيما يلي أمثلة على صور مشروحة واردة في معيار RF100، تعرض تنوع الكائنات والمشاهد. ويمكن لتقنيات مثل زيادة البيانات تعزيز التنوع أثناء التدريب.

Roboflow 100 sample images with annotations

يمثل التنوع الظاهر في معيار Roboflow 100 تقدمًا ملحوظًا مقارنة بالمعايير التقليدية التي غالبًا ما تركز على تحسين مقياس واحد ضمن مجال محدود. ويساعد هذا النهج الشامل على تطوير نماذج رؤية حاسوبية أكثر متانة وتنوعًا، وقادرة على تحقيق أداء جيد عبر طيف واسع من السيناريوهات المختلفة.

الاستشهادات والشكر والتقدير#

إذا استخدمت مجموعة بيانات Roboflow 100 في أبحاثك أو أعمال التطوير، فيُرجى الاستشهاد بالورقة البحثية الأصلية:

اقتباس
@misc{rf100benchmark,
    Author = {Floriana Ciaglia and Francesco Saverio Zuppichini and Paul Guerrie and Mark McQuade and Jacob Solawetz},
    Title = {Roboflow 100: A Rich, Multi-Domain Object Detection Benchmark},
    Year = {2022},
    Eprint = {arXiv:2211.13523},
    url = {https://arxiv.org/abs/2211.13523}
}

نتقدم بالشكر الجزيل إلى فريق Roboflow وجميع المساهمين على جهودهم الكبيرة في إنشاء مجموعة بيانات Roboflow 100 وصيانتها بوصفها موردًا قيّمًا لمجتمع الرؤية الحاسوبية.

إذا كنت مهتمًا باستكشاف مزيد من مجموعات البيانات لتعزيز مشاريع اكتشاف الكائنات والتعلم الآلي، فتفضل بزيارة مجموعتنا الشاملة من مجموعات البيانات، التي تتضمن مجموعة متنوعة من مجموعات بيانات الكشف الأخرى.

الأسئلة الشائعة#

  • مجموعة بيانات Roboflow 100 هي معيار لتقييم نماذج اكتشاف الكائنات. وتتألف من 100 مجموعة بيانات متنوعة تغطي مجالات مثل الرعاية الصحية والصور الجوية وألعاب الفيديو. وتكمن أهميتها في توفير طريقة موحدة لاختبار قدرة النماذج على التكيف والمتانة عبر نطاق واسع من السيناريوهات الواقعية، متجاوزةً بذلك المعايير التقليدية التي غالبًا ما تقتصر على مجالات محدودة.

  • تغطي مجموعة بيانات Roboflow 100 سبعة مجالات متنوعة، وتوفر تحديات فريدة لنماذج اكتشاف الكائنات:

    1. الصور الجوية: 7 مجموعات بيانات (مثل صور الأقمار الصناعية ومناظر الطائرات المسيّرة).
    2. ألعاب الفيديو: 7 مجموعات بيانات (مثل الكائنات في بيئات ألعاب متنوعة).
    3. الصور المجهرية: 11 مجموعة بيانات (مثل الخلايا والجسيمات).
    4. تحت الماء: 5 مجموعات بيانات (مثل الكائنات البحرية والأجسام المغمورة).
    5. المستندات: 8 مجموعات بيانات (مثل مناطق النصوص وعناصر النماذج).
    6. الكهرومغناطيسية: 12 مجموعة بيانات (مثل بصمات الرادار وتصورات البيانات الطيفية).
    7. العالم الحقيقي: 50 مجموعة بيانات (فئة واسعة تشمل الأغراض اليومية والمشاهد وتجارة التجزئة وغيرها).

    يجعل هذا التنوع معيار RF100 موردًا ممتازًا لتقييم قابلية التعميم لنماذج الرؤية الحاسوبية.

  • عند استخدام مجموعة بيانات Roboflow 100، يُرجى الاستشهاد بالورقة البحثية الأصلية لإسناد الفضل إلى منشئيها. فيما يلي صيغة BibTeX موصى بها للاستشهاد:

    اقتباس
    @misc{rf100benchmark,
        Author = {Floriana Ciaglia and Francesco Saverio Zuppichini and Paul Guerrie and Mark McQuade and Jacob Solawetz},
        Title = {Roboflow 100: A Rich, Multi-Domain Object Detection Benchmark},
        Year = {2022},
        Eprint = {arXiv:2211.13523},
        url = {https://arxiv.org/abs/2211.13523}
    }

    لمزيد من الاستكشاف، يمكنك زيارة مجموعتنا الشاملة من مجموعات البيانات أو تصفح مجموعات بيانات الكشف الأخرى المتوافقة مع نماذج Ultralytics.

التعليقات