تخطي إلى المحتوى

وثائق Ultralytics: استخدام YOLO26 مع SAHI للاستدلال المقطّع

افتح SAHI للاستدلال المقسم في Colab

مرحبًا بك في وثائق Ultralytics حول كيفية استخدام YOLO26 مع SAHI (الاستدلال الفائق بمساعدة التقطيع). يهدف هذا الدليل الشامل إلى تزويدك بجميع المعارف الأساسية التي ستحتاجها لتطبيق SAHI جنبًا إلى جنب مع YOLO26. سنتعمق في ماهية SAHI، ولماذا يعتبر الاستدلال المجزأ حاسمًا للتطبيقات واسعة النطاق، وكيفية دمج هذه الوظائف مع YOLO26 لتحسين أداء الكشف عن الكائنات.

استدلال SAHI المبلط للأجسام الصغيرة

مقدمة إلى SAHI

SAHI (الاستدلال المفرط المدعوم بالتقطيع) هي مكتبة مبتكرة مصممة لتحسين خوارزميات الكشف عن الكائنات للصور واسعة النطاق وعالية الدقة. تكمن وظيفتها الأساسية في تقسيم الصور إلى شرائح يمكن التحكم فيها، وتشغيل الكشف عن الكائنات على كل شريحة، ثم تجميع النتائج مرة أخرى. تتوافق SAHI مع مجموعة من نماذج الكشف عن الكائنات، بما في ذلك سلسلة YOLO، وبالتالي توفر المرونة مع ضمان الاستخدام الأمثل للموارد الحسابية.



شاهد: الاستدلال باستخدام SAHI (الاستدلال الفائق بمساعدة التقطيع) مع Ultralytics YOLO26

الميزات الرئيسية لـ SAHI

  • تكامل سلس: يتكامل SAHI بسهولة مع نماذج YOLO، مما يعني أنه يمكنك البدء في التقطيع والاكتشاف دون الكثير من تعديل التعليمات البرمجية.
  • كفاءة الموارد: من خلال تقسيم الصور الكبيرة إلى أجزاء أصغر، يعمل SAHI على تحسين استخدام الذاكرة، مما يسمح لك بتشغيل اكتشاف عالي الجودة على الأجهزة ذات الموارد المحدودة.
  • دقة عالية: يحافظ SAHI على دقة الكشف عن طريق استخدام خوارزميات ذكية لدمج مربعات الكشف المتداخلة أثناء عملية التجميع.

ما هو الاستدلال المقسم؟

يشير الاستدلال المقسم إلى ممارسة تقسيم صورة كبيرة أو عالية الدقة إلى شرائح (أجزاء) أصغر، وإجراء الكشف عن الكائنات على هذه الشرائح، ثم إعادة تجميع الشرائح لإعادة بناء مواقع الكائنات على الصورة الأصلية. هذه التقنية لا تقدر بثمن في السيناريوهات التي تكون فيها الموارد الحسابية محدودة أو عند العمل مع صور عالية الدقة للغاية والتي قد تؤدي إلى مشاكل في الذاكرة.

فوائد الاستدلال المقسم

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

  • جودة الكشف المحفوظة: نظرًا لأن كل شريحة تُعامل بشكل مستقل، فلا يوجد انخفاض في جودة الكشف عن الكائنات، بشرط أن تكون الشرائح كبيرة بما يكفي لالتقاط الكائنات ذات الأهمية.

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

YOLO26 بدون SAHIYOLO26 مع SAHI
YOLO26 بدون SAHIYOLO26 مع SAHI

التثبيت والإعداد

التثبيت

للبدء، قم بتثبيت أحدث إصدارات SAHI و Ultralytics:

pip install -U ultralytics sahi

استيراد الوحدات النمطية وتنزيل الموارد

إليك كيفية استيراد الوحدات الضرورية وتنزيل نموذج YOLO26 وبعض صور الاختبار:

from sahi.utils.file import download_from_url
from sahi.utils.ultralytics import download_yolo26n_model

# Download YOLO26 model
model_path = "models/yolo26n.pt"
download_yolo26n_model(model_path)

# Download test images
download_from_url(
    "https://raw.githubusercontent.com/obss/sahi/main/demo/demo_data/small-vehicles1.jpeg",
    "demo_data/small-vehicles1.jpeg",
)
download_from_url(
    "https://raw.githubusercontent.com/obss/sahi/main/demo/demo_data/terrain2.png",
    "demo_data/terrain2.png",
)

الاستدلال القياسي مع YOLO26

إنشاء نموذج

يمكنك إنشاء مثيل لنموذج YOLO26 للكشف عن الكائنات بهذه الطريقة:

from sahi import AutoDetectionModel

detection_model = AutoDetectionModel.from_pretrained(
    model_type="ultralytics",
    model_path=model_path,
    confidence_threshold=0.3,
    device="cpu",  # or 'cuda:0'
)

إجراء تنبؤ قياسي

إجراء استدلال قياسي باستخدام مسار صورة أو صورة numpy.

from sahi.predict import get_prediction
from sahi.utils.cv import read_image

# With an image path
result = get_prediction("demo_data/small-vehicles1.jpeg", detection_model)

# With a numpy image
result_with_np_image = get_prediction(read_image("demo_data/small-vehicles1.jpeg"), detection_model)

تصور النتائج

تصدير وتصور المربعات المحيطة والأقنعة المتوقعة:

from IPython.display import Image

result.export_visuals(export_dir="demo_data/")
Image("demo_data/prediction_visual.png")

الاستدلال المجزأ باستخدام YOLO26

إجراء استدلال مُقطّع عن طريق تحديد أبعاد الشريحة ونسب التداخل:

from sahi.predict import get_sliced_prediction

result = get_sliced_prediction(
    "demo_data/small-vehicles1.jpeg",
    detection_model,
    slice_height=256,
    slice_width=256,
    overlap_height_ratio=0.2,
    overlap_width_ratio=0.2,
)

التعامل مع نتائج التنبؤ

توفر SAHI PredictionResult كائن، يمكن تحويله إلى تنسيقات تعليقات توضيحية مختلفة:

# Access the object prediction list
object_prediction_list = result.object_prediction_list

# Convert to COCO annotation, COCO prediction, imantics, and fiftyone formats
result.to_coco_annotations()[:3]
result.to_coco_predictions(image_id=1)[:3]
result.to_imantics_annotations()[:3]
result.to_fiftyone_detections()[:3]

توقع الدفعات

للتنبؤ الدفعي على دليل للصور:

from sahi.predict import predict

predict(
    model_type="ultralytics",
    model_path="path/to/yolo26n.pt",
    model_device="cpu",  # or 'cuda:0'
    model_confidence_threshold=0.4,
    source="path/to/dir",
    slice_height=256,
    slice_width=256,
    overlap_height_ratio=0.2,
    overlap_width_ratio=0.2,
)

أنت الآن جاهز لاستخدام YOLO26 مع SAHI لكل من الاستدلال القياسي والمجزأ.

الاقتباسات والإقرارات

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

@article{akyon2022sahi,
  title={Slicing Aided Hyper Inference and Fine-tuning for Small Object Detection},
  author={Akyon, Fatih Cagatay and Altinuc, Sinan Onur and Temizel, Alptekin},
  journal={2022 IEEE International Conference on Image Processing (ICIP)},
  doi={10.1109/ICIP46576.2022.9897990},
  pages={966-970},
  year={2022}
}

نتقدم بجزيل الشكر إلى مجموعة أبحاث SAHI لإنشاء هذا المورد القيم والحفاظ عليه لمجتمع رؤية الكمبيوتر. لمزيد من المعلومات حول SAHI ومنشئيها، تفضل بزيارة مستودع SAHI GitHub.

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

كيف يمكنني دمج YOLO26 مع SAHI للاستدلال المجزأ في الكشف عن الكائنات؟

إن دمج Ultralytics YOLO26 مع SAHI (الاستدلال الفائق بمساعدة التقطيع) للاستدلال المجزأ يحسن مهام الكشف عن الكائنات في الصور عالية الدقة عن طريق تقسيمها إلى شرائح يمكن إدارتها. يحسن هذا النهج استخدام الذاكرة ويضمن دقة detect عالية. للبدء، تحتاج إلى تثبيت مكتبتي ultralytics و sahi:

pip install -U ultralytics sahi

ثم، قم بتنزيل نموذج YOLO26 وصور اختبار:

from sahi.utils.file import download_from_url
from sahi.utils.ultralytics import download_yolo26n_model

# Download YOLO26 model
model_path = "models/yolo26n.pt"
download_yolo26n_model(model_path)

# Download test images
download_from_url(
    "https://raw.githubusercontent.com/obss/sahi/main/demo/demo_data/small-vehicles1.jpeg",
    "demo_data/small-vehicles1.jpeg",
)

للحصول على إرشادات أكثر تفصيلاً، راجع دليل الاستدلال المقسم الخاص بنا.

لماذا يجب علي استخدام SAHI مع YOLO26 للكشف عن الكائنات في الصور الكبيرة؟

يوفر استخدام SAHI مع Ultralytics YOLO26 للكشف عن الكائنات في الصور الكبيرة العديد من الفوائد:

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

تعرف على المزيد حول فوائد الاستدلال المقسم (sliced inference) في وثائقنا.

هل يمكنني تصور نتائج التنبؤ عند استخدام YOLO26 مع SAHI؟

نعم، يمكنك تصور نتائج التنبؤ عند استخدام YOLO26 مع SAHI. إليك كيفية تصدير النتائج وتصورها:

from IPython.display import Image

result.export_visuals(export_dir="demo_data/")
Image("demo_data/prediction_visual.png")

سيحفظ هذا الأمر التنبؤات المرئية في الدليل المحدد، ويمكنك بعد ذلك تحميل الصورة لعرضها في دفتر الملاحظات أو التطبيق الخاص بك. للحصول على دليل مفصل، تحقق من قسم الاستدلال القياسي.

ما هي الميزات التي يقدمها SAHI لتحسين الكشف عن الكائنات باستخدام YOLO26؟

يقدم SAHI (الاستدلال الفائق بمساعدة التقطيع) عدة ميزات تكمل Ultralytics YOLO26 للكشف عن الكائنات:

  • تكامل سلس: يتكامل SAHI بسهولة مع نماذج YOLO، مما يتطلب الحد الأدنى من تعديلات التعليمات البرمجية.
  • كفاءة الموارد: يقوم بتقسيم الصور الكبيرة إلى شرائح أصغر، مما يحسن استخدام الذاكرة والسرعة.
  • دقة عالية: من خلال الدمج الفعال لمربعات الكشف المتداخلة أثناء عملية التجميع، يحافظ SAHI على دقة كشف عالية.

لفهم أعمق، اقرأ عن الميزات الرئيسية لـ SAHI.

كيف أتعامل مع مشاريع الاستدلال واسعة النطاق باستخدام YOLO26 و SAHI؟

للتعامل مع مشاريع الاستدلال واسعة النطاق باستخدام YOLO26 و SAHI، اتبع أفضل الممارسات التالية:

  1. تثبيت المكتبات المطلوبة: تأكد من أن لديك أحدث الإصدارات من ultralytics و sahi.
  2. تكوين الاستدلال المقسم: حدد الأبعاد المثالية للشرائح ونسب التداخل لمشروعك المحدد.
  3. تشغيل التنبؤات المجمعة: استخدم قدرات SAHI لإجراء تنبؤات مجمعة على دليل للصور، مما يحسن الكفاءة.

مثال للتنبؤ الدفعي:

from sahi.predict import predict

predict(
    model_type="ultralytics",
    model_path="path/to/yolo26n.pt",
    model_device="cpu",  # or 'cuda:0'
    model_confidence_threshold=0.4,
    source="path/to/dir",
    slice_height=256,
    slice_width=256,
    overlap_height_ratio=0.2,
    overlap_width_ratio=0.2,
)

للحصول على خطوات أكثر تفصيلاً، قم بزيارة قسمنا حول التنبؤ بالدُفعات.



📅 تم الإنشاء قبل 2 أعوام ✏️ تم التحديث قبل 7 أيام
glenn-jocherRizwanMunawarpderrengerCoderUniUltralyticsAssistantMatthewNoyce

تعليقات