Bối cảnh và vấn đề nghiên cứu
Sự phát triển của công nghệ Internet vạn vật (IoT) kéo theo nhu cầu ứng dụng trí tuệ nhân tạo (AI) vào các hệ thống tự động hóa đời sống, tiêu biểu là mô hình nhà thông minh (Smarthome). Trong các giải pháp này, hạ tầng IoT giữ vai trò thu thập thông tin, còn các mô hình AI tạo nên tính tự động và khả năng phân tích dữ liệu. Tuy nhiên, việc vận hành các mô hình thị giác máy tính như nhận diện khuôn mặt phục vụ an ninh và các thuật toán phân tích chất lượng môi trường trong nhà đòi hỏi tính toán thời gian thực với độ trễ tối thiểu. Nếu truyền toàn bộ dữ liệu thô về các máy chủ đám mây (Cloud) tập trung, hệ thống sẽ gặp các rào cản lớn về băng thông truyền dẫn, độ trễ xử lý và nguy cơ gián đoạn đường truyền. Để khắc phục hạn chế này, các tác giả đề xuất đưa việc tính toán và xử lý dữ liệu thô về các thiết bị cận biên (Edge Computing) nằm gần cảm biến và thiết bị đầu cuối.
Bên cạnh vấn đề an ninh, chất lượng không khí trong không gian sống kín cũng là yếu tố tác động trực tiếp đến sức khỏe con người. Các tác nhân ô nhiễm như bụi mịn, khí thải sinh hoạt nếu không được theo dõi và phát hiện kịp thời sẽ gây ra nhiều rủi ro về hô hấp. Do đó, việc kết hợp giải pháp giám sát an ninh bằng thị giác máy tính cùng hệ thống quan trắc, cảnh báo chất lượng không khí trên cùng một hạ tầng cận biên là mục tiêu trọng tâm mà khóa luận hướng tới.
Nhiệm vụ và mục tiêu nghiên cứu của khóa luận được xác định cụ thể theo các nội dung sau:
- Tìm hiểu các thiết bị phần cứng có thể đóng vai trò làm thiết bị cận biên và các module cảm biến IoT phục vụ thu thập dữ liệu thô.
- Kết hợp hệ thống nhận diện khuôn mặt và truyền phát video (video streaming) phục vụ quản lý an ninh với hệ thống đo đạc, xử lý dữ liệu chất lượng không khí nhằm đảm bảo sức khỏe người dùng.
- Ứng dụng mô hình máy học để dự đoán chất lượng môi trường và đưa ra các cảnh báo thích hợp dựa trên dữ liệu thu thập thực tế.
- Triển khai hệ thống thực nghiệm và đo đạc, so sánh hiệu năng khi áp dụng kỹ thuật tính toán song song (parallel processing).
- Xây dựng hoàn chỉnh một hệ thống giám sát tích hợp trong nhà thông minh, đáp ứng đồng thời hai tiêu chí an ninh và chất lượng không khí trong không gian cá nhân.
Về phạm vi và đối tượng nghiên cứu:
- Đối tượng nghiên cứu: Các thiết bị phần cứng nhúng (NVIDIA Jetson Nano, Raspberry Pi 4, vi điều khiển Arduino UNO R3); các cảm biến đo chất lượng không khí (MQ135, MP135, GP2Y1010AU0F); kỹ thuật truyền phát video; kỹ thuật tính toán song song đa tiến trình; mô hình học máy cây quyết định (Decision Tree); thư viện nhận diện khuôn mặt
face_recognition; cơ sở dữ liệu phi quan hệ MongoDB; nền tảng đám mây AWS Cloud; cùng các công nghệ phát triển phần mềm gồm Python, C++, NodeJS, ReactJS và Flask.
- Phạm vi nghiên cứu: Hệ thống được thiết kế, lắp đặt và kiểm thử trong các không gian kín như nhà ở cá nhân và văn phòng làm việc tại phòng thí nghiệm Lab E3. Dữ liệu giám sát tập trung vào hình ảnh khuôn mặt phục vụ an ninh và nồng độ ba loại tác nhân môi trường gồm $CO_2$, $PM_{10}$ và $HCHO$. Phạm vi tối ưu hóa hiệu năng tập trung vào việc áp dụng xử lý song song cho luồng stream video và luồng đọc, gửi dữ liệu cảm biến thời gian thực.
Cơ sở lý thuyết và phương pháp
Khóa luận sử dụng các nền tảng lý thuyết kỹ thuật, mô hình toán học và chỉ số môi trường chuẩn hóa:
-
Chỉ số đánh giá chất lượng không khí: Bên cạnh chỉ số chất lượng không khí ngoài trời tổng quát (AQI), nghiên cứu tập trung vào chỉ số đánh giá chất lượng không khí trong nhà (IAQ) dựa trên thang đo mức độ thoải mái chủ quan của con người (Predicted Mean Vote - PMV), phân cấp từ 0 (thoải mái), 1 (hơi khó chịu), 2 (khó chịu) đến 3 (cực kỳ khó chịu). Mô hình chỉ số phụ cho từng thành phần khí được tính toán theo các phương trình logarit nồng độ:
- Chỉ số đối với $CO_2$:
$$PMV(CO_2) = 6.34 \times \log\left(\frac{X(CO_2)}{485}\right)$$
Trong đó, các ngưỡng nồng độ 485 ppm, 700 ppm, 1000 ppm và 1500 ppm tương ứng với các giá trị PMV từ 0 đến 3.
- Chỉ số đối với bụi mịn có thể hô hấp ($PM_{10}$):
$$PMV(PM_{10}) = 2.02 \times \log\left(\frac{X(PM_{10})}{0.02}\right)$$
Các mức nồng độ đối chiếu gồm 0.02 mg/m³, 0.06 mg/m³, 0.18 mg/m³ và 0.54 mg/m³.
- Chỉ số đối với Formaldehyde ($HCHO$):
$$PMV(HCHO) = 2 \times \log\left(\frac{X(HCHO)}{0.01}\right)$$
Các mức nồng độ đối chiếu gồm 0.01 mg/m³, 0.03 mg/m³, 0.1 mg/m³ và 0.32 mg/m³.
- Chỉ số chất lượng không khí tổng hợp trong nhà $PMV(IAQ)$ lấy giá trị lớn nhất trong ba chỉ số phụ:
$$PMV(IAQ) = \max(PMV(CO_2), PMV(PM_{10}), PMV(HCHO))$$
-
Mô hình học máy Decision Tree (Cây quyết định): Thuật toán học có giám sát phi tham số, tổ chức dưới dạng cấu trúc cây phân cấp gồm nút gốc, các nút quyết định trung gian và nút lá. Thuật toán áp dụng chiến lược chia để trị (divide-and-conquer) và tìm kiếm tham lam nhằm xác định điểm phân chia tối ưu của các biến đầu vào ($CO_2$, $PM_{10}$, $HCHO$) để phân loại trạng thái không khí và mức độ thoải mái.
-
Thư viện nhận diện khuôn mặt face_recognition: Thư viện mã nguồn mở xây dựng dựa trên nền tảng dlib và mô hình học sâu (Deep Learning). Quy trình nhận diện gồm 4 giai đoạn nối tiếp:
- Phát hiện vị trí khuôn mặt bằng phương pháp Histogram of Oriented Gradients (HOG).
- Định vị 68 điểm mốc trên gương mặt (face landmark estimation) và căn chỉnh hình học để đưa mắt, mũi, miệng về vị trí trung tâm.
- Trích xuất đặc trưng bằng mạng nơ-ron tích chập sâu (Deep Convolutional Neural Network) được huấn luyện sẵn của OpenFace, tạo thành vector biểu diễn gồm 128 chiều (128 measurements).
- Phân loại và so sánh vector đặc trưng với các vector mẫu đã lưu trữ thông qua thuật toán phân loại SVM hoặc đo khoảng cách Euclid.
-
Kỹ thuật tính toán song song (Parallel Processing): Sử dụng thư viện multiprocessing trong môi trường Python. Trong tác vụ xử lý video stream, tiến trình chính (Parent Process) đọc các khung hình liên tục từ luồng camera qua OpenCV, sau đó phân nhánh (fork) các tiến trình con (Child Processes) để thực hiện các phép toán nặng của mô hình nhận diện khuôn mặt trên từng khung hình một cách đồng thời, bảo đảm thứ tự hiển thị khung hình tại đầu ra.
Phương pháp nghiên cứu thực tế bao gồm thiết kế kiến trúc hệ thống mạng phân tán, lập trình tích hợp phần cứng - phần mềm, thực nghiệm đo lường các tham số hiệu năng (tốc độ khung hình FPS, tỷ lệ sử dụng CPU, dung lượng RAM) và đánh giá độ chính xác của mô hình học máy trên tập dữ liệu kiểm thử.
Thiết kế và triển khai
Hệ thống được thiết kế theo kiến trúc phân tầng kỹ thuật gồm ba tầng chức năng chính: Tầng đám mây (Cloud Layer), Tầng cận biên (Edge Layer) và Tầng thiết bị đầu cuối (End Device Layer).
| Tầng kiến trúc |
Thiết bị / Môi trường |
Dịch vụ và phần mềm triển khai |
Vai trò chức năng |
| Đám mây (Cloud Layer) |
AWS VPC (Ubuntu 22.15) |
Python Socket Server, OpenVPN Server |
Điều phối và đồng bộ dữ liệu mô hình giữa các mạng nội bộ |
|
MongoDB Cloud Database |
MongoDB Atlas |
Lưu trữ tập trung bộ dữ liệu AQI, UserInfo và TimeStamp |
| Cận biên (Edge Layer) |
NVIDIA Jetson Nano |
Jetson Nano OS, Flask API, face_recognition 1.3, OpenCV |
Xử lý song song nhận diện khuôn mặt, stream video qua web |
|
Raspberry Pi 4 |
Raspberry Pi OS, PySerial, Torch 2.15, Decision Tree |
Đọc dữ liệu cảm biến từ Arduino, chạy thuật toán dự đoán IAQ |
|
Local Machine 1 |
NodeJS Runtime |
Cung cấp RESTful API trung gian giao tiếp cơ sở dữ liệu MongoDB |
|
Local Machine 2 |
Trình duyệt Web, ReactJS |
Hiển thị giao diện điều khiển, dashboard giám sát không khí và video |
| Đầu cuối (End Device) |
Arduino UNO R3 |
Vi điều khiển ATmega328P, firmware C++ |
Thu nhận tín hiệu tương tự (Analog) từ các cảm biến khí |
|
Cụm cảm biến khí |
MQ135, MP135, GP2Y1010AU0F |
Đo lường nồng độ khí $CO_2$, $HCHO$ và bụi mịn $PM_{10}$ |
|
Camera an ninh |
Cảm biến hình ảnh USB / CSI |
Ghi nhận luồng video phục vụ giám sát và nhận diện |
Quy trình vận hành kỹ thuật của các phân hệ diễn ra cụ thể như sau:
-
Phân hệ quan trắc và dự đoán chất lượng không khí:
- Các cảm biến MQ135, MP135 và GP2Y1010AU0F ghi nhận liên tục các tín hiệu điện áp tương tự phản ánh nồng độ $CO_2$, $HCHO$ và $PM_{10}$.
- Mạch Arduino UNO R3 đọc các kênh analog, xử lý chuyển đổi dữ liệu và gửi các chuỗi văn bản định dạng qua cáp nối tiếp USB (Serial Communication) tới bo mạch Raspberry Pi 4.
- Ứng dụng Python trên Raspberry Pi sử dụng thư viện
pyserial để bóc tách chuỗi dữ liệu. Hệ thống áp dụng logic kiểm tra điều kiện dữ liệu hợp lệ: CO2 > 0 && HCHO >= 0 && PM10 >= 0.
- Khi dữ liệu thỏa mãn điều kiện, Raspberry Pi kích hoạt HTTP Request tới NodeJS API để ghi bản ghi vào collection
AQI trên cơ sở dữ liệu MongoDB. Cấu trúc collection AQI gồm các trường: _id (ObjectId), co2 (String), hcho (String), pm10 (String), createdAt (Datetime) và updatedAt (Datetime).
- Mô hình Decision Tree cài đặt trên Raspberry Pi nhận dữ liệu đầu vào đã làm sạch, tính toán mức PMV tương ứng và đưa ra phân loại cảnh báo trạng thái môi trường.
-
Phân hệ an ninh, nhận diện khuôn mặt và phát video:
- Video từ camera kết nối với Jetson Nano được OpenCV phân giải thành các chuỗi khung hình.
- Nhằm tối ưu hóa tài nguyên tính toán, hàm
recognition triển khai kỹ thuật xử lý xen kẽ khung hình (process_this_frame). Khi kích hoạt, hàm gọi face_recognition.face_locations với mô hình "hog" để xác định vị trí, sau đó trích xuất vector đặc trưng bằng face_recognition.face_encodings.
- Các vector này được so sánh với bộ vector nhận diện đã lưu trữ (
known_face_encodings) qua hàm face_distance và compare_faces. Khi xác định được khuôn mặt khớp với khoảng cách nhỏ nhất (argmin), hệ thống vẽ khung nhận diện (bounding box), gán nhãn tên và cập nhật trạng thái.
- Luồng video được chuyển đổi thành chuẩn streaming thông qua ứng dụng Flask API và hiển thị trực tiếp lên trình duyệt ReactJS.
- Lịch sử ra vào được lưu trữ vào MongoDB qua hai lược đồ:
UserInfoSchema (lưu trữ mã định danh và thông tin người dùng đã đăng ký) và TimeStampSchema (lưu trữ trường user, enterTime, leaveTime).
-
Cơ chế đồng bộ hóa mô hình nhận diện khuôn mặt qua VPN:
- Để giải quyết bài toán người dùng sở hữu nhiều không gian sống ở các hệ thống mạng cục bộ khác nhau (nhà A, nhà B, nhà C) nhưng chỉ thực hiện đăng ký khuôn mặt tại một vị trí duy nhất, hệ thống triển khai cơ chế đồng bộ hóa liên mạng.
- Toàn bộ các trạm biên kết nối với máy chủ AWS Cloud qua đường hầm mạng riêng ảo bảo mật OpenVPN nhằm tránh lộ lọt gói tin (packet sniffing) ra mạng công cộng.
- Dữ liệu khuôn mặt sau khi huấn luyện không lưu dưới dạng ảnh gốc mà được chuyển đổi thành cấu trúc đối tượng Python và tuần tự hóa nhị phân bằng module
pickle thành hai tệp: ref_name.pkl (chứa danh sách định danh) và ref_embed.pkl (chứa các vector đặc trưng 128 chiều).
- Khi trạm biên tại nhà A phát sinh tập dữ liệu mới, tệp nhị phân cập nhật sẽ được gửi qua kết nối Socket đến máy chủ Python Socket Server trên AWS VPC. Máy chủ trung gian này tiếp tục phân phối hai tệp
.pkl đến các trạm biên tại nhà B và nhà C theo thời gian thực, đảm bảo hệ thống có thể nhận diện đối tượng ở mọi vị trí mà không làm mất dữ liệu huấn luyện trước đó.
Nội dung chính theo từng chương
Chương 1. Mở đầu
Chương này thiết lập cơ sở thực tiễn của đề tài, tập trung phân tích xu hướng tích hợp AI và IoT trong mô hình Smarthome. Tác giả chỉ ra nhược điểm của các giải pháp truyền thống khi phụ thuộc hoàn toàn vào máy chủ trung tâm, gây độ trễ cao và nghẽn băng thông. Từ đó, chương xác lập tính cấp thiết của việc đưa xử lý tính toán về thiết bị cận biên kết hợp kỹ thuật xử lý song song. Chương 1 định hình rõ 5 mục tiêu nghiên cứu cụ thể, phạm vi lắp đặt thực nghiệm tại môi trường văn phòng Lab E3 và không gian nhà ở kín, đồng thời giới hạn phạm vi công nghệ vào các thiết bị Jetson Nano, Raspberry Pi 4, Arduino UNO và hệ thống cảm biến môi trường.
Chương 2. Tổng quan
Chương 2 tổng hợp tình hình nghiên cứu trong nước và quốc tế liên quan đến tính toán cận biên, quan trắc chất lượng không khí và nhận diện khuôn mặt. Tác giả trích dẫn các nghiên cứu quốc tế tiêu biểu như mô hình Smarthome trên Raspberry Pi của H. Kastrati, giải pháp dự đoán chất lượng không khí bằng Decision Tree của H. Park (đạt độ chính xác gần 98% trên tập dữ liệu NASA POWER và DOE), và kiến trúc chạy deep learning trên thiết bị cận biên của S. B. Calo. Về nghiên cứu trong nước, tác giả dẫn chứng giải pháp kiểm soát dịch bệnh bằng IP camera trên Kubernetes k3s cluster của PGS.TS Quản Lê - Trung, cùng mô hình mạng thần kinh đồ thị đánh giá tác động không khí của Tăng Nguyễn - Tấn và Quản Lê - Trung. Phần lý thuyết trình bày chi tiết thông số kỹ thuật phần cứng của NVIDIA Jetson Nano Developer Kit B01 (GPU Maxwell 128 lõi, CPU Quad-core ARM A57 1.43 GHz), Raspberry Pi 4 (SoC Broadcom BCM2711), vi điều khiển Arduino UNO R3 (ATmega328P); thiết lập các công thức toán học tính toán chỉ số tiện nghi PMV đối với $CO_2$, $PM_{10}$, $HCHO$ và chỉ số tổng hợp IAQ; giới thiệu thuật toán phân loại Decision Tree, thư viện face_recognition, cơ sở dữ liệu MongoDB, thư viện giao diện ReactJS với cơ chế Virtual DOM, môi trường NodeJS Runtime và nguyên lý xử lý song song đa tiến trình.
Chương 3. Triển khai mô hình
Chương 3 trình bày toàn bộ kiến trúc vật lý và logic của giải pháp IoT tích hợp. Tác giả mô tả chi tiết sơ đồ luồng hoạt động 6 bước từ khâu đọc cảm biến đến khâu đồng bộ mạng. Phần thiết kế hệ thống thể hiện rõ đường ống dữ liệu không khí: Arduino UNO tiếp nhận tín hiệu analog từ các cảm biến MQ135, MP135, GP2Y1010AU0F, truyền qua giao tiếp nối tiếp cổng USB tới Raspberry Pi, từ đó kích hoạt REST API lưu vào MongoDB. Phần an ninh làm rõ thuật toán 4 bước của thư viện face_recognition (phát hiện mặt HOG, căn chỉnh landmark, trích xuất 128 đặc trưng vector bằng Deep CNN và phân loại), quy trình xử lý đa tiến trình multiprocess.Process trên Jetson Nano, cấu trúc định tuyến video stream bằng Flask, cùng định dạng hai lược đồ cơ sở dữ liệu UserInfoSchema và TimeStampSchema. Cuối cùng, chương mô tả giải pháp đồng bộ hóa mô hình qua mạng riêng ảo OpenVPN và giao thức Socket, sử dụng việc truyền tải các tệp nhị phân ref_name.pkl và ref_embed.pkl.
Chương 4. Thực nghiệm và đánh giá
Chương 4 cung cấp các kết quả đo đạc thực nghiệm toàn diện của hệ thống trong thực tế. Nội dung thực nghiệm chia thành ba nhóm nhiệm vụ chính:
- Thực nghiệm tính năng streaming video và nhận diện khuôn mặt trên máy tính cá nhân và bo mạch Jetson Nano. Đánh giá chi tiết hiệu năng thông qua các chỉ số tốc độ khung hình trung bình (FPS), mức chiếm dụng tài nguyên bộ nhớ và CPU khi chạy một luồng video và hai luồng video, so sánh trực tiếp giữa hai trạng thái có và không áp dụng kỹ thuật tính toán song song.
- Thực nghiệm mô hình đồng bộ hóa dữ liệu giữa các hệ thống mạng thông qua kết nối OpenVPN và Socket, đo đạc mức độ tiêu thụ tài nguyên phần cứng trước và sau khi kích hoạt quá trình truyền tệp.
- Thực nghiệm mô hình dự đoán chất lượng không khí sử dụng thuật toán Decision Tree trên Raspberry Pi: trình bày quy trình thu thập dữ liệu thực tế, lọc dữ liệu rác, gán nhãn dựa trên chỉ số PMV và đánh giá độ chính xác của mô hình trên tập dữ liệu kiểm thử (test set) thông qua các thang đo định lượng (Accuracy, Precision, Recall, F1-Score).
Chương 5. Kết luận và hướng phát triển
Chương tổng kết các hạng mục đã hoàn thành của đồ án tốt nghiệp, khẳng định tính khả thi của việc tích hợp giám sát an ninh và môi trường trên kiến trúc cận biên. Tác giả đồng thời chỉ rõ các điểm còn hạn chế về mặt phần cứng nhúng và đề xuất các giải pháp nâng cấp, tối ưu hóa thuật toán trong tương lai.
Kết quả và đóng góp
Khóa luận ghi nhận các kết quả thực nghiệm định lượng cụ thể:
- Hiệu năng xử lý video và streaming: Việc áp dụng kỹ thuật tính toán song song đa tiến trình (
multiprocessing) trên thiết bị cận biên giúp duy trì tốc độ khung hình (FPS) ổn định hơn khi xử lý đồng thời nhiều luồng video nhận diện khuôn mặt so với phương pháp tuần tự thông thường. Khi không áp dụng xử lý song song, hiện tượng nghẽn luồng xử lý xuất hiện rõ rệt khi số lượng khung hình và luồng video tăng lên, dẫn đến sụt giảm FPS. Tuy nhiên, việc khởi tạo nhiều tiến trình con độc lập đòi hỏi mức tiêu thụ CPU và dung lượng RAM cao hơn trên thiết bị Jetson Nano.
- Hiệu quả đồng bộ hóa phân tán: Hệ thống chứng minh tính khả thi của giải pháp đồng bộ hóa mô hình nhận diện khuôn mặt giữa các mạng cục bộ độc lập. Bằng việc đóng gói các vector đặc trưng vào hai tệp nhị phân
ref_name.pkl và ref_embed.pkl, dữ liệu được truyền tải qua kết nối Socket trong đường hầm OpenVPN với dung lượng nhẹ, bảo đảm thời gian cập nhật nhanh và tính riêng tư của người dùng (không cần truyền tải hình ảnh gốc qua mạng).
- Mô hình đánh giá chất lượng không khí: Mô hình cây quyết định Decision Tree triển khai trên Raspberry Pi phân loại thành công các mức độ thoải mái của môi trường sống dựa trên nồng độ ba loại khí độc hại ($CO_2$, $PM_{10}$, $HCHO$). Tập dữ liệu kiểm thử gồm 330 mẫu với 6 nhãn phân loại phản ánh chính xác các mức cảnh báo theo công thức $PMV(IAQ)$, xác thực độ tin cậy thông qua bảng chỉ số đánh giá (Bảng 4-12 trong báo cáo).
Đóng góp chính của đề tài bao gồm:
- Đề xuất một kiến trúc hệ thống cận biên ba tầng hoàn chỉnh, kết hợp đồng thời hai nhiệm vụ thiết yếu của nhà thông minh là giám sát an ninh (thị giác máy tính) và giám sát sức khỏe (quan trắc không khí) trên các thiết bị nhúng giá thành thấp.
- Ứng dụng thành công kỹ thuật xử lý song song nhằm cải thiện độ trễ và tối ưu hóa tính thời gian thực cho các tác vụ suy luận học sâu trên phần cứng bị hạn chế tài nguyên như Jetson Nano.
- Xây dựng giải pháp kỹ thuật cho phép đồng bộ hóa dữ liệu nhận diện khuôn mặt liên mạng qua OpenVPN và Socket, giải quyết bài toán đăng ký tại một điểm nhưng nhận diện được tại nhiều điểm khác nhau trong hệ thống Smarthome.
Hạn chế và hướng nghiên cứu tiếp
Các hạn chế được văn bản chỉ ra bao gồm:
- Thiết bị cận biên (NVIDIA Jetson Nano và Raspberry Pi 4) có công suất tính toán và tài nguyên bộ nhớ hữu hạn. Việc chạy mô hình học sâu của thư viện
face_recognition tiêu tốn lượng lớn tài nguyên CPU, gây áp lực tản nhiệt và giới hạn số lượng luồng video có thể xử lý đồng thời.
- Kỹ thuật tính toán song song bằng cách fork tiến trình phụ thuộc chặt chẽ vào số lõi CPU vật lý của phần cứng; khi số lượng tiến trình vượt quá khả năng xử lý, chi phí chuyển đổi ngữ cảnh (context switching) sẽ làm tăng mức độ tiêu hao tài nguyên.
- Phạm vi lắp đặt thử nghiệm thực tế mới chỉ thực hiện trong không gian quy mô nhỏ tại phòng thí nghiệm Lab E3 và không gian nhà ở đơn lẻ, chưa kiểm thử trên mạng lưới diện rộng với mật độ thiết bị lớn.
- Mô hình đánh giá không khí trong nhà dựa trên các công thức lý thuyết PMV giả định, cần được hiệu chuẩn thêm với các điều kiện môi trường tự nhiên đa dạng hơn.
Hướng nghiên cứu tiếp theo mà tác giả đề xuất:
- Tối ưu hóa mô hình nhận diện khuôn mặt bằng các kiến trúc mạng nơ-ron thu gọn (lightweight models) hoặc chuyển đổi sang định dạng TensorRT để tận dụng tối đa 128 lõi GPU Maxwell của Jetson Nano.
- Mở rộng hệ thống để tiếp nhận và xử lý song song nhiều luồng camera an ninh hơn cùng lúc.
- Tích hợp thêm các module cảm biến để quan sát thêm các khí độc hại khác như $CO$, $NO_2$, $O_3$, đồng thời áp dụng các mô hình học chuỗi thời gian sâu hơn để nâng cao độ chính xác dự báo chất lượng không khí.
Giá trị tham khảo
Báo cáo khóa luận là tài liệu tham khảo hữu ích cho:
- Sinh viên và học viên chuyên ngành: Ngành Mạng máy tính và Truyền thông, Kỹ thuật Máy tính, Công nghệ Thông tin, và Hệ thống Thông tin đang thực hiện các đồ án liên quan đến Internet vạn vật (IoT), Tính toán cận biên (Edge Computing) và Trí tuệ nhân tạo ứng dụng.
- Kỹ sư phát triển hệ thống: Những người thiết kế giải pháp nhà thông minh, hệ thống nhúng tự động hóa cần tham khảo mô hình kết nối phần cứng từ vi điều khiển lên máy tính nhúng và giao tiếp đám mây.
- Các nội dung có giá trị tham khảo kỹ thuật cao:
- Quy trình thiết lập đường ống giao tiếp nối tiếp giữa mạch Arduino UNO R3 và Raspberry Pi qua
pyserial.
- Phương pháp phân tách đa tiến trình (
multiprocessing) trong Python để tăng tốc luồng xử lý video từ OpenCV kết hợp thư viện face_recognition.
- Giải pháp kiến trúc mạng sử dụng OpenVPN kết hợp Python Socket Server để đồng bộ hóa các tệp tuần tự hóa đặc trưng (
.pkl) giữa các mạng cục bộ độc lập.
Câu hỏi thường gặp
1. Cơ chế đồng bộ dữ liệu nhận diện khuôn mặt giữa các ngôi nhà khác nhau trong đồ án hoạt động như thế nào?
Hệ thống sử dụng một máy chủ trung gian Python Socket Server được triển khai trên đám mây AWS VPC. Các thiết bị Jetson Nano tại các mạng nội bộ khác nhau thiết lập kết nối an toàn tới máy chủ này qua đường hầm mạng riêng ảo OpenVPN. Khi một thiết bị biên hoàn thành việc huấn luyện khuôn mặt mới, hệ thống không truyền tải hình ảnh gốc mà xuất ra hai tệp nhị phân đã tuần tự hóa qua module pickle là ref_name.pkl (chứa tên) và ref_embed.pkl (chứa vector đặc trưng 128 chiều). Các tệp này được gửi qua kết nối Socket lên AWS và chuyển tiếp tức thời tới các thiết bị Jetson Nano ở các ngôi nhà khác để cập nhật mà không bị ghi đè hay mất dữ liệu cũ.
2. Chỉ số chất lượng không khí trong nhà PMV(IAQ) được xác định bằng những tham số và công thức nào?
Chỉ số $PMV(IAQ)$ được xây dựng dựa trên ba tham số môi trường gồm nồng độ khí $CO_2$, bụi mịn có thể hô hấp $PM_{10}$ và Formaldehyde $HCHO$. Mức độ khó chịu được tính toán thông qua ba công thức logarit:
- $PMV(CO_2) = 6.34 \times \log\left(\frac{X(CO_2)}{485}\right)$
- $PMV(PM_{10}) = 2.02 \times \log\left(\frac{X(PM_{10})}{0.02}\right)$
- $PMV(HCHO) = 2 \times \log\left(\frac{X(HCHO)}{0.01}\right)$
Chỉ số tổng hợp lấy giá trị cực đại của ba chỉ số trên: $PMV(IAQ) = \max(PMV(CO_2), PMV(PM_{10}), PMV(HCHO))$, tương ứng với các mức cảm nhận từ 0 (thoải mái), 1 (hơi khó chịu), 2 (khó chịu) đến 3 (cực kỳ khó chịu).
3. Kỹ thuật tính toán song song được áp dụng cụ thể ở khâu nào trong phân hệ an ninh?
Kỹ thuật tính toán song song được triển khai trong quá trình streaming video và nhận diện khuôn mặt trên thiết bị Jetson Nano bằng module multiprocessing của Python. Tiến trình cha đọc các khung hình từ video hoặc camera bằng OpenCV. Tại mỗi vòng lặp, hệ thống thực hiện phân nhánh (fork) ra một tiến trình con riêng biệt để xử lý việc định vị và nhận dạng khuôn mặt trên khung hình đó. Các tiến trình con hoạt động đồng thời (concurrently), giúp giải phóng tiến trình chính và đảm bảo thứ tự các khung hình ở đầu ra hiển thị chuẩn xác trên giao diện web.
4. Cấu hình phần cứng và phân bổ vai trò giữa Jetson Nano và Raspberry Pi được thiết lập ra sao?
NVIDIA Jetson Nano Developer Kit B01 (trang bị CPU Quad-core ARM A57 1.43 GHz, GPU Maxwell 128 lõi, 4GB LPDDR4) đóng vai trò trung tâm xử lý thị giác máy tính, đảm nhận dịch vụ Flask API, thư viện face_recognition 1.3 và module tính toán song song để phục vụ nhận diện khuôn mặt và phát luồng video an ninh. Trong khi đó, Raspberry Pi 4 (trang bị vi xử lý Broadcom BCM2711 Quad-core Cortex-A72 1.8 GHz) đảm nhận trung tâm phân tích môi trường, kết nối nhận dữ liệu nối tiếp từ Arduino UNO R3, thực thi các thuật toán tiền xử lý dữ liệu và chạy mô hình học máy Decision Tree để phân loại chất lượng không khí.
5. Quy trình nhận diện một khuôn mặt qua thư viện face_recognition trong đề tài gồm những bước nào?
Quá trình xử lý ảnh trải qua 4 bước liên tiếp:
- Phát hiện vị trí khuôn mặt trong khung hình bằng phương pháp Histogram of Oriented Gradients (HOG).
- Xác định các điểm đặc trưng hình học (face landmark estimation) và biến đổi khung hình để đưa mắt, mũi, miệng về vị trí trung tâm.
- Đưa ảnh đã căn chỉnh qua mạng nơ-ron tích chập sâu (Deep CNN) của OpenFace để mã hóa khuôn mặt thành một vector đặc trưng gồm 128 số thực (128 measurements).
- So sánh vector đặc trưng thu được với các vector mẫu đã lưu trữ bằng thuật toán phân loại và đo khoảng cách Euclid để xác định danh tính đối tượng hoặc gán nhãn "Unknown".
Kết luận
Khóa luận "Xử lí song song trên kiến trúc cận biên cho ứng dụng nhà thông minh" của sinh viên Vũ Văn Quang và Lăng Huỳnh Đăng Khoa đã thiết kế và triển khai thành công một giải pháp tích hợp an ninh và quan trắc môi trường trên hạ tầng điện toán cận biên. Bằng việc kết hợp bo mạch Jetson Nano xử lý thị giác máy tính với Raspberry Pi phân tích chất lượng không khí, đề tài đã giải quyết hiệu quả bài toán giảm độ trễ và tiết kiệm băng thông mạng so với kiến trúc đám mây truyền thống. Nghiên cứu đồng thời đề xuất giải pháp đồng bộ hóa mô hình nhận diện khuôn mặt liên mạng qua đường hầm OpenVPN và kỹ thuật xử lý song song đa tiến trình, cung cấp một hệ thống thực nghiệm có độ tin cậy và giá trị ứng dụng thực tiễn cao cho lĩnh vực nhà thông minh.