Hi, I am

Ngô Tôn

I am a programmer.

Home / AI/ML/DL/DS / Ứng dụng AI cảnh báo người lạ đột nhập

Ứng dụng AI cảnh báo người lạ đột nhập

Bài viết tiếp theo trong series Tự học và phát triển ứng dụng thực tế AI, ML, DL, DS chúng ta sẽ cùng nhau viết một ứng dụng cảnh báo người lạ đột nhập.

Trong bài này chúng ta sẽ áp dụng kỹ thuật xử lý ảnh trong OpenCV và ngôn ngữ lập trình Python để thực hiện nhận diện đối tượng với hình ảnh đưa vào từ camera hoặc webcam.

Ý tưởng bài toán

Ý tưởng khá đơn giản, chúng ta sẽ dùng OpenCV vẽ cố định vùng cần quan sát trên khung hình được lấy từ camera. Nếu có đối tượng di chuyển vào khu vực đã xác định, ta sẽ nhận diện và phát tín hiệu cảnh báo.

Thuật toán xử lý ảnh phát hiện đối tượng di chuyển trong ảnh

Một phương pháp đơn giản chúng ta sẽ sử dụng là Background Subtraction hay thuật toán trừ nền. Thuật toán Background Subtraction là một kỹ thuật phổ biến được sử dụng rộng rãi để phát hiện các đối tượng chuyển động trong ảnh. Trong phương pháp này chúng ta cần sử dụng video được quay từ một camera cố định.

Chúng ta dùng các hàm sau trong thư viện OpenCV để xử lý:

  • cv2.cvtColor: Chuyển đổi không gian màu của ảnh đầu vào
  • cv2.GaussianBlur: Làm mờ ảnh sử dụng thuật toán Gaussian
  • cv2.absdiff: Tính toán sự khác biệt tuyệt đối giữa 2 ảnh đầu vào
  • cv2.threshold: Áp dụng một ngưỡng cố định cho ảnh
  • cv2.dilate: Áp dụng thuật toán giãn nở ảnh

Viết chương trình ứng dụng AI cảnh báo người lạ đột nhập với OpenCV và Python

Đầu tiên chúng ta import một số packages cần thiết

Sau đó, chúng ta thiết lập các tham số của chương trình

Đọc video và khởi tạo background

Vẽ phạm vi quan sát đối tượng di chuyển vào

Bây giờ là phần xử lý chính.

Lặp lần lượt từng frame của video:

B1: Resize ảnh về kích thước cố định

B2: Tạo ảnh background nếu không được truyền vào

B3: Tính sự khác biệt giữa ảnh hiện tại và ảnh background

B4: Sử dụng threshold để chuyển ảnh về dụng nhị phân

B5: Thực hiện giãn nở ảnh để làm rõ các cùng vùng màu trắng trong ảnh

B6: Xác định đường bao cho các đối tượng thu được

B7: Kiểm tra đối tượng có nằm trong khu vực quan sát hay không

B8: Hiện cảnh báo lên hình và phát tín hiệu cảnh báo

Chúng ta cùng xem kết quả nhé

Như vậy mình đã giới thiệu cho các bạn một phương pháp đơn giản sử dụng các thuật toán xử lý ảnh để phát hiện người lạ đột nhập. Để chính xác hơn trong việc phát hiện đối tượng là người chúng ta có thể áp dụng 1 số kỹ thuật học sâu (Deep Learning).

Chúc các bạn thành công

About ngoton

Ngô Tôn is a programmer with passion for tailored software solutions. Comes with 7+ years of IT experience, to execute beautiful front-end experiences with secure and robust back-end solutions.

Check Also

Face Morphing Using OpenCV

Mục lục Morphing là gì?Face Morphing1. Tìm điểm tương ứng bằng cách sử dụng tính …

2
Leave a Reply

avatar
2 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
Khanh HuyVisitor Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
Visitor
Guest

Good tutorial

Khanh Huy
Guest
Khanh Huy

Có thể bảo vào model YOLO v8 để detect không ạ