Ultralytics YOLO27:

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 thị giác máy tính tiên tiến để tăng cường các biện pháp bảo mật. YOLO26, do Ultralytics phát triển, cung cấp khả năng phát hiện đối tượng theo thời gian thực, cho phép hệ thống nhanh chóng xác định và phản hồi các mối đe dọa an ninh tiềm ẩn. Dự án này mang lại một số lợi ích:

  • Phát hiện theo 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 theo thời gian thực, giảm thiểu thời gian phản hồi.
  • Độ chính xác: 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 các kết quả dương tính giả và nâng cao độ 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 hạ tầng an ninh hiện có, cung cấp 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

Gửi Cảnh báo An ninh với YOLO26#

Giải pháp SecurityAlarm theo dõi các đối tượng trong luồng video của bạn và gửi một email cảnh báo duy nhất kèm hình ảnh đã chú thích ngay khi số lượng đối tượng phát hiện đạt ngưỡng records. Xác thực tài khoản Gmail bằng mật khẩu ứng dụng, sau đó chạy giải pháp trên nguồn dữ liệu của bạn.

Yêu cầu mật khẩu ứng dụng

Điều hướng đến Trình tạo mật khẩu ứng dụng, chỉ định tên ứng dụng chẳng hạn như "security project" và lấy mật khẩu 16 chữ số. Sao chép mật khẩu này và dán vào trường password trong mã nguồn bên dưới.

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 chạy code, bạn sẽ nhận được một thông báo email duy nhất nếu phát hiện bất kỳ đối tượng nào. 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 code để 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 argument của SecurityAlarm#

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

Đối sốKiểuMặc địnhMô tả
modelstrNoneĐường dẫn đến file model Ultralytics YOLO.
recordsint5Tổng số detection cần đạt để kích hoạt email cùng hệ thống cảnh báo an ninh.
line_widthint2Độ dày đường kẻ cho các box, keypoint và số lượng mà solution vẽ.
verboseboolTrueBật log theo từng frame của solution, gồm kích thước input, số lượng class và tốc độ xử lý. Riêng lệnh tracking luôn ở chế độ im lặng.

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

Đối sốKiểuMặc địnhMô tả
trackerstr'botsort.yaml'Chỉ định thuật toán theo dõi cần sử dụng. Các tùy chọn tích hợp sẵn: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Thiết lập ngưỡng độ tin cậy cho các detection; 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 false positive.
ioufloat0.7Thiết lập ngưỡng Intersection over Union (IoU) để lọc các detection chồng lấn.
classeslistNoneLọc kết quả theo chỉ số class. Ví dụ, classes=[0, 2, 3] chỉ theo dõi các class được chỉ định.
devicestrNoneChỉ định thiết bị dùng cho inference (ví dụ: cpu, cuda:0 hoặc 0). Cho phép người dùng lựa chọn giữa CPU, một GPU cụ thể hoặc các thiết bị tính toán khác để thực thi model.
imgszint or tuple640Kích thước ảnh inference mục tiêu: một số nguyên cho ảnh vuông hoặc một cặp (height, width). Các hình dạng được điều chỉnh theo stride của model.
max_detint300Số lượng detection tối đa được giữ lại trên mỗi frame trước khi tracking, giới hạn các đối tượng mà một solution xử lý trong các scene đông đúc.
quantizeint or strNoneĐộ chính xác inference: 16 (FP16) hoặc 32/không thiết lập (FP32) đối với các model PyTorch và TorchScript; các định dạng khác tính toán ở độ chính xác mà artifact và runtime của chúng chọn. Thay thế cờ half đã bị loại bỏ.

Ngoài ra, các cài đặt trực quan hóa sau đây cũng khả dụng:

Đối sốKiểuMặc địnhMô tả
showboolFalseNếu True, hiển thị image hoặc video đã được annotate trong một cửa sổ. Hữu ích để nhận phản hồi trực quan ngay lập tức trong quá trình development hoặc testing.
show_confboolTrueHiển thị score confidence cho mỗi detection bên cạnh label. Cung cấp thông tin về mức độ chắc chắn của model đối với từng detection.
show_labelsboolTrueHiển thị label cho mỗi detection trong output trực quan. Cung cấp nhận biết tức thì về các object được phát hiện.

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

Hệ thống Báo động An ninh sử dụng theo dõi đối tượng để giám sát 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 được chỉ định (thiết lập bởi tham số records), hệ thống sẽ tự động gửi thông báo qua email kèm tệp hình ảnh hiển thị các đối tượng đã phát hiện.

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

  1. Xử lý các frame và trích xuất các đối tượng đã phát hiện
  2. Chú thích các frame bằng bounding box xung quanh các đối tượng đã phát hiện
  3. Gửi thông báo qua email khi các ngưỡng phát hiện bị vượt quá

Triển khai này phù hợp 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à yếu tố then chốt.

FAQ#

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

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

  • Việc chạy Ultralytics YOLO26 trên một thiết lập 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à mọi dependency bổ sung. Đối với các giải pháp dựa trên cloud, Ultralytics Platform cung cấp khả năng quản lý dự án và xử lý dataset hiệu quả, giúp tối ưu nhu cầu lưu trữ. Tìm hiểu thêm về Gói Pro để sử dụng các tính năng nâng cao, bao gồm dung lượng lưu trữ mở rộng.

  • Ultralytics YOLO26 vượt trội hơn các model như Faster R-CNN hoặc SSD nhờ khả năng phát hiện theo thời gian thực và độ chính xác cao hơn. Kiến trúc độc đáo của model cho phép xử lý hình ảnh nhanh hơn nhiều mà không ảnh hưởng đến độ chính xác, khiến model 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. Để xem so sánh toàn diện giữa các model phát hiện đối tượng, bạn có thể tham khảo hướng dẫn của chúng tôi.

  • Để giảm các kết quả dương tính giả, hãy đảm bảo model Ultralytics YOLO26 của bạn được huấn luyện đầy đủ với một dataset đa dạng và được chú thích kỹ lưỡng. Tinh chỉnh hyperparameter và thường xuyên cập nhật model bằng dữ liệu mới có thể cải thiện đáng kể độ chính xác phát hiện. Bạn có thể tìm thấy các kỹ thuật tinh chỉnh hyperparameter chi tiết trong hướng dẫn tinh chỉnh hyperparameter của chúng tôi.

Bình luận