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

Trong tiến trình phát triển của tương tác người - máy (Human-Computer Interaction - HCI), các phương thức nhập liệu truyền thống như bàn phím và chuột bộc lộ nhiều hạn chế khi ứng dụng vào các môi trường điều khiển không tiếp xúc (touchless control), thực tế ảo (VR), thực tế tăng cường (AR), hoặc hỗ trợ người khuyết tật giao tiếp thông qua ngôn ngữ ký hiệu. Nhận diện cử chỉ tay (Hand Gesture Recognition - HGR) dựa trên thị giác máy tính nổi lên như một giải pháp trực quan, song việc triển khai các mô hình học sâu (Deep Learning) tiêu chuẩn trên các thiết bị nhúng lại gặp rào cản lớn do đòi hỏi năng lực tính toán và dung lượng bộ nhớ cao. Trong bối cảnh có hơn 250 tỷ thiết bị IoT sử dụng vi điều khiển đang hoạt động, công nghệ học máy nhẹ (TinyML) trở thành hướng tiếp cận trọng tâm nhằm đưa trí tuệ nhân tạo xuống trực tiếp các bộ vi điều khiển (MCU) có tài nguyên hạn chế.

Đề tài "Nghiên cứu phát triển hệ thống nhận diện cử chỉ sử dụng camera dựa trên công nghệ học máy nhẹ (TinyML) hoạt động trên vi điều khiển" do sinh viên Trần Mạch Tuấn Kiệt thực hiện dưới sự hướng dẫn của TS. Lê Minh Huy tại Trường Đại học Phenikaa (năm 2024), tập trung giải quyết bài toán cân bằng giữa độ chính xác nhận diện và chi phí tính toán trên phần cứng nhúng.

Các nhiệm vụ nghiên cứu cụ thể được xác định gồm:

  1. Thiết kế kiến trúc mạng nơ-ron tích chập siêu nhẹ (micro-CNN) chuyên biệt cho bài toán nhận diện cử chỉ từ ảnh màu RGB thu nhận qua camera đơn khung hình.
  2. Tối ưu hóa kích thước mô hình và tốc độ thực thi thông qua kỹ thuật lượng tử hóa 8-bit (INT8) để hoạt động hiệu quả trên vi điều khiển.
  3. Triển khai mô hình học sâu lên bo mạch nhúng OpenMV Cam H7 tích hợp vi xử lý ARM Cortex-M7.
  4. Xây dựng hệ thống điều khiển chuyển động hoàn chỉnh ứng dụng trong cơ cấu quét từ tính của hệ thống Kiểm tra không phá hủy (Non-Destructive Testing - NDT), tích hợp phần mềm LabVIEW và Python.

Đối tượng nghiên cứu là thuật toán nhận diện cử chỉ tay tĩnh và hệ thống điều khiển tự động hóa nhúng. Phạm vi nghiên cứu về dữ liệu bao gồm tập dữ liệu ngôn ngữ ký hiệu Mỹ (ASL) với gần 100.000 mẫu, tập dữ liệu OUHANDS và tập dữ liệu cử chỉ tự thu thập. Phạm vi thực nghiệm phần cứng được giới hạn trên các dòng vi xử lý ARM Cortex-M7 (OpenMV Cam H7), vi điều khiển họ STM32, bộ điều khiển vị trí PMC-1HS-USB, bộ điều khiển động cơ bước MD5-HD14 tại phòng thí nghiệm ICSLab (A4-705, Trường Đại học Phenikaa).

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

Đồ án xây dựng nền tảng lý thuyết dựa trên các kỹ thuật học sâu tiên tiến kết hợp giải pháp nén mô hình cho hệ thống nhúng:

  • Tích chập tách biệt theo chiều sâu (Depthwise Separable Convolution - DSC): Phân rã phép tích chập tiêu chuẩn thành hai bước độc lập: Tích chập theo chiều sâu (Depthwise Convolution - áp dụng bộ lọc $K \times K$ riêng trên từng kênh) và Tích chập theo điểm (Pointwise Convolution - áp dụng bộ lọc $1 \times 1$ để kết hợp các kênh). Cơ chế này giúp giảm khối lượng tính toán lý thuyết xuống xấp xỉ $\frac{1}{N_c} + \frac{1}{K^2}$ lần so với tích chập thông thường ($N_c$ là số kênh đầu ra, $K$ là kích thước bộ lọc).
  • Khối Squeeze-and-Excitation (SE): Tăng cường khả năng biểu diễn đặc trưng bằng cách tái hiệu chuẩn trọng số giữa các kênh thông qua cơ chế nén (Squeeze - sử dụng Global Average Pooling) và kích thích (Excitation - qua các lớp Fully Connected và hàm Sigmoid/ReLU).
  • Hàm kích hoạt và Chuẩn hóa: Sử dụng hàm kích hoạt Hard-Swish ($h\text{-}swish(x) = x \cdot \frac{\text{ReLU6}(x+3)}{6}$) nhằm thay thế hàm Swish đắt đỏ về mặt tính toán, kết hợp hàm SoftMax ở tầng phân loại đầu ra; kỹ thuật Chuẩn hóa theo batch (Batch Normalization) được tích hợp sau mỗi tầng tích chập để ổn định quá trình lan truyền ngược.
  • Tối ưu hóa và Hàm mất mát: Mô hình được tối ưu bằng thuật toán Adam (kết hợp cơ chế Momentum và Root Mean Square Propagation - RMSProp) với hàm mất mát Categorical Cross-Entropy cho bài toán phân loại đa lớp.
  • Lượng tử hóa mô hình (Model Quantization): Sử dụng khung làm việc TensorFlow Lite (TFLite) để lượng tử hóa trọng số từ dấu phẩy động 32-bit (Float32) về số nguyên 8-bit (INT8), tương thích với phần cứng nhúng chỉ hỗ trợ số nguyên.

Phương pháp nghiên cứu thực nghiệm được tiến hành theo quy trình:

  1. Tiền xử lý và tăng cường dữ liệu (Data Augmentation): Áp dụng các biến đổi hình học (Random Zoom, Random Rotation, Translation) và biến đổi không gian màu (Random Brightness với hệ số điều chỉnh từ -0.1 đến 0.1) trên tập huấn luyện để nâng cao tính bất biến theo góc nhìn và ánh sáng. Chuẩn hóa pixel ảnh về thang đo $[0, 1]$ bằng phương pháp Min-Max Scaling.
  2. Huấn luyện phân cấp và Học chuyển giao (Transfer Learning): Tiền huấn luyện mô hình micro-CNN trên tập ASL quy mô lớn để học các đặc trưng hình thái bàn tay; sau đó áp dụng học chuyển giao kết hợp thuật toán FOMO (Faster Objects, More Objects) trên tập OUHANDS và tập dữ liệu cử chỉ tự thu thập.
  3. Đánh giá thực nghiệm: Huấn luyện trên hệ thống máy tính hiệu năng cao trang bị GPU NVIDIA RTX A5000 với kích thước batch 64, tổng số 100 epochs, tốc độ học ban đầu 0.01 kết hợp cơ chế suy giảm tốc độ học (hệ số giảm 0.2 nếu validation loss không cải thiện sau 13 epochs). Đánh giá thời gian suy luận (inference time) trực tiếp trên các dòng MCU STM32 và OpenMV Cam H7.

Thiết kế và triển khai

Hệ thống kỹ thuật được thiết kế đồng bộ từ cấu trúc mô hình mạng nơ-ron đến cơ cấu điều khiển chuyển động cơ điện tử:

1. Kiến trúc mô hình Micro-CNN

Mô hình kế thừa ý tưởng từ MobileNetV2 và MobileNetV3 nhưng được thu gọn cấu trúc gồm 1 tầng tích chập khởi tạo (First stage), 3 khối Micro-bottleneck đóng vai trò trích xuất đặc trưng và 1 tầng phân loại thu gọn (Lightweight classifier).

Khối / Tầng Cấu hình lớp chi tiết Kích thước / Tham số cấu hình Số tham số
First stage Conv2D $\rightarrow$ BatchNorm $\rightarrow$ Hard-Swish $\rightarrow$ MaxPool2D $\rightarrow$ Dropout $F=16, k=3\times 3, s=1$, Pool $s=1$, Dropout $r=0.1$ 512
Micro-bottleneck 1 1 SE Conv Block + 2 SE Residual Blocks $F=8, k=3\times 3, s=1$, ratio $=1$, $h\text{-}swish$, Dropout $r=0.1$ 1.130
Micro-bottleneck 2 1 SE Conv Block + 2 SE Residual Blocks $F=16, k=3\times 3, s=2$ (block đầu) / $s=1$, ratio $=3$, $h\text{-}swish$ 5.732
Micro-bottleneck 3 1 SE Conv Block + 2 SE Residual Blocks $F=32, k=3\times 3, s=2$ (block đầu) / $s=1$, ratio $=3$, $h\text{-}swish$ 19.656
Lightweight Classifier Conv2D $\rightarrow$ BatchNorm $\rightarrow$ Hard-Swish $\rightarrow$ AvgPool $\rightarrow$ Conv2D $\rightarrow$ ReLU $\rightarrow$ Conv2D $\rightarrow$ Flatten $\rightarrow$ SoftMax Conv1: $F=64, k=1\times 1$; AvgPool $s=7$; Conv2: $F=128, k=1\times 1$; Conv3: $F=26, k=1\times 1$ 14.042
Tổng cộng Toàn bộ mô hình cơ sở 26 lớp đầu ra (ASL) 41.072

Mỗi khối Micro-bottleneck khảo sát hai cấu trúc hệ số mở rộng (expansion factor $t$): $t = 0.5$ (dạng Residual Block truyền thống với $t < 1$) và $t = 3$ (dạng Inverted Residual Block với $t > 1$).

2. Kiến trúc phần cứng và tích hợp hệ thống điều khiển

  • Khối thu nhận và xử lý ảnh: Bo mạch OpenMV Cam H7 tích hợp vi xử lý ARM Cortex-M7 thực thi mô hình INT8 TFLite trực tiếp từ luồng ảnh camera thời gian thực mà không cần truyền dữ liệu thô lên máy tính.
  • Khối điều khiển chuyển động: Bộ phát xung điều khiển vị trí 1 trục Autonics PMC-1HS-USB (giao tiếp máy tính qua cổng USB) điều khiển tọa độ dịch chuyển của máy quét.
  • Khối công suất truyền động: Bộ điều khiển động cơ bước 5 pha Autonics MD5-HD14 nhận xung và hướng điều khiển từ PMC-1HS-USB để cấp nguồn cho động cơ bước của cơ cấu quét NDT.
  • Phần mềm điều khiển hệ thống: Giao diện người dùng và thuật toán điều phối được lập trình trên LabVIEW kết hợp mã nguồn Python, nhận diện 9 lớp cử chỉ điều khiển từ OpenMV qua cổng truyền thông nối tiếp để ánh xạ sang các tập lệnh điều khiển máy quét (ví dụ cử chỉ Class 1 tương ứng lệnh "Left"). Hệ thống hỗ trợ 2 chế độ vận hành: Chế độ liên tục (Continuous mode) và Chế độ điều khiển theo thông số cài đặt (Use parameters mode).

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

Chapter I: Problems and Research methods

Chương mở đầu phân tích tổng quan lịch sử phát triển của nhận diện cử chỉ tay từ các phương pháp truyền thống (dựa trên màu da, lọc Gaussian, toán tử Sobel, Canny, khoảng cách Euclidean) đến các kiến trúc học sâu (DC-CNN, Inception-V3, EfficientNet-B0, VGG19 kết hợp ảnh RGB và Depth, YOLOv3-ShuffleNetV2 kích thước 8.9 MB). Tác giả chỉ ra hạn chế của các nghiên cứu trước là tập trung tối ưu độ chính xác nhưng bỏ qua chi phí tính toán, gây khó khăn cho việc nhúng trên vi điều khiển. Từ đó, chương xác lập mục tiêu nghiên cứu và sơ đồ luồng làm việc tổng thể gồm 2 giai đoạn: phát triển mô hình TinyML và tích hợp hệ thống điều khiển NDT.

Chapter II: PROPOSED MODEL ARCHITECTURE

Chương II trình bày chi tiết toán học và cấu trúc kỹ thuật của giải pháp đề xuất. Tác giả diễn giải các kỹ thuật tiền xử lý dữ liệu (Augmentation, Min-Max Normalization), cơ chế toán học của tích chập chuẩn, lan truyền ngược, tích chập tách biệt DSC, các dạng pooling (Max, Average, Global), Batch Normalization, hàm kích hoạt $h\text{-}swish$ và SoftMax. Trọng tâm của chương là thiết kế chi tiết khối Micro-bottleneck (SE Conv Block và SE Residual Block với đường tắt Conv $1\times 1$) và tầng Lightweight Classifier thay thế các lớp Dense thông thường nhằm giảm đột biến số lượng tham số. Chương cũng thiết lập quy trình huấn luyện sử dụng thuật toán Adam với các siêu tham số cài đặt trên GPU NVIDIA RTX A5000.

Chapter III: EXPERIMENTAL RESULTS & BENCHMARK

Chương III trình bày kết quả thực nghiệm huấn luyện và đánh giá mô hình. Đường cong học tập (Learning curve) trên tập ASL với hệ số mở rộng $t = 3$ cho thấy mô hình hội tụ tốt sau hơn 50 epochs, độ chính xác đạt xấp xỉ 100% trên cả tập huấn luyện và tập kiểm định với hàm mất mát giảm đều. Tác giả tiến hành các nghiên cứu loại bỏ (Ablation studies) nhằm so sánh giữa $t = 0.5$ và $t = 3$, đánh giá ma trận nhầm lẫn (Confusion matrix) khi áp dụng học chuyển giao trên tập dữ liệu OUHANDS, và thực hiện đo kiểm hiệu năng suy luận (Benchmark) trên các dòng vi điều khiển STM32 thực tế.

Chapter IV: BUILDING A CONTROL SYSTEM USING HAND GESTURE RECOGNITION

Chương IV mô tả quá trình xây dựng hệ thống điều khiển thực tế. Tác giả trình bày chi tiết thông số kỹ thuật và phương thức kết nối của bộ điều khiển vị trí PMC-1HS-USB, driver động cơ bước 5 pha MD5-HD14, quy trình nạp mô hình học máy vào OpenMV Cam H7, lưu đồ thuật toán điều khiển trên OpenMV, và cấu trúc chương trình LabVIEW (Front Panel, Block Diagram). Chương trình thiết lập bảng ánh xạ 9 cử chỉ tay với các lệnh chuyển động tương ứng và kiểm tra tính đáp ứng của hệ thống trong hai chế độ: liên tục và theo tham số đặt trước.

Chapter V & VI: Further experimental results, demo & Conclusions

Các nội dung cuối tổng hợp kết quả thử nghiệm vận hành thực tế hệ thống quét kiểm tra không phá hủy NDT bằng cử chỉ tay, đồng thời đúc kết các đóng góp chính về mặt thuật toán học máy nhẹ và khả năng ứng dụng thực tế trong điều khiển công nghiệp.

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

Đồ án đạt được các kết quả kỹ thuật cụ thể được ghi nhận trong văn bản:

  • Tối ưu hóa kích thước mô hình: Mô hình micro-CNN đề xuất có tổng số lượng tham số chỉ khoảng 41.072 đến 42.000 tham số, nhỏ hơn đáng kể so với các kiến trúc CNN tiêu chuẩn (như Inception-V3, EfficientNet-B0, VGG19) và mạng phát hiện YOLOv3-ShuffleNetV2 (8.9 MB).
  • Độ chính xác nhận diện cao: Trên tập dữ liệu cử chỉ American Sign Language (ASL) gồm 26 lớp, mô hình đạt độ chính xác xấp xỉ 100% sau hơn 50 epochs huấn luyện với hệ số mở rộng $t = 3$. Mô hình thích ứng tốt khi chuyển giao sang tập OUHANDS và dữ liệu thực tế.
  • Thực thi trực tiếp trên vi điều khiển: Triển khai thành công mô hình lượng tử hóa INT8 trên bộ vi xử lý ARM Cortex-M7 của OpenMV Cam H7, đáp ứng yêu cầu xử lý cục bộ gần cảm biến mà không phụ thuộc vào điện toán đám mây hay máy tính biên cấu hình cao.
  • Ứng dụng điều khiển hoàn chỉnh: Tích hợp thành công mô hình HGR với hệ thống điều khiển chuyển động máy quét từ tính NDT thông qua phần mềm LabVIEW, bộ phát xung PMC-1HS-USB và driver MD5-HD14 với 9 cử chỉ điều khiển riêng biệt, vận hành ổn định ở cả hai chế độ liên tục và định lượng thông số.

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

Dựa trên phạm vi và nội dung được trình bày trong đồ án, một số hạn chế và hướng mở gồm:

  • Hạn chế:
    • Mô hình chủ yếu tập trung phân loại các cử chỉ tay ở trạng thái tĩnh từ ảnh đơn khung hình, chưa mở rộng sang nhận diện chuỗi cử chỉ động liên tục theo thời gian.
    • Quá trình thực nghiệm nhận diện cử chỉ thời gian thực vẫn chịu ảnh hưởng nhất định bởi sự thay đổi phức tạp của môi trường ánh sáng và phông nền thực tế ngoài phòng thí nghiệm.
    • Hệ thống phần cứng thực nghiệm mới áp dụng điều khiển trên máy quét từ tính của hệ thống NDT trong không gian phòng thí nghiệm ICSLab.
  • Hướng nghiên cứu tiếp:
    • Phát triển các cấu trúc mạng nơ-ron xử lý chuỗi thời gian siêu nhẹ (như Tiny-RNN hoặc 1D-CNN) để nhận diện các cử chỉ động phức tạp trên vi điều khiển.
    • Tối ưu hóa thuật toán nén mô hình và đánh giá chuyên sâu trên nhiều dòng vi điều khiển khác nhau thuộc họ STM32 với các mức dung lượng RAM/Flash khác nhau.
    • Nâng cấp thuật toán truyền thông giữa OpenMV và phần mềm điều khiển để tối ưu hóa hơn nữa thời gian trễ toàn chu trình.

Giá trị tham khảo

Đồ án là tài liệu tham khảo hữu ích cho:

  • Sinh viên và nghiên cứu sinh ngành Kỹ thuật Điều khiển và Tự động hóa, Kỹ thuật Cơ điện tử, Kỹ thuật Máy tính: Tham khảo phương pháp tích hợp hoàn chỉnh giữa giải thuật Trí tuệ nhân tạo (AI) và cơ cấu chấp hành công nghiệp (động cơ bước, bộ điều khiển phát xung, phần mềm LabVIEW).
  • Kỹ sư phát triển hệ thống nhúng và IoT (TinyML Engineers): Cung cấp tài liệu chi tiết về thiết kế mạng CNN thu gọn dựa trên DSC và khối SE, kỹ thuật thay thế tầng Dense bằng Conv $1\times 1$ và Average Pooling, cùng quy trình lượng tử hóa TFLite sang INT8 để triển khai trên ARM Cortex-M7 / OpenMV.
  • Nhà nghiên cứu thị giác máy tính cho tương tác người - máy: Tham khảo quy trình tiền xử lý, tăng cường dữ liệu cử chỉ tay và phương pháp học chuyển giao từ tập dữ liệu lớn sang tập dữ liệu chuyên biệt.

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

1. Kiến trúc mô hình Micro-CNN đề xuất có bao nhiêu tham số và phân bổ ở các khối như thế nào? Mô hình có tổng cộng khoảng 41.072 đến 42.000 tham số, được phân bổ qua 5 thành phần chính: Tầng khởi tạo First stage (512 tham số), Micro-bottleneck 1 (1.130 tham số), Micro-bottleneck 2 (5.732 tham số), Micro-bottleneck 3 (19.656 tham số) và Tầng phân loại Lightweight Classifier (14.042 tham số).

2. Tại sao tác giả sử dụng lớp tích chập Conv $1\times 1$ kết hợp Average Pooling ở tầng phân loại thay vì lớp Dense thông thường? Việc sử dụng lớp Dense (Fully Connected) trong các mạng sâu tạo ra số lượng trọng số kết nối rất lớn, gây quá tải bộ nhớ và tăng nguy cơ quá khớp (overfitting) trên vi điều khiển. Lớp Conv $1\times 1$ kết hợp Average Pooling đóng vai trò giảm số chiều không gian và hòa trộn thông tin giữa các kênh với lượng tham số ít hơn nhiều, giúp giảm chi phí tính toán và tăng tốc độ suy luận.

3. Khối Micro-bottleneck trong đồ án sử dụng những hệ số mở rộng (expansion factor) nào và ý nghĩa của chúng là gì? Đồ án khảo sát hai hệ số mở rộng $t = 0.5$ và $t = 3$. Trong đó, $t = 0.5$ ($t < 1$) hoạt động theo cơ chế khối Residual truyền thống (giảm số kênh trung gian), còn $t = 3$ ($t > 1$) hoạt động theo cơ chế Inverted Residual Block (mở rộng số kênh ở tầng tích chập sâu trước khi nén lại), giúp đánh giá sự cân bằng giữa khả năng trích xuất đặc trưng và tài nguyên tính toán.

4. Những thiết bị phần cứng nào được sử dụng trong hệ thống điều khiển thực nghiệm? Hệ thống phần cứng gồm có: Bo mạch camera nhúng OpenMV Cam H7 (vi xử lý ARM Cortex-M7), Bộ phát xung điều khiển vị trí Autonics PMC-1HS-USB, Bộ điều khiển động cơ bước 5 pha Autonics MD5-HD14 và cơ cấu máy quét từ tính của hệ thống Kiểm tra không phá hủy (NDT).

5. Hệ thống LabVIEW xử lý tín hiệu nhận diện từ OpenMV Cam H7 như thế nào? LabVIEW kết nối với OpenMV qua giao tiếp nối tiếp, tiếp nhận kết quả phân loại từ 9 lớp cử chỉ tay được định nghĩa trước (ví dụ: cử chỉ tương ứng Class 1 được ánh xạ thành lệnh "Left"). Chương trình LabVIEW điều khiển phát xung qua PMC-1HS-USB đến driver MD5-HD14 theo 2 chế độ: Chế độ chạy liên tục (Continuous mode) hoặc Chế độ chạy theo tham số dịch chuyển định trước (Use parameters mode).

Kết luận

Đồ án tốt nghiệp của sinh viên Trần Mạch Tuấn Kiệt đã nghiên cứu và phát triển thành công kiến trúc mạng nơ-ron tích chập siêu nhẹ (Micro-CNN) với quy mô chỉ hơn 41.000 tham số dựa trên công nghệ TinyML. Mô hình đạt độ chính xác cao trên tập dữ liệu ASL và được lượng tử hóa INT8 để vận hành trực tiếp trên vi xử lý ARM Cortex-M7 của nền tảng OpenMV Cam H7. Toàn bộ giải pháp nhận diện thị giác được tích hợp đồng bộ với phần mềm LabVIEW, bộ điều khiển PMC-1HS-USB và driver MD5-HD14 nhằm điều khiển máy quét từ tính NDT, chứng minh tính khả thi và hiệu quả của việc ứng dụng học máy nhúng vào các hệ thống tự động hóa điều khiển thực tế.