تخطي إلى المحتوى

مشروع نظام إنذار أمني باستخدام Ultralytics YOLO11

نظام إنذار أمني

يعمل مشروع نظام إنذار الأمان باستخدام Ultralytics YOLO11 على دمج إمكانات رؤية الكمبيوتر المتقدمة لتعزيز الإجراءات الأمنية. يوفر YOLO11، الذي تم تطويره بواسطة Ultralytics، اكتشاف الكائنات في الوقت الفعلي، مما يسمح للنظام بتحديد التهديدات الأمنية المحتملة والاستجابة لها على الفور. يقدم هذا المشروع العديد من المزايا:

  • اكتشاف في الوقت الفعلي: تمكّن كفاءة YOLO11 نظام إنذار الأمان من اكتشاف الحوادث الأمنية والاستجابة لها في الوقت الفعلي، مما يقلل من وقت الاستجابة.
  • الدقة: تشتهر YOLO11 بدقتها في الكشف عن الكائنات، مما يقلل من النتائج الإيجابية الخاطئة ويعزز موثوقية نظام إنذار الأمان.
  • إمكانيات التكامل: يمكن دمج المشروع بسلاسة مع البنية التحتية الأمنية الحالية، مما يوفر طبقة مطورة من المراقبة الذكية.



شاهد: نظام إنذار الأمان مع Ultralytics YOLO11 + حلول الكشف عن الكائنات

ملاحظة

يلزم إنشاء كلمة مرور للتطبيق

  • انتقل إلى مولد كلمات مرور التطبيقات، حدد اسم تطبيق مثل "مشروع أمني"، واحصل على كلمة مرور مكونة من 16 رقمًا. انسخ كلمة المرور هذه والصقها في المكان المخصص. password في الحقل البرمجي أدناه.

نظام إنذار الأمان باستخدام Ultralytics YOLO

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="yolo11n.pt",  # i.e. yolo11s.pt, yolo11m.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 arguments:

الوسيطة النوع افتراضي الوصف
model str None مسار إلى ملف نموذج Ultralytics YOLO.
records int 5 إجمالي عدد الاكتشافات لتشغيل بريد إلكتروني مع نظام إنذار أمني.

في SecurityAlarm يدعم الحل مجموعة متنوعة من track المعلمات:

الوسيطة النوع افتراضي الوصف
tracker str 'botsort.yaml' يحدد خوارزمية التتبع المراد استخدامها، على سبيل المثال، bytetrack.yaml أو botsort.yaml.
conf float 0.3 يحدد عتبة الثقة للكشف؛ القيم الأقل تسمح بتتبع المزيد من الكائنات ولكن قد تتضمن نتائج إيجابية كاذبة.
iou float 0.5 يحدد عتبة التقاطع على الاتحاد (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 None or int None يحدد عرض خطوط مربعات الإحاطة. إذا None، يتم تعديل عرض الخط تلقائيًا بناءً على حجم الصورة. يوفر تخصيصًا مرئيًا للوضوح.
show_conf bool True يعرض قيمة الثقة لكل كائن يتم الكشف عنه بجانب التسمية. يعطي نظرة ثاقبة حول يقين النموذج لكل كائن تم الكشف عنه.
show_labels bool True يعرض تسميات لكل كائن يتم الكشف عنه في الناتج المرئي. يوفر فهمًا فوريًا للكائنات التي تم الكشف عنها.

كيف يعمل؟

يستخدم نظام إنذار الأمان تتبع الكائنات لمراقبة بث الفيديو واكتشاف التهديدات الأمنية المحتملة. عندما يكتشف النظام كائنات تتجاوز الحد المحدد (الذي تم تعيينه بواسطة records ، فإنه يرسل تلقائيًا إشعارًا بالبريد الإلكتروني مع صورة مرفقة تعرض الكائنات المكتشفة.

يستفيد النظام من فئة SecurityAlarm التي توفر طرقًا لـ:

  1. معالجة الإطارات واستخراج عمليات الكشف عن الكائنات
  2. ضع علامات على الإطارات بمربعات إحاطة حول الكائنات المكتشفة
  3. إرسال إشعارات بالبريد الإلكتروني عند تجاوز عتبات الكشف.

هذا التنفيذ مثالي للأمن المنزلي والمراقبة في متاجر البيع بالتجزئة وتطبيقات المراقبة الأخرى حيث يكون الإشعار الفوري بالكائنات المكتشفة أمرًا بالغ الأهمية.

الأسئلة الشائعة

كيف تحسن Ultralytics YOLO11 دقة نظام إنذار الأمان؟

تعزز Ultralytics YOLO11 أنظمة إنذار الأمان من خلال توفير كشف دقيق للكائنات في الوقت الفعلي. تقلل خوارزمياتها المتقدمة بشكل كبير من الإيجابيات الكاذبة، مما يضمن استجابة النظام للتهديدات الحقيقية فقط. يمكن دمج هذه الموثوقية المتزايدة بسلاسة مع البنية التحتية الأمنية الحالية، مما يؤدي إلى ترقية جودة المراقبة الشاملة.

هل يمكنني دمج Ultralytics YOLO11 مع البنية التحتية الأمنية الحالية الخاصة بي؟

نعم، يمكن دمج Ultralytics YOLO11 بسلاسة مع البنية التحتية الأمنية الحالية لديك. يدعم النظام أوضاعًا مختلفة ويوفر مرونة للتخصيص، مما يسمح لك بتحسين الإعداد الحالي الخاص بك بقدرات متقدمة للكشف عن الكائنات. للحصول على إرشادات مفصلة حول دمج YOLO11 في مشاريعك، تفضل بزيارة قسم التكامل.

ما هي متطلبات التخزين لتشغيل Ultralytics YOLO11؟

يتطلب تشغيل Ultralytics YOLO11 على إعداد قياسي عادةً حوالي 5 جيجابايت من مساحة القرص الحرة. يتضمن ذلك مساحة لتخزين نموذج YOLO11 وأي تبعيات إضافية. بالنسبة للحلول المستندة إلى السحابة، يوفر Ultralytics HUB إدارة فعالة للمشروع ومعالجة مجموعة البيانات، مما يمكن أن يحسن احتياجات التخزين. تعرف على المزيد حول الخطة الاحترافية للحصول على ميزات محسنة بما في ذلك التخزين الممتد.

ما الذي يميز Ultralytics YOLO11 عن نماذج الكشف عن الأجسام الأخرى مثل Faster R-CNN أو SSD؟

يوفر Ultralytics YOLO11 ميزة تنافسية على نماذج مثل Faster R-CNN أو SSD بفضل إمكانات الكشف في الوقت الفعلي والدقة العالية. تسمح له بنيته الفريدة بمعالجة الصور بشكل أسرع بكثير دون المساومة على الدقة، مما يجعله مثاليًا للتطبيقات الحساسة للوقت مثل أنظمة إنذار الأمان. للحصول على مقارنة شاملة لنماذج الكشف عن الكائنات، يمكنك استكشاف دليلنا.

كيف يمكنني تقليل معدل الإيجابيات الكاذبة في نظام الأمان الخاص بي باستخدام Ultralytics YOLO11؟

لتقليل النتائج الإيجابية الكاذبة، تأكد من تدريب نموذج Ultralytics YOLO11 الخاص بك بشكل كافٍ باستخدام مجموعة بيانات متنوعة ومشروحة جيدًا. يمكن أن يؤدي الضبط الدقيق للمعلمات الفائقة وتحديث النموذج بانتظام ببيانات جديدة إلى تحسين دقة الاكتشاف بشكل كبير. يمكن العثور على تقنيات ضبط المعلمات الفائقة التفصيلية في دليل ضبط المعلمات الفائقة الخاص بنا.



📅 تم الإنشاء منذ سنة واحدة ✏️ تم التحديث منذ شهرين

تعليقات