Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 42 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
42
Dung lượng
1,79 MB
Nội dung
SAIGON TECHNOLOGY UNIVERSITY BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CƠNG NGHỆ SÀI GỊN KHOA ĐIỆN – ĐIỆN TỬ LUẬN VĂN TỐT NGHIỆP ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT TRONG VIỆC ĐIỂM DANH LỚP HỌC GVHD: ThS NGUYỄN THỊ MINH THY SVTH: LÊ THÀNH CÔNG PHẠM NGỌC ĐỨC (LT41600041) (LT41600043) Tp Hồ Chí Minh Tháng 07/2018 SAIGON TECHNOLOGY UNIVERSITY LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC NGÀNH ĐIỆN – ĐIỆN TỬ ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT TRONG VIỆC ĐIỂM DANH LỚP HỌC GVHD: ThS NGUYỄN THỊ MINH THY SVTH: LÊ THÀNH CÔNG PHẠM NGỌC ĐỨC LỚP: L16 – VT01 (LT41600041) (LT41600043) LỜI CẢM ƠN Trong suốt thời gian từ bắt đầu học tập trường đến nay, c ng em n ận nhiều quan tâm, gi p đỡ quý Thầy Cô, gia đìn bạn bè Với lịng biết ơn sâu sắc nhất, c ng em xin gửi ời c m ơn đến quý Thầy Cô Khoa Điện – Điện tử Trường Đại học Cơng Nghệ Sài Gịn với tri thức tâm huyết mìn để truyền đạt vốn kiến thức quý báu cho chúng em suốt thời gian học tập trường Nếu khơng có lời ướng dẫn, dạy b o thầy c ng em nghĩ luận văn tốt nghiệp c ng em khó hồn thiện Bài luận văn tốt nghiệp thực kho ng thời gian tháng Do vậy, không tránh khỏi thiếu sót điều chắn, c ng em mong nhận ý kiến đóng góp quý báu quý Thầy Cô bạn học lớp để kiến thức c ng em ĩn vực hoàn thiện ơn C ng em c ng in c ân t àn c m ơn cô guy n T in T y, người trực tiếp ướng dẩn, tạo điều kiện thuận lợi tận tình b o cho em suốt thời gian làm luận văn tốt nghiệp t ần c ng em c ân t àn c m ơn cô c c cô d i sức ỏe Em xin chân thành c m ơn! TÓM TẮT ĐỀ TÀI Công nghệ nhân diện khuôn mặt công nghệ sử dụng phổ biến giới Cơng nghệ có khả xác định xác nhận người từ hình ảnh kỹ thuật số lấy mẫu trước từ khung hình nguồn video khác Công nghệ nhân diện khuôn mặt cơng nghệ sinh trắc học tác động đến người dùng công nghệ sinh trắc học nhanh Hệ thống nhận diện khuôn mặt cách chụp ảnh khuôn mặt bước vào khu vực xác định mà không cần tương tác Đề tài “Ứng dụng nhận diện khuôn mặt việc điểm danh lớp học” thực việc điểm danh cách tự động sinh viên bước vào khu vực xác định từ camera Chương trình tự động phát khuôn mặt, chụp ảnh nhận diện sinh viên Kết nhận diện cập nhật vào danh sách lớp phục vụ cho trình điểm danh lớp học MỤC LỤC CHƯƠNG I: GIỚI THIỆU ĐỀ TÀI 1.1 Đặt vấn đề: .3 1.2 Mục tiêu LVTN: .3 1.3 Phạm vi LVTN: CHƯƠNG 2: KIẾN THỨC TỔNG QUAN .4 2.1 Giới thiệu chung xử lý ảnh số kỹ thuật xử lý ảnh 2.1.1 Khái niệm ảnh số: 2.1.2 Điểm ảnh (Picture Element): 2.1.3 Mức xám ảnh: .4 2.1.4 Độ phân giải ảnh: 2.1.5 Xử lý ảnh: .5 2.1.6 Một số kỹ thuật xử lý ảnh: 2.2 Giới Thiệu Chung Về Phần Mềm Matlab 2.2.1 Khái Niệm Matlab: 2.2.2 Một số hàm Matlab dùng để xử lý ảnh: 2.2.3 Hệ thống Matlab: 2.2.4 Tạo giao diện người dùng nhờ công cụ GUIDE: .8 2.3 Giới thiệu nhận diện khn mặt số thuật tốn liên quan: 11 2.3.1 Khái niệm hệ thống nhận diện khuôn mặt: 11 2.3.2 Thuật toán PCA (Principle Component Analysis): 12 2.3.3 Nhận diện khuôn mặt thuật toán biểu diễn thưa (Face Recognition 16 via Sparse Representsation) : 16 CHƯƠNG 3: QUÁ TRÌNH THỰC HIỆN .18 3.1 Chạy Matlab cài Hardware Support Packages hỗ trợ xử lý ảnh từ webcam: .18 3.2 Lưu đồ giải thuật: 21 3.3 Tách ảnh khuôn mặt: 22 3.4 Nhận diện khuôn mặt phương pháp biểu diễn thưa 26 3.5 Thực điểm danh sinh viên quản lý liệu điểm danh file excel thông qua Matlab 29 CHƯƠNG 4: MÔ PHỎNG VÀ ĐÁNH GIÁ KẾT QUẢ 33 4.1 Giao diện chương trình: .33 4.2 Hoạt động chương trình: .34 4.3 Đánh giá kết quả: 36 CHƯƠNG 5: KẾT LUẬN VÀ ĐỀ NGHỊ 37 TÀI LIỆU THAM KHẢO .38 CHƯƠNG I: GIỚI THIỆU ĐỀ TÀI 1.1 Đặt vấn đề: Nhận diện khuôn mặt công nghệ sử dụng phổ biến giới Bên cạnh việc kiểm sốt an ninh, cơng nghệ nhận diện khn mặt cịn có nhiều ứng dụng khác mở khóa điện thoại thơng minh hay đơn giản việc tivi nhận bạn tự động bật chương trình mà bạn u thích Bên cạnh đó, ngày việc thu thập, xử lý thơng tin qua ảnh để nhận biết đối tượng quan tâm ứng dụng rộng rãi Với phương pháp này, thu nhận nhiều thơng tin từ đối tượng mà không cần tác động nhiều đến đối tượng nghiên cứu Sự phát triển khoa học máy tính tạo mơi trường thuận lợi cho toán nhận diện mặt người từ ảnh số 1.2 Mục tiêu LVTN: - Tìm hiểu kỹ thuật xử lý ảnh ứng dụng - Tìm hiểu cơng nghệ nhận diện khn mặt thuật tốn liên quan - Tìm hiểu hàm xử lý ảnh Matlab - Ứng dụng kỹ thuật xử lý ảnh để nhận diện khuôn mặt hỗ trợ việc điểm danh lớp học 1.3 Phạm vi LVTN: - Tìm hiểu thuật tốn nhận diện khn mặt thực phần mềm Matlab - Xây dựng mơ hình điểm danh lớp học sử dụng nhận diện khuôn mặt CHƯƠNG 2: KIẾN THỨC TỔNG QUAN 2.1 Giới thiệu chung xử lý ảnh số kỹ thuật xử lý ảnh 2.1.1 Khái niệm ảnh số: Ảnh số tập hợp hữu hạn điểm ảnh với mức xám / màu phù hợp dùng để mô tả ảnh gần với ảnh thật Ảnh vật đại diện cho người, sinh vật hay vật đó.v.v ảnh số hóa trở thành ảnh số ảnh số tập hợp nhiều phần tử ảnh gọi điểm ảnh "pixel" 2.1.2 Điểm ảnh (Picture Element): - Ảnh số tập hợp nhiều phần tử ảnh gọi điểm ảnh "pixel" hay điểm ảnh phần tử ảnh số toạ độ (x, y) với độ xám màu định Kích thước khoảng cách điểm ảnh chọn thích hợp cho mắt người cảm nhận liên tục không gian mức xám (hoặc màu) ảnh số gần ảnh thật - Mỗi phần tử ma trận gọi điểm ảnh Mỗi điểm ảnh lại biểu diễn dạng số hữu hạn bit Vì số điểm ảnh xác định độ phân giải ảnh ảnh có độ phân giải cao thể rõ nét đặc điểm hình làm cho ảnh trở nên thực sắc nét 2.1.3 Mức xám ảnh: -Là kết biến đổi tương ứng giá trị độ sáng điểm ảnh với giá trị ngun dương Thơng thường xác định [0, 255] tuỳ thuộc vào giá trị mà điểm ảnh biểu diễn - Các thang giá trị mức xám thông thường: 16, 32, 64, 128, 256 (Mức 256 mức phổ dụng Lý do: từ kỹ thuật máy tính dùng byte (8 bit) để biểu diễn mức xám Mức xám dùng byte biểu diễn: 28 = 256 mức, tức từ đến 255) 2.1.4 Độ phân giải ảnh: - Định nghĩa: Độ phân giải (Resolution) ảnh mật độ điểm ảnh ấn định ảnh số hiển thị - Theo định nghĩa, khoảng cách điểm ảnh phải chọn cho mắt người thấy liên tục ảnh Việc lựa chọn khoảng cách thích hợp tạo nên mật độ phân bổ, độ phân giải phân bố theo trục x y khơng gian hai chiều Ví dụ: Độ phân giải ảnh hình CGA (Color Graphic Adaptor) lưới điểm theo chiều ngang hình: 320 điểm chiều dọc * 200 điểm ảnh (320*200) Rõ ràng, hình CGA 12” ta nhận thấy mịn hình CGA 17” độ phân giải 320*200 Lý do: mật độ (độ phân giải) diện tích hình rộng độ mịn (liên tục điểm) 2.1.5 Xử lý ảnh: - Là phân ngành xử lý tín hiệu số với tín hiệu xử lý ảnh Đây phân ngành khoa học mói phát triển năm gần - Xử lý ảnh gồm lĩnh vực chính: + Xử lý nâng cao chất lượng ảnh + Nhận diện ảnh + Nén ảnh + Truy vấn ảnh - Ngày xử lý ảnh áp dụng rộng rãi đời sống như: photoshop, nén ảnh, nhận diện biển số xe, nhận diện khuôn mặt, nhận diện chữ viết … 2.1.6 Một số kỹ thuật xử lý ảnh: - Sử dụng toán tử điểm: Là phép tốn khơng phụ thuộc vị trí điểm ảnh: + Tăng giảm độ sáng + Thống kê tần suất + Biến đổi tần suất - Sử dụng toán tử khơng gian: Là phép tốn phụ thuộc vị trí điểm ảnh: + Biến đổi kích thước + Nắn khơng gian ảnh + Các phép lọc với mục đích làm cho ảnh tốt thuận tiện cho việc biến đổi ảnh sau - Khôi phục ảnh nhiễu: + Thông thường ảnh coi miền mức xám đồng Sự biến đổi mức xám liên tục + Tuy nhiên thực tế có số điểm có mức xám khác tương đối nhiều so với điểm khác Đó nhiễu Các kỹ thuật lọc nhiễu: + Lọc đảo + Lọc giả đảo + Lọc đồng cầu 2.2 Giới Thiệu Chung Về Phần Mềm Matlab 2.2.1 Khái Niệm Matlab: Matlab tên viết tắt từ “MATrix LABoratory”, ngơn ngữ lập trình thực hành bậc cao sử dụng để giải tốn kỹ thuật Matlab tích hợp việc tính toán, thể Thiết kế giao diện lấy ảnh mẫu cơng cụ GUIDE: Hình 3.9: Thiết kế giao diện lấy ảnh mẫu công cụ GUIDE Các đối tượng thiết kế: - Axes2-9: hiển thị ảnh mẫu lấy tách từ video mà webcam thu - Mở webcam (pushbutton): thực thi lệnh mở webcam, hiển thị video thời gian thực thu từ webcam lên Axes1 - MSSV (edit): cho phép nhập MSSV từ bàn phím - Lấy ảnh (pushbutton): thực lấy ảnh mẫu cách tách khn mặt có video - Lưu liệu (pushbutton): lưu ảnh mẫu 24 Hình 3.10: Đoạn code thực lấy ảnh mẫu Số lượng ảnh mẫu sinh siên thay đổi Nếu số mẫu ảnh lấy lưu vào sở liệu nhiều xác suất nhận diện cao Tuy nhiên, tốc độ xử lý phần mềm lâu phải thực nhiều phép so sánh trước đưa kết nhận diện Trong thiết kế này, số lượng ảnh mẫu sinh viên cần để lưu vào sở liệu ảnh Con số phù hợp với mục đích nhận diện khn mặt để điểm danh lớp họp, việc điểm danh vốn khơng cần xác tuyệt đối ứng dụng bảo mật Với số lượng ảnh mẫu thời gian xử lý nhận diện khơng q dài Hình 3.11: Mỗi sinh viên lấy ảnh mẫu khuôn mặt lưu vào CSDL 25 3.4 Nhận diện khuôn mặt phương pháp biểu diễn thưa Việc nhận diện trình so sánh ảnh khuôn mặt cần nhận diện với ảnh khuôn mặt có sở liệu, từ chọn ảnh sở liệu mà gần giống ảnh cần nhận diện để xác định người nhận diện Thiết kế giao diện điểm danh lớp học cơng cụ GUIDE: Hình 3.12: Thiết kế giao diện điểm danh lớp học Các đối tượng thiết kế: 26 - Axes1: hiển thị video thời gian thực thu từ webcam - Axes2: hiển thị ảnh sinh viên sở liệu lớp học nhận diện thành công - Axes3: hiển thị ảnh tách từ video thời gian thực - Bắt đầu (pushbutton): thực thi lệnh bắt đầu chương trình - Thốt (pushbutton): thực thi lệnh dừng chương trình Quá trình thực điểm danh: Khi mở ứng dụng điểm danh, cửa sổ ứng dụng điểm danh thiết kế Việc điểm danh thực người dùng nhấn vào nút Bắt đầu Một cửa sổ mở cho phép người dùng chọn danh sách lớp (lưu dạng file excel) cần điểm danh Ứng dụng tiến hành đọc sở liệu lưu file excel bao gồm thông tin sinh viên, thông tin điểm danh,… quan trọng đường dẫn đến ảnh mẫu khuôn mặt sinh viên lưu dạng *.mat Tiếp theo, webcam mở ảnh thu từ webcam nguyên liệu đầu vào Tất khuôn mặt mà ứng dụng phát ảnh tách xử lý Số khuôn mặt phát ảnh d Vòng lặp thực xử lý khn mặt từ đến d Hình 3.13: Vịng lặp cho thấy tất khn mặt phát ảnh đểu xử lý 27 Hàm “bieudienthua” dùng để nén lưu lượng ảnh cần nhận diện ảnh lưu sở liệu xuống Hình 3.14: Minh họa biểu diễn thưa ảnh đầu vào ứng dụng Tiếp theo, khoảng cách ảnh cần nhận diện tất ảnh sở liệu tính Khoảng cách xem độ sai lệch ảnh cần nhận diện ảnh sở liệu Tất khoảng cách tính lưu vào ma trận “tmp” Giá trị nhỏ ma trận “tmp” sau lọc ra, ảnh sở liệu tương ứng với giá trị nhỏ xem ảnh giống với ảnh cần nhận diện Tuy nhiên đến ta chưa đưa kết luận nhận diện Một giá trị ngưỡng đặt để so sánh trước đưa kết nhận diện Giá trị ngưỡng định độ xác phép nhận diện Giá trị ngưỡng thấp xác suất từ chối nhận diện xác suất nhận diện cao Ngược lại, ngưỡng cao giảm xác suất từ chối nhận diện xác suất nhận diện sai tăng Việc nhận diện yếu tố quan trọng hàng đầu Qua thí nghiệm thực tiễn, mức ngưỡng tối ưu chọn ứng dụng 120 Hình 3.15: Đoạn code so sánh điểm số với ngưỡng để đưa kết nhận diện 28 3.5 Thực điểm danh sinh viên quản lý liệu điểm danh file excel thơng qua Matlab Matlab có sẵn tập lệnh cho phép người dùng thực đọc ghi liệu file Excel Tuy nhiên, việc sử dụng chức thường gặp lỗi Ví dụ lỗi thường gặp phải: Hình 3.16: Matlab báo lỗi mở file excel Nguyên nhân số Add-Ins khác cài đặt sử dụng Excel Cách khắc phục tìm Add-Ins tắt chúng 29 Hình 3.17: Tham khảo Add-Ins Office https://support.office.com Hình 3.18: Xem Add-Ins cài đặt Hình 3.19: Sau xử lý lỗi, file điểm danh excel đọc trực tiếp Matlab Cột E (file.mat) đường dẫn đến ảnh mẫu gương mặt sinh viên Cột F đến cột O (1-10) 10 buổi điểm danh lớp học Người dùng tùy chỉnh số cột để phù hợp với số buổi học thực tế cách thêm cột file excel đồng thời sửa lệnh Matlab để ứng dụng chạy 30 Hình 3.20: Đoạn code liên quan đến số ngày điểm danh đề Cột P (Tổng điểm): Thể điểm chuyên cần sinh viên tính kết điểm danh Cách tính điểm sau: - Sau điểm danh ghi vào ô ta dùng lệnh so sánh excel để tính điểm Cụ thể sau: =IF(AND(VALUE(LEFT(E2,2))=10),1,0.5) - Nghĩa là: giá trị kí tự đầu tính từ trái sang ô E2 nhỏ giá trị kí tự tính từ kí tự 16 sang ô E2 lớn 10 tính “1” Cịn ngồi điều kiên “0.5” Thể cụ thể điều kiện cách tính điểm qua bảng sau: - Giờ vào =8 Giờ >=10 =10 0 Cộng tất giá trị bỏ qua giá trị “#VALUE!” Cụ thể ta có: =SUMIF(E4:G4,">0") 31 Hình 3.21: Mơ tả kết chấm điểm chuyên cần sinh viên 32 CHƯƠNG 4: MÔ PHỎNG VÀ ĐÁNH GIÁ KẾT QUẢ 4.1 Giao diện chương trình: Hình 4.1: Giao diện lấy ảnh mẫu khn mặt 33 Hình 4.2: Giao diện điểm danh lớp học 4.2 Hoạt động chương trình: Phần mềm thiết kế đơn giản, dễ sử dụng Ngoài việc ảnh mẫu lần đầu để lưu vào sử liệu Quá trình nhận diện điểm danh sau thực tự động mà khơng cần người giám sát trực tiếp 34 a Tạo cở sở liệu cho chương trình: - Để tạo sở liệu cho chương trình phải mở webcam nhấn nút Mở Webcam (quang cảnh phía trước webcam hiển thị lên giao diện) - Nhấn nút lấy mẫu, phần mềm bắt đầu tách khn mặt tìm video mà webcam thu Sau lấy đủ ảnh mẫu, phần mềm ngừng tách khuôn mặt - Nhập mã số sinh viên nhấn nút lưu liệu ảnh mẫu lấy gán với MSSV Hình 4.3: Ảnh mẫu sinh viên lưu dạng file *.mat b Điểm danh lớp học: - Ngày điểm danh tính theo thời hành hệ thống - Thời gian ghi nhận vào exel để phục vụ điểm danh thời điểm bắt đầu lần nhận diện thành công (hệ thống ghi nhận thời gian vào lớp) thời điểm kết thúc lần nhận diện thành công cuối (hệ thống ghi nhận thời gian về) - Tổng điểm chuyên cần tính tự động theo kết điểm danh 35 4.3 Đánh giá kết quả: Ứng dụng thực chức điểm danh lớp học cách tự động cách xử lý ảnh thu từ webcam với số lượng 12 sinh viên số buổi học 10 buổi Việc điểm danh, ghi nhận kết tính điểm thực tự động mà khơng cần có người trực tiếp giám sát Chu kì xử lý nhận diện khn mặt có ảnh vào khoảng 0.1 giây Kết chạy thử thực tế với mức ngưỡng 120 cho kết tính xác ứng dụng sau: - Xác suất nhận diện sai FAR = 4% FAR (False Acceptance Rate) tỉ lệ chấp nhận sai ứng dụng Trên 100 lần nhận diện có lần ứng dụng cho kết nhận diện sai - Xác suất từ chối sai FRR = 9% FRR (False Reject Rate) tỉ lệ từ chối sai ứng dụng Trên 100 lần nhận diện có lần ứng dụng từ chối sai, nghĩa người dùng hợp lệ lại bị hệ thống từ chối 36 CHƯƠNG 5: KẾT LUẬN VÀ ĐỀ NGHỊ Luận văn trình bày nhận diện khn mặt dùng phương pháp biểu diễn thưa xây dựng ứng dụng điểm danh cho lớp học thực hành để đánh giá kết việc nhận diện phương pháp biểu diễn thưa Từ kiểm tra thực nghiệm cho thấy đưa ứng dụng vào phục vụ điểm danh, quản lý sinh viên phịng thí nghiệm với số lượng 12 sinh viên Hướng phát triển đề tài tăng số lượng sinh quản lý, tăng tỷ lệ nhận diện xác, giảm tỷ lệ nhận diện sai tỷ lệ từ chối sai Để thực điều đó, thách thức đặt phải cải tiến thuật toán nhận diện tối ưu thời gian xử lý ứng dụng 37 TÀI LIỆU THAM KHẢO - Robust Face Recognition via Sparse Representsation (John Wright, Student Member, IEEE, Allen Y Yang, Member, IEEE, Arvind Ganesh, Student Member, IEEE, S Shankar Sastry, Fellow, IEEE, and Yi Ma, Senior Member - IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL 31, NO 2, FEBRUARY 2009) - Thuật toán nhận diện PCA (Principle Component Analysis - Karl Pearson năm 1901) - MATLAB & Simulink (https://ww2.mathworks.cn/en/?s_tid=gn_logo) - Wikipedia (https://vi.wikipedia.org/wiki/Wikipedia) - Google (https://www.google.com/) 38