Xây dựng hệ thống nhận dạng khuôn mặt sử dụng raspberry pi và OpenCV (tt)

25 96 0
Xây dựng hệ thống nhận dạng khuôn mặt sử dụng raspberry pi và OpenCV (tt)

Đ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

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA - NGUYỄN VĂN THƠ XÂY DỰNG HỆ THỐNG NHẬN DẠNG KHUÔN MẶT SỬ DỤNG RASPBERRY PI VÀ OPENCV C C R UT.L D Chuyên ngành : Kỹ thuật điện tử Mã số: 8520203 TÓM TẮT LUẬN VĂN THẠC SĨ Đà Nẵng – Năm 2020 Cơng trình hồn thành TRƯỜNG ĐẠI HỌC BÁCH KHOA Người hướng dẫn khoa học: TS Nguyễn Duy Nhật Viễn Phản biện 1: TS Ngơ Minh Trí Phản biện 2: TS Ngô Văn Sỹ C C R UT.L D Luận văn bảo vệ trước Hội đồng chấm Luận văn tốt nghiệp thạc sĩ kỹ thuật điện tử Trường Đại học Bách khoa vào ngày 25 tháng 10 Có thể tìm hiểu luận văn tại:  Trung tâm Học liệu truyền thông, Trường Đại học Bách khoa - ĐHĐN  Thư viện Khoa Điện tử - viễn thông, Trường Đại học Bách khoa - ĐHĐN MỞ ĐẦU Tính cấp thiết đề tài Nhận dạng mặt người (Face recognition) lĩnh vực nghiên cứu ngành Computer Vision, xem lĩnh vực nghiên cứu ngành Biometrics (tương tự nhận dạng vân tay – Fingerprint recognition, hay nhận dạng mống mắt -Iris recognition) Xét nguyên tắc chung, nhận dạng mặt có tương đồng lớn với nhận dạng vân tay nhận dạng mống mắt, nhiên khác biệt nằm bước trích chọn đặt trưng (feature extraction) lĩnh vực Trong nhận dạng vân tay mống mắt đạt tới độ chín, tức áp dụng thực tế cách rộng rãi nhận dạng mặt người nhiều thách thức lĩnh vực nghiên cứu thú vị với nhiều người So với nhận dạng vân tay mống mắt, nhận dạng mặt có nguồn liệu phong phú (bạn nhìn thấy mặt người ảnh, video clip liên quan tới người mạng) địi hỏi tương tác có kiểm sốt (để thực nhận dạng vân tay hay mống mắt, liệu input lấy từ người đòi hỏi có hợp tác mơi trường có kiểm sốt) Nhận dạng khuôn mặt ứng dụng rộng rãi đời sống ngày người, hệ thống bảo mật, an ninh, giám sát, quản lý vào ra, tìm kiếm thơng tin, ứng dụng mạng xã hội Facebook, google… Vì nhận dạng khn mặt nhiều nhóm nghiên cứu, cơng ty cơng nghệ lớn giới quan tâm Thêm với đời phát triển bùng nổ khoa học máy tính, nhận dạng khn mặt địi hỏi nhiều yêu cầu cao kết quả, độ tin cậy, tính bảo mật C C R UT.L D Hiện nay, tất thuật tốn nhận diện khn mặt phát triển phần lớn dựa tảng hệ thống xử lý tín hiệu số DSP (Digital Signal Processing) với lượng tài ngun tính tốn lớn giá thành cao, khó tích hợp vào hệ thống nhận dạng yêu cầu giá thành thấp Để giải vấn đề này, luận văn hướng đến nghiên cứu nhận dạng khn mặt máy tính nhúng Raspberry Pi, với đặc trưng tài nguyên tính toán giới hạn nhỏ gọn, giá thành thấp đảm bảo độ xác Khi trí tuệ nhân tạo AI Internet vạn vật (IoT) phát triển mạnh mẽ, với thiết bị thơng minh ngày có sẵn cho người tiêu dùng, nhu cầu hệ thống kết nối nhận dạng khuôn mặt với tiện ích thơng minh trở nên phổ biến máy tính nhúng Raspberry lựa chọn phù hợp hiệu cao C C R UT.L Mục đích nghiên cứu Luận văn xây dựng hệ thống nhận dạng khn mặt máy tính nhúng Raspberry Pi sử dụng thư viện mã nguồn mở OpenCV Thông qua việc nghiên cứu lý thuyết thực nghiệm hệ thống nhận dạng khuôn mặt, luận văn đưa khảo sát đánh giá độ xác tính đáp ứng thời gian thực, từ luận văn hướng đến triển khai hệ thống nhận dạng ứng dụng thực tiễn D Đối tượng phạm vi nghiên cứu   Lý thuyết tổng quan hệ thống nhận dạng khuôn mặt Phương pháp để nhận dạng phân lớp đối tượng ứng dụng nhận dạng khuôn mặt  Lý thuyết tổng quan máy tính nhúng Raspberry Pi thư viện xử lý ảnh OpenCV  chập Thuật tốn nhận dạng khn mặt sử dụng mạng Neural tích  Các tiêu chí đánh giá hiệu hệ thống nhận dạng khuôn mặt: tỉ lệ nhận dạng đúng, thời gian nhận dạng Phương pháp nghiên cứu Luận văn nghiên cứu theo phương pháp thu thập liệu kết hợp lý thuyết thực nghiệm, theo thứ tự sau:  Thu thập tài liệu nghiên cứu, bao gồm tài liệu lý thuyết thực nghiệm  Tìm hiểu, khảo sát sở vật chất, kỹ thuật công nghệ, thiết bị sẵn có, linh kiện phù hợp có mặt thị trường  Xây dựng mơ hình tổng quan nhận dạng khuôn mặt hệ thống nhúng (kit Raspberry Pi)  Thao tác thử nghiệm thuật toán trực tiếp phần cứng  Xây dựng demo hệ thống nhận dạng khuôn mặt C C R UT.L Ý nghĩa khoa học thực tiễn đề tài Luận văn thực lại nghiên cứu từ tài liệu, báo cáo khoa học kỹ thuật nhận dạng khuôn mặt dựa tảng OpenCV Raspberry Pi Kết luận văn tài liệu tham khảo để rút ưu điểm hạn chế phương pháp nhận dạng khuôn mặt hệ thống nhúng Raspberry Pi Trên sở sử dụng Raspberry Pi để ứng dụng vào hệ thống điều khiển, quản lý, giám sát, an ninh… D Bố cục luận văn Luận văn chia làm chương sau: Chương 1: Tổng quan hệ thống nhận dạng khn mặt Phân tích tổng quan hệ thống nhận dạng khn mặt, tình hình phát triển kỹ thuật tóm tắt sơ lược phương pháp, kỹ thuật nhận dạng khuôn mặt Chương 2: Kỹ thuật trích chọn đặc trưng phương pháp phân lớp ứng dụng nhận dạng khuôn mặt Tập trung phân tích lý thuyết cho hệ thống từ mức tổng quan đến chi tiết thuật toán Ở chương này, Luận văn trình bày lý thuyết chung cho kỹ thuật ứng dụng luận văn: kỹ thuật phân tích thành phần PCA, kỹ thuật huấn luyện phương pháp đối sánh phương pháp máy vector hỗ trợ SVM, phương pháp mạng Neural nhân tạo Chương 3: Hệ thống nhận dạng khn mặt máy tính nhúng Raspberry Pi Trình bày kiến thức tổng quan Raspberry Pi thư viện mã nguồn mở OpenCV, quy trình thực nhận dạng khn mặt thực Raspberry Pi Chương 4: Thực nghiệm đánh giá hệ thống Trình bày hệ thống nhận dạng khuôn mặt thực nghiệm, đánh giá hiệu hệ thống Từ rút kết luận hướng phát triển đề tài Luận văn thực dựa nguồn tài liệu tham khảo thu thập từ nhiều nguồn khác nhau: báo tạp chí hội thảo khoa học chuyên ngành, báo cáo khoa học, sở liệu Đồ án Luận văn trường Đại học, trích dẫn suốt luận văn danh mục tài liệu liệt kê cụ thể phần Tài liệu tham khảo D C C R UT.L CHƯƠNG TỔNG QUAN VỀ HỆ THỐNG NHẬN DẠNG KHUÔN MẶT 1.1 Giới thiệu chương 1.2 Tổng quan hệ thống nhận dạng khuôn mặt 1.2.1 Các vấn đề liên quan 1.2.2 Kiến trúc tổng quát hệ thống nhận dạng khuôn mặt Nhận dạng khuôn mặt kiểu nhận dạng trực quan, khuôn mặt xem đối tượng với thay đổi ánh sáng, tư thế, cảm xúc xác định dựa ảnh hai chiều Nhiệm vụ hệ thống nhận dạng khuôn mặt xử lý tự động thơng tin từ hình ảnh đầu vào đưa định thông tin khuôn mặt Trong đề tài này, cấu trúc hệ thống nhận dạng khn mặt thực theo quy trình hình sau: C C R UT.L Image D Phát khn mặt Trích xuất đặc trưng Nhận dạng khn mặt Dữ liệu khn mặt Hình 1.1 Kiến trúc tổng quan hệ thống nhận dạng khuôn mặt Chức khối mô tả cụ thể sau: Phát khuôn mặt: Hệ thống nhận dạng khuôn mặt bắt đầu với việc định vị khuôn mặt người hình ảnh cụ thể Mục đích bước xác định xem hình ảnh đầu vào có chứa khuôn mặt người hay không Sự thay đổi ánh sáng biểu cảm khn mặt ngăn cản việc phát khn mặt thích hợp Nhiều kỹ thuật sử dụng để phát định vị hình ảnh khn mặt người, ví dụ, máy dị Viola Jones, biểu đồ gradient định hướng (HOG), phân tích thành phần (PCA) Trích xuất đặc trưng: Chức bước trích xuất đặc điểm hình ảnh khn mặt phát bước Bước đại diện cho khuôn mặt với tập hợp vectơ đặc điểm gọi “đặc trưng” mô tả đặc điểm bật hình ảnh khn mặt miệng, mũi mắt với phân bố hình học chúng Mỗi khn mặt đặc trưng cấu trúc, kích thước hình dạng cho phép nhận dạng Một số kỹ thuật liên quan đến việc trích xuất hình dạng miệng, mắt mũi để xác định khuôn mặt cách sử dụng kích thước khoảng cách 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 bất biến tỷ lệ (SIFT), lọc gabor, lượng tử hóa pha cục (LPQ) kỹ thuật mẫu nhị phân cục (LBP) sử dụng rộng rãi để trích xuất đặc trưng khn mặt Nhận dạng khuôn mặt: Bước xem xét đặc trưng trích xuất bước trích xuất đặc trung so sánh với khn mặt biết lưu trữ sở liệu cụ thể Trong bước nhận dạng, khuôn mặt thử nghiệm so sánh với tập hợp khuôn mặt liệu có sẵn nhằm tìm khn mặt phù hợp Trong bước nhận dạng, khuôn mặt kiểm tra so sánh với khuôn mặt biết sở liệu để đưa định D C C R UT.L 1.2.3 Những khó khăn, thách thức hệ thống nhận dạng khuôn mặt 1.2.4 Những ứng dụng hệ thống nhận dạng khuôn mặt 1.3 Kết luận chương D C C R UT.L CHƯƠNG KỸ THUẬT TRÍCH CHỌN ĐẶC TRƯNG VÀ PHƯƠNG PHÁP PHÂN LỚP ỨNG DỤNG TRONG NHẬN DẠNG KHUÔN MẶT 2.1 Giới thiệu chương 2.2 Kỹ thuật phát khuôn mặt thuật toán Haar 2.2.1 Tổng quan đặc trưng Haar-like 2.2.2 Mơ hình phân tầng Cascade of Classifiers 2.3 Các phương pháp nhận dạng khuôn mặt 2.3.1 Nhận dạng dựa đặc trưng phần tử (Feature Based) 2.3.1.1 Phương pháp dùng biến đổi Gabor Wavelet mạng Neural 2.3.1.2 Phương pháp SVM 2.3.2 Nhận dạng dựa xét tồn diện khn mặt 2.3.2.1 Nhận dạng PCA 2.3.2.2 Phương pháp LDA 2.4 Kỹ thuật trích chọn đặc trưng PCA 2.4.1 Giới thiệu phương pháp PCA 2.4.2 Thuật toán PCA 2.5 Phương pháp đối sánh nhận dạng 2.6 Phương pháp máy vector hỗ trợ 2.7 Phương pháp mạng Neural tích chập 2.7.1 Nhận dạng khn mặt sử dụng mạng neural tích chập C C R UT.L D Hình 2.12 Kiến trúc mạng neural tích chập (CNN) Hình 2.13 Mạng neural ứng dụng phân loại đối tượng 2.7.2 Lớp tích chập 2.7.3 Lớp tinh chỉnh đơn vị tuyến tính (ReLU layer) 2.7.4 Pooling layer 2.7.5 Lớp kết nối hoàn chỉnh (The Fully connected layer) 2.7.6 Hàm mát (Loss function) 2.8 Kết luận chương D C C R UT.L 10 CHƯƠNG XÂY DỰNG HỆ THỐNG NHẬN DẠNG KHN MẶT TRÊN MÁY TÍNH NHÚNG RASPBERRY PI 3.1 Giới thiệu chương Trong chương giới thiệu máy tính nhúng Raspberry Pi 3, thư viện mã nguồn mỡ OpenCV ngôn ngữ Python Trình bày quy trình thiết kế hệ thống nhận dạng khn mặt Raspberry Pi thuật tốn thực phát hiện, nhận dạng khuôn mặt sử dụng hệ thống 3.2 máy tính nhúng Raspberry Pi 3.2.1 Giới thiệu chung 3.2.2 Cấu trúc phần cứng 3.2.3 Hệ điều hành 3.2.4 Ưu, nhược điểm 3.3 Ngôn ngữ Python 3.3.1 Giới thiệu Python 3.3.2 Các chức Python 3.4 thư viện OpenCV 3.4.1 Giới thiệu OpenCV 3.4.2 Tổ chức thư viện OPENCV 3.5 Quy trình xây dựng hệ thống nhận dạng khuôn mặt 3.5.1 Sơ đồ chức hệ thống nhận dạng khuôn mặt C C R UT.L D Hình 3.5 Sơ đồ trình nhận dạng khuôn mặt Raspberry Pi 11 C C R UT.L D Hình 3.6 Sơ đồ chức hệ thống Quy trình thực gồm giai đoạn sau: Giai đoạn 1: Phát khuôn mặt thu thập liệu Phát khuôn mặt phần có ý nghĩa quan trọng hệ thống nhận dạng khuôn mặt, hệ thống sử dụng phương pháp mạng neural tích chập nối tầng đa nhiệm (Multi-Task Cascaded Convolutional Networks: MTCNN) để thực trình phát cân chỉnh khn mặt Giai đoạn 2: Trích xuất đặc trưng Hình ảnh khn mặt sau phát cân chỉnh nhúng qua mạng Neural tích chập CNN Hệ thống sử dụng model MobileFaceNets thực trích xuất đặc trưng khn mặt 12 Giai đoạn 3: Nhận dạng khuôn mặt Ảnh người cần nhận dạng thu thập Camera, sau q trình xử lý ảnh khuôn mặt thực tương tự giai đoạn giai đoạn Hình ảnh sau xử lý trích xuất đặc trưng so sánh với sở liệu hệ thống Nếu xác thực danh tính khn mặt hệ thống xuất kết ID cho khuôn mặt Hệ thống ứng dụng phương pháp nhận dạng khuôn mặt sử dụng mạng Siamese neural network với kỹ thuật học lần (One shot learning) 3.5.2 Phát khuôn mặt sử dụng mạng neural tích chập nối tầng đa nhiệm (MTCNN) C C R UT.L 3.5.2.1 Giới thiệu 3.5.2.2 Cấu trúc mạng MTCNN cho nhận diện D Hình 3.7 Kiến trúc mạng MTCNN 13 C C R UT.L Hình 3.8 Các bước phát cân chỉnh khuôn mặt sử dụng MTCNN D 3.5.3 Mã hóa nhận dạng khn mặt Hình 3.9 Quy trình mã hóa khn mặt sử dụng mạng Neural tích chập 14 Hình 3.10 Kết mã hóa khn mặt thành vecto 128 chiều C C R UT.L 3.6 Kết luận chương D 15 CHƯƠNG THỰC NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG 4.1 Giới thiệu chương Trong chương giới thiệu hệ thống thực nghiệm xây dựng Quá trình lựa chọn sở liệu tiêu chí đánh giá chất lượng hệ thống nhận dạng Từ kết thực trực tiếp tập liệu xây dựng để đưa đánh giá hiệu chất lượng hệ thống thực nghiệm 4.2 Kết thực hệ thống Hệ thống nhận dạng bao gồm hai phần riêng biệt Đầu tiên C C R UT.L phần đăng ký thông tin, phần giao diện đăng ký hiển thị để thực đăng lý thông tin cá nhân, hình ảnh khn mặt tương D ứng với thơng tin Phần q trình nhận dạng hệ thống, phần này, hệ thống thực q trình nhận dạng thơng tin ID hiển thị Sau khởi tạo giao diện đăng ký, thông tin giao diện đăng ký cho đối tượng Hình ảnh khn mặt chọn từ liệu có sẵn đăng ký hình ảnh trực tiếp từ camera 16 C C R UT.L Hình 4.2 Quá trình đăng ký từ hình ảnh có sẵn D Hình 4.3 Q trình đăng ký hình ảnh trực tiếp từ camera 17 Sau thực đăng ký xong cho đối tượng, hệ thống khởi tạo chương trình nhận dạng Giao diện nhận dạng hiển thị hình 4.5 Trên giao diện hiển thị thông tin đối tượng bao gồm họ tên, tỷ lệ trùng khớp, khuôn mặt thời gian hệ thống nhận dạng C C R UT.L D Hình 4.5 Giao diện nhận dạng khn mặt Hình 4.6 Hệ thống nhận dạng nhiều đối tượng lúc 18 4.3 Đánh giá hệ thống 4.3.1 Tiêu chí đánh giá Bảng 4.1 Ma trận confusion matrix Kết Nhãn P N T True positive (TP) False positive (FP) F False negative (FN) True negative (TN) Các tham số bảng hiểu sau:  TP (True Positives): tổng số nhãn P nhận dạng P C C R UT.L  FP (False Positives): tổng số nhãn N nhận dạng P  TN (True Negatives): tổng số nhãn N nhận dạng D N  FN (False Negatives): tổng số nhãn P nhận dạng N Để đánh giá hiệu suất nhận dạng, độ tin cậy độ xác thuật tốn phát triển, tiêu chí đánh giá sau sử dụng: RC = TP TP + FN , PR = TPR  TP TP + FP TP TP  FN , ACC = , TNR  TP + TN TP + TN + FP + FN TN TN+FP (4.1) Trong đó:  RC (recall) - Tỉ lệ nhận dạng  PR (precision) - Độ tin cậy  Acc (Accuracy) - Độ xác: Tham số dung hòa 19 hai tham số PR RC, thể độ xác hệ thống nghiên cứu  TPR (True positive rate) – Tỉ lệ tích cực  TNR (True negative rate) – Tỉ lệ tiêu cực Từ tiêu chí đánh giá ta nhận thấy tham số RC, PR, Acc cao hệ thống tốt 4.3.2 Xây dựng sở liệu phân tích kết 4.3.2.1 Xây dựng sở liệu Để đánh giá hệ thống, luận văn lựa chọn sở liệu từ liệu khuôn mặt CASIA-WebFace Bộ liệu CASIA-WebFace bao gồm 453.453 ảnh khn mặt 10.575 người khác Trong số đó, 30 người chọn ngẫu nhiên, người gồm 30 ảnh khn mặt với nhiều góc độ, tư thế, độ sáng khác Trong liệu này, đối tượng ta sử dụng 20 ảnh để đăng ký danh tính 10 ảnh cịn lại dùng để kiểm tra hệ thống 4.3.2.2 Đánh giá kết Sau thực đăng ký 30 khuôn mặt, ta sử dụng liệu gồm 300 khuôn mặt 30 người đăng ký để kiểm tra hệ thống Kết thực nhận dạng thể bảng 4.2 Bảng 4.2 Kết nhận dạng hệ thống C C R UT.L D Dữ liệu kiểm tra (image) Phát khuôn mặt Nhận dạng Nhận dạng nhầm Không nhận dạng 300 300 289 Dựa vào bảng 4.2 ta đánh giá tỷ lệ nhận dạng 99,3% 20 Sử dụng liệu gồm 100 khuôn mặt 10 người chưa đăng ký để kiểm tra hệ thống Kết thể bảng 4.3 Bảng 4.3 Kết nhận dạng hệ thống Dữ liệu kiểm tra (image) Phát khuôn mặt Nhận dạng Không nhận dạng 100 100 92 Từ kết trên, xem liệu lớp P, liệu lớp N ta có kết ma trận confusion matrix sau: Bảng 4.4 Tham số ma trận nhầm lẫn hệ thống P Y N N C C R L 300 (TP) DUT (FN) (FP) 95 (TN) Bảng 4.5 Kết thống kê tham số RC, PR, Acc RC [%] PR[%] Acc[%] 97,6 97,3 96,2 Qua thực nghiệm kiểm tra hệ thống, cho thấy hiệu suất nhận dạng hệ thống tốt, với thời gian phát nhận dạng khuôn mặt khoảng 1s, độ xác đến 96,3% Bên cạnh hiệu suất nhận dạng hệ thống bị ảnh hưởng nhiều yếu tố độ sáng, độ che khuất khn mặt, chất lượng hình ảnh… Hệ thống nhận dạng tốt sử dụng hình ảnh từ camera với khn mặt trực tiếp Trong q trình đăng ký cần sử dụng nhiều hình ảnh, chụp 21 khn mặt nhiều góc độ khoảng cách xa gần, để hệ thống nhận dạng tốt 4.4 Kết luận chương Trong chương này, trình bày hệ thống thực nghiệm kết nhận dạng hệ thống sở liệu xây dựng Qua đánh giá hiệu suất hệ thống, đưa đánh yếu tố ảnh hưởng đến chất lượng hệ thống D C C R UT.L 22 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI Kết luận Luận văn trình bày kết nghiên cứu, thiết kế thực thi thành công hệ thống nhận dạng mặt người board mạch nhúng Raspberry Pi Các kết trình bày cho thấy hệ thống đáp ứng yêu cầu toán nhận dạng mặt người ứng dụng bảo mật hệ thống nhúng Với tảng phần cứng Raspberry Pi, ứng dụng thư viện mã nguồn mở OpenCV luận văn thực thuật toán phát nhận dạng khn mặt người với độ xác cao 99% So với giải pháp nhận dạng khuôn mặt máy tính đa mục đích, tỉ lệ nhận dạng Raspberry Pi gần tương đương, ngoại trừ tốc độ nhận dạng chậm giới hạn phần cứng Raspberry Pi (tốc độ vi xử lý, nhớ) Việc xử lý ảnh offline cho độ cao với thời gian nhận dạng đáp ứng thời gian thực (

Ngày đăng: 29/04/2021, 15:39

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan