Đồ án HCMUTE về nhận dạng mống mắt người

Đồ án nghiên cứu hcmute nhận dạng mống mắt người, áp dụng công nghệ tiên tiến, tối ưu giải pháp kỹ thuật cho bài toán ., phục vụ nghiên cứu và ứng dụng thực tiễn

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2017

76
8
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

1. CHƯƠNG 1: NỘI DUNG NGHIÊN CỨU

1.1. Giới thiệu phần cứng

1.2. Kit Arduino Uno

1.3. Tổng quan về Matlab

1.4. Giới thiệu mống mắt người

1.5. Các phương pháp nhận dạng mống mắt người

1.5.1. Xác định mống mắt

1.5.2. Quy trình nhận dạng mống mắt

1.6. Các hàm xử lý trong Matlab

2. CHƯƠNG 2: TÍNH TOÁN VÀ THIẾT KẾ

2.1. Tổng quan về phần cứng

2.1.1. Tổng quan các khối chính

2.1.2. Board Arduino Uno R3

2.2. Thiết kế hệ thống

2.2.1. Thiết kế sơ đồ khối hệ thống

2.2.2. Thiết kế các khối hệ thống

2.3. Cài đặt các gói hỗ trợ phần cứng cho Matlab

3. CHƯƠNG 3: THI CÔNG HỆ THỐNG

3.1. Thi công hệ thống

3.2. Viết tài liệu hướng dẫn, sử dụng, thao tác

3.2.1. Tài liệu hướng dẫn sử dụng

3.2.2. Quy trình thao tác

4. CHƯƠNG 4: KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ

4.1. Tổng quan kết quả đạt được

4.2. Kết quả thực tế

4.3. Nhận xét và đánh giá

5. CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

5.1. Hướng phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Nhận dạng mống mắt Tổng quan và Mục tiêu nghiên cứu

Đồ án tốt nghiệp "Nhận dạng mống mắt người" của sinh viên HCMUTE tập trung vào việc xây dựng hệ thống nhận dạng mống mắt dựa trên hình ảnh. Mục tiêu chính là thiết kế và triển khai một hệ thống sử dụng thuật toán xử lý ảnh để nhận diện mống mắt, sau đó nhúng dữ liệu điều khiển xuống kit Arduino. Đây là một ứng dụng thực tiễn của sinh trắc học mống mắt, kết hợp công nghệ xử lý ảnh và hệ thống nhúng. Đồ án sử dụng MATLAB như môi trường lập trình chính và Arduino làm nền tảng điều khiển. Việc trích xuất đặc trưng mống mắt là một phần quan trọng, tiếp theo là so khớp mống mắt để xác thực danh tính. An ninh sinh trắc học là ứng dụng tiềm năng của hệ thống này.

1.1. Ứng dụng của Nhận dạng Mống mắt

Công nghệ nhận dạng mống mắt mang lại nhiều ứng dụng thực tiễn trong lĩnh vực an ninh sinh trắc học. Hệ thống này có thể được tích hợp vào các hệ thống kiểm soát truy cập, xác thực người dùng trong các hệ thống thông tin quan trọng, hoặc giám sát an ninh. Độ chính xác cao của nhận dạng mống mắt vượt trội so với các phương pháp sinh trắc học khác như nhận dạng khuôn mặt hay nhận dạng vân tay. Sự độc đáo của mỗi mống mắt, cùng với độ khó giả mạo cao, khiến nó trở thành một lựa chọn lý tưởng cho các ứng dụng đòi hỏi độ bảo mật cao. An ninh mạng cũng được hưởng lợi từ công nghệ này, với việc xác thực người dùng được tăng cường đáng kể. Ứng dụng di động cũng là một hướng phát triển tiềm năng. Các hệ thống sinh trắc học như vậy có thể được tích hợp vào các thiết bị di động để bảo vệ dữ liệu cá nhân.

1.2. Thách thức và Giới hạn

Mặc dù nhận dạng mống mắt có nhiều ưu điểm, nhưng cũng tồn tại những thách thức. Chất lượng hình ảnh là yếu tố ảnh hưởng lớn đến độ chính xác của hệ thống. Ánh sáng yếu, góc chụp không phù hợp, hoặc chất lượng camera kém đều gây khó khăn cho việc phân tích mống mắt. Thuật toán nhận dạng cần được tối ưu để đảm bảo tốc độ xử lý nhanh, đặc biệt trong các ứng dụng thực tế. Việc xây dựng cơ sở dữ liệu mống mắt lớn và đa dạng là cần thiết để tăng độ chính xác của hệ thống. Đồ án HCMUTE này chỉ là một bước khởi đầu, cần nghiên cứu thêm để giải quyết các vấn đề về tốc độ xử lý, độ chính xác và khả năng thích ứng với các điều kiện môi trường khác nhau. Vi xử lý trên Arduino có giới hạn về khả năng tính toán, gây ảnh hưởng đến tốc độ hoạt động của toàn hệ thống. Các thuật toán machine learningdeep learning phức tạp hơn có thể được nghiên cứu trong tương lai để cải thiện hiệu suất.

II. Phương pháp và Công nghệ

Đồ án sử dụng MATLAB để triển khai các thuật toán xử lý ảnh, bao gồm các bước trích xuất đặc trưng mống mắt, so khớp mống mắtphân loại. OpenCV có thể được sử dụng như một thư viện hỗ trợ. Thuật toán IrisCode có thể được áp dụng để trích xuất đặc trưng. Tính toán khoảng cách Hamming được dùng để so khớp. C++ hoặc Python có thể được sử dụng để tối ưu hóa một số phần của hệ thống. Cơ sở dữ liệu lưu trữ ảnh mống mắt. Bộ dữ liệu mống mắt được sử dụng có thể bao gồm CASIA Iris Image Database, UBIRIS v2, hoặc NIST Iris Image Database. Việc đánh giá hệ thống tập trung vào độ chính xác và tốc độ xử lý.

2.1. Xử lý ảnh và Trích xuất đặc trưng

Hệ thống bắt đầu bằng việc tiền xử lý ảnh, bao gồm việc định vị và phân đoạn vùng mống mắt. Phân tích mống mắt bao gồm việc xác định vị trí đồng tử và mống mắt chính xác. Sau đó, các đặc trưng của mống mắt được trích xuất. Thuật toán IrisCode là một phương pháp phổ biến để mã hoá các đặc trưng của mống mắt thành một chuỗi bit ngắn gọn. Việc sử dụng phần mềm MATLAB giúp đơn giản hóa quá trình xử lý ảnh, với nhiều hàm tích hợp sẵn. Các kỹ thuật lọc nhiễu và tăng cường độ tương phản cũng được áp dụng để cải thiện chất lượng ảnh trước khi trích xuất đặc trưng. Xử lý ảnh kỹ thuật số đóng vai trò quan trọng trong việc đảm bảo độ chính xác của quá trình nhận dạng. Phân đoạn ảnh cần được thực hiện một cách chính xác để tách vùng mống mắt khỏi các vùng khác trong ảnh.

2.2. So khớp và Đánh giá

Sau khi trích xuất đặc trưng, hệ thống tiến hành so khớp với các mẫu đã được lưu trữ trong cơ sở dữ liệu. Khoảng cách Hamming là một thước đo phổ biến để so sánh hai chuỗi IrisCode. Một ngưỡng được đặt để xác định xem hai mống mắt có khớp nhau hay không. Độ chính xác của hệ thống được đánh giá dựa trên tỷ lệ nhận dạng chính xác và tỷ lệ nhận dạng sai. Tốc độ xử lý cũng là một yếu tố quan trọng cần được xem xét. Việc sử dụng các thuật toán tối ưu và phần cứng hiệu quả giúp tăng tốc độ xử lý. Đánh giá hệ thống bao gồm việc phân tích kết quả trên các bộ dữ liệu khác nhau, bao gồm cả bộ dữ liệu huấn luyện và bộ dữ liệu kiểm tra. Các chỉ số đánh giá như độ chính xác, độ tin cậy và tốc độ xử lý được sử dụng để đánh giá hiệu quả của hệ thống.

III. Kết quả và Thảo luận

Đồ án đã xây dựng thành công một hệ thống nhận dạng mống mắt cơ bản. Kết quả đạt được cho thấy hệ thống có khả năng nhận dạng mống mắt với độ chính xác tương đối cao trong điều kiện lý tưởng. Tuy nhiên, độ chính xác giảm xuống khi điều kiện ánh sáng hoặc chất lượng ảnh kém. Việc tích hợp với kit Arduino cho phép điều khiển các thiết bị ngoại vi, mở ra nhiều ứng dụng thực tiễn. Đồ án tốt nghiệp HCMUTE này đóng góp vào việc nghiên cứu và ứng dụng công nghệ nhận dạng mống mắt tại Việt Nam.

3.1. Phân tích Kết quả

Kết quả thực nghiệm cho thấy hệ thống đạt được độ chính xác khá tốt trong điều kiện lý tưởng. Tuy nhiên, một số yếu tố như chất lượng ảnh, ánh sáng, và góc chụp ảnh hưởng đến hiệu quả nhận dạng. Độ chính xác của hệ thống cần được cải thiện hơn nữa. Phân tích dữ liệu cho thấy các yếu tố ảnh hưởng đến hiệu suất hệ thống. Dữ liệu huấn luyện cần được mở rộng và đa dạng hơn để cải thiện khả năng tổng quát của hệ thống. Phân tích lỗi giúp xác định những hạn chế của hệ thống và hướng đến việc cải tiến trong tương lai. Kết quả nhận dạng được thể hiện qua các bảng biểu thống kê, trực quan hóa dữ liệu giúp đánh giá hiệu quả của hệ thống.

3.2. Hạn chế và Hướng phát triển

Hệ thống hiện tại còn một số hạn chế. Tốc độ xử lý cần được cải thiện. Khả năng nhận dạng mống mắt trong điều kiện ánh sáng yếu hoặc chất lượng ảnh kém cần được nâng cao. Việc tích hợp với các hệ thống nhúng khác nhau cần được nghiên cứu. Thuật toán nhận dạng hiện tại có thể được tối ưu bằng cách sử dụng các kỹ thuật học sâu (deep learning). Cơ sở dữ liệu cần được mở rộng để bao gồm nhiều mẫu mống mắt hơn, đa dạng về độ tuổi, chủng tộc và điều kiện chụp ảnh. Nghiên cứu về hệ thống nhúng mạnh mẽ hơn có thể được thực hiện để cải thiện hiệu suất hệ thống.

01/02/2025

Trích đoạn nội dung tài liệu

đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nội dung nghiên cứu, các giới hạn thông số và bố cục đồ án.  Chương 2: Cơ sở lý thuyết. Giới thiệu về kit Arduino, giới thiệu về cách cài đặt thư viện cho Arduino. Giới thiệu về mống mắt, các phương pháp nhận dạng mống mắt và áp dụng vào bài toán nhận dạng mống mắt người.

 Chương 3: Thiết kế và Tính toán Phân tích, xây dựng sơ đồ khối, sơ đồ phần cứng, thiết kế về chương trình cho hệ thống nhận dạng mống mắt người được viết trên phần mềm Matlab, sử dụng thư viện của Matlab cho kit Arduino.  Chương 4: Thi công hệ thống Xây dựng chương trình hoàn chỉnh cho toàn hệ thống, các hàm, các lưu đồ, các chương trình được sử dụng. Tạo tập tin huấn luyện, lắp ráp và test cho chương trình. Viết tài liệu hướng dẫn sử dụng, quy trình thao tác.

 Chương 5: Kết quả, Nhận xét và đánh giá Nêu các kết quả đạt được khi thực hiện chương trình, phân tích, nhận xét, đánh giá kết quả thực thi được.  Chương 6: Kết luận và hướng phát triển. Tóm tắt những kết quả đạt được, những hạn chế và nêu lên các hướng phát triển trong tương lai. do an Chương 2.1 GIỚI THIỆU PHẦN CỨNG 2.1 Kit Arduino [3] Arduino ra đời tại thị trấn Ivrea – Italy, được giới thiệu vào năm 2005 như một công cụ cho sinh viên tìm tòi, học hỏi, phát triển, nhưng đến nay Arduino đã được sử dụng rộng rãi trên thế giới và chứng tỏ được hiệu quả thông qua vô số ứng dụng từ người dùng.

Arduino là một board mạch vi xử lý được dùng để tương tác với các thiết bị phần cứng như cảm biến, động cơ, đèn hay các thiết bị khác. Một board Arduino bao gồm một vi điều khiển AVR với nhiều linh kiện bổ sung đã làm nên board mạch với nhiều thế mạnh hơn so với các vi điều khiển khác như: chạy được trên nhiều hệ điều hành khác nhau (Windows, Linux.), dễ dàng lắp ráp và mở rộng phần cứng, phát triển dựa trên nguồn mở, dễ dàng chia sẻ mã nguồn với nhau mà không phải lo lắng ngôn ngữ hay hệ điều hành đang sử dụng… Arduino thường sử dụng các dòng chip megaAVR, đặc biệt là ATmega8, ATmega168, ATmega328, ATmega1280 và ATmega2560. Hầu hết các mạch gồm một bộ điều chỉnh tuyến tính 5V và một thạch anh dao động 16 MHz, các board Arduino hiện tại được lập trình thông qua cổng USB.2 Kit Arduino Uno Kit Arduino có nhiều phiên bản với tính năng và mục đích sử dụng khác nhau. Board Arduino Uno là một trong những phiên bản được sử dụng rộng rãi nhất bởi chi phí và tính linh động của nó.

Arduino Uno là một board mạch vi điều khiển dựa trên chip Atmega328 với 14 chân vào/ra bằng tín hiệu số được đánh số từ 0 đến 13, trong đó 6 chân có thể tạo xung PWM được đánh dấu “~” trước mã số của chân, 6 chân nhận tín hiệu analog được đánh do an dấu từ A0 đến A5, có thể sử dụng như là 6 chân I/O số. Có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 30 mA. Vi điều khiển Atmega328P họ 8 bit Điện áp hoạt động 5V Điện áp đầu vào 7-12V Điện áp đầu vào giới hạn 6-20V Số chân Digital I/O 14 (có 6 chân PWM) Số chân Analog 6 ( độ phân giải 10bit) DC current per I/O pin 20mA DC current for 3.3V pin 50mA Flash Memory 32KB (ATmega328P) SRAM 2KB (Atmega328P) EEPROM 1KB (Atmega328P) Clock Speed 16MHZ Length 68.4 mm Weight 25 g Bảng 2. Thông số kỹ thuật Arduino Uno.

Cấu trúc phần cứng của Arduino Uno. do an  Cổng USB(1): Cổng USB dùng để kết nối với máy tính và thông qua đó để upload chương trình cho Arduino từ máy tính, đồng thời cung cấp nguồn cho Arduino.  Nguồn (2 và 4): Sử dụng jack cắm nguồn 2.1mm (cực dương ở giữa) hoặc có thể dùng chân Vin và GND để cấp nguồn cho Arduino. Board mạch hoạt động ở điện áp ngoài khoảng 5-20V, nhưng nếu cấp nguồn lớn hơn 5V thì ngõ ra chân 5V sẽ lớn hơn, không nên cấp nguồn lớn hơn 12V vì board sẽ nóng và dễ bị hỏng.

Chân 5V và chân 3.3v là 2 chân lấy nguồn từ Arduino ra ngoài, không được cấp nguồn vào nó, sẽ làm hỏng.  Chip Atmega328P(6): Có 32KB bộ nhớ flash trong đó có 0.5KB dùng cho bootloader, 2KB SRAM, 1KB EEPROM.  Output và input(3 và 5): Arduino có 14 chân Digital với các chức năng Input và Output.2 TỔNG QUAN VỀ MATLAB [4] Matlab (Matrix Laboratory ) là một môi trường tính toán số và lập trình, được thiết kế bởi công ty MathWorks, là ngôn ngữ lập trình thực hành bậc cao được sử dụng nhiều để giải các bài toán kỹ thuật. Matlab tích hợp việc tính toán thể hiện kết quả cho phép lập trình, giao diện làm việc rất dễ dàng cho người sử dụng.

Dữ liệu cùng với thư viện được lập trình sẵn cho phép người dùng có được những ứng dụng như:  Tính toán các phép toán học thông thường, tính toán ma trận,  Lập trình tạo ra những ứng dụng mới.  Cho phép mô phỏng các mô hình thực tế.  Phân tích, khảo sát, hiển thị dữ liệu.  Với phần mềm đồ họa cực mạnh.

 Matlab giúp đơn giản hóa việc giải quyết các bài toán tính toán kỹ thuật so với các ngôn ngữ lập trình truyền thống như C, C++, và Fortran. Matlab là một hệ thống tương giao chúng cho phép giải quyết các vấn đề liên quan đến lập trình bằng máy tính, đặc biệt sử dụng các phép tính về ma trận hay véctơ và có thể sử dụng ngôn ngữ C hoặc Fortran lập trình rồi thực hiện ứng dụng lập trình đó bằng các câu lệnh gọi từ Matlab. do an Matlab được sử dụng trong nhiều lĩnh vực, bao gồm xử lý tín hiệu và ảnh, truyền thông, thiết kế điều khiển tự động, đo lường kiểm tra, phân tích mô hình tài chính, hay tính toán sinh học. Matlab cung cấp giải pháp chuyên dụng gọi là Toolbox.

Toolbox là một tập hợp toàn diện các hàm của Matlab (M-file). Hệ thống Matlab gồm 5 phần chính:  Ngôn ngữ Matlab: cho phép lập trình từ các ứng dụng nhỏ đến phức tạp. Đó là các ngôn ngữ cao về ma trận và mảng, các dòng lệnh, các hàm, cấu trúc dữ liệu vào.  Môi trường làm việc: bao gồm các phương tiện cho việc quản lý các biến trong không gian làm việc Workspace cũng như xuất nhập dữ liệu.

Nó cũng bao gồm các công cụ phát triển, quản lý, gỡ rối và định hình M-file.  Xử lý đồ họa: bao gồm các lệnh cao cấp cho trực quan hóa dữ liệu hai chiều và ba chiều, xử lý ảnh, ảnh động. Cung cấp các giao diện tương tác giữa người sử dụng và máy tính.  Giao diện người dùng (Application Program Interface): cho phép viết chương trình tương tác với các ngôn ngữ khác C, Fortran.3 GIỚI THIỆU MỐNG MẮT NGƯỜI Mống mắt là màng tròn mỏng, nằm giữa giác mạc và thuỷ tinh thể của mắt người.

Một ảnh nhìn chính diện của mống mắt được chỉ ra trong hình 2. Mống mắt bị đục thủng gần tâm của nó bởi lỗ tròn gọi là đồng tử.2 : Ảnh của mắt người nhìn trực diện từ phía trước. do an Nói một cách khác, mống mắt là một cơ trong mắt. Nó là phần màu của mắt với màu của mống mắt được xác định chủ yếu dựa trên số lượng sắc tố melatonin có trong cơ.

Chức năng của mống mắt là điều chỉnh kích thước đồng tử và số lượng ánh sáng vào mắt. Điều này được thực hiện bởi các cơ vòng và cơ giãn, chúng điều chỉnh kích thước đồng tử. Đường kính trung bình của mống mắt là 12mm và kích thước đồng tử có thể biến đổi từ 10 đến 80% đường kính mống mắt. Mống mắt gồm một số lớp, thấp nhất là lớp biểu mô, chúng chứa các tế bào sắc tố dày đặc.

Lớp chất nền nằm trên lớp biểu mô và chứa các mạch máu, các tế bào sắc tố và hai cơ mống mắt. Mật độ của sắc tố chất nền xác định màu sắc của mống mắt. Bề ngoài rõ ràng bề mặt của mống mắt là đa lớp có hai vùng, chúng thường có màu sắc khác nhau. Một vùng mi ngoài và một vùng đồng tử trong, và hai vùng đó được phân ra bởi đường viền- chúng xuất hiện như kiểu chữ chi (zíc zắc).3 : Cấu trúc của mống mắt.

Mặc dù màu sắc và cấu trúc của mống mắt gắn với vấn đề di truyền học,nhưng những đặc trưng chính của mỗi mống mắt là không giống nhau. Mắt phát triển trong suốt thời kỳ trước khi trưởng thành thông qua một quá trình định hình chặt chẽ và sự tạo nếp của các màng mô. Sự hình thành mống mắt bắt đầu vào tháng thứ ba của thời kỳ thai nghén và việc tạo ra cấu trúc kiểu của nó khá đầy đủ vào tháng thứ tám. Nhưng kiểu dáng duy nhất trên bề mặt mống mắt được tạo thành trong suốt một năm đầu tiên, và sự phát triển của các sắc tố chất nền xảy ra khoảng vài năm đầu sau khi sinh.

Sự hình thành các kiểu dáng đơn nhất của mống mắt là ngẫu nhiêu không liên quan tới bất kỳ do an nhân tố gen nào.Chỉ những đặc tính mà phụ thuộc vào gien là sắc tố của mống mắt mới xác định màu sắc của nó. Nhờ biểu sinh tự nhiên của các kiểu mống mắt, hai mắt của một cá nhân hoàn toàn độc lập về kiểu mống mắt và ngay cả các cặp sinh đôi giống hệt nhau cũng có các kiểu mống mắt khác nhau. Chính vì đặc điểm mỗi mống mắt là duy nhất và các cấu trúc khác biệt nêu trên nên ảnh mống mắt có thể được sử dụng cho mục đích nhận dạng/xác thực người dùng.4 CÁC PHƯƠNG PHÁP NHẬN DẠNG MỐNG MẮT NGƯỜI [8],[9] 2.1 Xác định mống mắt. Xác định vị trí mống mắt và đồng tử.

Bước này là để tìm ra đường biên bên trong (giữa mống mắt và đồng tử) và đường biên bên ngoài (giữa mống mắt và màng cứng) trong ảnh gốc. Cả hai đường ranh giới trong và ngoài của một mống mắt điển hình có thể được đưa ra xấp xỉ như các đường tròn. Tuy nhiên hai đường tròn này thường không đồng tâm, nhưng trong hệ thống này giả thiết chúng đồng tâm tại tâm đồng tử. Bằng cách dò tìm đồng tử và mống mắt, hệ thống sẽ không thay đổi đối với sự chuyển dịch.

Kỹ thuật xác định vị trí đã điều khiển khoanh vùng chính xác vùng đồng tử và mống mắt của cơ sở dữ liệu ảnh mống mắt có tỷ lệ thành công lần lượt khoảng 100% và 98% ở hình 2.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Bài viết "Nhận dạng mống mắt người: Đồ án HCMUTE" khám phá công nghệ nhận dạng mống mắt, một lĩnh vực quan trọng trong an ninh và xác thực danh tính. Bài viết trình bày các phương pháp và công nghệ hiện đại được sử dụng để nhận diện mống mắt, cùng với những ứng dụng thực tiễn trong đời sống. Độc giả sẽ hiểu rõ hơn về cách thức hoạt động của hệ thống nhận dạng này, cũng như những lợi ích mà nó mang lại, như tăng cường bảo mật và cải thiện trải nghiệm người dùng.

Nếu bạn muốn mở rộng kiến thức về các hệ thống giám sát và điều khiển, hãy tham khảo bài viết Đồ án hcmute điều khiển và giám sát hệ thống thông qua opc server, nơi bạn sẽ tìm thấy thông tin về cách giám sát hệ thống hiệu quả. Ngoài ra, bài viết Đồ án hcmute các tấn công và giải pháp bảo mật web sẽ giúp bạn hiểu rõ hơn về các mối đe dọa an ninh mạng và cách bảo vệ thông tin cá nhân. Cuối cùng, bài viết Đồ án hcmute điều khiển và giám sát thiết bị dựa trên module phân tán sẽ cung cấp cái nhìn sâu sắc về công nghệ điều khiển thiết bị thông minh. Những tài liệu này sẽ giúp bạn có cái nhìn toàn diện hơn về các ứng dụng công nghệ trong lĩnh vực an ninh và giám sát.