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

Xây dựng hệ thống điểm danh giờ thư viện bằng nhận diện khuôn mặt đồ án tốt nghiệp

58 10 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 đề Xây Dựng Hệ Thống Điểm Danh Sinh Viên Bằng Nhận Diện Khuôn Mặt
Tác giả Nguyễn Ngọc Hậu
Người hướng dẫn ThS. Huỳnh Quang Đức
Trường học Đại học Bình Dương
Chuyên ngành Công nghệ phần mềm
Thể loại đồ án tốt nghiệp
Năm xuất bản 2022
Thành phố Bình Dương
Định dạng
Số trang 58
Dung lượng 2,19 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN VỀ ĐỀ TÀI (14)
    • 1.1. TÊN ĐỀ TÀI (14)
    • 1.2. LÝ DO CHỌN ĐỀ TÀI (14)
    • 1.3. MỤC ĐÍCH CỦA ĐỀ TÀI (14)
    • 1.4. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU CỦA ĐỀ TÀI (14)
    • 1.5. PHÂN TÍCH ĐÁNH GIÁ HƯỚNG NGHIÊN CỨU (15)
      • 1.5.1. Hướng tiếp cận dựa trên tri thức (15)
      • 1.5.2. Hướng tiếp cận dựa trên đặc trưng không thay đổi (19)
      • 1.5.3. Hướng tiếp cận dựa trên khớp mẫu (19)
      • 1.5.4. Hướng tiếp cận dựa trên diện mạo (20)
  • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT (22)
    • 2.1. NGHIÊN CỨU TỔNG QUAN (22)
      • 2.1.1. Khái quát về xử lý ảnh (22)
      • 2.1.2. Các vấn đề cơ bản trong xử lý ảnh (23)
      • 2.2.1. Nhận diện khuôn mặt (Face Recognition) (25)
      • 2.3.1. Công cụ sử dụng trong đề tài (30)
    • 2.2. MÔI TRƯỜNG PHÁT TRIỂN (39)
      • 2.2.1. Hệ điều hành Windows 10 (40)
      • 2.2.2. Phần mềm XAMPP (42)
  • CHƯƠNG 3: TRIỂN KHAI MÔ HÌNH VÀ THIẾT KẾ ỨNG DỤNG (44)
    • 3.1. BÀI TOÁN NHẬN DIỆN KHUÔN MẶT (44)
      • 3.1.1. Phát hiện khuôn mặt (44)
      • 3.1.2. Vấn đề của bài toán (44)
    • 3.2. XÂY DỰNG MÔ HÌNH THUẬT TOÁN (45)
      • 3.2.1. Mô hình thuật toán nhận diện khuôn mặt (45)
      • 3.2.2. Thiết kế cơ sở dữ liệu (46)
      • 3.2.3. Thiết kế giao diện (46)
      • 3.2.4. Bắt đầu viết chương trình (47)
  • CHƯƠNG 4. KẾT QUẢ ĐẠT ĐƯỢC (50)
    • 4.1.1 Lấy dữ liệu khuôn mặt (50)
    • 4.1.2 Chức năng nhận diện khuôn mặt (51)
    • 4.1.3 Lưu lại lịch sử nhận diện (52)
    • 4.2. GIAO DIỆN ỨNG DỤNG (53)
      • 4.2.1. Giao diện chính (53)

Nội dung

TỔNG QUAN VỀ ĐỀ TÀI

TÊN ĐỀ TÀI

Xây dựng hệ thống điểm danh sinh viên bằng nhận diện khuôn mặt.

LÝ DO CHỌN ĐỀ TÀI

Điểm danh là một hoạt động thiết yếu trong các trường học, cơ quan và xí nghiệp nhằm kiểm tra sự hiện diện của học sinh, sinh viên hoặc nhân viên Tuy nhiên, phương pháp điểm danh thủ công hiện nay gặp nhiều bất cập, như việc đọc tên tốn thời gian và thiếu chính xác, quét vân tay có nguy cơ lây nhiễm bệnh, và việc quẹt thẻ có thể dẫn đến tình trạng gian lận khi một người quẹt thẻ cho người khác.

Để khắc phục những bất cập và thiếu sót từ các đề tài trước, tôi đã quyết định phát triển ứng dụng camera điểm danh nhân viên sử dụng công nghệ nhận diện khuôn mặt trong thời gian thực, nhằm đảm bảo nhận diện chính xác thời gian ra vào của từng nhân viên.

MỤC ĐÍCH CỦA ĐỀ TÀI

Xây dựng ứng dụng camera nhận diện khuôn mặt để xác thực và kiểm soát chặt chẽ việc ra vào lớp học của từng sinh viên

Lấy bộ dữ liệu hình ảnh để xét điều kiện của sinh viên thông qua camera

Hệ thống camera tự động quét khuôn mặt khi sinh viên di chuyển qua cổng, đối chiếu với hình ảnh đã lưu trước đó để nhận diện và xác nhận thông tin ra vào.

Khi nhận diện thành công, lưu lại lịch sử nhận diện kèm theo lời chào bằng giọng nói

Hệ thống có thể nhận diện khuôn mặt nhiều người cùng lúc theo thời gian thực

Hệ thống theo dõi điểm danh sinh viên thông qua web quản lý.

ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU CỦA ĐỀ TÀI

Trong những năm gần đây, ứng dụng trí tuệ nhân tạo (AI) đã phát triển mạnh mẽ và được đánh giá cao Lĩnh vực này đang thu hút sự quan tâm lớn từ nhiều ngành nghề khác nhau.

Đề tài nghiên cứu này tập trung vào việc phát triển ứng dụng nhận diện khuôn mặt thông minh, sử dụng các thư viện hỗ trợ từ Python Quá trình nhận diện bao gồm các bước như phát hiện khuôn mặt, tiền xử lý hình ảnh, gán nhãn, trích xuất đặc trưng khuôn mặt và phân lớp Kết quả cuối cùng được đưa ra thông qua việc so sánh và đối chiếu các đặc điểm khuôn mặt.

PHÂN TÍCH ĐÁNH GIÁ HƯỚNG NGHIÊN CỨU

Hiện nay, có nhiều phương pháp xác định khuôn mặt trong ảnh, từ ảnh chất lượng kém đến tốt, bao gồm cả ảnh đen trắng và ảnh màu Các phương pháp này có thể được phân chia thành bốn hướng tiếp cận chính.

❖ Hướng tiếp cận dựa trên tri thức:

▪ Mã hóa các hiểu biết của con người về khuôn mặt thành các luật các luật này thường mô tả quan hệ của các đặc trưng của khuôn mặt

❖ Hướng tiếp cận dựa trên diện mạo:

Hướng tiếp cận này sử dụng một tập ảnh huấn luyện có sẵn để xác định khuôn mặt người, do đó còn được gọi là phương pháp học.

❖ Hướng tiếp cận dựa trên so sánh khớp mẫu:

▪ Dùng các mẫu chuẩn của khuôn mặt người để mô tả cho khuôn mặt hay các đặc trưng của khuôn mặt

❖ Hướng tiếp cận dựa trên các đặc trưng không thay đổi:

Các thuật toán tìm kiếm các đặc trưng mô tả cấu trúc khuôn mặt người, đảm bảo rằng những đặc trưng này không thay đổi khi có sự thay đổi về tư thế khuôn mặt, điều kiện ánh sáng hoặc vị trí của máy ảnh.

1.5.1 Hướng tiếp cận dựa trên tri thức:

Trong phương pháp tiếp cận top-down, việc xác định khuôn mặt người phụ thuộc vào tri thức của các tác giả nghiên cứu Các luật cơ bản có thể được xây dựng để mô tả đặc trưng của khuôn mặt và mối quan hệ giữa chúng, chẳng hạn như hai mắt đối xứng qua trục giữa khuôn mặt, cùng với một mũi và một miệng Các mối quan hệ này thường được mô tả qua khoảng cách và vị trí Đầu tiên, đặc trưng của khuôn mặt sẽ được trích xuất để tạo ra các ứng viên, sau đó các ứng viên này sẽ được xác định qua các luật để phân biệt khuôn mặt và không phải khuôn mặt, nhằm giảm thiểu số lượng xác định sai.

Một thách thức lớn khi áp dụng phương pháp này là chuyển đổi tri thức con người thành các quy tắc một cách hiệu quả Nếu các quy tắc quá chi tiết, có thể dẫn đến việc bỏ sót một số khuôn mặt trong ảnh, vì chúng không đáp ứng đủ các quy tắc đã định Ngược lại, nếu quy tắc quá tổng quát, có thể gây nhầm lẫn, xác định sai một khu vực không phải là khuôn mặt thành khuôn mặt Hơn nữa, việc mở rộng yêu cầu để nhận diện các khuôn mặt ở nhiều tư thế khác nhau cũng gặp nhiều khó khăn.

Hai tác giả Yang và Huang đã phát triển một phương pháp tiếp cận để xác định khuôn mặt, bao gồm ba mức luật Ở mức cao nhất, họ sử dụng khung cửa sổ quét ảnh để tìm các ứng viên có thể là khuôn mặt thông qua một tập luật Mức tiếp theo mô tả tổng quát hình dáng khuôn mặt, trong khi mức cuối cùng tập trung vào việc phân tích chi tiết các đặc trưng khuôn mặt Hệ thống này áp dụng đa độ phân giải, bắt đầu từ độ phân giải thấp để tìm ứng viên khuôn mặt và sau đó kiểm tra ở các mức phân giải cao hơn Ở mức hai, biểu đồ histogram của các ứng viên được xem xét để loại bỏ những ứng viên không phải là khuôn mặt và xác định cạnh bao quanh Cuối cùng, những ứng viên còn lại sẽ được phân tích các đặc trưng như mắt và miệng.

Quá trình "từ thô đến mịn" hay "làm rõ dần" giúp giảm số lượng tính toán trong xử lý Mặc dù tỷ lệ chính xác hiện tại chưa đạt yêu cầu cao, nhưng đây là nền tảng quan trọng cho nhiều nghiên cứu tiếp theo.

Tác giả Kotropoulos và Pitas đã giới thiệu một phương pháp tương tự áp dụng cho độ phân giải thấp, sử dụng kỹ thuật chiếu để xác định các đặc trưng khuôn mặt Kanade cũng đã thành công trong việc áp dụng phương pháp chiếu để nhận diện biên khuôn mặt Đối với ảnh có kích thước m x n, giá trị xám tại điểm (x,y) được ký hiệu là I(x,y), và các hàm chiếu theo phương ngang và thẳng đứng được định nghĩa rõ ràng.

Dựa trên biểu đồ hình chiếu ngang, có hai cực tiểu địa phương ở hai bên đầu, cho thấy sự thay đổi độ đốc của HI Tương tự, hình chiếu dọc VI cũng chỉ ra các cực tiểu địa phương, giúp xác định vị trí miệng, đỉnh mũi và hai mắt Những đặc trưng này đủ để nhận diện khuôn mặt.

A Các đặc trưng khuôn mặt :

Sirohey phát triển một phương pháp xác định khuôn mặt từ ảnh nền phức tạp, dựa vào kỹ thuật cạnh để tạo ra đường bao quanh khuôn mặt, với độ chính xác đạt 80% Phương pháp này sử dụng hình ellipse để tách biệt vùng đầu và nền Tương tự, Chetverikov và Lerch áp dụng phương pháp dựa trên blob và streak để xác định hướng các cạnh, sử dụng hai blob tối và ba blob sáng để mô tả hai mắt, gò má và mũi Mô hình của họ cũng sử dụng treak để thể hiện hình dáng khuôn mặt, lông mày và môi, kết hợp với ảnh độ phân giải thấp qua biến đổi Laplace để nhận diện khuôn mặt thông qua blob.

Leung trình bày mô hình xác suất để xác định khuôn mặt trong ảnh có nền phức tạp, dựa trên bộ xác định đặc trưng cục bộ và so khớp đồ thị ngẫu nhiên Mô hình sử dụng năm đặc trưng (hai mắt, hai lỗ mũi, phần nối giữa mũi và miệng) để mô tả khuôn mặt, đồng thời tính toán quan hệ khoảng cách giữa các đặc trưng cặp bằng phân bố Gauss Một mẫu khuôn mặt được tạo ra thông qua trung bình của bộ lọc đạo hàm Gauss đa hướng, đa tỷ lệ Các đặc trưng ứng viên được xác định bằng cách so khớp điểm ảnh với vector mẫu, chọn hai ứng viên hàng đầu để tìm kiếm các đặc trưng khác Quá trình này giống như xây dựng một đồ thị quan hệ, trong đó mỗi node tương ứng với các đặc trưng của khuôn mặt, với tỷ lệ xác định chính xác đạt 86%.

Khuôn mặt con người có những kết cấu đặc trưng giúp phân loại so với các đối tượng khác Augusteijn và Skufca đề xuất rằng hình dạng khuôn mặt là một kết cấu phân loại gọi là kết cấu giống khuôn mặt (face-like texture) Tính kết cấu được xác định qua các đặc trưng thống kê thứ hai (SGLD) trên vùng kích thước 16×16 điểm ảnh, với ba loại đặc trưng chính: màu da, tóc và những yếu tố khác Hai tác giả sử dụng mạng neural về mối tương quan cascade để phân loại có giám sát các kết cấu, cùng với ánh xạ đặc trưng tự tổ chức Kohonen để nhóm các lớp kết cấu khác nhau.

5 đề xuất dùng phương pháp bầu cử khi không quyết định được kết cấu đưa vào là kết cấu của da hay kết cấu của tóc

Manian và Ross đã áp dụng biến đổi wavelet để tạo ra tập dữ liệu kết cấu khuôn mặt từ ảnh xám, sử dụng nhiều độ phân giải khác nhau kết hợp với xác suất thống kê để nhận diện khuôn mặt Mỗi mẫu trong nghiên cứu này có chín đặc trưng, với tỷ lệ chính xác đạt 87% và tỷ lệ xác định sai là 18%.

Hình 1.2: Kết cấu khuôn mặt

Các ảnh màu thường không xác định trực tiếp toàn bộ dữ liệu ảnh; thay vào đó, các tác giả sử dụng tính chất sắc màu của da người, đặc biệt là khuôn mặt, để lựa chọn các ứng viên có khả năng là khuôn mặt người Qua đó, dữ liệu được thu hẹp đáng kể, giúp xác định khuôn mặt người hiệu quả hơn Tôi sẽ trình bày chi tiết về mô hình hóa màu da người trong một bài viết sau.

Hình 1.3: Màu sắc da mặt

Gần đây, nhiều nghiên cứu đã áp dụng các đặc trưng toàn cục như màu da, kích thước và hình dáng để tìm kiếm ứng viên khuôn mặt Sau đó, các nghiên cứu này xác định khuôn mặt thông qua các đặc trưng cục bộ chi tiết như mắt, lông mày, mũi, miệng và tóc Mỗi tác giả sẽ sử dụng tập đặc trưng khác nhau trong quá trình nghiên cứu.

CƠ SỞ LÝ THUYẾT

NGHIÊN CỨU TỔNG QUAN

2.1.1 Khái quát về xử lý ảnh

Xử lý ảnh là một lĩnh vực con trong xử lý tín hiệu số, tập trung vào việc xử lý hình ảnh Đây là một ngành khoa học mới đang phát triển mạnh mẽ trong những năm gần đây, bao gồm bốn lĩnh vực chính: nâng cao chất lượng ảnh, nhận dạng ảnh, nén ảnh và truy vấn ảnh Sự phát triển của công nghệ xử lý ảnh mang lại nhiều lợi ích thiết thực cho cuộc sống con người.

Xử lý ảnh hiện nay được ứng dụng rộng rãi trong nhiều lĩnh vực của đời sống, bao gồm Photoshop, nén ảnh và video, nhận dạng biển số xe, nhận diện khuôn mặt, nhận dạng chữ viết, cũng như trong các lĩnh vực chuyên sâu như xử lý ảnh thiên văn và ảnh y tế.

Con người tiếp nhận thông tin chủ yếu qua các giác quan, trong đó thị giác là yếu tố quan trọng nhất Gần đây, sự phát triển mạnh mẽ của phần cứng máy tính đã thúc đẩy tiến bộ trong xử lý ảnh và đồ họa, mang lại nhiều ứng dụng thiết thực trong cuộc sống hàng ngày.

Xử lý ảnh và đồ họa là yếu tố then chốt trong tương tác giữa con người và máy móc Quá trình này bao gồm việc thao tác với ảnh đầu vào để đạt được kết quả mong muốn Kết quả đầu ra có thể là một bức ảnh được cải thiện hoặc một kết luận cụ thể.

Quá trình xử lý ảnh liên quan đến việc xem ảnh như một tập hợp các điểm ảnh, trong đó mỗi điểm ảnh đại diện cho cường độ sáng hoặc một đặc trưng tại một vị trí cụ thể của đối tượng Ảnh có thể được hiểu như một hàm n biến P(c,c1,c2,…), cho thấy rằng nó có thể được coi là ảnh n chiều trong lĩnh vực xử lý ảnh.

Sơ đồ tổng quát của một hệ thống xử lý ảnh:

Hình 1.5: Các bước cơ bản trong một hệ thống xử lý ảnh

2.1.2 Các vấn đề cơ bản trong xử lý ảnh:

A Một số vấn đề trong xử lý ảnh:

Các hệ thống xử lý ảnh:

❖ Tiền xử lý hình ảnh:

Tiền xử lý là giai đoạn đầu tiên trong xử lý ảnh số, đóng vai trò quan trọng trong việc nâng cao chất lượng hình ảnh Trong giai đoạn này, các công đoạn như nâng cấp, khôi phục ảnh, nắn chỉnh hình học và khử nhiễu sẽ được thực hiện để chuẩn bị cho các bước xử lý tiếp theo.

Các đặc điểm của đối tượng được trích chọn dựa trên mục đích nhận dạng trong xử lý ảnh Việc trích chọn hiệu quả các đặc điểm này không chỉ nâng cao độ chính xác trong nhận dạng đối tượng mà còn cải thiện tốc độ tính toán và giảm dung lượng bộ nhớ lưu trữ.

Nhận dạng tự động, mô tả đối tượng, và phân loại mẫu là những khía cạnh quan trọng trong thị giác máy, với ứng dụng rộng rãi trong nhiều lĩnh vực khoa học Các mẫu có thể bao gồm ảnh vân tay, hình ảnh vật thể, chữ viết, khuôn mặt con người, hoặc ký đồ tín hiệu âm thanh Việc nhận dạng và phân loại các mẫu này là cần thiết để hiểu và xử lý thông tin một cách hiệu quả.

Hệ thống nhận dạng tự động bao gồm ba khâu tương ứng với ba giai đoạn chủ yếu sau đây:

▪ Thu nhận dữ liệu và tiền xử lý

▪ Nhận dạng, ra quyết định

B Các hình thái của ảnh:

Chuyển đổi hình ảnh sang thang độ xám liên quan đến việc hiểu cấu trúc của pixel trong ảnh số Mỗi pixel trong ảnh màu chứa thông tin của ba màu cơ bản: Đỏ (R), Xanh lá (G) và Xanh biển (B), với mỗi màu được biểu diễn bằng tám bit, tạo ra 256 mức độ màu khác nhau Sự sắp xếp và cường độ sáng của ba màu này quyết định chất lượng và độ chính xác của hình ảnh màu.

Mỗi pixel trong ảnh màu chứa 28x3"4 màu, tương đương khoảng 16.78 triệu màu Đối với ảnh xám, mỗi pixel mang thông tin của 256 mức xám (tương ứng với tám bit), cho phép ảnh xám tái hiện đầy đủ cấu trúc của ảnh màu thông qua tám mặt phẳng bit.

❖ Lược đồ xám của ảnh:

Lược đồ xám của một ảnh số được xác định bởi các mức xám trong khoảng [0,L−1] thông qua hàm rời rạc p(rk) = nk/n, trong đó nk là số pixel có mức xám rk và n là tổng số pixel trong ảnh Hàm P(rk) mô tả xác suất xuất hiện của mức xám rk, và việc vẽ hàm này cho tất cả các giá trị k sẽ thể hiện sự phân bố của các mức xám trong ảnh Ngoài ra, lược đồ mức xám cũng có thể được biểu diễn qua tần suất xuất hiện của mỗi mức xám trên hệ tọa độ vuông góc xOy, với trục hoành biểu thị số mức xám từ 0 đến L−1.

N (số bit của ảnh xám) Trục tung biểu diễn số pixel của mỗi mức xám

C Một số ứng dụng xử lý ảnh:

Các kỹ thuật xử lý ảnh trước đây chủ yếu nhằm nâng cao chất lượng hình ảnh, tạo cảm giác cải thiện chất lượng quang học Gần đây, ứng dụng của công nghệ xử lý ảnh đã mở rộng ra nhiều lĩnh vực khoa học Trong y học, các thuật toán xử lý ảnh biến đổi hình ảnh từ bức xạ X-ray và siêu âm thành hình ảnh quang học trên phim hoặc màn hình Hình ảnh cơ quan chức năng có thể được xử lý để nâng cao độ tương phản, lọc và tách thành phần cần thiết, hoặc tạo hình ảnh 3D Trong địa chất, hình ảnh từ vệ tinh được phân tích để xác định cấu trúc bề mặt trái đất Kỹ thuật nâng cao hình ảnh và khôi phục hình ảnh giúp cải thiện chất lượng hình ảnh.

Chất lượng ảnh vệ tinh và bản đồ địa hình 3-D có độ chính xác cao đóng vai trò quan trọng trong khí tượng học, giúp dự báo thời tiết chính xác hơn thông qua việc xử lý và ghép hình ảnh bề mặt trái đất Ngoài ra, xử lý ảnh cũng được ứng dụng rộng rãi trong lĩnh vực hình sự và bảo mật, như nhận dạng vân tay và khuôn mặt, nhằm phát hiện nhanh các đối tượng nghi vấn và nâng cao hiệu quả hệ thống kiểm soát ra vào Các ứng dụng khác của kỹ thuật xử lý ảnh bao gồm tự động nhận dạng, nhận diện mục tiêu quân sự, và nén ảnh để lưu trữ và truyền tải trong mạng viễn thông.

2.2.1 Nhận diện khuôn mặt (Face Recognition)

A Khái niệm nhận diện khuôn mặt

Nhận diện khuôn mặt là công nghệ sử dụng sinh trắc học để xác định các đặc điểm khuôn mặt từ ảnh hoặc video Hệ thống này so sánh thông tin khuôn mặt với cơ sở dữ liệu các khuôn mặt đã được lưu trữ nhằm tìm kiếm kết quả trùng khớp.

Công nghệ nhận diện khuôn mặt có có thể ứng dụng ở mọi lĩnh vực thương mại, từ giám sát an ninh đến lên chiến lược quảng cáo

Công nghệ nhận diện khuôn mặt là một hệ thống sinh trắc học, chuyển đổi các đặc điểm khuôn mặt của mỗi cá nhân thành dữ liệu toán học và lưu trữ dưới dạng faceprint Nói một cách đơn giản, công nghệ này cho phép xác định danh tính của một người thông qua hình ảnh hoặc video.

B Hệ thống nhận diện khuôn mặt hoạt động như thế nào:

MÔI TRƯỜNG PHÁT TRIỂN

Windows 10 là một hệ điều hành của Microsoft Windows dành cho các loại máy tính cá nhân và máy trạm, là một phần của họ hệ điều hành Windows NT

Hệ điều hành này được giới thiệu vào 30 tháng 9 năm 2014 trong chương trình Build

Windows 10, được phát hành chính thức vào ngày 29 tháng 7 năm 2015, mang giao diện kết hợp giữa Windows 8.1 và Windows 7 Khác với các phiên bản trước, Microsoft đã định nghĩa Windows 10 là một "dịch vụ", cho phép nhận cập nhật tính năng và sửa lỗi liên tục Trong môi trường doanh nghiệp, các thiết bị chạy Windows 10 có thể nhận cập nhật chậm hơn hoặc áp dụng các mốc hỗ trợ dài hạn (LTS), nhưng chỉ nhận các bản cập nhật quan trọng như vá bảo mật trong suốt vòng đời 5 năm.

7, Windows 8 và Windows 8.1 sẽ được nâng cấp trực tiếp lên Windows 10 qua Windows Update trong 1 năm kể từ ngày phát hành bản đầu tiên

Windows 10 đi kèm một tính năng lớn mà Microsoft gọi là "universal apps (ứng dụng phổ quát) " được mở rộng dựa trên các ứng dụng phong cách Metro, các ứng dụng này có thể được thiết kế để chạy trên nhiều dòng sản phẩm Microsoft với các mã giống nhau, như máy tính bảng, điện thoại thông minh, các hệ thống nhúng, các máy Xbox One, Surface Hub và Mixed Reality Giao diện người dùng Windows đã được sửa đổi để cho trải nghiệm chuyển tiếp giữa giao diện định hướng chuột truyền thống và một giao diện tối ưu cho màn hình cảm ứng, dựa trên đầu vào là các thiết bị 2-trong-1 (ngày càng phổ biến); cả hai giao diện đều bao gồm một menu Start được cập nhật để kết hợp các yếu tố của menu Start truyền thống trên Windows 7 với các "tiles" của Windows 8 Phiên bản đầu tiên của Windows 10 cũng giới thiệu hệ thống máy ảo mới, một tính năng quản lý cửa sổ và desktop gọi là Task View và trình duyệt web Microsoft Edge, hỗ trợ cho đăng nhập bằng khuôn mặt (Windows Hello) hoặc bằng vân tay - tính năng bảo mật mới cho môi trường doanh nghiệp, và DirectX

12 và WDDM 2.0 để cải thiện khả năng đồ họa cho các trò chơi

Hình 1.9 Hệ điều hành Windows 10

Windows 10 nhận được hầu hết các nhận xét tích cực khi phát hành ban đầu vào tháng 7 năm 2015; các nhà phê bình đã ca ngợi quyết định của Microsoft về việc cung cấp một giao diện định hướng cho máy tính để bàn phù hợp với các phiên bản trước của Windows, tương phản với cách tiếp cận hướng máy tính bảng của Windows

Mặc dù giao diện người dùng cảm ứng của Windows 10 đã bị gác lại, nhưng các nhà đánh giá đã ca ngợi những cải tiến trong phần mềm đi kèm so với Windows 8.1, bao gồm tích hợp Xbox Live và khả năng của trợ lý ảo Cortana, cùng với việc thay thế Internet Explorer bằng Microsoft Edge Tuy nhiên, giới truyền thông đã chỉ ra những thay đổi độc quyền trong hành vi của hệ điều hành, như việc cài đặt bản cập nhật bắt buộc khiến người dùng khó khăn trong việc tắt hoặc hoãn cập nhật, cũng như mối lo ngại về quyền riêng tư liên quan đến việc thu thập dữ liệu cho Microsoft và các đối tác, cùng với các thủ thuật giống phần mềm quảng cáo để thúc đẩy việc phát hành hệ điều hành.

Microsoft đã đặt mục tiêu cài đặt Windows 10 trên ít nhất một tỷ thiết bị trong vòng hai đến ba năm sau khi phát hành Đến tháng 8 năm 2016, số lượng người dùng Windows 10 tăng lên, nhưng sau đó đã chững lại so với các phiên bản trước, dẫn đến tỷ lệ sử dụng của chúng giảm khi đo bằng lưu lượng truy cập web Hiện tại, hệ điều hành này đang hoạt động trên hơn 400 triệu thiết bị, với tỷ lệ sử dụng ước tính đạt 27,72% trên các máy tính truyền thống và 12,53% trên tất cả các nền tảng như PC, điện thoại di động, máy tính bảng và bảng điều khiển.

Microsoft đã ra mắt các phiên bản thử nghiệm của hệ điều hành thông qua Chương trình Người dùng Nội bộ Windows, khuyến khích người dùng đóng góp ý kiến cho sự phát triển của Windows 10 Với khả năng kết nối cao, Windows 10 mang đến trải nghiệm cộng tác liền mạch và thú vị cho người dùng trên toàn cầu.

Chương trình Người dùng nội bộ Windows là yếu tố quan trọng giúp nâng cao trải nghiệm của Windows 10 Người dùng nội bộ có nhiệm vụ khám phá và phản hồi các bản dựng xem trước, từ đó cho phép Microsoft phát triển các giải pháp dựa trên phản hồi từ người tiêu dùng sử dụng Windows hàng ngày Chương trình này được phát hành chính thức gần như như một phiên bản thử nghiệm mới, và ngay sau khi khởi động trên máy tính của người dùng, Windows bắt đầu cung cấp các tính năng và cải tiến mới.

10 bắt đầu được cập nhật

Microsoft đang thay đổi cách thức cập nhật hệ điều hành, khiến việc cài đặt các gói cập nhật lớn như Service Pack trở nên không còn cần thiết Người dùng sẽ dần làm quen với việc cập nhật Windows thường xuyên, tương tự như cách mà trình duyệt Chrome hoạt động Số hiệu phiên bản của Windows sẽ không còn quan trọng như trước, và có khả năng Windows 10 sẽ trở thành tên gọi cuối cùng, với phiên bản mới nhất luôn mang tên Windows 10 Hoặc người dùng có thể sẽ quen với việc gọi Windows mà không cần số hiệu phiên bản.

Giao diện người dùng của Windows 10 được tối ưu hóa cho từng loại thiết bị và phương thức nhập liệu, mang đến trải nghiệm phù hợp nhất Đối với thiết bị không có màn hình cảm ứng, Menu Start được cải tiến với danh sách ứng dụng truyền thống và hộp tìm kiếm bên trái, cùng với các Live Tile từ Windows 8 ở bên phải Hệ thống Desktop ảo mới mang tên "Task View" cho phép người dùng dễ dàng chuyển đổi giữa các cửa sổ mở và quản lý nhiều Desktop ảo, tương tự như tính năng Exposé của OS X.

Phiên bản 29 giờ đây cho phép chạy trên các cửa sổ trên Desktop, không chỉ giới hạn ở chế độ toàn màn hình Khi các ứng dụng Modern hoạt động theo cách này, một trình đơn sẽ xuất hiện.

"App Commands" nằm trên thanh tiêu đề của cửa sổ được sử dụng để kích hoạt các tính năng đã từng thấy trên Thanh Charm

Màn hình Bắt đầu vẫn giữ nguyên, nhưng bổ sung cột bên trái để hiển thị lối tắt và nút "Tất cả Ứng dụng", tương tự như menu Start Khi kết nối với bàn phím, Surface Pro 3 và một số tablet lai laptop khác sẽ hỏi người dùng có muốn tiếp tục sử dụng giao diện cảm ứng hay chuyển sang chế độ tối ưu cho chuột và bàn phím.

Phần mềm XAMPP là công cụ phổ biến cho lập trình viên trong việc thiết lập website bằng ngôn ngữ PHP Nó cung cấp một web server với các công cụ cần thiết như PHP, Apache và MySQL, cùng với giao diện thân thiện giúp lập trình viên dễ dàng quản lý và điều chỉnh các tính năng của server Được phát triển trên nền tảng mã nguồn mở, XAMPP là phần mềm thiết yếu cho việc xây dựng website, tích hợp các thành phần quan trọng hỗ trợ lẫn nhau.

Apache is an entirely free and open-source software that powers 46% of all websites globally This web server software is developed and maintained by the Apache Software Foundation.

Apache, ra đời hơn 20 năm trước, được công nhận là một trong những web server uy tín nhất cho các website Cùng với NGINX, Apache cung cấp giải pháp hoàn chỉnh cho việc quản lý server, cho phép website tải nhiều nội dung mà không gặp trở ngại nào, giúp nâng cao sự nổi bật của trang web.

TRIỂN KHAI MÔ HÌNH VÀ THIẾT KẾ ỨNG DỤNG

BÀI TOÁN NHẬN DIỆN KHUÔN MẶT

Phát hiện khuôn mặt là một kỹ thuật trong lĩnh vực máy tính, cho phép xác định vị trí và kích thước của khuôn mặt người trong các bức ảnh khác nhau.

Kỹ thuật này nhận biết các đặc trưng của khuôn mặt và bỏ qua những thứ khác như: tòa nhà, cấy cối, cơ thể

3.1.2 Vấn đề của bài toán:

A Hình dung khuôn mặt từ các vật thể:

Não người có các sợi thần kinh giúp thực hiện các nhiệm vụ một cách tự động và nhanh chóng Chúng ta rất giỏi trong việc nhận diện khuôn mặt và có khả năng tưởng tượng ra các khuôn mặt từ những vật thể xung quanh.

Hình 2.1: Hình dung các khuôn mặt từ các vật thể

Máy tính hiện tại chưa có khả năng nhận diện khuôn mặt ở mức độ cao, nhưng có thể cải thiện trong tương lai Để phát triển khả năng này, chúng ta cần dạy máy tính thực hiện từng bước riêng biệt trong quá trình nhận diện Việc xây dựng một quy trình hệ thống để giải quyết từng bước của nhận diện khuôn mặt một cách độc lập và chuyển kết quả cho bước tiếp theo là rất cần thiết.

B Quy trình phát hiện khuôn mặt: Đây là quy trình thực hiện để xây dựng một công cụ nhận diện khuôn mặt:

• Tải Thuật toán Haar Cascade Frontal Face

• Đọc khung hình từ camera

• Tiền xử lý hình ảnh

• Trích xuất đặc trưng khuôn mặt

• Lấy tọa độ khuôn mặt

XÂY DỰNG MÔ HÌNH THUẬT TOÁN

3.2.1 Mô hình thuật toán nhận diện khuôn mặt

1 Lấy khung hình: o Đầu tiên chương trình sẽ khởi tạo camera: o Bắt đầu đọc khung hình từ camera o Sau đó tải thuật toán Haar Cascade Frontal Face từ thư viện OpenCV để xác định được khung hình có chứa khuôn mặt

2 Tiền xử lý hình ảnh:

Chương trình sẽ chuyển hình ảnh dữ liệu khuôn mặt sang thang độ xám sang thang độ xám, khử nhiễu, nâng cao chất lượng hình ảnh

3 Trích xuất đặc trưng khuôn mặt:

Hình ảnh thông qua tiền xử lý hình ảnh tiếp tục đưa vào xử lý để lấy các đặc điểm nổi bật của hình ảnh

4 Kết quả xử lý hình ảnh:

Gán nhãn cho từng hình ảnh

Sử dụng hình ảnh chuẩn đối chiếu với hình ảnh khuôn mặt cần nhận diện nếu thỏa điều kiện sẽ đưa ra kết quả nhận diện

Hình 2.2: Mô hình thuật toán nhận diện khuôn mặt

3.2.2 Thiết kế cơ sở dữ liệu

Dữ liệu sinh viên và lịch sử điểm danh được lưu lại vào cơ sở dữ liệu

Hình 2.3 Thiết kế cơ sở dữ liệu

Giao diện hệ thống gồm: o Trang chủ o Quản lý sinh viên

▪ Danh sách sinh viên o Lịch sử điểm danh o Bật điểm danh

Hình 2.4 Giao diện hệ thống điểm danh

3.2.4 Bắt đầu viết chương trình

A Bài toán lấy dữ liệu hình ảnh khuôn mặt: o Cấu hình camera: frameWidth = int(800) frameHeight = int(480) o Load file xác định khuôn mặt của OpenCV: face_cascade = cv2.CascadeClassifier('core/haarcascade_frontalface_default.xml ') o Sử dụng thư viện mediapipe để lấy dữ liệu khuôn mặt từ các hướng: for (x1, y1, w1, h1) in faces: face = clean[y1:y1+h1, x1:x1+w1] cv2.rectangle(roi, (x1, y1), ((x1 + w1), (y1 + h1)),

To track head poses effectively, utilize the function that processes the frame and original frame along with the detected face Ensure to save the captured facial images in the designated directory, creating it if it doesn't already exist, by using the specified path "static/dataset/".

To train a face recognition model using the LBPHFaceRecognizer_create() function, images are organized into two arrays: one for IDs and another for images The training process utilizes these arrays, and the resulting classifier is saved as classifier.xml The training function begins by defining the dataset directory as "static/dataset" and constructs a list of image paths from the dataset, ensuring to exclude the first entry.

The code processes images from a specified path, converting each image to grayscale and storing them as NumPy arrays It extracts the ID from each image's filename and collects the images and IDs into separate lists After converting the ID list into a NumPy array, the code initializes a Local Binary Patterns Histograms (LBPH) face recognizer, trains it with the collected faces and IDs, and saves the trained model to an XML file Finally, it returns a message indicating the completion of the process.

Thuật toán nhận diện khuôn mặt sử dụng tiền xử lý hình ảnh và trích xuất đặc trưng khuôn mặt để so sánh với hình ảnh chuẩn Hàm def face_recognition() được định nghĩa với các biến toàn cục như pause_cnt, cnt, justscanned và audio Thư viện gtts được nhập khẩu để chuyển đổi văn bản thành giọng nói, trong khi các biến pause_cnt, justscanned và cnt được khởi tạo với giá trị ban đầu là 0 và False.

To implement face recognition using OpenCV, first, initialize the face cascade classifier with `cv2.CascadeClassifier("core/haarcascade_frontalface_default.xml")` and create a face recognizer using `cv2.face.LBPHFaceRecognizer_create()`, loading the trained model with `clf.read("core/classifier.xml")` Set the camera dimensions to 400x400 pixels by configuring `cap.set(3, wCam)` and `cap.set(4, hCam)`, and capture video input with `cap = cv2.VideoCapture(0)` In a loop, read frames from the camera, apply the recognition function, and encode the processed image as JPEG Finally, stream the frame to the output and allow for termination by pressing the 'Esc' key.

KẾT QUẢ ĐẠT ĐƯỢC

Lấy dữ liệu khuôn mặt

Người dùng sẽ sử dụng camera để lấy dữ liệu hình ảnh khuôn mặt

Hình 2.5 Quá trình thu thập dữ liệu hình ảnh khuôn mặt

Hình 2.6 Dữ liệu hình ảnh khuôn mặt

Hình 2.7 Hình ảnh được đưa vào mô hình huấn luyện

Chức năng nhận diện khuôn mặt

Hình 2.8 Nhận diện khuôn mặt

Hình 2.9 Nhận diện khuôn mặt

✓ Hệ thống không nhận diện được các khuôn mặt không có trong bộ dữ liệu hình ảnh

Hình 3.1 Nhận diện không thành công

Sau khi nhận diện thành công, hệ thống sẽ gửi lời chào bằng âm thanh đến người dùng “Xin chào – tên người được nhận diện”.

Lưu lại lịch sử nhận diện

Sau khi điểm danh thành công, hệ thống sẽ lưu lại thông tin lịch sử:

Hình 3.2 Lịch sử điểm danh

GIAO DIỆN ỨNG DỤNG

Hình 3.4: Giao diện danh sách sinh viên

Hình 3.5 Thêm sinh viên mới

Hình 3.6: Giao diện kết quả

Khuôn mặt Kết quả Đúng Sai Tỉ lệ chính xác Đầu vào 10 7 3 70%

Hình 3.7: Nhận diện thành công

Hình 3.8: Khuôn mặt đặt sai hướng

Hình 3.9 Nhận diện được 2 người cùng lúc

Hình 4.1 nhận diện 3 người cùng lúc chưa ổn định

✓ Hệ thống điểm danh nhận diện khuôn mặt có thể nhận diện được cùng lúc nhiều hơn 1 người

✓ Ứng dụng dễ sử dụng

✓ Lời chào từ hệ thống khi đối tượng được nhận diện thành công

✓ Tỉ lệ nhận diện chính xác cao trong môi trường ánh sáng đầy đủ

✓ Lời chào từ hệ thống sẽ chỉ phát đối với người được nhận diện trước

✓ Tỉ lệ nhận diện chính xác đối tượng vẫn chưa cao, có thể gây nhầm lẫn trong quá trình nhận diện

✓ Hệ thống chỉ có thể nhận diện ở khoảng cách gần

✓ Chưa nhận dạng chính xác trong môi trường thiếu ánh sáng

5.3 Các hướng phát triển của hệ thống

Tôi đã tìm hiểu và xây dựng được thuật toán nhận diện khuôn mặt:

Hệ thống sử dụng camera để thu thập dữ liệu khuôn mặt của người dùng, sau đó đưa vào mô hình huấn luyện nhằm nhận diện khuôn mặt của từng cá nhân.

Hệ thống sử dụng 15 ảnh với 5 góc độ, mỗi góc có 3 ảnh, nhằm nâng cao khả năng nhận diện đối tượng Tuy nhiên, tỉ lệ chính xác chỉ đạt 7/10, cho thấy hiệu quả nhận diện vẫn chưa cao, có thể dẫn đến sai sót trong quá trình điểm danh.

Hệ thống nhận diện khuôn mặt trong tương lai sẽ có khả năng nhận diện từ một hình ảnh rõ nét, phát hiện đối tượng ở khoảng cách xa và đồng thời nhận diện nhiều người Đặc biệt, hệ thống sẽ hoạt động hiệu quả ngay cả trong môi trường thiếu ánh sáng hoặc vào ban đêm, đảm bảo độ chính xác cao.

Hệ thống này có nhiều ứng dụng thiết thực trong cuộc sống, bao gồm việc điểm danh nhân viên tại các công ty và quản lý điểm danh sinh viên trong lớp học.

DANH MỤC TÀI LIỆU THAM KHẢO

[1]https://ec.europa.eu/justice/article-29/documentation/opinion- recommendation/files/2012/wp192_en.pdf

[2] https://arxiv.org/ftp/arxiv/papers/1901/1901.02452.pdf

[3]http://www.pace.ac.in/documents/ece/FACE%20RECOGNITION%20SY STEM%20WITH%20FACE%20DETECTION.pdf

[4] https://users.soict.hust.edu.vn/ductq/XLA%20Lecture.pdf

[5] http://tailieuso.udn.vn/bitstream/TTHL_125/9762/2/HoAnhTrang.TT.pdf

[6] http://vnlp.net/wpcontent/uploads/2010/06/KLTN_NguyenThiHoan_final.pdf

[7] https://lib.hpu.edu.vn/bitstream/handle/123456789/18117/51_NguyenTienMa nh_CT1001.pdf

[8] http://lib.uet.vnu.edu.vn/bitstream/123456789/959/3/T%C3%B3m%20t%E1

%BA%AFt%20lu%E1%BA%ADn%20v%C4%83n%20th%E1%BA%A1c% 20s%E1%BB%B9.pdf

[9] https://jst-haui.vn/media/30/uffile-upload-no-title30606.pdf

[10]http://lib.uet.vnu.edu.vn/bitstream/123456789/55/1/LUAN%20VAN-NGUYEN%20THI%20DUONG-KTDT-K21.pdf

Ngày đăng: 08/11/2023, 23:56

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

TÀI LIỆU LIÊN QUAN

w