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

Trong xu thế phát triển của khoa học kỹ thuật và tự động hóa, máy móc ngày càng thay thế con người trong nhiều công đoạn sản xuất và đời sống nhờ khả năng làm việc bền bỉ, độ chính xác cao và khả năng hoạt động trong môi trường độc hại. Tuy nhiên, các phương thức giao tiếp truyền thống giữa con người và hệ thống điều khiển vẫn phụ thuộc chủ yếu vào các thiết bị nhập dữ liệu thủ công như bàn phím, chuột hoặc nút bấm vật lý. Xuất phát từ nhu cầu xây dựng các giao thức tương tác người – máy (Human - Computer Interaction) tự nhiên, trực quan hơn, lĩnh vực thị giác máy tính đã và đang tập trung nghiên cứu mô phỏng thị giác con người nhằm mang lại khả năng cảm nhận không gian và nhận diện hành vi cho hệ thống máy tính.

Đề tài "Điều khiển thiết bị bằng cử chỉ tay thông qua xử lý ảnh" do sinh viên Nguyễn Hữu Sáng và Từ Thị Kim Chi thực hiện tại Trường Đại học Sư phạm Kỹ thuật TP.HCM (Khoa Điện – Điện tử, Bộ môn Điện tử Công nghiệp), dưới sự hướng dẫn của TS. Nguyễn Thanh Hải (tháng 07/2016), được triển khai nhằm giải quyết bài toán ứng dụng công nghệ xử lý ảnh số vào việc nhận diện cử chỉ bàn tay để điều khiển thiết bị ngoại vi theo thời gian thực.

Mục tiêu và các nhiệm vụ nghiên cứu cụ thể của đề tài bao gồm:

  1. Thiết kế và thi công hệ thống hoàn chỉnh có khả năng nhận dạng các cử chỉ của ngón tay thông qua hình ảnh thu nhận để điều khiển thiết bị ngoại vi (cụ thể là mô hình 5 đèn LED đơn).
  2. Thu nhận ảnh màu trực tiếp từ môi trường thông qua webcam hoặc từ tập dữ liệu tĩnh có sẵn.
  3. Trích xuất vùng màu da người dựa vào đặc trưng phân bố trong không gian màu YCbCr.
  4. Áp dụng các thuật toán xử lý ảnh số: bộ lọc trung vị (Median Filter), phép biến đổi hình thái học (co, giãn, mở ảnh, trừ ảnh) và thuật toán xác định trọng tâm bàn tay.
  5. Thiết lập giao thức kết nối và truyền nhận dữ liệu giữa máy tính và vi điều khiển thông qua chuẩn nối tiếp RS232/UART qua cổng COM DB-09.
  6. Thiết kế, chế tạo mạch phần cứng điều khiển trung tâm sử dụng vi điều khiển PIC16F887 và khối hiển thị LED.
  7. Vận hành thử nghiệm, kiểm tra độ chính xác của hệ thống dưới các điều kiện thực nghiệm khác nhau và hoàn thiện mô hình.

Đối tượng và phạm vi nghiên cứu của đề tài được xác định:

  • Đối tượng nghiên cứu: 5 cử chỉ bàn tay cơ bản của con người (tương ứng với số lượng từ 1 đến 5 ngón tay mở rộng) và mạch giao tiếp điều khiển tải hiển thị trạng thái.
  • Phạm vi không gian và điều kiện thực nghiệm: Hệ thống xử lý ảnh nhận diện cử chỉ trên phông nền đơn sắc màu xanh; góc chụp chính diện; khoảng cách giữa tay và camera, cường độ chiếu sáng và độ mở giữa các ngón tay phải nằm trong giới hạn phù hợp; nếu ảnh xuất hiện khuôn mặt thì vị trí bàn tay phải tách rời khuôn mặt.
  • Phạm vi thời gian: Đề tài được triển khai thực hiện từ ngày 10/04/2016 đến ngày 01/07/2016.

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

Khóa luận xây dựng giải pháp dựa trên nền tảng lý thuyết xử lý ảnh số và kỹ thuật vi điều khiển ghép nối máy tính:

  • Mô hình không gian màu RGB và YCbCr: Không gian màu RGB biểu diễn 24-bit (8-bit cho mỗi kênh R, G, B; giá trị từ 0 đến 255) tạo ra $256^3 \approx 16{,}7$ triệu màu. Không gian màu YCbCr tách biệt thành phần độ chói ($Y$) và hai thành phần sắc độ sắc xanh ($Cb$), sắc đỏ ($Cr$). Tác giả áp dụng công thức chuyển đổi từ RGB sang YCbCr và sử dụng ngưỡng màu da thực nghiệm: một điểm ảnh được phân loại là màu da khi giá trị $Cb \in [77; 127]$ và $Cr \in [133; 173]$.
  • Lọc trung vị (Median Filter): Sử dụng cửa sổ lọc kích thước $3 \times 3$ trượt qua từng điểm ảnh, sắp xếp dãy 9 giá trị mức xám theo thứ tự tăng dần và chọn giá trị ở vị trí chính giữa để gán cho điểm ảnh ngõ ra, giúp loại bỏ hiệu quả nhiễu muối tiêu (salt-and-pepper noise) và nhiễu đốm mà vẫn bảo toàn đường biên đối tượng.
  • Toán tử hình thái học (Morphological Operations):
    • Phép co ảnh (Erosion): Đặt tâm phần tử cấu trúc lên điểm ảnh, chỉ giữ lại điểm ảnh khi toàn bộ phần tử cấu trúc nằm trọn trong vùng ảnh đối tượng, nhằm thu nhỏ kích thước, triệt tiêu các nhánh nhô và cầu nối mảnh.
    • Phép giãn ảnh (Dilation): Cộng phần tử cấu trúc với vùng ảnh đối tượng để mở rộng kích thước và lấp đầy các lỗ hổng, khe nứt nhỏ.
    • Phép mở ảnh (Opening) và Trừ ảnh (Image Subtraction): Thực hiện liên tiếp phép co rồi phép giãn để loại bỏ hoàn toàn các ngón tay chỉ giữ lại vùng lòng bàn tay. Lấy ảnh bàn tay ban đầu trừ đi ảnh lòng bàn tay sau phép mở để trích xuất riêng biệt các vùng ngón tay.
  • Thuật toán trọng tâm và khoảng cách thích ứng: Xác định tọa độ trọng tâm bàn tay $(C_x, C_y)$ và tính khoảng cách ngắn nhất $D$ từ trọng tâm đến đường biên theo công thức hình học: $$D = \sqrt{(C_x - x)^2 + (C_y - y)^2}$$ Giá trị này làm cơ sở định cỡ linh hoạt kích thước mặt nạ lọc cho từng trường hợp ảnh đầu vào.
  • Công cụ nhận diện khuôn mặt: Tích hợp khối phát hiện khuôn mặt từ thư viện Computer Vision Toolbox trên môi trường MATLAB 2013 nhằm tự động định vị và tô đen vùng mặt, tránh nhận diện nhầm với màu da tay.
  • Giao tiếp nối tiếp RS232: Truyền thông nối tiếp không đồng bộ với khung truyền gồm Start bit (mức 0), Data bits (mã ASCII), Parity bit và Stop bit. Sử dụng IC MAX232 của hãng Maxim để chuyển đổi tương thích mức điện áp giữa chuẩn RS232 (mức logic 0: $+3\text{V} \dots +12\text{V}$, mức logic 1: $-3\text{V} \dots -12\text{V}$) và mức logic TTL ($0\text{V} - 5\text{V}$) của vi điều khiển.
  • Phương pháp nghiên cứu: Nghiên cứu thực nghiệm kỹ thuật, kết hợp mô phỏng thuật toán xử lý ảnh trên máy tính với thiết kế, chế tạo mạch phần cứng thực tế.

Thiết kế và triển khai

Hệ thống được tổ chức thành hai phân hệ chính: Phân hệ xử lý ảnh trên máy tính và Phân hệ phần cứng điều khiển chấp hành.

[ Webcam thu ảnh ] ---> [ Máy tính (MATLAB 2013) ] ---> [ Cáp nối tiếp RS232 ]
                                                               |
                                                               v
[ 5 Đèn LED hiển thị ] <--- [ Vi điều khiển PIC16F887 ] <--- [ IC MAX232 ]
                                       ^
                                       |
                              [ Nguồn ổn áp 7805 ]

Kiến trúc phần mềm và thuật toán xử lý ảnh

Thuật toán xử lý ảnh được lập trình hoàn toàn trên môi trường MATLAB 2013, bao gồm các bước tuần tự:

  1. Thu nhận ảnh từ Webcam (hoặc ảnh tĩnh), giảm kích thước ảnh xuống một nửa để tối ưu hóa tốc độ xử lý.
  2. Quét nhận diện khuôn mặt qua Computer Vision Toolbox; nếu phát hiện, thực hiện tô đen toàn bộ diện tích khuôn mặt.
  3. Chuyển đổi hệ màu sang YCbCr và áp dụng ngưỡng lọc màu da để tạo ảnh nhị phân.
  4. Tính tổng diện tích các vùng liên thông màu trắng và chỉ giữ lại vùng có diện tích lớn nhất (vùng bàn tay), loại bỏ các tạp nhiễu nhỏ từ môi trường.
  5. Cắt bỏ phần cánh tay, chỉ giữ lại vùng bàn tay từ cổ tay đến các ngón tay.
  6. Xác định trọng tâm $(C_x, C_y)$ của bàn tay và tính khoảng cách biên ngắn nhất để thiết lập kích thước phần tử cấu trúc.
  7. Thực hiện phép mở ảnh (co trước, giãn sau) để triệt tiêu các ngón tay, thu được ảnh chỉ chứa lòng bàn tay.
  8. Thực hiện phép trừ giữa ảnh bàn tay đầy đủ và ảnh lòng bàn tay để thu lại các vùng ngón tay; lọc bỏ các điểm nhiễu có diện tích nhỏ hơn 10% tổng diện tích các vùng trắng còn lại.
  9. Đếm số lượng vùng trắng độc lập đã được gắn nhãn (từ 1 đến 5 vùng tương ứng với 1 đến 5 ngón tay) và xuất mã điều khiển qua cổng COM.
  10. Giao diện người dùng (GUI) hiển thị trực quan 4 khu vực: Vùng hiển thị ảnh gốc và ảnh sau xử lý, Vùng đèn LED trạng thái mô phỏng, Vùng nút bấm chức năng điều khiển, và Vùng thông số truyền thông.

Thiết kế phần cứng và chế tạo mạch điều khiển

Phần cứng được thiết kế nguyên lý và layout mạch in (PCB 1 lớp) bằng phần mềm Proteus (ISIS và ARES), sau đó gia công khoan mạch, hàn lắp linh kiện chân cắm và đóng hộp bảo vệ.

STT Ký hiệu linh kiện Tên linh kiện / Thông số kỹ thuật Số lượng Vai trò trong mạch
1 U1 Vi điều khiển PIC16F887 (40 chân, DIP) 1 Xử lý dữ liệu UART, điều khiển xuất mức logic ra Port A
2 U2 IC giao tiếp MAX232 1 Chuyển đổi mức logic giữa chuẩn RS232 và TTL
3 U3 IC ổn áp LM7805 (TO-220) 1 Ổn định điện áp $5\text{V}/\text{1A}$ cung cấp cho toàn mạch
4 J2 Cổng kết nối COM DB-09 (chân cái) 1 Cổng nhận tín hiệu cáp nối tiếp từ máy tính
5 D1 – D5 Đèn LED siêu sáng (5mm, 2V) 5 Giả lập tải chấp hành hiển thị trạng thái ngõ ra
6 D6 Đèn LED báo nguồn 1 Báo trạng thái cấp nguồn hệ thống
7 D7 Diode chỉnh lưu 1A 1 Bảo vệ chống cắm ngược cực nguồn đầu vào
8 R1 – R5, R7 Điện trở hạn dòng $330,\Omega$ ($1/4\text{W}$) 6 Hạn dòng $10\text{mA}$ cho 5 LED tải và LED báo Reset
9 R3 Điện trở kéo $10,\text{k}\Omega$ ($1/4\text{W}$) 1 Mạch định thời nút nhấn Reset
10 C5, C6 Tụ hóa phân cực $1000,\mu\text{F} / 25\text{V}$ 2 San phẳng điện áp gợn sóng sau chỉnh lưu nguồn 9V DC
11 C7, C8 Tụ gốm $100,\text{nF}$ 4 Lọc nhiễu cao tần cho IC vi điều khiển và MAX232
12 BTN1 Nút nhấn vuông 4 chân 1 Nút tác động Reset toàn bộ hệ thống
  • Tính toán thông số mạch:
    • Điện trở hạn dòng LED: Với $V_{CC} = 5\text{V}$, $V_{LED} = 2\text{V}$, dòng định mức qua LED $I_{LED} = 10\text{mA}$: $$R = \frac{V_{CC} - V_{LED}}{I_{LED}} = \frac{5 - 2}{10 \times 10^{-3}} = 300,\Omega \longrightarrow \text{Chọn điện trở chuẩn } 330,\Omega$$
    • Khối nguồn: Tổng dòng tiêu thụ toàn mạch: $I_{\text{tổng}} = I_{\text{PIC}} + I_{\text{LED}} + I_{\text{MAX232}} = 300\text{mA} + (6 \times 10\text{mA}) + 10\text{mA} = 370\text{mA} < 1\text{A}$. Nguồn đầu vào 9V DC được lọc qua tụ hóa $1000,\mu\text{F}/25\text{V}$ (tính toán theo hệ số gợn sóng $K_{gs} = 5%$) và ổn định qua IC LM7805 ra điện áp chuẩn 5V.

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

Chương 1: Tổng quan

Chương 1 thiết lập cơ sở đặt vấn đề về xu hướng tương tác người – máy thông qua thị giác máy tính thay thế các giao thức nhập liệu thủ công. Tác giả xác định mục tiêu thiết kế và thi công hệ thống hoàn chỉnh nhận dạng cử chỉ ngón tay để điều khiển bật/tắt thiết bị ngoại vi thông qua cổng nối tiếp. Chương này công bố rõ các giới hạn kỹ thuật: nhận dạng 5 cử chỉ bàn tay trên nền màu xanh, xử lý ảnh tĩnh hoặc luồng video từ webcam độ phân giải 0.2MP ($640 \times 480$), yêu cầu bàn tay tách rời khuôn mặt và định hướng bố cục 6 chương của toàn bộ đồ án.

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

Chương 2 trình bày có hệ thống các khái niệm cốt lõi của kỹ thuật xử lý ảnh số:

  • Cấu trúc không gian màu RGB (24-bit) và ma trận biến đổi sang không gian màu YCbCr.
  • Đặc tính ảnh màu, ảnh xám (8-bit) và ảnh nhị phân (1-bit).
  • Nguyên lý toán tử mặt nạ $3 \times 3$, thuật toán lọc trung vị sắp xếp phần tử khử nhiễu muối tiêu.
  • Các phép toán hình thái học: co ảnh (loại bỏ phần nhô), giãn ảnh (lấp đầy khe hở), mở ảnh và trừ ảnh.
  • Kỹ thuật phân tách màu da người theo ngưỡng cố định trong không gian YCbCr ($Cb \in [77; 127]$, $Cr \in [133; 173]$).
  • Giới thiệu tổng quan các hướng tiếp cận nhận dạng cử chỉ (Mạng nơ-ron nhân tạo, SVM, Boosting và Cascade).
  • Trình bày sơ đồ khối hệ thống xử lý ảnh trên MATLAB và lưu đồ thuật toán phân đoạn bàn tay, tìm trọng tâm $(C_x, C_y)$, tính khoảng cách biên ngắn nhất và đếm số lượng ngón tay.

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

Chương 3 đi sâu vào thiết kế chi tiết phần cứng hệ thống:

  • Phân tích nguyên lý truyền thông nối tiếp RS232 không đồng bộ, cấu trúc khung truyền (Start, Data, Parity, Stop bit), sơ đồ chân cổng COM DB-09 và vai trò đảo mức logic của IC MAX232.
  • Kiến trúc vi điều khiển PIC16F887: cấu hình 35 chân I/O, quản lý dữ liệu qua thanh ghi hướng dữ liệu TRISA/TRISC và thanh ghi dữ liệu PORTA/PORTC.
  • Tính toán lựa chọn linh kiện: điện trở hạn dòng LED $330,\Omega$, mạch nút nhấn Reset với tụ $1,\mu\text{F}$ và trở $10,\text{k}\Omega$.
  • Tính toán khối nguồn: chọn tụ lọc chính $1000,\mu\text{F}/25\text{V}$, tụ chống nhiễu cao tần $100,\text{nF}$, diode chỉnh lưu bảo vệ D7 và IC ổn áp LM7805 cấp nguồn chuẩn 5V, đáp ứng tổng dòng tải $370\text{mA}$.
  • Bản vẽ sơ đồ nguyên lý tích hợp toàn bộ các khối chức năng.

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

Chương 4 mô tả toàn bộ quy trình chế tạo thực nghiệm:

  • Sử dụng gói phần mềm Proteus (ISIS mô phỏng hoạt động và ARES thiết kế mạch in PCB 1 lớp).
  • Lập bảng danh mục linh kiện chi tiết gồm 11 hạng mục.
  • Quy trình lắp ráp, hàn cắm chân linh kiện thực tế, đo kiểm thông mạch và chạm chập bằng đồng hồ VOM.
  • Hoàn thiện mô hình phần cứng thực tế và đóng gói bo mạch vào hộp bảo vệ chuyên dụng có tích hợp cổng COM DB-09, giắc nguồn DC, nút nhấn Reset và 5 LED hiển thị trạng thái ngõ ra.

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

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

  • Minh họa chi tiết kết quả từng bước trong chuỗi xử lý ảnh: ảnh gốc thu từ webcam $\rightarrow$ ảnh loại bỏ khuôn mặt $\rightarrow$ ảnh nhị phân tách màu da $\rightarrow$ ảnh cắt lọc giữ lại bàn tay $\rightarrow$ ảnh xác định trọng tâm và biên $\rightarrow$ ảnh sau phép mở (chỉ còn lòng bàn tay) $\rightarrow$ ảnh trừ và lọc nhiễu $\rightarrow$ nhận dạng thành công các cử chỉ từ 1 đến 5 ngón tay.
  • Khảo sát các yếu tố ảnh hưởng đến độ chính xác nhận dạng:
    • Khoảng cách: Đạt độ chính xác cao khi bàn tay cách webcam một khoảng vừa phải; quá xa làm mất nét chi tiết ngón tay, quá gần làm tràn khung hình.
    • Ánh sáng: Độ ổn định suy giảm khi thiếu sáng (nhiễu màu da) hoặc quá sáng (cháy sáng làm mất biên).
    • Góc chụp và độ mở ngón tay: Ngón tay phải mở rõ ràng; góc nghiêng bàn tay quá lớn dẫn đến co cụm vùng ngón tay.
    • Che khuất: Trường hợp bàn tay chạm hoặc che khuôn mặt sẽ dẫn đến xóa nhầm vùng bàn tay trong bước loại bỏ khuôn mặt.

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

Chương 6 tổng kết các kết quả đạt được về mặt lý thuyết và sản phẩm phần cứng, thừa nhận các giới hạn kỹ thuật còn tồn tại và vạch ra các hướng nâng cấp mở rộng hệ thống trong tương lai.


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

Kết quả chính của đề tài

  • Hoàn thiện chuỗi thuật toán xử lý ảnh: Xây dựng thành công thuật toán phân đoạn và nhận dạng cử chỉ bàn tay trên MATLAB 2013 dựa trên sự kết hợp giữa không gian màu YCbCr ($Cb \in [77; 127]$, $Cr \in [133; 173]$), công cụ xóa mặt Computer Vision Toolbox, phép mở hình thái học thích ứng theo khoảng cách trọng tâm $D$ và phép trừ ảnh lọc nhiễu diện tích nhỏ ($<10%$).
  • Nhận dạng chính xác 5 cử chỉ ngón tay: Hệ thống phân loại thành công 5 trạng thái cử chỉ (từ 1 đến 5 ngón tay mở) từ ảnh tĩnh và luồng video webcam độ phân giải $640 \times 480$.
  • Chế tạo thành công mạch điều khiển phần cứng: Thiết kế và thi công hoàn chỉnh bo mạch vi điều khiển PIC16F887 giao tiếp máy tính qua IC MAX232 và cổng COM DB-09, hoạt động ổn định với nguồn 5V/1A qua IC 7805, xuất tín hiệu điều khiển chính xác 5 LED đơn tương ứng với 5 cử chỉ bàn tay nhận diện được.
  • Xây dựng giao diện điều khiển (GUI): Thiết kế giao diện đồ họa trực quan trên MATLAB cho phép người dùng quan sát hình ảnh xử lý, trạng thái tín hiệu ngõ ra và giám sát thông số truyền thông nối tiếp.

Đóng góp thực tiễn và học thuật

  • Đề xuất giải pháp nhận dạng ngón tay dựa trên hình thái học và trọng tâm hình học đơn giản, không đòi hỏi cấu hình máy tính quá cao hoặc tập dữ liệu huấn luyện phức tạp như mạng nơ-ron hay SVM, phù hợp cho các bài toán xử lý thời gian thực trên hệ thống nhúng/máy tính phổ thông.
  • Cung cấp tài liệu thiết kế chi tiết từ tính toán lý thuyết mạch điện tử (nguồn, trở hạn dòng, định thời reset) đến thi công mạch in PCB thực tế và giao tiếp nối tiếp RS232 với máy tính.

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

Hạn chế được ghi nhận

  • Phụ thuộc vào phông nền và ánh sáng: Thuật toán chỉ đạt độ chính xác cao khi xử lý trên phông nền đơn sắc cố định (màu xanh) và môi trường có điều kiện chiếu sáng ổn định, đồng đều.
  • Ràng buộc về tư thế và góc chụp: Bàn tay phải hướng thẳng về camera với độ mở giữa các ngón tay đủ lớn; hệ thống chưa nhận diện được các góc nghiêng phức tạp hoặc ngón tay bị che khuất một phần.
  • Hạn chế trong xử lý khuôn mặt: Nếu bàn tay vô tình chạm hoặc nằm đè lên vùng khuôn mặt, giải pháp tô đen tự động sẽ vô tình xóa mất một phần bàn tay, dẫn đến nhận dạng sai số lượng ngón tay.
  • Độ phân giải thiết bị thu ảnh: Webcam sử dụng có độ phân giải thấp (0.2MP, video $640 \times 480$), ảnh dễ bị nhòe khi tay chuyển động nhanh.
  • Mô hình tải thử nghiệm: Hệ thống mới dừng lại ở mức điều khiển tải giả lập là 5 đèn LED đơn, chưa đấu nối trực tiếp với các thiết bị điện xoay chiều công suất lớn trong thực tế.

Hướng phát triển tiếp theo

  • Nâng cấp thuật toán để nhận dạng cử chỉ bàn tay trên các phông nền tự nhiên, phức tạp mà không cần phông nền xanh cố định.
  • Nghiên cứu nhận dạng cử chỉ động (dynamic gestures) theo chuỗi thời gian thay vì chỉ nhận dạng cử chỉ tĩnh (static gestures).
  • Tích hợp các thuật toán học máy nâng cao (như mạng nơ-ron tích chập CNN hoặc Haar-Cascade) để tự động nhận dạng và bám bắt bàn tay mà không bị phụ thuộc vào màu da và điều kiện ánh sáng.
  • Mở rộng phần cứng công suất, ghép nối relay hoặc mạch bán dẫn để điều khiển trực tiếp các thiết bị điện dân dụng, ứng dụng trong nhà thông minh (Smart Home) hoặc thiết bị trợ giúp người khuyết tật.

Giá trị tham khảo

Tài liệu đồ án này mang lại giá trị tham khảo kỹ thuật hữu ích cho:

  • Sinh viên các ngành: Công nghệ Kỹ thuật Điện tử – Truyền thông, Điện tử Công nghiệp, Kỹ thuật Điều khiển & Tự động hóa, Cơ điện tử 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 về đề tài thị giác máy tính và hệ thống nhúng.
  • Nội dung tham khảo giá trị:
    • Kỹ thuật xử lý ảnh trên MATLAB: Quy trình phân đoạn màu da YCbCr, kỹ thuật sử dụng phép mở và phép trừ ảnh để tách ngón tay, thuật toán tìm trọng tâm và tính khoảng cách thích ứng.
    • Thiết kế mạch vi điều khiển: Phương pháp tính toán thông số khối nguồn ổn áp 7805, mạch giao tiếp MAX232 chuẩn RS232 và lập trình xuất nhập trên các thanh ghi PORT/TRIS của vi điều khiển PIC16F887.

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

1. Hệ thống sử dụng không gian màu nào và dải ngưỡng cụ thể ra sao để phân tách màu da người?

Hệ thống sử dụng không gian màu YCbCr. Một điểm ảnh được phân loại là màu da khi thỏa mãn đồng thời hai điều kiện ngưỡng của thành phần sắc độ: giá trị $Cb \in [77; 127]$ và giá trị $Cr \in [133; 173]$.

2. Thuật toán phân biệt và đếm số lượng ngón tay được thực hiện bằng cách nào?

Sau khi trích xuất được vùng bàn tay, chương trình tính khoảng cách ngắn nhất từ trọng tâm $(C_x, C_y)$ đến đường biên để định cỡ phần tử cấu trúc. Sau đó, áp dụng phép mở ảnh (co ảnh rồi giãn ảnh) để loại bỏ hoàn toàn các ngón tay, chỉ giữ lại lòng bàn tay. Lấy ảnh bàn tay ban đầu trừ đi ảnh lòng bàn tay, chương trình thu được các vùng ngón tay độc lập. Sau khi lọc bỏ các điểm nhiễu có diện tích nhỏ hơn 10% tổng diện tích vùng trắng, chương trình đếm số vùng liên thông được gắn nhãn để kết luận số lượng ngón tay (từ 1 đến 5).

3. Tại sao hệ thống cần nhận diện và loại bỏ khuôn mặt trước khi phân tách màu da?

Do da mặt người cũng có đặc tính màu sắc nằm trong dải ngưỡng $[Cb, Cr]$ của màu da, nếu xuất hiện khuôn mặt trong khung hình thì quá trình lọc màu da sẽ giữ lại cả mặt và bàn tay. Việc tích hợp công cụ Computer Vision Toolbox trên MATLAB để phát hiện và tô đen khuôn mặt giúp hệ thống cô lập chính xác vùng bàn tay mà không bị nhầm lẫn diện tích.

4. Phần cứng mạch điều khiển sử dụng vi điều khiển nào và giao tiếp với máy tính qua chuẩn gì?

Mạch điều khiển sử dụng vi điều khiển trung tâm PIC16F887 (hãng Microchip) và IC chuyển đổi điện áp MAX232 (hãng Maxim). Hệ thống giao tiếp với máy tính qua cổng nối tiếp COM DB-09 theo chuẩn RS232/UART không đồng bộ.

5. Những yêu cầu bắt buộc đối với hình ảnh đầu vào để hệ thống nhận dạng chính xác là gì?

Ảnh đầu vào phải được thu nhận trên phông nền màu xanh, điều kiện chiếu sáng đầy đủ và không bị cháy sáng hay tối cục bộ, khoảng cách giữa bàn tay và webcam ở mức thích hợp, các ngón tay mở rõ ràng và bàn tay không được chạm hoặc che khuất khuôn mặt.


Kết luận

Đồ án tốt nghiệp "Điều khiển thiết bị bằng cử chỉ tay thông qua xử lý ảnh" của sinh viên Nguyễn Hữu Sáng và Từ Thị Kim Chi đã hoàn thành việc thiết kế và chế tạo một hệ thống tương tác người – máy hoàn chỉnh từ thuật toán phần mềm đến mạch điện tử chấp hành. Bằng việc kết hợp hiệu quả giữa lọc màu da YCbCr, các phép toán hình thái học co – giãn – trừ ảnh và vi điều khiển PIC16F887, hệ thống có khả năng nhận dạng chính xác 5 cử chỉ ngón tay để điều khiển bật/tắt 5 LED đơn theo thời gian thực. Mặc dù vẫn còn một số giới hạn về điều kiện chiếu sáng và yêu cầu phông nền màu xanh cố định, công trình đã xây dựng được một giải pháp kỹ thuật rõ ràng, có độ tin cậy thực nghiệm cao và đóng vai trò là tài liệu tham khảo giá trị cho các nghiên cứu ứng dụng xử lý ảnh trong điều khiển tự động.