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

Trong bối cảnh công nghệ hiện đại phát triển nhanh chóng, nhu cầu nâng cao chất lượng cuộc sống và sự tiện nghi của con người ngày càng gia tăng. Sự hình thành và phát triển liên tục của các công nghệ tự động hóa đã đem lại sự thoải mái, tiện ích lớn cho người sử dụng, thúc đẩy xu hướng nghiên cứu và ứng dụng hệ thống nhà thông minh (Smart Home) vào đời sống thực tiễn.

Đề tài "Hệ Thống Trợ Lý Thông Minh Trong Ngôi Nhà Thông Minh" (Smart Home Assistant System) được thực hiện bởi nhóm sinh viên Trịnh Minh Đức và Phạm Minh Nhật, dưới sự hướng dẫn của TS. Vũ Văn Phong tại Khoa Đào tạo Chất lượng cao, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh (tháng 8/2022).

Mục tiêu nghiên cứu

Mục tiêu trọng tâm của đề tài là thiết kế và chế tạo một mô hình mẫu thử nghiệm (prototype) đại diện cho ngôi nhà thông minh với các chức năng chính:

  1. Xây dựng trợ lý ảo sử dụng đầu vào là giọng nói của người dùng để thực hiện hỏi/đáp thông tin (ngày, giờ, thời tiết, lịch nhắc nhở).
  2. Điều khiển các thiết bị trong nhà (hệ thống chiếu sáng, quạt làm mát) thông qua giọng nói.
  3. Phát triển ứng dụng di động (GerPan) và giao diện web để giám sát, điều khiển thiết bị từ xa qua giao thức HTTP.
  4. Xây dựng hệ thống thị giác máy tính nhận diện khuôn mặt nhằm phân biệt chủ nhà và người lạ, tự động kích hoạt đóng/mở cửa bằng động cơ servo và lưu trữ dữ liệu an ninh.

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

  • Đối tượng nghiên cứu: Hệ thống trợ lý thông minh nhúng trên máy tính đơn bo (Single-board computer), các giải thuật xử lý tiếng nói (Speech-to-Text, Text-to-Speech), giải thuật nhận diện khuôn mặt và cơ chế điều khiển thiết bị ngoại vi qua rơ-le.
  • Phạm vi không gian và thời gian: Nghiên cứu được triển khai tại Trường Đại học Sư phạm Kỹ thuật TP.HCM, hoàn thành vào tháng 8 năm 2022.
  • Giới hạn kỹ thuật: Hệ thống được thiết kế dưới dạng mô hình mẫu mô phỏng, sử dụng các linh kiện tải công suất nhỏ có sẵn trên thị trường (đèn LED tượng trưng cho hệ thống chiếu sáng, động cơ DC 130 tượng trưng cho quạt, động cơ Servo SG90 tượng trưng cho cửa tự động). Hệ thống AI xử lý lệnh thoại hoạt động dựa trên các từ khóa (keywords) và chức năng đã được định nghĩa trước.

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

Khung lý thuyết và mô hình ứng dụng

Đồ án tổng hợp và ứng dụng các nền tảng lý thuyết kỹ thuật bao gồm:

  • Khái niệm Nhà thông minh (Smart Home): Hệ thống kết nối các thiết bị gia dụng nhằm tự động hóa các tác vụ quản lý, giám sát an ninh và tối ưu hóa việc quản lý tiêu thụ năng lượng.
  • Tổng quan Trí tuệ Nhân tạo (AI): Định nghĩa theo John McCarthy về khoa học và kỹ thuật tạo ra máy móc thông minh. Nghiên cứu tập trung vào các nhánh ứng dụng: Xử lý ngôn ngữ tự nhiên (NLP), Hệ thống thị giác máy tính (Vision Systems) và Nhận dạng giọng nói (Speech Recognition).
  • Lý thuyết nhận dạng giọng nói: Cơ chế chuyển đổi tín hiệu tương tự sang số (A/D conversion), xử lý tín hiệu âm thanh và so khớp mẫu (pattern recognition) dựa trên tập từ vựng định sẵn.
  • Lý thuyết và phương pháp nhận dạng khuôn mặt:
    • Nhận dạng truyền thống: Phân tích hình học vị trí tương đối của mắt, mũi, xương gò má, cằm.
    • Kỹ thuật nhận dạng ở khoảng cách xa (HID - Human Identification at a Distance): Nâng cao độ phân giải ảnh trong môi trường có tỷ lệ tín hiệu trên nhiễu cao.
    • Nhận dạng khuôn mặt 3D và camera nhiệt: Sử dụng cảm biến hình học hoặc phổ nhiệt để khắc phục sự biến đổi ánh sáng và góc chụp.
  • Môi trường phần mềm: Hệ điều hành Raspberry Pi OS (nền tảng Debian, môi trường desktop LXDE tối ưu hóa cho vi xử lý ARM) và ngôn ngữ lập trình Python (sử dụng cấu trúc hướng đối tượng, thư viện phong phú và tính khả chuyển cao).

Phương pháp nghiên cứu

  • Phương pháp thực nghiệm thiết kế hệ thống: Lựa chọn phần cứng, thiết kế sơ đồ nguyên lý mạch đấu nối ngoại vi, tích hợp cảm biến, webcam và cơ cấu chấp hành vào bo mạch điều khiển trung tâm.
  • Phương pháp thu thập và tiền xử lý dữ liệu: Thu thập tập dữ liệu ảnh khuôn mặt người dùng chuẩn, chuyển đổi không gian màu từ BGR (OpenCV) sang RGB (Pillow) và trích xuất vector đặc trưng khuôn mặt (face encodings).
  • Phương pháp kiểm thử thực tế: Đo lường độ chính xác phản hồi lệnh thoại song ngữ (Anh - Việt) và kiểm tra tỷ lệ nhận diện khuôn mặt thời gian thực qua camera ở các góc nhìn và điều kiện khác nhau.

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

Kiến trúc phần cứng

Trung tâm của hệ thống là máy tính nhúng Raspberry Pi 4 Model B kết nối với các mô-đun chức năng thông qua cổng giao tiếp GPIO, USB và Bluetooth.

Thiết bị / Linh kiện Thông số kỹ thuật chính Vai trò trong hệ thống
Raspberry Pi 4 Model B Broadcom BCM2711 Quad-core Cortex-A72 @ 1.5GHz; RAM LPDDR4; Bluetooth 5.0, Wi-Fi 2.4/5.0 GHz; 40 chân GPIO Bộ xử lý trung tâm, chạy hệ thống AI, nhận diện hình ảnh và máy chủ HTTP
Logitech Webcam C270 HD Độ phân giải 720p/30fps; cảm biến ảnh 3MP; ống kính tiêu cự cố định; tự động điều chỉnh ánh sáng Thu nhận luồng hình ảnh thời gian thực phục vụ nhận diện khuôn mặt
Mô-đun 4 Rơ-le (4 Relay Module) Tải tối đa: AC 250V/10A hoặc DC 30V/10A; dòng kích hoạt: 5mA; điện áp điều khiển: 5V; kích thước 75 x 55 mm Đóng/cắt dòng điện điều khiển đèn LED và động cơ quạt
Động cơ DC 130 Điện áp hoạt động: 4.5V - 9V (định mức 6V); dòng không tải: 70mA (9000 rpm); tải định mức: 10g*cm Mô phỏng quạt làm mát trong nhà
Đèn LED 5mm Dòng thuận: 30mA; điện áp thuận: 1.4V; cường độ sáng: 20mcd Mô phỏng hệ thống 6 bóng đèn chiếu sáng
Động cơ Servo SG90 Trọng lượng: 9g; kích thước: 22.2 x 11.8 x 31 mm; lực kéo: 1.8 kg/cm Cơ cấu điều khiển đóng/mở cửa tự động
Loa Fenda W5 Plus Công suất: 5W; tỷ số S/N: 75 dB; dải tần: 50Hz - 20KHz; pin 1500mAh; kết nối Bluetooth Phát âm thanh phản hồi từ trợ lý ảo

Thiết kế phần mềm và giải thuật xử lý

1. Hệ thống AI xử lý giọng nói (Main AI System)

Chương trình chính được cấu trúc theo lưu đồ thuật toán kích hoạt bằng từ khóa đánh thức "GerPan". Khi phát hiện lệnh, hệ thống thực hiện phân nhánh ngôn ngữ và ý định:

  • Nhánh tiếng Việt: Nhận diện các cấu trúc lệnh: "Thời gian", "Ngày tháng", "Thời tiết", "Bật/Tắt [thiết bị]", "Nhắc tôi [nội dung]", "Tắt hệ thống".
  • Nhánh tiếng Anh: Nhận diện các cấu trúc lệnh: "Time", "Date", "Weather", "Turn on/off [device]", "Remind me [content]", "Turn off system".
  • Hệ thống hỗ trợ chuyển đổi linh hoạt giữa hai ngôn ngữ thông qua khẩu lệnh "Vietnamese" hoặc "English".

2. Hệ thống thị giác máy tính nhận diện khuôn mặt (Face Recognition System)

Hệ thống sử dụng kết hợp thư viện OpenCV và Dlib (thông qua thư viện bao bọc face_recognition của Adam Geitgey):

  • Phát hiện khuôn mặt: Sử dụng giải thuật phân tầng (Cascade classifier) trong OpenCV chia quá trình quét ảnh thành 30 - 50 giai đoạn nhanh để định vị vùng chứa khuôn mặt trên từng khung hình video.
  • Trích xuất đặc trưng (Deep Metric Learning): Ảnh khuôn mặt người dùng đã đăng ký được đưa về định dạng RGB và tạo ra vector mã hóa (encoding vector).
  • So khớp thời gian thực: Ảnh từ webcam được giảm kích thước (resize) để tối ưu tốc độ xử lý của Raspberry Pi 4. Sau khi định vị khuôn mặt trên khung hình hiện tại, hàm face_recognition.compare_faces và face_recognition.face_distance sẽ tính toán khoảng cách vector để tìm khuôn mặt có độ tương đồng cao nhất.
  • Xử lý an ninh:
    • Nếu khoảng cách khuôn mặt khớp với dữ liệu đăng ký: Hệ thống vẽ khung chữ nhật màu xanh lá (green box), hiển thị tên người dùng, mở chốt cửa bằng Servo SG90 và ghi nhận thời gian đăng nhập vào tệp nhật ký .csv (Data log).
    • Nếu là người lạ (Stranger): Hệ thống chụp lại hình ảnh khuôn mặt lưu vào thư mục ảnh khách lạ (Stranger images file) và ghi lại thời gian xuất hiện để phục vụ kiểm tra an ninh.

3. Hệ thống máy chủ HTTP và ứng dụng điều khiển GerPan

  • Triển khai một máy chủ HTTP bằng Python (Python HTTP Server) trực tiếp trên bo mạch Raspberry Pi 4.
  • Giao diện ứng dụng di động GerPan và trình duyệt web gửi các yêu cầu HTTP Request đến máy chủ để đọc trạng thái và điều khiển đóng/ngắt các chân GPIO kết nối với mô-đun rơ-le.

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

Chương 1: Introduction (Giới thiệu)

Trình bày tổng quan vấn đề nghiên cứu, sự cần thiết của hệ sinh thái nhà thông minh trong kỷ nguyên tự động hóa. Xác định mục tiêu xây dựng mô hình mẫu thu nhỏ tích hợp bo mạch Raspberry Pi 4, điều khiển bằng giọng nói và giám sát an ninh bằng thị giác máy tính. Đưa ra các ràng buộc thiết kế về chi phí, tính sẵn có của linh kiện và cấu trúc tổng thể của báo cáo tốt nghiệp.

Chương 2: Literature Review (Tổng quan tài liệu)

Phân tích cơ sở lý luận và các nghiên cứu liên quan về nhà thông minh và tối ưu hóa năng lượng. Trình bày các khái niệm nền tảng về AI của John McCarthy và các lĩnh vực ứng dụng (Xử lý ngôn ngữ tự nhiên, Nhận dạng chữ viết tay, Robot thông minh, Hệ thống thị giác). Phân tích chi tiết các kỹ thuật nhận dạng giọng nói (A/D converter, so khớp mẫu) và các phương pháp nhận dạng khuôn mặt (nhận dạng đặc trưng truyền thống, nhận dạng từ xa HID, công nghệ 3D, camera nhiệt). Giới thiệu đặc tính kỹ thuật của hệ điều hành Raspberry Pi OS và các ưu điểm lập trình của ngôn ngữ Python.

Chương 3: Hardware Design (Thiết kế phần cứng)

Mô tả chi tiết các yêu cầu kỹ thuật của hệ thống và giải pháp thiết kế mạch. Trình bày lý do lựa chọn bo mạch Raspberry Pi 4 thay vì Nvidia Jetson Nano (do tính thân thiện với hệ điều hành, phổ biến và phù hợp cho tác vụ suy luận không cần huấn luyện lại). Cung cấp đầy đủ bảng thông số kỹ thuật, sơ đồ bố trí chân kết nối và sơ đồ nối dây tổng thể (System wiring diagram) cho các linh kiện: Raspberry Pi 4, Webcam Logitech C270 HD, Mô-đun 4 Rơ-le, LED, Động cơ DC 130, Loa Bluetooth Fenda W5 Plus và Động cơ Servo SG90.

Chương 4: Methodology (Phương pháp xây dựng hệ thống)

Trình bày kiến trúc phần mềm và giải thuật chi tiết của ba phân hệ:

  1. Lưu đồ thuật toán AI nhận diện và xử lý lệnh thoại song ngữ Anh - Việt.
  2. Quy trình xử lý ảnh với OpenCV và thư viện Dlib: Khởi tạo tập dữ liệu mẫu (dataset), chuyển đổi không gian màu BGR sang RGB, mã hóa đặc trưng khuôn mặt (face_encodings), thuật toán so sánh thời gian thực kết hợp hàm khoảng cách (face_distance), cơ chế lưu trữ tệp .csv và lưu ảnh người lạ.
  3. Cơ chế giao tiếp mạng: Xây dựng máy chủ Python HTTP Server, giao thức truyền nhận lệnh giữa giao diện ứng dụng GerPan / trình duyệt web và phần cứng điều khiển thiết bị qua GPIO.

Chương 5: Result and Experience (Kết quả và trải nghiệm)

Trình bày kết quả hiện thực hóa mô hình vật lý hoàn chỉnh (mặt trước, mặt bên của sa bàn nhà thông minh). Công bố kết quả kiểm thử thực nghiệm:

  • Kiểm tra tính năng phản hồi giọng nói: Hiển thị kết quả trả lời thời gian, ngày tháng, thời tiết, lịch nhắc nhở và lệnh điều khiển bật/tắt 6 đèn, 2 quạt bằng cả tiếng Anh và tiếng Việt.
  • Kiểm tra tính năng nhận diện khuôn mặt: Xác thực người dùng đã đăng ký thành công, kích hoạt mở cửa, hiển thị giao diện khung xanh, kết xuất tệp nhật ký đăng nhập .csv và lưu trữ danh sách ảnh người lạ.

Chương 6: Conclusion and Recommendation (Kết luận và kiến nghị)

Đánh giá toàn diện các ưu điểm và nhược điểm của mô hình hệ thống trợ lý nhà thông minh đã chế tạo. Đề xuất các giải pháp kỹ thuật nhằm nâng cấp và hoàn thiện hệ thống trong các giai đoạn phát triển tiếp theo.


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

Kết quả thực nghiệm chính

  • Mô hình phần cứng hoàn chỉnh: Xây dựng thành công sa bàn mô hình nhà thông minh tích hợp đầy đủ hệ thống máy tính nhúng Raspberry Pi 4, webcam, loa Bluetooth, mô-đun rơ-le, 6 bóng đèn chiếu sáng (LED), 2 quạt làm mát (động cơ DC 130) và cửa đóng mở tự động (Servo SG90).
  • Tính năng trợ lý giọng nói song ngữ: Hệ thống nhận diện chính xác các câu lệnh theo từ khóa bằng cả tiếng Anh và tiếng Việt; trả lời chính xác thông tin ngày, giờ, thời tiết hiện tại; ghi nhớ và thông báo lịch trình nhắc nhở; thực thi bật/tắt thiết bị đèn và quạt theo đúng yêu cầu.
  • Tính năng an ninh và nhận diện khuôn mặt: Nhận dạng thành công người dùng trong tập dữ liệu mẫu theo thời gian thực; kích hoạt mở cửa tự động; ghi lại lịch sử truy cập (tên, thời gian) vào tệp log định dạng .csv; tự động chụp và lưu trữ ảnh các đối tượng không xác định trong cơ sở dữ liệu.
  • Hệ thống điều khiển qua mạng: Vận hành ổn định máy chủ Python HTTP Server, cho phép người dùng điều khiển thiết bị thông qua ứng dụng di động GerPan hoặc trình duyệt web.

Đóng góp của đề tài

  1. Tích hợp thành công các thuật toán xử lý trí tuệ nhân tạo (nhận diện giọng nói, nhận diện khuôn mặt dựa trên Deep Metric Learning của Dlib/OpenCV) lên nền tảng phần cứng nhúng chi phí thấp Raspberry Pi 4.
  2. Cung cấp giải pháp tương tác đa phương thức (Multi-modal interaction) trong nhà thông minh: kết hợp đồng thời giữa giọng nói (Voice), thị giác máy tính (Vision) và giao diện đồ họa di động/web (App/Web interface).
  3. Cung cấp mã nguồn hoàn chỉnh cho hệ thống AI chính và mô-đun nhận diện khuôn mặt (phụ lục từ trang 52 đến trang 96 của tài liệu), tạo tài liệu thực nghiệm rõ ràng cho các nghiên cứu tiếp theo.

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

Hạn chế của hệ thống

  • Hệ thống chỉ hoạt động dưới dạng mô hình thử nghiệm (prototype), các thiết bị ngoại vi mới dừng lại ở mức mô phỏng tải nhỏ (LED, động cơ DC 130), chưa kết nối trực tiếp với lưới điện sinh hoạt và thiết bị gia dụng công suất lớn.
  • Khả năng xử lý ngôn ngữ tự nhiên còn ở mức cơ bản, chủ yếu nhận dạng dựa trên các cấu trúc câu lệnh và từ khóa đã được lập trình sẵn, chưa hỗ trợ đàm thoại ngữ cảnh phức tạp.
  • Hiệu năng nhận dạng khuôn mặt và xử lý giọng nói phụ thuộc vào điều kiện ngoại cảnh như cường độ ánh sáng môi trường, góc nghiêng của khuôn mặt và độ nhiễu âm thanh xung quanh webcam/micro.

Hướng nghiên cứu tiếp

  • Mở rộng tập lệnh và tích hợp các mô hình xử lý ngôn ngữ tự nhiên (NLP) chuyên sâu hơn để trợ lý ảo có thể hiểu được ngôn ngữ tự nhiên linh hoạt thay vì từ khóa cố định.
  • Nâng cấp phần cứng công suất để kết nối và điều khiển an toàn các thiết bị điện 220V thực tế trong gia đình.
  • Tối ưu hóa thuật toán nhận diện khuôn mặt trong các điều kiện môi trường bất lợi (ánh sáng yếu, góc nhìn nghiêng lớn) và tích hợp thêm các cảm biến môi trường (nhiệt độ, độ ẩm, khí gas) vào hệ thống giám sát chung.

Giá trị tham khảo

Tài liệu đồ án tốt nghiệp này mang lại giá trị tham khảo thực tiễn cao cho:

  • Sinh viên các ngành Kỹ thuật: Đặc biệt là sinh viên chuyên ngành Công nghệ Kỹ thuật Điện - Điện tử, Kỹ thuật Máy tính, Tự động hóa và Công nghệ Thông tin đang thực hiện đồ án môn học hoặc khóa luận tốt nghiệp liên quan đến hệ thống nhúng và IoT.
  • Nội dung kỹ thuật tham khảo nổi bật:
    • Quy trình cấu hình và triển khai thư viện OpenCV, Dlib và face_recognition trên hệ điều hành Raspberry Pi OS.
    • Kỹ thuật tính toán khoảng cách vector đặc trưng (face_distance) để phân loại đối tượng thời gian thực và quản lý nhật ký ra vào bằng tệp .csv.
    • Phương pháp xây dựng máy chủ điều khiển nhúng bằng Python HTTP Server kết hợp điều khiển GPIO qua rơ-le.

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

1. Bo mạch xử lý trung tâm được sử dụng trong đồ án là gì và vì sao nhóm tác giả lựa chọn bo mạch này?

Bo mạch xử lý trung tâm được sử dụng là Raspberry Pi 4 Model B (vi xử lý Broadcom BCM2711 Quad-core Cortex-A72 @ 1.5GHz). Nhóm tác giả lựa chọn Raspberry Pi 4 thay vì Nvidia Jetson Nano do Raspberry Pi phù hợp tối ưu cho các tác vụ suy luận AI không cần huấn luyện lại (non-training AI process), tương thích tốt với nhiều hệ điều hành (đặc biệt là Raspberry Pi OS nền Debian), chi phí hợp lý và độ phổ biến cao.

2. Hệ thống trợ lý giọng nói hỗ trợ những ngôn ngữ nào và thực hiện được những tác vụ gì?

Hệ thống hỗ trợ song ngữ tiếng Anh và tiếng Việt, cho phép người dùng chuyển đổi ngôn ngữ linh hoạt bằng lệnh thoại. Trợ lý ảo có thể:

  • Trả lời các câu hỏi về thời gian (Time/Thời gian), ngày tháng (Date/Ngày tháng), thời tiết (Weather/Thời tiết).
  • Ghi nhớ và nhắc nhở lịch trình (Remind me/Nhắc tôi).
  • Bật hoặc tắt 6 đèn chiếu sáng và 2 quạt làm mát trong nhà.
  • Tắt hệ thống (Turn off system/Tắt hệ thống).

3. Hệ thống xử lý hình ảnh sử dụng những thư viện nào để nhận diện khuôn mặt?

Hệ thống sử dụng thư viện OpenCV để bắt khung hình từ webcam, áp dụng các bộ phân tầng (Cascade) để định vị nhanh khuôn mặt và chuyển đổi hệ màu BGR sang RGB. Sau đó, hệ thống sử dụng thư viện Dlib (thông qua thư viện bao bọc face_recognition) để trích xuất 128 vector đặc trưng khuôn mặt và so sánh độ tương đồng bằng các hàm compare_faces và face_distance.

4. Khi phát hiện người lạ trước camera, hệ thống an ninh sẽ xử lý như thế nào?

Khi một người không có trong tập dữ liệu đăng ký xuất hiện trước camera, hệ thống sẽ tự động chụp lại hình ảnh của người đó, lưu vào thư mục chứa ảnh người lạ (Stranger images file) đồng thời ghi lại mốc thời gian xuất hiện vào tệp dữ liệu nhật ký .csv để phục vụ công tác giám sát an ninh.

5. Ứng dụng điều khiển từ xa của hệ thống có tên là gì và giao tiếp với phần cứng qua phương thức nào?

Ứng dụng điều khiển từ xa có tên là GerPan. Ứng dụng này giao tiếp với bo mạch Raspberry Pi 4 thông qua máy chủ Python HTTP Server được cài đặt trực tiếp trên Pi, gửi các yêu cầu HTTP để điều khiển trạng thái bật/tắt của các chân GPIO điều khiển rơ-le.


Kết luận

Đồ án tốt nghiệp "Hệ Thống Trợ Lý Thông Minh Trong Ngôi Nhà Thông Minh" của sinh viên Trịnh Minh Đức và Phạm Minh Nhật đã thiết kế và chế tạo thành công một mô hình nhà thông minh mẫu hoạt động ổn định trên nền tảng Raspberry Pi 4. Đề tài đã tích hợp hiệu quả ba phương thức điều khiển: nhận dạng giọng nói song ngữ Anh - Việt, nhận dạng khuôn mặt an ninh bằng thị giác máy tính và giám sát từ xa qua ứng dụng GerPan nền tảng HTTP. Mặc dù còn mang tính chất thử nghiệm trên các tải mô phỏng nhỏ, công trình đã thể hiện rõ tính khả thi của việc ứng dụng các giải thuật trí tuệ nhân tạo nhúng vào các giải pháp tự động hóa gia đình thực tiễn.