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

Xây Dựng Nhận Diện Khuôn Mặt Bằng Mtcnn Và Facenet.pdf

27 123 1

Đ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

Nội dung

MẪU ĐỒ ÁN KHOÁ LUẬN TỐT NGHIỆP XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD TS NGUYỄN SĨ THÌN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT HÀN KHOA KHOA HỌC MÁY TÍNH BÁO CÁO ĐỒ ÁN CƠ SỞ 5 XÂY[.]

XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: TS NGUYỄN SĨ THÌN TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN VÀ TRUYỀN THÔNG VIỆT - HÀN KHOA KHOA HỌC MÁY TÍNH BÁO CÁO ĐỒ ÁN CƠ SỞ XÂY DỰNG NHẬN DIỆN KHUÔN MẶT BẰNG MTCNN VÀ FACENET Sinh viên thực : Nguyễn Đình An Lớp : 18IT4 Giảng viên hướng dẫn : TS Nguyễn Sĩ Thìn Đà Nẵng, tháng năm 2021 Trang XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHN MẶT GVHD: TS NGUYỄN SĨ THÌN MỞ ĐẦU Hiện nay, với phát triển xã hội, vấn đề án ninh bảo mật yêu cầu khắt khe nơi giới Các hệ thống nhận dạng người đời với độ tin cậy ngày cao Một toán nhận dạng người quan tâm nhận dạng khn mặt Vì nhận dạng khn mặt cách dễ dàng mà người dùng để phân biệt Bên cạnh đó, ngày việc thu thập, xử lý thông tin qua ảnh để phâ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 từ đối tượng mà không cần tác nhiều đến đối tượng nghiên cứu Một toán nhiều người quan tâm lĩnh vực xử lý ảnh nhận dạng khn mặt (Face Recognition) Như biết, khn mặt đóng vai trị quan trọng q trình giao tiếp người với người, mang lượng thơng tin giàu có, chẳng hạn từ khn mặt xác định giới tính, tuổi tác, chủng tộc, trạng thái cảm xúc, đặc biệt xác định mối quan hệ với đối tượng (có quen biết hay khơng) Do đó, tốn nhận dạng khn mặt đóng vai trị quan trọng nhiều lĩnh vực đời sống ngày người hệ thống giám sát, quản lý vào ra, tìm kiếm thông tin người tiếng, …đặc biệt an ninh, bảo mật Có nhiều phương pháp nhận dạng khuôn mặt để nâng cao hiệu suất nhiên dù hay nhiều phương pháp vấp phải thử thách độ sáng, hướng nghiêng, kích thước ảnh, hay ảnh hưởng tham số môi trường Trong khuôn khổ đồ án này, chúng em tiếp tục giải tốn nhận dạng offline Trong đối tượng thu thập thành file liệu chuyển trung tâm Tại đó, số liệu phân tích xử lý Chúng em lấy làm tảng để xây dựng ứng dụng lớn sau Trang XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: TS NGUYỄN SĨ THÌN LỜI CẢM ƠN Để thực hồn thành tốt đồ án này, em nhận giúp đỡ hướng dẫn tận tình thầy cô thuộc Trường Đại học Công nghệ thông tin Truyền thông Việt Hàn – Đại học Đà Nẵng Em xin cảm ơn thầy cô thuộc môn chuyên ngành cung cấp cho chúng em thông tin, kiến thức vô quý báu cần thiết suốt thời gian để em thực hồn thành đồ án Đặc biệt em xin chân thành cảm ơn thành cô Hà Thị Minh Phương người trực tiếp hướng dẫn chúng em thời gian thực đồ án Cuối cùng, xin chân thành cảm ơn bạn ngành công nghệ thông tin ủng hộ, giúp đỡ, chia sẻ kiến thức, kinh nghiệm tài liệu có giúp chúng tơi q trình nghiên cứu thực đề tài Do giới hạn mặt thời gian kiến thức kinh nghiệm thực tiễn nên đề tài khơng tránh khỏi sai sót Em mong nhận thông cảm quý thầy cô mong đón nhận góp ý thầy bạn Em xin chân thành cảm ơn! Trang XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: TS NGUYỄN SĨ THÌN NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Đà Nẵng, ngày 30 tháng 05 năm 2021 Giảng viên hướng dẫn TS NGUYỄN SĨ THÌN Trang XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: TS NGUYỄN SĨ THÌN MỤC LỤC Chương 1: GIỚI THIỆU VÀ NGHIÊN CỨU TỔNG QUAN 1.1 Giới thiệu đề tài: 1.2 Phương pháp thực hiện: 1.3 Mục đích nghiên cứu: 1.4 Giới hạn đề tài: .8 1.5 Cấu trúc đồ án: 10 Chương : 10 CƠ SỞ LÝ THUYẾT .10 2.1 Các phương pháp nhận diện khuôn mặt: 10 2.1.1 Nhận dạng khuôn mặt người dùng thuật toán PCA : 11 2.1.2 Nhận dạng khuôn mặt người dựa phương pháp LBP: 12 2.1.3 Nhận dạng khuôn mặt dựa phương pháp haar like thuật toán Adaboost: .13 2.2 Mạng nơ-ron tích chập (Convolutional Neural Network): 17 2.2.1 Định nghĩa: 17 2.2.2 Cấu trúc đơn giản CNN: .18 2.3 Tìm hiểu Face Detector - MTCNN: 22 2.4 Tìm hiểu Pre-trained model - FaceNet: .25 2.4.1 Pre-trained model: 25 2.4.2 FaceNet: 26 2.4.3 Thuật toán Triplet loss FaceNet: 27 2.5 Kỹ thuật chỉnh khuôn mặt (Face alignment): 30 Trang XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHN MẶT GVHD: TS NGUYỄN SĨ THÌN 2.6 Ngôn ngữ Python: .31 2.6.1 Giới thiệu sơ lược ngôn ngữ Python: .31 2.6.2 Các đặc điểm ngôn ngữ Python: 32 2.6.3 Ứng dụng Python: 35 2.7 Một số thư viện quan trọng: 35 2.7.1 OpenCV: .35 2.7.2 Numpy: .37 2.7.3 Keras: 37 2.7.4 TensorFlow: 38 2.7.2 Dlib: 38 Chương 3: 39 PHÂN TÍCH VÀ XÂY DỰNG HỆ THỐNG 39 3.1 Phân tích – thiết kế hệ thống phát mặt người: 39 3.1.1 Phân tích: 39 3.1.2 Thiết kế hệ thống: .41 3.1.3 Xử lý đầu vào: 41 3.1.4 Trích chọn đặc trưng gán nhãn: 41 3.1.5 Phát khuôn mặt ảnh đầu vào:: 44 3.1.6 Căn chỉnh khuôn mặt trước nhận dạng: 44 3.1.7 Trích rút đặc trưng khuôn mặt từ ảnh đầu vào: 44 3.1.8 Nhận diện khuôn mặt: 45 3.1.9 Xác định khuôn mặt “unknown”: 46 3.2 Kết thử nghiệm hệ thống: 46 3.3 Phân tích – thiết kế hệ thống phát mặt người: 24 3.3.1 Phân tích: 24 Trang XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: TS NGUYỄN SĨ THÌN 3.3.2 Thiết kế hệ thống: .25 3.3.3 Thiết kế sở liệu: 26 3.4 Giao diện chương trình: 27 KẾT LUẬN .49 DANH MỤC TÀI LIỆU THAM KHẢO 50 Trang XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: TS NGUYỄN SĨ THÌN MỤC LỤC HÌNH ẢNH Hình 1: Mơ tả tính tốn với bán kính điểm ảnh lấy mẫu điểm lân cận .13 Hình 2: Đặc trưng theo cạnh .14 Hình 3: Đặc trưng theo đường 14 Hình 4: Đặc trưng theo xung quanh tâm .14 Hình 5: Đặc trưng theo đường chéo 14 Hình 6: Cách tính Integral Image ảnh 15 Hình 7: Cách tính tổng giá trị pixel vùng cần tính .15 Hình 8: Hệ thống phát khuôn mặt .16 Hình 9: : Cấu trúc mạng nơ-ron tích chập 19 Hình 10: Minh họa chập với kernel 3x3 .19 Hình 11: Phép tốn sử dụng phép gộp 20 Hình 12: Một số hàm phi tuyến 21 Hình 13: Kiến trúc mạng MTCNN .23 Hình 14: Mạng neural P-Net 23 Hình 15: Mạng neural R-Net 24 Hình 16: Mạng neural O-Net 25 Hình 17: FaceNet lấy hình ảnh khn mặt làm đầu vào xuất vector embedding 26 Hình 18: Triplet loss hai positive faces-mặt tích cực negative face-mặt tiêu cực 28 Hình 19: Triplet loss 29 Hình 20: Triplet loss trước sau đào tạo 30 Hình 21: Căn chỉnh khn mặt 31 Hình 22: Biểu đồ ngữ cảnh hệ thống 39 Hình 23: Sơ đồ thực 40 Hình 24: Sơ đồ hệ thống .40 Hình 25: T Phát khn mặt với Haar cascade .42 Hình 26: Phát khuôn mặt với MTCNN .43 Trang XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: TS NGUYỄN SĨ THÌN Hình 27: Trước sau chỉnh khuôn mặt 44 Hình 28: Cosine similarity 45 Hình 29: Giao diện tạo người dùng .47 Hình 30: File hình ảnh 48 Hình 31: Giao diện training 48 Hình 32: Giao diện nhận diện .48 Trang XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHN MẶT GVHD: TS NGUYỄN SĨ THÌN Chương 1: GIỚI THIỆU 1.1 Giới thiệu đề tài Ngày nay, kỷ ngun số, máy tính phần khơng thể thiếu nghiên cứu khoa học đời sống hàng ngày Tuy nhiên, hệ thống máy tính dựa lý thuyết cổ điển (tập hợp, logic nhị phân), nên dù có khả tính tốn lớn độ xác cao, máy tính làm việc theo chương trình gồm thuật tốn viết sẵn lập trình viên chưa thể tự lập luận hay sáng tạo Học máy (Machine learning) phương pháp phân tích liệu tự động hóa phân tích liệu tìm trích xuất đặc trưng liệu Học máy sử dụng thuật toán trừu tượng để tự học từ liệu, cho phép máy tính tìm thấy thơng tin có giá trị ẩn sâu mà khơng thể lập trình cách thông thường Khi tiếp xúc với liệu mới, học máy thích ứng nhanh độc lập Học sâu (Deep Learning) ngành đặc biệt học máy Học sâu sử dụng mạng nơ ron nhân tạo (Artificial Neural Networks) để giải toán mà tính tốn cứng chưa thể xử lý liệu trừu tượng, liệu mờ, liệu không rõ ràng, Với tính chất vậy, học sâu thường ứng dụng nhận diện hình ảnh, nhận diện giọng nói, xử lý ngơn ngữ tự nhiên dự đoán, dự báo Mạng nơ ron nhân tạo (Artificial Neural Networks) mơ hình xử lý thơng tin, cấu thành từ lớp nơ ron, đời sở mô hoạt động não sinh vật Mạng nơ ron nhân tạo gắn kết nhiều nơ ron theo mơ hình định, trải qua huấn luyện để rút kinh nghiệm, sử dụng kinh nghiệm có để xử lý thông tin Mạng nơ ron nhân tạo thường áp dụng vào giải toán nhận dạng mẫu, dự đốn Mạng nơ ron Tích chập (Convolutional Neural Network) mơ hình học sâu đại Mạng nơ ron Tích chập thường sử dụng nhiều hệ thống thơng minh ưu điểm mạng có độ xác cao, nhiên tốc độ tính tốn lại nhanh Vì lý đó, mạng Trang 10 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: TS NGUYỄN SĨ THÌN Hiện phương pháp nhận dạng mặt chia thành nhiều hướng theo tiêu chí khác nhau: nhận dạng với liệu đầu vào ảnh tĩnh 2D phổ biến nhất, nhiên tương lai có lẽ 3D (vì việc bố trí nhiều camera 2D cho liệu 3D đem lại kết tốt hơn, đáng tin cậy hơn), chia thành hướng là: làm với liệu ảnh làm với liệu video Trên thực tế người ta hay chia phương pháp nhận dạng mặt làm loại: phương pháp tiếp cận toàn cục (Global) Eigenfaces - PCA, Fisherfaces - LDA; phương pháp tiếp cận dựa đặc điểm cục (Local Feature Based) LBP, Gabor Wavelets phương pháp lai (là kết hợp phương pháp toàn cục phương pháp cục bộ) [1] Phương pháp nhận dạng khuôn mặt dựa đặc điểm cục bộ: Đây phương pháp nhận dạng khuôn mặt dựa việc xác định đặc trưng hình học chi tiết khn mặt (như vị trí, diện tích, hình dạng mắt, mũi, miệng, …), mối quan hệ chúng (như khoảng cách hai mắt, khoảng cách hai lông mày,…) [2] Phương pháp nhận dạng khuôn mặt dựa xét tồn diện khn mặt: Nhận dạng dựa tồn diện khn mặt, có nghĩa không xét đến thành phần đặc trưng khuôn mặt mà xem khuôn mặt khơng gian cụ thể tìm đặc trưng, đặc điểm khơng gian [2] Phương pháp dựa đặc điểm cục chứng minh ưu việt làm việc điều kiện khơng có kiểm sốt nói lịch sử phát triển nhận dạng mặt phát triển phương pháp trích chọn đặc trưng (Feature Extractrion Methods) sử dụng hệ thống dựa feature based Các ứng dụng cụ thể nhận dạng mặt dựa mơ hình nhận dạng: identification (xác định danh tính, tốn 1-N), verification (xác thực danh tính, tốn 1-1) Trong tốn identification, ta cần xác định danh tính ảnh kiểm tra, cịn tốn verification ta cần xác định ảnh có thuộc người hay không [1] Trang 13 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHN MẶT GVHD: TS NGUYỄN SĨ THÌN 2.1.1 Nhận dạng khn mặt người dùng thuật tốn PCA Kohonen đưa phương pháp dùng vector riêng để nhận dạng khuôn mặt, ông dùng mạng neural đơn giản để chứng tỏ khả phương pháp ảnh chuẩn hóa Mạng neural tính mơ tả khuôn mặt cách xấp xỉ vector riêng ma trận tương quan ảnh Các vector riêng sau biết đến với tên Eigenface [3] Kirby Sirovich chứng tỏ ảnh có khn mặt mã hóa tuyến tính số lượng vừa phải ảnh sở Tính chất dựa biến đổi Karhunen-Lòeve, mà gọi tên khác PCA biến đổi Hotelling Ý tưởng xem Pearson trình bày vào năm 1901 sau Hotelling vào năm 1933 Cho tập ảnh huấn luyện có kích thước n x m mơ tả vector có kích thước m x m, vector cở sở cho không gian tối ưu xác định thơng qua lỗi bình phương trung bình chiếu ảnh huấn luyện vào khơng gian Các tác giả gọi tập vector sở tối ưu ảnh riêng sau gọi cho đơn giản vector riêng ma trận hiệp phương sai tính từ ảnh khn mặt vector hóa tập huấn luyện Nếu cho 100 ảnh, mà khn mặt có kích thước 91x50 dùng 50 ảnh riêng, trì khả giống hợp lý (giữ 95% tính chất) [4] Turk Pentland áp dụng PCA để xác định nhận dạng khuôn mặt Tương tự, dùng PCA tập huấn luyện ảnh khuôn mặt để sinh ảnh riêng (còn gọi Eigenface) để tìm khơng gian (khơng gian khn mặt) không gian ảnh Các ảnh khuôn mặt chiếu vào khơng gian gom nhóm lại Tương tự ảnh khơng có khn mặt dùng để huấn luyện chiếu vào không gian gom nhóm lại Các ảnh chiếu vào khơng gian khn mặt khơng bị thay đổi tính chất bản, chiếu ảnh khơng có khn mặt xuất khác khơng Xác định có mặt khn mặt ảnh thông qua tất khoảng cách vị trí ảnh khơng gian ảnh Khoảng cách dùng để xem xét có hay khơng có khn mặt người, kết tính tốn khoảng cách cho ta đồ khn mặt Có nhiều nghiên cứu xác định khuôn mặt, nhận dạng, trích đặc Trang 14 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHN MẶT GVHD: TS NGUYỄN SĨ THÌN trưng từ ý tưởng vector riêng, phân rã, gom nhóm Sau Kim phát triển cho ảnh màu, cách phân đoạn ảnh để khơng gian tìm kiếm giảm xuống [4] 2.1.2 Nhận dạng khuôn mặt người dựa phương pháp LBP [5] Mẫu nhị phân cục (Local Binary Pattern - LBP) phương pháp trích chọn kết cấu ảnh thành vector đặc trưng gọi đặc trưng LBP Ý tưởng ban đầu phương pháp tác giả Ojala đồng nghiệp giới thiệu, ban đầu xử lý ảnh xám Ví dụ với điểm ảnh xét điểm lân cận sử dụng giá trị điểm ảnh trung tâm để phân ngưỡng giá trị lân cận Kết tìm chuỗi bit nhị phân có chiều dài tương ứng với điểm lân cận định nghĩa theo thứ tự định Chuỗi bit chuyển sang hệ thập phân giá trị thập phân thay giá trị ban đầu điểm ảnh xét Số điểm lân cận thay đổi đại lượng bán kính Hình 2.1 mơ tả q trình tính tốn LBP cho tốn nhận dạng mặt người Hình 1: Mơ tả tính tốn với bán kính điểm ảnh lấy mẫu điểm lân cận Ưu điểm phương pháp LBP có chi phí tính toán thấp, ổn định cường độ thay đổi đơn điệu dễ mở rộng lên không gian nhiều chiều ảnh màu hệ RGB Tuy nhiên, nhược điểm đặc trưng dựa gradient là: - Đầu tiên, gradient phác họa cường độ phân phối xung quanh điểm ảnh cách thô biểu thị hai giá trị Hai mức gradient giống - thuộc hai đối tượng cục khác nhau, khơng rõ ràng Thứ hai, thơng tin gradient không đủ biểu diễn cho đối tượng trường hợp gặp môi trường phức tạp gây nhiễu Trang 15 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHN MẶT GVHD: TS NGUYỄN SĨ THÌN 2.1.3 Nhận dạng khuôn mặt dựa phương pháp haar like thuật toán Adaboost 2.1.3.1 Đặc trưng Haar-like [6] Đặc trưng Haar-like sử dụng việc nhận dạng đối tượng ảnh số phát biểu Viola Jones gồm đặc trưng để xác định đối tượng ảnh Mỗi đặc trưng Haar-like kết hợp gồm khối chữ nhật mang giá trị “đen” “trắng” Những khối chữ nhật thể liên hệ tương quan phận ảnh mà thân giá trị pixel diễn đạt Hình 2: Đặc trưng theo cạnh Hình 3: Đặc trưng theo đường Hình 4: Đặc trưng theo xung quanh tâm Hình 5: Đặc trưng theo đường chéo Trang 16 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: TS NGUYỄN SĨ THÌN Dựa theo đặc trưng trên, giá trị đặc trưng Haar-like xây dựng độ chênh lệch tổng pixel vùng đen so với tổng pixel vùng trắng Dưới cơng thức tính giá trị đặc trưng Haar-like: f(x)= ) (2.1) Như để tính giá trị đặc trưng Haar-like cần phải thực tính toán tổng vùng pixel ảnh Điều làm cho chi phí tốn lớn khơng thể đáp ứng tính yêu cầu thời gian thực Do Viola Jones [3] đề xuất khái niệm “Integral Image” để giảm thiểu chi phí cho tốn tính giá trị đặc trưng Haar-like để tốn xử lý với thời gian thực Tính “Integral Image” cách sử dụng mảng chiều với kích thước kích thước ảnh cần tính giá trị đặc trưng Haar-like Ảnh chia nhỏ vị trí (x, y) tính tổng giá trị pixel vùng từ vị trí (0,0) đến vị trí (x-1, y-1) Việc tính tốn đơn giản thực phép cộng số nguyên nên tốc độ thực tối ưu hóa Hình 6: Cách tính Integral Image ảnh P(x, y) = (2.2) Kết có sau tính Integral Image, việc tính tổng giá trị pixel vùng cần tính thực sau: Gọi vùng cần tính tổng giá trị pixel vùng “A4” P1(x1, y1) = A1 (2.3) P2(x2, y2) = A1 + A2 (2.4) P3(x3, y3) = A1 + A3 (2.5) P4(x4, y4) = A1 + A2 + A3 + A4 (2.6) Ta được: A4 = P4 + P1 – P2 – P3 (2.7) Trang 17 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: TS NGUYỄN SĨ THÌN Hình 7: Cách tính tổng giá trị pixel vùng cần tính Hình 8: Hệ thống phát khuôn mặt Từ ảnh gốc ban đầu, hệ thống chia ảnh thành nhiều tỉ lệ nhỏ để tính đặc trưng qua hàm đặc trưng Haar-like Sau tính tốn hàm đặc trưng, ta nhận số lượng lớn đặc trưng Để lựa chọn xác định khuôn mặt, ta dùng giải thuật Adaboost để lựa chọn kết hợp vùng trọng số yếu thành trọng số mạnh Cuối cùng, vùng lựa chọn đưa vào phân loại “Cascade of classifier” để loại bỏ vùng Trang 18 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: TS NGUYỄN SĨ THÌN khơng phải khn mặt xác định vùng khuôn mặt Và đưa kết cuối 2.1.3.2 Thuật toán Adaboost [6] Adaboost cách hướng tiếp cận dựa diện mạo, Viola Jones dùng AdaBoost kết hợp cascade để xác định khuôn mặt người với đặc trưng dạng Haar wavelet-like Tốc độ xử lý nhanh tỷ lệ xác 80% ảnh xám Adaboost phân loại mạnh phi tuyến phức dựa tiếp cận boosting Freund Schapire đưa vào năm 1995 Adaboost hoạt động dựa nguyên tắc kết hợp tuyến tính “weak classifiers” để hình thành “strong classifier” Là cải tiến của tiếp cận boosting Adaboost sử dụng thêm khái niệm trọng số (weight) để đánh dấu mẫu khó nhận dạng Trong q trình huấn luyện, “weak classifiers” xây dựng, thuật toán tiến hành cập nhật lại trọng số để chuẩn bị cho việc xây dựng “weak classifier” kế tiếp: tăng trọng số mẫu bị nhận dạng sai giảm trọng số mẫu nhận dạng “weak classifier” vừa xây dựng Bằng cách “weak classifier” sau tập trung vào mẫu mà “weak classifier” trước làm chưa tốt Sau cùng, “weak classifier” kết hợp tùy theo mức độ tốt chúng để tạo nên “strong classifier” 2.1.3.3 Khái quát Cascade of classifier [7] Ta có chuỗi phân lớp, phân lớp xây dựng thuật toán Adaboost Bây giờ, ta đưa tất cửa sổ qua chuỗi phân lớp này:  Bộ phân lớp loại bỏ phần lớn cửa sổ khuôn mặt (nagative sub window) cho qua cửa sổ cho khuôn mặt (positive sub window) Ở đây, phân lớp đơn giản đó, độ phức tạp tính tốn thấp Tất nhiên, đơn giản nên số cửa sổ nhận dạng khn mặt có số lượng lớn cửa sổ bị nhận dạng sai (không phải khuôn mặt)  Những cửa sổ cho qua phân lớp đầu xem xét phân lớp sau đó: phân lớp cho khơng phải khn mặt Trang 19 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHN MẶT GVHD: TS NGUYỄN SĨ THÌN ta loại bỏ; phân lớp cho khn mặt ta lại cho qua chuyển đến phân lớp phía sau  Những phân lớp sau phức tạp hơn, địi hỏi tính tốn nhiều Người ta gọi cửa sổ (mẫu) mà phân lớp không loại bỏ mẫu khó nhận dạng Những mẫu sâu vào chuỗi phân lớp khó nhận dạng Chỉ cửa sổ qua tất phân lớp ta định khn mặt Tóm lại, chuỗi phân lớp xử lý mẫu (cửa sổ con) vào theo nguyên tắc sau: phân lớp cho khơng phải mặt người ta loại bỏ ngay; cịn phân lớp cho khn mặt ta chuyển đến phân lớp sau Nếu mẫu trót lọt hết tất phân lớp ta định khn mặt Đây phương pháp phù hợp cho tham gia nghiên cứu lĩnh vực nhận dạng khuôn mặt, đặc trưng Haar-like kết hợp với Adaboot cài sẵn thư viện Opencv giúp dễ dàng phát khuôn mặt, tốc độ phát nhanh hoạt động ổn định điều kiện đầy đủ sáng 2.2 Mạng nơ-ron tích chập (Convolutional Neural Network) 2.2.1 Định nghĩa Mạng nơ-ron tích chập mơ hình mạng học sâu phổ biến nay, có khả nhận dạng phân loại hình ảnh với độ xác cao (khoảng 98%) Mơ hình phát triển, ứng dụng vào hệ thống xử lý ảnh lớn Facebook, Google hay Amazon… cho mục đích khác thuật tốn gắn thẻ tự động, tìm kiếm ảnh drone giao hàng tự động Sự đời mạng nơ-ron tích chập dựa ý tưởng cải tiến cách thức mạng nơ-ron nhân tạo truyền thống học thông tin ảnh Do sử dụng liên kết đầy đủ điểm ảnh vào nút, mạng nơ-ron nhân tạo truyền thẳng bị hạn chế nhiều kích thước ảnh, ảnh lớn số lượng liên kết Trang 20 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHN MẶT GVHD: TS NGUYỄN SĨ THÌN tăng nhanh kéo theo bùng nổ khối lượng tính tốn Ngồi liên kết đầy đủ dư thừa với ảnh, thông tin chủ yếu thể qua phụ thuộc điểm ảnh với điểm xung quanh mà khơng quan tâm nhiều đến điểm ảnh cách xa Mạng nơ-ron tích chập đời với kiến trúc thay đổi, có khả xây dựng liên kết sử dụng phần cục ảnh kết nối đến nút lớp thay tồn ảnh mạng nơ-ron truyền thẳng Trong luận văn này, nhóm thực trình bày tích chập ý tưởng mơ hình CNN áp dụng tốn nhận diện cảm xúc khuôn mặt 2.2.2 Cấu trúc đơn giản CNN [8] Các lớp mạng nơ-ron tích chập bao gồm: lớp chập, lớp gộp lớp kết nối đầy đủ, thay đổi số lượng cách xếp để tạo mơ hình huấn luyện phù hợp cho toán khác Hình 9: Cấu trúc mạng nơ-ron tích chập - Lớp chập Là lớp quan trọng cấu trúc mạng nơ-ron tích chập Chập dựa lý thuyết xử lý tín hiệu số, việc chập giúp trích xuất thông tin quan trọng từ liệu Để dễ hình dung, xem tích chập cửa sổ trượt áp đặt lên ma trận Cơ chế tích chập minh họa qua Hình 2.10 bên Trang 21 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHN MẶT GVHD: TS NGUYỄN SĨ THÌN Hình 10: Minh họa chập với kernel 3x3 Từ Hình 2.10, ma trận bên trái ảnh đen trắng Mỗi giá trị ma trận tương đương với điểm ảnh, màu đen, màu trắng (nếu ảnh xám giá trị biến thiên từ đến 255) Cửa sổ trượt cịn có tên gọi kernel hay filter Ở đây, ta dùng ma trận kernel 3×3 nhân thành phần tương ứng với ma trận ảnh bên trái Giá trị đầu tích thành phần cộng lại Kết tích chập ma trận sinh từ việc trượt ma trận kernel thực tích chập lúc lên toàn ma trận ảnh bên trái - Lớp gộp Bản đồ đặc trưng tạo thông qua việc tính tốn lớp chập, nhiên kích thước so với kích thước đầu vào giảm khơng đáng kể Nếu kích thước khơng thay đổi, tạo nên số lượng tính tốn lớn việc học tập trở nên khó khăn Lớp gộp giải vấn đề làm giảm kích thước số lượng tính tốn đồ đặc trưng Có nhiều tốn tử gộp Sum-Pooling, Max-Pooling, L_2-Pooling MaxPooling thường sử dụng Về mặt ý nghĩa Max-Pooling xác định vị trí cho tín hiệu mạnh áp dụng loại kernel Điều tương tự lọc phát vị trí đối tượng kernel tốn phát đối tượng ảnh Về mặt lý thuyết với ma trận đầu vào có kích thước a*b*c thực toán tử gộp ma trận ma trận đầu vào có kích thước f*f với bước nhảy pixel s ta ma trận đầu a’*b’*c’ đó: Trang 22 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHN MẶT GVHD: TS NGUYỄN SĨ THÌN (2.4) Hình 11: Phép tốn sử dụng phép gộp Hình 2.11 ví dụ sử dụng tốn tử gộp Trong miêu tả cách thức lớp gộp xử lý đầu vào, kích thước đầu vào [224*224*64] thực với thông số f = s = đầu có kích thước [112*112*64] thể phía trái Hình 2.11 Phía phải mô tả chi tiết cách thức hoạt động max-pooling f = s = kết đầu ma trận tương ứng - Lớp ReLU Chập phép biển đổi tuyến tính Nếu tất nơ-ron tổng hợp phép biến đổi tuyến tính mạng nơ-ron đưa dạng hàm tuyến tính Do nơ-ron cần có hàm truyền dạng phi tuyến Có nhiều dạng hàm phi tuyến sử dụng trình sau: Hình 12: Một số hàm phi tuyến Trang 23 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHN MẶT GVHD: TS NGUYỄN SĨ THÌN Các nghiên cứu gần chứng minh việc sử dụng hàm ReLU cho kết tốt khía cạnh: tính tốn đơn giản, tạo tính thưa nơ-ron ẩn (ví dụ sau bước khởi tạo ngẫu nhiên trọng số, khoảng 50% nơ-ron ẩn kích hoạt) q trình huấn luyện nhanh trải qua bước tiền huấn luyện - Lớp kết nối đủ Cách kết nối nơ-ron hai tầng với tầng sau kết nối đẩy đủ với nơ-ron tầng trước Đây dạng kết nối thường thấy mạng nơ-ron nhân tạo, mạng nơ-ron tích chập tầng thường sử dụng phía cuối kiến trúc mạng Hiện có số cấu trúc CNN đạt kết khả quan như:  LeNet: Đây mơ hình CNN thành cơng đầu tiên, đặc biệt việc nhận dạng chữ số, kí tự văn Được phát triển Yann Lecun vào cuối năm 90  AlexNet: Được phát triển Alex Krizhevsky, Ilya Sutskever Geoff Hinton Làn đầu giới thiệu vào năm 2012 với cấu trúc tương tự LeNet với số lượng neuron, filter layer lớn Được coi mạng neural phổ biến rộng rãi khả CNNs  ZF Net: Là mạng CNNs tốt năm 2013 phát triển Matthew Zeiler Rob Fergus (ZF viết tắt Zeiler Fergus) Mạng neural phát triển từ AlexNet với việc tinh chỉnh hyperparameter (filter size, stride, ) Với layer gần input layer, filter size stride nhỏ  GoogLeNet: Là mạng CNNs tốt năm 2014 phát triển Szegedy từ Google Với số thay đổi giảm thiểu số lượng tham số AlexNet từ 60 triệu xuống triệu, sử dụng Average Pooling thay cho FC-Layer Trang 24 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: TS NGUYỄN SĨ THÌN  VGGNet: Là mạng CNNs tốt năm 2015 phát triển Karen Simonyan Andrew Ziserman Sử dụng filter 3x3 pooling 2x2 từ đầu tới cuối mạng Và tiếp tục phát triển 2.3 Tìm hiểu Face Detector - MTCNN: MTCNN viết tắt Multi-task Cascaded Convolutional Networks (Mạng đa xếp tầng đa tác vụ) Nó bao gồm mạng CNN xếp chồng đồng thời hoạt động detect khn mặt Mỗi mạng có cấu trúc khác đảm nhiệm vai trò khác task Đầu MTCNN vị trí khn mặt điểm mặt: mắt, mũi, miệng… MTCNN hoạt động theo bước, bước có mạng neural riêng là: P-Net, R-Net O-net Hình 13 Kiến trúc mạng MTCNN Với ảnh đầu vào, tạo nhiều hình ảnh với kích thước khác Tải FULL (53 trang): https://bit.ly/3Od2tnY Dự phòng: fb.com/TaiHo123doc.net Tại P-Net, thuật toán sử dụng kernel 12x12 chạy qua hình để tìm kiếm khn mặt Trang 25 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: TS NGUYỄN SĨ THÌN Tải FULL (53 trang): https://bit.ly/3Od2tnY Dự phịng: fb.com/TaiHo123doc.net Hình 14 Mạng neural P-Net Sau lớp convolution thứ 3, mạng chia thành lớp Convolution 4-1 đưa xác suất khuôn mặt nằm bounding boxes, Convolution 4-2 cung cấp tọa độ bounding boxes R-Net có cấu trúc tương tự vói P-Net Tuy nhiên sử dụng nhiều layer Tại đây, network sử dụng bounding boxes cung cấp từ P-Net tinh chỉnh tọa độ Trang 26 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: TS NGUYỄN SĨ THÌN Hình 15 Mạng neural R-Net Tương tự R-Net chia làm layers bước cuối, cung cấp đầu tọa độ bounding boxes, độ tin tưởng O-Net lấy bounding boxes từ R-Net làm đầu vào đánh dấu tọa độ mốc khuôn mặt Trang 27 9752736 ... phương pháp nhận diện khuôn mặt: 10 2.1.1 Nhận dạng khuôn mặt người dùng thuật toán PCA : 11 2.1.2 Nhận dạng khuôn mặt người dựa phương pháp LBP: 12 2.1.3 Nhận dạng khuôn mặt dựa phương... kỹ nghiên cứu tìm hiểu tài liệu Xây dựng mơ hình nhận diện cảm xúc khuôn mặt người đếm số người vào 1.4 Giới hạn đề tài Trang 11 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: TS NGUYỄN SĨ THÌN Với... phương pháp nhận diện khuôn mặt Trang 12 XÂY DỰNG ỨNG DỤNG NHẬN DIỆN KHUÔN MẶT GVHD: TS NGUYỄN SĨ THÌN Hiện phương pháp nhận dạng mặt chia thành nhiều hướng theo tiêu chí khác nhau: nhận dạng với

Ngày đăng: 03/02/2023, 17:04

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w