Link to this sectionتجزئة المثيلات والتتبع باستخدام Ultralytics YOLO26 🚀#
Link to this sectionما هي تجزئة المثيلات؟#
تجزئة المثيلات هي مهمة رؤية حاسوبية تتضمن تحديد وتخطيط الكائنات الفردية في صورة على مستوى البكسل. على عكس التجزئة الدلالية التي تصنف البكسلات حسب الفئة فقط، تقوم تجزئة المثيلات بتسمية كل مثيل كائن بشكل فريد وتحديده بدقة، مما يجعلها بالغة الأهمية للتطبيقات التي تتطلب فهماً مكانياً مفصلاً مثل التصوير الطبي، والقيادة الذاتية، والأتمتة الصناعية.
توفر Ultralytics YOLO26 قدرات قوية لتجزئة المثيلات تتيح الكشف الدقيق عن حدود الكائنات مع الحفاظ على السرعة والكفاءة التي تشتهر بها نماذج YOLO.
هناك نوعان من تتبع تجزئة المثيلات المتاح في حزمة Ultralytics:
-
تجزئة المثيلات مع كائنات الفئة: يتم تعيين لون فريد لكل كائن فئة للفصل البصري الواضح.
-
تجزئة المثيلات مع تتبع الكائنات: يتم تمثيل كل مسار بلون مميز، مما يسهل التعرف عليه وتتبعه عبر إطارات الفيديو.
Watch: Instance Segmentation with Object Tracking using Ultralytics YOLO26
Link to this sectionعينات#
| تقسيم المثيلات | تجزئة المثيلات + تتبع الكائنات |
|---|---|
![]() | |
| تجزئة مثيلات Ultralytics 😍 | تجزئة مثيلات Ultralytics مع تتبع الكائنات 🔥 |
Link to this sectionالتجزئة والتتبع باستخدام YOLO26#
يقوم حل InstanceSegmentation بتشغيل نموذج تجزئة YOLO26 على كل إطار، ويرسم أقنعة لكل كائن، ويلون كل مثيل بشكل منفصل لتتمكن من تتبع الكائنات الفردية عبر الفيديو. قم بتحميل نموذج -seg، ثم قم بتشغيله على مصدرك باستخدام Python API أو CLI.
# Instance segmentation using Ultralytics YOLO26
yolo solutions isegment show=True
# Pass a source video
yolo solutions isegment source="path/to/video.mp4"
# Monitor the specific classes
yolo solutions isegment classes="[0, 5]"Link to this sectionوسائط InstanceSegmentation#
إليك جدول يوضح وسائط InstanceSegmentation:
| الوسيط | النوع | الافتراضي | الوصف |
|---|---|---|---|
model | str | None | المسار إلى ملف نموذج Ultralytics YOLO. |
يمكنك أيضاً الاستفادة من وسائط track ضمن حل InstanceSegmentation:
| الوسيط | النوع | الافتراضي | الوصف |
|---|---|---|---|
tracker | str | 'botsort.yaml' | يحدد خوارزمية التتبع المطلوب استخدامها. الخيارات المدمجة هي: botsort.yaml و bytetrack.yaml و ocsort.yaml و deepocsort.yaml و fasttrack.yaml و tracktrack.yaml. |
conf | float | 0.1 | يضبط عتبة الثقة للاكتشافات؛ تسمح القيم المنخفضة بتتبع المزيد من الكائنات ولكنها قد تتضمن إيجابيات كاذبة. |
iou | float | 0.7 | يضبط عتبة تقاطع الاتحاد (IoU) لتصفية الاكتشافات المتداخلة. |
classes | list | None | يصفي النتائج حسب فهرس الفئة. على سبيل المثال، classes=[0, 2, 3] يتتبع الفئات المحددة فقط. |
verbose | bool | True | يتحكم في عرض نتائج التتبع، مما يوفر مخرجاً مرئياً للكائنات المتعقبة. |
device | str | None | يحدد الجهاز للاستدلال (على سبيل المثال، cpu أو cuda:0 أو 0). يسمح للمستخدمين بالاختيار بين وحدة المعالجة المركزية، أو وحدة معالجة رسومات محددة، أو أجهزة حوسبة أخرى لتنفيذ النموذج. |
علاوة على ذلك، تتوفر وسائط التصور التالية:
| الوسيط | النوع | الافتراضي | الوصف |
|---|---|---|---|
show | bool | False | إذا كان True، فإنه يعرض الصور أو مقاطع الفيديو المشروحة في نافذة. مفيد للحصول على ملاحظات مرئية فورية أثناء التطوير أو الاختبار. |
line_width | int or None | None | يحدد عرض خط صناديق التحديد. إذا كان None، يتم تعديل عرض الخط تلقائياً بناءً على حجم الصورة. يوفر تخصيصاً مرئياً للوضوح. |
show_conf | bool | True | يعرض درجة الثقة لكل اكتشاف بجانب التصنيف. يوفر رؤية حول مدى يقين النموذج في كل اكتشاف. |
show_labels | bool | True | يعرض تصنيفات كل اكتشاف في المخرجات المرئية. يوفر فهماً فورياً للكائنات المكتشفة. |
show_boxes | bool | True | يرسم صناديق الإحاطة حول الكائنات المكتشفة. ضروري للتحديد البصري وموقع الكائنات في الصور أو إطارات الفيديو. |
Link to this sectionتطبيقات تجزئة المثيلات#
تتمتع تجزئة المثيلات باستخدام YOLO26 بالعديد من التطبيقات الواقعية عبر مختلف الصناعات:
Link to this sectionإدارة النفايات وإعادة التدوير#
يمكن استخدام YOLO26 في مرافق إدارة النفايات لتحديد وتصنيف أنواع مختلفة من المواد. يمكن للنموذج تجزئة النفايات البلاستيكية، والكرتون، والمعادن، وغيرها من المواد القابلة لإعادة التدوير بدقة عالية، مما يتيح لأنظمة الفرز الآلي معالجة النفايات بكفاءة أكبر. هذا ذو قيمة خاصة بالنظر إلى أنه يتم إعادة تدوير حوالي 10% فقط من 7 مليارات طن من النفايات البلاستيكية التي يتم توليدها عالمياً.
Link to this sectionالمركبات ذاتية القيادة#
في السيارات ذاتية القيادة، تساعد تجزئة المثيلات في تحديد وتتبع المشاة، والمركبات، وعلامات المرور، وعناصر الطريق الأخرى على مستوى البكسل. هذا الفهم الدقيق للبيئة أمر بالغ الأهمية لقرارات الملاحة والسلامة. أداء YOLO26 في الوقت الفعلي يجعله مثالياً لهذه التطبيقات الحساسة للوقت.
Link to this sectionالتصوير الطبي#
يمكن لتجزئة المثيلات تحديد وتخطيط الأورام، أو الأعضاء، أو الهياكل الخلوية في الأشعة الطبية. قدرة YOLO26 على تحديد حدود الكائنات بدقة تجعلها ذات قيمة في التشخيص الطبي وتخطيط العلاج.
Link to this sectionمراقبة مواقع البناء#
في مواقع البناء، يمكن لتجزئة المثيلات تتبع الآلات الثقيلة، والعمال، والمواد. يساعد هذا في ضمان السلامة من خلال مراقبة مواقع المعدات والكشف عن دخول العمال إلى المناطق الخطرة، مع تحسين سير العمل وتخصيص الموارد في الوقت ذاته.
Link to this sectionالأسئلة الشائعة#
Link to this sectionكيف أقوم بتجزئة المثيلات باستخدام Ultralytics YOLO26؟#
لتنفيذ تجزئة المثيلات باستخدام Ultralytics YOLO26، قم بتهيئة نموذج YOLO بإصدار تجزئة من YOLO26 ومعالجة إطارات الفيديو من خلاله. إليك مثال برمجي مبسط:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Video writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("instance-segmentation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Init InstanceSegmentation
isegment = solutions.InstanceSegmentation(
show=True, # display the output
model="yolo26n-seg.pt", # model="yolo26n-seg.pt" for object segmentation using YOLO26.
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = isegment(im0)
video_writer.write(results.plot_im)
cap.release()
video_writer.release()
cv2.destroyAllWindows()تعرف على المزيد حول تجزئة المثيلات في دليل Ultralytics YOLO26.
Link to this sectionما الفرق بين تجزئة المثيلات وتتبع الكائنات في Ultralytics YOLO26؟#
تقوم تجزئة المثيلات بتحديد وتخطيط الكائنات الفردية داخل الصورة، مما يمنح كل كائن تسمية وقناعاً فريدين. يوسع تتبع الكائنات ذلك من خلال تعيين معرفات ثابتة للكائنات عبر إطارات الفيديو، مما يسهل التتبع المستمر لنفس الكائنات بمرور الوقت. عند دمجهما، كما هو الحال في تنفيذ YOLO26، تحصل على قدرات قوية لتحليل حركة وسلوك الكائنات في مقاطع الفيديو مع الحفاظ على معلومات دقيقة عن الحدود.
Link to this sectionلماذا يجب أن أستخدم Ultralytics YOLO26 لتجزئة المثيلات والتتبع بدلاً من نماذج أخرى مثل Mask R-CNN أو Faster R-CNN؟#
يوفر Ultralytics YOLO26 أداءً في الوقت الفعلي، ودقة فائقة، وسهولة في الاستخدام مقارنة بالنماذج الأخرى مثل Mask R-CNN أو Faster R-CNN. يعالج YOLO26 الصور في تمريرة واحدة (كشف أحادي المرحلة)، مما يجعله أسرع بكثير مع الحفاظ على دقة عالية. كما يوفر تكاملاً سلساً مع منصة Ultralytics، مما يتيح للمستخدمين إدارة النماذج ومجموعات البيانات وخطوط أنابيب التدريب بكفاءة. بالنسبة للتطبيقات التي تتطلب السرعة والدقة معاً، يوفر YOLO26 التوازن الأمثل.
Link to this sectionهل هناك أي مجموعات بيانات مقدمة من Ultralytics مناسبة لتدريب نماذج YOLO26 لتجزئة المثيلات والتتبع؟#
نعم، توفر Ultralytics العديد من مجموعات البيانات المناسبة لتدريب نماذج YOLO26 لتجزئة المثيلات، بما في ذلك COCO-Seg، وCOCO8-Seg (مجموعة فرعية أصغر للاختبار السريع)، وPackage-Seg، وCrack-Seg. تأتي مجموعات البيانات هذه مع تعليقات توضيحية على مستوى البكسل اللازمة لمهام تجزئة المثيلات. بالنسبة للتطبيقات الأكثر تخصصاً، يمكنك أيضاً إنشاء مجموعات بيانات مخصصة باتباع تنسيق Ultralytics. يمكن العثور على معلومات كاملة عن مجموعة البيانات وتعليمات الاستخدام في وثائق مجموعات بيانات Ultralytics.
