Đăng ký Đăng nhập
Trang chủ Tìm hiểu về giải thuật nhận dạng khuôn mặt...

Tài liệu Tìm hiểu về giải thuật nhận dạng khuôn mặt

.DOCX
39
1
67

Mô tả:

Phụ l YMỞ ĐẦU…………………………………………………………………………….4 CHƯƠNG 1 : GIỚI THIỆU TỔNG QUAN VỀ NHẬN DẠNG...............................5 1.1 . Giới thiệu chương..............................................................................................5 1.2 Giới thiệu về thị giác máy tính............................................................................5 1.3 Ứng dụng............................................................................................................. 5 1.4 Khái quát về nhận dạng.......................................................................................6 1.4.1Giới thiệu về nhận dạng................................................................................6 1.4.2 Bản chất của quá trình nhận dạng.................................................................6 1.5 Các phương pháp nhận dạng...........................................................................7 1.6 Khái quát về nhận dạng khuôn mặt......................................................................7 1.7 Kết luận chương..................................................................................................8 CHƯƠNG 2 : PHÂN TÍCH VỀ BÀI TOÁN NHẬN DIỆN KHUÔN MẶT.............8 2.1 Giới thiệu chương................................................................................................8 2.2 Quá trình nhận dạng khuôn mặt...........................................................................8 2.3 Những khó khăn trong hệ thống nhận dạng khuôn mặt.......................................8 2.4 Các ứng dụng của bài toán nhận dạng khuôn mặt.............................................10 2.5 Một số phương pháp nhận dạng khuôn mặt.......................................................10 2.5.1 Dựa trên tri thức.........................................................................................11 2.5.2 Dựa trên so khớp mẫu................................................................................11 2.5.3 Dựa trên các đặc trưng không thay đổi.......................................................11 2.5.4 Dựa trên diện mạo......................................................................................12 2.6 Kết luận chương............................................................................................12 CHƯƠNG 3 : GIẢI THUẬT BÀI TOÁN NHẬN DIỆN KHUÔN MẶT..............13 3.1 Giới thiệu chương.............................................................................................13 3.2 Mạng neuron.....................................................................................................13 1 GVHD : TS. Trần Thị Minh Hạnh 3.2.1 Khái quát về mạng neuron..........................................................................13 3.2.2 Mạng neuron tích chập...............................................................................13 3.2.2.1 Convolutinonal....................................................................................14 3.2.2.2 Cấu trúc mạng CNN............................................................................15 3.2.2.3 Trọng số cơ bản...................................................................................16 3.2.2.3.1 Các trường tiếp nhận cục bộ.............................................16 3.2.2.3.2 Trọng số chia sẻ (Shared weight and bias)……………...18 3.2.2.3.3 Lớp Pooling......................................................................18 3.3 Phát hiện khuôn mặt với MTCNN.....................................................................19 3.3.1 Các giai đoạn của MTCNN........................................................................19 3.3.1.1 Phân tích giai đoạn 1...........................................................................20 3.3.1.2 Phân tích giai đoạn 2...........................................................................21 3.3.1.3 Phân tích giai đoạn 3...........................................................................22 3.3.2 Chức năng mất nhận dạng khuôn mặt........................................................23 3.3.3 Hồi quy hộp và phát hiện mốc mặt.............................................................25 3.3.3.1 Hồi quy hộp (Bounding Box regession)..............................................25 3.3.3.2 Phát hiện điểm chính của khuôn mặt mốc mặt (Facial landmark localization).............................................................................................................25 3.3.4. Kết hợp ba chức năng mất trên..................................................................25 3.4 Nhận diện khuôn mặt bằng FACENET.............................................................26 3.4.1 FaceNet......................................................................................................26 3.4.2 Transfer learning………………………………………………………….26 3.4.3 Cấu trúc Inception Resnet………………………………………………...28 3.4.1 Cấu trúc ……………………………………………………………….28 3.5 Kết luận chương……………………………………………………………….35 CHƯƠNG 4 : GIẢ MẠO KHUÔN MẶT VÀ CÁC PHƯƠNG PHÁP CHỐNG GIẢ MẠO ………………………………………………………………………...36 2 GVHD : TS. Trần Thị Minh Hạnh 4.1 Giới thiệu chung ………………………………………………………………36 4.2 Các cuộc tấn công và các phương pháp chống giả mạo……………………….36 3 GVHD : TS. Trần Thị Minh Hạnh MỞ ĐẦU Với sự phát triển không ngừng của khoa học và công nghệ,đặc biệt là những chiếc điện thoại thông minh (smartphone),máy tính ngày càng hiện đại và được sử dụng phổ biến trong đời sống con người đã làm cho lượng thông tin thu được bằng hình ảnh ngày càng tăng. Hệ thống nhận dạng khuôn mặt là một ứng dụng máy tính tự động xác định hoặc nhận dạng một người nào đó từ một bức hình ảnh kĩ thuật số hoặc một khung hình video từ một nguồn video. Một trong những cách để thực hiện điều này là so sánh các đặc điểm khuôn mặt chọn trước từ hình ảnh và một cơ sở dữ liệu về khuôn mặt. Hệ thống này thường được sử dụng trong các hệ thống an ning và có thể được so sánh với các dạng sinh trắc học khác như các hệ thống nhận dạng vân tay hay tròng mắt. Trong số các dạng sinh trắc khác nhau hệ thống nhận dạng khuôn mặt tuy không có tính hiệu quả và bảo mật cao nhưng là một trong nhưng dạng sinh trắc không thể thiếu trong thế giới số hóa ngày càng hiện đại. Đồ án này chú trọng tới tìm hiểu về giải thuật nhận dạng khuôn mặt. Nội dung đồ án chia làm 4 chương : Chương 1 : GIỚI THIỆU TỔNG QUAN VỀ NHẬN DẠNG Chương 2 : PHÂN TÍCH VỀ BÀI TOÁN NHẬN DIỆN KHUÔN MẶT Chương 3 : GIẢI THUẬT BÀI TOÁN NHẬN DIỆN KHUÔN MẶT Chương 4 : GIẢ MẠO TRONG NHẬN DIỆN KHUÔN MẶT VÀ PHƯƠNG PHÁP CHỐNG GIẢ MẠO Mục tiêu của đề tài là nghiên cứu,giải thuật nhận diện khuôn mặt.Nghiên cứu các phương pháp xác định nhận diện khuôn mặt, từ đó đưa ra phương pháp tối ưu để đưa vào thử nghiệm. Trong quá trình thực hiện đồ án em chân thành cảm ơn cô TS. Trần Thị 4 GVHD : TS. Trần Thị Minh Hạnh Minh Hạnh đã tận tình hướng dẫn, truyền đạt những kiến thức, hỗ trợ tinh thần trong suốt quá trình thực hiện đồ án. Mặc dù đã có nhiều cố gắng hoàn thiện đồ tài tuy nhiên thời gian có hạn nên không thể tránh được những thiếu sót, em rất mong nhận được những ý kiến đóng góp của các thầy cô để có thể hoàn thiện hơn và phát triển lên đồ án tốt nghiệp tốt hơn. Em xin chân thành cảm ơn! 5 GVHD : TS. Trần Thị Minh Hạnh CHƯƠNG 1 : GIỚI THIỆU TỔNG QUAN VỀ NHẬN DẠNG 1.1 . Giới thiệu chương Chương này sẽ cung cấp những thông tin cơ bản về thị giác máy tính xử lý ảnh và các ứng dụng thực tế về xử lý ảnh trong đời sống xã hội hiện nay. Và khái quát về nhận dạng khuôn mặt. 1.2 Giới thiệu về thị giác máy tính Thị giác máy tính (computer vision) là một lĩnh vực bao gồm các phương pháp thu nhận, xử lý ảnh kĩ thuật số , phân tích và nhận dạng các hình ảnh và, nói chung là dữ liệu đa chiều từ thế giới thực để cho ra các thông tin số hoặc biểu tượng, ví dụ trong các dạng quyết định. Việc phát triển lĩnh vực này có bối cảnh từ việc sao chép các khả năng thị giác con người bởi sự nhận diện và hiểu biết một hình ảnh mang tính điện tử. Sự nhận diện hình ảnh có thể xem là việc giải quyết vấn đề của các biểu tượng thông tin từ dữ liệu hình ảnh qua cách dùng các mô hình được xây dựng với sự giúp đỡ của các ngành lý thuyết học, thống kê ,vật lý và hình học. Thị giác máy tính cũng được mô tả là sự tổng thể của một dải rộng các quá trình tự động và tích hợp và các thể hiện cho các nhận thức thị giác. Thị giác máy tính là một môn học khoa học liên quan đến lý thuyết đằng sau các hệ thống nhân tạo có trích xuất các thông tin từ các hình ảnh. Dữ liệu hình ảnh có thể nhiều dạng, chẳng hạn như chuỗi video, các cảnh từ đa camera, hay dữ liệu đa chiều từ máy quét y học. Thị giác máy tính còn là một môn học kỹ thuật, trong đó tìm kiếm việc áp dụng các mô hình và các lý thuyết cho việc xây dựng các hệ thống thị giác máy tính. Thị giác nhận tạo quan tâm việc mô phỏng lại thị giác của con người, dùng mô hình toán học để biểu diễn và hiểu các hình ảnh từ thực tế. 1.3 Ứng dụng - Hệ thống an ninh,bảo mật thông tin. - Xe tự hành. 6 GVHD : TS. Trần Thị Minh Hạnh - Y khoa(X-quang, ảnh tia gamma). - Thiên văn học. - Phát hiện lỗi sản phẩm ứng dụng trong công nghiệp. - Tìm kiếm thông tin bằng hình ảnh trên internet. 1.4 Khái quát về nhận dạng 1.4.1Giới thiệu về nhận dạng Nhận dạng là giai đoạn cuối của các hệ thống xử lý ảnh. Nhận dạng là quá trình nhận diện được và phân loại các đối tượng được biển diễn theo mô hình nào đó và gán cho chúng một nhãn theo những tính toán quy luật và các mẫu có sẵn. Quá trình đó dựa vào các mẫu mà máy đã được học và biết trước. Trong trường hợp khác gọi là không được học. Trong lý thuyết nhận dạng ảnh có ba cách tiếp cận khác nhau:  + - Nhận dạng theo cấu trúc. - Nhận dạng dựa vào phân hoạch không gian - Nhận dạng dựa vào kĩ thuật mạng nơron Hai cách tiếp cận đầu các đối tượng quan sát và thu được phải trải qua tiền xử lý nhằm tăng chất lượng ảnh, làm nổi các chi tiết, trích chọn và biển diễn các đặc trưng và cuối cùng là nhận dạng. + Cách tiếp cận thứ 3 hoàn toàn khác, dựa vào cơ chế đoán nhận, lưu trữ và phân biệt đối tượng mô phỏng theo hoạt động của hệ thần kinh con người. Do cơ chế đặc biệt, các đối tượng thu nhận bởi thị giác người không cần qua giai đoạn cải thiện mà chuyển ngay sang giai đoạn tổng hợp, đối sánh với các mẫu đã lưu trữ để nhận dạng. 1.4.2 Bản chất của quá trình nhận dạng Quá trình nhận dạng gồm 3 giai đoạn chính: • Lựa chọn mô hình biểu diễn đối tượng. • Lựa chọn luật ra quyết định (phương pháp nhận dạng) và suy diễn quá trình học. 7 GVHD : TS. Trần Thị Minh Hạnh • Học nhận dạng. Khi mô hình biểu diễn đối tượng đã được xác định, quá trình nhận dạng chuyển sang giai đoạn học. Học là giai đoạn rất quan trọng. Thao tác học nhằm cải thiện, điều chỉnh việc phân hoạch tập đối tượng thành các lớp. Việc nhận dạng chính là tìm ra quy luật và các thuật toán để có thể gán đối tượng vào một lớp. 1.5 Các phương pháp nhận dạng - Nhận dạng dựa trên phân hoạch không gian. Trong kỹ thuật này, các đối tượng nhận dạng là các đối tượng định lượng.Một đối tượng được biểu diễn bởi một vector nhiều chiều. - Nhận dạng theo cấu trúc. Ngoài cách biểu diễn theo định lượng như đã mô tả ở trên, tồn tại nhiều kiểu đối tượng mang tính định tính. Trong cách biểu diễn này, người ta quan tâm đến các dạng và mối quan hệ giữa chúng. - Nhận dạng theo mạng nơron. Mạng noron nhân tạo (Artificial Neural Network) bao gồm các nút được nối với nhau bởi các liên kết noron. Mỗi liên kết kèm theo một trọng số nào đó. Nhiệm vụ của quá trình huấn luyện (học) mạng là cập nhật các trọng số khi có thêm các thông tin về các mẫu học, hay nói cách khác, các trọng số được điều chỉnh sao cho dáng điệu vào ra của nó mô phỏng hoàn toàn phù hợp môi trường đang xem xét. Trong mạng, một số noron được nối với môi trường bên ngoài như các đầu ra, đầu vào. 1.6 Khái quát về nhận dạng khuôn mặt Nhận dạng khuôn mặt là là một trong những ứng dụng của máy tính về xác định và nhận diện một người nào đó từ một bức ảnh hoặc từ một khung hình video 8 GVHD : TS. Trần Thị Minh Hạnh nào đó. Nhận diện khuôn mặt là từ ảnh khuôn mặt đã crop trả về kết quả người nào. Nhận diện khuôn mặt là đem so sánh các đặc điểm khuôn mặt chọn từ trước và cơ sở dữ liệu về khuôn mặt. 1.7 Kết luận chương Chương một đã giới thiệu được về lĩnh vực thị giác máy tính (computer vision) và các ứng dụng nhận dạng có thể áp dụng hữu ích vào đời sống con người. Về nhận dạng,nhận dạng khuôn mặt; để rõ hơn về bài toán về hệ thống nhận dạng khuôn mặt chúng ta sẽ tìm hiểu ở các chương tiếp. CHƯƠNG 2 : PHÂN TÍCH VỀ BÀI TOÁN NHẬN DIỆN KHUÔN MẶT 2.1 Giới thiệu chương Bài toán phát hiện mặt người là bài toán được rất nhiều kỹ sư công nghệ, các nhà toán học quan tâm từ nhiều năm nay. Hiện nay người ta đã xây dựng được nhiều chương trình phát hiện khuôn mặt khách nhau. Trên thế giới, có nhiều phương pháp được đưa ra như sử dụng template matching, neuron network, … Chương này chúng ta sẽ tìm hiểu về những vấn đề liên quan đến bài toán nhận diện khuôn mặt và những khó khắn trong vấn đề nhận diện. 2.2 Quá trình nhận dạng khuôn mặt Có thể chia thành 2 bước : - Phát hiện ra khuôn mặt : bước này có mục tiêu là phát hiện các khuôn mặt có trong hình ảnh hoặc video - Nhận dạng khuôn mặt : Với các hình ảnh đã được phát hiện và trích xuất thuật toán nhận dạng khuôn mặt có mục tiêu tìm kiếm các đặc điểm mô tả đúng nhất của hình ảnh đó. 2.3 Những khó khăn trong hệ thống nhận dạng khuôn mặt Khó khăn của bài toán nhận diện khuôn mặt có thể kể đến : o Tư thế chụ,góc chụp: 9 GVHD : TS. Trần Thị Minh Hạnh Ảnh chụp khuôn mặt có thể thay đổi rất nhiều bởi vì góc chụp giữa camera và khuôn mặt. Chẳng hạn như: chụp thẳng, chụp chéo bên trái 45◦ hay chụp chéo bên phải 45◦ , chụp từ trên xuống, chụp từ dưới lên, v.v… Với các tư thế chụp như vậy có thể làm mất đặc trưng để phát hiện và nhận dạng khuôn mặt. o Sự xuất hiện hoặc thiếu một số thành phần của khuôn mặt: Các đặc trưng như râu mép, râu hàm, mắt kính, v.v… có thể xuất hiện hoặc không. Vấn đề này làm cho bài toán càng trở nên khó hơn rất nhiều. o Sự biểu cảm của khuôn mặt: Biểu cảm của khuôn mặt người có thể làm ảnh hưởng đáng kể lên các thông số của khuôn mặt. Chẳng hạn,cùng một khuôn mặt một người, nhưng có thể sẽ rất khác khi họ cười hoặc sợ hãi…. o Sự che khuất : Khuôn mặt có thể bị che khuất bởi các đối tượng khác hoặc các khuôn mặt khác. o Hướng của ảnh: Các ảnh của khuôn mặt có thể biến đổi rất nhiều với các góc quay khác nhau của trục camera. Chẳng hạn chụp với trục máy ảnh nghiêng làm cho khuôn mặt bị nghiêng so với trục của ảnh. o Điều kiện của ảnh: Ảnh được chụp trong các điều kiện khác nhau về: chiếu sang, về tính chất camera (máy kỹ thuật số, máy hồng ngoại,v.v…) ảnh hưởng rất nhiều đến chất lượng ảnh khuôn mặt. o Nền ảnh phức tạp: 10 GVHD : TS. Trần Thị Minh Hạnh Nền ảnh là một trong những vấn đề quan trọng ảnh hưởng đến độ chính xác khi cơ sở dữ liệu lớn với nhiều môi trường khác nhau, khung cảnh phức tạp có thể ảnh hưởng đến việc phân tích và trích đặc trưng khuôn mặt. o Màu sắc của da mặt: Màu sắc của da mặt quá tối hoặc gần với màu sắc của khung cảnh môi trường xung quanh cũng là một khó khăn với bài toán nhận diện mặt người. Nếu màu sắc của da người quá tối thì thuật toán sẽ gặp khó khăn trong việc nhận diện các đặc trưng và có thể không tìm ra được khuôn mặt người. o Aging condition: Việc nhận dạng ảnh mặt thay đổi theo thời gian còn là một vấn đề khó khăn, ngay cả đối với khả năng nhận dạng của con người. o Các hệ thống cực lớn (very large scale systems): Các CSDL ảnh mặt được test bởi các nhà nghiên cứu còn khá nhỏ (vài trăm tới vài chục nghìn ảnh mặt), tuy nhiên trên thực tế các CSDL có thể rất lớn, ví dụ CSDL ảnh mặt của cảnh sát của một đất nước có thể chứa từ hàng triệu tới hơn 1 tỉ ảnh… 2.4 Các ứng dụng của bài toán nhận dạng khuôn mặt Bài toán nhận dạng khuôn mặt là một trong những bài toán phức tạp nhưng có tính ứng dụng phổ biến trong thực tế nên thường được tìm hiểu nghiên cứu rộng rãi trong đời sống.  Hệ thống giao tiếp thông minh giữa người với máy.  Hệ thống giải trí.  Hệ thống nhận dạng tội phạm.  Hệ thống giám sát,theo dõi.  Hệ thống chấm công.  Phân tích cảm xúc : khuôn mặt người,….v.v.. 2.5 Một số phương pháp nhận dạng khuôn mặt 11 GVHD : TS. Trần Thị Minh Hạnh Hiện tại có khá nhiều phương pháp nhận dạng khuôn mặt trong ảnh, từ ảnh có chất lượng không tốt cho đến tốt. Từ ảnh không màu đến ảnh có màu. Nhưng có thể chia thành 4 phương pháp chính : - Dựa trên tri thức. - Dựa trên diện mạo. - Dựa trên so khớp mẫu. - Dựa trên đặc trưng không thay đổi. 2.5.1 Dựa trên tri thức. Trong hướng tiếp cận này, các quy luật sẽ được áp đặt cho bài toán nhận diện mặt người tùy vào tác giả. Vì các quy luật được tác giả tự tạo ra nên dễ dàng để xây dựng các quy luật cơ bản dựa trên các đặc điểm của khuôn mặt như, sự đối xứng của hai mắt, sống mũi, miệng… để trích rút các đặc trưng và các quan hệ về đặc trưng thường được mô tả bằng các phép toán về khoảng cách và vị trí. Khó khăn ở hướng tiếp cận này đó là việc chuyển các đặc điểm của khuôn mặt thành các đặc điểm để nhận dạng với chương trình. Nếu các quy luật quá phức tạp, một số khuôn mặt có thể thiếu, nếu quá đơn giản thì có nhận nhầm với các đối tượng khác. 2.5.2 Dựa trên so khớp mẫu Trong so khớp mẫu, các mẫu chuẩn của khuôn mặt (thường là khuôn mặt được chụp thẳng) sẽ được xác định trước hoặc xác định các tham số thông qua một hàm. Từ một ảnh đưa vào, tính các giá trị tương quan so với các mẫu chuẩn về đường viền khuôn mặt, mắt, mũi và miệng. Thông qua các giá trị tương quan này mà các tác giả quyết định có hay không có tồn tại khuôn mặt trong ảnh. Hướng tiếp cận này có lợi thế là rất dễ cài đặt, nhưng không hiệu quả khi tỷ lệ, tư thế, và hình dáng thay đổi. Nhiều độ phân giải, đa tỷ lệ, các mẫu con, và các mẫu biến dạng được xem xét thành bất biến về tỷ lệ và hình dáng. 12 GVHD : TS. Trần Thị Minh Hạnh 2.5.3 Dựa trên các đặc trưng không thay đổi Đây là hướng tiếp cận theo kiểu bottom-up. Các tác giả cố gắng tìm cácđặc trưng không thay đổi của khuôn mặt người để xác định khuôn mặt người. Dựa trên nhận xét thực tế, con người dễ dàng nhận biết các khuôn mặt và các đối tượng trong các tư thế khác nhau và điều kiện ánh sáng khác nhau, thì phải tồn tại các thuộc tính hay đặc trưng không thay đổi. Có nhiều nghiên cứu đầu tiên xác định các đặc trưng khuôn mặt rồi chỉ ra có khuôn mặt trong ảnh hay không. Các đặc trưng như: lông mày, mắt, mũi, miệng, và đường viền của tóc được trích bằng phương pháp xác định cạnh. Trên cơ sở các đặc trưng này, xây dựng một mô hình thống kê để mô tả quan hệ của các đặc trưng này và xác định sự tồn tại của khuôn mặt trong ảnh. Một vấn đề của các thuật toán theo hướng tiếp cận đặc trưng cần phải điều chỉnh cho phù hợp điều kiện ánh sáng, nhiễu, và bị che khuất. Đôi khi bóng của khuôn mặt sẽ tạo thêm cạnh mới, mà cạnh này lại rõ hơn cạnh thật sự của khuôn mặt, vì thế nếu dùng cạnh để xác định sẽ gặp khó khăn. 2.5.4 Dựa trên diện mạo Trái ngược với các phương pháp so khớp mẫu với các mẫu đã được định nghĩa trước bởi những chuyên gia, các mẫu trong hướng tiếp cận này được học từ các ảnh mẫu. Một cách tổng quát, các phương pháp theo hướng tiếp cận này áp dụng các kỹ thuật theo hướng xác suất thống kê và máy học để tìm những đặc tính liên quan của khuôn mặt và không phải là khuôn mặt. Các đặc tính đã được học ở trong hình thái các mô hình phân bố hay các hàm biệt số nên dùng có thể dùng các đặc tính này để xác định khuôn mặt người. Đồng thời, bài toán giảm số chiều thường được quan tâm để tăng hiệu quả tính toán cũng như hiệu quả xác định.  Ưu điểm : Độ chính xác cao với nhiều điều kiện ánh sáng, hoạt cảnh khác nhau.  Khuyết điểm: Thời gian đào tạo lâu, cấu trúc thuật toán phức tạp. 13 GVHD : TS. Trần Thị Minh Hạnh 2.6 Kết luận chương Chương này đã nêu được những khó khăn đối với bài toán nhận diện khuôn mặt trong thực tế, song đó cũng đưa ra được hướng tiếp cận bài toán nhận diện khuôn mặt và các phương pháp thường được sử dụng. Từ đó đưa ra phương pháp phù hợp cho bài toán nhận diện khuôn mặt. Chương sau sẽ tìm hiểu vào các thuật toán sử dụng trong đề tài. CHƯƠNG 3 : GIẢI THUẬT BÀI TOÁN NHẬN DIỆN KHUÔN MẶT 3.1 Giới thiệu chương Chương này tập trung tìm hiểu thuật toán phát hiện và nhận diện khuôn mặt là MTCNN (Multi – task covolution neuron network) và mô hình nhận diện khuôn mặt với FACENET. Trong quá trình thực hiện, nghiên cứu lý thuyết cấu trúc của mạng được sử dụng trong thuật toán từ đó tìm hiểu và xây dựng hệ thống nhận diện khuôn mặt sử dụng thuật toán MTCNN và FACENET. 3.2 Mạng neuron 3.2.1 Khái quát về mạng neuron Về cơ bản mạng neural là một các mạng phần tử (gọi là neuron) kết nối với nhau thông qua các liên kết (các liên kết này được gọi là trọng số liên kết) để thực hiện một công việc cụ thể nào đó. Khả năng xử lý mạng neuron được hình thành thông qua quá trình hiệu chỉnh trọng số liên kết giữa các neuron, nói cách khác là học tập từ tập hợp các mẫu huấn luyện. 3.2.2 Mạng neuron tích chập. 14 GVHD : TS. Trần Thị Minh Hạnh Hình 3.1: Mạng neuron tích chập (Convolutinon neuron network) - Convolution Neural Network (Mạng neuron tích chập): Convolution Neural Network (CNN – Mạng nơ-ron tích chập) là một trong những mô hình Deep Learning tiên tiến thường được sử dụng để xây dựng các hệ thống thông minh với độ chính xác cao. Đặc biệt là mô hình AI, xử lý ảnh với các ứng dụng thực tế như nhận diện khuôn mặt, phát triển xe tự hành,…. CNN được sử dụng nhiều trong các bài toán nhận dạng các object trong ảnh. Thuật toán này được sử dụng rộng rãi cho việc nhận dạng (detection), đặc biệt là nhận diện khuôn mặt. 3.2.2.1 Convolutinonal Hình 3.2: Kernel 3x3 cho phép chập. 15 GVHD : TS. Trần Thị Minh Hạnh Convolutinon hay tích chập là nhân từng phần tử bên trong ma trận 3x3 với ma trận bên trái. Kết quả được một ma trận gọi là Convoled feature được sinh ra từ việc nhận ma trận Filter với ma trận ảnh 5x5 bên trái Sử dụng một kernel 3x3 chạy qua tất cả các phần tử của bức ảnh (Cửa sổ trượt ) và sử dụng tích chập tương ứng với các phần tử của bức ảnh trùng với vị trí của kernel 3x3 sau đó cộng tổng tất cả các điểm lại sẽ được một giá trị của ma trận đặc trưng. Tổng số cột của ma trận đặc trưng bằng tổng số lần tích chập được thực hiện khi đi đến một hàng và tổng số hàng của một ma trận đặc trưng bằng với tổng số lần tích chập được thực hiện khi đi hết một cột. 3.2.2.2 Cấu trúc mạng CNN Mạng CNN là một tập hợp các lớp Convolution chồng lên nhau và sử dụng các hàm nonlinear activation như ReLU và Tanh để kích hoạt các trọng số các node. Mỗi một lớp sau khi thông qua các hàm kích hoạt sẽ tạo ra các thông tin trừu tượng hơn cho các lớp tiếp theo. Trong mô hình CNN các layer liên kết được với nhau thông qua cơ chế convolution, layer tiếp theo là kết quả từ layer trước đó, nhờ vậy mà ta có được các kết nối cục bộ. Mỗi một lớp được sử dụng các bộ lọc khác nhau, ngoài ra có thể sử dụng các lớp như pooling/subsampling để loại bỏ các thông tin không cần thiết để giảm bớt số parameter. Trong quá trình huấn luyện mạng CNN tự động các giá trị của các lớp và lớp cuối cùng được dùng để phân loại ảnh. Hình 3.2.1 . Quá trình xử lý các đặc trưng. 16 GVHD : TS. Trần Thị Minh Hạnh Mô hình CNN có 2 tính chất cần quan tâm : - Tính bất biến ( Location Invariance). - Tính kết hợp (Compositionality). Đó là lý do rại sao CNN cho ra mô hình với độ chính xác rất cao. Cũng giống như cách con người nhận biết các vật thể trong tự nhiên. Mạng CNN sử dụng 3 trọng số cơ bản:  Các trường tiếp nhận cục bộ (Local receptive field).  Trọng số chia sẻ (Shared weights).  Tổng hợp (pooling). 3.2.2.3 Trọng số cơ bản 3.2.2.3.1 Các trường tiếp nhận cục bộ. Đầu vào của mạng CNN là một bức ảnh. CNN kết nối một vùng nhỏ của các neuron đầu vào như một filter, mỗi một kết nối sẽ học một trọng số và mỗi một neuron ẩn sẽ học một bias. Và các vùng nhỏ đó được gọi là một trường tiếp nhận cục bộ. Hình 3.3 Trường tiếp nhận cục bộ (Local receptive field). Một cách tổng quan, ta có thể tóm tắt các bước tạo ra 1 hidden layer bằng các cách sau : 17 GVHD : TS. Trần Thị Minh Hạnh Bước 1 : Tạo ra neuron ẩn đầu tiên trong lớp ẩn 1. Bước 2 : Dịch filter qua bên phải một cột sẽ tạo ra được neuron ẩn thứ 2. Đối với bài toán nhận diện mặt người, ma trận lớp đầu vào được gọi là Feature Map, trọng số xác định là Shared Weight và độ lệch xác định đối với một Feature Map. 18 GVHD : TS. Trần Thị Minh Hạnh Như vậy trường tiếp nhận cục bộ thích hợp cho việc phân tách dữ liệu ảnh, giúp chọn ra những vùng ảnh có giá trị nhất cho việc đánh giá và phân lớp. 3.2.2.3.2 Trọng số chia sẻ (Shared weight and bias). Các trọng số cho mỗi filter phải giống nhau. Tất cả các neural trong lớp ẩn đầu sẽ phát hiện chính xác đặc trưng tương tự chỉ ở các vị trí khác nhau trong ảnh đầu vào. Gọi việc kết nối các lớp đầu vào sang các lớp ẩn là một Feature Map. Các lớp bao gồm các Feature Map khác nhau. Mỗi Feature Map mang một vài đặc trưng của ảnh. Sử dụng trọng số chia sẻ là giảm tối đa số lượng tham số trong mạng CNN. 3.2.2.3.3 Lớp Pooling. Được sử dụng ngay sau lớp Convolutional nhằm mục đích giảm bớt số lượng neuron, phổ biến là max – pooling, chọn giá trị lớn nhất với các vùng 2x2 thuộc Feature Map. 19 GVHD : TS. Trần Thị Minh Hạnh Hình 3.4 Max-pooling. Như vậy qua lớp Max – pooling thì số lượng neuron giảm đi phân nửa. Trong một mạng CNN có nhiều Feature Map nên mỗi Feature Map chúng ta sẽ cho mỗi Max –pooling khác nhau. 3.3 Phát hiện khuôn mặt với MTCNN. Phát hiện khuôn mặt là một trong những bước quan trọng cho quá trình nhận diện khuôn mặt của hệ thống, nhưng song với đó muốn phát hiện chính xác đó có phải khuôn mặt hay không các tác nhân từ môi trường như ánh sáng hay góc quay của camera, tư thế ảnh hưởng rất lớn đến quá trình phát hiện. Thuật toán gồm 3 giai đoạn, ứng với mỗi giai đoạn là việc huấn luyện và xây dựng một mạng neuron riêng 3.3.1 Các giai đoạn của MTCNN. 20 GVHD : TS. Trần Thị Minh Hạnh
- Xem thêm -

Tài liệu liên quan