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

Đồ án tốt nghiệp Công nghệ kỹ thuật máy tính: Hệ thống điểm danh sử dụng raspberry Pi để nhận diện khuôn mặt

58 2 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Hệ thống điểm danh sử dụng Raspberry Pi để nhận diện khuôn mặt
Tác giả Đoàn Gia Hân, Nguyễn Huỳnh Hưng
Người hướng dẫn PGS.TS Trương Ngọc Sơn
Trường học Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh
Chuyên ngành Công nghệ kỹ thuật máy tính
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2024
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 58
Dung lượng 7,84 MB

Cấu trúc

  • CHƯƠNG 1 TỔNG QUAN (15)
    • 1.1 GIỚI THIỆU (15)
    • 1.2 MỤC TIÊU ĐỀ TÀI (15)
    • 1.3 GIỚI HẠN ĐỀ TÀI (16)
    • 1.4 PHƯƠNG PHÁP NGHIÊN CỨU (16)
    • 1.5 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU (16)
    • 1.6 BỐ CỤC QUYỂN BÁO CÁO (17)
  • CHƯƠNG 2 CƠ SỞ LÝ THUYẾT (17)
    • 2.1 GIỚI THIỆU NHẬN DIỆN KHUÔN MẶT (18)
    • 2.2 THUẬT TOÁN LBP (LOCAL BINARY PATTERN) (19)
    • 2.3 PHƯƠNG PHÁP PHÁT HIỆN KHUÔN MẶT HAAR-LIKE (23)
    • 2.4 GIẢI THUẬT ADABOOST (24)
  • CHƯƠNG 3 THIẾT KẾ HỆ THỐNG ĐIỂM DANH (18)
    • 3.1 THIẾT KẾ PHẦN CỨNG (0)
      • 3.1.1 Thiết kế sơ đồ khối của hệ thống (0)
      • 3.1.2 Giới thiệu từng loại linh kiện (28)
      • 3.1.3 Sơ đồ nguyên lý (0)
    • 3.2 THIẾT KẾ PHẦN MỀM (0)
      • 3.2.1 Các tiêu chí của hệ thống (32)
      • 3.2.2 Lưu đồ giải thuật của hệ thống (0)
  • CHƯƠNG 4 KẾT QUẢ VÀ THẢO LUẬN (27)
    • 4.1 KẾT QUẢ (0)
    • 4.2 ĐÁNH GIÁ MÔ HÌNH (54)
  • CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (42)

Nội dung

Tên đề tài: Hệ thống điểm danh sử dụng Raspberry Pi để nhận diện khuôn mặt 2.. viii LỜI CAM ĐOAN Nhóm sinh viên Đoàn Gia Hân và Nguyễn Huỳnh Hưng thực hiện đề tài “Hệ thống điểm danh sử

TỔNG QUAN

GIỚI THIỆU

Trong thời đại cách mạng công nghiệp 4.0, sự phát triển của trí tuệ nhân tạo đã mở ra nhiều ứng dụng mới và mang lại nhiều lợi ích cho cuộc sống hằng ngày của con người Trước đây, việc nhận diện người ra vào không gian công cộng thường dựa vào các phương pháp như lưu giữ hồ sơ hoặc nhân viên bảo vệ Tuy nhiên, các phương pháp này thường tốn nhiều thời gian, công sức và có thể dẫn đến sai sót khi có số lượng lớn người ra vào

Trong thời đại công nghệ thông tin hiện nay, việc áp dụng công nghệ để tự động hóa quá trình này trở nên cần thiết Tuy nhiên, việc sử dụng các phương pháp thủ công vẫn còn phổ biến trong việc điểm danh việc đi học của sinh viên dẫn đến các vấn đề lãng phí thời gian như bỏ lớp, đi trễ hoặc không đến đúng giờ Để giải quyết vấn đề này, nhóm đã quyết định thực hiện một hệ thống điểm danh sử dụng công nghệ nhận dạng khuôn mặt Hệ thống này không chỉ giảm thiểu tình trạng hiện tại mà còn nâng cao khả năng quản lý, tối ưu hóa thời gian và công sức của cả sinh viên và người điều hành.

MỤC TIÊU ĐỀ TÀI

Trong đề tài này, sinh viên thực hiện đề tài đặt ra mục tiêu cho hệ thống như sau:

- Nghiên cứu và ứng dụng thị giác máy tính trong việc nhận diện khuôn mặt, sử dụng thư viện OpenCV để phát hiện và nhận diện khuôn mặt của sinh viên, lưu trữ ảnh khuôn mặt và huấn luyện mô hình nhận diện

- Thiết kế hệ thống điểm danh tự động sử dụng nhận diện khuôn mặt:

+ Hệ thống có thể nhận diện sinh viên và tự động ghi nhận thông tin điểm danh vào cơ sở dữ liệu MySQL

+ Tích hợp các giao diện để nhập thông tin môn học, giảng viên và thời gian học

- Cung cấp khả năng lưu trữ và truy xuất dữ liệu điểm danh:

+ Hệ thống lưu trữ thông tin điểm danh vào file Excel, giúp dễ dàng truy xuất và theo dõi thông tin điểm danh của sinh viên.

GIỚI HẠN ĐỀ TÀI

- Mô hình dừng lại ở việc điểm danh mỗi lần một học sinh/sinh viên/nhân viên

- Trong điều kiện ánh sáng quá yếu, camera nhận dạng kém chính xác

- Khi đeo khẩu trang hoặc mang kính, camera chưa thể nhận dạng

- Camera chỉ nhận diện khuôn mặt tốt ở khoảng cách vừa phải (0,8m - 1m) không quá xa cũng như quá gần.

PHƯƠNG PHÁP NGHIÊN CỨU

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

- Đối tượng nghiên cứu: Sinh viên

+ Nghiên cứu về độ chính xác của hệ thống điểm danh bằng khuôn mặt trong các điều kiện: ánh sáng yếu, góc chụp khác nhau và biểu cảm khác nhau của người dùng

+ Đánh giá mức độ khả thi của việc thực hiện hệ thống trong các môi trường thực tế

BỐ CỤC QUYỂN BÁO CÁO

Nội dung chính của đề tài được trình bày với 5 chương:

Giới thiệu chung về đề tài, mục tiêu nghiên cứu, giới hạn đề tài, phương pháp nghiên cứu, đối tượng và phạm vi nghiên cứu.

CƠ SỞ LÝ THUYẾT

GIỚI THIỆU NHẬN DIỆN KHUÔN MẶT

Nhận diện khuôn mặt là một loại nhận diện trực quan trong đó khuôn mặt được coi như một vật thể với những thay đổi về ánh sáng, vị trí và cảm xúc được xác định bởi hình ảnh hai chiều Nhiệm vụ của hệ thống là tự động xử lý dữ liệu từ hình ảnh đầu vào và đưa ra quyết định về dữ liệu khuôn mặt

Hình 2.1 Cấu trúc của hệ thống nhận dạng khuôn mặt [2]

- Phát hiện khuôn mặt: Hệ thống nhận dạng khuôn mặt bắt đầu bằng việc xác định và định vị khuôn mặt người trong một hình ảnh cụ thể Mục tiêu của bước này là xác nhận xem hình ảnh đầu vào có chứa khuôn mặt người hay không Các yếu tố như ánh sáng và biểu cảm khuôn mặt có thể gây khó khăn cho việc phát hiện chính xác Nhiều kỹ thuật được sử dụng để phát hiện và định vị khuôn mặt, chẳng hạn như bộ dò Viola-Jones, biểu đồ gradient định hướng (HOG) và phân tích thành phần chính (PCA)

- Trong bước trích xuất đặc trưng, mục tiêu là tách riêng các đặc điểm đặc biệt của khuôn mặt được phát hiện ở bước đầu tiên Quá trình này biểu diễn khuôn mặt dưới dạng một tập hợp các vectơ đặc trưng, gọi là “đặc trưng”, mô tả các đặc điểm như miệng, mũi và mắt cùng với vị trí hình học của chúng Mỗi

5 khuôn mặt có sự khác biệt về cấu trúc, kích thước và hình dạng riêng biệt giúp phục vụ cho mục đích nhận dạng Các kỹ thuật trích xuất đặc trưng như HOG, Eigenface, phân tích thành phần độc lập (ICA), phân tích phân biệt tuyến tính (LDA), biến đổi tính năng bất biến tỷ lệ (SIFT), bộ lọc Gabor, lượng tử hóa pha cục bộ (LPQ) và kỹ thuật mẫu nhị phân cục bộ (LBP) thường được áp dụng để tạo ra các đặc trưng của khuôn mặt

- Trong quá trình nhận dạng khuôn mặt, các đặc trưng trích xuất từ bước trước được so sánh với các khuôn mặt đã biết được lưu trữ trong CSDL Một khuôn mặt thử nghiệm được so sánh với tập hợp các khuôn mặt trong dữ liệu để tìm ra khuôn mặt phù hợp nhất Quy trình nhận dạng bao gồm việc so sánh khuôn mặt kiểm tra với các khuôn mặt đã biết trong CSDL để đưa ra quyết định cuối cùng.

THUẬT TOÁN LBP (LOCAL BINARY PATTERN)

LBP (Local Binary Pattern) được Ojala giới thiệu vào năm 1996 để đo độ tương phản cục bộ của hình ảnh Phiên bản đầu tiên của Local Binary Pattern được sử dụng với 8 pixel xung quanh và giá trị pixel trung bình được sử dụng làm ngưỡng Giá trị Local Binary Pattern được tính bằng cách nhân các giá trị ngưỡng với trọng số tương ứng cho từng pixel rồi tính tổng

Local Binary Pattern (LBP) là một phương pháp mô tả cấu trúc của một hình ảnh bằng cách so sánh các giá trị của các pixel trong một vùng cục bộ của hình ảnh Ý tưởng cơ bản của LBP là so sánh giá trị của mỗi pixel với giá trị của các pixel lân cận của nó Một điểm trung tâm được chọn và giá trị của nó được so sánh với các pixel lân cận Nếu giá trị của điểm trung tâm lớn hơn hoặc bằng giá trị của các pixel lân cận, nó sẽ được mã hóa thành 1, ngược lại, nó sẽ được mã hóa thành 0 Bằng cách này, mỗi điểm trung tâm và các pixel lân cận xung quanh nó sẽ tạo ra một chuỗi nhị phân, và chuỗi này sẽ đại diện cho cấu trúc cục bộ của hình ảnh LBP có thể được sử dụng để trích xuất các đặc trưng quan trọng của hình ảnh, như các đặc điểm cục bộ và cấu trúc của các vùng trong hình ảnh Ví dụ: nếu lấy 8 pixel lân cận thì LBP là 11001111 hoặc nếu chuyển nó sang hệ số

10 thì nó là 207 Đây là chuỗi nhị phân đơn giản và dễ hiểu hơn để mô tả cấu trúc của một hình ảnh

Hình 2.2 Ví dụ về Local Binary Pattern [3]

Dãy Local Binary Pattern được Ojala giới thiệu vào năm 2002 Xác định cấu trúc pixel là phân bố đại số của các mức xám của P +1 (P > 0) pixel

Nếu gc tương ứng với tông màu xám của pixel trung tâm Ptt, thì gp (p = 0, ,

1) tương ứng với xung quanh P pixel, P pixel này nằm trong một vòng tròn có bán kính R và tâm là Ptt

Hình 2.3 Các điểm xung quanh P tt [3]

Không mất thông tin, gp có thể giảm đi gc

Giả sử sự sai số giữa gp và gc là độc lập với gc, ta có thể nhân tử hóa gc như sau:

7 t(gc) biểu thị xu hướng độ sáng tối của cả bức ảnh nên không liên quan đến kết cấu của ảnh cục bộ do đó có thể bỏ qua

Mặc dù tính bất biến trái ngược với những thay đổi thang độ xám trong thang điểm ảnh, nhưng có sự khác biệt về tỷ lệ Để có được các đặc điểm bất biến đối với màu đen và trắng (thang độ xám), hãy xem xét dấu hiệu của độ lệch:

Trọng số 2p được sử dụng cho các hàm dấu, s(gp–gc) nhằm chuyển đổi sự khác biệt giữa các điểm ảnh lân cận thành một giá trị duy nhất [3]

Với P pixel, có 2p giá trị LBPP, R trong khoảng [0, 2p−1], nhưng để đơn giản, ta có thể chọn một số giá trị trong 2p giá trị này và ký hiệu là: LBPP, Ru2

Thuật toán Local Binary Pattern

Thông tin Local Binary Pattern của mỗi pixel tại trung tâm khối hình ảnh được tính toán từ thông tin của các pixel lân cận Các bước có thể được tóm tắt như sau:

Bước 1: Đặt bán kính làm việc, thường là bán kính R, để phát hiện các pixel lân cận

Bước 2: Tính giá trị Local Binary Pattern của pixel giữa (xc, yc) của mỗi khối ảnh bằng cách so sánh giá trị thang độ xám của các pixel lân cận với thang độ xám của pixel giữa (gc)

Hàm nhị phân s(z) được định nghĩa như sau: nếu z ≥ 0 thì s(z) = 1, nếu không thì s(z) = 0

Giá trị Local Binary Pattern của pixel trung tâm được tính bằng cách xác định thang độ xám giá trị của các pixel lân cận và giá trị thang độ xám của các giá trị nhị phân chênh lệch giá trị pixel trung tâm

Hình 2.4 Biến thể của Local Binary Pattern đồng dạng [3]

Một mẫu nhị phân được xem là "đồng dạng" nếu có hai lần chuyển đổi từ giá trị bit sang 0 hoặc từ giá trị bit sang 1 trong quá trình tuần hoàn chuỗi bit Ví dụ: chuỗi 00000000 không phải là Chuyển tiếp, chuỗi 01110000 và 11001111 chứa hai chuyển đổi, vì vậy chúng là một Local Binary Pattern duy nhất Nhưng chuỗi 11001001 có 4 lần chuyển tiếp và chuỗi 01010011 có 6 lần chuyển tiếp nên chúng không phải là Local Binary Pattern đồng nhất

Dựa trên định nghĩa này, có P(P-1) + 3 nhãn trong bảng ánh xạ lân cận của bán kính làm việc P Ví dụ, trong trường hợp 8 lân cận, có tổng cộng 59 nhãn

Hình 2.5 Bảng thống kê các mẫu của uniform LBP [3]

PHƯƠNG PHÁP PHÁT HIỆN KHUÔN MẶT HAAR-LIKE

Phương pháp Haar-like, phát triển bởi Paul Viola và Michael J Jones, là một phương pháp tiếp cận nâng cao để nhận dạng khuôn mặt dựa trên đặc điểm hình thái của khuôn mặt Hệ thống nhận dạng khuôn mặt học từ các mẫu khuôn mặt trong quá trình đào tạo và sử dụng thông tin này để nhận dạng khuôn mặt trong ảnh mới

Phương pháp này kết hợp hai thành phần chính: các hàm Haar-like và hình ảnh tích phân Các đặc điểm Haar-like được áp dụng cho các phần của hình ảnh để tính toán các giá trị đặc điểm, sau đó các giá trị này được sử dụng để phân loại khuôn mặt bằng mô hình học máy Hình ảnh tích hợp giúp tính toán các giá trị giống tóc hiệu quả hơn

Phương pháp Haar-like được sử dụng trên ảnh thang độ xám mà không sử dụng thông tin về màu sắc khuôn mặt Việc chuyển đổi ảnh màu sang ảnh thang độ xám và ảnh tích hợp được thực hiện trước khi tính toán các đặc trưng Haar- like Mặc dù không sử dụng thông tin màu sắc nhưng phương pháp này vẫn cho kết quả nhận diện khuôn mặt rất chính xác và hiệu quả

Mỗi hàm Haar-like xác định một khu vực hình chữ nhật được chia thành 2,

3 hoặc 4 hình chữ nhật nhỏ, mỗi hình chữ nhật có màu trắng hoặc đen truyền thống Trong quá trình dò tìm khuôn mặt, hệ thống sẽ quét toàn bộ hình ảnh đầu vào trong cửa sổ con có kích thước cố định Mỗi cửa sổ con được tạo tương ứng với một ảnh con và mỗi cửa sổ con sử dụng các hàm Haar-like để tính giá trị đặc trưng Các giá trị này sau đó được đưa vào bộ phân loại để xác định xem khung có chứa khuôn mặt hay không [4] Ứng với mỗi một đặc trưng, một bộ phân lớp yếu hk(x) được định nghĩa theo Công thức:

Trong đó: là cửa sổ con cần xét là ngưỡng là giá trị đặc trưng của Haar-like là hệ số quyết định chiều của bất phương trình

THIẾT KẾ HỆ THỐNG ĐIỂM DANH

KẾT QUẢ VÀ THẢO LUẬN

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

KẾT QUẢ VÀ THẢO LUẬN

Mô hình hệ thống điểm danh hoàn thiện bao gồm:

Hình 4.1 Mô hình hệ thống điểm danh Để thực hiện các chương trình trên, người dùng có thể tương tác với hệ thống thông qua giao diện trên màn hình cảm ứng

Hình 4.2 Giao diện chính của hệ thống điểm danh

Hệ thống điểm danh được thiết kế với các chức năng chính như sau:

Khi nhấn nút “Lấy Dữ Liệu”

Hình 4.3 Nút “Lấy Dữ Liệu”

Cửa sổ GUI được khởi tạo bằng tkinter với tiêu đề "GET DATA" sẽ xuất hiện Bộ nhận diện khuôn mặt được tải từ tệp haarcascade_frontalface_default.xml và camera mặc định được mở Giao diện người dùng bao gồm nhập MSSV và Họ và Tên cùng với một nút "OK" được tạo ra Giao diện này được hiển thị bằng cách gọi root.mainloop()

Hàm insertOrUpdate được thiết kế để chèn hoặc cập nhật thông tin người dùng trong CSDL dựa trên ID của họ Khi được gọi, hàm sẽ kết nối với CSDL và thực hiện các bước cần thiết để kiểm tra xem một bản ghi với ID đã cho có tồn tại hay không Nếu bản ghi tồn tại, thông tin của người dùng sẽ được cập nhật Nếu không, một bản ghi mới sẽ được chèn vào

Hình 4.4 Cửa sổ “GET DATA”

Hàm capture_images() dùng để chụp và lưu trữ hình ảnh của khuôn mặt từ video, gắn nhãn với ID và số mẫu, và hiển thị chỉ dẫn trên màn hình trong quá trình thực hiện

Hình 4.5 Nhận diện khi nhìn thẳng vào camera

Lấy thời gian hiện tại và đặt end_time là 3 giây sau Trong vòng lặp chạy cho đến khi thời gian hiện tại nhỏ hơn end_time thì chụp một khung hình từ video Nếu khung hình được chụp thành công thì hiển thị "HAY NHIN THANG VAO CAMERA", "HAY QUAY SANG PHAI", "HAY QUAY SANG TRAI",

"HAY NGUOC LEN TREN" trên khung hình, sau đó hiển thị khung hình trong cửa sổ có tiêu đề 'img' và thoát vòng lặp nếu phím 'q' được nhấn

Hình 4.6 Nhận diện khi xoay sang phải

Trong vòng lặp chạy khi sample_number nhỏ hơn end_sample_number thì chụp một khung hình từ video Nếu khung hình được chụp thành công thì hiển thị "HAY NHIN THANG VAO CAMERA", "HAY QUAY SANG PHAI",

"HAY QUAY SANG TRAI", "HAY NGUOC LEN TREN" trên khung hình Sau đó chuyển khung hình sang ảnh xám Phát hiện khuôn mặt trong ảnh xám

Hình 4.7 Nhận diện khi xoay sang trái

Thoát vòng lặp nếu sample_number lớn hơn hoặc bằng end_sample_number

Khi người dùng nhấn nút "OK", hàm myclickOK() được gọi Hàm này lấy thông tin từ các trường nhập liệu, lưu thông tin vào CSDL, và bắt đầu quá trình chụp ảnh khuôn mặt Một vòng lặp liên tục đọc khung hình từ camera, chuyển đổi sang màu xám, và phát hiện khuôn mặt Mỗi khi phát hiện được khuôn mặt, ảnh được lưu vào thư mục data_face và một hình chữ nhật được vẽ quanh khuôn mặt trong khung hình hiển thị Quá trình này tiếp tục cho đến khi chụp đủ 200 ảnh, sau đó camera được giải phóng và tất cả các cửa sổ OpenCV được đóng Cuối cùng, cửa sổ GUI cũng được đóng lại

Hình 4.8 Nhận diện khi ngước mặt lên Đối với mỗi khuôn mặt được phát hiện thì tăng sample_number Tạo thư mục 'data_face' nếu chưa tồn tại và lưu vùng khuôn mặt được phát hiện dưới dạng tệp JPEG với tên User.{id}.{sample_number}.jpg Vẽ hình chữ nhật xung quanh khuôn mặt được phát hiện trên khung hình Hiển thị khung hình trong cửa sổ có tiêu đề 'img' và thoát vòng lặp nếu phím 'q' được nhấn

Hình 4.9 Ảnh sau khi lấy dữ liệu lưu trong data_face

Tiếp theo, khi nhấn vào nút "Xử Lí Dữ Liệu", hệ thống sẽ tiến hành huấn luyện dữ liệu từ các ảnh đã thu thập được

Hình 4.10 Nút “Xử Lý Dữ Liệu”

Hàm TrainData() thực hiện việc đào tạo một bộ nhận diện khuôn mặt LBPH (Local Binary Patterns Histograms) sử dụng dữ liệu khuôn mặt đã được lưu trữ trước đó trong thư mục data_face Quy trình bắt đầu bằng việc khởi tạo bộ nhận diện khuôn mặt LBPH thông qua cv2.face.LBPHFaceRecognizer_create() Sau đó, hàm phụ getImagesWithID(path) được định nghĩa để lấy danh sách tất cả các tệp ảnh trong thư mục data_face, chuyển đổi chúng sang ảnh xám, và trích xuất ID từ tên tệp

Các ảnh này được chuyển thành mảng numpy và ID của từng khuôn mặt được lưu vào danh sách IDs

Hàm load_processed_ids có mục đích tải danh sách các ID đã được xử lý từ một tệp nếu tệp đó tồn tại Đầu tiên, hàm kiểm tra sự tồn tại của tệp processed_ids_file bằng cách sử dụng os.path.exists(processed_ids_file) Nếu tệp tồn tại, hàm sẽ mở tệp ở chế độ đọc ('r') và đọc tất cả các dòng trong tệp Mỗi dòng sẽ được chuyển đổi thành một số nguyên (ID) sau khi bỏ khoảng trắng ở đầu và cuối Cuối cùng, hàm trả về tập hợp các ID đã được xử lý Nếu tệp không tồn tại, hàm sẽ trả về một tập hợp rỗng

Hàm save_processed_ids có mục đích lưu danh sách các ID đã được xử lý vào một tệp Hàm này mở tệp processed_ids_file ở chế độ ghi ('w') Sau đó, hàm duyệt qua từng ID trong tập hợp processed_ids và ghi mỗi ID vào tệp, mỗi ID trên một dòng mới

Hình 4.11 Chuyển đổi sang ảnh xám khi nhấn nút “Xử Lí Dữ Liệu”

Hàm getImagesWithID(path) được gọi để lấy các ảnh khuôn mặt và ID tương ứng Bộ nhận diện khuôn mặt sau đó được đào tạo bằng phương thức train với dữ liệu ảnh và ID này Kết quả được lưu vào tệp trainningData.yml trong thư mục trainer Nếu thư mục này chưa tồn tại, nó sẽ được tạo mới

Khi quá trình đào tạo hoàn tất, hàm in ra thông báo về số lượng khuôn mặt đã được đào tạo thành công, dựa trên số lượng ID duy nhất Cuối cùng, tất cả các cửa sổ OpenCV được đóng lại bằng cách gọi cv2.destroyAllWindows() để giải phóng tài nguyên và kết thúc chương trình

Khi nhấn nút “Điểm Danh”

Hình 4.12 Nút “Điểm Danh”

Hàm AttendentData() sẽ khởi tạo các biến, tải các tệp tin cần thiết, xác định thông tin về người dùng từ CSDL, bắt đầu vòng lặp chụp ảnh từ webcam và nhận diện khuôn mặt, lưu thông tin điểm danh vào DataFrame, dừng vòng lặp và giải phóng tài nguyên, và cập nhật giao diện người dùng

Hình 4.13 Cửa sổ nhận diện gương mặt sau khi nhấn nút “Điểm Danh”

Sau khi chuẩn bị thông tin cần thiết, hàm bắt đầu một vòng lặp vô hạn để chụp ảnh từ webcam và nhận diện khuôn mặt Với mỗi khung hình, nó sử dụng bộ phân loại khuôn mặt để phát hiện khuôn mặt trong ảnh và dự đoán ID và độ tin cậy của khuôn mặt thông qua bộ nhận diện khuôn mặt LBPH Nếu độ tin cậy

< 60%, hàm truy vấn thông tin của người dùng từ CSDL và hiển thị tên của họ lên ảnh; nếu độ tin cậy >= 60%, nó hiển thị "Unknown" lên ảnh

Ngày đăng: 18/11/2024, 16:23

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w