1. Trang chủ
  2. » Tất cả

Đồ Án 3.Docx

35 4 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 đề Phần Mềm Nhận Dạng Khuôn Mặt Để Điểm Danh
Tác giả Trần Văn Đạt
Người hướng dẫn Nguyễn Ngọc Văn
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Khoa Học Máy Tính
Thể loại Báo cáo đồ án
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 35
Dung lượng 4,26 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN VỀ XỬ LÝ ẢNH SỐ (8)
    • 1.1. Giới thiệu chung về xử lý ảnh số và ứng dụng (8)
    • 1.2. Tổng quan về các kỹ thuật xử lý ảnh số (8)
      • 1.2.1 Thu nhận ảnh (8)
      • 1.2.2 Tiền xử lý (8)
      • 1.2.3 Phân đoạn ảnh (Phân vùng ảnh) (8)
      • 1.2.4 Biểu diễn và mô tả (9)
      • 1.2.5 Nhận dạng và nội suy (9)
      • 1.2.6 Cơ sở tri thức (9)
    • 1.3 Những khái niệm cơ bản trong hệ thống xử lý ảnh (9)
      • 1.3.1 Điểm ảnh (9)
      • 1.3.2 Độ phân giải của ảnh (10)
      • 1.3.3 Mức xám của ảnh (10)
      • 1.3.4 Định nghĩa ảnh số (10)
  • CHƯƠNG 2: NHẬN DẠNG KHUÔN MẶT BẰNG EIGENFACE (11)
    • 2.1 Tìm hiểu về PCA (Principal Component Analysis) (11)
    • 2.2 Tìm hiểu EigenFace (12)
    • 2.3 Face Detection (13)
    • 2.4 Tìm hiểu về AdaBoost (15)
  • CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG (17)
    • 3.1 Sơ đồ phân cấp chức năng của hệ thống (17)
    • 3.2 Sơ đồ chức năng hệ thống (17)
    • 3.3 Bảng mô tả chức năng hệ thống (17)
    • 3.3 Sơ đồ mức ngữ cảnh (21)
    • 3.4 Biểu đồ luồng dữ liệu mức đỉnh (21)
    • 3.5 Sơ đồ quan hệ thực thể liên kết (22)
  • CHƯƠNG 4: ỨNG DỤNG VÀO HỆ THỐNG (23)
  • CHƯƠNG 5: MINH HỌA MỘT VÀI TÍNH NĂNG CHÍNH CỦA HỆ THỐNG (27)
    • 5.1 Khi người dùng là sinh viên đăng nhập (27)
    • 5.2 Khi đối tượng đăng nhập là giảng viên (30)
    • 5.3 Khi đối tượng đăng nhập là admin (32)

Nội dung

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ VIỄN THÔNG  BÁO CÁO ĐỒ ÁN 3 ĐỀ TÀI PHẦN MỀM NHẬN DẠNG KHUÔN MẶT ĐỂ ĐIỂM DANH Giảng viên hướng dẫn Nguyễn Ngọc Văn Sinh viên thực hiện Trần Văn Đạt 20172[.]

TỔNG QUAN VỀ XỬ LÝ ẢNH SỐ

Giới thiệu chung về xử lý ảnh số và ứng dụng

Xử lý ảnh đòi hỏi kiến thức rộng về nhiều lĩnh vực khác nhau, bắt đầu từ xử lý tín hiệu số với các khái niệm cơ bản như tích chập, biến đổi Fourier, Laplace và các bộ lọc hữu hạn Ngoài ra, kiến thức về toán học như xác suất, thống kê, và đại số tuyến tính cũng rất quan trọng trong phân tích và xử lý ảnh Không thể thiếu các công nghệ tiên tiến như trí tuệ nhân tạo, mạng nơ-ron nhân tạo và lý thuyết mờ để nâng cao hiệu quả nhận dạng và phân tích ảnh.

Tổng quan về các kỹ thuật xử lý ảnh số

Hình 1 1 Các bước chính trong xử lý ảnh số

1.2.1 Thu nhận ảnh Ảnh có thể thu nhận qua camera màu hoặc đen trắng Camera thường dùng là loại quét dòng, ảnh tạo ra có dạng 2 chiều Chất lượng ảnh thu được phụ thuộc vào thiết bị thu, môi trường (ánh sáng, phong cảnh)

Sau bộ thu nhận, ảnh thường bị nhiễu và có độ tương phản thấp, gây ảnh hưởng đến chất lượng hình ảnh Bộ tiền xử lý đóng vai trò quan trọng trong việc lọc nhiễu và nâng cao độ tương phản để cải thiện rõ nét và độ nét của ảnh Việc xử lý trước giúp tối ưu hóa hình ảnh, đảm bảo các bước phân tích hoặc nhận dạng sau đó đạt hiệu quả cao hơn.

1.2.3 Phân đoạn ảnh (Phân vùng ảnh)

Phân vùng ảnh là quá trình tách một ảnh đầu vào thành các vùng thành phần để phục vụ phân tích và nhận dạng ảnh Ví dụ, trong nhận dạng chữ hoặc mã vạch trên phong bì thư, việc phân chia các câu, chữ về địa chỉ hoặc tên người thành các từ, chữ, số hoặc vạch riêng biệt rất quan trọng để đảm bảo độ chính xác của quá trình nhận dạng Đây là bước phức tạp và dễ gây lỗi nhất trong xử lý ảnh, ảnh hưởng lớn đến kết quả cuối cùng Kết quả nhận dạng ảnh phụ thuộc rất nhiều vào công đoạn phân vùng ảnh chính xác.

1.2.4 Biểu diễn và mô tả Đầu ra ảnh sau khi phân vùng chứa các điểm ảnh của vùng ảnh (ảnh đã phân đoạn) cộng với mã liên kết với các vùng lân cận Việc biến đổi các số liệu này thành dạng thích hợp là cần thiết cho xử lý tiếp theo bằng máy tính.

1.2.5 Nhận dạng và nội suy

Nhận dạng ảnh là quá trình xác định nội dung của hình ảnh thông qua các phương pháp so sánh với mẫu chuẩn đã được học hoặc lưu trữ trước đó Các kỹ thuật nhận dạng ảnh hiện nay còn áp dụng các phương pháp invariant mới, đang trong giai đoạn nghiên cứu, nhằm nâng cao độ chính xác và hiệu quả của quá trình nhận dạng Việc sử dụng các mẫu chuẩn đã học từ trước giúp hệ thống nhận dạng hình ảnh dễ dàng xác định nội dung hình ảnh mới một cách chính xác và nhanh chóng.

Nội suy là phán đoán theo ý nghĩa trên cơ sở nhận dạng.

1.2.6 Cơ sở tri thức Ảnh là một đối tượng khá phức tạp về đường nét, độ sáng tối, tương phản, dung lượng điểm ảnh, môi trường để thu ảnh phong phú kéo theo nhiễu Trong nhiều khâu xử lý và phân tích ảnh ngoài việc đơn giản hóa các phương pháp toán học đảm bảo tiện lợi cho xử lý, người ta mong muốn bắt chước quy trình tiếp nhận và xử lý ảnh theo cách của con người Trong các bước xử lý đó, nhiều khâu hiện nay đã xử lý theo phương pháp trí tuệ con người.

Hình 1 2 Quá trình xử lý ảnh

Những khái niệm cơ bản trong hệ thống xử lý ảnh

1.3.1 Điểm ảnh Ảnh gốc (ảnh tự nhiên) là ảnh liên túc về không gian và độ sáng Để xử lý bằng máy tính (số), ảnh cần phải được số hóa Số hóa ảnh là sự biến đổi gần đúng một ảnh liên tục thành một tập điểm phù hợp với ảnh thật về vị trí (không gian) và độ sáng (mức xám) Khoảng cách giữa các điểm ảnh đó được thiết lập sao cho mắt người không phân biệt được ranh giới giữa chúng Mỗi một điểm như vậy gọi là điểm ảnh, hay được gọi tắt là pixcel Trong ảnh 2 chiếu, mỗi pixel ứng với cặp tọa độ (x, y)

Điểm ảnh (pixel) là phần tử cơ bản của ảnh số tại tọa độ (x,y), thể hiện mức xám hoặc màu sắc nhất định Kích thước và khoảng cách giữa các điểm ảnh được điều chỉnh hợp lý nhằm tạo cảm giác liên tục về không gian và màu sắc cho người xem, làm cho ảnh số gần như giống ảnh thật Mỗi phần tử trong ma trận ảnh đều gọi là một phần tử ảnh, góp phần xây dựng hình ảnh kỹ thuật số rõ nét và chân thực.

1.3.2 Độ phân giải của ảnh

- Định nghĩa: Độ phân giải của ảnh là mật độ điểm ảnh được ấn định trên một ảnh số được hiển thị.

Theo định nghĩa, khoảng cách giữa các điểm ảnh cần được chọn sao cho mắt người không nhận thấy sự gián đoạn trong hình ảnh, tạo cảm giác liên tục Việc lựa chọn khoảng cách phù hợp sẽ tạo ra một mật độ phân bố điểm ảnh tối ưu, chính là độ phân giải của hình ảnh Độ phân giải này được xác định dựa trên sự phân bố của các điểm ảnh theo trục x và y trong không gian 2 chiều, góp phần nâng cao chất lượng và độ rõ nét của hình ảnh.

- Mỗi điểm ảnh (pixel) có 2 đặc trưng cơ bản là vị trí và độ xám.

Mức xám của điểm ảnh thể hiện cường độ ánh sáng của nó và được biểu diễn bằng các giá trị số, phổ biến là 16, 32, 64, 128 và 256, trong đó mức 256 là mức phổ biến nhất nhờ vào kỹ thuật máy tính sử dụng 1 byte (8-bit) để biểu diễn mức xám, từ 0 đến 255 Ảnh đen trắng là hình ảnh có hai màu đen và trắng, với mức xám tại các điểm ảnh có thể khác nhau, trong khi ảnh nhị phân chỉ có hai mức đen và trắng, dùng 1 bit để mô tả, tức mỗi điểm ảnh chỉ có thể là 0 hoặc 1 Ảnh màu được tạo dựa trên mô hình RGB gồm 3 màu chính, mỗi màu được mô tả bằng 1 byte, giúp tạo ra hơn 16 triệu màu khác nhau, với tổng cộng 2^24 xấp xỉ 16 triệu màu trong không gian màu sắc của ảnh kỹ thuật số.

1.3.4 Định nghĩa ảnh số Ảnh số là tập hợp các điểm ảnh với mức xám phù hợp dùng để mô tả ảnh gần với ảnh thật

NHẬN DẠNG KHUÔN MẶT BẰNG EIGENFACE

Tìm hiểu về PCA (Principal Component Analysis)

Principal Component Analysis (PCA) là phương pháp giảm chiều dữ liệu phổ biến và ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau PCA giúp tìm mối quan hệ giữa các biến, trích xuất những thông tin quan trọng từ dữ liệu, phát hiện và loại bỏ các outlier, đồng thời giảm số chiều của tập dữ liệu một cách hiệu quả Ý tưởng cốt lõi của PCA là tìm ra một không gian mới để chiếu dữ liệu sao cho giữ lại phần lớn sự biến đổi, đảm bảo tối đa thông tin quan trọng nhất trong quá trình giảm chiều.

Tất nhiên, khi loại bỏ 1 số thành phần của x để thu được y thì sẽ gây ra sai số (lỗi) !!

 Phương pháp PCA sẽ cố gắng tìm phép biến đổi tuyến tính T thỏa: y = T.x sao cho trung bình bình phương lỗi (MSE) là bé nhất

Gọi M là vector trung bình của tất cả các vector x trong tập mẫu.

Gọi ma trận hiệp phương sai của các phần tử x trong tập mẫu là C C được tính theo công thức sau:

Người ta chứng minh được rằng:

Trong lĩnh vực toán học, ma trận T có kích thước m hàng, mỗi hàng của T đại diện cho một vector riêng trong không gian C Các vector riêng này đều có trị riêng lớn nhất, thể hiện rằng T liên quan đến các phép biến đổi tối ưu Khi đó, ma trận T chính là phép biến đổi đạt mức MSE nhỏ nhất, mang lại hiệu quả tối ưu trong phân tích và xử lý dữ liệu.

Phương pháp PCA tập trung vào việc xác định trị riêng (eigenvalues) và vector riêng (eigenvectors) của ma trận hiệp phương sai C của tập mẫu X, nhằm giảm chiều dữ liệu hiệu quả Quá trình này giúp chọn ra K vector riêng ứng với K trị riêng lớn nhất, tạo thành cơ sở cho không gian giảm chiều mới PCA là kỹ thuật quan trọng trong phân tích dữ liệu giúp loại bỏ nhiễu, giữ lại thông tin tối đa và tối ưu hóa khả năng tổng quát của mô hình.

Tìm hiểu EigenFace

EigenFace sử dụng phương pháp PCA để trích xuất đặc trưng (feature extraction) từ các hình ảnh mặt trước khi đưa vào mô hình huấn luyện, giúp giảm chiều dữ liệu và tăng hiệu quả nhận diện Khi mỗi hình ảnh có kích thước 28x28 pixel (tương đương 784 đặc trưng), việc đưa toàn bộ dữ liệu này vào mô hình sẽ gây ra những hạn chế như thời gian huấn luyện lâu và không phải tất cả các vị trí trên ảnh đều quan trọng để phân biệt khuôn mặt Do đó, EigenFace giúp loại bỏ các yếu tố không cần thiết, tối ưu quá trình training và nâng cao độ chính xác nhận dạng khuôn mặt.

PCA là phương pháp giúp giảm chiều dữ liệu hiệu quả, hạn chế những nhược điểm của các phương pháp phân tích dữ liệu truyền thống Nhờ vào PCA, chúng ta có thể giảm số chiều của dữ liệu hình ảnh mà vẫn giữ được những thông tin quan trọng, đảm bảo chất lượng phân tích và dự đoán chính xác hơn Điều này giúp tối ưu hóa quá trình xử lý dữ liệu, tiết kiệm thời gian và tài nguyên trong các ứng dụng liên quan đến phân tích hình ảnh.

 Các bước thực hiện thuật toán:

Bước 1: Sử dụng các ảnh khuôn mặt I 1 , I 2 , … I n (tập các khuôn mặt huấn luyện) với khuôn mặt phải chính diện & tất cả ảnh phải cùng kích thước.

Bước 2: Biểu diễn mọi ảnh Ii thành vector Γ i

Bước 3: Tính vector khuôn mặt trung bình Ψ theo công thức:

Bước 4: Tính hiệu vector Γ i và Ψ

Bước 5: Tính ma trận hiệp phương sai (covariance) C.

C sẽ có kích thước N 2 xN 2

Trong đó: A sẽ có kích thước là N 2 xM

Tính các Eigenvector u i (“vector riêng”) của ma trận vuông A.A T (C có kích thước N 2 xN 2 ).

Cuối cùng chọn số eigen vector để chiếu data sang không gian mới lấy nó là feature để training.

Face Detection

Để nhận dạng danh tính khuôn mặt, bước đầu tiên là phát hiện vị trí khuôn mặt trong hình ảnh hoặc video Thuật toán Viola-Jones được sử dụng rộng rãi để xác định chính xác vị trí khuôn mặt nhanh chóng và hiệu quả Điều này giúp quá trình phân tích và nhận diện khuôn mặt sau đó trở nên dễ dàng, chính xác hơn Việc phát hiện khuôn mặt là bước nền tảng quan trọng trong các hệ thống nhận diện khuôn mặt hiện đại.

Thuật toán Viola-Jones bao gồm bốn giai đoạn.

1 Lựa chọn tính năng Haar

2 Tạo một hình ảnh tích hợp

Trong giai đoạn đầu của thuật toán Viola-Jones, phân loại Cascade dựa trên tính năng Haar đóng vai trò then chốt Quá trình phân loại tầng sử dụng các đặc tính Haar được đào tạo từ tập hợp lớn hình ảnh khuôn mặt (positive images) và hình ảnh không có khuôn mặt (negative images) Các đặc điểm của Haar giúp xác định các đặc điểm chung của con người, vì tất cả các khuôn mặt chia sẻ các thuộc tính tương tự Nhờ vậy, các tính năng Haar có thể được ứng dụng để xây dựng các quy tắc phân loại chính xác và hiệu quả trong hệ thống nhận diện khuôn mặt.

Một số thuộc tính mà tất cả các khuôn mặt của con người bao gồm:

1 Má trên sáng hơn vùng mắt.

2 Vùng mắt tối hơn vùng mũi sống.

3 Vị trí và kích thước của sống mũi, miệng và mắt

4 Độ dốc định hướng của cường độ điểm ảnh. Để sử dụng các đặt trưng này vào việc xác định khuôn mặt người, 4 đặt trưng Haar-like cơ bản được mở rộng ra, và được chia làm 3 tập đặc trưng như sau:

1 Đặc trưng cạnh (edge features):

2 Đặc trưng đường (line features):

3 Đặc trưng xung quanh tâm (center-surround features):

Hình 2 1 Các đặc trưng mở rộng của đặc trưng Haar-like cơ sở

Dựa trên các đặc điểm đã đề cập, ta có thể tính giá trị của đặc trưng Haar-like bằng cách lấy sự chênh lệch giữa tổng các mức xám của các vùng đen và các vùng trắng Công thức tính cụ thể là: f(x) = Tổng mức xám của vùng đen - Tổng mức xám của vùng trắng, giúp xác định sự khác biệt rõ nét giữa các vùng trong hình ảnh.

Sử dụng giá trị này để so sánh với các giá trị pixel thô giúp các đặc trưng Haar-like phản ánh chính xác hơn sự biến đổi trong ảnh Điều này giúp tăng khả năng phân biệt giữa các lớp trong và ngoài khuôn mặt người, từ đó làm cho bộ phân loại dễ hơn và nâng cao hiệu suất nhận diện khuôn mặt.

Để tính các giá trị của đặc trưng Haar-like, ta cần tổng giá trị các vùng pixel trên ảnh, tuy nhiên việc tính toán cho tất cả các vị trí trên ảnh tiêu tốn nhiều tài nguyên và không phù hợp với các ứng dụng yêu cầu tốc độ cao Viola và Jones đã giới thiệu khái niệm Image Integral, là một mảng 2 chiều giúp tính tổng các giá trị pixel một cách nhanh chóng bằng cách cộng các giá trị từ trên xuống dưới và từ trái sang phải, giảm đáng kể thời gian xử lý Việc xây dựng và sử dụng Integral Image dựa trên phép cộng nguyên đơn giản, giúp tăng tốc độ tính toán các đặc trưng Haar-like trên ảnh một cách hiệu quả.

Hình 2 2 Cách tính Integral Image của ảnh

Sau khi tính được Integral Image, việc tính tổng các giá trị mức xám của một vùng bất kỳ trên ảnh trở nên vô cùng đơn giản Phương pháp này giúp tiết kiệm thời gian và nâng cao hiệu quả xử lý ảnh, đặc biệt trong các ứng dụng như nhận dạng khuôn mặt, phát hiện đối tượng và thuật toán máy học Sử dụng Integral Image là bước quan trọng để tối ưu hóa các phép tính toán trong xử lý ảnh lớn, mang lại tốc độ và độ chính xác cao hơn.

Giả sử ta cần tính tổng các giá trị mức xám của vùng D như trong hình 4, ta có thể tính như sau:

Trong ảnh tích phân, A + B + C + D đại diện cho giá trị tại điểm P4, trong khi đó A + B là giá trị tại điểm P2, A + C là giá trị tại P3, và A là giá trị tại P1 Như vậy, ta có thể xây dựng lại công thức tính D dựa trên các giá trị này để xác định chính xác điểm P4 Cách làm này giúp tối ưu hóa quá trình tính toán trong xử lý ảnh, đảm bảo độ chính xác và hiệu quả cao hơn trong các ứng dụng thị giác máy tính.

Hình 2 3 Ví dụ cách tính nhanh các giá trị mức xám của vùng D trên ảnh

Để lựa chọn các đặc trưng Haar-like phù hợp cho việc thiết lập ngưỡng, Viola và Jones sử dụng thuật toán máy học AdaBoost Thuật toán này kết hợp các bộ phân loại yếu nhằm tạo thành một bộ phân loại mạnh, nâng cao độ chính xác trong nhận dạng Các bộ phân loại yếu chỉ đạt độ chính xác cao hơn dự đoán ngẫu nhiên một chút, trong khi bộ phân loại mạnh có khả năng đưa ra kết quả chính xác trên 60%.

Tìm hiểu về AdaBoost

AdaBoost là một bộ phân loại mạnh phi tuyến phức, được phát triển dựa trên phương pháp boosting do Freund và Schapire giới thiệu vào năm 1995 Thuật toán này hoạt động bằng cách kết hợp tuyến tính các weak classifiers để tạo thành một classifier mạnh, cải thiện đáng kể hiệu suất phân loại.

AdaBoost là một cải tiến của phương pháp boosting, sử dụng khái niệm trọng số để đánh dấu các mẫu khó nhận dạng Trong quá trình huấn luyện, trọng số của các mẫu sẽ được cập nhật sau mỗi weak classifier, tăng trọng số của các mẫu bị nhận dạng sai và giảm trọng số của các mẫu đúng Nhờ đó, các weak classifier tiếp theo tập trung hơn vào các mẫu chưa nhận dạng chính xác trong các bước trước Cuối cùng, các weak classifiers sẽ được kết hợp dựa trên mức độ chính xác của chúng để tạo thành một strong classifier hiệu quả.

Viola và Jones dùng AdaBoost kết hợp các bộ phân loại yếu sử dụng các đặc trưng Haar-like theo mô hình phân tầng (cascade) như sau:

Hình 2 4 Mô hình phân tần kết hợp các bộ phân loại yếu để xác định khôn mặt

Trong đó, hk là các bộ phân loại yếu, được biểu diễn như sau: x: cửa sổ con cần xét

Ok: ngưỡng (O = teta) fk: giá trị của đặc trưng Haar-like pk: hệ số quyết định chiều của phương trình

AdaBoost sẽ kết hợp các bộ phân loại yếu thành bộ phân loại mạnh như sau:

Với: at >= 0 là hệ số chuẩn hoá cho các bộ phân loại yếu

Hình 2 5 Kết hợp các bộ phân loại yếu thành bộ phân loại mạnh

PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Bảng mô tả chức năng hệ thống

Bảng 1 Bảng mô tả chức năng đăng nhập

Bảng 2 Bảng mô tả chức năng nhận dạng khuôn mặt

Bảng 3 Bảng mô tả chức năng điểm danh

Bảng 4 Bảng mô tả chức năng cập nhật thông tin sinh viên

Bảng 5 Bảng mô tả chức năng thêm data sinh viên

Bảng 6 Bảng mô tả chức năng test data

Biểu đồ luồng dữ liệu mức đỉnh

Hình 3 4 Biểu đồ luồng dữ liệu mức đỉnh

Sơ đồ quan hệ thực thể liên kết

Hình 3 5 Sơ đồ quan hệ thực thể liên kết

ỨNG DỤNG VÀO HỆ THỐNG

Hiện tại, nhóm đang tiến hành thử nghiệm với các khuôn mặt khác nhau để đào tạo hệ thống nhận diện khuôn mặt Mỗi khuôn mặt được tạm thời lưu trữ 5 hình ảnh, sau đó chuyển đổi sang ảnh đen trắng để loại bỏ các thông tin không cần thiết Hệ thống sử dụng thư viện OpenCV và EmguCV – những công cụ đa nền tảng, đa ngôn ngữ, dễ sử dụng, phù hợp cho bước đầu tìm hiểu về xử lý ảnh.

Các khuôn mặt sau khi được đào tạo sẽ được lưu trữ trong thư mục “…\bin\Debug\TrainedFace”, giúp dễ dàng quản lý và truy xuất dữ liệu Những hình ảnh này sẽ tự động được đánh số thứ tự khi lưu, nhằm mục đích so sánh trong quá trình nhận diện khuôn mặt Chúng tôi đã thử nghiệm với 106 ảnh lấy từ các sinh viên trong và ngoài lớp, như minh họa trong hình dưới, đảm bảo độ chính xác của hệ thống nhận diện.

Hình 4.1 Thu thập data thử nghiệm Đồng thời những hình ảnh này đã đước gán tên trong tệp TrainedLables.txt như trong hình dưới.

Sau khi lưu trữ hình ảnh, chúng tôi sử dụng phương pháp EigenFace để biến đổi và so sánh hai khuôn mặt với nhau Dựa trên thuật toán tính toán đã trình bày trong phần 2.2, chúng tôi tận dụng thư viện OpenCV hỗ trợ xử lý ảnh, lập trình bằng Python và sử dụng công cụ Visual Studio Code để phát triển và thực hiện các phép so sánh khuôn mặt Kết quả cuối cùng của quá trình xác nhận khuôn mặt được trả về dựa trên các bước đã thực hiện.

Chúng tôi đã sử dụng Yale Face database để kiểm tra độ chính xác của mã nhận diện khuôn mặt sinh viên sau khi đăng nhập Thư viện hình ảnh mở này chứa các ảnh của người có nhiều biểu cảm, hướng nhìn, vị trí khuôn mặt và điều kiện ánh sáng khác nhau, giúp chúng tôi tiến hành các thử nghiệm đa dạng Việc sử dụng dữ liệu phong phú từ Yale Face database đã giúp cải thiện đáng kể tỷ lệ chính xác của hệ thống nhận diện khuôn mặt.

Hình 4.4 Đánh giá kết quả thử nghiệm

Kết quả thử nghiệm đạt tỷ lệ chính xác 94%, cho thấy hiệu quả của mô hình trong điều kiện dữ liệu huấn luyện chủ yếu là ảnh thẻ Tuy nhiên, khi áp dụng trên dữ liệu thực tế từ ảnh cá nhân trên Facebook, độ chính xác giảm đáng kể do đặc điểm ảnh khác biệt Điều này nhấn mạnh sự cần thiết của việc mở rộng và đa dạng hoá dữ liệu để nâng cao khả năng nhận diện chính xác trong các tình huống thực tế.

MINH HỌA MỘT VÀI TÍNH NĂNG CHÍNH CỦA HỆ THỐNG

Khi người dùng là sinh viên đăng nhập

Mỗi một sinh viên đều được cấp 1 tài khoản (user name, password) để đăng nhập vào hệ thống.

Hình 5 1 Form sinh viên đăng nhập

Sau khi đăng nhập, giao diện FrmSearchClass sẽ hiển thị, cho phép người dùng dễ dàng tìm kiếm lớp học Chức năng tìm kiếm có thể dựa trên các tiêu chí như mã học phần, tên học phần, mã lớp học hoặc tên giảng viên để giúp tìm kiếm chính xác và nhanh chóng hơn Đây là công cụ hữu ích hỗ trợ quản lý và tra cứu thông tin lớp học hiệu quả.

Khi click đúp chuột vào một hàng trong bảng Information như trong hình trên, form Face Recognition xuất hiện như hình dưới đây.

Hệ thống nhận diện khuôn mặt hiển thị thông tin cá nhân của sinh viên khi đăng nhập, giúp quản lý dữ liệu điểm danh chính xác theo từng lớp học đã chọn trong FrmSearchClass Bảng dữ liệu ngày giờ điểm danh được lưu trữ rõ ràng, hỗ trợ quá trình theo dõi và xác nhận danh sách sinh viên Chức năng này còn tích hợp nhóm Train Face để nhận diện khuôn mặt tự động nhằm nâng cao hiệu quả điểm danh Hình ảnh minh họa dưới đây sẽ giúp bạn hình dung rõ hơn về chức năng và cách hoạt động của hệ thống.

Hình 5.3 mô tả quá trình điểm danh bằng hệ thống nhận diện khuôn mặt, bắt đầu bằng việc nhấn nút "Start Camera" để phần mềm kích hoạt webcam của máy tính và xác định vị trí khuôn mặt Sau đó, phần mềm thực hiện nhận diện khuôn mặt và hiển thị tên người đứng trước camera trong ô textbox "Name recognition" cùng với hình chữ nhật màu đỏ xung quanh khuôn mặt Nếu tên hiển thị đúng với tên người đăng nhập, họ sẽ có quyền nhấn nút "Submit Attendance" để hoàn tất quá trình điểm danh Kết quả điểm danh sẽ được hiển thị rõ ràng trong bảng dữ liệu phía dưới.

Khi đối tượng đăng nhập là giảng viên

Giống như sinh viên, mỗi giảng viên cũng sẽ được cấp một tài khoản đăng nhập như hình dưới.

Hình 5 4 Form giảng viên đăng nhập

Sau khi đăng nhập, phần mềm hiển thị form Class, cho phép người dùng tìm kiếm lớp học một cách thuận tiện, giống như chức năng tìm kiếm dành cho sinh viên đã đề cập trước đó Hình ảnh minh họa dưới đây giúp làm rõ cách thức hoạt động của chức năng này khi áp dụng dành cho giảng viên, nâng cao hiệu quả quản lý lớp học.

Khi nhấn đúp chuột vào lớp học cần kiểm tra, hệ thống sẽ hiển thị danh sách điểm danh sinh viên trong lớp đó Giảng viên có thể tra cứu trạng thái điểm danh của từng sinh viên bằng cách nhập thông tin sinh viên vào các ô textbox để thực hiện chức năng tìm kiếm nhanh chóng và chính xác.

Khi đối tượng đăng nhập là admin

Đăng nhập bằng tài khoản quản trị viên để truy cập và cấp quyền thực hiện các tính năng dành riêng cho đối tượng là admin Việc này đảm bảo quyền kiểm soát và dễ dàng quản lý hệ thống, như minh họa rõ ràng trong hình ảnh phía dưới.

Hình 5 6 Form admin đăng nhập

Sau khi đăng nhập bằng tài khoản admin, phần mềm hiển thị form với 2 tab như hình bên dưới.

Hình 5 7Form Admin Main Page

Tab Training Images của hệ thống có chức năng xử lý và nhận diện khuôn mặt chính xác, giúp mở rộng bộ dữ liệu đào tạo bằng cách thêm dữ liệu mới Người dùng có thể chọn giữa hai phương thức đào tạo, bao gồm đào tạo từ camera trực tiếp hoặc từ hình ảnh đã lưu, để tối ưu hóa quá trình huấn luyện mô hình nhận diện khuôn mặt Việc lựa chọn phương pháp phù hợp sẽ nâng cao hiệu quả và độ chính xác của hệ thống nhận diện trong quá trình thao tác và ứng dụng thực tế.

The EigenFaces-based face recognition experiment, Tab Face Recognition, primarily involves adding images to the designated "image folder" and testing them in the "test folder." The images provided below help users better understand the functionality of this system.

Ngày đăng: 23/02/2023, 11:13

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

TÀI LIỆU LIÊN QUAN

w