تقسيم الصور عالية الدقة إلى رقع
استخدم tile=True لمعالجة الصور عالية الدقة ضمن نوافذ متداخلة قبل تغيير حجمها لتلائم مدخلات النموذج. يمكن لهذا الحفاظ على تفاصيل الأجسام الصغيرة التي قد تضيع عند تغيير حجم الصورة بأكملها. لا تتطلب هذه العملية أي حزمة إضافية.
يستخدم التقسيم إلى رقع مسارات التدريب والتحقق والاستدلال المعتادة. يعيد الاستدلال كائن Results واحدًا لكل صورة أصلية. يدمج التحقق التنبؤات قبل تقييمها بمقارنتها بالتعليقات التوضيحية الأصلية؛ وتُحسب خسارة التدريب على الرقع.
الاستخدام#
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.train(data="aerial.yaml", tile=True, imgsz=640)
metrics = model.val(data="aerial.yaml", tile=True, imgsz=640)
results = model.predict("large-image.tif", tile=640, imgsz=640, batch=8)yolo predict model=yolo26n.pt source=large-image.tif tile=640 imgsz=640 batch=8يستخدم tile=True القيمة imgsz بوصفها حجم النافذة. ويحدّد عدد صحيح موجب، مثل tile=1024، حجم النافذة بصورة مستقلة عن imgsz. وتكون القيمة الافتراضية هي tile=False. تتداخل النوافذ بنسبة 20%، مع محاذاة النوافذ الأخيرة إلى حدود الصورة. تستخدم الصور الأصغر نافذة واحدة تشمل الصورة كاملةً.
يتحكم batch في عدد الرقع التي يعالجها النموذج معًا أثناء الاستدلال. وتتولى الواجهة الخلفية الحالية معالجة أحجام دفعات التصدير الثابتة، بما فيها الدفعة الجزئية الأخيرة. تحتفظ النماذج المصدّرة بمخطط مدخلاتها المعتاد؛ ويُنفّذ التقسيم إلى رقع ضمن مسار الاستدلال في Python.
بالنسبة إلى الفيديو، أرسل النتائج كتدفق للحد من استهلاك الذاكرة، واستخدم خيارات التنبؤ الحالية لحفظ النتائج أو عرضها:
for result in model.predict("video.mp4", tile=640, stream=True, save=True):
print(result.boxes)yolo predict model=yolo26n.pt source=video.mp4 tile=640 save=Trueالمهام والنماذج#
| المهمة | المخرجات على الصورة كاملة |
|---|---|
| Detect | أعِد الصناديق إلى إحداثيات المصدر، وأزل التكرارات باستخدام iou وagnostic_nms وmax_det. |
| Segment | طبّق عملية اختيار الصناديق نفسها، وضع الأقنعة المحددة في الصورة المصدر. |
| دلالي | ادمج خرائط الفئات، مع اختيار الرقعة الأكثر تمركزًا في المناطق المتداخلة. |
| العمق | ادمج خرائط العمق المتداخلة باستخدام أوزان تزداد باتجاه مركز كل رقعة. |
| التصنيف | احسب متوسط احتمالات الرقع. |
| الوضعية | طبّق اختيار الصناديق وأعِد النقاط المفتاحية المقابلة. |
| OBB | أعِد الصناديق المدارة واستخدم NMS المدارة. |
يدعم المسار المشترك الاستدلال بنماذج مهام YOLO وYOLO-World وYOLOE وRT-DETR وFastSAM. تُضمَّن المطالبات المرئية في YOLOE من الصورة المصدر كاملة، وتُعاد الاستفادة منها في رقعها. يختار FastSAM الأقنعة المطلوبة بعد دمجها في إحداثيات المصدر. تحتفظ أدوات التنبؤ في SAM بمسارها الخاص للمطالبات وإنشاء القصاصات؛ ولا تقبل tile.
أثناء التدريب، تُقصّ الصناديق والمضلعات بحسب نوافذها، ويحافظ قصّ OBB على الاتجاه، وتفقد النقاط المفتاحية الواقعة خارج النافذة مستوى الرؤية. تُزال الحالات التي تقل فيها المساحة المتبقية من صندوق الإحاطة عن 10% من مساحته الأصلية. وتظل النوافذ الفارغة أمثلة سلبية. وتستخدم الأهداف الدلالية وأهداف العمق النوافذ نفسها المستخدمة لصورها.
الأداء والجودة#
- ينفّذ التقسيم إلى رقع مرات تمرير للنموذج أكثر مما ينفّذه الاستدلال على الصورة كاملة. اختر أكبر حجمَي رقعة ودفعة يحافظان على التفاصيل المطلوبة ضمن الذاكرة المتاحة.
- تعيد الرقع المتتالية استخدام المصدر بعد فك ترميزه. عند استخدام
cache="ram"، يخزّن التدريب الصور المصدر مرة واحدة؛ أماcache="disk"فيستخدم ذاكرة التخزين المؤقت للصور الحالية. يخلط التدريب الرقع، لذا يكون التخزين المؤقت مفيدًا بشكل خاص للصور المصدر الكبيرة المضغوطة. - تظل الأقنعة وخرائط البيانات الكثيفة بحجم المصدر بحاجة إلى ذاكرة تتناسب مع أبعاد الصورة الأصلية. يحدّ
max_detمن عدد أقنعة المثيلات المحتفظ بها. - يزيل التقسيم إلى رقع السياق العام. تحقّق من الدقة على بياناتك، ولا سيما في التصنيف والعمق، إذ قد لا تتوافق مخرجات الرقع عالميًا.
- يختار إلغاء تكرار التنبؤات تنبؤات كاملة؛ ولا يعيد بناء كائن من أجزاء مرئية منفصلة. يقلل التداخل من الاقتطاع عند الحدود، لكنه لا يستطيع منعه تمامًا للأجسام الأكبر من الرقعة.
- مصادر الموترات و
embedوvisualizeغير مدعومة. يُنفّذ التتبع على التنبؤات المدمجة مرة واحدة لكل إطار مصدر، بما في ذلك ميزات ReID.
التعليقات
اطرح سؤالًا، وشارك نتائجك، أو ساعد شخصًا آخر.