Ultralytics YOLO27:
Get Started

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 an ninh. 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 nhận diện và ứng phó với các mối đe dọa an ninh tiềm ẩn. Dự án này mang lại một số ưu điểm:

  • Phát hiện theo thời gian thực: Hiệu quả của YOLO26 cho phép Hệ thống báo động an ninh phát hiện và ứng phó vớ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ề độ chính xác trong phát hiện đối tượng, giúp giảm cảnh báo dương tính giả và tă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ể tích hợp liền mạch với hạ tầng an ninh hiện có, bổ sung một lớp giám sát thông minh.


Xem: Hệ thống báo động an ninh với Ultralytics YOLO26 + Solutions Phát hiện đối tượng

Gửi cảnh báo an ninh bằng YOLO26#

Giải pháp SecurityAlarm theo dõi đối tượng trong luồng video 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 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.

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

Truy cập Trình tạo mật khẩu ứng dụng, đặt tên ứng dụng, chẳng hạn như "dự án an ninh", rồi lấy mật khẩu gồm 16 ký tự. Sao chép mật khẩu này và dán vào trường password trong đoạn code 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"

# Bộ ghi video
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"  # địa chỉ email người gửi
password = "---- ---- ---- ----"  # mật khẩu ứng dụng gồm 16 ký tự được tạo qua: https://myaccount.google.com/apppasswords
to_email = "xyz@gmail.com"  # địa chỉ email người nhận

# Khởi tạo đối tượng báo động an ninh
securityalarm = solutions.SecurityAlarm(
    show=True,  # hiển thị đầu ra
    model="yolo26n.pt",  # ví dụ: yolo26s.pt, yolo26m.pt
    records=1,  # tổng số detection cần gửi email
)

securityalarm.authenticate(from_email, password, to_email)  # xác thực máy chủ email

# Xử lý 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)  # truy cập kết quả đầu ra

    video_writer.write(results.plot_im)  # ghi khung hình đã xử lý.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # đóng tất cả cửa sổ đang mở

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 gửi lặp lại. Bạn có thể tùy chỉnh code cho phù hợp với yêu cầu của dự án.

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ốKiểuMặc địnhMô tả
modelstrNoneĐường dẫn đến tệp model Ultralytics YOLO.
recordsint5Tổng số đối tượng phát hiện cần đạt để kích hoạt email cảnh báo từ hệ thống an ninh.
line_widthint2Độ dày đường viền của box, keypoint và số đếm mà giải pháp vẽ.
verboseboolTrueBật nhật ký theo từng frame của giải pháp, gồm shape đầu vào, số lượng class và tốc độ xử lý. Bản thân lệnh gọi tracking luôn không ghi nhật ký.

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

Đối sốKiểuMặc địnhMô tả
trackerstr'tracktrack.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.25Đặt ngưỡng confidence cho các đối tượng được phát hiện; 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ả kết quả dương tính giả.
ioufloat0.7Đặt ngưỡng Intersection over Union (IoU) để lọc các đối tượng phát hiện bị chồng lấn.
classeslistNoneLọc kết quả theo chỉ mục class. Ví dụ: classes=[0, 2, 3] chỉ theo dõi các class được chỉ định.
devicestrNoneChỉ định thiết bị dùng để suy luận (ví dụ: cpu, cuda:0 hoặc 0). Cho phép người dùng chọn CPU, một GPU cụ thể hoặc thiết bị tính toán khác để chạy model.
imgszint or tuple640Kích thước ảnh suy luận mục tiêu: số nguyên cho ảnh vuông hoặc cặp (height, width). Kích thước sẽ được điều chỉnh theo stride của model.
max_detint300Số lượng đối tượng phát hiện tối đa được giữ lại trong mỗi khung hình trước khi theo dõi, giới hạn số đối tượng mà một giải pháp xử lý trong các cảnh dày đặc.
quantizeint or strNoneĐộ chính xác suy luận: 16 (FP16) hoặc 32/unset (FP32) cho model PyTorch và TorchScript khi chạy ngoài CPU; các định dạng khác sử dụng độ chính xác do artifact và runtime của chúng lựa chọn. Thay thế đối số half đã lỗi thời.

Ngoài ra, bạn có thể sử dụng các cài đặt trực quan hóa sau:

Đối sốKiểuMặc địnhMô tả
showboolFalseNếu True, hiển thị ảnh hoặc video đã được chú thích 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 phát triển hoặc kiểm thử.
show_confboolTrueHiển thị điểm confidence bên cạnh nhãn của mỗi detection. Cho biết mức độ chắc chắn của model đối với từng detection.
show_labelsboolTrueHiển thị nhãn cho mỗi detection trong đầu ra trực quan. Giúp nhận biết ngay các đối tượng được phát hiện.

Cách hoạt động#

Hệ thống báo động an ninh sử dụng theo dõi đối tượng để giám sát luồng video và phát hiện các mối đe dọa an ninh tiềm ẩn. Khi số lượng đối tượng được phát hiện trong một khung hình đạt đến ngưỡng đã chỉ định (được đặt bằng tham số records), hệ thống sẽ tự động gửi thông báo email kèm ảnh đính kèm hiển thị các đối tượng được 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ý khung hình và trích xuất các detection đối tượng
  2. Chú thích khung hình bằng các bounding box xung quanh đối tượng được phát hiện
  3. Gửi thông báo email khi đạt ngưỡng detection

Cách triển khai này phù hợp với hệ thống an ninh gia đình, giám sát bán lẻ và các ứng dụng giám sát khác, trong đó việc nhận thông báo ngay khi phát hiện đối tượng là yếu tố then chốt.

Câu hỏi thường gặp#

  • Ultralytics YOLO26 nâng cao hệ thống báo động an ninh bằng cách cung cấp 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 giúp giảm đáng kể false positive, đảm bảo hệ thống chỉ phản hồi trước các mối đe dọa thực sự. Độ tin cậy được cải thiện này có thể tích hợp liền mạch với hạ tầng an ninh hiện có, nâng cao chất lượng giám sát tổng thể.

  • Có, Ultralytics YOLO26 có thể tích hợp liền mạch với hạ tầng an ninh hiện có. Hệ thống hỗ trợ nhiều chế độ và cho phép tùy chỉnh linh hoạt, giúp bạn nâng cấp thiết lập hiện có bằng các tính 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 mục tích hợp.

  • Thông thường, để chạy Ultralytics YOLO26 trên một cấu hình tiêu chuẩn, bạn cần khoảng 5GB dung lượng đĩa trống. Dung lượng này bao gồm không gian để lưu model YOLO26 và các dependency bổ sung. Với 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 để biết 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 detection theo thời gian thực và độ chính xác cao hơn. Kiến trúc độc đáo cho phép model xử lý hình ảnh nhanh hơn nhiều mà không làm giảm độ chính xác, nhờ đó phù hợp với các ứng dụng nhạy cảm về thời gian như hệ thống báo động an ninh. Để so sánh toàn diện các model phát hiện đối tượng, bạn có thể xem hướng dẫn của chúng tôi.

  • Để giảm false positive, hãy đảm bảo model Ultralytics YOLO26 được huấn luyện đầy đủ trên dataset đa dạng và có chú thích tốt. 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 detection. Bạn có thể tìm hiểu 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