Dự án Hệ thống Báo động An ninh sử dụng Ultralytics YOLO26#
Dự án Hệ thống Báo động An ninh sử dụng Ultralytics YOLO26 tích hợp các tính năng computer vision tiên tiến nhằm nâng cao các biện pháp an ninh. YOLO26, được phát triển bởi Ultralytics, cung cấp khả năng object detection thời gian thực, cho phép hệ thống nhận diện và phản ứng kịp thời 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 sau:
- 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 nhận diện và phản ứng 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.
- 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 số lượng cảnh báo 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 thêm một lớp giám sát thông minh.
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 nguồn cấp video của bạn và gửi một email cảnh báo duy nhất kèm theo hình ảnh được chú thích ngay khi số lượng phát hiện đạt đến 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 của bạn.
Lưu ý
Việc tạo Mật khẩu Ứng dụng là cần thiết
- Điều hướng đến App Password Generator, chỉ định tên ứng dụng chẳng hạn 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ã bên dưới.
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 windowsKhi bạn chạy mã nguồn, 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 mã nguồn để phù hợp với các yêu cầu dự án của mình.
Mẫu Email đã nhận#
Đối số SecurityAlarm#
Dưới đây là bảng chứa các đối số của SecurityAlarm:
| Đối số | Loại | Mặc định | Mô tả |
|---|---|---|---|
model | str | None | Đường dẫn đến tệp model Ultralytics YOLO. |
records | int | 5 | Tổng số lượng phát hiện để kích hoạt email với hệ thống báo động an ninh. |
line_width | int | 2 | Độ dày đường viền cho các khung, keypoints và số lượng mà giải pháp vẽ ra. |
verbose | bool | True | Bật nhật ký theo từng khung hình của giải pháp về hình dạng đầu vào, số lượng lớp và tốc độ xử lý. Bản thân lệnh gọi tracking luôn ở chế độ im lặng. |
Giải pháp SecurityAlarm hỗ trợ nhiều tham số track khác nhau:
| Đối số | Loại | Mặc định | Mô tả |
|---|---|---|---|
tracker | str | '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. |
conf | float | 0.25 | Thiết lập ngưỡng tin cậy cho các phát hiện; các giá trị thấp hơn cho phép nhiều đối tượng được theo dõi hơn nhưng có thể bao gồm các kết quả dương tính giả. |
iou | float | 0.7 | Đặt ngưỡng Intersection over Union (IoU) để lọc các phát hiện trùng lặp. |
classes | list | None | Lọc kết quả theo chỉ mục lớp. Ví dụ: classes=[0, 2, 3] chỉ theo dõi các lớp được chỉ định. |
device | str | None | Chỉ định thiết bị để suy luận (ví dụ: cpu, cuda:0 hoặc 0). Cho phép người dùng lựa chọn giữa CPU, GPU cụ thể hoặc các thiết bị tính toán khác để thực thi mô hình. |
Hơn nữa, các cài đặt trực quan hóa sau đây cũng khả dụng:
| Đối số | Loại | Mặc định | Mô tả |
|---|---|---|---|
show | bool | False | Nếu là True, hiển thị các hình ả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_conf | bool | True | Hiển thị điểm số tin cậy (confidence score) cho mỗi phát hiện cùng với nhãn. Cung cấp thông tin chi tiết về độ chắc chắn của model đối với từng phát hiện. |
show_labels | bool | True | Hiển thị nhãn cho mỗi phát hiện trong đầu ra hình ảnh. Cung cấp khả năng nhận biết tức thì 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 để giám sát các nguồn cấp 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 đã chỉ định (được 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 theo tệp đính kèm hình ảnh 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 để:
- Xử lý khung hình và trích xuất thông tin phát hiện đối tượng
- Chú thích các khung hình với các BBox bao quanh các đối tượng được phát hiện
- Gửi thông báo qua 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#
Ultralytics YOLO26 tăng cường các 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 theo 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ó làm giảm đáng kể các cảnh báo sai, đảm bảo rằng hệ thống chỉ phản ứng 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 hạ tầng an ninh hiện có, nâng cấp 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 cơ sở hạ tầng an ninh hiện có của bạn. Hệ thống hỗ trợ các chế độ khác nhau và mang lại sự linh hoạt cho việc tùy chỉnh, cho phép bạn nâng cao thiết lập hiện tại của mình với các tính năng phát hiện đối tượng tiên tiến. Để có hướng dẫn chi tiết về việc tích hợp YOLO26 vào các dự án của bạn, hãy truy cập integration section.
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. Điều này bao gồm dung lượng để lưu trữ mô hình 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 để có các tính năng nâng cao bao gồm dung lượng lưu trữ mở rộng.
Ultralytics YOLO26 mang lại lợi thế vượt trội so với các mô hình như Faster R-CNN hoặc SSD với 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, làm cho nó trở nên lý tưởng cho các ứng dụng đòi hỏi thời gian khắt khe như hệ thống báo động an ninh. Để có sự so sánh toàn diện về các mô hình phát hiện đối tượng, bạn có thể khám phá guide của chúng tôi.
Để giảm thiểu các cảnh báo giả, hãy đảm bảo mô hình Ultralytics YOLO26 của bạn được đào tạo đầy đủ với một tập dữ liệu đa dạng và được gán nhãn tốt. Việc tinh chỉnh các siêu tham số và thường xuyên cập nhật mô hình với dữ liệu mới có thể cải thiện đáng kể độ chính xác của việc phát hiện. Các kỹ thuật hyperparameter tuning chi tiết có thể được tìm thấy trong hyperparameter tuning guide của chúng tôi.