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ế.

pdf 9 trang phuongnguyen 2700
Bạn đang xem 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", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

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

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:

  • pdfnang_cao_do_chinh_xac_nhan_dang_khuon_mat_dua_tren_mo_hinh_c.pdf