Link to this sectionDự á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 khả năng computer vision tiên tiến nhằm tăng cường 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 theo thời gian thực, cho phép hệ thống nhận diện và phản ứng với các mối đe dọa an ninh tiềm tàng một cách nhanh chóng. 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 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 nhận diệ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 cho 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.
Link to this sectionGử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 thông báo email duy nhất kèm theo 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 của bạn.
Lưu ý
Việc tạo Mật khẩu Ứng dụng là cần thiết
- Truy cập App Password Generator, đặt tên ứng dụng ví dụ như "security project," và nhận mật khẩu gồm 16 chữ số. Sao chép mật khẩu này và dán vào trường
passwordtương ứng trong mã nguồn 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.
Link to this sectionMẫu Email đã nhận#
Link to this sectionCác đối số của 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. |
Giải pháp SecurityAlarm hỗ trợ đa dạng các tham số track:
| Đối số | Loại | Mặc định | Mô tả |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Chỉ định thuật toán tracking 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.1 | 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 | Thiết lập ngưỡng Intersection over Union (IoU) để lọc các phát hiện chồng lấp. |
classes | list | None | Lọc kết quả theo chỉ số lớp. Ví dụ, classes=[0, 2, 3] chỉ theo dõi các lớp đã chỉ định. |
verbose | bool | True | Kiểm soát việc hiển thị 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. |
device | str | None | Chỉ đị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 để thực thi model. |
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 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 cho 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ử. |
line_width | int or None | None | Chỉ định độ dày đường của bounding box. Nếu None, độ dày đường được tự động điều chỉnh dựa trên kích thước hình ảnh. Cung cấp khả năng tùy chỉnh trực quan để rõ ràng hơn. |
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. |
Link to this sectionCá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 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 tệp đính kèm hình ảnh hiển thị các đối tượng đã 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.
Link to this sectionCâu hỏi thường gặp#
Link to this sectionUltralytics 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 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ể.
Link to this sectionTôi có thể tích hợp Ultralytics YOLO26 với hạ tầng an ninh hiện tại 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 tại của bạn. Hệ thống hỗ trợ nhiều chế độ khác nhau và mang lại sự linh hoạt cho việc tùy chỉnh, cho phép bạn tăng cường thiết lập hiện có với các khả năng phát hiện đối tượng tiên tiến. Để 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.
Link to this sectionYêu cầu lưu trữ để chạy Ultralytics YOLO26 là gì?#
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à 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 mở rộng lưu trữ.
Link to this sectionĐ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 ưu thế hơn so với 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 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.
Link to this sectionLà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 khi sử dụng Ultralytics YOLO26?#
Để giảm cảnh báo sai, hãy đảm bảo rằng model Ultralytics YOLO26 của bạn được huấn luyện đầy đủ với tập dữ liệu đa dạng và được chú thích tốt. Việc tinh chỉnh các siêu tham số và cập nhật thường xuyên model 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 hướng dẫn tinh chỉnh siêu tham số của chúng tôi.