1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu và phát triển kỹ thuật nhận diện dấu vân tay cho hệ thống điểm danh sinh viên

91 26 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên Cứu Và Phát Triển Kỹ Thuật Nhận Diện Dấu Vân Tay Cho Hệ Thống Điểm Danh Sinh Viên
Trường học Bộ Giáo Dục Và Đào Tạo
Chuyên ngành Khoa Học Tự Nhiên
Thể loại báo cáo
Năm xuất bản 2014
Định dạng
Số trang 91
Dung lượng 5,44 MB

Cấu trúc

  • CHƯƠNG 1: MỞ ĐẦU (10)
    • 1.1. TỔNG QUAN (10)
    • 1.2. LÝ DO CHỌN ĐỀ TÀI (12)
    • 1.3. MỤC TIÊU NGHIÊN CỨU (12)
    • 1.4. PHƯƠNG PHÁP NGHIÊN CỨU (13)
    • 1.5. PHẠM VI NGHIÊN CỨU (13)
    • 1.6. ĐÓNG GÓP CỦA ĐỀ TÀI (14)
      • 2.1.1. Đóng góp về mặt kinh tế - xã hội (14)
      • 2.1.2. Đóng góp về mặt khoa học (14)
    • 1.7. BỐ CỤC CỦA BÁO CÁO (15)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (17)
    • 2.1. TỔNG QUAN VỀ VÂN TAY (17)
      • 2.4.1. Vân tay là gì? (17)
      • 2.4.2. Các phương pháp phân loại vân tay (17)
        • 2.4.2.1. Các điểm đặc trưng trên ảnh vân tay (17)
        • 2.4.2.2. Trích xuất các điểm đặc trưng (18)
    • 2.2. MÔ HÌNH CLIENT – SERVER (19)
    • 2.3. WINDOWS COMMUNICATION FOUNDATION (WCF) (20)
    • 2.4. NGÔN NGỮ TRUY VẤN DỮ LIỆU LINQ (21)
      • 2.4.1. Giới thiệu chung (21)
      • 2.4.2. Vai trò (21)
  • CHƯƠNG 3: XÂY DỰNG HỆ THỐNG PHẦN MỀM (22)
    • 3.1. THIẾT KẾ HOẠT ĐỘNG (22)
    • 3.2. PHÂN TÍCH THIẾT KẾ CƠ SỞ DỮ LIỆU QUẢN LÝ THÔNG TIN (23)
      • 3.2.1. Mô hình ý niệm truyền thông (23)
        • 3.2.1.1. Quy trình tra cứu thông tin (23)
        • 3.2.1.2. Quy trình cập nhật thông tin (24)
        • 3.2.1.3. Quy trình thêm mới sinh viên (24)
        • 3.2.1.4. Quy trình điểm danh sinh viên (24)
      • 3.2.2. Mô hình vật lý dữ liệu (25)
    • 3.3. XÂY DỰNG CHỨC NĂNG QUẢN TRỊ TRÊN WEBSITE (28)
      • 3.3.1. Chức năng đăng nhập và đăng kí (28)
      • 3.3.2. Chức năng tra cứu thông tin sinh viên (28)
      • 3.3.3. Chức năng cập nhật thông tin sinh viên (29)
      • 3.3.4. Chức năng thêm mới sinh viên (29)
      • 3.3.5. Chức năng tra cứu thời khóa biểu sinh viên (29)
      • 3.3.6. Chức năng tra cứu thông tin điểm danh theo môn học (30)
      • 3.3.7. Chức năng tra cứu thông tin điểm danh theo sinh viên (30)
      • 3.3.8. Chức năng xem thông tin tài khoản (31)
      • 3.3.9. Chức năng cập nhật quyền truy cập tài khoản (31)
    • 3.4. XÂY DỰNG VÀ PHÁT TRIỂN CÁC THUẬT TOÁN XỬ LÝ, ĐỐI SÁNH ẢNH VÂN TAY (31)
      • 3.4.1. XỬ LÝ ẢNH ĐẦU VÀO (31)
        • 3.4.1.1. Chuyển ảnh màu sang ảnh mức xám (31)
        • 3.4.1.2. Cân bằng lược đồ xám (32)
        • 3.4.1.3. Phân ngưỡng Threshold (33)
        • 3.4.1.4. Phát hiện biên (34)
        • 3.4.1.5. Nhị phân hóa ảnh (36)
        • 3.4.1.6. Xác định Trường định hướng (36)
        • 3.4.1.7. Tăng cường chất lượng ảnh (39)
        • 3.4.1.8. Tìm xương ảnh (40)
        • 3.4.1.9. Trích xuất các đặc trưng trên ảnh vân tay (44)
      • 3.4.2. ĐỐI SÁNH VÂN TAY (46)
        • 3.4.2.1. Đối sánh các đặc trưng Minutiae có độ tương đồng về hướng (46)
        • 3.4.2.2. Vị trí tương đối của các đặc trưng Minutiae (47)
        • 3.4.2.3. Tìm các cặp đặc trưng Pointcare có độ tương đồng về hướng và khoảng cách (48)
        • 3.4.2.4. Khoảng cách từ các Pointcare đến các Minutiae (48)
        • 3.4.2.5. Góc hợp bởi đường thẳng đi qua PointCare và Minutiae với trục Ox (49)
        • 3.4.2.6. Rút trích các cặp Minutiae trùng nhau giữa 2 ảnh (50)
        • 3.4.2.7. Tổng hợp kết quả (51)
      • 3.4.3. XÂY DỰNG CÁC LỚP XỬ LÝ ẢNH (51)
        • 3.4.3.1. Lớp xử lý trung tâm – MyImage (51)
        • 3.4.3.2. Lớp hỗ trợ xử lý kỹ thuật phát hiện biên (52)
        • 3.4.3.3. Lớp hỗ trợ xử lý tăng cường chất lượng ảnh (53)
        • 3.4.3.4. Lớp hỗ trợ trích xuất đặc trưng Minutiae và PointCare (54)
        • 3.4.3.5. Lớp đối sánh vân tay (54)
        • 3.4.3.6. Lớp phương trình đường thẳng hỗ trợ đối sánh vân tay (55)
        • 3.4.3.7. Lớp các giá trị hằng số (56)
    • 3.5. XÂY DỰNG SERVER - WCF SERVICE (57)
      • 3.5.1. Ưu điểm của WCF (58)
      • 3.5.2. WCF Service Contract - Interface (58)
      • 3.5.3. Lớp Service (59)
      • 3.5.4. Kết nối cơ sở dữ liệu bằng LinQ (60)
    • 3.6. XÂY DỰNG ỨNG DỤNG CLIENT CHẠY TRÊN SMARTPHONE (61)
      • 3.6.1. Xây dựng giao diện màn hình chính (61)
      • 3.6.2. Xây dựng chức năng điểm danh sinh viên (62)
      • 3.6.3. Xây dựng chức năng định vị vị trí và hiển thị bản đồ (63)
      • 3.6.4. Xây dựng chức năng tra cứu thông tin điểm danh (65)
      • 3.6.5. Xây dựng chức năng kiểm nghiệm thuật toán (65)
  • CHƯƠNG 4: KẾT QUẢ THỰC HIỆN (67)
    • 4.1. WEBSITE DÀNH CHO NGƯỜI QUẢN TRỊ (67)
    • 4.2. ỨNG DỤNG DI ĐỘNG DÀNH CHO SINH VIÊN (71)
    • 4.3. KẾT QUẢ THỰC NGHIỆM CỦA HỆ THỐNG ĐỐI SÁNH VÂN TAY (80)
  • CHƯƠNG 5: KẾT LUẬN (84)
  • PHỤ LỤC (86)
  • TÀI LIỆU THAM KHẢO (91)
    • Hinh 4.32: Kiểm nghiệm thuật toán đối sánh vân tay (0)

Nội dung

CƠ SỞ LÝ THUYẾT

TỔNG QUAN VỀ VÂN TAY

Vân tay là những đường cong độc đáo trên đầu ngón tay, được hình thành dưới tác động của gen di truyền và môi trường Chúng phát triển thông qua sự tương tác giữa hệ thống mạch máu và thần kinh trong lớp hạ bì và biểu bì Mặc dù tất cả mọi người đều có chung một hệ thống gen, nhưng vân tay ở mười đầu ngón tay của mỗi cá nhân lại khác nhau, tạo nên sự riêng biệt cho từng người.

Vân tay là đặc điểm phân biệt duy nhất của mỗi cá nhân, với tính bất biến suốt đời, trừ khi có chấn thương nghiêm trọng hoặc phẫu thuật gây sẹo sâu Các bệnh như bệnh phong cũng có thể ảnh hưởng đến cấu trúc của vân tay, nhưng trong hầu hết các trường hợp, dấu vân tay sẽ không thay đổi hoặc di chuyển.

2.4.2 Các phương pháp phân loại vân tay

Vân tay được phân loại dựa trên hai đặc trưng chính là tâm (core) và tam phân điểm (delta) Số lượng tâm và tam phân điểm giúp xác định loại vân tay cụ thể.

2.4.2.1 Các điểm đặc trưng trên ảnh vân tay a Singularity

Các đường vân trên vân tay thường có cấu trúc song song, nhưng có những vùng đặc biệt gọi là singularity, bao gồm hai loại là core và delta Mỗi ngón tay đều có một core và một delta trên vân tay của mình.

Hình 2.1: Core và Delta trên vân tay b Minutiae

Khi khảo sát các đường vân, chúng ta có thể nhận thấy những điểm kết thúc (Ridge Ending) hoặc rẽ nhánh (Bifurcation), và những điểm này được gọi chung là Minutiae.

Hình 2.2: Cấu trúc của Minutiae

2.4.2.2 Trích xuất các điểm đặc trưng

Việc đối sánh vân tay dựa trên so sánh các đặc trưng của hai ảnh vân tay, trong đó trích xuất các điểm đặc trưng là bước quan trọng Qua các phương pháp xử lý ảnh, chúng ta có thể xác định vị trí các điểm đặc trưng trên ảnh vân tay Ảnh vân tay có tính chất định hướng, với các đường vân cong theo những hướng xác định Góc giữa phương của một điểm trên đường vân và phương ngang được gọi là hướng của điểm đó, và tập hợp các hướng này tạo thành trường định hướng của ảnh vân tay.

Hình 2.3: Ảnh vân tay (a) và trường định hướng của nó (b) a.2 Xác định các điểm singularity bằng chỉ số Pointcare

Chỉ số Pointcare tại điểm (i,j) trên ảnh vân tay được xác định bằng cách tính tổng đại số các độ sai lệch hướng của các điểm liền kề trên đường cong khép kín C xung quanh (i,j).

 n : là tổng số điểm trên đường cong “số” C

Dựa vào chỉ số Pointcare ta có thể xác định các điểm singularity như sau:

Hình 2.4: Cách tính chỉ số Pointcare tại điểm (i,j) với n = 8 b Trích xuất các điểm Minutiae

Có hai phương pháp chính để xác định các điểm minutiae: trích xuất từ ảnh nhị phân và ảnh xám Để nâng cao tốc độ thực thi và dễ dàng xử lý các minutiae bị lỗi, nhóm nghiên cứu đã quyết định sử dụng phương pháp trích xuất minutiae từ ảnh nhị phân.

Để trích xuất các điểm minutiae từ ảnh vân tay, trước tiên cần chuyển đổi ảnh thành ảnh mức xám Sau đó, sử dụng bộ lọc phù hợp để nâng cao chất lượng ảnh, cải thiện chi tiết và làm nổi đường vân Cuối cùng, ảnh xám ban đầu sẽ được biến đổi thành ảnh nhị phân với các giá trị 0 hoặc 1 tương ứng.

Sau đó, các điểm minutiae sẽ được trích như sau: giả sử (x,y) là một điểm trên đường vân đã được làm mảnh và N0, N1, …, N7 là 8 điểm xung quanh nó thì:

 (x,y) là một điểm kết thúc nếu 

 (x,y) là một điểm rẽ nhánh nếu

Hình 2.6: Phân loại đặc trưng Minutiae a) một phần điểm của vân tay; b) điểm kết thúc; c) điểm rẽ nhánh.

MÔ HÌNH CLIENT – SERVER

Mô hình Client - Server là một cấu trúc phổ biến trong mạng máy tính, bao gồm nhiều máy con (Client) và một máy chủ (Server) Khi máy con cần thông tin, nó sẽ gửi yêu cầu đến máy chủ, và máy chủ sẽ xử lý yêu cầu đó để trả kết quả về cho máy con.

Server không chỉ là phần cứng mà còn có thể là các chương trình hoặc ứng dụng cung cấp dịch vụ qua mạng Những ứng dụng này tiếp nhận mọi yêu cầu hợp lệ từ bất kỳ nguồn nào trên mạng, thực hiện các dịch vụ cần thiết và gửi kết quả trở lại cho máy tính đã gửi yêu cầu.

Client không chỉ là máy tính mà còn bao gồm các chương trình, ứng dụng và thiết bị điện tử có kết nối internet như điện thoại thông minh và máy tính bảng Nói chung, một thiết bị hoặc chương trình được xem là Client khi gửi yêu cầu tới một máy tính hoặc chương trình Server, và sau đó chờ phản hồi từ Server.

Hình 2.7: Mô hình Client – Server

Server và Client giao tiếp thông qua các thông điệp qua một cổng truyền thông Để tương tác, cả hai cần tuân theo một chuẩn giao tiếp gọi là giao thức Khi Client yêu cầu thông tin từ Server, nó phải tuân theo giao thức mà Server quy định Mô hình client-server mang lại nhiều ưu điểm.

Quản lý dữ liệu tập trung cho phép lưu trữ thông tin trên một server duy nhất, thay vì phân tán ở nhiều vị trí khác nhau Điều này không chỉ đơn giản hóa quá trình truy xuất và cập nhật dữ liệu mà còn nâng cao hiệu quả trong việc quản lý thông tin.

Việc bảo trì trở nên đơn giản và hiệu quả hơn nhờ vào khả năng quản lý tập trung Hầu hết các thao tác bảo trì chỉ cần thực hiện trên Server, giúp giảm thiểu công sức và thời gian Dữ liệu được lưu trữ tập trung trên Server cũng đồng nghĩa với việc kiểm soát và quản lý chúng trở nên dễ dàng hơn.

Mô hình Client-Server là lựa chọn lý tưởng cho các ứng dụng phục vụ nhiều Client, như các website Mô hình này cũng rất phù hợp khi cần tập trung hóa dữ liệu và quản lý, đồng thời hỗ trợ đa dạng các loại Client từ nhiều thiết bị khác nhau.

WINDOWS COMMUNICATION FOUNDATION (WCF)

Windows Communication Foundation (WCF) là công nghệ mới trên nền tảng NET Framework của Microsoft, cho phép phát triển ứng dụng phân tán với nhiều client tương tác với dịch vụ WCF cung cấp mô hình lập trình hợp nhất để xây dựng ứng dụng dịch vụ, mang lại giải pháp an toàn, đáng tin cậy và hỗ trợ giao dịch Nó tương thích với nhiều nền tảng và các ứng dụng đã được phát triển trước đó, nhằm mục đích cung cấp một mô hình lập trình duy nhất cho việc tạo ra dịch vụ trên nền tảng NET cho các tổ chức.

Hình 2.8: Kiến trúc của WCF

Lớp Contracts định nghĩa các đặc tả trong hệ thống bản tin, bao gồm thông tin về các công việc sẽ được thực hiện và yêu cầu thông tin từ các bên liên quan.

Lớp Service Runtime đảm nhận các hành vi trong quá trình thực thi dịch vụ, trong khi lớp Messaging bao gồm nhiều kênh khác nhau Mỗi kênh là một thành phần xử lý bản tin theo cách riêng, và một tập hợp các kênh thường được gọi là ngăn xếp kênh Các kênh này hoạt động trên cả nội dung và tiêu đề của bản tin.

Activation and Hosting classes manage the storage of services or execute them within an executable file overseen by an external agent, such as IIS or Windows Activation Services.

NGÔN NGỮ TRUY VẤN DỮ LIỆU LINQ

LINQ (Language Integrated Query) là công nghệ phát triển trên nền tảng NET 3.5, mang đến giải pháp truy vấn dữ liệu đồng nhất Nó tích hợp cú pháp truy vấn giống SQL vào các ngôn ngữ lập trình như C# và VB.NET, cho phép truy vấn trên nhiều loại dữ liệu khác nhau, từ đối tượng (Object) đến cơ sở dữ liệu quan hệ và XML.

LINQ cung cấp 3 phần chính gồm: LINQ to Objects, LINQ to XML và LINQ to ADO.NET (bao gồm: LINQ to SQL và LINQ to DataSets)

Hình 2.9: Mô hình kiến trúc LINQ

LINQ to Entities cho phép lập trình viên mô hình hóa cơ sở dữ liệu thông qua các lớp NET, giúp họ dễ dàng truy vấn, cập nhật, thêm và xóa dữ liệu một cách hiệu quả.

LINQ to Entities hỗ trợ đầy đủ transaction, view và các stored procedure, function

Nó cung cấp một phương pháp đơn giản để tích hợp khả năng kiểm tra tính hợp lệ của dữ liệu và các quy tắc vào mô hình dữ liệu của lập trình viên.

XÂY DỰNG HỆ THỐNG PHẦN MỀM

THIẾT KẾ HOẠT ĐỘNG

Hiện nay, phương pháp điểm danh truyền thống tại các trường học, khi giảng viên gọi tên từng sinh viên, đang gây lãng phí thời gian và công sức đáng kể Với một lớp học trung bình có 100 sinh viên, việc điểm danh có thể mất đến 16 phút, ảnh hưởng đến quá trình giảng dạy Để khắc phục những bất cập này, giải pháp tin học hóa thông qua một hệ thống phần mềm được đề xuất, bao gồm ba thành phần chính: server xử lý điểm danh, ứng dụng trên smartphone và ứng dụng website quản trị thông tin cho người dùng.

Máy chủ chịu trách nhiệm xử lý việc điểm danh sinh viên thông qua ứng dụng trên điện thoại di động và cơ sở dữ liệu Khi nhận yêu cầu từ ứng dụng, máy chủ sẽ tiếp nhận thông tin sinh viên cần điểm danh cùng với danh sách các đặc trưng vân tay đã được xử lý Dựa vào thông tin này, máy chủ sẽ truy xuất cơ sở dữ liệu để tìm kiếm thông tin tương ứng của sinh viên và thực hiện đối sánh Nếu kết quả khớp, máy chủ sẽ ghi nhận lần điểm danh và thông báo kết quả về ứng dụng.

Website được thiết kế cho phòng quản lý đào tạo, giúp theo dõi thông tin sinh viên và điểm danh lớp học Thầy cô có thể dễ dàng kiểm soát tình hình đi học của sinh viên, từ đó nâng cao chất lượng đào tạo Ứng dụng Client trên điện thoại di động cho phép sinh viên thực hiện điểm danh bằng cách xác định vị trí và gửi thông tin về server Nếu vị trí khớp với phòng học, server sẽ trả về kết quả Ứng dụng cũng tích hợp thuật toán xử lý ảnh vân tay, gửi danh sách đặc trưng vân tay đến server để điểm danh Ngoài ra, ứng dụng cho phép tra cứu thông tin điểm danh theo lớp học hoặc sinh viên, hỗ trợ theo dõi tình hình điểm danh của từng sinh viên.

Cơ sở dữ liệu quản lý thông tin được thiết kế nhằm phục vụ việc điểm danh sinh viên, đồng thời tích hợp các chức năng phụ như quản lý thông tin cá nhân và thời khóa biểu môn học của sinh viên.

Hình 3.1: Mô hình hoạt động hệ thống

PHÂN TÍCH THIẾT KẾ CƠ SỞ DỮ LIỆU QUẢN LÝ THÔNG TIN

Các chức năng chính của cơ sở dữ liệu:

 Quản lý thông tin sinh viên

 Quản lý thời khóa biểu môn học của sinh viên

 Quản lý thông tin điểm danh theo lớp học

 Quản lý thông tin điểm danh theo sinh viên

3.2.1 Mô hình ý niệm truyền thông

3.2.1.1 Quy trình tra cứu thông tin:

Hình 3.2: Quy trình tra cứu thông tin

3.2.1.2 Quy trình cập nhật thông tin :

Hình 3.3: Quy trình cập nhật thông tin

3.2.1.3 Quy trình thêm mới sinh viên:

Hình 3.4: Quy trình thêm mới sinh viên

3.2.1.4 Quy trình điểm danh sinh viên

Hình 3.5: Quy trình điểm danh sinh viên

3.2.2 Mô hình vật lý dữ liệu

Hình 3.6: Mô hình vật lý dữ liệu

STT Tên trường (field) Diễn giải Kiểu dữ liệu Ràng buộc

1 MAKHOA Mã khoa Varchar Khóa chính, 10

STT Tên trường (field) Diễn giải Kiểu dữ liệu Ràng buộc

1 MANHOM Mã nhóm Varchar Khóa chính, 10

STT Tên trường (field) Diễn giải Kiểu dữ liệu Ràng buộc

1 MALOP Mã lớp Varchar Khóa chính, 10

3 MAKHOA Mã khoa Varchar Khóa ngoại, 10

4 MANHOM Mã nhóm Varchar Khóa ngoại, 10

STT Tên trường (field) Diễn giải Kiểu dữ liệu Ràng buộc

1 MAGT Mã giới tính Bit Khóa chính

2 TENGT Tên giới tính Nvarchar 20

STT Tên trường (field) Diễn giải Kiểu dữ liệu Ràng buộc

1 MAPHONG Mã phòng học Varchar Khóa chính, 10

2 TENPHONG Tên phòng học Nvarchar 100

3 MACOSO Mã cơ sở Varchar Khóa ngoại, 10

STT Tên trường (field) Diễn giải Kiểu dữ liệu Ràng buộc

1 MASV Mã sinh viên Varchar Khóa chính, 10

2 MALOP Mã lớp Varchar Khóa ngoại, 10

3 HOTEN Họ tên sinh viên Nvarchar 200

5 MAGT Mã giới tính Bit Khóa ngoại

7 MAVANTAY Mã vân tay Text

STT Tên trường (field) Diễn giải Kiểu dữ liệu Ràng buộc

1 MACOSO Mã cơ sở Varchar Khóa chính, 10

2 TENCOSO Tên cơ sở Nvarchar 100

STT Tên trường (field) Diễn giải Kiểu dữ liệu Ràng buộc

1 MAMH Mã môn học Varchar Khóa chính, 10

2 TENMH Tên môn học Nvarchar 100

3 SOTC Số tín chỉ Int

STT Tên trường (field) Diễn giải Kiểu dữ liệu Ràng buộc

1 MATIET Mã tiết học Int Khóa chính

2 GIOBD Giờ bắt đầu Time 7

3 GIOKT Giờ kết thúc Time 7

Bảng 3.10: BẢNG ĐĂNG KÍ MÔN HỌC

(field) Diễn giải Kiểu dữ liệu Ràng buộc

1 MASV Mã sinh viên Varchar Khóa chính, Khóa ngoại, 10

2 MAMH Mã môn học Varchar Khóa chính, Khóa ngoại, 10

3 MANHOM Mã nhóm Varchar Khóa chính, Khóa ngoại, 10

Bảng 3.11: BẢNG THỜI KHÓA BIỂU HỌC KÌ

(field) Diễn giải Kiểu dữ liệu Ràng buộc

1 MAMH Mã môn học Varchar Khóa chính, khóa ngoại, 10

2 MANHOM Mã nhóm Varchar Khóa chính, khóa ngoại, 10

4 TIETBD Tiết bắt đầu Int Khóa ngoại

5 SOTIET Số tiết học Int

6 NGAYBD Ngày bắt đầu Date

7 NGAYKT Ngày kết thúc Date

8 MAPHONG Mã phòng Varchar Khóa ngoại, 10

(field) Diễn giải Kiểu dữ liệu Ràng buộc

1 MASV Mã sinh viên Varchar Khóa chính, Khóa ngoại, 10

2 MAMH Mã môn học Varchar Khóa chính, Khóa ngoại, 10

3 MANHOM Mã nhóm Varchar Khóa chính, Khóa ngoại, 10

4 NGAYDD Ngày điểm danh Date Khóa chính

5 GIODD Giờ điểm danh Time Khóa chính, 7

XÂY DỰNG CHỨC NĂNG QUẢN TRỊ TRÊN WEBSITE

Hình 3.7: Lưu đồ tổ chức website

3.3.1 Chức năng đăng nhập và đăng kí Đăng nhập là một phần không thể thiếu trong tất cả các website quản trị Phần đăng nhập rất cần thiết để bảo mật các thông tin quản lý và quyền lợi của từng người dùng một cách hiệu quả Dựa vào tài khoản đăng nhập, người dùng chỉ có thể sử dụng các chức năng nhất định đã được phân quyền bởi tài khoản admin

Tài khoản trên website quản trị được tạo qua trang đăng ký, nhưng chỉ admin mới có quyền tạo tài khoản mới để đảm bảo bảo mật Người dùng muốn có tài khoản truy xuất thông tin cần thông qua kiến nghị từ bộ phận quản lý nhân sự của nhà trường và sau đó đề xuất kiến nghị này với admin.

Hình 3.8: Chức năng đăng nhập và đăng kí

3.3.2 Chức năng tra cứu thông tin sinh viên

Trang web hỗ trợ người dùng tìm kiếm thông tin sinh viên theo mã sinh viên, họ tên hoặc khoa Mỗi sinh viên trong danh sách đều có chức năng cập nhật và xóa thông tin Ngoài việc hiển thị danh sách sinh viên, nhóm còn cung cấp tính năng xuất danh sách thành file Excel để người dùng dễ dàng tải về.

Hình 3.9: Chức năng tra cứu thông tin sinh viên

Trang chủ Thông tin sinh viên

Thông tin sinh viên Tra cứu Tra cứu Quản lý tài khoản

Thời khóa biểu sinh viên

Thời khóa biểu sinh viên

Thông tin điểm danh theo môn học

Thông tin điểm danh theo môn học

Thông tin điểm danh theo sinh viên

Thông tin điểm danh theo sinh viên Tạo tài khoản Tạo tài khoản Phân quyền truy cập

Xóa Xóa Sửa Sửa Tìm kiếm Tìm kiếm Thay đổi quyền Thay đổi quyền

3.3.3 Chức năng cập nhật thông tin sinh viên

Chức năng thay đổi thông tin sinh viên dựa trên mã sinh viên được cung cấp cho những người có thẩm quyền quản lý thông tin này.

Hình 3.10: Cập nhật thông tin sinh viên

3.3.4 Chức năng thêm mới sinh viên

Người được cấp quyền truy cập có khả năng tạo mới đối tượng để lưu trữ thông tin sinh viên, bao gồm việc tải lên ảnh vân tay của sinh viên từ máy tính và lưu trữ trên server Server sẽ xử lý ảnh vân tay, trích xuất các đặc trưng và lưu vào cơ sở dữ liệu sinh viên để phục vụ cho việc đối sánh và điểm danh Thông tin cần lưu trữ bao gồm mã sinh viên, họ tên, mã lớp, ngày sinh, giới tính, địa chỉ và các đặc trưng vân tay đã được xử lý.

Hình 3.11: Chức năng thêm sinh viên

3.3.5 Chức năng tra cứu thời khóa biểu sinh viên:

Để giúp người dùng dễ dàng tìm kiếm thông tin thời khóa biểu các môn học của sinh viên, trước tiên cần truy xuất thông tin bằng cách tìm kiếm sinh viên theo các tiêu chí như mã sinh viên, họ tên và khoa.

Hình 3.12: Tìm kiếm sinh viên để tra cứu thời khóa biểu

Với mỗi đối tượng sinh viên hiển thị trong danh sách kết quả tìm kiếm, nhấn vào nút

Chi tiết thời khóa biểu để xem thời khóa biểu của sinh viên tương ứng

Hình 3.13: Thời khóa biểu sinh viên

3.3.6 Chức năng tra cứu thông tin điểm danh theo môn học

Khi chọn môn học, người dùng sẽ thấy nhiều lớp khác nhau dựa trên mã nhóm tương ứng Để tra cứu thông tin, cần có tên môn học và mã nhóm đã chọn Kết quả sẽ hiển thị danh sách sinh viên cùng số lần điểm danh của từng người trong tổng số buổi học Ngoài ra, hệ thống cũng cung cấp chức năng cho phép sinh viên xem chi tiết thời gian điểm danh của các buổi học.

Hình 3.14: Thông tin điểm danh của các sinh viên theo môn học

3.3.7 Chức năng tra cứu thông tin điểm danh theo sinh viên

Để hỗ trợ người dùng trong việc tìm kiếm thông tin điểm danh sinh viên, cần truy xuất dữ liệu theo các tiêu chí như mã sinh viên, họ tên và khoa.

Hình 3.15: Kết quả tìm kiếm sinh viên để tra cứu thông tin điểm danh

Khi lựa chọn mục Thông tin điểm danh, website sẽ hiển thị danh sách các môn học mà sinh viên đã đăng ký cùng với số lần điểm danh so với tổng số buổi học của từng môn Đối với mỗi môn học trong danh sách, người dùng có thể xem chi tiết thời gian các lần điểm danh của sinh viên.

Hình 3.16: Thông tin điểm danh các môn học của sinh viên

3.3.8 Chức năng xem thông tin tài khoản

Trang web hiển thị danh sách thông tin các tài khoản, cho phép người dùng cập nhật thông tin và quyền truy cập của từng tài khoản một cách dễ dàng.

Hình 3.17: Thông tin tài khoản

3.3.9 Chức năng cập nhật quyền truy cập tài khoản

Chức năng này chỉ dành cho quản trị viên website, cho phép hiển thị danh sách và thay đổi quyền truy cập của các tài khoản Mặc định, khi khởi tạo, tài khoản mới sẽ không có quyền truy cập nào cho đến khi quản trị viên hoặc tài khoản có thẩm quyền cấp quyền.

Hình 3.18: Cấp quyền truy cập cho tài khoản

XÂY DỰNG VÀ PHÁT TRIỂN CÁC THUẬT TOÁN XỬ LÝ, ĐỐI SÁNH ẢNH VÂN TAY

ĐỐI SÁNH ẢNH VÂN TAY

3.4.1 XỬ LÝ ẢNH ĐẦU VÀO

3.4.1.1 Chuyển ảnh màu sang ảnh mức xám

Quá trình chuyển đổi ảnh màu sang ảnh mức xám diễn ra bằng cách xử lý từng điểm ảnh trong ảnh màu, nhằm chuyển đổi các điểm ảnh màu thành các điểm ảnh xám.

Công thức chuyển ảnh màu sang ảnh mức xám:

 𝐼 ′ : là ảnh kết quả (ảnh xám)

 𝐼 [𝑥,𝑦] : là điểm ảnh tại vị trí [x,y]

 width : là chiều dài của ảnh gốc

 height : là chiều cao của ảnh gốc

 𝑔𝑟𝑎𝑦𝑃𝑖𝑥𝑒𝑙(𝐼 [𝑥,𝑦] ): là giá trị xám (độ xám) tại điểm ảnh [x,y]

 𝑅𝑒𝑑(𝐼 [𝑥,𝑦] ) : là giá trị màu đỏ tại điểm ảnh [x,y]

 𝐵𝑙𝑢𝑒(𝐼 [𝑥,𝑦] ) : là giá trị màu lam tại điểm ảnh [x,y]

 𝐺𝑟𝑒𝑒𝑛(𝐼 [𝑥,𝑦] ) : là giá trị màu lục tại điểm ảnh [x,y]

Hình 3.19: Ảnh vân tay và ảnh mức xám

Mã giả: for i ← 0 to I.width for j ← 0 to I.height

3.4.1.2 Cân bằng lược đồ xám

Lược đồ xám (Histogram) là công cụ thể hiện tần suất xuất hiện của các mức xám trong ảnh, cung cấp thông tin về sự phân bố giá trị mức xám Nó cho thấy các mức xám chủ yếu tập trung ở khoảng giá trị nào Lược đồ này được biểu diễn trên hệ trục tọa độ Oxy, trong đó trục hoành (Ox) đại diện cho các giá trị mức xám từ 0 đến 255, còn trục tung (Oy) thể hiện số lần xuất hiện của từng giá trị mức xám trong ảnh.

Đối với những ảnh có độ tương phản thấp, lược đồ xám thường không phân bố đồng đều mà tập trung ở một phần Cân bằng lược đồ xám giúp phân bố các giá trị mức xám đều hơn trên toàn bộ ảnh, từ đó tăng cường độ tương phản toàn cục của ảnh.

Phương pháp cân bằng lược đồ xám:

Gọi 𝑔 là một giá trị mức xám bất kì, 𝑔 ∈ [0,255]

Và 𝑓(𝑔) là giá trị mức xám mới của 𝑔 sau khi cân bằng [5]

 𝑡(𝑔) : là số lượng các điểm ảnh có giá trị mức xám ≤ 𝑔

 width : là chiều dài của ảnh

 height : là chiều cao của ảnh

 ℎ𝑖𝑠𝑡𝑜𝑔𝑟𝑎𝑚(𝑖) : là lược đồ xám tại giá trị mức xám i

Hình 3.21: Lược đồ xám trước và sau khi cân bằng

Hình 3.22 : Ảnh vân tay trước và sau khi cân bằng lược đồ xám

Mã giả: for i ← 0 to 255 for j ← 0 to i equalizedHistogram[i] ← equalizedHistogram[i] + histogram[j] equalizedHistogram[i] ← Round((equalizedHistogram[i]/width*height)*255)

Phân ngưỡng là kỹ thuật phổ biến trong xử lý ảnh, giúp xác định giá trị mức xám cân đối cho hình ảnh Giá trị này đóng vai trò quan trọng trong các phương pháp liên quan, như kỹ thuật nhị phân hóa ảnh.

Gọi θ là ngưỡng threshold cần tìm, ta tìm θ thỏa : 𝑓(𝜃) = max

 𝑔 : là giá trị mức xám của ảnh, 𝑔 ∈ [0,255]

 𝑓(𝑔) : là hàm số được ánh xạ từ g, 𝑔 ↦ 𝑓(𝑔)

 𝑚(𝑔) : là mômen quán tình trung bình có mức xám ≤ 𝑔

 𝑡(𝑔) : là số lượng các điểm ảnh có giá trị mức xám ≤ 𝑔

 ℎ𝑖𝑠𝑡𝑜𝑔𝑟𝑎𝑚(𝑖): là lược đồ xám tại giá trị mức xám i

The algorithm initializes variables for thresholding and maximum values, along with arrays for cumulative distribution and mean calculations It computes the cumulative histogram and mean intensity for each pixel value Subsequently, the algorithm calculates the between-class variance for each threshold value and identifies the maximum variance, updating the threshold accordingly Finally, the optimal threshold is returned based on the maximum variance found.

Một trong những vấn đề trọng tâm nghiên cứu các kỹ thuật phân đoạn ảnh là biên

Trong lĩnh vực xử lý ảnh, điểm biên được xác định là những điểm có sự thay đổi nhanh chóng hoặc đột ngột về độ xám Từ những điểm biên này, ta có thể hình thành các đường biên hoặc đường bao quanh của ảnh Đường biên đóng vai trò quan trọng trong việc phân tích và nhận diện các đối tượng trong ảnh.

 Đường biên là một loại đặc trưng cục bộ tiêu biểu trong phân tích, nhận dạng ảnh

Người ta sử dụng biên để phân tách các vùng xám khác nhau, hoặc ngược lại, các vùng xám cách biệt được dùng để xác định đường biên Phát hiện biên trực tiếp là một phương pháp quan trọng trong việc phân tích hình ảnh.

Phương pháp phát hiện biên trực tiếp dựa vào sự biến thiên độ sáng của điểm ảnh, sử dụng kỹ thuật đạo hàm để làm nổi biên Đạo hàm bậc nhất của ảnh tạo ra phương pháp Gradient, trong khi đạo hàm bậc hai dẫn đến phương pháp Laplace Cả hai phương pháp này đều thuộc nhóm phương pháp dò biên cục bộ.

Nhận xét: Phương pháp phát hiện biên trực tiếp ít bị tác động của nhiễu

KỸ THUẬT PHÁT HIỆN BIÊN GRADIENT

Gradient là một vec tơ 𝑓(𝑥, 𝑦) thể hiện tốc độ thay đổi mức xám của điểm ảnh trong xử lý ảnh hai chiều, với các thành phần biểu thị sự thay đổi theo hai hướng x và y.

Phương pháp này sử dụng đạo hàm riêng bậc nhất theo hướng x và y để tính toán khoảng cách giữa hai điểm kế cận Gradient được biểu diễn trong tọa độ góc (r, θ), trong đó r là véc tơ và θ là góc.

Gradient trong xử lý ảnh là một khái niệm phức tạp, nhưng có thể được đơn giản hóa bằng cách sử dụng kỹ thuật Gradient với cặp mặt nạ H1 và H2 vuông góc Để xác định biên độ g(m,n) tại điểm (m,n), ta sử dụng định nghĩa g1 và g2 là Gradient theo hai hướng x và y tương ứng.

𝑔(𝑚, 𝑛) = √𝑔 1 2 (𝑚, 𝑛) + 𝑔 2 2 (𝑚, 𝑛) = 𝐴 0 Để giảm độ phức tạp tính toán, A0 được tính gần đúng như sau: [1]

𝐴 0 = | 𝑔 1 (𝑚, 𝑛)| + | 𝑔 2 (𝑚, 𝑛)| (3.4) b Phát hiện biên gián tiếp

Trong phương pháp phát hiện biên gián tiếp, chỉ cần xem xét ảnh nhị phân, vì mọi ảnh đều có thể chuyển đổi thành dạng nhị phân thông qua kỹ thuật phân ngưỡng Chúng ta ký hiệu T1 là tập hợp các điểm màu đen và T2 là tập hợp các điểm màu trắng.

Các điểm 4 và 8-láng giềng

Giả sử (i,j) là một điểm ảnh, các điểm 4-láng giềng là các điểm kề trên, dưới, trái, phải của (i,j): 𝑁 4 (𝑖, 𝑗) = {(𝑖 ′ , 𝑗 ′ ): |𝑖 − 𝑖′| + |𝑗 − 𝑗′| = 1}

Những điểm 8-láng giềng gồm: 𝑁 8 (𝑖, 𝑗) = {(𝑖 ′ , 𝑗 ′ ): max (|𝑖 − 𝑖 ′ | + |𝑗 − 𝑗 ′ |) = 1} Sau đây là biểu diễn ma trận 4 và 8-láng giềng kề nhau của điểm ảnh P:

Như ta nhận thấy, các điểm P0, P2, P4, P6 là các 4-láng giềng của điểm ảnh P, còn các điểm P0, P1, P2, P3, P4, P5, P6, P7 là các 8-láng giềng của P.[1] c Phát hiện biên của ảnh vân tay

Ảnh vân tay có cấu trúc phức tạp hơn nhiều so với các loại ảnh thông thường, và mỗi lần lấy mẫu vân tay lại cho kết quả khác nhau Tuy nhiên, phần trọng tâm của vân tay luôn được bảo toàn, trong khi các phần khác chủ yếu nằm ở rìa Việc xử lý toàn bộ ảnh vân tay không chỉ tốn thời gian và tài nguyên máy tính mà còn dẫn đến kết quả kém chính xác do phải xử lý các phần không thuộc trọng tâm.

Để tối ưu hóa và nâng cao độ chính xác cho các quá trình xử lý ảnh vân tay, việc phát hiện một đường biên đặc biệt là rất quan trọng Đường biên này cần phân chia rõ ràng giữa phần trọng tâm của ảnh và các phần rìa không cần thiết, giúp cải thiện hiệu quả trong việc phân tích và nhận diện vân tay.

Hình 3.23: Ảnh vân tay và biên của nó

Nhị phân hóa là kỹ thuật chuyển đổi giá trị màu mức xám của các điểm ảnh thành hai giá trị màu trắng hoặc đen Quá trình này giúp cải thiện độ chính xác và tăng tốc độ xử lý ảnh, vì chỉ cần làm việc với hai giá trị màu thay vì 256 mức xám.

Giả sử ta đã có ngưỡng threshold 𝜃, kỹ thuật nhị phân hóa ảnh được thực hiện theo công thức:

 𝐼 [𝑥,𝑦] : là độ xám tại điểm ảnh [x,y]

Mã giả: for i ← 0 to 255 for j ← 0 to i if I[i,j] > threshold then I[i,j] ← 255 else I[i,j] ← 0

XÂY DỰNG SERVER - WCF SERVICE

Chức năng chính của Server Điểm danh sinh viên là phục vụ cho ứng dụng trên điện thoại di động, giúp sinh viên thực hiện điểm danh Server được phát triển trên nền tảng WCF Service, cung cấp các thao tác truy xuất dữ liệu từ cơ sở dữ liệu cho ứng dụng client, đồng thời thực hiện đối sánh vân tay để điểm danh sinh viên một cách hiệu quả.

Ứng dụng Client trên điện thoại di động tích hợp các thao tác xử lý và trích xuất đặc trưng ảnh vân tay để thực hiện điểm danh cho sinh viên Khi sinh viên cần điểm danh, hệ thống tự động xử lý ảnh vân tay và gửi danh sách đặc trưng cùng yêu cầu kết nối đến Server Server sau đó truy xuất cơ sở dữ liệu để so sánh và xác nhận tính hợp lệ của vân tay Nếu đối sánh thành công, Server thông báo điểm danh thành công và lưu trữ thông tin ngày, giờ, lớp học và môn học; ngược lại, nếu không trùng khớp, thông báo điểm danh thất bại sẽ được gửi về Bên cạnh đó, ứng dụng Client trên Website dành cho cán bộ quản lý cho phép tra cứu thông tin sinh viên, điểm danh và quản lý dữ liệu sinh viên.

XÂY DỰNG LỚP XỬ LÝ SERVER – WCF SERVICE

Với sự xuất hiện của WCF, tất cả các phương thức giao tiếp trước đây đều có thể được thực hiện trên nền tảng này Điều này cho phép các nhà phát triển chỉ cần nắm vững công nghệ WCF để nhanh chóng xây dựng các ứng dụng hiệu quả.

WCF (Windows Communication Foundation) là mô hình lập trình giúp phát triển các giải pháp dịch vụ với tính ổn định, bảo mật và khả năng đảm bảo giao dịch Nó đơn giản hóa quá trình phát triển ứng dụng kết nối và mang lại giá trị đáng kể cho nhà phát triển, với cách tiếp cận phát triển hệ thống phân tán một cách thống nhất, đơn giản và dễ quản lý.

WCF Service Contract là danh sách các thao tác mà Server cung cấp cho Client Khi Client cần thực hiện một thao tác, họ sẽ tìm kiếm trong danh sách này và gửi yêu cầu đến Server để nhận kết quả.

Bảng 3.26: Ý nghĩa các thuộc tính của WCF Service Contract

CheckStudentID Kiểm tra mã số sinh viên có hợp lệ không

GetAllClass Trả về danh sách tất cả các lớp học có trong thời khóa biểu GetAttendancesOfStudent Trả về thông tin điểm danh của sinh viên

GetClassesOfStudent Trả về danh sách các lớp học sinh viên đăng kí

GetClassList Trả về danh sách những lớp học đang diễn ra tại địa điểm và thời điểm Client gọi phương thức này

GetStudentList Trả về danh sách những sinh viên có đăng kí học lớp đã chọn

GetStudentsOfClass Trả về danh sách sinh viên đăng kí học lớp học

Lớp Service bao gồm tất cả các thành phần và chức năng của Server, chứa toàn bộ các phương thức hiện có, bao gồm cả những phương thức riêng biệt dành cho Server Những phương thức này rất quan trọng trong việc hỗ trợ các yêu cầu từ Client.

 Ý nghĩa của những phương thức dành riêng cho Server

Bảng 3.27: Ý nghĩa các thuộc tính của lớp Service

GetColNumber Lấy số cột của ảnh (tương ứng với chiều dài ảnh) được lưu trong danh sách đặc trưng

GetListFromString Lấy danh sách đặc trưng kiểu chuỗi trong cơ sở dữ liệu và chuyển thành kiểu danh sách để xử lý

GetMinutiaeFromString Lấy một chuỗi lưu những giá trị của một đặc trưng Minutiae và chuyển thành một đối tượng Minutiae

GetMinutiaeList Lấy một chuỗi lưu những giá trị của tất cả các đặc trưng

Minutiae và chuyển thành một danh sách các đặc trưng

3.5.4 Kết nối cơ sở dữ liệu bằng LinQ Để Server có thể trả về đúng kết quả mà Client mong muốn, Server phải truy xuất được vào cơ sở dữ liệu để lấy kết quả đó Có rất nhiều phương pháp để truy xuất cơ sở dữ liệu từ Server, tuy nhiên nhóm nghiên cứu đã quyết định chọn sử dụng ngôn ngữ LinQ vì những ưu điểm vượt trội của nó

Các lớp xử lý được hình thành từ LinQ:

Hình 3.52: Các lớp xử lý được hình thành từ LinQ

XÂY DỰNG ỨNG DỤNG CLIENT CHẠY TRÊN SMARTPHONE

Hình 3.53: Lưu đồ tổ chức ứng dụng client trên smartphone

3.6.1 Xây dựng giao diện màn hình chính

Hệ thống cung cấp các chức năng chính như điểm danh sinh viên, thông tin điểm danh và thông tin đề tài Ngoài ra, nhóm nghiên cứu cũng phát triển chức năng bổ trợ Kiểm nghiệm thuật toán để kiểm tra tính chính xác trong quá trình xử lý ảnh và đối sánh vân tay, nhưng chức năng này sẽ không được cung cấp cho người dùng thông thường.

Hình 3.54: Giao diện chính của chương trình Client

3.6.2 Xây dựng chức năng điểm danh sinh viên Để thực hiện chức năng điểm danh sinh viên, ứng dụng sử dụng 2 thông tin cơ bản:

 Vị trí hiện tại của sinh viên

 Ảnh vân tay chọn để điểm danh

Ứng dụng sẽ kết nối với server để kiểm tra xem vị trí hiện tại của sinh viên có nằm trong phạm vi cơ sở học hay không Nếu vị trí trùng khớp, server sẽ gửi danh sách các lớp môn học có sẵn trong ngày hôm đó Danh sách lớp học sẽ được hiển thị trên điều khiển ListBox, cho phép hiển thị nhiều thông tin trên một mục, giúp người dùng dễ dàng nắm bắt thông tin.

Hình 3.55: ListBox hiển thị danh sách lớp học

Người dùng có thể lọc danh sách môn học theo khoa thông qua điều khiển ListPicker Để đảm bảo giao diện không bị rối, chỉ hiển thị tối đa 5 ListPickerItem cùng một lúc, trong khi các ListPickerItem còn lại có thể được truy cập bằng cách kéo trượt.

Hình 3.56: ListPicker lọc danh sách môn học theo khoa

Tại trang Danh sách lớp học, người dùng có thể nhấn vào nút trên

Application Bar để xem vị trí hiện tại của mình trên bản đồ Google Map

Sau khi chọn lớp học, sinh viên sẽ sử dụng ảnh vân tay lưu trong điện thoại để thực hiện đối sánh Quá trình tiền đối sánh diễn ra tại client, nơi vân tay được xử lý để trích xuất đặc trưng và gửi thông tin lớp học cùng danh sách đặc trưng vân tay tới server Các thao tác xử lý ảnh vân tay tại client được hỗ trợ bởi các lớp xử lý ứng dụng, giúp tăng tốc độ và giảm tải cho server khi nhận nhiều yêu cầu điểm danh cùng lúc Nếu kết quả đối sánh thành công, server sẽ ghi nhận thông tin điểm danh của sinh viên vào cơ sở dữ liệu.

Hình 3.57: Lưu đồ quá trình điểm danh sinh viên

3.6.3 Xây dựng chức năng định vị vị trí và hiển thị bản đồ Để thực hiện điểm danh, ứng dụng cần xác định vị trị hiện tại của sinh viên Windows Phone cung cấp một lớp cốt lõi để sử dụng dịch vụ định vị vị trí (GPS) là GeoCoordinateWatcher Để sử dụng lớp này cần có một tham chiếu đến System.Device và hướng sử dụng System.Device.Location

Lớp GeoCoordinateWatcher xây dựng dựa trên hai lựa chọn về độ chính xác:

 Default: sử dụng Wi-Fi hoặc các tháp tín hiệu di động để xác định vị trí tùy thuộc vào sự sẵn có của các nguồn

Sử dụng bộ phận GPS tích hợp trong các thiết bị điện thoại có thể mang lại độ chính xác cao hơn so với chế độ mặc định, nhưng điều này có thể ảnh hưởng đến hiệu suất hoạt động của ứng dụng.

Sau khi khởi tạo đối tượng GeoCoordinateWatcher, bạn cần thiết lập xử lý cho sự kiện PositionChanged và gọi phương thức Start() Trong sự kiện PositionChanged, đối tượng GeoCoordinate sử dụng hai thuộc tính quan trọng nhất để xác định tọa độ.

Xác định vị trị hiện tại

Xác định vị trị hiện tại Chọn ảnh vân tay

Gửi thông tin lên server

Gửi thông tin lên server

Chọn lớp học Trích xuất đặc trưng vân tay

Trích xuất đặc trưng vân tay Đối sánh với vân tay trong cơ sở dữ liệu Đối sánh với vân tay trong cơ sở dữ liệu

Thông báo điểm danh không thành công

Thông báo điểm danh không thành công

Thông báo điểm danh thành công – Ghi nhận thông tin điểm danh

Thông báo điểm danh thành công – Ghi nhận thông tin điểm danh

Không trùng khớp Trùng khớp

 Latitude: kiểu double, giá trị từ -90 đến 90

 Longtitude: kiểu double, giá trị từ -180 đến 180

Nếu ứng dụng không được cấp quyền truy cập vị trí, giá trị Latitude và Longitude sẽ là Double.NaN và IsUnknown sẽ là true Bài viết này sử dụng Google Maps API để hiển thị vị trí hiện tại của sinh viên Google Maps API hoạt động bằng cách tải về các hình ảnh bản đồ kích thước 256x256 pixel, được xác định qua tọa độ X và Y trong lưới hình ảnh của bản đồ thế giới, với độ phóng to cụ thể Đường dẫn truy cập dịch vụ Google Maps có dạng: http://mt{0}.google.com/vt/lyrs={1}&z={2}&x={3}&y={4}, kèm theo bốn tham số.

 {0}: số đại diện cho server

 {1}: chế độ hiển thị của bản đồ

 {3}: tọa độ x của bản đồ

 {4}: tọa độ y của bản đồ

Ví dụ: Với đường dẫn: https://mts0.google.com/vt/lyrs=m@215000000&x&094&s=&y397&z

Dịch vụ Google Map trả về ảnh bản đồ:

Hình 3.58: Bản đồ Google map

Để giúp người dùng xác định địa chỉ hiện tại của mình, ứng dụng sử dụng dữ liệu từ Google Map thông qua địa chỉ sau, kèm theo hai tham số: `http://maps.googleapis.com/maps/api/geocode/json?latlng={0},{1}&sensor=true`.

Dịch vụ Google Maps cung cấp dữ liệu JSON chứa địa chỉ cụ thể cho vị trí hiện tại Để hiển thị trên bản đồ trong ứng dụng Client, ta sử dụng control Pushpin từ lớp Microsoft.Phone.Controls.Maps để tạo đinh ghim thông báo với địa chỉ cụ thể, cho phép tùy chỉnh màu nền và màu chữ của đinh ghim tại vị trí đó.

Hình 3.59: Hiển thị địa chỉ ở vị trí hiện tại

3.6.4 Xây dựng chức năng tra cứu thông tin điểm danh:

Chức năng Tra cứu thông tin điểm danh được xây dựng gồm 2 phần:

Thông tin điểm danh lớp học bao gồm danh sách sinh viên theo học, số lần điểm danh của từng sinh viên và chi tiết thời gian cho mỗi lần điểm danh mà sinh viên đã chọn.

Hình 3.60: Lưu đồ tra cứu điểm danh theo môn học

Thông tin điểm danh của sinh viên bao gồm danh sách các môn học mà sinh viên đang theo học, số lần điểm danh cho từng môn học và chi tiết thời gian của các lần điểm danh liên quan đến môn học đã chọn.

Hình 3.61: Lưu đồ tra cứu điểm danh theo sinh viên

3.6.5 Xây dựng chức năng kiểm nghiệm thuật toán

Chức năng Kiểm nghiệm thuật toán được xây dựng gồm 2 phần:

 Kiểm nghiệm các thuật toán xử lý ảnh: Kiểm nghiệm từng bước trong quá trình xử lý ảnh vân tay

Hình 3.62: Quá trình xử lý ảnh vân tay

Thông tin điểm danh theo môn học

Thông tin điểm danh theo môn học

Chọn môn học và mã nhóm

Chọn môn học và mã nhóm

Hiển thị danh sách sinh viên của lớp môn học

Hiển thị danh sách sinh viên của lớp môn học

Xem chi tiết thời gian điểm danh

Xem chi tiết thời gian điểm danh

Thông tin điểm danh theo sinh viên

Thông tin điểm danh theo sinh viên

Hiển thị danh sách kết quả tìm kiếm

Hiển thị danh sách kết quả tìm kiếm

Hiển thị thông tin điểm danh các môn học của sinh viên

Hiển thị thông tin điểm danh các môn học của sinh viên

Xem chi tiết thời gian điểm danh

Xem chi tiết thời gian điểm danh

 Kiểm nghiệm đối sánh vân tay: Kiểm nghiệm kết quả đối sánh của 2 vân tay

Hình 3.63: Lưu đồ thuật toán đối sánh 2 ảnh vân tay Ảnh vân tay 1 Ảnh vân tay 1 Ảnh vân tay 2 Ảnh vân tay 2

Danh sách các điểm Minutiae 1

Danh sách các điểm Minutiae 1

Trích xuất các điểm đặc trưng

Trích xuất các điểm đặc trưng

Danh sách các điểm Pointcare 1

Danh sách các điểm Pointcare 1 Danh sách các điểm Minutiae 2

Danh sách các điểm Minutiae 2

Trích xuất các điểm đặc trưng

Trích xuất các điểm đặc trưng

Danh sách các điểm Pointcare 2

Danh sách các điểm Pointcare 2

Danh sách các điểm Minutiae tương đồng 1

Danh sách các điểm Minutiae tương đồng 1

Danh sách các điểm Minutiae 1

Danh sách các điểm Minutiae 1

Danh sách các điểm Pointcare tương đồng

Danh sách các điểm Pointcare tương đồng bao gồm việc đối sánh góc và vị trí tương đối, cũng như khoảng cách giữa từng Minutiae và Pointcare Việc đối sánh này giúp xác định mối liên hệ và sự tương đồng giữa các điểm, từ đó nâng cao độ chính xác trong phân tích.

Danh sách các điểm Minutiae tương đồng 2

Danh sách các điểm Minutiae tương đồng bao gồm việc phân tích góc hợp giữa đường thẳng qua Pointcare và Minutiae với trục Ox Việc đối sánh này giúp xác định mối liên hệ và tính chính xác trong việc nhận diện đặc điểm của các điểm Minutiae.

Danh sách các điểm Minutiae tương đồng 3

Danh sách các điểm Minutiae tương đồng 3

Thỏa điều kiện Thỏa điều kiện

KẾT QUẢ THỰC HIỆN

Ngày đăng: 12/01/2022, 23:47

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] PGS.TS Nguyễn Quang Hoan, “Giáo trình xử lý ảnh”, Học viện công nghệ bưu chính viễn thông, 2006 Sách, tạp chí
Tiêu đề: Giáo trình xử lý ảnh
[2] Nguyễn Hoàng Huy, Luận Văn Thạc Sỹ “Nhận Dạng Vân Tay”, Đại học Bách Khoa TPHCM, 2010 Sách, tạp chí
Tiêu đề: Nhận Dạng Vân Tay
[3] DPE Team, “Giới thiệu tổng quan về WCF”, Microsoft Vietnam Sách, tạp chí
Tiêu đề: Giới thiệu tổng quan về WCF
[5] TS.Đỗ Năng Toàn - TS.Phạm Việt Bình, “Giáo Trình Xử Lý Ảnh”, Đại học Thái Nguyên, 2007 Sách, tạp chí
Tiêu đề: Giáo Trình Xử Lý Ảnh
[6] Dương Hiếu Đẩu - Nguyễn Trung Nhơn, Bài Báo Khoa Học “Áp Dụng Thuật Toán Cải Thiện Dấu Vân Tay Bằng Phép Lọc Gabor”, Đại học Cần Thơ, 2011 Sách, tạp chí
Tiêu đề: Áp Dụng Thuật Toán Cải Thiện Dấu Vân Tay Bằng Phép Lọc Gabor
[7] Nhóm Cảm biến Nhận dạng vân tay, Lớp ĐH Cơ điện tử, “Đồ án cảm biến nhận dạng vân tay”, ĐH Công nghiệp Hà Nội, 2010.Tài liệu tham khảo nước ngoài Sách, tạp chí
Tiêu đề: Đồ án cảm biến nhận dạng vân tay”, ĐH Công nghiệp Hà Nội, 2010
[8] Charles Petzold, “Programming Windows Phone 7”, Microsoft Sách, tạp chí
Tiêu đề: Programming Windows Phone 7
[9] Philippe Parra, “Fingerprint minutiae extraction and matching for identification procedure”, University of California, San Diego Sách, tạp chí
Tiêu đề: Fingerprint minutiae extraction and matching for identification procedure
[10] Lisa Thalheim, “A simple matching algorithm for fingerprint minutiae datasets in accordance with DIN V 66400”.Trang web tham khảo Sách, tạp chí
Tiêu đề: A simple matching algorithm for fingerprint minutiae datasets in accordance with DIN V 66400”

HÌNH ẢNH LIÊN QUAN

Hình 3.1: Mô hình hoạt động hệ thống - Nghiên cứu và phát triển kỹ thuật nhận diện dấu vân tay cho hệ thống điểm danh sinh viên
Hình 3.1 Mô hình hoạt động hệ thống (Trang 23)
Hình 3.6: Mô hình vật lý dữ liệu - Nghiên cứu và phát triển kỹ thuật nhận diện dấu vân tay cho hệ thống điểm danh sinh viên
Hình 3.6 Mô hình vật lý dữ liệu (Trang 25)
Hình 3.11: Chức năng thêm sinh viên - Nghiên cứu và phát triển kỹ thuật nhận diện dấu vân tay cho hệ thống điểm danh sinh viên
Hình 3.11 Chức năng thêm sinh viên (Trang 29)
Hình 3.10: Cập nhật thông tin sinh viên - Nghiên cứu và phát triển kỹ thuật nhận diện dấu vân tay cho hệ thống điểm danh sinh viên
Hình 3.10 Cập nhật thông tin sinh viên (Trang 29)
Hình 3.21: Lược đồ xám trước và sau khi cân bằng - Nghiên cứu và phát triển kỹ thuật nhận diện dấu vân tay cho hệ thống điểm danh sinh viên
Hình 3.21 Lược đồ xám trước và sau khi cân bằng (Trang 33)
Hình 3.24: Xác định hướng của điểm ảnh (x, y) - Nghiên cứu và phát triển kỹ thuật nhận diện dấu vân tay cho hệ thống điểm danh sinh viên
Hình 3.24 Xác định hướng của điểm ảnh (x, y) (Trang 37)
Hình 3.25: Xác định Trường định hướng của 2 điểm ảnh kế cận - Nghiên cứu và phát triển kỹ thuật nhận diện dấu vân tay cho hệ thống điểm danh sinh viên
Hình 3.25 Xác định Trường định hướng của 2 điểm ảnh kế cận (Trang 38)
Hình 3.28: Lưu đồ quá trình tìm xương ảnh - Nghiên cứu và phát triển kỹ thuật nhận diện dấu vân tay cho hệ thống điểm danh sinh viên
Hình 3.28 Lưu đồ quá trình tìm xương ảnh (Trang 41)
Hình 3.30: Hình ảnh thể hiện một phần cấu trúc xương của vân tay - Nghiên cứu và phát triển kỹ thuật nhận diện dấu vân tay cho hệ thống điểm danh sinh viên
Hình 3.30 Hình ảnh thể hiện một phần cấu trúc xương của vân tay (Trang 42)
Hình 3.34: Ảnh xương vân tay trước và sau khi xóa xương thừa bằng kỹ thuật dò theo - Nghiên cứu và phát triển kỹ thuật nhận diện dấu vân tay cho hệ thống điểm danh sinh viên
Hình 3.34 Ảnh xương vân tay trước và sau khi xóa xương thừa bằng kỹ thuật dò theo (Trang 44)
Hình 3.39a: Vị trí tương đối của các đặc trưng Minutiae - Nghiên cứu và phát triển kỹ thuật nhận diện dấu vân tay cho hệ thống điểm danh sinh viên
Hình 3.39a Vị trí tương đối của các đặc trưng Minutiae (Trang 47)
Hình 3.49: Sơ đồ giao tiếp giữa Client và Server - Nghiên cứu và phát triển kỹ thuật nhận diện dấu vân tay cho hệ thống điểm danh sinh viên
Hình 3.49 Sơ đồ giao tiếp giữa Client và Server (Trang 57)
Hình 3.51: Lớp Service - Nghiên cứu và phát triển kỹ thuật nhận diện dấu vân tay cho hệ thống điểm danh sinh viên
Hình 3.51 Lớp Service (Trang 59)
Hình 3.52: Các lớp xử lý được hình thành từ LinQ - Nghiên cứu và phát triển kỹ thuật nhận diện dấu vân tay cho hệ thống điểm danh sinh viên
Hình 3.52 Các lớp xử lý được hình thành từ LinQ (Trang 60)
Hình 3.57: Lưu đồ quá trình điểm danh sinh viên - Nghiên cứu và phát triển kỹ thuật nhận diện dấu vân tay cho hệ thống điểm danh sinh viên
Hình 3.57 Lưu đồ quá trình điểm danh sinh viên (Trang 63)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w