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

Trong bảo đảm an toàn và an ninh thông tin, việc xác thực danh tính người dùng đóng vai trò then chốt. Các phương thức truyền thống dựa trên vật sở hữu (thẻ từ, chìa khóa, con dấu) hoặc mã định danh bí mật (mật khẩu, mã PIN) bộc lộ nhiều nhược điểm cố hữu như nguy cơ thất lạc, bị đánh cắp, sao chép trái phép hoặc người dùng quên mã. Để khắc phục các hạn chế này, công nghệ sinh trắc học dựa trên các đặc trưng sinh lý và hành vi tự nhiên của con người đã được tích hợp vào công nghệ thông tin nhằm nâng cao độ an toàn và độ tin cậy trong xác thực.

So với các đặc trưng sinh học phổ biến khác, mống mắt người sở hữu những ưu thế vượt trội:

  • Nhận dạng giọng nói chịu ảnh hưởng lớn từ tình trạng sức khỏe người nói và tạp âm môi trường.
  • Nhận dạng khuôn mặt dễ bị tác động bởi sự thay đổi của ánh sáng, góc chụp, biểu cảm, độ tuổi và kỹ thuật hóa trang.
  • Nhận dạng chữ ký có độ biến thiên cao ngay trên cùng một chủ thể qua các lần ký.
  • Nhận dạng vân tay đòi hỏi bề mặt tiếp xúc trực tiếp, dễ gây bám bẩn thiết bị cảm biến và giảm tuổi thọ phần cứng theo thời gian.
  • Mống mắt người là màng tròn nằm giữa giác mạc và thủy tinh thể, hình thành từ tháng thứ 3 của thai kỳ và hoàn thiện cấu trúc hoa văn phức tạp, ngẫu nhiên trong năm đầu đời. Đặc trưng này hoàn toàn bất biến theo thời gian, độc lập giữa hai mắt của cùng một cá nhân và khác biệt ngay cả ở các cặp sinh đôi cùng trứng, khiến mống mắt trở thành phương thức sinh trắc học có độ chính xác và tin cậy hàng đầu.

Đồ án tốt nghiệp "Nhận dạng mống mắt người" của tác giả Nguyễn Viết Hải và Lê Hồng Hải (ngành Công nghệ Kỹ thuật Điện - Điện tử, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh, dưới sự hướng dẫn của ThS. Nguyễn Duy Thảo) tập trung vào các mục tiêu và nhiệm vụ sau:

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

  1. Tìm hiểu tổng quan về lĩnh vực xác thực danh tính dựa trên nhân tố sinh trắc học.
  2. Phân tích các đặc trưng hình thái của mống mắt và nghiên cứu các giải thuật xử lý ảnh mống mắt phục vụ bài toán xác thực.
  3. Xây dựng hệ thống nhận dạng mống mắt từ ảnh tĩnh đầu vào trên môi trường máy tính, sau đó nhúng dữ liệu kết quả xuống kit vi điều khiển Arduino Uno R3 để điều khiển cơ cấu hiển thị LED tương ứng.
  4. Đánh giá độ chính xác, hiệu năng thực nghiệm và xác định các hạn chế kỹ thuật của hệ thống.

Nhiệm vụ và nội dung nghiên cứu:

  1. Nội dung 1: Tìm hiểu kiến trúc phần cứng kit vi điều khiển Arduino Uno R3.
  2. Nội dung 2: Cài đặt gói thư viện phần cứng hỗ trợ Arduino trên môi trường phần mềm MATLAB.
  3. Nội dung 3: Nghiên cứu các giải thuật phân đoạn, chuẩn hóa và trích xuất đặc trưng mống mắt (biến đổi Hough, mô hình tấm cao su Daugman, bộ lọc 2D Gabor, khoảng cách Hamming).
  4. Nội dung 4: Xây dựng quy trình xử lý dữ liệu và tạo cơ sở dữ liệu huấn luyện mống mắt lưu trữ dưới dạng tệp dữ liệu số.
  5. Nội dung 5: Thiết kế và thi công hệ thống nhận dạng mống mắt hoàn chỉnh kết nối giữa phần mềm và phần cứng.
  6. Nội dung 6: Thử nghiệm, đo lường và thống kê đánh giá kết quả thực hiện.

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

  • Đối tượng nghiên cứu: Cấu trúc ảnh mống mắt người, thuật toán trích xuất mẫu bit đặc trưng mống mắt và kỹ thuật giao tiếp điều khiển phần cứng.
  • Phạm vi thời gian: Đề tài được giao ngày 11/03/2017 và hoàn thành bảo vệ ngày 20/07/2017.
  • Phạm vi kỹ thuật và dữ liệu: Hệ thống xử lý ảnh dựa trên phần mềm tính toán khoa học MATLAB R2014b chạy trên máy tính cá nhân, kết nối với board mạch vi điều khiển Arduino Uno R3 qua giao tiếp USB-to-UART. Cơ sở dữ liệu thử nghiệm gồm bộ ảnh chuẩn quốc tế CASIA Iris Image Database (phiên bản 1.0) và tập ảnh chụp thực tế bằng điện thoại thông minh.

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

Khung lý thuyết và mô hình giải thuật

Nghiên cứu ứng dụng mô hình sinh trắc học mống mắt kinh điển kết hợp giữa lý thuyết quang học mắt và các thuật toán thị giác máy tính:

  1. Mô hình hình thái học mống mắt: Mống mắt là cấu trúc cơ học điều chỉnh lượng ánh sáng đi vào mắt qua đồng tử. Đường kính trung bình của mống mắt đạt 12 mm, kích thước đồng tử dao động từ 10% đến 80% đường kính mống mắt tùy thuộc vào cường độ chiếu sáng. Cấu trúc mô học gồm lớp biểu mô chứa sắc tố melanin và lớp chất nền chứa mạch máu, tế bào sợi và hệ thống cơ co giãn.
  2. Định vị và phân đoạn mống mắt (Iris Localization): Sử dụng phép biến đổi đường tròn Hough (Circular Hough Transform) dựa trên toán tử đạo hàm gradient và lọc làm mịn Gauss $G(x,y)$ để dò tìm tâm tọa độ $(x_c, y_c)$ và bán kính $r$ của đường biên trong (ranh giới đồng tử - mống mắt) và đường biên ngoài (ranh giới mống mắt - củng mạc). Để loại bỏ ảnh hưởng của mí mắt, tác giả áp dụng đạo hàm theo phương ngang kết hợp phép biến đổi Hough dạng Parabol (Parabolic Hough Transform) của Wildes, Kong và Zhang để phát hiện đường cong mí trên và mí dưới.
  3. Chuển đổi và chuẩn hóa hình học (Iris Normalization): Áp dụng mô hình tấm cao su đồng nhất của Daugman (Daugman's Rubber Sheet Model). Thuật toán chuyển đổi toàn bộ vùng mống mắt hình vành khăn từ hệ tọa độ Descartes $(x,y)$ sang hệ tọa độ cực không đồng tâm chuẩn hóa $(r, \theta)$ với $r \in [0, 1]$ và $\theta \in [0, 2\pi]$: $$I(x(r, \theta), y(r, \theta)) \rightarrow I(r, \theta)$$ Trong đó: $$x(r, \theta) = (1 - r)x_p(\theta) + rx_t(\theta)$$ $$y(r, \theta) = (1 - r)y_p(\theta) + ry_t(\theta)$$ với $(x_p, y_p)$ và $(x_t, y_t)$ lần lượt là tọa độ đường biên đồng tử và ranh giới ngoài của mống mắt. Ma trận điểm ảnh sau chuẩn hóa được nội suy song tuyến tính (bilinear interpolation) về kích thước cố định $100 \times 420$ pixel.
  4. Trích xuất đặc trưng (Feature Extraction): Sử dụng bộ lọc Gabor hai chiều (2D Gabor Filter) dạng cặp cầu phương, gồm thành phần đối xứng chẵn (hàm cosine điều biến Gauss) và thành phần đối xứng lẻ (hàm sine điều biến Gauss). Tác giả lượng tử hóa thông tin pha của tín hiệu mống mắt thành 4 góc phần tư trên mặt phẳng phức bằng 2 bit dữ liệu cho mỗi điểm ảnh, tạo thành một vector mẫu nhị phân (template) kích thước 2048 bit (256 byte), đồng thời tạo mặt nạ bit (mask) để che đi các vùng ảnh bị che khuất bởi mí mắt hoặc lông mi.
  5. So khớp đặc trưng (Feature Matching): Sử dụng đại lượng khoảng cách Hamming (Hamming Distance - HD) để đo lường tỷ lệ các bit sai khác giữa hai mẫu mống mắt nhị phân $X$ và $Y$: $$HD = \frac{1}{N} \sum_{j=1}^{N} X_j \oplus Y_j$$ Nếu hai mẫu trích xuất từ cùng một mống mắt, khoảng cách Hamming lý thuyết tiến về $0.0$; nếu hai mẫu thuộc hai mống mắt độc lập, xác suất trùng khớp ngẫu nhiên là 0.5 dẫn đến khoảng cách Hamming tiến về $0.5$.

Phương pháp nghiên cứu và thực nghiệm

Tác giả sử dụng phương pháp thực nghiệm kỹ thuật kết hợp phân tích định lượng:

  • Xây dựng chương trình xử lý trên MATLAB với các hàm chuyên dụng: rgb2gray (chuyển đổi thang xám), imresize (chuẩn hóa kích thước), imread/imwrite (đọc/ghi ma trận ảnh), zeros, size, strcat, strcmp, dir, min.
  • Thiết lập ngưỡng quyết định nhận dạng nhị phân: mẫu thử nghiệm được coi là trùng khớp với cơ sở dữ liệu khi khoảng cách Hamming đạt giá trị $HD < 0.4$.

Nguồn dữ liệu

Nghiên cứu sử dụng hai tập dữ liệu ảnh mống mắt để kiểm thử:

  • Bộ dữ liệu chuẩn CASIA (CASIA Iris Image Database version 1.0): Do Viện Hàn lâm Khoa học Trung Quốc cung cấp, gồm 70 ảnh chụp mống mắt từ 10 người (mỗi người 7 ảnh) trong điều kiện chiếu sáng và khoảng cách chụp tiêu chuẩn.
  • Bộ dữ liệu chụp thực tế: Gồm 20 ảnh mống mắt thu thập từ 4 cá nhân (mỗi người 5 ảnh), chụp trực tiếp bằng camera điện thoại Samsung Galaxy J7 Prime độ phân giải 13 megapixel ở cự ly cố định.

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình phối hợp xử lý giữa máy tính trung tâm và phần cứng điều khiển nhúng:

[Khối thu nhận ảnh] -> [Khối tiền xử lý & Trích xuất đặc trưng] -> [Khối so khớp CSDL (.mat)] -> [MATLAB Engine] -> [Giao tiếp USB/UART] -> [Kit Arduino Uno R3] -> [Khối hiển thị LED]

Thiết kế phần cứng và cấu hình board mạch

Trung tâm điều khiển phần cứng sử dụng kit vi điều khiển mã nguồn mở Arduino Uno R3 kết nối trực tiếp với máy tính tính toán qua cổng giao tiếp nối tiếp:

Thông số kỹ thuật Giá trị chi tiết
Vi điều khiển trung tâm Microchip ATmega328P họ 8-bit
Tần số dao động thạch anh 16 MHz
Điện áp hoạt động 5 V DC
Điện áp nguồn đầu vào (khuyên dùng) 7 – 12 V DC
Giới hạn điện áp nguồn đầu vào 6 – 20 V DC
Bộ nhớ Flash 32 KB (trong đó 0.5 KB dành cho Bootloader)
Bộ nhớ SRAM 2 KB
Bộ nhớ EEPROM 1 KB
Số chân Digital I/O 14 chân (trong đó có 6 chân hỗ trợ PWM)
Số kênh ngõ vào Analog (ADC) 6 chân (A0 – A5, độ phân giải 10-bit)
Dòng điện cực đại trên mỗi chân I/O 20 mA (tối đa 30 mA)
Chip chuyển đổi giao tiếp USB-to-UART ATmega16U2 (tạo cổng COM ảo kết nối PC)
Kích thước và trọng lượng Chiều dài 68.4 mm, trọng lượng 25 g

Mạch chấp hành gồm hai đèn LED hiển thị trạng thái được nối trực tiếp vào các chân Digital I/O của board Arduino:

  • Chân số 11 điều khiển đèn LED màu xanh lá (báo trạng thái nhận dạng thành công, mống mắt có trong cơ sở dữ liệu).
  • Chân số 12 điều khiển đèn LED màu đỏ (báo trạng thái nhận dạng không thành công, mống mắt không tồn tại trong cơ sở dữ liệu).

Thiết kế phần mềm và cấu trúc luồng dữ liệu

Phần mềm hệ thống được phát triển trên môi trường MATLAB R2014b thông qua gói hỗ trợ phần cứng MATLAB Support Package for Arduino Hardware. Tiến trình xử lý gồm hai phân hệ chính:

  1. Phân hệ huấn luyện và tạo cơ sở dữ liệu (Enrollment Phase):

    • Chương trình đọc tuần tự các tệp ảnh mống mắt trong thư mục chỉ định bằng vòng lặp for.
    • Tiền xử lý ma trận ảnh: chuyển đổi ảnh màu RGB sang không gian mức xám (rgb2gray), chuẩn hóa kích thước (imresize).
    • Phân đoạn xác định đường tròn đồng tử và mống mắt bằng biến đổi Hough.
    • Chuẩn hóa tọa độ cực theo mô hình Daugman và áp dụng bộ lọc 2D Gabor để mã hóa thông tin pha thành các chuỗi nhị phân đặc trưng.
    • Toàn bộ vector đặc trưng template và mặt nạ mask của các cá nhân được đóng gói và lưu trữ vào tệp dữ liệu iris_database.mat.
  2. Phân hệ nhận dạng và điều khiển thực thi (Recognition Phase):

    • Khởi tạo kết nối phần cứng từ giao diện Command Window của MATLAB bằng câu lệnh a = arduino.
    • Nạp tệp cơ sở dữ liệu huấn luyện .mat và tiếp nhận ảnh mắt đầu vào cần xác thực.
    • Thực hiện quy trình trích xuất vector đặc trưng trên ảnh cần nhận dạng.
    • Tính toán khoảng cách Hamming giữa vector đặc trưng ảnh đầu vào với từng mẫu đã lưu trong cơ sở dữ liệu.
    • Thuật toán so sánh tìm giá trị khoảng cách nhỏ nhất (min(HD)):
      • Nếu $\min(HD) < 0.4$: Hệ thống xác nhận định danh hợp lệ, xuất tín hiệu mức logic HIGH ra chân Digital 11 trên Arduino để kích hoạt đèn LED xanh.
      • Nếu $\min(HD) \ge 0.4$: Hệ thống xác nhận không trùng khớp, xuất tín hiệu mức logic HIGH ra chân Digital 12 trên Arduino để kích hoạt đèn LED đỏ.

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

Chương 1: Tổng quan

Chương này phân tích bối cảnh phát triển của công nghệ xác thực danh tính và các hạn chế của phương pháp truyền thống. Tác giả so sánh ưu thế kỹ thuật của phương pháp sinh trắc học mống mắt với nhận dạng vân tay, khuôn mặt và giọng nói. Đồng thời, chương 1 xác định rõ mục tiêu chế tạo hệ thống nhận dạng mống mắt kết hợp điều khiển nhúng trên Arduino Uno R3, liệt kê 6 nội dung nghiên cứu chi tiết và quy định phạm vi, giới hạn của đề tài.

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

Chương 2 trình bày có hệ thống các nền tảng lý thuyết phục vụ đề tài, chia thành các phần chính:

  • Giới thiệu phần cứng: Trình bày kiến trúc vi điều khiển AVR, các thông số kỹ thuật chi tiết của kit Arduino Uno R3, cấu trúc cổng USB, sơ đồ chân I/O và nguyên lý nguồn cấp.
  • Tổng quan về MATLAB: Trình bày môi trường tính toán số, cấu trúc Workspace, các Toolbox chuyên dụng và các hàm xử lý ảnh số (image, imagesc, imshow, rgb2gray, imread, imwrite, imresize, strcat, strcmp, dir).
  • Cấu trúc sinh học mống mắt người: Mô tả giải phẫu học mống mắt, lớp biểu mô, chất nền, tính ngẫu nhiên của hoa văn mống mắt và cơ sở khoa học của tính duy nhất sinh trắc học.
  • Các giải thuật nhận dạng mống mắt: Trình bày chi tiết toán học của biến đổi đường tròn Hough, biến đổi Parabol tìm mí mắt, mô hình trải phẳng tấm cao su Daugman, lý thuyết lọc dải thông 2D Gabor và công thức tính khoảng cách Hamming.

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

Chương 3 xây dựng kiến trúc tổng thể của hệ thống:

  • Phân tích sơ đồ nguyên lý phần cứng của board Arduino Uno R3, bao gồm chip vi điều khiển chính ATmega328P, cầu nạp ATmega16U2, khối ngoại vi UART, khối truyền thông SPI và khối chuyển đổi tương tự - số ADC 10-bit.
  • Thiết kế sơ đồ khối chức năng của hệ thống xử lý gồm 5 khối: Khối lấy ảnh đầu vào, Khối xử lý ảnh đầu vào, Khối tạo cơ sở dữ liệu, Khối so sánh dữ liệu huấn luyện và Khối xuất kết quả - ứng dụng.
  • Thiết kế mạch giao tiếp ngoại vi điều khiển 2 LED báo hiệu kết nối vào chân Digital I/O.
  • Hướng dẫn quy trình từng bước cài đặt gói phần mềm Hardware Support Package for Arduino trên giao diện MATLAB 2014b thông qua tài khoản MathWorks.

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

Chương 4 mô tả quá trình lắp ráp phần cứng và triển khai mã nguồn thuật toán:

  • Kết nối kit Arduino Uno R3 với máy tính qua cáp USB và đấu nối mạch LED hiển thị vào các chân 11 và 12.
  • Xây dựng các lưu đồ giải thuật hoàn chỉnh: Lưu đồ chương trình chính, Lưu đồ chương trình huấn luyện ảnh (quét vòng lặp xử lý và lưu tệp .mat), Lưu đồ chương trình nhận dạng (tính khoảng cách Hamming và kiểm tra ngưỡng), và Lưu đồ chương trình điều khiển trạng thái thiết bị ngoại vi.
  • Xây dựng tài liệu hướng dẫn vận hành hệ thống và quy trình thao tác từng bước cho người sử dụng.

Chương 5: Kết quả, nhận xét và đánh giá

Chương 5 công bố số liệu thực nghiệm thu được từ quá trình kiểm thử hệ thống trên hai tập dữ liệu mống mắt:

  • Thống kê tỷ lệ phân đoạn thành công: thuật toán định vị chính xác vùng đồng tử đạt tỷ lệ 100% và vùng mống mắt đạt tỷ lệ 98%.
  • Thống kê kết quả nhận dạng trên tập ảnh chuẩn CASIA và tập ảnh chụp thực tế bằng điện thoại Samsung Galaxy J7 Prime, đối chiếu kết quả đóng ngắt LED trên kit Arduino theo ngưỡng $HD < 0.4$.
  • Đánh giá sự ảnh hưởng của điều kiện môi trường chụp ảnh, góc nghiêng đầu và độ phân giải ảnh đối với độ chính xác nhận dạng.

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

Chương 6 tổng kết mức độ hoàn thành nhiệm vụ nghiên cứu, nêu rõ hệ thống đã hoàn thành khoảng 80% mục tiêu ban đầu đề ra. Tác giả chỉ ra các điểm nghẽn kỹ thuật cần khắc phục và đề xuất các định hướng nâng cấp hệ thống trong tương lai.

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

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

Hệ thống nhận dạng mống mắt người kết hợp điều khiển nhúng Arduino đã hoàn thành kiểm thử thực tế với các số liệu kỹ thuật ghi nhận trong đồ án:

Chỉ số / Hạng mục thực nghiệm Kết quả ghi nhận trong văn bản
Tỷ lệ định vị thành công vùng đồng tử 100%
Tỷ lệ định vị thành công vùng mống mắt 98%
Ngưỡng khoảng cách Hamming quyết định ($HD$) $< 0.4$ (xác nhận trùng khớp)
Kích thước ảnh mống mắt sau chuẩn hóa cực $100 \times 420$ pixel
Độ dài vector đặc trưng mống mắt 2048 bit (256 byte)
Mức độ hoàn thành mục tiêu tổng thể Khoảng 80% khối lượng đề ra
Thời gian đáp ứng phần cứng Arduino Kích hoạt tức thời LED xanh (chân 11) hoặc LED đỏ (chân 12) theo tín hiệu COM

Giải pháp và đề xuất của tác giả

  • Ứng dụng thành công mô hình tích hợp giữa nền tảng tính toán mạnh mẽ của MATLAB với phần cứng vi điều khiển Arduino Uno R3 có chi phí thấp, tạo ra mô hình xác thực sinh trắc học hoàn chỉnh từ phần mềm đến cơ cấu chấp hành.
  • Chuẩn hóa quy trình tạo lập cơ sở dữ liệu mẫu mống mắt nhị phân gọn nhẹ (256 byte/mẫu), giúp tối ưu hóa không gian lưu trữ và tốc độ tính toán so khớp logic bit.

Đóng góp kỹ thuật của đề tài

  1. Đã triển khai và thực nghiệm thành công các giải thuật xử lý ảnh phức tạp (Biến đổi Hough, Mô hình Daugman, Lọc Gabor 2D, Khoảng cách Hamming) trên môi trường MATLAB cho bài toán nhận dạng sinh trắc học mống mắt tại Việt Nam.
  2. Xây dựng giải pháp nhúng dữ liệu nhận dạng từ máy tính xuống vi điều khiển ATmega328P thông qua gói hỗ trợ phần cứng chính thức, làm tiền đề cho việc tích hợp công nghệ sinh trắc học mống mắt vào các hệ thống kiểm soát an ninh cửa, chấm công hoặc điểm danh tự động.

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

Hạn chế kỹ thuật

Dựa trên các phân tích đánh giá trong đồ án, hệ thống còn tồn tại các mặt hạn chế sau:

  • Độ phụ thuộc vào môi trường ảnh: Thuật toán nhận dạng phụ thuộc nhiều vào chất lượng ảnh chụp ban đầu, góc chụp, độ rọi sáng và khoảng cách chụp; nếu ánh sáng không đồng nhất hoặc mắt bị nghiêng, tỷ lệ nhận dạng giảm sút.
  • Thời gian xử lý: Tốc độ trích xuất đặc trưng và tính toán biến đổi Hough trên ảnh độ phân giải cao còn chậm, chưa đạt tốc độ tối ưu cho các ứng dụng yêu cầu thời gian thực khắt khe.
  • Quy mô dữ liệu: Cơ sở dữ liệu mẫu huấn luyện thực tế còn nhỏ (20 ảnh từ 4 đối tượng), chỉ thực hiện nhận dạng chính xác với đúng các cá nhân đã được nạp mẫu huấn luyện trước đó, chưa mở rộng kiểm thử trên tập dữ liệu người dùng ngẫu nhiên quy mô lớn.
  • Cơ chế thu nhận ảnh: Hệ thống chưa tích hợp camera quét trực tiếp trên phần cứng nhúng mà vẫn phụ thuộc vào việc nạp ảnh tĩnh từ tệp có sẵn.

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

  1. Tối ưu hóa giải thuật phân đoạn và trích xuất đặc trưng nhằm rút ngắn thời gian xử lý, hướng tới xử lý luồng video thời gian thực (real-time video processing).
  2. Tích hợp trực tiếp cảm biến hình ảnh (camera chuyên dụng có đèn hồng ngoại gần - NIR) vào hệ thống nhúng để tự động phát hiện khuôn mặt và khoanh vùng mắt người chuyển động.
  3. Mở rộng cơ sở dữ liệu nhận dạng với kích thước mẫu lớn hơn, kiểm thử thuật toán trong các điều kiện môi trường ánh sáng phức tạp và góc nhìn đa dạng.
  4. Nghiên cứu chuyển giao toàn bộ giải thuật xử lý ảnh sang các board mạch nhúng hiệu năng cao (như Raspberry Pi hoặc DSP) để hệ thống hoạt động hoàn toàn độc lập mà không cần kết nối với máy tính cá nhân.

Giá trị tham khảo

Đồ án là tài liệu tham khảo hữu ích cho các nhóm đối tượng học thuật và kỹ thuật sau:

  • Sinh viên ngành Kỹ thuật Điện - Điện tử, Kỹ thuật Điều khiển & Tự động hóa, Cơ điện tử và Kỹ thuật Y sinh: Tham khảo phương pháp xây dựng giao tiếp điều khiển thời gian thực giữa phần mềm MATLAB và phần cứng vi điều khiển Arduino qua các gói Hardware Support Package.
  • Sinh viên và nhà nghiên cứu ngành Công nghệ Thông tin, Khoa học Dữ liệu và Thị giác Máy tính: Tham khảo chi tiết các bước toán học và quy trình thực hiện giải thuật phân đoạn mống mắt (Hough Transform), chuẩn hóa hệ tọa độ cực (Daugman Rubber Sheet Model) và trích xuất vector pha nhị phân bằng bộ lọc 2D Gabor.
  • Các phần có giá trị tham khảo cao nhất:
    • Bảng tổng hợp và giải thích các hàm xử lý ảnh số trong MATLAB (Chương 2).
    • Quy trình từng bước cài đặt và cấu hình gói hỗ trợ phần cứng Arduino cho MATLAB (Chương 3).
    • Hệ thống lưu đồ giải thuật chi tiết cho các tiến trình huấn luyện, trích xuất đặc trưng và so khớp khoảng cách Hamming (Chương 4).

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

1. Hệ thống sử dụng tiêu chí và ngưỡng số học nào để xác định một mống mắt có trùng khớp với cơ sở dữ liệu hay không?

Hệ thống sử dụng đại lượng khoảng cách Hamming (Hamming Distance - HD) để tính tỷ lệ sai khác giữa chuỗi bit đặc trưng của ảnh cần nhận dạng và các chuỗi bit mẫu đã lưu trong cơ sở dữ liệu. Ngưỡng quyết định được thiết lập là $HD < 0.4$. Khi giá trị khoảng cách nhỏ nhất giữa ảnh đầu vào với các mẫu trong cơ sở dữ liệu nhỏ hơn 0.4, hệ thống kết luận nhận dạng thành công; ngược lại ($HD \ge 0.4$), hệ thống coi mống mắt không hợp lệ.

2. Cấu trúc phần cứng của kit điều khiển Arduino Uno R3 trong đồ án được kết nối và cấu hình như thế nào với máy tính và cơ cấu chấp hành?

Kit Arduino Uno R3 (vi điều khiển ATmega328P, thạch anh 16 MHz) được kết nối với máy tính cá nhân qua cáp USB thông qua chip nạp ATmega16U2 đóng vai trò cầu chuyển đổi USB-to-UART. Về phía cơ cấu chấp hành, hệ thống sử dụng chân Digital số 11 để điều khiển đèn LED màu xanh lá (báo khớp dữ liệu) và chân Digital số 12 để điều khiển đèn LED màu đỏ (báo không khớp dữ liệu).

3. Phương pháp toán học nào được tác giả áp dụng để định vị đường biên đồng tử và mống mắt, và tỷ lệ thành công đạt được là bao nhiêu?

Tác giả áp dụng phép biến đổi đường tròn Hough (Circular Hough Transform) kết hợp phép lọc làm mịn Gauss và toán tử gradient để dò tìm tâm và bán kính của đồng tử và mống mắt. Đồng thời, thông tin đạo hàm ngang kết hợp biến đổi Parabol Hough được dùng để loại bỏ mí mắt. Kết quả thực nghiệm đạt tỷ lệ định vị thành công 100% đối với vùng đồng tử và 98% đối với ranh giới ngoài của mống mắt.

4. Quy trình chuẩn hóa hình học và trích xuất đặc trưng mống mắt từ ảnh mắt ban đầu diễn ra qua những bước cụ thể nào?

Quy trình gồm 3 bước:

  1. Chuyển đổi vùng vành khăn mống mắt từ hệ tọa độ Descartes $(x,y)$ sang hệ tọa độ cực chuẩn hóa $(r, \theta)$ nhờ mô hình tấm cao su Daugman, đưa ảnh về kích thước cố định $100 \times 420$ pixel.
  2. Áp dụng bộ lọc 2D Gabor dạng cặp cầu phương để phân tích không gian - tần số và lượng tử hóa thông tin pha thành 4 mức tương ứng với 2 bit cho mỗi điểm ảnh.
  3. Sinh ra vector mẫu đặc trưng nhị phân kích thước 2048 bit (256 byte) cùng với mặt nạ bit (mask) để phục vụ so khớp.

5. Hai bộ dữ liệu ảnh được sử dụng để huấn luyện và kiểm thử hệ thống có nguồn gốc và thông số chi tiết như thế nào?

Hệ thống sử dụng hai bộ dữ liệu:

  • Bộ ảnh chuẩn CASIA Iris Image Database (version 1.0): Gồm 70 ảnh mống mắt của 10 người (mỗi người 7 ảnh) được chụp trong điều kiện ánh sáng và khoảng cách tiêu chuẩn.
  • Bộ ảnh chụp thực nghiệm: Gồm 20 ảnh mống mắt của 4 cá nhân (mỗi người 5 ảnh) chụp bằng camera điện thoại Samsung Galaxy J7 Prime có độ phân giải 13 megapixel ở cự ly cố định.

Kết luận

Đồ án tốt nghiệp "Nhận dạng mống mắt người" đã nghiên cứu và triển khai thành công mô hình nhận dạng sinh trắc học mống mắt dựa trên sự kết hợp giữa biến đổi Hough, mô hình tấm cao su Daugman, bộ lọc 2D Gabor và phép đo khoảng cách Hamming trên nền tảng MATLAB R2014b. Hệ thống đã hiện thực hóa việc nhúng kết quả nhận dạng từ máy tính xuống kit vi điều khiển Arduino Uno R3 để điều khiển hiển thị trạng thái LED tương ứng với độ chính xác phân đoạn đồng tử đạt 100% và mống mắt đạt 98%. Mặc dù tốc độ xử lý và khả năng nhận dạng tự động theo thời gian thực vẫn còn những hạn chế do phụ thuộc vào điều kiện chụp ảnh tĩnh, công trình đã hoàn thành khoảng 80% mục tiêu đề ra và cung cấp tài liệu kỹ thuật có giá trị tham khảo cao về xử lý ảnh sinh trắc học và hệ thống nhúng điều khiển.