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

Cảm biến (Sensor) là thiết bị chuyên dụng thực hiện chức năng cảm nhận và biến đổi các đại lượng vật lý hoặc các đại lượng không có tính chất điện cần đo thành các đại lượng điện có khả năng đo lường và xử lý được. Trong bối cảnh khoa học kỹ thuật phát triển, cảm biến được ứng dụng sâu rộng trong các lĩnh vực công nghiệp, xe hơi, dân dụng, y tế, văn phòng và giám sát môi trường. Trong nhóm cảm biến quang học – loại cảm biến vận hành dựa trên các đặc tính đặc trưng của ánh sáng như tính chất sóng và tính chất hạt – cảm biến vân tay là một nhánh ứng dụng quan trọng phục vụ công tác nhận dạng sinh trắc học.

Công nghệ nhận dạng vân tay được triển khai phổ biến trên các hệ thống khóa cửa điện tử, bảo mật máy tính xách tay, máy chấm công, thiết bị kiểm soát truy cập và phục vụ công tác giám định trong khoa học hình sự nhờ mức độ an toàn và tính tiện lợi cao. Mặc dù công nghệ này đã được nghiên cứu và chuẩn hóa trên thế giới từ rất sớm, tại Việt Nam việc nghiên cứu, làm chủ công nghệ và ứng dụng thực tiễn vẫn còn tương đối mới mẻ; phần lớn các thiết bị nhận dạng vân tay trên thị trường đều phải nhập khẩu với giá thành cao.

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

  1. Tổng quan lịch sử phát triển của công nghệ sinh trắc học vân tay, các tiêu chuẩn bảo mật và khảo sát các thiết bị quét vân tay thương mại.
  2. Nghiên cứu cơ sở lý thuyết toán học và quy trình xử lý ảnh vân tay: ước lượng trường định hướng, xác định điểm kỳ dị (Singularity) qua chỉ số Poincaré, nâng cao chất lượng ảnh bằng bộ lọc Gabor, nhị phân hóa với ngưỡng tự động, làm mảnh đường vân, lọc bỏ các điểm đặc trưng giả (Minutiae) và thuật toán đối sánh vân tay dựa trên biến đổi Hough.
  3. Thiết kế, tích hợp phần cứng và lập trình hệ thống nhận dạng vân tay thực nghiệm sử dụng vi điều khiển Arduino Uno R3 kết hợp với module cảm biến vân tay quang học JM-101 và màn hình hiển thị LCD 16x2 qua giao tiếp I2C.

Đối tượng nghiên cứu của đề tài là cấu trúc hình thái vân tay người (đường vân lồi, vân lõm, điểm tâm Core, tam phân điểm Delta, các điểm chi tiết Minutiae gồm điểm kết thúc Ridge Ending và điểm rẽ nhánh Bifurcation), các giải thuật xử lý ảnh số và module cảm biến quang học JM-101. Phạm vi nghiên cứu tập trung vào phương pháp trích chọn Minutiae từ ảnh vân tay nhị phân đã làm mảnh và triển khai mô hình phần cứng nhúng thử nghiệm trên nền tảng Arduino.


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

Cơ sở sinh học của nhận dạng vân tay dựa trên hai đặc tính cốt lõi: tính duy nhất và tính bất biến. Vân tay là các đường có dạng dòng chảy trên đầu ngón tay người, gồm các vân lồi (ridge - độ rộng từ $100,\mu\text{m}$ đến $300,\mu\text{m}$, thể hiện mức xám tối trên ảnh) và vân lõm (valley - thể hiện mức xám sáng). Độ rộng của một cặp vân lồi - vân lõm cạnh nhau xấp xỉ $500,\mu\text{m}$. Cấu trúc này không thay đổi trong suốt cuộc đời của mỗi cá nhân; các tổn thương nông như bỏng nhẹ hay mòn da khi hồi phục vẫn tái tạo chính xác cấu trúc vân ban đầu. Xác suất để hai cá nhân có cùng một bộ dấu vân tay là 1 trên 64 tỷ.

Hệ thống nhận dạng được phân định thành hai cơ chế hoạt động:

  • Xác nhận (Verification - đối sánh 1:1): Đối chiếu dấu vân tay thu nhận từ cảm biến với mẫu vân tay duy nhất của người dùng đã được đăng ký trong cơ sở dữ liệu để xác thực danh tính.
  • Nhận diện (Identification - đối sánh 1:m): So sánh mẫu vân tay thu nhận với toàn bộ cơ sở dữ liệu mẫu để tìm kiếm danh tính tương ứng.

Hiệu năng của hệ thống nhận dạng được lượng hóa thông qua hai chỉ số sai số cơ bản phụ thuộc vào giá trị ngưỡng đối sánh $T$:

  • Tỷ lệ từ chối nhầm (False Reject Rate - FRR).
  • Tỷ lệ chấp nhận nhầm (False Accept Rate - FAR).
  • Tỷ lệ lỗi cực tiểu: $\text{SUM}{\min} = (\text{FAR} + \text{FRR}){\min}$.
  • Mức độ lỗi cân bằng (Equal Error Rate - EER): Điểm mà tại đó $\text{FAR} = \text{FRR}$.

Phương pháp nghiên cứu thực hiện qua chuỗi giải thuật xử lý ảnh số và thiết kế hệ thống nhúng:

  • Khảo sát trường định hướng (Orientation Field): Tính toán vector Gradient $[G_x(x_i, y_j), G_y(x_i, y_j)]$ tại từng điểm ảnh qua mặt nạ Sobel trong cửa sổ $17 \times 17$ theo mô hình của Ratha, Chen và Jain (1995) để xác định góc định hướng $\theta_{ij} \in [0^\circ, 180^\circ]$ và hệ số tin cậy $r_{ij}$.
  • Xác định điểm Singularity: Ứng dụng chỉ số Poincaré Index trên đường cong số khép kín $C$ với số điểm lân cận $N_p = 8$ dựa trên công thức sai lệch góc:

$$d(k) = \theta(x_{k+1}, y_{k+1}) - \theta(x_k, y_k)$$

  • Tăng cường chất lượng ảnh bằng bộ lọc Gabor 2D: Chuẩn hóa mức xám của ảnh đầu vào về giá trị kỳ vọng $m_0 = 100$ và phương sai $v_0 = 100$. Sử dụng bộ lọc Gabor đối xứng hai chiều theo nghiên cứu của Hong, Wan và Jain (1998) với các tham số hướng $\theta$, tần suất vân $f \in {1/5, 1/7, 1/9}$, độ lệch chuẩn Gauss $\sigma_x = \sigma_y = 4$, kết hợp phép biến đổi Fourier nhanh (FFT) và Fourier ngược (IFFT) trên từng khối $W \times W$.
  • Nhị phân hóa và làm mảnh (Thinning): Áp dụng thuật toán thay ngưỡng tự động tìm giá trị cực đại của hàm mục tiêu $f(\theta) = \max f(g)$, sau đó rút gọn độ dày của đường vân về 1 pixel (ảnh xương).
  • Trích chọn điểm Minutiae: Xác định các điểm đặc trưng dựa trên hệ số lân cận Crossing Number $cn(p)$ của điểm ảnh $p$ trên lưới 8 điểm lân cận $p_0, p_1, \dots, p_7$:

$$cn(p) = \frac{1}{2} \sum_{i=0}^{7} |\text{val}(p_{i+1}) - \text{val}(p_i)| \quad (\text{với } p_8 = p_0)$$

Trong đó: $cn(p) = 1$ tương ứng điểm kết thúc (Ridge Ending), $cn(p) = 2$ tương ứng điểm vân trung gian, $cn(p) \ge 3$ tương ứng điểm rẽ nhánh (Bifurcation).

  • Lọc bỏ Minutiae lỗi: Ứng dụng các quy tắc topo và hình học cấu trúc của Xiao (1991) và Farina, Kovacs-Vajina, Leone (1999) để loại bỏ cầu nối sai, các đoạn vân quá ngắn và điểm rẽ nhánh không thỏa mãn cấu trúc hình học.
  • Đối sánh điểm đặc trưng bằng biến đổi Hough: Tìm không gian tham số 4 chiều biến đổi tối ưu $(\Delta x^, \Delta y^, \theta^, s^) = \arg\max A[\Delta x^+, \Delta y^+, \theta^+, s^+]$. Một cặp điểm đặc trưng $m_j'$ và $m_i$ được coi là so khớp nếu thỏa mãn đồng thời khoảng cách không gian $sd(m_j', m_i) \le r_0$ và sai lệch hướng:

$$dd(m_j', m_i) = \min(|\theta_j' - \theta_i|, 360^\circ - |\theta_j' - \theta_i|) \le \theta_0$$


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

CHƯƠNG I: GIỚI THIỆU CHUNG

Chương này tổng kết lịch sử hình thành và phát triển của công nghệ nhận dạng vân tay từ thời cổ đại (Babylon, Trung Quốc) đến khi Francis Galton đặt nền móng khoa học vào thế kỷ 19. Năm 1924, FBI bắt đầu lưu trữ hồ sơ vân tay; đầu thế kỷ 20 xuất hiện kỹ thuật Live-Scan thu nhận ảnh không cần mực in, phục vụ tích hợp vào hệ thống nhận dạng tự động IAFIS.

Năm 1968, công nghệ được thương mại hóa chính thức tại Phố Wall. Tác giả phân tích các phương thức sinh trắc học (vật lý: vân tay, khuôn mặt, mống mắt, tĩnh mạch; hành vi: chữ ký, giọng nói, dáng đi, lực gõ phím), ứng dụng TouchID và vai trò trong khóa cửa điện tử, chấm công, phát hiện bệnh lý di truyền qua vân da. Đồ án chỉ ra rằng trong thực tế, các yếu tố môi trường và nhiễu có thể làm tăng sai số nhận dạng lên đến 10% nếu thiếu các biện pháp kỹ thuật xử lý phù hợp.

CHƯƠNG II: NHẬN DẠNG VÂN TAY

Chương II trình bày cấu trúc chi tiết của hệ thống nhận dạng (Verification và Identification), nguyên lý truyền tia gần hồng ngoại (NIR) kết hợp cảm biến CCD của công nghệ Hitachi (xử lý dưới 2 giây, lưu trữ 6.000 mẫu vân tay). Chương cũng tổng hợp các dòng thiết bị chụp vân tay thương mại tiêu biểu:

STT Tên thiết bị chụp vân tay thương mại
1 Biometrika FX2000
2 Digital Persona UareU2000
3 Identix DFR200
4 Ethentica TactilSense T-FPM
5 STMicroelectronics TouchChip TCS1AD
6 Veridicom FPS110
7 Atmel FingerChip AT77C101B
8 Authentec AES4000

Chương đi sâu vào phương pháp phân loại Henry, kỹ thuật ước lượng trường định hướng lưới $16 \times 16$, giải thuật Poincaré xác định Core và Delta, hai phương pháp trích chọn Minutiae (từ ảnh nhị phân và dò đường vân trực tiếp từ ảnh xám), quy trình lọc Gabor xử lý 10% ảnh vân tay chất lượng thấp, thuật toán nhị phân hóa thay ngưỡng tự động, kỹ thuật lọc Minutiae giả và giải thuật đối sánh Hough 4 chiều.

CHƯƠNG III: THIẾT KẾ CẢM BIẾN NHẬN DẠNG VÂN TAY

Nội dung chương tập trung vào việc lựa chọn linh kiện, tìm hiểu môi trường Arduino IDE và thiết kế mạch phần cứng thực nghiệm. Hệ thống bao gồm vi điều khiển Arduino Uno R3, module I2C kết hợp màn hình LCD 1602 và module cảm biến quang học JM-101. Tác giả phân tích cấu trúc bộ nhớ, thông số chân, chức năng các thanh ghi điều khiển LCD và cấu trúc lệnh nạp mã nguồn.

CHƯƠNG IV: KẾT LUẬN

Tổng kết các nội dung đã thực hiện: hoàn thiện khung lý thuyết xử lý ảnh và triển khai mô hình phần cứng thực nghiệm. Đồ án đề cập đến cấu trúc hàm điều khiển chính GDNDVT và đưa ra định hướng phát triển, hoàn thiện hệ thống trong các giai đoạn nghiên cứu tiếp theo.


Thiết kế và triển khai

Hệ thống nhận dạng vân tay được thiết kế dưới dạng module nhúng điều khiển biên độ nhỏ gọn. Phần cứng bao gồm các khối linh kiện chính với thông số kỹ thuật được tổng hợp trong bảng sau:

Thiết bị / Module Thông số kỹ thuật chi tiết
Arduino Uno R3 - Vi điều khiển: ATmega328P, xung nhịp 16 MHz.
- Điện áp hoạt động: 5V (điện áp vào khuyên dùng 7–12V, giới hạn 6–20V).
- Số chân I/O: 14 chân Digital (gồm 6 chân PWM), 6 chân Analog (A0–A5).
- Dòng ra trên mỗi chân I/O: 20 mA; dòng ra trên chân 3.3V: 50 mA.
- Bộ nhớ: Flash 32 KB (0.5 KB cho bootloader), SRAM 2 KB, EEPROM 1 KB.
- Kích thước: $68.6 \times 53.4,\text{mm}$; Trọng lượng: 25 g.
Màn hình LCD 1602 - Cấu hình: Hiển thị 2 dòng, mỗi dòng 16 ký tự; hỗ trợ giao tiếp 4-bit / 8-bit.
- Điện áp hoạt động ổn định: 2.5V – 5V (Max 7V, Min -0.3V).
- Mức logic ra: Mức cao $> 2.4\text{V}$, mức thấp $< 0.4\text{V}$; Dòng cấp nguồn: $350,\mu\text{A} - 600,\mu\text{A}$.
- Nhiệt độ làm việc: $-30^\circ\text{C}$ đến $+75^\circ\text{C}$.
- Chân chức năng: VSS, VDD, VE, RS, R/W, E, D0–D7, A (Anode đèn nền), K (Cathode đèn nền).
Module I2C LCD - Driver hỗ trợ: HD44780 (cho các loại LCD 16x2, LCD 20x4).
- Giao diện kết nối: Tiết kiệm chân vi điều khiển, chỉ sử dụng 2 dây tín hiệu (SDA, SCL).
- Địa chỉ bus mặc định: 0x27 (tùy biến qua các mối nối A0, A1, A2).
- Tích hợp jumper cấp nguồn đèn nền và chiết áp tinh chỉnh độ tương phản.
Module vân tay JM-101 - Loại cảm biến: Cảm biến vân tay quang học.
- Điện áp cung cấp: DC 3.3V; Dòng điện làm việc: $< 60,\text{mA}$; Dòng đỉnh: $< 70,\text{mA}$.
- Thời gian nhập ảnh vân tay: $< 1,\text{giây}$.
- Kích thước cửa sổ quét: $15.3 \times 18.2,\text{mm}$; Độ phân giải: 500 dpi.
- Sơ đồ nối dây (Pinout): VCC (dây tím), TXD (dây cam), RXD (dây vàng/trắng), GND (dây xanh dương).

Về mặt phần mềm, hệ thống sử dụng môi trường Arduino IDE để biên dịch và nạp mã điều khiển xuống chip ATmega328P. Chương trình thực thi quản lý tiến trình thu nhận dữ liệu ảnh từ JM-101 qua giao tiếp UART nối tiếp, xử lý tín hiệu và hiển thị trạng thái làm việc trực tiếp lên màn hình LCD 16x2 thông qua module I2C với hàm điều khiển trung tâm mang tên GDNDVT.


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

  • Kết quả chính:
    • Hệ thống hóa toàn bộ cơ sở lý thuyết về sinh trắc học vân tay, làm rõ cơ chế toán học của các chỉ số đánh giá hệ thống (FAR, FRR, EER, $\text{SUM}_{\min}$).
    • Thiết lập đầy đủ quy trình thuật toán xử lý ảnh chuyên dụng: ước lượng trường định hướng theo gradient Sobel $17 \times 17$, tính chỉ số Poincaré để khoanh vùng điểm kỳ dị, ứng dụng bộ lọc 2D Gabor miền tần số để tăng cường độ tương phản cho 10% ảnh chất lượng kém, nhị phân hóa thay ngưỡng tự động, làm mảnh đường vân và trích xuất điểm Minutiae dựa trên chỉ số $cn(p)$.
    • Xây dựng giải thuật lọc bỏ các cấu trúc Minutiae sai lệch dựa trên quy tắc topo và giải thuật đối sánh mẫu vân tay bằng biến đổi Hough 4 chiều $(\Delta x, \Delta y, \theta, s)$ với hộp dung sai $(r_0, \theta_0)$.
    • Hiện thực hóa thành công mô hình phần cứng nhúng tích hợp vi điều khiển Arduino Uno R3, cảm biến quang học JM-101 (500 dpi, thu nhận ảnh $<1,\text{giây}$) và module hiển thị LCD 1602 qua I2C.
  • Đóng góp của đề tài:
    • Đề xuất một mô hình phần cứng nhận dạng vân tay có cấu hình gọn nhẹ, chi phí thấp, tận dụng linh kiện phổ biến nhằm đáp ứng nhu cầu ứng dụng công nghệ bảo mật sinh trắc học tại Việt Nam.
    • Phân tích và lựa chọn phương pháp trích chọn Minutiae từ ảnh nhị phân kết hợp đối sánh Hough, giúp cân bằng giữa độ chính xác nhận dạng và khả năng đáp ứng tính toán trên các nền tảng phần cứng giới hạn tài nguyên.

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

  • Hạn chế:
    • Do điều kiện hoàn cảnh và năng lực xử lý phần cứng, nhóm nghiên cứu tập trung vào phương pháp trích chọn điểm Minutiae cục bộ từ ảnh nhị phân thay vì đối sánh toàn bộ đặc tính diện rộng của vân tay (phương pháp đòi hỏi khối lượng tính toán lớn).
    • Đối với các vùng vân tay bị phá hủy quá nặng (vùng không thể phục hồi), thuật toán tăng cường ảnh chưa thể tái tạo hoàn toàn cấu trúc vân.
    • Bộ nhớ SRAM (2 KB) và Flash (32 KB) của vi điều khiển ATmega328P giới hạn khả năng lưu trữ cơ sở dữ liệu mẫu vân tay trực tiếp quy mô lớn trên board nhúng.
  • Hướng nghiên cứu tiếp:
    • Tối ưu hóa thuật toán và hoàn thiện cấu trúc hàm điều khiển chính GDNDVT nhằm nâng cao tốc độ xử lý và cải thiện giao diện tương tác người dùng.
    • Nâng cấp bộ vi xử lý trung tâm và mở rộng dung lượng bộ nhớ để quản lý cơ sở dữ liệu nhận diện 1:m với số lượng mẫu lớn hơn.
    • Thử nghiệm tích hợp các thuật toán trích chọn Minutiae trực tiếp từ ảnh xám và ứng dụng mạng nơ-ron trên các vi xử lý chuyên dụng.

Giá trị tham khảo

Tài liệu là nguồn tham khảo hữu ích cho sinh viên, giảng viên và kỹ sư nghiên cứu thuộc các chuyên ngành Kỹ thuật Điện - Điện tử, Kỹ thuật Máy tính, Tự động hóa, Hệ thống Nhúng và Công nghệ Thông tin.

Các phần có giá trị tham khảo chuyên môn cao bao gồm:

  • Toàn bộ cơ sở toán học và giải thuật xử lý ảnh sinh trắc học tại Chương II: công thức bộ lọc Gabor, phương pháp Poincaré xác định điểm Singularity, công thức Crossing Number $cn(p)$ và không gian biến đổi Hough.
  • Chi tiết thiết kế ghép nối phần cứng tại Chương III: sơ đồ chân kết nối UART của module cảm biến quang học JM-101, phương thức điều khiển bus I2C với màn hình LCD 1602 trên nền vi điều khiển ATmega328P.

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

1. Điểm Singularity và điểm Minutiae trên ảnh vân tay khác nhau như thế nào và được xác định bằng phương pháp gì?

Điểm Singularity là các vùng có cấu trúc định hướng khác thường trên vân tay (gồm điểm tâm Core và tam phân điểm Delta), được xác định thông qua chỉ số Poincaré Index ($N_p = 8$) trên đường cong số khép kín. Điểm Minutiae là các điểm đặc trưng cục bộ khi dò theo từng đường vân (gồm điểm kết thúc Ridge Ending và điểm rẽ nhánh Bifurcation), được trích xuất dựa trên hệ số lân cận Crossing Number $cn(p)$ trên ảnh nhị phân đã làm mảnh hoặc bằng phương pháp dò đường cực đại trực tiếp trên ảnh xám.

2. Bộ lọc Gabor nâng cao chất lượng ảnh vân tay dựa trên nguyên lý nào và sử dụng các tham số gì?

Bộ lọc Gabor đối xứng 2 chiều có đặc tính chọn tần số và chọn hướng trong cả miền không gian lẫn miền tần số. Thuật toán chuẩn hóa ảnh xám về kỳ vọng $m_0 = 100$ và phương sai $v_0 = 100$, sau đó áp dụng bộ lọc Gabor trong miền tần số (thông qua FFT/IFFT) trên từng khối $W \times W$ với 4 tham số: hướng vân cục bộ $\theta$, tần suất vân $f$ (ước lượng $1/5, 1/7, 1/9$), và độ lệch chuẩn Gauss $\sigma_x = \sigma_y = 4$.

3. Thuật toán Crossing Number ($cn(p)$) phân loại các điểm đặc trưng trên ảnh xương vân tay như thế nào?

Hệ số $cn(p)$ được tính bằng một nửa tổng sai khác tuyệt đối giữa 8 điểm ảnh láng giềng liên tiếp xung quanh điểm ảnh $p$. Điểm $p$ được xác định là:

  • Điểm vân trung gian khi $cn(p) = 2$.
  • Điểm kết thúc (Ridge Ending) khi $cn(p) = 1$.
  • Điểm rẽ nhánh (Bifurcation) hoặc điểm giao cắt phức tạp khi $cn(p) \ge 3$.

4. Thuật toán biến đổi Hough được triển khai như thế nào trong khâu đối sánh vân tay?

Thuật toán Hough ánh xạ tập điểm đặc trưng của hai ảnh vân tay vào không gian biến đổi 4 chiều $(\Delta x, \Delta y, \theta, s)$ đại diện cho độ tịnh tiến theo trục $x$, trục $y$, góc quay và độ giãn nở của vân. Giá trị biến đổi tối ưu $(\Delta x^, \Delta y^, \theta^, s^)$ là điểm cực đại của ma trận tích lũy $A$, từ đó tiến hành đối sánh từng cặp điểm đặc trưng theo hộp dung sai khoảng cách không gian $r_0$ và sai lệch góc hướng $\theta_0$.

5. Module cảm biến vân tay quang học JM-101 có các thông số kỹ thuật và sơ đồ kết nối ra sao?

Module JM-101 hoạt động ở điện áp DC 3.3V, dòng làm việc $<60,\text{mA}$ (dòng đỉnh $<70,\text{mA}$), thời gian quét ảnh $<1,\text{giây}$, kích thước cửa sổ $15.3 \times 18.2,\text{mm}$ và độ phân giải 500 dpi. Module sử dụng giao tiếp UART với 4 dây nối: VCC (màu tím), TXD (màu cam), RXD (màu vàng/trắng) và GND (màu xanh dương).


Kết luận

Đồ án đã khảo cứu toàn diện cơ sở lý thuyết sinh trắc học vân tay, phân tích các chỉ số đánh giá độ tin cậy hệ thống và chi tiết hóa quy trình giải thuật xử lý ảnh từ nâng cao chất lượng bằng bộ lọc Gabor đến đối sánh điểm đặc trưng bằng biến đổi Hough. Trên cơ sở đó, nhóm nghiên cứu đã thiết kế và chế tạo thành công mô hình phần cứng nhúng thực nghiệm sử dụng vi điều khiển Arduino Uno R3, cảm biến vân tay quang học JM-101 độ phân giải 500 dpi và màn hình hiển thị LCD 1602 qua giao tiếp I2C. Công trình mang lại giải pháp kỹ thuật có tính ứng dụng thực tế cao, chi phí thấp, làm tiền đề cho việc phát triển các hệ thống kiểm soát an ninh sinh trắc học hoàn chỉnh.