Nâng cao độ chính xác nhận dạng khuôn mặt dựa trên mô hình CNN học sâu kết hợp với đặc trưng HOG và bộ phân lớp SVM
Tóm tắt: Bài báo này đề xuất một giải pháp hiệu quả để nâng cao độ chính xác
nhận dạng khuôn mặt từ một ảnh đầu vào bất kỳ hoặc trực tiếp từ camerra. Về cơ
bản, việc cải thiện độ chính xác nhận dạng được tiến hành ở cả ba công đoạn chính
của quy trình nhận dạng bao gồm phát hiện, trích chọn đặc trưng và phân lớp khuôn
mặt. Trong đó, phương pháp trích chọn đặc trưng HOG và bộ phân lớp tuyến tính
SVM được sử dụng trong quá trình phát hiện khuôn mặt người trên ảnh, các lớp
mạng học sâu CNN được xây dựng để tự động trích chọn các đặc trưng biểu diễn
khuôn mặt và cuối cùng sử dụng các bộ phân lớp SVM để phân lớp (nhận dạng)
khuôn mặt. Hiệu quả của phương pháp không chỉ được kiểm nghiệm đồng thời trên
cả các tập cơ sở dữ liệu chuẩn như UOF, FEI, JAFFE và LZW và cả trong môi
trường thực tế nhận dạng khuôn mặt người trực tiếp từ webcam. Các kết quả thử
nghiệm cho thấy hệ thống đạt độ chính xác nhận dạng cao và ổn định trong điều
kiện môi trường thực tế.
Tóm tắt nội dung tài liệu: Nâng cao độ chính xác nhận dạng khuôn mặt dựa trên mô hình CNN học sâu kết hợp với đặc trưng HOG và bộ phân lớp SVM
Công nghệ thông tin & Cơ sở toán học cho tin học Nguyễn Thị Thanh Tân, “Nâng cao độ chính xác nhận dạng và bộ phân lớp SVM.” 148 NÂNG CAO ĐỘ CHÍNH XÁC NHẬN DẠNG KHUÔN MẶT DỰA TRÊN MÔ HÌNH CNN HỌC SÂU KẾT HỢP VỚI ĐẶC TRƯNG HOG VÀ BỘ PHÂN LỚP SVM Nguyễn Thị Thanh Tân* Tóm tắt: Bài báo này đề xuất một giải pháp hiệu quả để nâng cao độ chính xác nhận dạng khuôn mặt từ một ảnh đầu vào bất kỳ hoặc trực tiếp từ camerra. Về cơ bản, việc cải thiện độ chính xác nhận dạng được tiến hành ở cả ba công đoạn chính của quy trình nhận dạng bao gồm phát hiện, trích chọn đặc trưng và phân lớp khuôn mặt. Trong đó, phương pháp trích chọn đặc trưng HOG và bộ phân lớp tuyến tính SVM được sử dụng trong quá trình phát hiện khuôn mặt người trên ảnh, các lớp mạng học sâu CNN được xây dựng để tự động trích chọn các đặc trưng biểu diễn khuôn mặt và cuối cùng sử dụng các bộ phân lớp SVM để phân lớp (nhận dạng) khuôn mặt. Hiệu quả của phương pháp không chỉ được kiểm nghiệm đồng thời trên cả các tập cơ sở dữ liệu chuẩn như UOF, FEI, JAFFE và LZW và cả trong môi trường thực tế nhận dạng khuôn mặt người trực tiếp từ webcam. Các kết quả thử nghiệm cho thấy hệ thống đạt độ chính xác nhận dạng cao và ổn định trong điều kiện môi trường thực tế. Từ khóa: Khuôn mặt, Khung hình (frame), Phân lớp, Nhận dạng, Mạng nhân chập học sâu (D-CNN), Tiền xử lý, Căn chỉnh khuôn mặt, Phát hiện khuôn mặt, Trích chọn đặc trưng, Dữ liệu mẫu khuôn mặt. 1. ĐẶT VẤN ĐỀ Nhận dạng mặt người là quá trình xác định danh tính tự động cho từng đối tượng người trong video/ảnh dựa vào nội dung. Rất nhiều hướng tiếp cận đã được đề xuất để giải quyết bài toán này [2], [3], [4]. Nhìn chung, quy trình giải quyết bài toán thường bao gồm các công đoạn cơ bản như: (i) Thu nhận hình ảnh; (ii) Tiền xử lý, tăng cường chất lượng hình ảnh; (iii) Phát hiện, căn chỉnh, crop ảnh khuôn mặt; (iv) Nhận dạng (trích chọn đặc trưng và phân lớp) khuôn mặt. Hiệu quả của các mô hình nhận dạng khuôn mặt hiện đã được cải thiện đáng kể dựa trên việc kết hợp sử dụng 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ê. Trong [10], các tác giả đã đề xuất một mô hình nhận dạng phức tạp, nhiều công đoạn dựa trên việc kết hợp đầu ra của một mạng neural tích chập học sâu D-CNN (Deep Convolutional Neural Network) với PCA để giảm chiều dữ liệu và bộ phân lớp SVM. Zhenyao Zhu và cộng sự [10] đã xây dựng một mạng neural học sâu để căn chỉnh các khuôn mặt theo hướng nhìn trực diện sau đó huấn luyện một mạng CNN để phân lớp và xác định danh tính cho mỗi khuôn mặt. Trong kiến trúc mạng DeepFace [11], lớp mạng cuối cùng được loại bỏ và đầu ra của lớp mạng trước đó được sử dụng như một biểu diễn thấp chiều của khuôn mặt. Các kết quả thực nghiệm cho thấy mô hình này đạt độ chính xác trên 97.35% đối với tập dữ liệu LFW. 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 bao giờ. Mục tiêu của DeepFace cũng nhằm giải quyết bài toán đó, tuy nhiên để có được sự biểu diễn này cần phải huấn luyện mạng trên một tập dữ liệu lớn. Đó cũng chính là điểm hạn chế của DeepFace. Trong [1], Florian Schroff và cộng sự đã đề xuất kiến trúc mạng học sâu FaceNet với hàm chi phí bộ ba (triplet Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 54, 04 - 2018 149 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 và 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. Trong bài báo này, chúng tôi đề xuất một giải pháp tổng thể để nâng cao độ chính xác nhận dạng khuôn mặt người trực tiếp từ các thiết bị camera/webcam hoặc từ một ảnh đầu vào bất kỳ, hướng tới mục tiêu ứng dụng xây dựng các hệ thống camera giám sát, kiểm soát vào/ra, phát hiện đột nhập trái phép, phát hiện đối tượng lạ mặt, chấm công tự động, v.v Trong đó, việc cải thiện chất lượng nhận dạng được tiến hành ở cả ba công đoạn chính của quy trình nhận dạng bao gồm phát hiện, trích chọn đặc trưng và phân lớp khuôn mặt. Giải pháp đề xuất sẽ được mô tả cụ thể trong phần 2. Các kết quả thực nghiệm, đánh giá hiệu quả của mô hình được trình bày trong phần 3. Cuối cùng, phần kết luận sẽ tổng kết lại những kết quả đã đạt được và một số đề xuất cho hướng phát triển tiếp theo. 2. PHƯƠNG PHÁP ĐỀ XUẤT Ý tưởng cơ bản của phương pháp được đề xuất như sau: Từ tín hiệu video đầu vào, bước xử lý đầu tiên sẽ tiến hành phân đoạn video thành các khung hình (frame) riêng biệt. Việc phân đoạn video ở đây được tiến hành theo thời gian (ngưỡng được chọn hiện tại là 24 khung hình trên giây). Mỗi khung hình có thể không chứa, chứa một phần hoặc chứa toàn bộ khuôn mặt. Bước xử lý tiếp theo sẽ tiến hành phát hiện (face detection) và xác định vị trí của các khuôn mặt (nếu có) trên ảnh. Các khuôn mặt phát hiện được sau đó sẽ tiếp tục được tiền xử lý nhằm tăng cường chất lượng hình ảnh (loại nhiễu, khử bóng/mờ), chuẩn hóa kích thước, độ phân giải ảnh và căn chỉnh khuôn mặt về hướng trực diện (nhìn thẳng). Các khuôn mặt sau khi đã tiền xử lý sẽ được sử dụng làm đầu vào cho một mô hình mạng CNN học sâu. Các lớp mạng sẽ tự động học và trích rút ra những đặc trưng quan trọng đại diện cho mỗi khuôn mặt. Cuối cùng, các mô hình SVM sẽ được áp dụng để phân lớp (nhận dạng) khuôn mặt đầu vào dựa trên các đặc trưng đã được trích rút. 2.1. Thuật toán phát hiện khuôn mặt người trên ảnh/khung hình Phương pháp phát hiện khuôn mặt ở đây được đề xuất sử dụng các đặc trưng HOG (Histograms of Oriented Gradients) và bộ phân lớp tuyến tính SVM (Support Vector Machines) [5] hình 1. Hình 1. Phương pháp phát hiện khuôn mặt. Đầu vào của thuật toán là một frame ảnh bất kỳ thu được từ bước phân đoạn video. Bước xử lý đầu tiên sẽ tiến hành chuyển đổi ảnh trong không gian RGB Công nghệ thông tin & Cơ sở toán học cho tin học Nguyễn Thị Thanh Tân, “Nâng cao độ chính xác nhận dạng và bộ phân lớp SVM.” 150 (ảnh màu) sang ảnh đa cấp xám (gray scale), sau đó tiến hành cân bằng histogram trên ảnh gray scale để giảm sự nhạy cảm với nguồn sáng. Bước xử lý tiếp theo sẽ tính sự biến thiên màu sắc tại tất cả các pixel của ảnh gray scale theo chiều X[-1, 0, 1] và theo chiều Y 1 0 1 , thu được 2 ảnh gradient-x (đạo hàm theo trục x) và gradient-y (đạo hàm theo trục y) có kích thước bằng kích thước ảnh gray scale. Hai ảnh thu được cho thấy sự biến thiên màu sắc nói trên. Tiếp theo tiến hành tính góc và hướng biến thiên màu sắc từ 2 ảnh gradient-x và gradient-y. Việc lưu trữ chính xác từng giá trị góc (orientation) của từng điểm ảnh (x,y) tốn nhiều chi phí và không mang lại nhiều kết quả, do vậy ta sẽ chia không gian góc ra thành các bin. Việc phân chia bin càng nhỏ sẽ càng làm tăng độ chính xác, các kết quả thực nghiệm trong [8] cho thấy kích thước bin khoảng 200 cho kết quả tốt nhất đối với việc phát hiện khuôn mặt người. Do đó, với không gian hướng biến thiên trong miền từ 00 - 1800 sẽ được chia thành 9 bin như sau: [00 – 200], [210 – 400], [410 - 600], [610 - 800], [810 - 1000], [1010 - 1200], [1210 - 1400], [1410 - 1600], [1610 - 1800]. Ứng với mỗi bin trên, tiến hành thống kê biên độ (magnitude) tại từng vị trí. Với mỗi bin, tại vị trí (x,y) nếu góc (orientation) thuộc về bin đó thì giá trị của bin đó tại vị trí (x,y) bằng giá trị biên độ, ngược lại giá trị bin tại vị trí (x,y) bằng 0. Bước tiếp theo tiến hành tính toán vector đặc trưng cho từng cell (mỗi cell thường được chọn với kích thước 8×8 pixel). Vector đặc trưng của mỗi cell sẽ gồm 9 thành phần tương ứng với 9 bin và giá trị tại thành phần i bằng tổng giá trị của các điểm trong bin i mà có tọa độ nằm trong cell đó. Tiếp theo, tính toán vector đặc trưng cho từng khối (block), mỗi khối thường được chọn với kích thước 2×2 cells (16×16 pixel). Vector đặc trưng của khối được tính bằng cách ghép vector đặc trưng của từng cell trong block lại với nhau. Số thành phần của vector đặc trưng tại mỗi khối được tính theo công thức: Sizefeature/block = ncell ×Sizefeature/cell (1) Trong đó: Sizefeature/block là đặc trưng trong block, ncell là số cell trong một block, Sizefeature/cell là số feature trong một cell. Với giả thiết mỗi cell có kích thước 8×8 pixels, mỗi block có kích thước 2×2 cells (16×16 pixels), không gian hướng biến thiên xét trong miền miền từ 00 - 1800 và được chia thành 9 bin thì số đặc trưng trong mỗi khối sẽ được tính bằng 4×9 = 36 thành phần. Từ đó, tiến hành tính toán vector đặc trưng các các cửa sổ trên toàn bộ ảnh đầu vào. Trong đó, một cửa sổ (Window) được tạo bởi các khối xếp gối nhau – overlapping. Đặc trưng của một cửa sổ sẽ được tính bằng cách ghép các vector đặc trưng của từng block tạo lên cửa sổ đó. Số thành phần đặc trưng của mỗi cửa sổ được xác định như sau: 11/ cell cellblockwindow cell cellblockwindow windowblock H HHH W WWW n (2) blockfeaturewindowblockwindowfeature SizenSize /// (3) Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 54, 04 - 2018 151 Trong đó: Wwindow, WBlock, Wcell lần lượt là chiều rộng của window, block và cell (tính theo đơn vị pixel); Hwindow, HBlock, Hcell lần lượt là chiều cao của window, block và cell (tính theo đơn vị pixel); nBlock/Window là số block trong một cửa sổ, SizeFeature/Window là số đặc trưng trong một cửa sổ. Ở bước xử lý cuối cùng, toàn bộ vector đặc trưng thu được trên mỗi cửa sổ sẽ được sử dụng làm đầu vào của bộ phân lớp tuyến tính SVM[6]. Bộ phân lớp có nhiệm vụ xác định lớp mẫu (có chứa khuôn mặt hay không chứa khuôn mặt) đối với mỗi ảnh đầu vào dựa trên các tri thức mà thuật toán đã được huấn luyện. 2.2. Trích chọn đặc trưng, phân lớp khuôn mặt Phương pháp trích chọn đặc trưng ở đây được đề xuất dựa trên ý tưởng xây dựng các lớp mạng nơ ron học sâu FaceNet, được Florian Schroff và cộng sự đã đề xuất năm 2015 [1]. Đây là mô hình có khả năng học từ tập mẫu thu thập được từ môi trường thực tế để tự động phát hiện ra các đặc trưng quan trọng nhất để nhận dạng đối tượng. Ý tưởng chính của phương pháp dựa trên việc học một không gian Euclidean nhúng trong mỗi ảnh sử dụng một cấu hình mạng neural tích châp học sâu (deep convolutional network). Mạng được huấn luyện sao cho khoảng cách L2 bình phương trong không gian nhúng là tương ứng trực tiếp với độ tương tự của khuôn mặt. Cụ thể, các khuôn mặt của cùng một người sẽ có khoảng cách nhỏ và các khuôn mặt của các người khác nhau sẽ có khoảng cách lớn (Hình 2). Hình 2. Huấn luyện mạng nơ ron tự động trích rút đặc trưng. Mạng được huấn một cách trực tiếp để đầu ra của nó trở thành một vector đặc trưng 128 chiều sử dụng hàm chi phí bộ ba (tripletbased loss function). Một bộ ba (triplet) được định nghĩa bao gồm hai khuôn mặt của cùng một người - positive và một khuôn mặt của người khác – negative. Mục tiêu của hàm chi phí là phân tách cặp khuôn mặt positive ra khỏi khuôn mặt negative sử dụng một lề khoảng cách - distance margin. Từ các độ đo thu được, thuật toán sẽ ước lượng giá trị của hàm chi phí (tripletbased loss function) dựa trên việc so sánh khoảng cách giữa 2 tập đặc trưng trong đó có 2 tập đặc trưng được sinh ra từ 2 ảnh khuôn mặt khác nhau của một người (người thứ nhất) và tập đặc trưng thứ 3 được sinh ra từ ảnh khuôn mặt của người khác (người thứ hai). Công nghệ thông tin & Cơ sở toán học cho tin học Nguyễn Thị Thanh Tân, “Nâng cao độ chính xác nhận dạng và bộ phân lớp SVM.” 152 Hình 3. Phân lớp khuôn mặt người. Các giá trị ước lượng của hàm chi phí sau khi tính sẽ được lan truyền ngược từ lớp cuối cùng đến lớp đầu tiên của mạng để tinh chỉnh trọng số (cập nhật lại trọng số) trên các lớp mạng. Quá trình tính toán, ước lượng và cập nhật trọng số của mạng được lặp đi lặp lại liên tục cho đến khi giá trị của hàm chi phí tripletbased loss function thỏa mãn điều kiện đã cho. Lặp lại các bước trên đối với toàn bộ tập dữ liệu huấn luyện cho đến khi thuật toán huấn luyện mạng hội tụ. Mô hình phân lớp khuôn mặt được mô tả cụ thể trên hình 3. Kết quả thực nghiệm cho thấy việc sử dụng các lớp mạng học sâu để trích chọn đặc trưng cho độ chính xác cao. Do thuật toán được huấn luyện với tập dữ liệu lớn, đa dạng nên các đặc trưng phát hiện được thường ít bị ảnh hưởng bởi nhiễu và các tính chất nghiêng, xoay của ảnh. Tuy nhiên, do mạng được kiến trúc nhiều lớp và số liên kết giữa các lớp mạng rất lớn nên việc tính toán trên mạng thường mất nhiều thời gian. Điều này dẫn tới tốc độ tổng thể của thuật toán nhận dạng sẽ bị ảnh hưởng. Vì vậy, để đảm bảo thuật toán có thể đáp ứng tính thời gian thực (real-time) trong quá trình nhận dạng, chúng tôi đã tận dụng khả năng tính toán GPU (Graphic Proccessing Unit), cho phép việc tính toán trên các lớp mạng thực hiện theo cơ chế song song. 3. ĐÁNH GIÁ THỰC NGHIỆM 3.1. Độ đo đánh giá hiệu quả Quá trình đánh giá thực nghiệm được chia thành 2 công đoạn: Đánh giá hiệu quả của mô hình phát hiện khuôn mặt người trên khung hình webcam và đánh giá độ chính xác nhận dạng. Hiệu quả của mô hình phát hiện khuôn mặt được đánh giá dựa trên các độ đo được định nghĩa cụ thể trong phần sau đây: Độ chính xác phát hiện khuôn mặt DP (Detection Precision): Được tính bằng số vùng khuôn mặt phát hiện đúng trên tổng số khuôn mặt cần phát hiện. Khả năng tìm hết DR (Detection Recall): Được tính bằng số vùng khuôn mặt phát hiện đúng trên tổng số vùng khuôn mặt phát hiện đúng và số vùng không được phát hiện. Độ trung bình điều hòa DM (Dectection F-Measure): Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 54, 04 - 2018 153 DM = (2×FDP*FDR)/ (FDP+FDR) 3.2. Môi trường thực nghiệm Chương trình thực nghiệm được cài đặt trong môi trường python, sử dụng các thư viện NumPy [14] cho việc biểu diễn, lưu trữ và thao tác dữ liệu, thư viện opencv [13] để thực hiện các thai tác xử lý ảnh cơ bản, thư viện Scikit-Learn [15] cho việc thử nghiệm các mô hình học máy (mạng neural, mô hình svm, v.v.). Chương trình được thử nghiệm trên hệ điều hành Windows 10, máy PC tốc độ 2.4GHz, bộ nhớ 6GB. 3.3. Dữ liệu thực nghiệm Hiệu quả của mô hình nhận dạng được đánh giá trên các bộ cơ sở dữ liệu chuẩn (chứa các khung hình được thu nhận từ các thiết bị camera, webcam khác nhau), được công bố dùng chung cho các nhóm nghiên cứu trên thế giới, được cung cấp tại [16]. Đây là các CSDL dùng chung cho các nhóm nghiên cứu. Thông tin của CSDL mẫu được mô tả cụ thể như sau: Cơ sở dữ liệu UOF: Được cung cấp bởi trường đại học Essex của Anh (University of Essex, UK), bao gồm 4 tập dữ liệu: faces94, faces95, faces96 và grimace. Ảnh trong cơ sở dữ liệu là ảnh màu 24 bit định dạng dạng JPEG. Tập dữ liệu chứa một tập hợp các hình ảnh khuôn mặt gồm 395 cá nhân (cả nam và nữ) với 20 ảnh cho mỗi cá nhân, tổng cộng có 7900 hình ảnh. Tất cả khuôn mặt chủ yếu được thực hiện bởi các sinh viên đại học năm đầu tiên có độ tuổi từ 18 đến 20 và một số người lớn tuổi, một số người đeo kính, có râu và thuộc nhiều chủng tộc khác nhau. Cơ sở dữ liệu FEI: Bao gồm các tập dữ liệu: Fei_P1, Fei_P2 và Fei_P3. Các khuôn mặt được thu thập tại Phòng thí nghiệm Trí tuệ nhân tạo FEI - Paulo, Brazil từ 200 sinh viên và nhân viên cảu FEI (độ tuổi từ 19 đến 40). Các khung hình được thu nhận bởi một thiết bị camera với góc quay đầu lần từ 00 tới 1800. Mỗi khung hình có kích thược 640x480 pixel. Cơ sở dữ liêu JAFFE: Chứa các khuôn mặt nữ Nhật Bản, được chụp tại khoa tâm lý học của Đại học Kyushu, Nhật Bản, bao gồm 213 hình ảnh của 7 biểu hiện khuôn mặt (6 biểu hiện cảm xúc cơ bản trên khuôn mặt + 1 trung tính), được chụp bởi 10 người phụ nữ Nhật Bản Cơ sở dữ liệu LFW: Bao gồm các khuôn mặt được gắn nhãn trong tự nhiên. Bộ dữ liệu gồm 13233 hình ảnh khuôn mặt của 5749 người được thu thập từ web. Mỗi khuôn mặt được gắn nhãn với tên của người đó. 3.3. Kết quả thực nghiệm Để các kết quả thực nghiệm chính xác và trực quan, trong qúa trình thử nghiệm, chúng tôi đã so sánh hiệu quả của mô hình phát hiện khuôn mặt đề xuất với mô hình phát hiện khuôn mặt sử dụng đặc trưng Haar-Like và bộ phân lớp AdaBoost (được quy ước gọi tên là phương pháp Haar-Like AdaBoost) [9]. Các kết quả thực nghiệm được mô tả cụ thể trên bảng 1. Bảng 1. Đánh giá hiệu quả thuật toán phát hiện khuôn mặt. Dữ liệu thử nghiệm Số mẫu Phương pháp đề xuất Phương pháp Haar- Like AdaBoost DP DR DM DP DR DM Công nghệ thông tin & Cơ sở toán học cho tin học Nguyễn Thị Thanh Tân, “Nâng cao độ chính xác nhận dạng và bộ phân lớp SVM.” 154 Faces96 3040 98.42 99.2 98.81 93.75 94.50 94.12 FEI_P1 700 98.43 98.43 98.43 80.71 80.71 80.71 FEI_P2 700 99.14 99.14 99.14 83 83.00 83.00 FEI_P3 700 97.43 97.43 97.43 79.43 79.43 79.43 JAFFE 213 100 100 100 100 100 100 LFW 13233 99.74 99.74 99.74 93.27 93.27 93.27 Hiệu quả của mô hình nhận dạng tổng thể được đánh giá dựa trên độ chính xác nhận dạng, được định nghĩa cụ thể như sau: R_Precision = Số khuôn mặt nhận dạng đúng/Tổng số khuôn mặt cần nhận dạng. Quá trình đánh giá thực nghiệm được thực hiện lần lượt trên từng tập dữ liệu. Mỗi tập dữ liệu được chia ngẫu nhiên thành 2 tập training và testing theo tỷ lệ 90/10 (90% số mẫu để huấn luyện mô hình và 10% số mẫu còn lại để kiểm thử). Việc huấn luyện mô hình gồm 2 công đoạn: Huấn luyện bộ trích chọn đặc trưng (mô hình mạng neural học sâu FaceNet) và huấn luyện bộ phân lớp (hình 3). Quy trình huấn luyện được tiến hành cụ thể như sau: Từ tập mẫu huấn luyện đầu vào, trước tiên bộ phát hiện khuôn mặt sẽ tiến hành tìm kiếm, định vị và crop vùng ảnh khuôn mặt trên mỗi khung hình. Toàn bộ tập ảnh khuôn mặt crop sau đó sẽ được sử dụng làm đầu vào để huấn luyện mô hình trích chọn đặc trưng. Tập đặc trưng đầu ra của mô hình trích chọn đặc trưng sẽ được sử dụng làm đầu vào để huấn luyện mô hình phân lớp SVM. Các kết quả thực nghiệm được mô tả cụ thể trên bảng 2. Trong đó, hiệu quả của mô hình đề xuất được so sánh với phương pháp phân lớp sử dụng đặc trưng PCA và bộ phân lớp Eigenface (được quy ước gọi tên là phương pháp PCA- Eigenface). Bảng 2. Đánh giá độ chính xác của thuật toán nhận dạng. Tập dữ liệu thử nghiệm Số khuôn mặt cần nhận dạng R_Precision (%) PP đề xuất PCA- Eigenface Faces96 3040 98.02 83.23 FEI_P1 700 98.16 82.12 FEI_P2 700 98.74 83.62 FEI_P3 700 97.55 75.43 JAFFE 213 99.02 95.17 LFW 13233 95.26 78.13 Từ các kết quả thực nghiệm cho thấy phương pháp đề xuất đạt được độ chính xác cao (trên 95%) trên tất cả các tập dữ liệu thử nghiệm. Trong khi đó độ chính xác của Phương pháp PCA- Eigenface bị ảnh hưởng nhiều bởi độ sáng và độ dịch chuyển của ảnh đầu vào. 4. KẾT LUẬN Bài báo này đề xuất một mô hình tổng thể cho việc nhận khuôn mặt người từ webcam. Trong đó tập trung chính vào công đoạn phát hiện và nhận dạng khuôn mặt. Hiệu quả của mô hình đã được đánh giá trên các tập dữ liệu chuẩn, dùng chung cho cộng đồng nghiên cứu về nhận dạng khuôn mặt người trên thế giới bao gồm cơ sở dữ liệu UOF, FEI, JAFFE và LZW. Quá trình đánh giá thực nghiệm được chia thành 2 bước, trong đó hiệu quả của phương pháp phát hiện khuôn mặt Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 54, 04 - 2018 155 được đánh giá dựa trên 3 độ đo là độ chính xác (Precision), khả năng tìm hết (recall) và độ đo F-measure, hiệu quả của của mô hình nhận dạng khuôn mặt được đánh giá dựa trên độ chính xác nhận dạng. Các kết quả thực nghiệm cho thấy mô hình đề xuất đạt được độ chính xác cao và ổn định trong môi trường thực tế, có thể ứng dụng mô hình để giải quyết các bài toán ứng dụng điển hình như hệ thống camera giám sát cho phép phát hiện, nhận dạng và cảnh báo các đối tượng lạ mặt đột nhập tại các khu vực an ninh, nhà ga, sân bay, các cơ quan chính phủ, tòa nhà, chung cư, tra cứu thông tin tội phạm, chấm công tự động tại các khu công nghiệp, nhà máy, công trường, cải thiện chất lượng của các thuật toán giao tiếp người-máy, v.v... TÀI LIỆU THAM KHẢO [1]. Florian Schroff, Dmitry Kalenichenko, and James Philbin. Facenet, “A unified embedding for face recognition and clustering”, In Proc. of the IEEE Conference on Computer Vision and Pattern Recognition, (2015), pp. 815–823. [2]. Hiyam Hatem, Zou Beiji,Raed Majeed, “A Survey of Feature Base Methods for Human Face Detection”, International Journal of Control and Automation, Vol.8, No.5, (2015), pp. 61-78. [3]. Hong-Wei Ng and Stefan Winkler, “A data-driven approach to cleaning large face datasets”, IEEE International Conference on Image Processing (ICIP), 265(265):530, (2014). [4]. Hwai-Jung Hsu and Kuan-Ta Chen, “Face recognition on drones: Issues and limitations”, In Proc. of the First Workshop on Micro Aerial Vehicle Networks, Systems, and Applications for Civilian Use, DroNet ’15, (2015), pp. 39–44. [5]. N. Dalal, B. Triggs, “Histograms of Oriented Gradients for Human Detection”. IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2005. [6]. Neeraj Singla, IISugandha Sharma, "Advanced Survey on Face Detection Techniques in Image Processing", IJARCST 2014, vol. 2, (2014). [7]. Omkar M Parkhi, Andrea Vedaldi, and Andrew Zisserman, “Deep face recognition”. Proceedings of the British Machine Vision, Vol 1, (2015). [8]. Vahid Kazemi et al, “One millisecond face alignment with an ensemble of regression trees”. In Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition, (2014), pp. 1867–1874. [9]. Viola, P. and Jones, “Rapid object detection using a boosted cascade of simple features”, In Proc., IEEE Conf. on Computer Vision and Pattern Recognition, (2001). [10]. Y. Sun, X. Wang, and X. Tang, “Deeply learned face representations are sparse, selective, and robust”. Vol 1, (201), pp. 1412-1265. [11]. Y. Taigman, M. Yang, M et al, “Closing the gap to human-level performance in face verification”, In IEEE Conf. on CVPR, (2014). [12]. Zhenyao Zhu, P. Luo, X. Wang, and X. Tang, “Recover canonicalview faces in the wild with deep neural networks”, (2014), pp. 1404-3543. [13]. [14]. Công nghệ thông tin & Cơ sở toán học cho tin học Nguyễn Thị Thanh Tân, “Nâng cao độ chính xác nhận dạng và bộ phân lớp SVM.” 156 [15]. [16]. ABSTRACT IMPROVING THE ACCURACY OF HUMAN FACE RECOGNITION BASED ON DEEP CONVOLUTIONAL NEURAL NETWORK (D-CNN), HOG FEATURES AND SVM CLASSIFIERS This paper proposes an efficient method for improving the accuracy of face recognition directly from the camera/webcam or frame images. Basically, the propose method focus on three main step: i) improving the accuracy of the face detection algorithm; ii) improving the quality of the feature face selection model; iii) improving the accuracy of the face classification algorithm. The face detection phase uses HOG features and SVM linear classifier. The second phase bases on the Deep Convolutional Neural Network (D-CNNs) model to automatically extract facial features. Based on the extracted features, the SVM classifiers is used to recognize each face in the final phase. The experiments with UOF, FEI, JAFFE and LZW dataset is presented to show the efficiency of the proposed method. Experimental results show that the proposed method achieves high accuracy and stability on the test data sets collected from the actual environment. Keywords: Face, Frame, Classification, Recognition, Deep Convolutional Neural Network, Preprocessing, Face alignment, Face detection, Feature Extraction, Face database. Nhận bài ngày 05 tháng 12 năm 2017 Hoàn thiện ngày 11 tháng 02 năm 2018 Chấp nhận đăng ngày 10 tháng 4 năm 2018 Địa chỉ: Khoa Công nghệ Thông tin, Đại học Điện lực. *Email: thanhtan.nt@gmail.com.
File đính kèm:
- nang_cao_do_chinh_xac_nhan_dang_khuon_mat_dua_tren_mo_hinh_c.pdf