وثائق Ultralytics: استخدام YOLO26 مع SAHI للاستدلال المقطعي
مرحباً بك في وثائق Ultralytics حول كيفية استخدام YOLO26 مع SAHI (الاستدلال الفائق المعتمد على التقطيع). يهدف هذا الدليل الشامل إلى تزويدك بجميع المعارف الأساسية التي ستحتاجها لتنفيذ SAHI بجانب YOLO26. سوف نتعمق في ماهية SAHI، ولماذا يعد الاستدلال المقطعي أمراً حيوياً للتطبيقات واسعة النطاق، وكيفية دمج هذه الوظائف مع YOLO26 لتحسين أداء اكتشاف الكائنات.
مقدمة إلى SAHI
SAHI (الاستدلال الفائق المعتمد على التقطيع) هي مكتبة مبتكرة مصممة لتحسين خوارزميات اكتشاف الكائنات للصور واسعة النطاق وعالية الدقة. تكمن وظيفتها الأساسية في تقسيم الصور إلى شرائح يمكن إدارتها، وتشغيل اكتشاف الكائنات على كل شريحة، ثم تجميع النتائج معاً مرة أخرى. تتوافق SAHI مع مجموعة من نماذج اكتشاف الكائنات، بما في ذلك سلسلة YOLO، مما يوفر المرونة مع ضمان الاستخدام الأمثل للموارد الحسابية.
Watch: How to use SAHI with Ultralytics YOLO26 to Detect Small Objects | Slicing Aided Hyper Inference 🚀
الميزات الرئيسية لـ SAHI
- تكامل سلس: تتكامل SAHI بسهولة مع نماذج YOLO، مما يعني أنه يمكنك البدء في التقطيع والاكتشاف دون الحاجة إلى الكثير من تعديلات الكود.
- كفاءة الموارد: من خلال تقسيم الصور الكبيرة إلى أجزاء أصغر، تعمل SAHI على تحسين استخدام الذاكرة، مما يسمح لك بتشغيل اكتشاف عالي الجودة على أجهزة ذات موارد محدودة.
- دقة عالية: تحافظ SAHI على دقة الاكتشاف من خلال توظيف خوارزميات ذكية لدمج صناديق الاكتشاف المتداخلة أثناء عملية التجميع.
ما هو الاستدلال المقطعي؟
يشير الاستدلال المقطعي إلى ممارسة تقسيم صورة كبيرة أو عالية الدقة إلى مقاطع أصغر (شرائح)، وإجراء اكتشاف الكائنات على هذه الشرائح، ثم إعادة تجميع الشرائح لإعادة بناء مواقع الكائنات على الصورة الأصلية. هذه التقنية لا تقدر بثمن في السيناريوهات التي تكون فيها الموارد الحسابية محدودة أو عند العمل مع صور عالية الدقة للغاية والتي قد تؤدي بخلاف ذلك إلى مشكلات في الذاكرة.
فوائد الاستدلال المقطعي
-
تقليل العبء الحسابي: تكون شرائح الصور الأصغر أسرع في المعالجة، وتستهلك ذاكرة أقل، مما يتيح تشغيلاً أكثر سلاسة على الأجهزة ذات المواصفات المنخفضة.
-
الحفاظ على جودة الاكتشاف: نظراً لأن كل شريحة تُعامل بشكل مستقل، فلا يوجد انخفاض في جودة اكتشاف الكائنات، بشرط أن تكون الشرائح كبيرة بما يكفي لالتقاط الكائنات محل الاهتمام.
-
تحسين القابلية للتوسع: تسمح التقنية بتوسيع نطاق اكتشاف الكائنات بسهولة أكبر عبر أحجام ودقات مختلفة للصور، مما يجعلها مثالية لمجموعة واسعة من التطبيقات من صور الأقمار الصناعية إلى التشخيص الطبي.
| YOLO26 without SAHI | YOLO26 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, 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="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 (الاستدلال الفائق المعتمد على التقطيع) للاستدلال المقطعي على تحسين مهام اكتشاف الكائنات على الصور عالية الدقة من خلال تقسيمها إلى شرائح يمكن إدارتها. يعزز هذا النهج من استخدام الذاكرة ويضمن دقة اكتشاف عالية. للبدء، تحتاج إلى تثبيت مكتبتي 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",
)لمزيد من التعليمات التفصيلية، ارجع إلى دليل الاستدلال المقطعي الخاص بنا.
لماذا يجب أن أستخدم SAHI مع YOLO26 لاكتشاف الكائنات على الصور الكبيرة؟
يوفر استخدام SAHI مع Ultralytics YOLO26 لاكتشاف الكائنات على الصور الكبيرة العديد من المزايا:
- تقليل العبء الحسابي: تكون الشرائح الأصغر أسرع في المعالجة وتستهلك ذاكرة أقل، مما يجعل من الممكن تشغيل اكتشافات عالية الجودة على أجهزة ذات موارد محدودة.
- الحفاظ على دقة الاكتشاف: تستخدم SAHI خوارزميات ذكية لدمج الصناديق المتداخلة، مما يحافظ على جودة الاكتشاف.
- تحسين القابلية للتوسع: من خلال توسيع نطاق مهام اكتشاف الكائنات عبر أحجام ودقات صور مختلفة، تصبح SAHI مثالية لمختلف التطبيقات، مثل تحليل صور الأقمار الصناعية والتشخيص الطبي.
تعرف على المزيد حول فوائد الاستدلال المقطعي في وثائقنا.
هل يمكنني تصور نتائج التنبؤ عند استخدام YOLO26 مع SAHI؟
نعم، يمكنك تصور نتائج التنبؤ عند استخدام 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()سيحفظ هذا الأمر التنبؤات المرئية في الدليل المحدد، ويمكنك بعد ذلك تحميل الصورة لعرضها في دفتر ملاحظاتك أو تطبيقك. للحصول على دليل مفصل، تحقق من قسم الاستدلال القياسي.
ما هي الميزات التي توفرها SAHI لتحسين اكتشاف كائنات YOLO26؟
توفر SAHI (الاستدلال الفائق المعتمد على التقطيع) العديد من الميزات التي تكمل Ultralytics YOLO26 لاكتشاف الكائنات:
- تكامل سلس: تتكامل SAHI بسهولة مع نماذج YOLO، مما يتطلب الحد الأدنى من تعديلات الكود.
- كفاءة الموارد: تقوم بتقسيم الصور الكبيرة إلى شرائح أصغر، مما يحسن استخدام الذاكرة والسرعة.
- دقة عالية: من خلال الدمج الفعال لصناديق الاكتشاف المتداخلة أثناء عملية التجميع، تحافظ SAHI على دقة اكتشاف عالية.
لفهم أعمق، اقرأ عن الميزات الرئيسية لـ SAHI.
كيف أتعامل مع مشاريع الاستدلال واسعة النطاق باستخدام YOLO26 و SAHI؟
للتعامل مع مشاريع الاستدلال واسعة النطاق باستخدام YOLO26 و SAHI، اتبع أفضل الممارسات التالية:
- تثبيت المكتبات المطلوبة: تأكد من أن لديك أحدث إصدارات ultralytics و sahi.
- تكوين الاستدلال المقطعي: حدد أبعاد الشريحة المثلى ونسب التداخل لمشروعك المحدد.
- تشغيل التنبؤات الجماعية: استخدم قدرات 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,
)لمزيد من الخطوات التفصيلية، قم بزيارة قسمنا حول التنبؤ الجماعي.

