رؤية YOLO لعام 2026:

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

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

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

SAHI tiled inference for small objects

مقدمة عن SAHI#

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



Watch: How to use SAHI with Ultralytics YOLO26 to Detect Small Objects | Slicing Aided Hyper Inference 🚀

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

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

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

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

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

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

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

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

YOLO26 without SAHIYOLO26 with SAHI
YOLO26 without SAHIYOLO26 with SAHI

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

التثبيت#

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

pip install -U ultralytics sahi

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

إليك كيفية تنزيل بعض صور الاختبار:

from sahi.utils.file import download_from_url

# 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="yolo26n.pt",
    confidence_threshold=0.3,
    device="cpu",  # or 'cuda:0'
)

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

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

from sahi.predict import get_prediction

result = get_prediction("demo_data/small-vehicles1.jpeg", detection_model)

result.export_visuals(export_dir="demo_data/", hide_conf=True)

تصور النتائج#

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

from PIL import Image

# Open the predicted image
processed_image = Image.open("demo_data/prediction_visual.png")

# Display the predicted image
processed_image.show()

الاستدلال المقسم باستخدام YOLO26#

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

from PIL import Image
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,
)

# Export results
result.export_visuals(export_dir="demo_data/", hide_conf=True)

# Open the predicted image
processed_image = Image.open("demo_data/prediction_visual.png")

# Display the predicted image
processed_image.show()

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

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

# Access the object prediction list
object_prediction_list = result.object_prediction_list

# Convert to COCO annotation and COCO prediction formats
result.to_coco_annotations()[:3]
result.to_coco_predictions(image_id=1)[:3]
تنسيقات تصدير إضافية

يمكن لـ PredictionResult أيضاً تحويل عمليات الكشف إلى كائنات imantics و FiftyOne باستخدام result.to_imantics_annotations() و result.to_fiftyone_detections(). تتطلب هذه الطرق الحزم الخاصة بها، لذا قم بتثبيتها أولاً باستخدام pip install imantics fiftyone.

التنبؤ الدفعي#

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

from sahi.predict import predict

predict(
    model_type="ultralytics",
    model_path="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 على إنشاء وصيانة هذا المورد القیم لمجتمع computer vision. لمزيد من المعلومات حول SAHI ومبتكريها، تفضل بزيارة SAHI GitHub repository.

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

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

    pip install -U ultralytics sahi

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

    from sahi.utils.file import download_from_url
    
    # 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",
    )

    لمزيد من التعليمات التفصيلية، راجع Sliced Inference guide.

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

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

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

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

    from PIL import Image
    
    result.export_visuals(export_dir="demo_data/", hide_conf=True)
    
    processed_image = Image.open("demo_data/prediction_visual.png")
    
    processed_image.show()

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

  • يوفر SAHI (الاستدلال الفائق بمساعدة التقسيم) العديد من الميزات التي تكمل Ultralytics YOLO26 لاكتشاف الأشياء:

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

    لفهم أعمق، اقرأ عن key features الخاصة بـ 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,
    )

    لمزيد من الخطوات التفصيلية، تفضل بزيارة قسمنا حول Batch Prediction.

التعليقات