مشروع نظام الإنذار الأمني باستخدام Ultralytics YOLO26
يدمج مشروع نظام الإنذار الأمني الذي يستخدم Ultralytics YOLO26 قدرات متقدمة في الرؤية الحاسوبية لتعزيز تدابير الأمان. يوفر YOLO26، الذي طورته Ultralytics، اكتشافاً للأجسام في الوقت الفعلي، مما يسمح للنظام بتحديد التهديدات الأمنية المحتملة والاستجابة لها على الفور. يقدم هذا المشروع العديد من المزايا:
- الاكتشاف في الوقت الفعلي: تمكّن كفاءة YOLO26 نظام الإنذار الأمني من اكتشاف الحوادث الأمنية والاستجابة لها في الوقت الفعلي، مما يقلل من زمن الاستجابة.
- الدقة: يشتهر YOLO26 بدقته في اكتشاف الأجسام، مما يقلل من الإنذارات الكاذبة ويعزز موثوقية نظام الإنذار الأمني.
- قدرات التكامل: يمكن دمج المشروع بسلاسة مع البنية التحتية الأمنية الحالية، مما يوفر طبقة مطورة من المراقبة الذكية.
ملاحظة
توليد كلمة مرور التطبيق ضروري
- انتقل إلى مولد كلمة مرور التطبيق، وخصص اسماً للتطبيق مثل "security project"، واحصل على كلمة مرور مكونة من 16 رقماً. انسخ كلمة المرور هذه والصقها في حقل
passwordالمخصص في الكود أدناه.
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("security_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
from_email = "abc@gmail.com" # the sender email address
password = "---- ---- ---- ----" # 16-digits password generated via: https://myaccount.google.com/apppasswords
to_email = "xyz@gmail.com" # the receiver email address
# Initialize security alarm object
securityalarm = solutions.SecurityAlarm(
show=True, # display the output
model="yolo26n.pt", # e.g., yolo26s.pt, yolo26m.pt
records=1, # total detections count to send an email
)
securityalarm.authenticate(from_email, password, to_email) # authenticate the email server
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or video processing has been successfully completed.")
break
results = securityalarm(im0)
# print(results) # access the output
video_writer.write(results.plot_im) # write the processed frame.
cap.release()
video_writer.release()
cv2.destroyAllWindows() # destroy all opened windowsعند تشغيل الكود، ستتلقى إشعاراً واحداً عبر البريد الإلكتروني في حال تم اكتشاف أي جسم. يتم إرسال الإشعار فوراً وليس بشكل متكرر. يمكنك تخصيص الكود ليناسب متطلبات مشروعك.
عينة للبريد الإلكتروني المستلم
وسائط SecurityAlarm
إليك جدول يحتوي على وسائط SecurityAlarm:
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
model | str | None | مسار إلى ملف نموذج Ultralytics YOLO. |
records | int | 5 | إجمالي عدد الاكتشافات لتشغيل بريد إلكتروني مع نظام إنذار أمني. |
يدعم حل SecurityAlarm مجموعة متنوعة من وسائط track:
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
tracker | str | 'botsort.yaml' | يحدد خوارزمية التتبع المراد استخدامها، على سبيل المثال، bytetrack.yaml أو botsort.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). يسمح للمستخدمين بالاختيار بين CPU، أو GPU محدد، أو أجهزة حوسبة أخرى لتنفيذ النموذج. |
علاوة على ذلك، تتوفر إعدادات التصور التالية:
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
show | bool | False | إذا كانت القيمة True، يتم عرض الصور أو مقاطع الفيديو المشروحة في نافذة. مفيد للحصول على تعليقات مرئية فورية أثناء التطوير أو الاختبار. |
line_width | int or None | None | يحدد عرض خط صناديق الإحاطة. إذا كانت القيمة None، يتم تعديل عرض الخط تلقائياً بناءً على حجم الصورة. يوفر تخصيصاً مرئياً للوضوح. |
show_conf | bool | True | يعرض درجة الثقة لكل اكتشاف بجانب التسمية. يعطي نظرة ثاقبة حول يقين النموذج لكل اكتشاف. |
show_labels | bool | True | يعرض تسميات لكل اكتشاف في المخرجات المرئية. يوفر فهماً فورياً للكائنات المكتشفة. |
كيف يعمل
يستخدم نظام الإنذار الأمني تتبع الأجسام لمراقبة خلاصات الفيديو واكتشاف التهديدات الأمنية المحتملة. عندما يكتشف النظام أجساماً تتجاوز العتبة المحددة (التي يتم ضبطها بواسطة وسيط records)، فإنه يرسل تلقائياً إشعاراً بالبريد الإلكتروني مع مرفق صورة يوضح الأجسام المكتشفة.
يستفيد النظام من فئة SecurityAlarm التي توفر طرقاً للقيام بـ:
- معالجة الإطارات واستخراج اكتشافات الأجسام
- إضافة تعليقات توضيحية على الإطارات باستخدام مربعات الإحاطة (BBox) حول الأجسام المكتشفة
- إرسال إشعارات البريد الإلكتروني عند تجاوز عتبات الاكتشاف
يعتبر هذا التنفيذ مثالياً لأمن المنازل، ومراقبة متاجر التجزئة، وتطبيقات المراقبة الأخرى التي يكون فيها الإخطار الفوري بالأجسام المكتشفة أمراً بالغ الأهمية.
الأسئلة الشائعة
كيف يحسن Ultralytics YOLO26 دقة نظام الإنذار الأمني؟
يعزز Ultralytics YOLO26 أنظمة الإنذار الأمني من خلال تقديم اكتشاف عالي الدقة للأجسام في الوقت الفعلي. تقلل خوارزمياته المتقدمة بشكل كبير من الإنذارات الكاذبة، مما يضمن استجابة النظام للتهديدات الحقيقية فقط. يمكن دمج هذه الموثوقية المتزايدة بسلاسة مع البنية التحتية الأمنية الحالية، مما يرتقي بجودة المراقبة الإجمالية.
هل يمكنني دمج Ultralytics YOLO26 مع بنيتي التحتية الأمنية الحالية؟
نعم، يمكن دمج Ultralytics YOLO26 بسلاسة مع بنيتك التحتية الأمنية الحالية. يدعم النظام أوضاعاً مختلفة ويوفر مرونة في التخصيص، مما يتيح لك تعزيز إعداداتك الحالية بقدرات متقدمة لاكتشاف الأجسام. للحصول على تعليمات مفصلة حول دمج YOLO26 في مشاريعك، تفضل بزيارة قسم التكامل.
ما هي متطلبات التخزين لتشغيل Ultralytics YOLO26؟
يتطلب تشغيل Ultralytics YOLO26 على إعداد قياسي عادةً حوالي 5 جيجابايت من مساحة القرص الفارغة. يتضمن ذلك مساحة لتخزين نموذج YOLO26 وأي تبعيات إضافية. بالنسبة للحلول القائمة على السحابة، توفر منصة Ultralytics إدارة فعالة للمشاريع ومعالجة مجموعات البيانات، مما يمكنه تحسين احتياجات التخزين. تعرف على المزيد حول خطة Pro للحصول على ميزات محسنة تشمل تخزيناً موسعاً.
ما الذي يجعل Ultralytics YOLO26 مختلفاً عن نماذج اكتشاف الأجسام الأخرى مثل Faster R-CNN أو SSD؟
يوفر Ultralytics YOLO26 ميزة على نماذج مثل Faster R-CNN أو SSD بفضل قدراته على الاكتشاف في الوقت الفعلي ودقته العالية. تسمح بنيته الفريدة بمعالجة الصور بشكل أسرع بكثير دون المساومة على الدقة، مما يجعله مثالياً للتطبيقات الحساسة للوقت مثل أنظمة الإنذار الأمني. للحصول على مقارنة شاملة لنماذج اكتشاف الأجسام، يمكنك استكشاف دليلنا.
كيف يمكنني تقليل وتيرة الإنذارات الكاذبة في نظامي الأمني باستخدام Ultralytics YOLO26؟
To reduce false positives, ensure your Ultralytics YOLO26 model is adequately trained with a diverse and well-annotated dataset. Fine-tuning hyperparameters and regularly updating the model with new data can significantly improve detection accuracy. Detailed hyperparameter tuning techniques can be found in our hyperparameter tuning guide.