Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh tình hình an ninh trật tự xã hội diễn biến phức tạp, vấn nạn trộm cắp tài sản tại các hộ gia đình và khu dân cư đang gây ra nhiều thiệt hại về vật chất lẫn tâm lý cho người dân. Các giải pháp an ninh truyền thống như khóa cơ học hay khóa số điện tử bộc lộ nhiều điểm yếu do có thể bị bẻ, phá khóa bằng các công cụ chuyên dụng. Nhằm khắc phục hạn chế trên, việc thiết kế các hệ thống cảnh báo sớm có khả năng tự động nhận diện kẻ lạ, phát tín hiệu răn đe tại chỗ và thông báo từ xa cho gia chủ trở thành một nhu cầu cấp thiết trong các mô hình nhà thông minh và căn hộ hiện đại.

Đồ án "Ứng dụng xử lý ảnh thiết kế thi công mạch chống trộm thông minh" được thực hiện bởi sinh viên Tăng Nguyễn Công Thiên, dưới sự hướng dẫn của ThS. Võ Đức Dũng tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh (thực hiện từ ngày 21/03/2018 đến ngày 05/07/2018), tập trung giải quyết các mục tiêu và nhiệm vụ cụ thể sau:

  1. Mục tiêu nghiên cứu: Thiết kế và thi công hoàn chỉnh mô hình hệ thống chống trộm thông minh ứng dụng kỹ thuật xử lý ảnh số, tích hợp giữa máy tính cá nhân và kit vi điều khiển để nhận diện chuyển động, nhận dạng khuôn mặt, thực hiện cảnh báo qua tin nhắn SMS, còi báo động và điều khiển đóng mở cửa tự động.
  2. Nhiệm vụ nghiên cứu:
    • Tìm hiểu phần mềm Matlab 2017a và kit vi điều khiển Arduino Uno R3.
    • Cài đặt thư viện, thiết lập giao thức liên kết truyền thông nối tiếp giữa Matlab và Arduino.
    • Nghiên cứu các thuật toán xử lý ảnh, phát hiện chuyển động và nhận diện khuôn mặt người.
    • Xây dựng quy trình xử lý ảnh đầu vào và thuật toán trích chọn đặc trưng.
    • Thiết kế, thi công mạch phần cứng kết nối các khối ngoại vi gồm Module Sim 800A, động cơ Servo SG90, còi Buzzer, đèn Led và khối nguồn.
    • Kiểm tra, chạy thử nghiệm và đánh giá kết quả hoạt động trên mô hình thực tế.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Kỹ thuật xử lý ảnh số (nhận biết màu da, trích chọn đặc trưng PCA, HOG) và hệ thống phần cứng điều khiển nhúng trên nền vi điều khiển ATmega328.
  • Phạm vi không gian và điều kiện môi trường: Hệ thống thử nghiệm trong điều kiện ánh sáng ổn định (cả ngày và đêm); khuôn mặt đối tượng không trang điểm hoặc bị biến dạng.
  • Giới hạn kỹ thuật: Camera chỉ nhận dạng chính xác đối tượng ở khoảng cách dưới 1,2 mét; góc nghiêng hoặc xoay mặt trái/phải không vượt quá 45 độ, góc cúi xuống hoặc ngước lên không vượt quá 30 độ; hệ thống chưa xây dựng ứng dụng di động Android để điều khiển qua Internet.

Cơ sở lý thuyết và phương pháp

Đồ án vận dụng hệ thống lý thuyết về xử lý ảnh số kết hợp với kiến trúc điều khiển nhúng:

  • Khung lý thuyết xử lý ảnh số: Quá trình xử lý ảnh trải qua các giai đoạn cơ bản gồm: thu nhận ảnh (Image Acquisition) qua Webcam; tiền xử lý (Image Processing) để lọc nhiễu và nâng cao độ tương phản; phân đoạn ảnh (Segmentation) để tách vùng quan tâm; biểu diễn và trích chọn đặc trưng (Representation & Feature Extraction); nhận dạng và nội suy (Recognition & Interpretation).
  • Mô hình hóa màu da người: Tác giả khảo sát 9 không gian màu khác nhau gồm RGB, RGB chuẩn hóa ($r+g+b=1$), HSI, HSV, HSL, TSL, $YC_bC_r$, YES, YUV và YIQ; đồng thời phân tích các phương pháp mô hình hóa màu da như phương pháp đặt ngưỡng trực tiếp, phương pháp phi tham số (Bản đồ phân bố xác suất SPM, Bảng tra cứu LUT, Bộ phân lớp Bayes) và phương pháp có tham số (Phân phối đơn Gauss, Mô hình hỗn hợp Gauss - GMM kết hợp thuật toán EM với $k=8$, Đa phân phối Gauss).
Phương pháp mô hình hóa màu da Tỷ lệ nhận biết đúng (%) Tỷ lệ nhận biết sai (%)
Bayes SPM trong RGB (Jones và Regh, 1999) 80,0% / 90,0% 8,5% / 14,2%
Bayes SPM trong RGB (Brand và Mason, 2000) 93,4% 19,8%
Maximum Entropy Model trong RGB (Jedynak et al., 2002) 80,0% 8,0%
Gauss Mixture Models trong RGB (Jones và Regh, 1999) 80,0% / 90,0% ~9,5% / ~15,5%
SOM trong TSL (Brown et al., 2002) 78,0% 32,0%
Elliptical Boundary Model trong CIE-xy (Lee và Yoo, 2002) 90,0% 20,9%
Single Gauss trong $C_b$ và $C_r$ (Lee và Yoo, 2002) 90,0% 33,3%
Gauss Mixture trong IQ (Lee và Yoo, 2002) 90,0% 30,0%
Thresholding của trục I trong YIQ (Brand và Mason, 2000) 94,7% 30,2%
  • Phương pháp lựa chọn trong đồ án: Tác giả quyết định sử dụng phương pháp đặt ngưỡng trực tiếp trong không gian màu RGB để phân vùng màu da nhanh, tiết kiệm bộ nhớ, thỏa mãn tập điều kiện: $$R > 95 \quad \text{và} \quad G > 40 \quad \text{và} \quad B > 20$$ $$\max(R,G,B) - \min(R,G,B) > 15 \quad \text{và} \quad |R - G| > 15 \quad \text{và} \quad R > G \quad \text{và} \quad R > B$$
  • Thuật toán trích chọn đặc trưng và nhận dạng khuôn mặt: Áp dụng phương pháp phân tích thành phần chính (Principal Component Analysis - PCA / Eigenfaces). Thuật toán chuyển đổi ảnh $M \times N$ thành vector $M \cdot N$ chiều, tính vector trung bình từ tập $P$ ảnh huấn luyện, xây dựng ma trận hiệp phương sai kích thước $P \times P$, tính toán $Q$ vector riêng tương ứng với các trị riêng lớn nhất để tạo không gian con trực chuẩn $E = AV$. Ảnh mới được chiếu vào không gian này để xác định khoảng cách Euclid với hai ngưỡng $\alpha$ (kiểm tra khuôn mặt) và $\beta$ (nhận dạng danh tính).
  • Thuật toán phát hiện chuyển động: Sử dụng phương pháp phân tích lược đồ hướng Gradient (Histogram of Oriented Gradients - HOG) kết hợp với sai phân ảnh để phát hiện chuyển động trong khung hình thu được từ camera.

Thiết kế và triển khai hệ thống

Hệ thống được thiết kế theo mô hình kết hợp giữa khối xử lý thuật toán trên máy tính và khối điều khiển nhúng ngoại vi:

Khối chức năng / Thiết bị Thông số kỹ thuật chính Vai trò trong hệ thống
Máy tính xử lý trung tâm Môi trường lập trình Matlab 2017a Thu nhận video từ Webcam, thực thi thuật toán HOG và PCA, truyền lệnh qua cổng Serial
Webcam Logitech Giao tiếp qua cổng USB Thu nhận hình ảnh và video thời gian thực phục vụ giám sát
Board vi điều khiển Arduino Uno R3 Vi điều khiển ATmega328 (8-bit), 16 MHz, 14 chân Digital I/O (6 chân PWM), 6 chân Analog (10-bit), Flash 32 KB, SRAM 2 KB, EEPROM 1 KB Tiếp nhận dữ liệu từ Matlab, điều khiển đóng cắt rơ-le, phát xung cho Servo và điều khiển module Sim
Module Sim 800A Chuẩn GSM/GPRS, giao tiếp nối tiếp UART, tích hợp nguồn xung và IC đệm Soạn và gửi tin nhắn SMS cảnh báo đột nhập đến số điện thoại gia chủ
Động cơ Servo SG90 Điều khiển bằng xung PPM, góc quay 0° – 180° Đóng/mở chốt cửa khi có tín hiệu xác nhận khuôn mặt hợp lệ
Khối cảnh báo (Buzzer & Led) Còi báo động điện áp thấp, 2 Led đơn Phát âm thanh báo động và tín hiệu ánh sáng tại chỗ
Khối nguồn tổ ong Nguồn công nghiệp 12V-5A / 10V-5A / 5V-4A Cung cấp nguồn điện ổn định cho Arduino và các tải công suất

Quy trình vận hành phần mềm và phần cứng được phối hợp theo hai chu trình:

  1. Chu trình phát hiện chuyển động: Webcam quét khung cảnh liên tục. Khi phát hiện có sự dịch chuyển của vật thể dựa trên thuật toán sai phân và HOG, hệ thống Matlab phát lệnh điều khiển qua cổng COM xuống Arduino Uno R3 để kích hoạt còi Buzzer phát âm thanh, bật sáng đèn Led, đồng thời điều khiển Module Sim 800A gửi tin nhắn cảnh báo đến điện thoại.
  2. Chu trình nhận dạng khuôn mặt: Khi người xuất hiện trước camera, hệ thống thực hiện phân vùng màu da bằng ngưỡng RGB, trích xuất đặc trưng khuôn mặt bằng thuật toán PCA và so sánh với cơ sở dữ liệu đã huấn luyện. Nếu khuôn mặt khớp với dữ liệu có sẵn, Arduino điều khiển động cơ Servo SG90 quay để mở cửa trong vòng 6 giây rồi tự động đóng lại. Nếu khuôn mặt không tồn tại trong cơ sở dữ liệu (người lạ), hệ thống kích hoạt chuông báo động và đèn Led cảnh báo.

Nội dung chính theo từng chương

Chương 1: Tổng quan

Chương này phân tích lý do chọn đề tài xuất phát từ thực trạng an ninh nhà ở và sự cần thiết của các thiết bị chống trộm thông minh. Tác giả xác định mục tiêu thiết kế mô hình kết hợp giữa xử lý ảnh trên máy tính và kit vi điều khiển Arduino, nêu rõ các giới hạn về khoảng cách nhận dạng dưới 1,2 mét, giới hạn góc quay mặt và điều kiện ánh sáng ổn định, đồng thời trình bày bố cục tổng thể gồm 6 chương của đồ án.

Chương 2: Cơ sở lý thuyết

Chương 2 trình bày các kiến thức nền tảng về hệ thống xử lý ảnh số, bao gồm các khái niệm về điểm ảnh (pixel), độ phân giải, mức xám của ảnh nhị phân, ảnh mức xám và ảnh màu RGB. Chương này cũng giới thiệu chi tiết cấu tạo, sơ đồ chân và thông số kỹ thuật của các linh kiện phần cứng được sử dụng trong đồ án: vi điều khiển ATmega328 trên board Arduino Uno R3, nguyên lý điều khiển góc quay của động cơ Servo SG90 bằng xung PPM, cấu tạo còi báo Buzzer và thông số giao tiếp của Module Sim 800A.

Chương 3: Tính toán thiết kế

Chương này tập trung khảo sát lý thuyết các kỹ thuật nhận biết màu da người qua 9 không gian màu, so sánh ưu nhược điểm giữa phương pháp mô hình hóa có tham số và không tham số (tổng hợp qua Bảng 3.1). Tác giả lựa chọn phương pháp đặt ngưỡng trên không gian màu RGB để tối ưu tốc độ xử lý. Tiếp theo, chương trình bày chi tiết cơ sở toán học của phương pháp PCA trong trích chọn đặc trưng khuôn mặt (Eigenfaces), các bước tính toán ma trận hiệp phương sai, tìm vector riêng, xác định ngưỡng khoảng cách $\alpha, \beta$ và lý thuyết trích chọn đặc trưng HOG. Cuối chương là sơ đồ nguyên lý kết nối các khối ngoại vi (Sim 800A, Servo, Buzzer, nguồn tổ ong) với Arduino Uno R3.

Chương 4: Thi công hệ thống

Chương 4 mô tả toàn bộ quá trình hiện thực hóa hệ thống. Tác giả xây dựng lưu đồ giải thuật cho hệ thống nhận diện chuyển động, lưu đồ nhận diện khuôn mặt và lưu đồ huấn luyện dữ liệu. Chương giới thiệu giao diện đồ họa người dùng (GUI) trên Matlab với các chức năng: thêm ảnh vào cơ sở dữ liệu, huấn luyện hệ thống, quét môi trường, so sánh khuôn mặt, xóa ảnh và quản lý thiết bị ngoại vi. Phần cuối chương trình bày quá trình đóng gói mạch điều khiển, bố trí cơ khí các linh kiện ở mặt trước, mặt bên và mặt trên của mô hình hộp chống trộm.

Chương 5: Kết quả_Nhận xét_Đánh giá

Chương 5 công bố kết quả thử nghiệm thực tế của mô hình:

  • Hệ thống nhận diện và khoanh vùng chính xác chuyển động người ở các tư thế: đứng phía trước, đứng phía sau và khi cúi người.
  • Module Sim 800A gửi tin nhắn cảnh báo thành công đến điện thoại khi có xâm nhập; đèn và chuông báo động kích hoạt đúng chức năng.
  • Thu nhận và xử lý ảnh khuôn mặt thành công trong cả điều kiện ánh sáng yếu.
  • Giao diện Matlab thực hiện trơn tru các thao tác huấn luyện cơ sở dữ liệu, nhận diện khuôn mặt có sẵn và điều khiển Servo mở cửa trong 6 giây rồi tự động đóng lại; đồng thời phát hiện khuôn mặt người lạ để kích hoạt đèn và chuông báo động.

Chương 6: Kết luận và hướng phát triển

Chương 6 tổng kết toàn bộ các kết quả đạt được về mặt phần cứng và phần mềm, khẳng định mô hình đã đáp ứng đúng mục tiêu đề ra ban đầu. Đồng thời, tác giả chỉ ra các hạn chế hiện tại và đề xuất hướng phát triển mở rộng cho đề tài.

Kết quả và đóng góp

  • Kết quả thực nghiệm chính:
    • Chế tạo thành công mô hình phần cứng chống trộm hoàn chỉnh, hoạt động ổn định với nguồn tổ ong và liên kết thông suốt giữa Matlab 2017a và Arduino Uno R3 qua cổng giao tiếp nối tiếp.
    • Xây dựng giao diện phần mềm trực quan trên Matlab, tích hợp đầy đủ tính năng thu thập mẫu ảnh khuôn mặt, huấn luyện thuật toán PCA, trích xuất đặc trưng HOG và quét nhận diện thời gian thực từ Webcam Logitech.
    • Kiểm thử chức năng đóng/mở cửa tự động: Hệ thống nhận diện đúng người quen trong cơ sở dữ liệu, xuất lệnh điều khiển động cơ Servo SG90 mở cửa trong đúng 6 giây rồi tự động đóng lại.
    • Kiểm thử chức năng an ninh: Hệ thống phát hiện chuyển động ở nhiều tư thế khác nhau, nhận diện người lạ không có trong cơ sở dữ liệu, kích hoạt ngay lập tức còi báo Buzzer, 2 đèn Led đơn và Module Sim 800A gửi tin nhắn SMS cảnh báo đến số điện thoại người dùng.
  • Đóng góp của đề tài:
    • Kết hợp thành công giữa thuật toán thị giác máy tính (xử lý ảnh số trên máy tính) và hệ thống vi điều khiển nhúng giá thành thấp để tạo ra một giải pháp an ninh hai lớp: lớp ngoài phát hiện chuyển động cảnh báo sớm và lớp trong nhận dạng khuôn mặt kiểm soát vào ra.
    • Đề xuất quy trình phân vùng màu da bằng ngưỡng RGB kết hợp trích chọn đặc trưng PCA và HOG, giúp giảm không gian tìm kiếm và tăng tốc độ xử lý trên máy tính cá nhân.

Hạn chế và hướng nghiên cứu tiếp

  • Hạn chế được ghi nhận trong văn bản:
    • Hệ thống chỉ hoạt động chính xác trong điều kiện ánh sáng ổn định và khuôn mặt không trang điểm hoặc không bị biến dạng.
    • Không thể nhận dạng được mắt và khuôn mặt khi đối tượng xoay trái/phải nghiêng quá 45 độ, hoặc cúi/ngước mặt quá 30 độ.
    • Cự ly hoạt động bị giới hạn dưới 1,2 mét tính từ camera đến đối tượng.
    • Chưa xây dựng ứng dụng di động trên nền tảng Android để gia chủ có thể giám sát và quản lý hệ thống từ xa qua mạng Internet.
  • Hướng nghiên cứu tiếp:
    • Nghiên cứu cải tiến thuật toán xử lý ảnh để nâng cao độ chính xác trong các điều kiện môi trường ánh sáng phức tạp và góc nhìn rộng hơn.
    • Mở rộng khoảng cách nhận dạng của camera.
    • Phát triển ứng dụng trên hệ điều hành Android, tích hợp truyền dữ liệu qua Internet để hiển thị thông tin và hình ảnh trực tiếp từ camera về thiết bị di động của người dùng.

Giá trị tham khảo

Đồ án là tài liệu tham khảo hữu ích cho sinh viên, học viên chuyên ngành Kỹ thuật Điện tử Truyền thông, Điện tử Công nghiệp, Kỹ thuật Cơ điện tử, Kỹ thuật Máy tính và Công nghệ Thông tin đang thực hiện các đề tài tốt nghiệp hoặc dự án nghiên cứu về hệ thống an ninh thông minh và thị giác máy tính ứng dụng.

Nội dung đồ án có giá trị tham khảo cao ở các phần:

  • Phương pháp thiết lập liên kết truyền thông nối tiếp để truyền dữ liệu điều khiển giữa phần mềm tính toán xử lý ảnh Matlab và board vi điều khiển Arduino.
  • Quy trình toán học chi tiết và cách thức lập trình triển khai thuật toán phân tích thành phần chính PCA (Eigenfaces) và HOG trên dữ liệu ảnh thực tế.
  • Thiết kế mạch nguyên lý kết nối phần cứng giữa Arduino Uno R3 với module truyền thông GSM/GPRS Sim 800A và động cơ Servo SG90.

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

1. Đồ án lựa chọn không gian màu và phương pháp nào để phân vùng màu da người?
Tác giả lựa chọn không gian màu RGB và phương pháp đặt ngưỡng trực tiếp dựa trên tính chất điểm ảnh với tập điều kiện: $R > 95$, $G > 40$, $B > 20$, $\max(R,G,B) - \min(R,G,B) > 15$, $|R - G| > 15$, $R > G$ và $R > B$. Phương pháp này được chọn vì thuật toán đơn giản, tốc độ thực thi nhanh và không đòi hỏi nhiều dung lượng bộ nhớ.

2. Thuật toán nhận dạng khuôn mặt trong hệ thống hoạt động theo nguyên lý nào?
Hệ thống sử dụng thuật toán phân tích thành phần chính (PCA - Eigenfaces). Thuật toán biểu diễn các bức ảnh huấn luyện thành các vector, tính vector ảnh trung bình, giải ma trận hiệp phương sai kích thước $P \times P$ để tìm các vector riêng và trị riêng, từ đó tạo ra không gian trực chuẩn khuôn mặt. Ảnh mới thu từ camera sẽ được chiếu lên không gian này để so sánh khoảng cách Euclid với các ngưỡng xác định nhằm nhận dạng đối tượng.

3. Khi nhận diện đúng khuôn mặt có trong cơ sở dữ liệu, cơ cấu chấp hành hoạt động như thế nào?
Khi phát hiện khuôn mặt trùng khớp với dữ liệu đã huấn luyện, phần mềm Matlab gửi tín hiệu xuống Arduino Uno R3 để điều khiển động cơ Servo SG90 quay mở chốt cửa, giữ cửa mở trong vòng 6 giây rồi tự động điều khiển quay đóng cửa lại.

4. Hệ thống cảnh báo hoạt động ra sao khi phát hiện chuyển động hoặc có người lạ đột nhập?
Khi camera phát hiện chuyển động bất thường hoặc nhận diện thấy khuôn mặt không có trong cơ sở dữ liệu, Arduino Uno R3 sẽ kích hoạt còi báo Buzzer phát âm thanh báo động, bật sáng 2 đèn Led đơn cảnh báo, đồng thời điều khiển Module Sim 800A gửi tin nhắn SMS thông báo ngay lập tức đến số điện thoại của gia chủ.

5. Những giới hạn về cự ly và góc quay của camera trong đồ án là gì?
Hệ thống chỉ nhận dạng chính xác khi khoảng cách từ camera đến đối tượng dưới 1,2 mét; khuôn mặt không nghiêng hoặc xoay trái/phải quá 45 độ, và góc cúi xuống hoặc ngước lên không vượt quá 30 độ trong điều kiện ánh sáng ổn định.

Kết luận

Đồ án tốt nghiệp "Ứng dụng xử lý ảnh thiết kế thi công mạch chống trộm thông minh" đã hoàn thành trọn vẹn mục tiêu thiết kế và thi công một hệ thống an ninh tích hợp giữa phần mềm xử lý ảnh trên Matlab 2017a và phần cứng vi điều khiển Arduino Uno R3. Hệ thống vận hành chính xác các chức năng nhận diện chuyển động bằng HOG, phân vùng da bằng ngưỡng RGB, nhận dạng khuôn mặt bằng PCA để điều khiển mở cửa tự động bằng động cơ Servo SG90 trong 6 giây, đồng thời phát cảnh báo qua chuông, đèn và tin nhắn SMS qua Module Sim 800A. Mặc dù còn một số giới hạn về cự ly dưới 1,2 mét và góc nhìn camera, công trình đã chứng minh tính khả thi cao và tạo nền tảng vững chắc cho các nghiên cứu phát triển hệ thống an ninh nhà thông minh kết nối Internet trong tương lai.