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

Một số phương pháp mạng neural học sâu trong nhận dạng khuôn mặt và ứng dụng

74 4 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

Định dạng
Số trang 74
Dung lượng 1,08 MB

Nội dung

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI 2019B - LUẬN VĂN THẠC SĨ TOÁN - TIN Một số phương pháp mạng Neural học sâu nhận dạng khuôn mặt ứng dụng NGUYỄN THỊ TUYẾT NHI NGUYỄN THỊ TUYẾT NHI nguyennhiaktf@gmail.com Ngành Toán-tin Giảng viên hướng dẫn: TS Nguyễn Thị Thanh Huyền CB190321 Viện: Toán ứng dụng Tin học HÀ NỘI, 9/2020 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SĨ Một số phương pháp mạng Neural học sâu nhận dạng khuôn mặt ứng dụng NGUYỄN THỊ TUYẾT NHI nguyennhiaktf@gmail.com Ngành Toán-tin Giảng viên hướng dẫn: TS Nguyễn T Thanh Huyền Chữ ký GVHD Viện: Toán ứng dụng Tin học HÀ NỘI, 9/2020 LỜI CẢM ƠN Trước trình bày nội dung đồ án, tơi xin bày tỏ lịng biết ơn sâu sắc đến TS Nguyễn Thị Thanh Huyền, người tận tình hướng dẫn tơi suốt q trình làm luận văn Qua đây, tơi xin bày tỏ lịng biết ơn chân thành tới tồn thể thầy giáo mơn tốn tin, viện tốn ứng dụng tin học, Đại Học Bách Khoa Hà Nội nhiệt tình hướng dẫn, đồng hành tơi q trình học tập nghiên cứu Tơi xin gửi lời cảm ơn đến Công ty TNHH LG Electronics Việt Nam Hải Phòng, đồng nghiệp tạo điều kiện tốt cho tơi q trình nghiên cứu hồn thành luận văn Tơi xin gửi lời cảm ơn chân thành tới gia đình, bạn bè bên tôi, cổ vũ, động viên, giúp đỡ tơi suốt q trình học tập nghiên cứu Hà Nội, ngày 25 tháng 05 năm 2020 Sinh viên Nguyễn Thị Tuyết Nhi TÓM TẮT NỘI DUNG LUẬN VĂN Luận văn bao gồm phần nội dung chính: Phần sở lý thuyết cần thiết toán, máy học, mạng neural, mạng neural tích chập xử lý ảnh phương pháp đánh giá mơ hình Phần Ứng dụng tác giả tập trung trình bày nghiên cứu tìm hiểu bốn mơ hình mạng Bao gồm hai mơ hình dị tìm khn mặt mơ hình MTCNN mơ hình RetinaFace, hai mơ hình nhận dạng khuôn mặt, bao gồm Facenet Sphereface Qua tìm hiểu tổng hợp trình bày luận văn, tác giả hy vọng đóng góp phần cho cộng đồng trí tuệ nhân tạo máy học nói chung, lĩnh vực thị giác máy tính nhận dạng khn mặt nói riêng Mục lục Danh sách hình vẽ Danh sách bảng Danh mục từ viết tắt Mở đầu Chương Cơ sở lý thuyết 1.1 Bài toán phân lớp 1.2 Kiến thức tối ưu 1.2.1 Hướng giảm gradient 10 1.2.2 Một số biến thể Gradient Descent 12 1.3 Một số thuật ngữ dùng máy học 14 1.3.1 Hàm kích hoạt 14 1.3.2 Véc-tơ One-hot 16 1.3.3 Hàm softmax 16 1.3.4 Hiện tượng khớp khớp 18 1.3.5 Phương pháp Validation 19 1.3.6 Dừng sớm 21 1.3.7 Hàm mát Cross-Entropy 22 1.4 Mạng Neural 23 1.4.1 Thuật toán học Perceptron 23 1.4.2 Mạng nơ-ron học sâu 27 1.5 Mạng Neural tích chập 27 1.5.1 Phép tích chập khơng gian rời rạc 27 1.5.2 Phép pooling 29 1.5.3 Kiến trúc mạng neural tích chập 31 1.6 Phương pháp đánh giá 31 1.6.1 Ma trận Confusion 31 1.6.2 Độ đo độ xác 34 Chương Ứng dụng 36 2.1 Mô hình dị tìm khn mặt 36 2.1.1 Mạng MTCNN [1] 36 2.1.2 Mạng RetinaNet [2] 45 2.2 Mơ hình nhận dạng mặt 52 2.2.1 Mơ hình Facenet [3] 52 2.2.2 Mơ hình Sphereface 57 Kết luận 65 Tài liệu tham khảo 66 Danh sách hình vẽ 1.1 Hướng giảm Gradient 10 1.2 Giá trị hàm mát sau 50 vòng lặp áp dụng SGD 13 1.3 Hàm ReLU 15 1.4 Hàm Sigmoid 15 1.5 Mơ hình phân loại nhiều lớp 17 1.6 Hiện tượng khớp tác hại 18 1.7 Dùng tập kiểm tra để ngăn tượng Overfitting 20 1.8 So sánh hàm Cross-Entropy hàm bình phương khoảng cách Các chấm trịn in đậm thể giá trị nhỏ hàm 22 1.9 Thuật toán học Perceptron 23 1.10 Hình minh họa kết chạy Thuật tốn học Perceptron 24 1.11 Đường thẳng phân chia lãnh thổ thuật toán học PLA 26 1.12 Mạng nơ-ron học sâu có độ sâu 27 1.13 Kết phép tích chập thích hợp 28 1.14 Phép Pooling 29 1.15 Phép Max pooling Average pooling 30 1.16 Kiến trúc mạng nơ-ron tích chập 31 1.17 Ma trận Confusion chưa chuẩn hóa 32 1.18 Ma trận Confusion chuẩn hóa 32 1.19 Các giá trị TP, FN, FP, TN 33 1.20 Ma trận confusion chuẩn hóa 34 2.1 Hình ảnh trực quan mơ tả q trình mơ hình MTCNN37 2.2 Mơ hình mạng MTCNN 38 2.3 Kiến trúc mạng P-Net 39 2.4 Kiến trúc mạng R-Net 40 2.5 Kiến trúc mạng O-Net 42 2.6 (a) Đánh giá FDDB (b-d) Đánh giá ba tập WIDER FACE Số liệu kèm phương pháp độ xác trung bình (e) Đánh giá AFLW cho chỉnh mặt 43 2.7 Dị tìm đánh dấu khn mặt MTCNN 44 2.8 Kim tự tháp đặc trưng 45 2.9 Cách hoạt động kim tự tháp đặc trưng 46 2.10 Hệ thống lưới 47 2.11 Véc-tơ đầu ô vuông 48 2.12 Hình minh họa tỷ lệ IoU 49 2.13 Kiến trúc mạng RetinaFace [3] 50 2.14 Dị tìm đánh dấu khuôn mặt Retinanet 51 2.15 Mơ hình mạng Siam-network 52 2.16 Kiến trúc mạng CNNs dùng cho Facenet 53 2.17 Luyện mơ hình hàm mát triplet loss 55 2.18 Giao thức tập đóng giao thức tập mở 57 2.19 Hình minh họa ba loại hàm mát softmax 61 2.20 Quá trình huấn luyện kiểm thử SphereFace 62 2.21 Kiến trúc mạng nơ-ron tích chập CNNs với nhiều lớp tích chập khác 63 2.22 Hình ảnh trực quan cho kết học đặc trưng với giá trị khác tham số m 64 2.23 Độ xác LFW YTF với số lượng lớp nơ-ron tích chập khác 65 2.24 So sánh kết SphereFace với số phương pháp khác 65 Danh sách bảng 2.1 So sánh ranh giới định ba loại hàm mát softmax62 ảnh có ảnh gọi anchor, ảnh có đối tượng (người) với ảnh anchor gọi ảnh positive, ảnh lại có người khác với người ảnh anchor gọi ảnh negative Ta ký hiệu ba ảnh A,P,N Với ảnh triplet loss kỳ vọng: d(A, P ) < d(A, N ) (2.2.1) Mục tiêu mơ hình xác định để ảnh A P khác (ví dụ ảnh ta hồi cịn nhỏ), hay A N giống (ví dụ ảnh người có gương mặt tương đồng với nhau) Để làm cho khoảng cách vế trái vế phải lớn hơn, cộng thêm vào vế trái hệ số α không âm nhỏ Khi (2.2.1) trở thành: d(A, P ) + α < d(A, N ) → f (A) − f (P ) → f (A) − f (P ) 2 2 + α ≤ f (A) − f (N ) − f (A) − f (N ) 2 2 +α≤0 Như hàm loss function là: n f (A) − f (P ) L(A, P, N ) = 2 − f (A) − f (N ) 2 +α i=0 Trong n số lượng hình ảnh đưa vào huấn luyện 54 Hình 2.17: Luyện mơ hình hàm mát triplet loss Để ý thấy mơ hình nhận diện giá trị hàm mát số âm, điều ảnh hưởng đến việc hoạt động hàm mát Vì vậy, tiêu chí nhận diện khơng bị phạt gì, ta loại bỏ ảnh hưởng ba nhận diện cách đưa giá trị hàm mát trường hợp Tức nếu: f (A) − f (P ) 2 − f (A) − f (N ) 2 +α≤0 giá trị hàm mát điều chỉnh Khi hàm mát trở thành: n max( f (A) − f (P ) L(A, P, N ) = 2 − f (A) − f (N ) 2 + α, 0) i=0 Việc áp dụng hàm mát Triplet loss vào mô hình mạng nơron tích chập, tạo biểu diễn véc tơ tốt cho ảnh Những biểu diễn véc tơ phân biệt tốt ảnh Negative giống ảnh Positive Và đồng thời ảnh thuộc label trở nên gần không gian Euclid 55 Một ý quan trọng huấn luyện mô hình siam network với hàm mát triplet loss phải xác định trước cặp ảnh (A, P ) thuộc người Ảnh N lựa chọn ngẫu nhiên từ ảnh thuộc nhãn cịn lại Do cần thu thập hai ảnh người để chuẩn bị liệu huấn luyện Tuy vậy, thực tế, người ta thường dùng Softmax thay triplet loss để huấn luyện yêu cầu phần cứng 56 2.2.2 Mơ hình Sphereface Giao thức tập đóng giao thức tập mở Hình 2.18: Giao thức tập đóng giao thức tập mở Trên phương diện kiểm thử, nhận diện khn mặt đánh giá giao thức đóng mở (open-set protocol/ closed-sed protocol) Đối với giao thức đóng (theo dõi phần bên trái hình 2.15), tốn định danh khn mặt (face identification) phân lớp ảnh kiểm 57 thử vào lớp phù hợp gán nhãn cho Bài tốn phân biệt mặt (face verification) trường hợp có chất phân lớp hai ảnh đầu vào vào lớp tương ứng so sánh nhãn chúng Chúng ta thấy giao thức đóng, tốn nhận diện khn mặt (face recognition) xem xét giải toán phân lớp Đối với giao thức mở (theo dõi phần bên phải hình 2.15, ảnh kiểm thử thường tách rời với tập luyện, nghe đầy thử thách lại gần với thực tế cho tốn nhận diện khn mặt Và ảnh kiểm thử tách rời với tập luyện, ta phân lớp cho Điều dẫn đến đòi hỏi biểu diễn ảnh ánh xạ đến khơng gian đặc trưng có tính phân biệt (discriminative feature space) Nếu tìm biểu diễn đủ tốt, tốn phân biệt mặt thực tốt liệu kiểm thử tách rời liệu luyện Và tốn nhận diện khn mặt xem tốn phân biệt khn mặt liệu kiểm thử với tập nhãn liệu luyện (xem hình 2.15) 58 Hàm mát softmax biến thể Như ta biết hàm mát softmax, trường hợp phân lớp nhị phân (binary classification), với x véc-tơ đặc trưng, Wi , bi trọng số bias tương ứng với lớp i tầng kết nối đầy đủ (fully connected) cuối cùng, xác suất phân lớp đối tượng là: exp W1T x + b1 p1 = exp W1T x + b1 + exp W2T x + b2 exp W2T x + b2 p2 = exp W2T x + b2 + exp W1T x + b1 (2.2.2) Đối tượng phân vào lớp có xác suất lớn Biên định lúc (W1 − W2 ) x + b1 − b2 = Biễu diễn WiT x + bi WiT x cos (θi ) + bi dó θi góc Wi x, chuẫn hóa WiT = bi = 0, ta có xác suất phân lớp trở thành: p1 = x cos (θ1 ) (2.2.3) p2 = x cos (θ2 ) Xác suất phụ thuộc vào góc θi Biên định lúc trở thành cos (θ1 ) − cos (θ2 ) = - phân giác góc véc-tơ W1 , W2 Việc phân tích tốn phân lớp nhị phân sở cho việc áp dụng hàm mát softmax hiệu chỉnh lên toán phân lớp nhiều lớp Trong trình huấn luyện, hàm mát softmax hiệu chỉnh (modified softmax loss) WiT = 1, bi = khuyến khích véc-tơ đặc trưng thuộc lớp i có khoảng cách góc θi nhỏ (khoảng cách cosine 59 lớn hơn) so với khoảng cách khác Điều sở cho việc phân lớp dựa góc tạo véc-tơ đặc trưng Wi Với liệu xi mang nhãn yi , ta có hàm mát softmax: T eWyi xi +byi Li = − log Li = − log e Tx Wj je xi cos(θyi ,i )+byi Wyi je i +bj Wj xi cos(θj,i )+bj , θj,i (0 ≤ θj,i ≤ π) góc véc-to Wj xi Như phân tích trên, ta chuẩn hố Wj = bj = 0∀j, ta có hàm mát softmax hiệu chỉnh: Lmodif ied = n − log e xi cos(θyi ,i ) j i e xi cos(θj,i ) Mặc dù ta luyện mơ hình với hàm mát softmax hiệu chỉnh, điều khơng hồn toàn dẫn đến kết tốt Việc sử dụng khoảng cách góc cách tự nhiên kéo theo việc kết hợp biên góc (angular margin) để học đặc trưng với mục đích tăng cường khả phân biệt mơ hình Lề góc (angular Margin) hàm mát A-softmax Từ phân tích trước hàm mát softmax, nhận thấy ranh giới định (decision boundary) ảnh hưởng nhiều đến phân bố véc-tơ đặc trưng, dẫn đến ý tưởng sử dụng ranh giới định để tạo lề góc Lấy ví dụ tốn phân loại nhị phân, véc-tơ đặc trưng x thuộc vào lớp 1, ta có cos (θ1 ) > cos (θ2 ) Với mong muốn tạo 60 mơ hình phân loại tốt hơn, người ta đưa vào điều kiện số nguyên m > Lúc này, để véc-tơ đặc trưng phân loại vào lớp 1, yêu cầu cos (mθ1 ) > cos (θ2 ) Ranh giới định lớp cos (mθ1 ) = cos (θ2 ), lớp cos (mθ2 ) = cos (θ1 ) Giả sử liệu phân loại với điều kiện trên, ta thấy, ranh giới định tạo lề góc(angular margin) rộng m−1 m+1 θ2 với θ21 góc W1 W2 Điều dẫn đến tính tách rời lớn cho lớp luyện mơ hình Với tham số m thêm vào này, hàm mát Softmax gọi hàm mát A-softmax, có cơng thức:  e xi cos(mθyi ,i)  Lang = − log N e xi cos(mθyi ,i ) + e xi i j=yi  cos(θj,i )  Hình 2.19: Hình minh họa ba loại hàm mát softmax 61 (2.2.4) Bảng sau trình bày loại hàm mát ranh giới định tương ứng Hàm mát Ranh giới định Softmax Loss (W1 − W2 ) x + b1 − b2 = Modified Softmax Loss cos (θ1 ) − cos (θ2 ) = A-Softmax Loss cos (mθ1 ) − cos (θ2 ) = cos (θ1 ) − cos (mθ2 ) = Bảng 2.1: So sánh ranh giới định ba loại hàm mát softmax Kiến trúc SphereFace q trình luyện mơ hình Tiền xử lý: Liu cộng [4] sử dụng trình tiền xử lý tiêu chuẩn Dữ liệu cắt từ ảnh chứa mặt phát MTCNN [1] Mỗi điểm ảnh mang giá trị đoạn [0,255] ảnh màu chuẩn hóa cách trừ 127.5 chia cho 128 Mơ hình chung sử dụng để huấn luyện trích xuất đặc trưng SphereFace: Hình 2.20: Quá trình huấn luyện kiểm thử SphereFace Liu cộng [4] sử dụng liệu CASIA-WebFace[5](đã 62 loại bỏ gương mặt có xuất tập kiểm tra) với 494,414 ảnh có chứa mặt 10,575 danh tính để huấn luyện mơ hình mạng nơ-ron tích chập CNNs Những ảnh lật theo chiều ngang để tăng cường liệu luyện.[4] Ở trình kiểm thử, quan sát hình 2.18, ảnh đưa vào mạng nơ-ron tích chập sau qua tầng kết nối đầy đủ đưa véc-tơ đặc trưng Liu cộng sư [4] thử nghiệm sử dụng kết phép ghép đặc trưng ảnh gốc ảnh lật ngang nó, coi véc-tơ đặc trưng trích xuất Để phân loại hay xác minh danh tính, khoảng cách sử dụng khoảng cách cosine tương ứng cho tốn phân lớp hàng xóm gần (nearest neighbors classifier) tìm ngưỡng (thresholding) Kiến trúc mạng nơ-ron tích chập CNNs: Hình 2.21: Kiến trúc mạng nơ-ron tích chập CNNs với nhiều lớp tích chập khác 63 Conv1.x, Conv2.x, Conv3.x đơn vị tích chập mà chứa nhiều tầng tích chập đơn vị kề (residual unit) thể ngoặc vng Ví dụ, [3.3.64].4 lớp tích chập xếp tầng với 64 lọc kích thước nhân 3, S2 bước nhảy với độ dài FC lớp kết nối đầy đủ (fully connected layer) Dưới hình ảnh trực quan cho trình luyện với tham số m khác Dữ liệu sử dụng thuộc sáu danh tính liệu CASIA-WebFace Hình 2.22: Hình ảnh trực quan cho kết học đặc trưng với giá trị khác tham số m 64 Ngoài ra, Liu cộng [4] thử nghiệm với số tầng mạng nơ-ron khác (tham số m = 4), số số liệu độ xác (accuracy): Hình 2.23: Độ xác LFW YTF với số lượng lớp nơ-ron tích chập khác Cịn kết so sánh với số phương pháp khác: Hình 2.24: So sánh kết SphereFace với số phương pháp khác 65 Kết luận Qua luận văn, tác giả trình bày số phương pháp mạng mơ-ron học sâu nhận dạng khuôn mặt, bao gồm mơ hình dị tìm khn mặt mạng MTCNN hay mạng RatinaFace, mơ hình nhận dạng khuôn mặt Facenet SphereFace Cùng với phát triển không ngừng máy học ứng dụng đa dạng mặt sống người đại, tác giả tin hiểu biết mơ hình mạng vơ quan trọng, người tham gia nghiên cứu hay ứng dụng thị giác máy tính Mặc dù cố gắng tìm tịi, nghiên cứu, hỗ trợ đồng hành gia đình, thầy bạn bè thời gian có hạn, luận văn cịn nhiều thiếu sót Ngồi ra, nghiên cứu cịn phát triển ứng dụng nhiều với ý tưởng: • Kết hợp MTCNN FaceNet • Kết hợp MTCNN Sphereface • Kết hợp RetinaNet FaceNet • Kết hợp RetinaNet Sphereface Chân thành cảm ơn quý độc giả đọc tham khảo luận văn này! 66 Tài liệu tham khảo [1] Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks - Kaipeng Zhang, Zhanpeng Zhang, Zhifeng Li, Senior Member, IEEE, and Yu Qiao, Senior Member, IEEE [2] RetinaFace: Single-shot Multi-level Face Localisation in the Wild, 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) [3] FaceNet: A Unified Embedding for Face Recognition and ClusteringKalenichenko, Florian Schroff, fschroff@google.com, dkalenichenko@google.com, James Dmitry Philbin, jphilbin@google.com [4] SphereFace: Deep Hypersphere Embedding for Face RecognitionWeiyang Liu, Yandong Wen, Georgia Institute of Technology, Zhiding Yu, Ming Li, Carnegie Mellon University, Bhiksha Raj, Le Song, Sun Yat-Sen University [5] An overview of gradient descent optimization algorithms https://ruder.io/optimizing-gradient-descent/index html#stochasticgradientdescent) 67 [6] Sách Michine Learning - Tác giả Vũ Hữu Tiệp https:// machinelearningcoban.com/about/ [7] Machine Learning: mì, súp cơng thức nấu - Nguyễn Xuân Khánh https://khanh-personal.gitbook.io/ml-book-vn/ [8] blog Deep Learning - https://nttuan8.com [9] https://towardsdatascience.com/ understanding-binary-cross-entropy-log-loss-a-visual-explanatio 68 ...TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SĨ Một số phương pháp mạng Neural học sâu nhận dạng khuôn mặt ứng dụng NGUYỄN THỊ TUYẾT NHI nguyennhiaktf@gmail.com... mạng nơ-ron học sâu nhận dạng khuôn mặt ứng dụng chúng Nôi dung luận văn gồm nội dung chính: • Cơ sở lý thuyết • Mơ hình nhân diện khn mặt: Mạng MTCNN • Mơ hình nhân diện khn mặt: Mạng RetinaNet... thuật toán học Perceptron - Perceptron Learning Algorithm Mở đầu Nhận dạng khn mặt tốn quan trọng lĩnh vực thị giác máy tính Có nhiều ứng dụng liên quan đến toán nhận diện khuôn mặt Từ ứng dụng thiết

Ngày đăng: 07/12/2021, 19:37

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

TÀI LIỆU LIÊN QUAN

w