Link to this sectionعد الكائنات باستخدام Ultralytics YOLO26#
Link to this sectionما هو عد الكائنات؟#
يتضمن عد الكائنات باستخدام Ultralytics YOLO26 تحديد كائنات معينة بدقة وعدها في مقاطع الفيديو وتدفقات الكاميرا. يتفوق YOLO26 في التطبيقات التي تعمل في الوقت الفعلي، حيث يوفر عدًا فعالًا ودقيقًا للكائنات لمختلف السيناريوهات مثل تحليل الحشود والمراقبة، وذلك بفضل خوارزمياته المتطورة وقدرات التعلم العميق.
Watch: How to Perform Real-Time Object Counting with Ultralytics YOLO26 🚀
Link to this sectionمزايا عد الكائنات#
- تحسين الموارد: يسهل عد الكائنات إدارة الموارد بكفاءة من خلال توفير أعداد دقيقة، مما يؤدي إلى تحسين تخصيص الموارد في تطبيقات مثل إدارة المخزون.
- تعزيز الأمان: يعزز عد الكائنات الأمان والمراقبة من خلال تتبع الكيانات وعدها بدقة، مما يساعد في الكشف الاستباقي عن التهديدات.
- اتخاذ قرارات مستنيرة: يوفر عد الكائنات رؤى قيمة لاتخاذ القرار، مما يؤدي إلى تحسين العمليات في تجارة التجزئة، وإدارة المرور، والعديد من المجالات الأخرى.
Link to this sectionتطبيقات العالم الحقيقي#
| الخدمات اللوجستية | تربية الأحياء المائية |
|---|---|
![]() | ![]() |
| عد حزم سير الناقل باستخدام Ultralytics YOLO26 | عد الأسماك في البحر باستخدام Ultralytics YOLO26 |
# Run a counting example
yolo solutions count show=True
# Pass a source video
yolo solutions count source="path/to/video.mp4"
# Pass region coordinates
yolo solutions count region="[(20, 400), (1080, 400), (1080, 360), (20, 360)]"تقبل وسيطة region إما نقطتين (لخط) أو مضلعًا بثلاث نقاط أو أكثر. حدد الإحداثيات بالترتيب الذي يجب توصيلها به حتى يعرف العداد بالضبط مكان حدوث عمليات الدخول والخروج.
Link to this sectionوسائط ObjectCounter#
إليك جدول يحتوي على وسائط ObjectCounter:
| الوسيط | النوع | الافتراضي | الوصف |
|---|---|---|---|
model | str | None | المسار إلى ملف نموذج Ultralytics YOLO. |
show_in | bool | True | علامة للتحكم في عرض عدد الكائنات الداخلة في بث الفيديو. |
show_out | bool | True | علامة للتحكم في عرض عدد الكائنات الخارجة في بث الفيديو. |
region | list | '[(20, 400), (1260, 400)]' | قائمة النقاط التي تحدد منطقة العد. |
يسمح حل ObjectCounter باستخدام العديد من وسائط track:
| الوسيط | النوع | الافتراضي | الوصف |
|---|---|---|---|
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 | يعرض تصنيفات كل اكتشاف في المخرجات المرئية. يوفر فهماً فورياً للكائنات المكتشفة. |
Link to this sectionالأسئلة الشائعة#
Link to this sectionكيف يمكنني عد الكائنات في مقطع فيديو باستخدام Ultralytics YOLO26؟#
لعد الكائنات في مقطع فيديو باستخدام Ultralytics YOLO26، يمكنك اتباع الخطوات التالية:
- استيراد المكتبات اللازمة (
cv2،ultralytics). - تحديد منطقة العد (على سبيل المثال، مضلع، خط، إلخ).
- إعداد التقاط الفيديو وتهيئة عداد الكائنات.
- معالجة كل إطار لتتبع الكائنات وعدها داخل المنطقة المحددة.
إليك مثال بسيط للعد في منطقة معينة:
import cv2
from ultralytics import solutions
def count_objects_in_region(video_path, output_video_path, model_path):
"""Count objects in a specific region within a video."""
cap = cv2.VideoCapture(video_path)
assert cap.isOpened(), "Error reading video file"
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(output_video_path, cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]
counter = solutions.ObjectCounter(show=True, region=region_points, model=model_path)
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = counter(im0)
video_writer.write(results.plot_im)
cap.release()
video_writer.release()
cv2.destroyAllWindows()
count_objects_in_region("path/to/video.mp4", "output_video.avi", "yolo26n.pt")للحصول على تكوينات وخيارات أكثر تقدمًا، راجع حل RegionCounter لعد الكائنات في مناطق متعددة في وقت واحد.
Link to this sectionما هي مزايا استخدام Ultralytics YOLO26 لعد الكائنات؟#
يوفر استخدام Ultralytics YOLO26 لعد الكائنات العديد من المزايا:
- تحسين الموارد: يسهل إدارة الموارد بكفاءة من خلال توفير أعداد دقيقة، مما يساعد في تحسين تخصيص الموارد في صناعات مثل إدارة المخزون.
- تعزيز الأمان: يعزز الأمان والمراقبة من خلال تتبع الكيانات وعدها بدقة، مما يساعد في الكشف الاستباقي عن التهديدات وأنظمة الأمان.
- اتخاذ قرارات مستنيرة: يوفر رؤى قيمة لاتخاذ القرار، مما يؤدي إلى تحسين العمليات في مجالات مثل تجارة التجزئة، وإدارة المرور، والمزيد.
- المعالجة في الوقت الفعلي: تمكّن بنية YOLO26 من الاستدلال في الوقت الفعلي، مما يجعله مناسبًا لتدفقات الفيديو المباشرة والتطبيقات الحساسة للوقت.
للاطلاع على أمثلة التنفيذ والتطبيقات العملية، استكشف حل TrackZone لتتبع الكائنات في مناطق محددة.
Link to this sectionكيف يمكنني عد فئات معينة من الكائنات باستخدام Ultralytics YOLO26؟#
لعد فئات معينة من الكائنات باستخدام Ultralytics YOLO26، تحتاج إلى تحديد الفئات التي تهتم بها أثناء مرحلة التتبع. فيما يلي مثال بلغة Python:
import cv2
from ultralytics import solutions
def count_specific_classes(video_path, output_video_path, model_path, classes_to_count):
"""Count specific classes of objects in a video."""
cap = cv2.VideoCapture(video_path)
assert cap.isOpened(), "Error reading video file"
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(output_video_path, cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
line_points = [(20, 400), (1080, 400)]
counter = solutions.ObjectCounter(show=True, region=line_points, model=model_path, classes=classes_to_count)
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = counter(im0)
video_writer.write(results.plot_im)
cap.release()
video_writer.release()
cv2.destroyAllWindows()
count_specific_classes("path/to/video.mp4", "output_specific_classes.avi", "yolo26n.pt", [0, 2])في هذا المثال، تعني classes_to_count=[0, 2] أنه يقوم بعد الكائنات من الفئة 0 و 2 (على سبيل المثال، شخص وسيارة في مجموعة بيانات COCO). يمكنك العثور على مزيد من المعلومات حول فهارس الفئات في وثائق مجموعة بيانات COCO.
Link to this sectionلماذا يجب أن أستخدم YOLO26 بدلاً من نماذج اكتشاف الكائنات الأخرى للتطبيقات في الوقت الفعلي؟#
يوفر Ultralytics YOLO26 العديد من المزايا مقارنة بنماذج اكتشاف الكائنات الأخرى مثل Faster R-CNN و SSD وإصدارات YOLO السابقة:
- السرعة والكفاءة: يوفر YOLO26 قدرات معالجة في الوقت الفعلي، مما يجعله مثاليًا للتطبيقات التي تتطلب استدلالًا عالي السرعة، مثل المراقبة والقيادة الذاتية.
- الدقة: يوفر دقة متطورة لمهام اكتشاف الكائنات وتتبعها، مما يقلل من عدد الإيجابيات الكاذبة ويحسن موثوقية النظام بشكل عام.
- سهولة التكامل: يوفر YOLO26 تكاملاً سلسًا مع مختلف المنصات والأجهزة، بما في ذلك الأجهزة المحمولة وأجهزة الحافة، وهو أمر بالغ الأهمية لتطبيقات الذكاء الاصطناعي الحديثة.
- المرونة: يدعم مهام متنوعة مثل اكتشاف الكائنات، والتجزئة، والتتبع مع نماذج قابلة للتكوين لتلبية متطلبات حالات الاستخدام المحددة.
تحقق من وثائق YOLO26 الخاصة بـ Ultralytics للحصول على تعمق أكبر في ميزاته ومقارنات الأداء.
Link to this sectionهل يمكنني استخدام YOLO26 للتطبيقات المتقدمة مثل تحليل الحشود وإدارة المرور؟#
نعم، يعتبر Ultralytics YOLO26 مناسبًا تمامًا للتطبيقات المتقدمة مثل تحليل الحشود وإدارة المرور بفضل قدراته على الاكتشاف في الوقت الفعلي، وقابلية التوسع، ومرونة التكامل. تسمح ميزاته المتقدمة بتتبع الكائنات وعدها وتصنيفها بدقة عالية في البيئات الديناميكية. تشمل أمثلة حالات الاستخدام ما يلي:
- تحليل الحشود: مراقبة وإدارة التجمعات الكبيرة، وضمان السلامة وتحسين تدفق الحشود باستخدام العد القائم على المنطقة.
- إدارة المرور: تتبع وعدد المركبات، وتحليل أنماط المرور، وإدارة الازدحام في الوقت الفعلي مع قدرات تقدير السرعة.
- تحليلات التجزئة: تحليل أنماط حركة العملاء وتفاعلات المنتجات لتحسين تصميمات المتاجر وتحسين تجربة العملاء.
- الأتمتة الصناعية: عد المنتجات على سيور النقل ومراقبة خطوط الإنتاج لمراقبة الجودة وتحسينات الكفاءة.
للحصول على تطبيقات أكثر تخصصًا، استكشف حلول Ultralytics للحصول على مجموعة شاملة من الأدوات المصممة لتحديات رؤية الكمبيوتر في العالم الحقيقي.

