6 VGG Dữ liệu hình ảnh khuôn mặt của đại học Oxford 8 CONV Lớp nơron tích chập 9 VF2SENet Mạng nơron nhận dạng khuôn mặt sử dụng mô hình học chuyển tiếp... Hình 1.1- Quá trình chung củ
Trang 1BÁO CÁO TỔNG KẾT
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP TRƯỜNG
NHẬN DẠNG KHUÔN MẶT DỰA TRÊN PHƯƠNG PHÁP HỌC SÂU CỦA MẠNG NƠRON VÀ ỨNG DỤNG ĐỊNH DANH CÁN BỘ, GIẢNG VIÊN TẠI TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI
Trang 2THAM GIA NGHIÊN CỨU ĐỀ TÀI
VÀ ĐƠN VỊ PHỐI HỢP
1 Danh sách thành viên tham gia nghiên cứu đề tài
ThS Trần Tiến Dũng
ThS Dương Chí Bằng
ThS Lâm Văn Ân
ThS Vương Thu Trang
ThS Nguyễn Văn Thành
2 Các đơn vị phối hợp
Khoa Công nghệ Thông tin, Trung tâm Công nghệ & Học liệu,
Bộ phận truyền thông của Trường Đại học Mở Hà Nội
Trang 3DANH MỤC BẢNG BIỂU & HÌNH VẼ i
DANH MỤC TỪ VIẾT TẮT iii
PHẦN I: MỞ ĐẦU 1
I.1 Tính cấp thiết của đề tài 1
I.2 Tình hình nghiên cứu 2
I.3 Mục đích nghiên cứu 9
I.4 Đối tượng và phạm vi nghiên cứu 9
I.5 Phương pháp nghiên cứu 10
PHẦN II: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 11
Chương 1 Mạng nơron nhân tạo và phương pháp nhận dạng khuôn mặt 11
1.1 Mạng nơron nhân tạo 11
1.2 Phương pháp nhận dạng khuôn mặt 19
Chương 2 Mô hình mạng nơron tích chập nhận dạng khuôn mặt dựa trên phương pháp học chuyển tiếp 25
2.1 Mạng nơron tích chập cho nhận dạng khuôn mặt 25
2.2 Phương pháp học chuyển tiếp đối với mô hình CNN 31
2.3 Mô hình nhận dạng khuôn mặt dựa trên VF2SENet 36
Chương 3 Xây dựng phần mềm nhận dạng khuôn mặt và thử nghiệm 47
3.1 Công cụ phát triển ứng dụng 47
3.2 Một số mô-đun chính của phần mềm 50
3.3 Thử nghiệm và đánh giá 55
PHẦN III: KẾT LUẬN & KIẾN NGHỊ 64
III.1 Kết luận 64
III.2 Kiến nghị 65
TÀI LIỆU THAM KHẢO 66
Trang 4i
DANH MỤC BẢNG BIỂU & HÌNH VẼ
Hình 1.1- Quá trình chung của nhận dạng khuôn mặt 3
Hình 1.2- Minh hoạ về kiến trúc của một mạng nơron tích chập 4
Hình 2.1 Cấu trúc nơron sinh học 11
Hình 2.2 Minh hoạ cấu trúc của một ANN 12
Hình 2.3 Quá trình xửa lý của một nơron trong ANN 12
Hình 2.4 Một số hàm kích hoạt (a) Tanh, (b) ReLU, (c) Sigmoid 13
Hình 2.5 Cấu trúc một ANN kiểu mạng truyền tới 3 lớp 14
Hình 2.6 Minh hoạ cấu trúc ANN có phản hồi hay hồi quy 15
Hình 2.7 Mô hình mạng Hopfield với 3 nơron 16
Hình 2.8 Bộ cơ sở dữ liệu chữ số viết tay trong MNIST 17
Hình 2.9 AlphaGo đánh thắng kiện tướng cờ vây Lee Sedol 19
Hình 2.10 Cấu trúc chung của hệ thống nhận dạng khuôn mặt 20
Hình 2.11 Minh hoạ phương pháp PCA rút gọn số chiều đặc trưng 22
Hình 2.12 Ví dụ minh họa phép biến đổi trong LDA 23
Hình 2.13 Mô hình lưới của các khuôn mặt khác nhau 24
Hình 2.1 Minh hoạ mô hình mạng nơron tích chập (CNN) 25
Hình 2.2 Minh hoạ tính toán phép tích chập 26
Hình 2.3: Kết quả của ba bộ lọc điển hình trên ảnh đầu vào 26
Hình 2.4 Minh hoạ tích chập 3 chiều trên ảnh màu (RGB) 27
Hình 2.5 Một số hàm kích hoạt thường dùng trong CNN 27
Hình 2.6 Phép max pooling với mặt nạ 2 x 2 28
Hình 2.7 Hàm softmax tính xác suất đầu ra phân lớp 28
Hình 2.8 Ví dụ về một cấu trúc mô hình CNN 29
Hình 2.9 Cách tính hàm hao tổn dưới dạng Cross-Entropy 30
Hình 2.10 Biểu đồ biến đổi của hàm Loss đối với hệ số học 31
Hình 2.11 Minh hoạ quá trình học chuyển tiếp 32
Hình 2.12 Phương pháp chuyển giao mô hình trong học chuyển tiếp 33
Hình 2.13 Một số mô hình CNN với kiến trúc hiện đại 34
Hình 2.14 Kiến trúc của mô hình VGG19 34
Hình 2.15 Cấu trúc mô-đun “inception” và khối “residual” 35
Trang 5ii
Hình 2.16 Nguyên lý của khối Squeeze-and-Excited (SE) 35
Hình 2.17 Kiến trúc của mô hình VF2SENet 36
Hình 2.18 Cấu trúc khối SENet trong kiến trúc của VF2SENet 37
Hình 2.19 Cấu trúc khối RES trong kiến trúc của VF2SENet 38
Hình 2.20 Biểu đồ khoảng cách intra-class và inter-class của các ảnh 40
Hình 2.21 Sơ đồ phân lớp dựa trên độ đo khoảng cách 40
Hình 2.22 Bộ ba ảnh thuộc nhóm bị phân lớp sai của ATT(a) và Yale(b) 41 Hình 2.23 Mô hình VST nhận dạng khuôn mặt dựa trên VF2SENet 41
Hình 2.24 Quy trình ứng dụng nhận dạng khuôn mặt định danh cán bộ 42
Hình 2.25 Biểu đồ phân bố số lượng ảnh theo người của LFW 43
Hình 2.26 Biểu đồ phân bố số lượng người theo số lượng hình ảnh của LFW 44
Hình 2.27 Hình ảnh một số người trong dữ liệu LFW 44
Hình 2.28 Quy trình thu thập và tiền xử lý dữ liệu huấn luyện 45
Hình 2.29 Khoảng cách giữa hình ảnh thu nhỏ với hình ảnh gốc 46
Hình 3.1 Sơ đồ liên kết giữa các thư viện và nền tảng phát triển 50
Hình 3.2 Cấu trúc thư mục chứa dữ liệu hình ảnh cho huấn luyện 52
Hình 3.3 Phân bố số lượng ảnh theo từng người 58
Hình 3.4 Phân bố theo khoảng cách min(inter-class) và max(intra-class) 59
Hình 3.5 Phân bố theo khoảng cách trung bình giữa các ảnh của các lớp 60
Hình 3.6 Bộ ba hình ảnh khuôn mặt nhận dạng sai 61
Hình 3.7 (c) và (d) là kết quả nhận dạng khi áp dụng trên các bức ảnh chụp thực tế Trường hợp ảnh khuôn mặt được phát hiện quá nhỏ (dưới ngưỡng kích thước 7070) thì không thực hiện nhận dạng mà chỉ hiển thị kích thước của ảnh khuôn mặt đó, trong hình (c) có một và (d) có hai người 61
Hình 3.7 (e) và (f) là kết quả nhận dạng khi tương ứng với hai hình (c) và (d) nhưng đặt ngưỡng kích thước nhận dạng xuống 4545 và ngưỡng độ tin cậy khi nhận dạng là 0.7 Như vậy, các khuôn mặt trong hai hình này đều được nhận dạng và cho kết quả đúng 62
Trang 66 VGG Dữ liệu hình ảnh khuôn mặt của đại học Oxford
8 CONV Lớp nơron tích chập
9 VF2SENet Mạng nơron nhận dạng khuôn mặt sử dụng mô hình học
chuyển tiếp
Trang 71
PHẦN I: MỞ ĐẦU
I.1 Tính cấp thiết của đề tài
Ngày nay, với sự phát triển của khoa học, việc ứng dụng công nghệ sinh trắc học để định danh là phương pháp tự động nhận biết và định danh cá nhân với cơ
sở của nó là các đặc điểm sinh học hoặc hành vi của con người Công nghệ nhận dạng dựa trên sinh trắc học là một quá trình tương tự như quá trình mà con người thường nhận dạng người khác về các khía cạnh thể chất, giọng nói của họ hoặc
cử chỉ, dáng điệu, cách họ đi bộ, v.v Trong khi một số phương pháp sinh trắc học yêu cầu hành động từ người dùng, phương pháp nhận dạng khuôn mặt có thể được sử dụng một cách thụ động, tức là hệ thống sẽ tự động nhận dạng và xác định danh tính dựa trên khuôn mặt được chụp tự động từ thiết bị ghi hình
Các nghiên cứu hiện nay đang tập trung mạnh vào ứng dụng công nghệ nhận dạng khuôn mặt dựa trên mạng nơron tích chập (CNN) để xác thực danh tính của con người Đặc biệt, công nghệ này đã được chứng minh rất thành công trong các lĩnh vực ứng dụng của rô-bốt và tự động hoá, công nghệ nhận dạng này đang được các hãng lớn trên thế giới áp dụng vào các sản phẩm của mình như Google, Facebook, Microsoft,… Việc nghiên cứu ứng dụng CNN trong bài toán nhận dạng khuôn mặt có nhiều kết quả nghiên cứu và các sản phẩm ứng dụng chuyên biệt đã được đưa ra thương mại hoá, có nhiều ứng dụng rất hữu ích và thiết thực trong thực tiễn Bên cạnh đó, thực tiễn cũng đặt ra rất nhiều các bài toán đòi hỏi ứng dụng có hiệu quả như định danh và giám sát người học trên hệ thống học tập
và thi trực tuyến, giám sát vào ra cổng của một cơ quan, đơn vị, hay giám sát an ninh tại các địa điểm nhạy cảm,…
Tuy nhiên, rất khó để có một hệ thống sinh trắc học hoàn hảo phù hợp với tất
cả các nhu cầu ứng dụng Tất cả các hệ thống được biết đều có những ưu điểm
và nhược điểm riêng của chúng Một vài nghiên cứu đã tập trung vào việc cải thiện bảo mật trong học tập trực tuyến bằng cách sử dụng các hệ thống sinh trắc học, nhưng một số hạn chế trong số đó đã giải quyết khi xác thực người học liên tục Các nhà nghiên cứu hiện đang tìm kiếm phương pháp xác định sinh trắc học tốt nhất sẽ giúp xác nhận danh tính của người học trong các bài toán ứng dụng
Hệ thống nhận dạng khuôn mặt rất thân thiện với con người vì chúng không yêu cầu tiếp xúc và không cần có phần cứng bổ sung (với điều kiện là hầu hết các máy tính và thiết bị đầu cuối hiện đều có camera) Quan trọng hơn, hệ thống
Trang 82
nhận dạng khuôn mặt có thể được sử dụng để xác thực liên tục cá nhân con người trong toàn bộ thời gian và trong phạm vi không gian yêu cầu
Tại Trường Đại học Mở Hà Nội hiện nay đã được trang bị hệ thống camera
an ninh để ghi lại hình ảnh (dưới dạng video) ở các vị trí quan trọng và tại hai cổng vào/ra cơ quan Hệ thống dữ liệu video của các camera này được lưu trữ trực tuyến là nguồn dữ liệu quan trọng để xây dựng cơ sở dữ liệu phục vụ cho huấn luyện mô hình mạng nơron Hơn nữa, việc giám sát vào ra cổng cơ quan làm việc nhằm đảm bảo an ninh, an toàn là rất cần thiết, không chỉ với Trường
ĐH Mở HN mà còn ở bất kỳ cơ quan nào khác Mặt khác, việc ghi nhận vào ra
cơ quan của cán bộ, giảng viên giúp cho sự tự giác của mọi người trong việc đến
cơ quan sẽ trở nên tốt hơn
Trong bài đề tài này, chúng tôi nghiên cứu phát triển một hệ thống xác thực, định danh và giám sát cá nhân con người Phương pháp tiếp cận của chúng tôi sử dụng những tiến bộ gần đây trong nhận dạng khuôn mặt dựa trên mạng nơron sâu (CNN) và tích hợp hệ thống xác thực này với hệ thống camera hiện nay của Nhà trường nhằm đảm bảo an ninh của cơ quan và ghi nhận thời gian có mặt ở
cơ quan hỗ trợ một phần tổng hợp, đánh giá quá trình làm việc của cán bộ, nhân viên
I.2 Tình hình nghiên cứu
a) Ngoài nước (phân tích, đánh giá tình hình nghiên cứu thuộc lĩnh vực của đề tài trên thế giới, liệt kê danh mục các công trình nghiên cứu, tài liệu có liên quan đến đề tài được trích dẫn khi đánh giá tổng quan)
Thị giác máy tính (computer vision) là một lĩnh vực nghiên cứu rất sôi động hiện nay, với các phương pháp dựa trên năng lực tính toán ngày càng mạnh mẽ của hệ thống máy tính với các bài toán ứng dụng thực tiễn có giá trị to lớn Phương pháp sinh trắc học để nhận dạng các yếu tố của con người được nghiên cứu mạnh mẽ và ứng dụng vào hệ thống nhận dạng trên cơ sở các đặc điểm thể chất hoặc hành vi của mỗi người Trong đó, nhận dạng khuôn mặt đã là một lĩnh vực nghiên cứu sôi động trong lĩnh vực nhận dạng mẫu và thị giác máy tính Khuôn mặt của mỗi người trong thế giới này có sự độc đáo và nét đặc trưng riêng biệt Đó có thể coi là bản sắc riêng của mỗi người Nhận dạng khuôn mặt
do đó có tính duy nhất nên có thể được sử dụng để xác thực danh tính và kiểm soát con người trong ứng dụng khác nhau [Ary18]
Nhận dạng khuôn mặt là sử dụng phương pháp sinh trắc học để thiết lập một định danh cá nhân dựa trên các đặc điểm khuôn mặt của mỗi người Quá trình nhận dạng khuôn mặt hoạt động bằng cách sử dụng một ứng dụng và thiết bị
Trang 93
máy tính chụp ảnh một khuôn mặt cá nhân (cũng có thể được lấy từ khung hình
từ một video) và so sánh nó với hình ảnh trong cơ sở dữ liệu được lưu trữ trước
đó (Hình 1.1) Trường hợp ảnh đầu vào (image input) gồm cả không gian có chứa khuôn mặt người muốn định danh thì chúng ta cần phát hiện vùng ảnh chỉ chứa khuôn mặt của người đó (face detection) Đây cũng là một bài toán được nghiên cứu sôi động [Def18] Ảnh khuôn mặt có thể được tiền xử lý (cân chỉnh chẳng hạn - face alignment) nhằm đảm bảo chất lượng cho nhận dạng Khuôn mặt của mỗi người được trích chọn và biểu diễn thông qua một véc-tơ đặc trưng (feature extraction) nhằm mô tả những đặc điểm riêng biệt của khuôn mặt của người đó và để so sánh với các khuôn mặt khác Việc so sánh khuôn mặt đầu vào với cơ sở dữ liệu các khuôn mặt đã được lưu trữ (existing database) trở thành việc tính toán mức độ gần nhau giữa các véc-tơ đặc trưng (feature matching), từ
đó tìm ra khuôn mặt giống nhất trong cơ sở dữ liệu Nếu mức độ gần nhất của khuôn mặt tìm được dưới một ngưỡng cho phép thì định danh người đó
Hình 1.1- Quá trình chung của nhận dạng khuôn mặt Trong những năm gần đây, sự phát triển mạnh mẽ của công nghệ học sâu (deep learning) với mạng nơron tích chập (convolutional neural network - CNN)
và được ứng dụng thành công trong nhiều bài toán thực tế [Yam18] CNN là một cấu trúc mạng nơron nhân tạo gồm ba loại lớp nơron (minh hoạ ở Hình 1.2): lớp nơron tích chập (convolution layer), lớp nơron gộp chung (pooling layer) và lớp nơron kết nối đầy đủ (fully connection layer) Hai lớp nơron đầu (tích chập và gộp chung) thực hiện vai trò trích chọn đặc trưng của ảnh khuôn mặt, trong khi lớp thứ ba (kết nối đầy đủ) thực hiện vai trò ánh xạ các đặc trưng được trích chọn thành đầu ra cuối cùng, tức là định danh của người được nhận dạng Lớp nơron tích chập đóng vai trò quan trọng trong CNN, bao gồm một chồng các phép toán tích chập, là một loại phép tuyến tính chuyên biệt Lớp nơron gộp
Face alignment
Feature extraction
Feature matching
Existing database of faces
Preprocessing stage
Recognition stage
Trang 104
chung đóng vai trò làm giảm số chiều của không gian đặc trưng được trích chọn (hay còn gọi là subsampling) nhằm tăng tốc độ xử lý của quá trình nhận dạng Quá trình học mạng nơron là điều chỉnh các tham số học của mạng (trainable parameters) gồm các trọng số liên kết của lớp nơron tích chập và lớp nơron kết nối đầy đủ Thuật toán học điển hình của mạng nơron dạng này là lan truyền ngược sai số với mục tiêu giảm thiểu sai số kết quả nhận dạng của mạng Ngoài
ra, mạng còn có các tham số cần phải thiết lập trước khi áp dụng như kích thước của nhân trong phép tích chập, độ trượt của phép tích chập, hàm kích hoạt, phương pháp tính của lớp nơron gộp chung và các tham số khác được đề cập chi tiết trong [Yam18]
Hình 1.2- Minh hoạ về kiến trúc của một mạng nơron tích chập
Hiện nay có nhiều nghiên cứu ứng dụng CNN trong nhận dạng khuôn mặt với các cải tiến ngày một hiệu quả và chất lượng cao hơn, ứng dụng đa dạng vào các bài toán thực tế Các tác giả trong [Kam17] phân tích tính hiệu quả của CNN
so với ba phương pháp nhận dạng khuôn mặt kinh điển bao gồm phân tích thành phần chính (PCA), mô hình biểu đồ mẫu nhị phân cục bộ (LBPH) và láng giềng gần nhất (KNN) Thử nghiệm trên cơ sở dữ liệu ORL cho thấy LBPH đạt kết quả tốt hơn PCA và KNN, nhưng đối với CNN được đề xuất cho độ chính xác nhận dạng tốt nhất (98,3% so với 3 phương pháp kia chưa đến 90%) Qua đây phần nào khẳng định phương pháp dựa trên CNN vượt trội hơn các phương pháp khác
Trong [Phi15] đã phân tích đánh giá với các kiến trúc CNN cải tiến khác nhau cho nhận dạng khuôn mặt Thứ nhất là kiến trúc chứa 22 lớp nơron với 140 triệu tham số học cho mỗi ảnh Dạng kiến trúc thứ hai dựa trên mô hình mạng Interception của GoogleNet gồm các phiên bản với kích thước đầu vào khác nhau nhằm làm giảm không gian tham số học của mạng Các kiến trúc này được ứng dụng vào các phạm vi khác nhau, trong khi kiến trúc CNN có kích thước lớn cho kết quả cao và phù hợp với ứng dụng trên các máy tính lớn thì với CNN nhỏ
Trang 115
hoặc rất nhỏ sẽ phù hợp với các ứng dụng trên thiết bị di động cầm tay nhưng vẫn đảm bảo kết quả chấp nhận được Nhằm tăng hiệu quả cao hơn, các tác giả trong [Par15] đề xuất một kiến trúc CNN với quy mô “rất sâu” gồm 11 khối với
37 lớp nơron, 8 khối đầu đóng vai trò trích chọn đặc trưng và 3 khối sau thực hiện chức năng phân lớp để nhận dạng Kiến trúc CNN này được chạy trên quy
mô dữ liệu học mạng rất lớn (LFW và YTF với hàng nghìn định danh và hàng triệu bức ảnh) và cho kết quả (98.95% trên LFW và 97.3% trên YTF) tốt hơn so với các mô hình CNN khác Các tác giả trong [Def18] đã đề xuất một hệ thống mạng thần kinh tích chập cho nhận diện khuôn mặt với sự cải tiến dựa trên kiến trúc CNN của VGG (Visual Geometry Group - University of Oxford) Đó là sử dụng mô-đun CReLu (hàm kích hoạt của nơron) thay cho mô-đun hàm kích hoạt (ReLu) thông thường, mô-đun CReLu thực hiện ghép nối một ReLu chỉ chọn phần dương với một ReLu chỉ chọn phần âm cho sự kích hoạt Dựa trên mô hình
đề xuất này, các tác giả đã xây dựng một hệ thống nhận dạng khuôn mặt theo thời gian thực với một mạng nơron tích chập nhiều lớp (“rất sâu”) và phân tích thử nghiệm cho kết quả tốt hơn so với kết quả thu được khi sử dụng mô hình ban đầu
Trong các phương pháp nhận dạng khuôn mặt hiện nay dựa trên mạng nơron tích chập (CNN), một cặp khuôn mặt so sánh được độc lập đưa vào CNN để trích chọn đặc trưng Đối với cả hai khuôn mặt, các phép nhân (kernels) giống nhau của nơron tích chập được áp dụng và do đó biểu diễn của một khuôn mặt được cố định bất kể nó được so sánh với ai Tuy nhiên, đối với con người chúng
ta, thường tập trung vào các đặc điểm khác nhau của khuôn mặt khi so sánh nó với những người khác Vì vậy, [Han18] đã đề xuất một cấu trúc CNN mới gọi là tích chập tương phản, đặc biệt tập trung vào các đặc điểm khác biệt giữa hai khuôn mặt để so sánh, nghĩa là các đặc điểm tương phản giữa chúng Kết quả thử nghiệm cho thấy rằng phép tích chập tương phản được đề xuất này cải thiện đáng kể so với CNN thông thường và hứa hẹn tính ưu việt trong ứng dụng Phép tích chập tương phản có lợi thế nhờ vào việc sinh tự động kết quả tích chập dựa trên cặp khuôn mặt được đưa vào tính toán Phép tích chập tương phản này có thể được kết hợp vào bất kỳ loại kiến trúc CNN nào
[4] [Abu18] M A Abuzneid, A Mahmood, “Enhanced Human Face Recognition Using LBPH Descriptor, Multi-KNN, and BPNN”, IEEE Access, Vol 6, pp.20641-20651, 2018
[5] [Ami16] Alexander Amigud et al., “A Behavioral Biometrics Based and Machine Learning Aided Framework for Academic Integrity in E-Assessment”,
Trang 12[7] [Ary18] Shraddha Arya, Arpit Agrawal, “Face Recognition with Partial Face Recognition and Convolutional Neural Network”, International Journal of Advanced Research in Computer Engineering & Technology (IJARCET), Vol.7, Iss.1, pp.91-94, ISSN: 2278 – 1323, 2018
[8] [Cao18] Qiong Cao, Li Shen, Weidi Xie, Omkar M Parkhi and Andrew Zisserman, “VGGFace2 - A dataset for recognising faces across pose and age”, IEEE Conference on Automatic Face and Gesture Recognition, http://www.robots.ox.ac.uk/ ∼vgg/data/vgg face2/, 2018
[9] [Def18] Lionel Landry S Deffo, Elie T Fute, Emmanuel Tonye,
“CNNSFR: A Convolutional Neural Network System for Face Detection and Recognition”, International Journal of Advanced Computer Science and Applications, Vol 9, No 12, pp.240-244, 2018
[10] [Der18] Ekberjan Derman and Albert Ali Salah, “Continuous Time Vehicle Driver Authentication Using Convolutional Neural Network Based Face Recognition”, 13th IEEE International Conference on Automatic Face & Gesture Recognition, 2018
Real-[11] [Fay14] Ayham Fayyoumi, Anis Zarrad, “Novel Solution Based on Face Recognition to Address Identity Theft and Cheating in Online Examination Systems”, Advances in Internet of Things, 4, pp.5-12, 2014
[12] [Gui17] Francisco D Guillen-Gamez, “Biometrics and education: a review about facial authentication software for the identification and verification
of students who use virtual learning platform (LMS)”, Advances in Educational Technology and Psychology, pp.1-8, Clausius Scientific Press, Canada, 2017 [13] [Han18] Chunrui Han, Shiguang Shan, Meina Kan, Shuzhe Wu, and Xilin Chen, “Face Recognition with Contrastive Convolution”, European Conference on Computer Vision: Computer Vision – ECCV, pp.120-135, 2018 [14] [Kam17] Patrik Kamencay, Miroslav Benco, Tomas Mizdos and Roman Radil, “A New Method for Face Recognition Using Convolutional Neural Network”, Digital Image Processing and Computer Graphics, Vol 15,
No 4, pp.663-672, 2017
Trang 137
[15] [Lop15] Andre Teixeira Lopes, Edilson de Aguiar, Thiago Santos, “A Facial Expression Recognition System Using Convolutional Networks”, 28th SIBGRAPI Conference on Graphics, Patterns and Images,
Oliveira-2015
[16] [Moh18] Hoda Mohammadzade, Amirhossein Sayyafan, Benyamin Ghojogh, “Pixel-Level Alignment of Facial Images for High Accuracy Recognition Using Ensemble of Patches”, Journal of the Optical Society of America A 35(7), 2018
[17] [Par15] Omkar M Parkhi, Andrea Vedaldi, Andrew Zisserman, “Deep Face Recognition”, University of Oxford, 2015
[18] [Phi15] James Philbin, Florian Schroff, Dmitry Kalenichenko,
“FaceNet: A Unified Embedding for Face Recognition and Clustering”, IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015
[19] [Roh19] Kalachugari Rohini et al., “Face Recognition Based Attendance System For CMR College of Engineering and Technology”, International Journal of Innovative Technology and Exploring Engineering (IJITEE) ISSN: 2278-3075, Volume-8, Issue-4S2, pp.127-129, 2019
[20] [San18] Kevin Santoso, Gede Putra Kusuma, Kevin Santoso, Gede Putra Kusuma, “Face Recognition Using Modified OpenFace”, 3rd International Conference on Computer Science and Computational Intelligence, Procedia Computer Science, No.135, pp.510–517, 2018
[21] [Saw18] Sonali Sawardekar, Sowmiya Raksha Naik, “Facial Expression Recognition using Efficient LBP and CNN”, International Research Journal of Engineering and Technology (IRJET), e-ISSN: 2395-0056, Volume:
05, Issue: 06, p-ISSN: 2395-0072, pp.2273-2277, 2018
[22] [Sun17] Ai Sun, Ying-Jian Li, Yueh-Min Huang and Qiong Li, “Using Facial Expression to Detect Emotion in E-learning System: A Deep Learning Method”, International Symposium on Emerging Technologies for Education: Emerging Technologies for Education, pp 446-455, 2017
[23] [Sya14] R Syafeeza et al., “Convolutional Neural Network for Face Recognition with Pose and Illumination Variation”, International Journal of Engineering and Technology (IJET), pp.44-57, 2014
Trang 148
b) Trong nước (phân tích, đánh giá tình hình nghiên cứu thuộc lĩnh vực của đề tài ở Việt Nam, liệt kê danh mục các công trình nghiên cứu, tài liệu có liên quan đến đề tài được trích dẫn khi đánh giá tổng quan)
Lĩnh vực nhận dạng nói chung và nhận dạng khuôn mặt nói riêng cũng như công nghệ mạng nơron tích chập (CNN) đã được nghiên cứu rộng rãi trên thế giới, và tại Việt Nam đã có một số nhóm tác giả có phát triển các phương pháp nhận dạng khuôn mặt trong các công bố Trong đó, các tác giả trong [zKhang17]
sử dụng phương pháp trích chọn đặc trưng từ ảnh khuôn mặt dựa trên GIST của Oliva & Torralba (2001) và áp dụng cơ chế học máy SVM để phân lớp dựa trên đặc trưng đã chọn Trong [zPhuc17] lại nghiên cứu về CNN và ứng dụng vào bài toán tìm kiếm hình ảnh bằng nội dung và ngữ nghĩa Ở đây, các tác giả đã xây dựng một cây (dạng Ontology) để biểu diễn thông tin ngữ nghĩa chứa bên trong hình ảnh, mỗi ảnh được gán một nhãn ngữ nghĩa Do đó, mỗi ảnh chỉ được mô tả bởi một ngữ nghĩa được định danh mà chưa mô tả nhiều ngữ nghĩa nếu nội dung ảnh đa dạng hơn Các tác giả trong [zTan17] đã sử dụng mạng nơron học sâu FaceNet để trích chọn đặc trưng của ảnh, sau đó áp dụng vào SVM để phân lớp cho ảnh dựa trên các đặc trưng này Kết quả thử nghiệm ở các nghiên cứu này bước đầu là khả quan và có tiềm năng lớn đối với CNN
[1] [zKhang17 Phạm Nguy n Khang, Trần Nguyễn Minh Thư, Đỗ Thanh Nghị, “Điểm danh bằng mặt người với đặc trưng GIST v máy học v c-tơ hỗ trợ”, K yếu Hội nghị Quốc gia lần thứ X về Nghi n cứu cơ bản v ứng dụng Công nghệ thông tin (FAIR) - Đ N ng, pp.156-164, 2017
[2] [zPhuc17 Lư Minh Ph c v Trần Công n, “Tìm kiếm ảnh theo nội dung v ngữ nghĩa”, Tạp chí Khoa học Trường Đại học Cần Thơ Số chuy n đề: Công nghệ thông tin, pp.58-64, 2017
[3] [zTan17] Nguyễn Thị Thanh Tân, Huỳnh Văn Huy, Ngô Quốc Tạo,
“Phương pháp nhận dạng khuôn mặt từ webcam”, K yếu Hội thảo quốc gia lần thứ XX: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông - Quy Nhơn, pp.285-291, 2017
c) Danh mục các công trình đã công bố thuộc lĩnh vực của đề tài của chủ nhiệm
và những thành viên tham gia nghiên cứu (họ và tên tác giả; bài báo; ấn phẩm; các yếu tố về xuất bản)
1 Dương Thăng Long (cn), Trần Tiến Dũng, Mai Thị Thúy Hà, Nghiên cứu
độ đo tương đồng văn bản trong tiếng Việt và ứng dụng hỗ trợ đánh giá việc sao chép bài điện tử, Đề tài NCKH cấp cơ sở tại Viện Đại học Mở Hà Nội, 2014
Trang 159
2 Dương Thăng Long, Trương Tiến Tùng, Trần Tiến Dũng, Phương pháp đánh giá độ tương tự văn bản tiếng Việt, Tạp chí khoa học Đại học Mở Hà Nội,
Số 14/Tháng 10-2015, tr 70-84, 2015
3 Dương Thăng Long, Phương pháp xếp lịch học tín chỉ với ràng buộc tham số
mờ gia tử dựa trên giải thuật di truyền, Tạp chí khoa học Đại học Mở Hà Nội, Số 15/Tháng 12-2015, tr 1-13, 2015
4 Dương Thăng Long, A genetic algorithm-based method for university course timetabling problems and applied in Hanoi Open University, Journal of Computer Science and Cybernetics, vol 32, no 4, pages 285-301, 2016
5 Dương Thăng Long, An enhanced genetic algorithm based courses timetabling method for maximal enrollments using maximum matching on bipartite graphs, Vietnam Journal of Science and Technology 57 (6) (2019) 734-748, 2019
I.3 Mục đích nghiên cứu
Xây dựng phương pháp và mô hình cho bài toán xử lý hình ảnh khuôn mặt con người và nhận dạng khuôn mặt dựa trên mạng nơron tích chập (CNN) Xây dựng công cụ (phần mềm) tích hợp hỗ trợ tự động giám sát và ghi nhận quá trình vào ra của cán bộ, nhân viên dựa trên cơ sở tích hợp với hệ thống camera giám sát của Nhà trường Thử nghiệm và đánh giá sản phẩm phần mềm được xây dựng trên quy mô và phạm vi tại cổng vào/ra của Nhà trường
I.4 Đối tƣợng và phạm vi nghiên cứu
Nghiên cứu các kiến trúc, mô hình mạng nơron tích chập (CNN) trong ứng dụng cho bài toán nhận dạng khuôn mặt, các yếu tố tác động và ảnh hưởng của
mô hình đến chất lượng nhận dạng khuôn mặt
Nghiên cứu phương pháp trích xuất và thu thập, tiền xử lý dữ liệu hình ảnh cho nhận dạng khuôn mặt từ các hệ thống camera ghi hình, tạo cơ sở dữ liệu hình ảnh phục vụ cho bài toán huấn luyện mô hình mạng nơron
Nghiên cứu phương pháp học chuyển tiếp (transfer learning) trong lĩnh vực học máy (machine learning) và áp dụng đối với mô hình CNN hiện đại cho bài toán nhận dạng khuôn mặt
Thiết kế và xây dựng phần mềm thu thập và tiền xử lý dữ liệu hình ảnh, huấn luyện mô hình mạng CNN theo phương pháp học chuyển tiếp và ứng dụng cho nhận dạng khuôn mặt, thử nghiệm tại cổng vào ra của nhà trường
Trang 1610
I.5 Phương pháp nghiên cứu
Nghiên cứu lý thuyết về các mô hình và phương pháp luận dựa trên việc khảo cứu các tài liệu, công trình có liên quan đến phạm vi đề tài nhằm xây dựng
mô hình logic cho mục tiêu đề tài
Phần thực nghiệm là thiết kế và xây dựng một hệ thống công cụ nhằm thu thập, tiền xử lý dữ liệu hình ảnh và huấn luyện mô hình mạng CNN dựa trên các kiến trúc hiện đại để khai thác theo phương pháp học chuyển tiếp và cung cấp khả năng nhận dạng, định danh cán bộ vào ra cơ quan Thử nghiệm tại cổng vào
ra của nhà trường
Trang 1711
PHẦN II: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU
Chương 1 Mạng nơron nhân tạo và phương pháp nhận dạng khuôn mặt
1.1 Mạng nơron nhân tạo
1.1.1 Giới thiệu mạng nơron nhân tạo
Mạng neural nhân tạo (Artificial Neural Network – ANN) là mô hình xử lý thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật hay còn gọi là mạng neural sinh học Mạng nơron sinh học có một cấu trúc phức tạp với một mạng lưới khoảng 100 t tế bào thần kinh hay còn gọi là nơron và
100 nghìn t liên kết (synap) giữa các nơron Chúng có cấu trúc và chức năng tương đối đồng nhất Các nhà nghiên cứu sinh học về bộ não con người đã đưa
ra kết luận rằng các nơron là đơn vị đảm nhiệm những chức năng nhất định trong
hệ thần kinh bao gồm não, tu sống và các dây thần kinh Hình 2.1 chỉ ra cấu tạo của hệ thống tế bào sinh học này
Hình 2.1 Cấu trúc nơron sinh học Bằng việc mô phỏng mạng nơron sinh học, ANN có cấu tạo từ số lượng lớn các nơron (neural) được kết nối với nhau để xử lý thông tin ANN hoạt động dựa trên nguyên lý của bộ não con người, được học bởi kinh nghiệm thông qua huấn luyện, có khả năng lưu giữ những kinh nghiệm tri thức và sử dụng những tri thức
đó trong việc dự đoán các dữ liệu chưa biết ANN được giới thiệu năm 1943 bởi nhà thần kinh học Warren McCulloch và nhà logic học Walter Pits
Một ANN thông dụng gồm ba lớp đầu vào (input layer), các lớp ẩn (hidden layers) và cuối cùng là lớp đầu ra (output layer) được mô tả trong Hình 2.2, trong đó, lớp ẩn gồm nhiều neural nhận dữ liệu đầu vào từ các lớp trước đó để
xử lý và chuyển đổi các dữ liệu này cho các lớp tiếp theo Một ANN có thể có nhiều lớp ẩn hoặc không có lớp ẩn
Trang 1812
Mỗi nơron (neural) trong mạng được gọi là nút, hay node Chúng nhận các
dữ liệu đầu vào từ các neural có liên kết đến và xử lý trả ra một kết quả duy nhất Kết quả đầu ra của nơron này làm dữ liệu đầu vào của các neural khác thông qua các liên kết giữa nó với các nơron khác
Hình 2.2 Minh hoạ cấu trúc của một ANN Quá trình xử lý thông tin của một neural trong ANN Trong đó, input là dữ liệu đầu vào, output là kết quả đầu ra Trọng số liên kết hay trọng số (connection weights hay gọi tắt là weights) là thành phần rất quan trọng, thể hiện mức độ quan trọng đối với quá trình xử lý dữ liệu từ nơron này sang nơron khác Quá trình học của ANN thực ra là quá trình điều chỉnh trọng số của các dữ liệu đầu vào
Hình 2.3 Quá trình xửa lý của một nơron trong ANN
Trang 1913
Tại một nơron, hàm tổng đầu vào () là tổng của tích giữa trọng số liên kết
và dữ liệu vào của nơron, chẳng hạn tại nơron i,
Hàm kích hoạt (activation) hay hàm chuyển đổi để tính toán đầu ra của một neural sau đó chuyển đến nơron tiếp theo trong mạng Có nhiều dạng hàm kích hoạt được ứng dụng trong mạng nơron nhân tạo, dưới dạng tuyến tính hoặc phi tuyến, tuỳ theo đặc điểm của mô hình ứng dụng mạng nơron Một số hàm kích hoạt phi tuyến thường dùng là ReLU (Rectified Linear Unit), sigmoid, logistic, Gaussian, tanh, softmax (Hình 2.4)
(a) (b) (c)
Hình 2.4 Một số hàm kích hoạt (a) Tanh, (b) ReLU, (c) Sigmoid
Kết quả xử lý đầu ra hàm tổng của neural đôi khi quá lớn, hàm kích hoạt thường dùng để xử lý đầu ra này trước khi chuyển đến lớp tiếp theo Đôi khi thay vì sử dụng hàm kích hoạt thông thường, có thể sử dụng giá trị ngưỡng để kiểm soát đầu
ra của neural Nếu đầu ra của một neural nhỏ hơn ngưỡng thì sẽ không được chuyển đến lớp tiếp theo
Mạng nơron nhân tạo hiện chỉ dừng lại sự mô phỏng hết sức đơn giản cấu trúc của mạng nơron sinh học Tuy nhiên, giữa mạng nơron nhân tạo và mạng nơron sinh học có 3 điểm chung là:
- Mạng được xây dựng bằng các phần tử tính toán đơn giản liên kết lại với nhau một cách phức tạp và hoạt động theo nguyên tắc song song
- Chức năng của mạng được xác định qua cấu trúc mạng, quá trình xử lý bên trong các phần tử và mức độ liên kết (trọng số) giữa các phần tử
- Mức độ liên kết (trọng số) giữa các phần tử được xác định thông qua quá trình học của mạng (hay còn gọi là quá trình huấn luyện mạng)
Điểm khác nhau cơ bản giữa mạng nơron nhân tạo và mạng nơron sinh học
là ở tốc độ tính toán, độ phức tạp và tính song song Tuy xét về tốc độ xử lý của các máy tính hiện đại là cao hơn rất nhiều so với tốc độ xử lý của não bộ con người nhưng bộ não lại có thể đồng thời kích hoạt toàn bộ các nơron để làm nhiều công việc khác nhau Điều này mạng nơron nhân tạo không thể thực hiện được Với sự phát triển nhanh chóng của khoa học tính toán như hiện nay cùng
Trang 201.1.2 Một số mô hình của mạng nơron nhân tạo
Như đã nêu ở phần trên, căn cứ vào một trong hai đặc điểm chính của mạng nơron là cấu trúc liên kết giữa các nơron Thông thường trong cấu trúc liên kết nơron của mạng được chia thành các lớp nơron (layers), chúng ta có thể xem xét một vài mô hình thông dụng như sau
- Mạng truyền tới đa lớp (feedforward network) khi các nơron được xếp thành lớp theo thứ tự, các liên kết là giữa các nơron lớp của các lớp và không tồn tại liên kết giữa các neural thuộc cùng một lớp (Hình 2.5) Ngoài ra, mỗi nơron
có thể có một liên kết ngưỡng (bias) để tăng cường độ kích hoạt cho nơron đó Đầu ra mỗi nơron ( ) trong mạng được tính toán như công thức (2.1), trong đó
chỉ số l thể hiện lớp nơron thứ l, i là nơron thứ i trong lớp l, l đầu ra của
nơron j ở lớp l-1 được làn truyền đến nơron i, là trọng số liên kết giữa nơron i lớp l v nơron j lớp l-1, hàm kích hoạt và độ lệch của nơron
Hình 2.5 Cấu trúc một ANN kiểu mạng truyền tới 3 lớp
Trang 21bị hạn chế hơn rất nhiều nhưng chúng được kết hợp với các loại mạng khác để tạo thành các mạng mới có nhiều hữu ích
- Mạng có phản hồi (feedback network) và mạng hồi quy (recurrent network
- RNN) là cấu trúc mạng có tồn tại liên kết giữa đầu ra của nơron ngược trở lại làm đầu vào của nơron đó hoặc nơron lớp trước (Hình 2.6) Theo đó, đầu ra tại thời điểm trước của nơron làm đầu vào cho thời điểm sau trong quá trình xử lý của mạng Mạng này thường gắn với việc xử lý dữ liệu theo chuỗi thời gian (time series), chẳng hạn như bài toán dự báo thời tiết, không chỉ phục thuộc các yếu tố tại thời điểm dự báo mà còn phụ thuộc vào kết quả dự báo các lần trước
Hình 2.6 Minh hoạ cấu trúc ANN có phản hồi hay hồi quy
RNN là rất mạnh mẽ, bởi vì chúng kết hợp 2 đặc tính: (1) là trạng thái ẩn phân tán cho phép chúng lưu trữ nhiều thông tin về quá khứ một cách hiệu quả;
và (2) là cơ chế động và phi tuyến tính cho phép họ cập nhật trạng thái ẩn của mình theo những cách phức tạp Với một số lượng đủ nơron và thời gian, RNN
có thể tính toán được bất cứ thứ gì mà bằng máy tính có thể xử lý Vì vậy RNN
có thể thể hiện những loại hành vi như dao động, giải quyết điểm thu hút, hoặc
cư xử dưới dạng như một hỗn loạn Và chúng có khả năng học cách thực hiện rất nhiều chương trình nhỏ mà mỗi chương trình nắm bắt một khối kiến thức và chạy song song, tương tác để tạo ra các hiệu ứng rất phức tạp
Trang 2216
Tuy nhiên, có một trở ngại lớn với RNN là vấn đề suy biến trong quá trình học, tùy thuộc vào hàm kích hoạt được sử dụng, thông tin có thể nhanh chóng bị mất mát theo thời gian Về nguyên tắc, các RNN có thể được sử dụng trong nhiều lĩnh vực vì hầu hết các dạng dữ liệu thực tế hiếm khi kèm theo dòng thời gian (nghĩa là không giống như âm thanh hoặc video) mà chỉ có thể được biểu diễn dưới dạng chuỗi tuần tự RNN thường được sử dụng như là các mô hình bộ nhớ ngắn hạn hoặc dài hạn (Long/Short Term Memory) để giải quyết các bài toán ứng dụng thực tiễn Mạng Hopfield là một kiến trúc điển hình cho dạng thức này (Hình 2.7)
Hình 2.7 Mô hình mạng Hopfield với 3 nơron Mạng nơron nhân tạo thích hợp với các ứng dụng như so sánh và phân loại mẫu, dự báo và điều khiển Dưới đây là một số lĩnh vực ứng dụng của công nghệ mạng nơron:
- Không gian vũ trụ: Trình điều khiển máy bay không người lái, chế độ tự bay nâng cao; mô phỏng các đường bay và các bộ phận của máy bay; hệ thống điều khiển của máy bay và hệ thống phát hiện sai hỏng
- Ngân hàng, tài chính: Dự đoán giá cả biến động cổ phiếu Dự đoán cấp số thời gian trong thị trường tài chính Các ứng dụng về điều hành vốn Dự đoán thị trường ngoại hối Đánh giá dự đoán rủi ro Dự đoán tình hình kinh tế Đánh giá hiệu suất vốn vay và vốn đầu tư Dự đoán khả năng phá sản Hệ thống thẻ đọc ngân hàng, thẻ tín dụng
- Hệ thống phòng thủ: Hệ thống điều khiển vũ khí dò tìm mục tiêu, nhận dạng mục tiêu Điều khiển đường đạn Xử lý và nhận dạng tín hiệu ảnh, radar, siêu âm
- Viễn thông và công nghệ thông tin: Dự đoán chuỗi mã Bố trí mạch tích hợp trên chip Phân tích lỗi mạch tích hợp Thị giác máy tính, nhận dạng và tổng hợp tiếng nói Nhận dạng chữ viết tay và chữ ký Xử lý ảnh, nén ảnh và nén số
Trang 2317
liệu Các dịch vụ thông tin tự động Dịch ngôn ngữ nói thời gian thực Hệ thống
xử lý thanh toán của khách hàng Định tuyến và chuyển mạch cho mạng ATM
- Y tế: Phân tích tế bào ung thư vú Phân tích điện não đồ Thiết kế bộ phận thay thế Tối ưu hoá thời gian cấy ghép Dò tìm và đánh giá các hiện tượng y học
1.1.3 Phương pháp học mạng nơron nhân tạo
Một trong hai yếu tố quan trọng tạo nên một mô hình mạng nơron hoàn chỉnh
đó là trọng số liên kết mạng (weights) Chúng thường có được nhờ quá trình học (huấn luyện mạng), kiểu mô phỏng quá trình học của bộ não người Quá trình học của mạng là quá trình lan truyền thông tin để làm thay đổi các trọng số liên kết sao cho đạt được kết quả tốt nhất có thể Mạng neural được huấn luyện hay được học theo ba phương pháp học có giám sát, học không giám sát và học tăng cường
- Học có giám sát (supervised learning) là phương pháp học từ một tập dữ liệu huấn luyện đã biết trước nhãn của dữ liệu cần học và số lớp cần phân loại của bộ dữ liệu được đem đi huấn luyện Đây là phương pháp học phổ biến nhất trong các phương pháp học của mạng Mục đích của phương pháp này là từ tập
dữ liệu đã gán nhãn qua quá trình học tạo ra một mô hình mạng thật tốt để khi có
dữ liệu mới ta có thể tính hay dự đoán được nhãn tương ứng của dữ liệu đó
Ví dụ như nhận dạng chữ số viết tay MNIST (Hình 2.8) Tập dữ liệu huấn luyện gồm hàng nghìn hình ảnh chữ số viết tay của hàng nghìn người khác nhau
Ta đưa các bức ảnh chữ số viết tay này vào thuật toán học và chỉ cho nó biết mỗi bức ảnh tương ứng với chữ số nào Sau quá trình học một mô hình mạng được tạo
ra để khi nhận được bức ảnh mà mô hình chưa nhìn thấy bao giờ hay không nằm trong tập huấn luyện thì nó sẽ đưa ra dự đoán chữ số trong bức ảnh đó
Hình 2.8 Bộ cơ sở dữ liệu chữ số viết tay trong MNIST
Trang 2418
Phương pháp học giám sát thường áp dụng vào hai loại bài toán chính là:
+ Bài toán phân loại (classification): Nếu nhãn của các dữ liệu đầu vào được
chia thành một số hữu hạn nhóm Như các bài toán nhận dạng chữ số viết tay, nhận dạng khuôn mặt người,…
+ Bài toán hồi quy (regression): Nếu nhãn của các dữ liệu đầu vào không
được chia thành các nhóm mà là một giá trị thực cụ thể Ví dụ như bài toán dự đoán giá của một căn nhà, giá trị dinh dưỡng của một món ăn,…
Một thuật toán điển hình trong phương pháp học có giám sát được áp dụng trên kiến trúc mạng nơron tuyền tới đa lớp đó là thuật toán lan truyền ngược sai
số (Backpropagation Algorithm) Về cơ bản, thuật toán này thực hiện điều chỉnh trọng số liên kết ( ) giữa các nơron trong mạng thông qua việc tính toán gradient dựa trên sai số (E) giữa đầu ra của mạng và đầu ra mong muốn của dữ liệu huấn luyện Quá trình điều chỉnh trọng số mạng để sao cho hàm sai số là thấp nhất và hội tụ về 0, do đó công thức chung như sau ( là hệ số học của mạng)
- Học không giám sát (unsupervised learning) là phương pháp học từ một tập
dữ liệu mà không biết trước nhãn của chúng Thuật toán sẽ dựa vào cấu trúc của
dữ liệu, mối liên hệ tiềm ẩn bên trong dữ liệu để phân nhóm hay giảm chiều của
dữ liệu,… Học không giám sát có liên quan chặt chẽ đến việc ước lượng mật độ trong thống kê Mô hình mạng điển hình cho cách học này là mạng tự tổ chức (Seft Organizing Map - SOM) Phần lớn ứng dụng học không giám sát vào các bài toán ước lượng như mô hình hóa thống kê, nén, lọc, phân nhóm thông tin,…
- Học tăng cường (reinforcement learning) là phương pháp học giúp cho một
hệ thống tự động xác định hành động dựa trên hoàn cảnh để đạt lợi ích cao nhất Học tăng cường bằng cách thử nghiệm dữ liệu để khám phá ra hành động nào là tốt nhất Hành động đó không chỉ có lợi ích tốt cho bước hiện tại mà còn cho các bước tiếp theo Hai đặc điểm quan trọng để phân biệt học tăng cường là tìm kiếm thử - sai (trialand-error search) và delayed reward
Học tăng cường chủ yếu được áp dụng vào lý thuyết trò chơi, thuật toán cần xác định hành động tiếp theo để đạt số điểm tốt nhất Ví dụ, AlphaGo của Google kết hợp cả học có giám sát và học tăng cường đã đánh cờ vây thắng con người (Hình 2.9), trong khi cờ vây có độ phức tạp cao có thể lên đến , tức nhiều hơn cả số lượng nguyên tử trong vũ trụ chúng ta đang biết hiện nay
Trang 2519
Hình 2.9 AlphaGo đánh thắng kiện tướng cờ vây Lee Sedol
1.2 Phương pháp nhận dạng khuôn mặt
1.2.1 Hệ thống cho bài toán nhận dạng khuôn mặt
Con người khi sinh ra đã có những đặc điểm sinh học tự nhiên riêng biệt phân biệt giữa người này với người kia, rất khó có thể trùng lặp Các đặc điểm
đó có thể bị thay đổi trong cuộc sống trừ những tác động khách quan hoặc chủ quan như: tai nạn, tổn thương, phẫu thuật chỉnh hình Chính bởi yếu tố riêng biệt đó, các nhà khoa học tập trung nghiên cứu, tìm hiểu đặc trưng sinh trắc học của con người và áp dụng vào các biện pháp giúp nhận dạng, xác định danh tính của mỗi người Dựa vào những đặc điểm sinh trắc học của con người, các hệ thống nhận dạng sinh trắc học ra đời nhằm giải quyết nhiều vấn đề có liên quan tới bảo mật, an ninh, khoa học hay các nhu cầu khác trong cuộc sống
Các đặc trưng sinh trắc khuôn mặt là những đặc điểm riêng trên khuôn mặt mỗi người gần như không thay đổi theo thời gian, các đặc điểm này phân biệt giữa người này và người kia, rất khó có thể xảy ra trùng lặp 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 Chính vì thế, việc xác định danh tính, nhận dạng khuôn mặt người thông qua các đặc trưng sinh trắc học đó sẽ đảm bảo được độ chính xác, tin cậy cao
Bản thân con người có thể nhận dạng ảnh khuôn mặt của mọi người một cách
dễ dàng Thậm chí, ảnh đó có thể nằm trong một ảnh nền phức tạp Tuy nhiên, đối với hệ thống máy tính thì việc nhận dạng này là một công việc rất phức tạp
và khó khăn Chính vì vậy, trong những năm gần đây, lĩnh vực nhận dạng khuôn
Trang 26Hình 2.10 Cấu trúc chung của hệ thống nhận dạng khuôn mặt
- Chụp ảnh hoặc thu thập dữ liệu hình ảnh có khuôn mặt người (face acquistion): thường sử dụng các thiết bị chụp ảnh, ghi hình hiện nay khá thông dụng trên các thiết bị thông minh hoặc máy tính (webcam)
- Phát hiện khuôn mặt (face detection): phát hiện khuôn mặt sẽ lấy ra tất cả các khuôn mặt có xuất hiện trong một hình ảnh đã được thu thập Nhiệm vụ này xác định vị trí, kích cỡ của một hoặc nhiều khuôn mặt trên ảnh chụp từ đó tách
ra các phần ảnh chứa các khuôn mặt này Phần ảnh khuôn mặt được tách ra thường nhỏ hơn nhiều so với ảnh chụp ban đầu, nó sẽ là các khuôn mặt sử dụng
để đưa vào cho các bước tiếp theo
- Tiền xử lý (preprocessing) hay chuẩn hoá hình ảnh khuôn mặt (face normalization): thường gồm các nhiệm vụ như cân bằng độ sáng, căn chỉnh khuôn mặt, lọc nhiễu,… nhằm nâng cao chất lượng ảnh giúp cho việc nhận dạng được hiệu quả hơn
- Trích chọn đặc trưng (feature extraction): tìm ra các đặc trưng chính của ảnh khuôn mặt, từ các đặc trưng này hình thành các vector đặc trưng của khuôn mặt đó Các vector này sẽ được sử dụng để đối sánh sự giống nhau giữa ảnh mặt cần tìm và ảnh mặt trong kho dữ liệu
- Nhận dạng (recognition) hay phân loại (classification): là bước xác định danh tính (identity) hay nhãn (label) của ảnh đầu vào tương ứng với đối tượng
Trang 2721
nào đã có trong kho dữ liệu huấn luyện hoặc thông báo không tìm thấy (decision) Bước này được thực hiện bằng việc đối sánh mẫu (matching) dựa trên kho dữ liệu các véc-tơ đặc trưng của khuôn mặt, có thể sử dụng các phương pháp đơn giản như xác định khoảng cách hoặc phương pháp phân lớp trong học máy như SVM, mô hình mạng nơron,…
Dữ liệu phục vụ cho hệ thống nhận dạng nói chung và nhận dạng khuôn mặt nói riêng được chia làm 3 phần gồm tập huấn luyện (training set) mô hình, tập thẩm định (validation set) để lựa chọn mô hình tốt nhất có thể và tập kiểm thử
mô hình (test set) để đánh giá mô hình được lựa chọn cho bài toán
Hệ thống nhận dạng khuôn mặt cần đảm bảo các yêu cầu sau:
- Độ chính xác nhận dạng có thể chấp nhận được đối với yêu cầu của bài toán nhận dạng
- Tốc độ vận hành cao đối với các kho dữ liệu lớn và số lượng các yêu cầu có thể giải quyết được
- Đơn giản trong việc cài đặt, lựa chọn thiết bị và vận hành
- An toàn với người sử dụng
1.2.2 Một số hướng tiếp cận trong nhận dạng khuôn mặt
Nhận dạng khuôn mặt là quá trình xác định danh tính tự động cho từng đối tượng người trong ảnh/video dựa vào nội dung Các hướng tiếp cận trước đây chủ yếu dựa trên đặc trưng và luôn cố gắng đưa ra các định nghĩa tường minh để biểu diễn khuôn mặt dựa trên các t lệ khoảng cách, diện tích và góc Một biểu diễn khuôn mặt được định nghĩa tường minh hướng tới mục tiêu xây dựng một không gian đặc trưng trực quan Tuy nhiên, trong thực tế các biểu diễn định nghĩa tường minh thường không chính xác Để khắc phục điều đó, các hướng tiếp cận sau này được đề xuất dựa trên ý tưởng sử dụng các mô hình học máy thống kê có khả năng học để lựa chọn các đặc trưng khuôn mặt từ một tập mẫu cho trước, điển hình như: phương pháp PCA (Principal Component Analysis), trong đó mỗi khuôn mặt được biểu diễn dưới dạng tổ hợp các eigenvectors, eigenfaces, và fisherfaces; phương pháp sử dụng các mô hình mạng nơron tích chập CNN (Convolutional Neural Network)
Hiện tại, hiệu quả của các mô hình nhận dạng khuôn mặt đã được cải thiện đáng kể dựa trên việc sử dụng kết hợp các mô hình học sâu để tự động phát hiện các đặc trưng trên khuôn mặt và các kỹ thuật phân lớp thống kê Nhìn chung các ứng dụng nhận dạng khuôn mặt thường mong muốn tìm được một biểu diễn ít chiều, có khả năng tổng quát hóa tốt đối với những khuôn mặt mới mà mạng chưa được huấn luyện Trong [Phi15], Florian Schroff và cộng sự đã đề xuất
Trang 2822
kiến trúc mạng học sâu FaceNet với hàm chi phí bộ ba (triplet-loss function) được định nghĩa trực tiếp trên các biểu diễn Các cải tiến quan trọng của FaceNet bao gồm: đề xuất hàm chi phí bộ ba; thủ tục lựa chọn các bộ ba trong khi huấn luyện; cho phép học từ các tập dữ liệu khổng lồ để tìm ra kiến trúc mạng thích hợp Tính đến thời điểm FaceNet ra đời, thuật toán này đã lập nên k lục mới trong nhận dạng khuôn mặt dưới nhiều điều kiện ảnh khác nhau Tuy nhiên, FaceNet huấn luyện với một số lượng lớn hình ảnh (hơn 200 triệu ảnh của 8 triệu đối tượng), lớn gấp nhiều lần so với các bộ dữ liệu hiện có Để xây dựng bộ dữ liệu lớn như vậy rất khó thực hiện trong các phòng thí nghiệm, thuật toán học đòi hỏi kiến trúc máy lớn với khả năng tính toán cao
- PCA là một thuật toán để được sử dụng để tạo ra một ảnh mới từ ảnh ban đầu Ảnh mới này có kích thước nhỏ hơn rất nhiều so với ảnh đầu vào và vẫn mang những đặc trưng cơ bản nhất của ảnh cần nhận dạng PCA không cần quan tâm đến việc tìm ra các đặc điểm cụ thể của thực thể cần nhận dạng và mối quan hệ giữa các đặc điểm đó Tất cả các chi tiết đó đều được thể hiện ở ảnh mới được tạo ra từ PCA
Về bản chất, PCA tìm ra một không gian mới theo hướng biến thiên mạnh nhất của một tập hợp các vector trong không gian cho trước Trong không gian mới, người ta
hy vọng rằng việc phân loại sẽ mang lại kết quả tốt hơn so với không gian ban đầu (Hình 2.11)
Hình 2.11 Minh hoạ phương pháp PCA rút gọn số chiều đặc trưng
Phương pháp PCA có các ưu điểm như:
+ Tìm được các đặc tính tiêu biểu của đối tượng cần nhận dạng mà không cần phải xác định các thành phần và mối quan hệ giữa các thành phần đó
+ Thuật toán có thể thức hiện tốt với các ảnh có độ phân giải cao, do PCA sẽ thu gọn ảnh thành một ảnh có kích thước nhỏ hơn
+ PCA có thể kết hợp với các phương pháp khác như mạng nơron, support vector machine (SVM),… để mang lại hiệu quả nhận dạng cao hơn
Tuy nhiên, PCA cũng có một số nhược điểm đó là nó phân loại theo chiều phân bố lớn nhất của tập dữ liệu Tuy nhiên, chiều phân bố lớn nhất không phải lúc nào cũng mang lại hiệu quả tốt nhất cho bài toán nhận dạng Đây là nhược
Trang 29Hình 2.12 Ví dụ minh họa phép biến đổi trong LDA
LDA có ưu điểm là làm việc tốt khi số mẫu dữ liệu lớn, dễ dàng hơn để huấn luyện, phương sai thấp, hiệu quả hơn nếu mô hình là chính xác Nhược điểm là LDA gặp phải vấn đề khi tổng số mẫu huấn luyện ít hơn so với kích thước của không gian đặc trưng
- Phương pháp so khớp đồ thị đ n hồi (Elastic Bunch Graph Matching - EBGM) là một thuật toán bắt nguồn từ sinh học được sử dụng cho các bài toán nhận dạng đối tượng trong lĩnh vực thị giác máy Nguồn gốc tính sinh học của thuật toán này gồm hai phần:
+ Các đặc điểm trực quan được sử dụng dựa trên biến đổi Gabor Wavelet Biến đổi này đã được chứng minh là một mô hình tốt về xử lý hình ảnh trong não bộ con người, chính xác hơn là các tế bào đơn giản trong vỏ não thị giác chính
+ Các thuật toán tự so khớp: đây là một phiên bản của thuật toán liên kết động phù hợp (DLM) do Wiskott và Von der Malsburg đề xuất năm 1996, đó là một mô hình của nhận dạng các đối tượng bất biến trong não
Trang 3024
Các đối tượng trực quan trong EBGM được biểu diễn như là một đồ thị có nhãn, nơi các nút đại diện cho đặc điểm riêng biệt dựa trên biến đổi Gabor Wavelet và các cạnh đại diện cho khoảng cách giữa các địa điểm nút trên một hình ảnh Vì vậy, một hình ảnh của một đối tượng được biểu diễn như là một tập hợp đặc điểm riêng trong một tổ chức không gian nhất định Nếu một đối tượng mới trong một hình ảnh được nhận dạng, các đồ thị được dán nhãn của các đối tượng được lưu trữ (vì vậy được gọi là đồ thị mô hình) và được so khớp trên hình ảnh Đối với mỗi đồ thị mô hình, các vị trí của các nút trong các hình ảnh được tối ưu hóa Nhờ vậy mà đặc điểm riêng biệt của hình ảnh phù hợp với đặc điểm riêng biệt của mô hình và khoảng cách giữa các vị trí phù hợp với khoảng cách giữa các nút của mô hình Đồ thị mô hình phù hợp nhất với đối tượng được nhận dạng và với các vị trí nút của nó trong hình ảnh, một đồ thị hình ảnh có thể được tạo ra
Phép biến đổi Gabor Wavelet tạo ra một mô hình khuôn mặt dạng cấu trúc lưới đ n hồi liên kết động Như trên Hình 2.13, các nút trên lưới đ n hồi được gọi là các Gabor Jet, được ký hiệu bởi các vòng tròn mô tả đặc điểm của khuôn mặt Đó là kết quả tích chập của hình ảnh đầu vào với một bộ lọc Gabor, được sử dụng để phát hiện và trích xuất các các đặc trưng của khuôn mặt cho quá trình nhận dạng
Hình 2.13 Mô hình lưới của các khuôn mặt khác nhau Phương pháp EBGM này có độ chính xác cao hơn so với PCA và LDA Nó
có thể áp dụng để nhận dạng hình ảnh khuôn mặt với nhiều đặc tính phi tuyến, hình ảnh khuôn mặt ở các tư thế và cảm xúc khác nhau cũng như điều kiện ánh sáng của ảnh Nhưng phương pháp này khó thực hiện bởi nó đòi hỏi vị trí chính xác của các nút trên mô hình lưới
Một trong những phương pháp hiện đại và được nghiên cứu, ứng dụng thành công hiện nay là dựa trên mô hình mạng nơron tích chập (CNN) với phương pháp học sâu trong nguyên lý học máy Phương pháp này có nhiều ưu điểm và thế mạnh sẽ được đề cập ở trong phần tiếp theo của báo cáo này
Trang 3125
Chương 2 Mô hình mạng nơron tích chập nhận dạng khuôn mặt
dựa trên phương pháp học chuyển tiếp
2.1 Mạng nơron tích chập cho nhận dạng khuôn mặt
2.1.1 Cấu trúc mạng nơron tích chập
Mạng nơron tích chập (Convolutional Neural Network - CNN) là một trong
những mô hình học sâu tiên tiến giúp chúng ta xây dựng được những hệ thống thông minh với độ chính xác cao Hiện nay, các hệ thống xử lý dữ liệu ảnh lớn như Facebook, Google hay Amazon đã đưa vào sản phẩm của mình những chức năng thông minh như nhận dạng khuôn mặt người dùng, phát triển xe hơi tự lái hay máy bay giao hàng tự động,… tất cả đều áp dụng các kiến trúc mạng nơron tích chập với phương pháp học sâu hiện đại
CNN là một kiểu mạng nơron truyền tới đa lớp, bao gồm các lớp cơ bản sau: lớp tích chập (Convolutional layer), lớp pooling (Pooling layer) hay còn gọi là lớp subsampling, lớp kết nối đầy đủ (Fully Connected layer) Trong mô hình CNN (Hình 2.1), các lớp được liên kết với nhau thông qua phép toán tích chập Lớp nơron tiếp theo là kết quả tích chập của lớp nơron trước đó, nhờ vậy mà ta có được các kết nối cục bộ Nghĩa là mỗi nơron ở lớp tiếp theo được sinh ra từ các bộ lọc áp đặt lên một vùng ảnh cục bộ của nơron ở lớp trước đó Mỗi lớp nơron tích chập được xem như là các bộ lọc khác nhau, thông thường có vài trăm đến vài nghìn bộ lọc như vậy trong hệ thống mạng CNN Ngoài ra, một số lớp khác như pooling hay subsampling được dùng để chắt lọc lại các thông tin hữu ích hơn từ kết quả các bộ lọc của nơron tích chập
Hình 2.1 Minh hoạ mô hình mạng nơron tích chập (CNN)
Đối với bài toán nhận dạng hình ảnh nói chung và áp dụng cho nhận dạng khuôn mặt nói riêng, mô hình CNN hoạt động với hai chức năng cơ bản sau: lớp các nơron tích chập cùng với lớp pooling hay subsamling thực hiện nhiệm vụ như là bộ trích chọn đặc trưng trên ảnh khuôn mặt Tức là, thông qua các bộ lọc
Trang 3226
của lớp nơron tích chập sẽ phát hiện các cạnh trên ảnh, tiếp đến phát hiện hình dạng đơn giản, đến phát hiện hình dạng khuôn mặt và cuối cùng là những đặc trưng ở mức cao; các lớp nơron cuối cùng thường là liên kết nơron đầy đủ (fully connection layer) dùng để phân loại ảnh hay nhận dạng khuôn mặt
- Phép tích chập (convolution operation) trong CNN là phép toán rời rạc thực hiện như một cửa sổ trượt (gọi là nhân - kernel, hay bộ lọc - filter) áp lên một ma trận đầu vào Tại mỗi bước trượt (stride), tích chập giữa bộ lọc (f, có kích thước nhưng thường là ) với vùng ma trận đầu vào (g) tương ứng được tính toán, ∑ ( ) Hình 2.2 minh họa một phép tích chập giữa ma trận đầu vào (input) và bộ lọc (filter) có kết quả đầu ra (result) tương ứng
Hình 2.2 Minh hoạ tính toán phép tích chập Sau đây là ví dụ của một số bộ lọc điển hình áp dụng trên gồm Laplacian, Canny và Gradient magnitude Kết quả trực quan cho thấy hình ảnh đầu vào được phát hiện các đường biên, cạnh của đối tượng trên ảnh
Hình 2.3: Kết quả của ba bộ lọc điển hình trên ảnh đầu vào
Để thực hiện phép tích chập với các bộ lọc trên toàn bộ ma trận đầu vào chúng ta phải thêm các vùng biên của ma trận đầu vào đó, thường là giá trị 0, gọi
là padding, khi đó nếu bộ lọc phủ ra ngoài không gian ma trận đầu vào sẽ được coi như bằng 0 để tính toán Sau đây là ví dụ về phép tích chập trên không gian ảnh đầu vào với độ sâu màu là 3 (red, green, blue)
Trang 3327
Hình 2.4 Minh hoạ tích chập 3 chiều trên ảnh màu (RGB)
- Hàm kích hoạt (Activation) thường sử dụng trong mô hình CNN cho nhận dạng khuôn mặt là ReLu (Rectified Linear Unit) Hàm này được gắn cho mỗi nơron tích chập để kích hoạt đầu ra cho nơron sau khi tính tích chập đầu vào nhằm tạo ra thông tin trừu tượng hơn cho lớp nơron sau Cũng có thể áp dụng một số hàm kích hoạt khác nhằm đem lại hiệu quả cho bài toán ứng dụng của CNN (Hình 2.5)
Hình 2.5 Một số hàm kích hoạt thường dùng trong CNN
- Phép pooling (hay subsampling) để giảm số chiều thông tin xử lý Phép này
thực hiện lấy mẫu bằng việc sử dụng một mặt nạ (cửa sổ trượt) quét qua toàn bộ
ma trận dữ liệu ảnh, mỗi lần trượt theo các bước trượt cho trước, chỉ có một giá trị được xem là giá trị đại diện cho thông tin ảnh tại vùng đó được giữ lại, giá trị này gọi là giá trị mẫu Ta cũng có thể chia ảnh thành các ô hình chữ nhật không chồng lấp nhau để lấy mẫu Phép pooling sẽ cho chúng ta tính bất biến đối với phép dịch chuyển, phép quay và phép co giãn Phép này thường được sử dụng ngay sau hàm kích hoạt, để đơn giản hóa thông tin đầu ra, giảm bớt số lượng nơron, giảm bớt lượng tính toán, và do đó cũng giảm bớt hiện tượng quá khớp
Trang 3428
Phép pooling thường dùng là max pooling (lấy giá trị lớn nhất, Hình 2.6), tuy nhiên có thể áp dụng phép min pooling (lấy giá trị nhỏ nhất) hay average pooling (lấy giá trị trung bình)
Hình 2.6 Phép max pooling với mặt nạ 2 x 2
- Lớp kết nối đầy đủ (Fully Connected – FC layers) là lớp mà mỗi nơron có liên kết với tất cả các nơron của lớp kế trước, dùng để phân loại hay nhận dạng Sau khi ảnh được xử lý và rút trích đặc trưng từ các lớp tích chập và pooling trước đó, dữ liệu sẽ không còn quá lớn và tiến hành nhận dạng bởi lớp này Trong mô hình CNN, lớp FC có thể được thiết kế một hoặc nhiều lớp tuỳ thuộc bài toán, nhưng lớp FC cuối cùng thường có số nơron đ ng bằng số lớp phân loại hay nhận dạng cần xử lý
Ở lớp FC, ta thường dùng hàm softmax như là hàm kích hoạt của nơron để phân loại dữ liệu tương tự như trong các mô hình mạng nơron truyền thẳng Hàm softmax đóng vai trò như một tính toán xác suất xuất hiện của đối tượng nhận dạng trên dữ liệu đầu vào (công thức xem Hình 2.7) Trong đó, tổng đầu vào của
mỗi nơron tương ứng là các giá trị y = (2.0, 1.0, 0.1) thì đầu ra của nơron qua hàm softmax là p = (0.7, 0.2, 0.1) Khi đó, nhãn lớp đối tượng tương ứng với nơron có xác suất cao nhất được chọn để phân loại, thậm chí cũng có thể lấy k
giá trị xác suất cao nhất để lựa chọn phân loại kèm theo các kỹ thuật khác
Hình 2.7 Hàm softmax tính xác suất đầu ra phân lớp
Trang 3529
2.1.2 Hoạt động của CNN và quá trình huấn luyện
Kiến trúc của một CNN được hình thành bằng cách thiết kế và ghép nối các lớp nơron gồm tích chập, pooling, và cuối cùng là FC Mỗi nơron trong lớp tích chập đóng vai trò như một bộ lọc (filter) để trích chọn các đặc trưng từ ảnh đầu vào Thông thường, sau mỗi lớp hoặc một số lớp tích chập là lớp pooling nhằm làm giảm số chiều không gian thông tin cần xử lý
Để minh hoạt hoạt động của CNN, chúng ta sử dụng một cấu trúc cụ thể như Hình 2.8 Lớp input để nhận ảnh đầu vào, lớp tích chập đầu tiên (CONV layer 1)
có 20 nơron, mỗi nơron là một bộ lọc với mặt nạ 4x4 Như vậy, lớp này sẽ tạo một ma trận dữ liệu đầu ra kích thước 28x36x20 nếu ảnh đầu vào là 31x39x1 (ảnh xám, độ sâu màu là 1) Tiếp theo là lớp pooling với 20 nơron và mặt nạ 2x2
sẽ tạo ma trận dữ liệu đầu ra kích thước 14x18x20, tức là sau mỗi nơron tích chập có một nơron pooling Tượng tự, các lớp tích chập và pooling tiếp theo đến lớp tích chập cuối (CONV layer 4) có 80 nơron với mặt nạ bộ lọc là 2x2 Cuói cùng có lớp FC 1 với 160 nơron liên kết đầy đủ tới các nơron lớp CONV layer 4,
và lớp FC 2 với n nơron (n là số loại đối tượng hay số nhãn cần phân lớp hay
nhận dạng) sử dụng hàm softmax
Quá trình từ ảnh đầu vào, qua các lớp nơron tính toán trong mạng để có đầu
ra cuối cùng bởi hàm softmax gọi là quá trình tiến (forward)
Hình 2.8 Ví dụ về một cấu trúc mô hình CNN
Để huấn luyện mạng nơron, chúng ta cần thiết kế một hàm đánh giá sai số (E) giữa đầu ra của mạng với đầu ra mong muốn, hàm này cũng được gọi là hàm hao tổn (loss function) Trong nhận dạng khuôn mặt, với mục tiêu nhận dạng độ chính xác cao nhất, hàm loss này thường sử dụng dưới dạng Cross-Entropy (CE) Loss, Hình 2.9, trong đó là đầu ra của hàm softmax tại nơron i, C là số nhãn hay số
lớp, là đầu ra mong muốn tại nơron i
Trang 3630
Hình 2.9 Cách tính hàm hao tổn dưới dạng Cross-Entropy
Để ý rằng, khi áp dụng hàm loss dạng CE thì đầu ra mong muốn của mỗi dữ liệu ảnh đầu vào được chuyển hoá thành véc-tơ nhị phân với duy nhất có một giá trị 1 tại nơron tương ứng với nhãn phân lớp của đầu vào đó Ví dụ, nếu đầu ra mong muốn là lớp (tương ứng tại nơron i = 5) trong số lớp thì véc-tơ đầu
ra sẽ là Trường hợp tập dữ liệu đầu vào có N mẫu thì công thức tính hàm loss CE như sau (2.1), với là tính hàm hao tổn tại dữ liệu j:
Tuy nhiên, tuỳ theo đặc điểm của bài toán ứng dụng, có thể áp dụng một số dạng hàm loss khác như Angular-Softmax Loss, Additive Margin Softmax Loss, ArcFace Loss, và Marginal Loss (xem chi tiết tại [19.Sri])
Quá trình huấn luyện mô hình CNN được thực hiện bằng phương pháp giảm độ dốc (gradient) theo thuật toán lan truyền ngược sai số (BP) Chúng ta phải tính toán
độ dốc của sai số CE với các nơron lớp ra của CNN lan truyền ngược nó qua các lớp mạng và tối ưu hóa (cực tiểu hoá) hàm CE bằng việc điều chỉnh các tham số mạng Vì vậy, chúng ta cần tính toán độ dốc của CE đối với từng tham số của nơron trong mỗi lớp của CNN Tuy khái niệm của hàm hao tổn sẽ không đến từ lớp âm tính (lớp không thuộc mẫu dữ liệu) của mẫu dữ liệu nhưng không thể bỏ qua việc tính độ dốc của tham số tại các nơron tương ứng vì hàm softmax tại nơron lớp dương tính (lớp thuộc mẫu dữ liệu) cũng phụ thuộc vào những điểm số của lớp âm
tính Do đó, đạo hàm đối với tham số nơron lớp dương tính (s p ) và âm tính (s n) sẽ tính như sau (công thức (2.2) và (2.3)
Tương tự, ta tính ngược trở về đầu trong các lớp nơron của CNN và cập nhật trọng số cho các tham số của nơron trong mạng bằng công thức (1.1)