Ultralytics المستندات استخدام YOLO11 مع SAHI للاستدلال المقطعي
مرحبًا بك في وثائق Ultralytics حول كيفية استخدام YOLO11 مع SAHI (الاستدلال المفرط بمساعدة SAHI ). يهدف هذا الدليل الشامل إلى تزويدك بجميع المعارف الأساسية التي ستحتاجها لتطبيق SAHI جنبًا إلى جنب مع YOLO11. سنقوم بالتعمق في ماهية SAHI، وسبب أهمية الاستدلال المقطعي للتطبيقات واسعة النطاق، وكيفية دمج هذه الوظائف مع YOLO11 لتحسين أداء اكتشاف الكائنات.
مقدمة إلى SAHI
SAHI (الاستدلال المفرط بمساعدة التقطيع) هي مكتبة مبتكرة مصممة لتحسين خوارزميات اكتشاف الأجسام للصور واسعة النطاق وعالية الدقة. وتكمن وظيفتها الأساسية في تقسيم الصور إلى شرائح يمكن التحكم فيها، وتشغيل عملية اكتشاف الأجسام على كل شريحة، ثم تجميع النتائج معًا. يتوافق SAHI مع مجموعة من نماذج الكشف عن الأجسام، بما في ذلك سلسلة YOLO ، مما يوفر المرونة مع ضمان الاستخدام الأمثل للموارد الحاسوبية.
شاهد: الاستدلال باستخدام SAHI (الاستدلال المفرط بمساعدة التقطيع) باستخدام Ultralytics YOLO11
الميزات الرئيسية لـ SAHI
- التكامل السلس: يتكامل SAHI دون عناء مع نماذج YOLO ، مما يعني أنه يمكنك البدء في التقطيع والكشف دون الحاجة إلى الكثير من تعديل التعليمات البرمجية.
- كفاءة الموارد: من خلال تجزئة الصور الكبيرة إلى أجزاء أصغر، يعمل SAHI على تحسين استخدام الذاكرة، مما يسمح لك بتشغيل كشف عالي الجودة على أجهزة ذات موارد محدودة.
- دقة عالية: يحافظ SAHI على دقة الكشف من خلال استخدام خوارزميات ذكية لدمج مربعات الكشف المتداخلة أثناء عملية الدمج.
ما هو الاستدلال المقطعي؟
يشير مصطلح الاستدلال الشرائحي إلى ممارسة تقسيم صورة كبيرة أو عالية الدقة إلى شرائح (شرائح) أصغر، وإجراء عملية الكشف عن الأجسام على هذه الشرائح، ثم إعادة تجميع الشرائح لإعادة بناء مواقع الأجسام على الصورة الأصلية. هذه التقنية لا تُقدّر بثمن في السيناريوهات التي تكون فيها الموارد الحاسوبية محدودة أو عند العمل مع صور عالية الدقة للغاية قد تؤدي إلى مشاكل في الذاكرة.
فوائد الاستدلال المقطعي
-
تقليل العبء الحسابي: تُعد شرائح الصور الأصغر حجمًا أسرع في المعالجة، وتستهلك ذاكرة أقل، مما يتيح تشغيلًا أكثر سلاسة على الأجهزة ذات الأجهزة المنخفضة.
-
الحفاظ على جودة الكشف: نظرًا لأنه يتم التعامل مع كل شريحة بشكل مستقل، فلا يوجد انخفاض في جودة اكتشاف الأجسام، شريطة أن تكون الشرائح كبيرة بما يكفي لالتقاط الأجسام محل الاهتمام.
-
قابلية التوسع المحسّنة: تسمح هذه التقنية بتوسيع نطاق الكشف عن الأجسام بسهولة أكبر عبر أحجام ودقة مختلفة من الصور، مما يجعلها مثالية لمجموعة واسعة من التطبيقات من صور الأقمار الصناعية إلى التشخيص الطبي.
YOLO11 بدون SAHI | YOLO11 مع SAHI |
---|---|
التركيب والتحضير
التركيب
للبدء، قم بتثبيت أحدث إصدارات SAHI و Ultralytics:
استيراد الوحدات النمطية وتحميل الموارد
إليك كيفية استيراد الوحدات النمطية اللازمة وتنزيل نموذج YOLO11 وبعض الصور الاختبارية:
from sahi.utils.file import download_from_url
from sahi.utils.yolov8 import download_yolov8s_model
# Download YOLO11 model
model_path = "models/yolo11s.pt"
download_yolov8s_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",
)
الاستدلال القياسي مع YOLO11
تثبيت النموذج
يمكنك إنشاء نموذج YOLO11 لاكتشاف الكائنات على هذا النحو:
from sahi import AutoDetectionModel
detection_model = AutoDetectionModel.from_pretrained(
model_type="yolov8",
model_path=yolov8_model_path,
confidence_threshold=0.3,
device="cpu", # or 'cuda:0'
)
تنفيذ التنبؤ القياسي
قم بإجراء الاستدلال القياسي باستخدام مسار صورة أو صورة رقمية.
from sahi.predict import get_prediction
# With an image path
result = get_prediction("demo_data/small-vehicles1.jpeg", detection_model)
# With a numpy image
result = get_prediction(read_image("demo_data/small-vehicles1.jpeg"), detection_model)
تصور النتائج
تصدير وتصور المربعات المحدودة والأقنعة المتوقعة:
الاستدلال الشرائحي مع YOLO11
إجراء استدلال الشرائح من خلال تحديد أبعاد الشرائح ونسب التداخل:
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="yolov8",
model_path="path/to/yolo11n.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,
)
هذا كل شيء! أنت الآن مجهز لاستخدام YOLO11 مع 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.
الأسئلة الشائعة
كيف يمكنني دمج YOLO11 مع SAHI للاستدلال المقطعي في الكشف عن الأجسام؟
يعمل دمج Ultralytics YOLO11 مع SAHI (الاستدلال الفائق بمساعدة الشرائح) للاستدلال المقطّع على تحسين مهام اكتشاف الأجسام على الصور عالية الدقة من خلال تقسيمها إلى شرائح يمكن التحكم فيها. يعمل هذا النهج على تحسين استخدام الذاكرة ويضمن دقة عالية في الكشف. للبدء، تحتاج إلى تثبيت مكتبات ultralytics و sahi:
بعد ذلك، قم بتنزيل نموذج YOLO11 واختبر الصور:
from sahi.utils.file import download_from_url
from sahi.utils.yolov8 import download_yolov8s_model
# Download YOLO11 model
model_path = "models/yolo11s.pt"
download_yolov8s_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 مع YOLO11 للكشف عن الأجسام في الصور الكبيرة؟
يوفر استخدام SAHI مع Ultralytics YOLO11 للكشف عن الأجسام في الصور الكبيرة العديد من الفوائد:
- تقليل العبء الحسابي: تكون الشرائح الأصغر حجمًا أسرع في المعالجة وتستهلك ذاكرة أقل، مما يجعل من الممكن تشغيل عمليات الكشف عالية الجودة على أجهزة ذات موارد محدودة.
- دقة الكشف المحفوظة: يستخدم SAHI خوارزميات ذكية لدمج المربعات المتداخلة، مع الحفاظ على جودة الكشف.
- قابلية التوسع المحسّنة: من خلال توسيع نطاق مهام الكشف عن الأجسام عبر مختلف أحجام الصور ودقة الوضوح، يصبح SAHI مثاليًا لمختلف التطبيقات، مثل تحليل صور الأقمار الصناعية والتشخيص الطبي.
تعرف على المزيد حول فوائد الاستدلال المقطوع في وثائقنا.
هل يمكنني تصور نتائج التنبؤ عند استخدام YOLO11 مع SAHI؟
نعم، يمكنك تصور نتائج التنبؤ عند استخدام YOLO11 مع SAHI. إليك كيفية تصدير النتائج وتصورها:
from IPython.display import Image
result.export_visuals(export_dir="demo_data/")
Image("demo_data/prediction_visual.png")
سيحفظ هذا الأمر التنبؤات المرئية في الدليل المحدد، ويمكنك بعد ذلك تحميل الصورة لعرضها في دفتر الملاحظات أو التطبيق. للحصول على دليل مفصل، راجع قسم الاستدلال القياسي.
ما هي الميزات التي يقدمها SAHI لتحسين اكتشاف الأجسام YOLO11 ؟
يقدم SAHI (الاستدلال الفائق بمساعدة التقطيع) العديد من الميزات التي تكمل Ultralytics YOLO11 للكشف عن الأجسام:
- تكامل سلس: يتكامل SAHI بسهولة مع نماذج YOLO ، مما يتطلب الحد الأدنى من التعديلات على التعليمات البرمجية.
- كفاءة الموارد: يقسم الصور الكبيرة إلى شرائح أصغر، مما يحسن استخدام الذاكرة والسرعة.
- دقة عالية: من خلال دمج مربعات الكشف المتداخلة بفعالية أثناء عملية الدمج، يحافظ SAHI على دقة كشف عالية.
لفهم أعمق، اقرأ عن ميزات SAHI الرئيسية.
كيف يمكنني التعامل مع مشاريع الاستدلال واسعة النطاق باستخدام YOLO11 و SAHI؟
للتعامل مع مشاريع الاستدلال على نطاق واسع باستخدام YOLO11 و SAHI، اتبع أفضل الممارسات التالية:
- تثبيت المكتبات المطلوبة: تأكد من أن لديك أحدث الإصدارات من ultralytics و sahi.
- تكوين الاستدلال الشرائحي: حدد أبعاد الشرائح ونسب التداخل المثلى لمشروعك المحدد.
- تشغيل التنبؤات المجمعة: استخدم إمكانيات SAHI لإجراء تنبؤات مجمعة على دليل من الصور، مما يحسن الكفاءة.
مثال للتنبؤ بالدفعات:
from sahi.predict import predict
predict(
model_type="yolov8",
model_path="path/to/yolo11n.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,
)
لمزيد من الخطوات التفصيلية، تفضل بزيارة القسم الخاص بالتنبؤ بالدفعات.