Dự án Hệ thống Báo động An ninh sử dụng Ultralytics YOLO26

AI-powered security alarm system with object detection

Dự án Hệ thống Báo động An ninh sử dụng Ultralytics YOLO26 tích hợp các khả năng computer vision tiên tiến để nâng cao các biện pháp an ninh. YOLO26, được phát triển bởi Ultralytics, cung cấp object detection thời gian thực, cho phép hệ thống nhận diện và phản hồi các mối đe dọa an ninh tiềm ẩn một cách kịp thời. Dự án này mang lại một số lợi thế:

  • Phát hiện thời gian thực: Hiệu suất của YOLO26 cho phép Hệ thống Báo động An ninh phát hiện và phản hồi các sự cố an ninh trong thời gian thực, giảm thiểu thời gian phản hồi.
  • Accuracy: YOLO26 nổi tiếng với độ chính xác trong việc phát hiện đối tượng, giúp giảm thiểu các cảnh báo sai và tăng cường độ tin cậy của hệ thống báo động an ninh.
  • Khả năng tích hợp: Dự án có thể được tích hợp liền mạch với cơ sở hạ tầng an ninh hiện có, cung cấp thêm một lớp giám sát thông minh được nâng cấp.


Watch: Security Alarm System with Ultralytics YOLO26 + Solutions Object Detection
Lưu ý

Cần phải tạo Mật khẩu ứng dụng

  • Điều hướng đến App Password Generator, đặt tên ứng dụng ví dụ như "security project," và nhận mật khẩu 16 chữ số. Sao chép mật khẩu này và dán vào trường password được chỉ định trong mã dưới đây.
Hệ thống Báo động An ninh sử dụng 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="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

Khi bạn chạy mã, bạn sẽ nhận được một thông báo email duy nhất nếu bất kỳ đối tượng nào được phát hiện. Thông báo được gửi ngay lập tức, không lặp lại. Bạn có thể tùy chỉnh mã để phù hợp với yêu cầu dự án của mình.

Mẫu Email đã nhận

Security alert email notification example

Các đối số của SecurityAlarm

Dưới đây là bảng các đối số của SecurityAlarm:

Đối sốLoạiMặc địnhMô tả
modelstrNoneĐường dẫn đến một file model Ultralytics YOLO.
recordsint5Tổng số lượng phát hiện để kích hoạt email thông báo từ hệ thống cảnh báo an ninh.

Giải pháp SecurityAlarm hỗ trợ nhiều tham số track:

Đối sốLoạiMặc địnhMô tả
trackerstr'botsort.yaml'Chỉ định thuật toán theo dõi cần sử dụng, ví dụ: bytetrack.yaml hoặc botsort.yaml.
conffloat0.1Đặt ngưỡng tin cậy cho các phát hiện; các giá trị thấp hơn cho phép theo dõi nhiều đối tượng hơn nhưng có thể bao gồm cả các kết quả dương tính giả.
ioufloat0.7Đặt ngưỡng Intersection over Union (IoU) để lọc các phát hiện chồng lấp.
classeslistNoneLọc kết quả theo chỉ số lớp. Ví dụ: classes=[0, 2, 3] chỉ theo dõi các lớp được chỉ định.
verboseboolTrueKiểm soát việc hiển thị các kết quả theo dõi, cung cấp đầu ra trực quan của các đối tượng được theo dõi.
devicestrNoneChỉ định thiết bị thực hiện suy luận (ví dụ: cpu, cuda:0 hoặc 0). Cho phép người dùng chọn giữa CPU, một GPU cụ thể hoặc các thiết bị tính toán khác để chạy model.

Hơn nữa, các cài đặt hiển thị sau đây cũng khả dụng:

Đối sốLoạiMặc địnhMô tả
showboolFalseNếu True, hiển thị các ảnh hoặc video đã được chú thích trong một cửa sổ. Hữu ích để có phản hồi trực quan ngay lập tức trong quá trình phát triển hoặc thử nghiệm.
line_widthint or NoneNoneChỉ định độ dày đường kẻ của khung bao. Nếu là None, độ dày đường kẻ sẽ tự động được điều chỉnh dựa trên kích thước ảnh. Cung cấp khả năng tùy chỉnh trực quan để đảm bảo độ rõ nét.
show_confboolTrueHiển thị điểm tin cậy cho mỗi kết quả phát hiện bên cạnh nhãn. Cung cấp cái nhìn sâu sắc về độ chắc chắn của model cho mỗi kết quả phát hiện.
show_labelsboolTrueHiển thị nhãn cho mỗi kết quả phát hiện trong đầu ra trực quan. Cung cấp hiểu biết ngay lập tức về các đối tượng được phát hiện.

Cách thức hoạt động

Hệ thống Báo động An ninh sử dụng object tracking để theo dõi các luồng video và phát hiện các mối đe dọa an ninh tiềm ẩn. Khi hệ thống phát hiện các đối tượng vượt quá ngưỡng quy định (được thiết lập bởi tham số records), nó sẽ tự động gửi thông báo email kèm theo hình ảnh đính kèm hiển thị các đối tượng được phát hiện.

Hệ thống tận dụng SecurityAlarm class, cung cấp các phương thức để:

  1. Xử lý các khung hình và trích xuất kết quả phát hiện đối tượng
  2. Chú thích khung hình bằng BBox xung quanh các đối tượng được phát hiện
  3. Gửi thông báo email khi vượt quá ngưỡng phát hiện

Triển khai này lý tưởng cho an ninh gia đình, giám sát bán lẻ và các ứng dụng giám sát khác nơi việc thông báo ngay lập tức về các đối tượng được phát hiện là rất quan trọng.

Câu hỏi thường gặp (FAQ)

Ultralytics YOLO26 cải thiện độ chính xác của hệ thống báo động an ninh như thế nào?

Ultralytics YOLO26 nâng cao hệ thống báo động an ninh bằng cách mang lại khả năng phát hiện đối tượng thời gian thực với độ chính xác cao. Các thuật toán tiên tiến của nó giúp giảm đáng kể các cảnh báo sai, đảm bảo rằng hệ thống chỉ phản hồi với các mối đe dọa thực sự. Độ tin cậy gia tăng này có thể được tích hợp liền mạch với cơ sở hạ tầng an ninh hiện có, nâng cấp chất lượng giám sát tổng thể.

Tôi có thể tích hợp Ultralytics YOLO26 với cơ sở hạ tầng an ninh hiện có của mình không?

Có, Ultralytics YOLO26 có thể được tích hợp liền mạch với cơ sở hạ tầng an ninh hiện có của bạn. Hệ thống hỗ trợ nhiều chế độ khác nhau và cung cấp sự linh hoạt để tùy chỉnh, cho phép bạn tăng cường hệ thống hiện tại với các khả năng phát hiện đối tượng nâng cao. Để biết hướng dẫn chi tiết về việc tích hợp YOLO26 vào dự án của bạn, hãy truy cập integration section.

Yêu cầu về dung lượng lưu trữ để chạy Ultralytics YOLO26 là gì?

Chạy Ultralytics YOLO26 trên một cấu hình tiêu chuẩn thường yêu cầu khoảng 5GB dung lượng đĩa trống. Dung lượng này bao gồm không gian để lưu trữ model YOLO26 và bất kỳ phụ thuộc bổ sung nào. Đối với các giải pháp dựa trên đám mây, Ultralytics Platform cung cấp khả năng quản lý dự án và xử lý tập dữ liệu hiệu quả, giúp tối ưu hóa nhu cầu lưu trữ. Tìm hiểu thêm về Pro Plan để biết các tính năng nâng cao bao gồm mở rộng dung lượng lưu trữ.

Điều gì làm cho Ultralytics YOLO26 khác biệt so với các model phát hiện đối tượng khác như Faster R-CNN hoặc SSD?

Ultralytics YOLO26 mang lại lợi thế hơn so với các model như Faster R-CNN hoặc SSD nhờ khả năng phát hiện thời gian thực và độ chính xác cao hơn. Kiến trúc độc đáo của nó cho phép xử lý hình ảnh nhanh hơn nhiều mà không làm giảm precision, khiến nó trở nên lý tưởng cho các ứng dụng nhạy cảm về thời gian như hệ thống báo động an ninh. Để có sự so sánh toàn diện về các model phát hiện đối tượng, bạn có thể khám phá guide của chúng tôi.

Làm thế nào để tôi có thể giảm tần suất cảnh báo sai trong hệ thống an ninh của mình bằng cách sử dụng Ultralytics 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.

Bình luận