Vì vậy,việc loại bỏ mắt kính trên khuôn mặt là một bước quan trọng để nâng cao hiệu quả của các giải pháp nhận dạng khuôn mặt.. Dựa trên kết quả khảo sát, nhóm tác giả đề xuất thực hiện
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA KY THUAT MAY TINH
HOANG THI BÍCH LIEU
PHAM THANH DAT
KHOA LUAN TOT NGHIEP
TREN ANH KHUON MAT NGUOI
Eyeglass detection and removal for face recognition
KY SU HE THONG NHUNG VA ROBOTIC
TP HO CHI MINH, 2021
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA KY THUAT MAY TINH
HOANG THI BICH LIEU - 16521713
PHAM THANH DAT - 16521500
KHOA LUAN TOT NGHIEP
PHÁT HIỆN VÀ LOẠI BO MAT KÍNH
TREN ANH KHUÔN MAT NGƯỜI
Eyeglass detection and removal for face recognition
KY SU HE THONG NHUNG VA ROBOTIC
GIANG VIEN HUONG DAN
TIEN SI DOAN DUY
TP HO CHi MINH, 2021
Trang 3THONG TIN HOI DONG CHAM KHÓA LUẬN TOT NGHIỆP
Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số 64/QD-DHCNTT
ngày 26 tháng 01 năm 2021 của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
Trang 4Khoa Kỹ thuật Máy tính đã tạo điều kiện tốt nhất để chúng em có được một môi
trường học tập năng động và hiệu quả trong suốt quá trình học tập tại nhàtrường Nhờ có sự chỉ dạy và dẫn dắt của các thầy cô, chúng em đã được học tập
và tích luỹ được những kiến thức nền tảng của ngành Kỹ thuật Máy tính
Chúng em đặc biệt cảm ơn TS Đoàn Duy đã luôn hỗ trợ và hướng dẫn chúng
em trong suốt quá trình thực hiện đề tài Nhờ sự chỉ dẫn của thay, chúng em da
học hỏi được những kiến thức bồ ích và cần thiết, cũng như có cơ hội thực hành
và trau dồi những kiến thức trên
Cuối cùng, chúng em chân thành cảm ơn gia đình, bố mẹ, những người luôn ởbên cạnh ủng hộ, giúp đỡ chúng em có thời gian nghiên cứu dé tài và hết lòng
hỗ trợ chúng em về mặt tinh thần trong suốt thời gian thực hiện đề tài
Trong thời gian thực hiện khóa luận tốt nghiệp, dù đã cố găng hoàn thiện đề tài
nhưng không tránh khỏi những thiếu sót Chúng em rất hoan nghênh và chânthành cảm ơn các ý kiến đóng góp của Quý Thầy Cô và bạn đọc để khoá luận
được hoàn thiện hơn Chúng em hy vọng khóa luận này sẽ là một tài liệu tham
khảo hữu ích cho những ai yêu thích các lĩnh vực liên quan của đề tài
TP H6 Chí Minh, ngày 23 tháng 01 năm 2021
Sinh viên Hoàng Thị Bích Liễu
Sinh viên Phạm Thành Đạt
Tran trọng cam on!
Trang 5MỤC LỤC
Churong 1 /(9E2710077 5 HH, 2
LL nga on co na 2
I A4 0á na 3
1.3 Đối tượng nghiên cứu eccssreeeertreeerrrertrirrttrirrtrirrrtrirrerrreerre 3 1.4 Phạm vi nghiÊn CỨU ss¿s*èk*EEEketEEEktEEkktEErkriktririirieikiirierrrrierrrke 4 1.5 Gidi han G6 nh ,.HA 4 0121-8289) 1.700Nảg.<—.- ÒỎ 5 2.1 Tình hình nghiên cứu liÊn quan e ccccccssccvecxeeerteereerrteerrsrsrrrtrrsrrrrree 5 2.1.1 Tình hình nghiên cứu quốc tẾ -.ccccecrrrecccvcrrrrreeeverrrrrrcee 5 2.1.2 _ Tình hình nghiên cứu trong nƯỚC «cce<e+eetereerserererrkerrreree 6 2.2 Warn dé cOn 0 ệnớg'iaaaddỔỔ£ÝÝ 7
Chương 3 NOI DUNG NGHIÊN CU U.ssssssssssssssssssssssesssssssseessssssnesesssasssnssensssssnnesesssaseet 9 3.1 Mục tiêu nghiên CỨU 2-2 x2 HHHYHHY Hà Hàng Hàng 9 3.2 Giai php dé XUat na .ẽ.ẽẽẽ 10
3.2.1 Bài toán xác định khuôn mặt người — Haar Cascade 10
3.2.2 _ Thực hiện chuyển đổi ảnh mức xám — Grayscale Convert 11
3.2.3 Xác định vùng nhận dạng mắt kính — Glass Covered Region 12 3.2.4 Xác định có mắt kính trên ảnh khuôn mặt TIƯỜI -c-ecse-ceee 13 3.2.5 Thực hiện loại bỏ mắt kính -iicicccccccevvvvvvvvvvvvSEEEEEEEEEErrrrrrrrre 15
3.2.6 _ Xây dựng chương trình demo c ccxererresrrrxerrrrsrrrrerrrrree 18
3.3 Cai đặt môi trưỜng -c-ccrseristrrrttrirttirtriiriiriiriiriiiriiirrirrrrii 20
3.3.1 Môi trường được sử dụng trong đề tài: -.css ccsere 20
Trang 63.3.2 Cải đặt OpenCV với ++: -eccccerireriirkiiriiiiiiiiriiriirir 20
Chương 4 CƠ SỞ LÝ THUYẾT +ces2irecttteretttrrvrrtrrtrrrrrrrrrrrrrrrerre 21
4.1 Thu viện xử lý ảnh OpenCV, - sec 21
4.2 Những thuật tốn xử lý ảnh liên quan đề tài -:rccceccerrrrccee 23
4.2.1 Module Haar Cascade - c-cccsererrerriserrtrirrrirkrirrrrirree 23
4.2.2 Phương pháp Grayscale Convert ccssesssssecssesssesssesssesssessssesssesssessnsessseeses 24
4.2.3 Region Of Interest — ROIL -«-ecseekketrkiiEiiiiiiiiiirree 26
4.2.4 2D ConvỌUfiOn c«cccssrexreersrrrtrrtrirrrrtrirrrirrrrrrrirrrrrrrrrrrree 27
4.2.5 Làm mờ ảnh -+c+xkst+kkrtEEEirtEiirEiEiiiiiiirie 28
4.2.6 Bộ lọc LapÏaC14T - <5 5+‡ccxk‡kekexkerkerkkEkkkkktkikkiikiikrrrrrrrrrirrrrie 32
4.2.7 Bộ lọc Sobel cccc.HHHH HH he 36
4.2.8 Phương pháp phát hiện cạnh cắt ngang -cs+ 39
4.2.9 Thuật tốn Canny Edge DefectIon -cse-cererserrerrreerxee 41
Chương 5 KẾT QUA THỰC NGHIỆM -oir+eceetirreeeetrrreerrrrrserte 48
5.1 Cơ sở dữ liỆU Si HH rên 48
5.1.1 _ Chi tiết số lượng ảnh e -«ccsseecerreeetrrcrerrrerrrrererre 485.1.2 _ Các thơng số của ảnh ecs-xecceerrreereerrrrererrrrrrerrre 48
5.1.3 Nguồn ảnh thu thập trên mạng -+-s+:+cesttccztrrcczrre 48
5.2 Kết quả thu được «cceereccerreeetrtervrrirrtrtrrtrrirrtrtrrrrrirrerrrrre 49
Trang 76.2 Hướng phát triển của đề tài -.e-s-+ecesteecetrreretrrrrtrrrrrrrrrrrrrrrrte
TÀI LIỆU THAM KHẢO
Trang 8DANH MỤC HÌNH
Hình 3.2-1 Lưu đồ giải pháp dé Xuất - ¿2-5 St+SxeEE2EE2E2 2E EEEerkerkrrkrree 10Hình 3.2-2 Kết quả áp dụng module Haar Cascade xác định khuôn mặt 11Hình 3.2-3 Kết qua áp dung Grayscale Convert c c.cccccscssscsssssssssesessessessessessessessease 12
Hình 3.2-4 Xác định GCR trên khuôn mặt 5 << =****+++++£#eeecceezz+ 12
Hình 3.2-5 Kết quả áp dụng Gaussian Blur dé làm mờ ảnh -¿ 13Hình 3.2-6 Kết quả áp dụng Canny Edge Detection dé lọc cạnh biên 13Hình 3.2-7 Xác định đường viền ngoài - 22 2 x+E+2E+2EE+EEeEEerEerrkerkerrrrex 14Hình 3.2-8 Xác định đường vién trong - ¿+ x+++EE+E++EzEerEerkerxerkererree 14Hình 3.2-9 Kết qua toa độ điểm ảnh thuộc mắt kính - ¿2 22 s52 15Hình 3.2-10 Thực hiện quét ảnh theo chiỀU đỌC ¿- c5 +keEt+EeEeEeExerrrkerxereree 16Hình 3.2-11 Hình ảnh phóng to ảnh xét theo chiều đọc -s- s52 s2 16Hình 3.2-12 Thay thế các điểm ảnh ROI bằng điểm ảnh màu - L7Hình 3.2-13 Kết quả thực nghiệm loại bỏ và khôi phục ảnh - - 18Hình 3.2-14 Sơ đồ xây dựng chương trình demo 2-2 2 2+s+x+zx+zs+zsz +2 18Hình 3.2-15 Giao diện đưa ảnh đầu vàO -¿- - + Sk+E+E£EE+EEEEeEerkererkererrrrs 19Hình 3.2-16 Giao điện cho kết quả ảnh đầu ra 2 -¿- 5c ©+©sz2zx++z++zx+zrxz 19
Hình 4.2-1 Ví dụ bộ loc áp dung trong Haar Cascade -«-+-«<++c+ss++ 23
Hình 4.2-2 Ví dụ bộ lọc Haar trên ảnh - - + * 333322 EEE+eeeeeeeeeeeszee 24
Hình 4.2-3 Ví dụ chuyển đổi ảnh màu về ảnh xám 2-2-2222 ++zxzzs+ 25
Hình 4.2-5 Ví dụ mình hoạ phép toán 2D Convolution ‹ - «<< ss+<sss+ 28
Hình 4.2-6 Minh hoạ cách xác định trọng số của Gaussian kernel - 29Hình 4.2-7 Kết quả thực nghiệm bộ lọc Median -2- 2 2 +s£+zz+zx+zxzzsz 30Hình 4.2-8 So sánh kết quả bộ lọc Gauss và bộ lọc Bilateral - -«- 32Hình 4.2-9 Hai kernel phổ biến trong bộ lọc Laplacian 2 c5 s2 s2 s2 33Hình 4.2-10 Biểu diễn của công thức LoG trên mặt phang (X, y) - 34
Hình 4.2-11 Minh hoa phản ứng của LoG với một bước cạnh - - + 35
Trang 9Hình 4.2-13 Hướng của ðTadI€Ti( - - - c1 3113910118911 119111 11 1 1 1 rt 44 Hình 4.2-14 Ví dụ xác định hướng ørad1€nI[ - «5s sxss*cseeseeeserserseesee 45
Hình 4.2-15 Ví dụ ngưỡng maxVal và min ValL - + + ss + +sekseeeeeeeeereere 46
Hình 5.2-1 Anh đầu vào trường hợp có kính mà không có khuôn mặt người 50Hình 5.2-2 Anh đầu vào trường hợp có khuôn mặt người nhưng không có kinh 50
Hình 5.2-3 Anh minh hoạ tỉ lệ phục hồi hình ảnh khi loại bỏ mắt kính 52
Trang 10Bảng 5.1-1 Cơ sở dữ liệu ảnh
DANH MỤC BANG
Bảng 5.2-1 Bảng kết quả số lần chạy thực nghiệm từng loại hình anh Bảng 5.2-2 Kết quả thực nghiệm 2-2 2 + SE‡EE#EE£EEEEEEEEEEEEEEEEEkrrkrrkrree
Trang 11DANH MỤC TỪ VIET TATAAM Active Appearance Model
GAN Genertive Adversarial Networks
GCR Glass Covered Region
GUI Graphical User Interface
HPF High Pass Filter
LFP Local Feature Based
LoG Laplacian of Gaussian
LPF Low Pass Filter
NMS Non — maximum Suppression
OCR Optical Character Recognition
PC Personal Computer
PCA Principal Component Analysis
ROI Region Of Interest
RGB Red Green Blue
SAIL Stanford Artificial Intelligence Language
Trang 12TOM TAT KHÓA LUẬN
Trong những năm gần đây, các giải pháp nhận diện khuôn mặt người ngày càng trở
nên pho biến Các phương pháp phát hiện và nhận diện khuôn mặt thường có dữliệu xử lý dựa trên các khuôn mặt không đeo kính Đối với các trường hợp ngườiđeo kính thì độ chính xác nhận dạng sẽ giảm đáng kể Trong khi đó, thực tẾ cáctrường hợp người đeo kính cần được nhận dạng chiếm một tỉ lệ khá cao Vì vậy,việc loại bỏ mắt kính trên khuôn mặt là một bước quan trọng để nâng cao hiệu quả
của các giải pháp nhận dạng khuôn mặt.
Trên thế giới đã có một số công trình nghiên cứu liên quan đến phát hiện và loại bỏ
kín mắt trên ảnh Tiêu biểu có nghiên cứu của Jang và các cộng sự công bố năm
2010 [1] Đề tài sử dụng phương pháp Active Appearance Model — AAM để loại bỏmắt kính trên hình ảnh khuôn mặt Phương pháp này là một giải pháp hiệu quả cho
bài toán nhận dạng khuôn mặt người khi đeo kính Năm 2004, Chengyu Wu và các
cộng sự cũng công bố nghiên cứu sử dụng phương pháp Principal ComponentAnalysis — PCA để tái tạo lại ảnh sau đó loại bỏ kính khỏi gương mặt [2] Hạn chếcủa nghiên cứu này là chỉ ứng dụng cho ảnh đen trắng
Các công trình nghiên cứu trong nước, trong khi đó, chủ yếu tập trung vào nhận
dạng và xử lý anh khuôn mặt không đeo kính Theo tìm hiểu của nhóm tác giả, hiệntại chưa có công trình nghiên cứu nào được công bồ trong nước về phát hiện và loại
bỏ kính mắt khỏi ảnh gương mặt
Dựa trên kết quả khảo sát, nhóm tác giả đề xuất thực hiện nghiên cứu “Phát hiện vàloại bỏ mắt kính trên ảnh khuôn mặt người” Kết quả nghiên cứu của đề tài gópphần hoàn chỉnh và nâng cao tính hiệu quả của các giải pháp nhận dạng khuôn mặt.Bên cạnh đó, nghiên cứu cũng có khả năng triển khai ứng dụng trên nhiều lĩnh vực
như kiểm soát an ninh, y té, thoi trang va ban lẻ.
Trang 13Chương 1 MỞ ĐẦU
1.1 Lý do thực hiện đề tài
Trong những năm gần đây, các giải pháp nhận diện khuôn mặt người ngày càng trởnên phô biến Nhận diện khuôn mặt người — Face Recognition là một lĩnh vực
nghiên cứu của ngành Computer Vision, và cũng được xem là một lĩnh vực nghiên
cứu của ngành Biometrics, tương tự như nhận dang vân tay — Fingerprint
Regconition, hay nhận dạng mống mắt — Iris Regconition Sự khác biệt giữa cácphương pháp này nằm ở bước trích chọn đặc trưng — Feature Extraction của mỗilĩnh vực So với nhận dạng vân tay và mong mat, nhận diện khuôn mặt người cónguồn đữ liệu phong phú hơn (hình ảnh, video, camera, ) và ít đời hỏi sự tươngtác có kiểm soát, có thê lay được Input một cách dé dang mà không cần bat kì tương
tác trực tiếp nao, trong khi các phương pháp còn lại dé liệu Input lấy từ con người
đòi hỏi có sự hợp tác trong môi trường có kiêm soát.
Hiện nay các phương pháp nhận dạng khuôn mặt được chia thành nhiều hướng theocác tiêu chí khác nhau, nhưng cơ bản có thể gôm vào ba loại chính: phương pháptiếp cận toàn cục — Global (như Eigenfaces — PCA, Eisherfaces — LDA); phương
pháp tiếp cận dựa trên các đặc điểm cục bộ - Local Feature Based (như LBP, Gabor
wavelets); và phương pháp lai — Hybrid là sự kết hợp của hai phương pháp toàn cục
và cục bộ Các ứng dụng cụ thể của nhận dạng khuôn mặt dựa trên hai mô hìnhnhận dạng Thứ nhất, bài toán xác định danh tính (Identification) Trong bài toánnày, chúng ta cần xác định danh tính của ảnh kiểm tra đầu vào dựa vào một cơ sở
dữ liệu có sẵn Bài toán có tính chất 1:N, xác định một đối tượng trong N đối tượng.
Thứ hai, bài toán xác thực danh tính (Verification) Trong bài toán này, chúng ta
cần xác định hai ảnh có cùng thuộc về một người hay không Bài toán này có tínhchất 1:1, xác định một ảnh đầu vào có thuộc về một đối tượng hay không
Hiện nay đã có rất nhiều công trình nghiên cứu về bài toán xác định khuôn mặt
người từ ảnh đen trăng, ảnh xám, đến ảnh mau, Các nghiên cứu di từ bài toán đơn
giản là ảnh chỉ chứa một khuôn mặt người nhìn thắng vào thiết bị thu hình và đầu ở
Trang 14tư thế thăng đứng, cho đến ảnh màu với nhiều khuôn mặt người trong cùng một ảnh,
khuôn mặt có quay một góc nhỏ, hay bị che khuất một phần, và với ảnh nền phức
tạp (ảnh chụp ngoài thiên nhiên) nhằm đáp ứng nhu cầu thật sự cần thiết của con
người Tuy nhiên các phương pháp phát hiện và nhận dạng khuôn mặt thường có dữ
liệu xử lý dựa trên các khuôn mặt không đeo kính Đối với các trường hợp ngườiđeo kính thì độ chính xác nhận dạng sẽ giảm đáng kể
Trong khi đó, thực tế các trường hợp người đeo kính cần được nhận dạng chiếmmột tỉ lệ khá cao Vì vậy, việc loại bỏ mat kính trên khuôn mặt là một bước quan
trọng dé nâng cao hiệu qua của các giải pháp nhận dạng khuôn mặt Nếu hoàn thành
tốt, nhóm có thể học được rất nhiều điều Bên cạnh đó, kết quả nghiên cứu của đề
tài không chỉ nâng cao hiệu quả của các phương pháp nhận diện mà còn có tiềm
năng phát triển trong ngành thời trang và bán lẻ hay việc kiểm soát an ninh, kiểm
soát truy cập và phát hiện tội phạm tại các nơi công cộng,
Dựa trên kết quả tìm hiểu, nhóm nghiên cứu đề xuất thực hiện đề tài “Phát hiện vàloại bỏ mắt kính trên ảnh khuôn mặt người”
1.2 Mục tiêu
Tìm hiểu phương pháp nhận biết và loại bỏ mắt kính trên khuôn mặt, phục vụ cho
bài toán nhận dạng khuôn mặt người.
Đề hoàn thành mục tiêu đặt ra, cần thực hiện các nhiệm vụ sau:
- _ Nhận biết mắt kính trên ảnh khuôn mặt người;
- Loại bỏ mắt kính trên ảnh khuôn mặt;
- Phuc hồi ảnh khuôn mặt không có kính;
- _ Xây dựng được mô hình thực nghiệm với ảnh thực;
1.3 Đối tượng nghiên cứu
- Phuong pháp xác định khuôn mặt người;
- Phuong pháp loại bỏ mắt kính trên khuôn mặt người;
- Phuong pháp nhận dạng khuôn mặt;
Trang 151.4 Phạm vi nghiên cứu
Nội dung 1: Nghiên cứu tài liệu
+ Nghiên cứu các tài liệu liên quan và xây dựng kế hoạch thực hiện đề tài
+ Nghiên cứu các giải thuật xử lý ảnh liên quan đến phạm vi đề tài
+ Đánh giá kết quả các công trình nghiên cứu và khả năng áp dụng cho bài toán
của đề tài
Kết quả dự kiến: Báo cáo tổng quan và kết quả đánh giá các đề tài liên quan
Nội dung 2: Xây dựng chương trình phát hiện kính mắt trên ảnh khuôn mặt
+ Tiền xử lý ảnh trước khi xử lý nhận dạng;
+ Phân vùng đối tượng trên ảnh
+ Nhận biết vùng kính mắt
Kế quả dự kiến: khoanh vùng được kính mắt trên ảnh khuôn mặt
Nội dung 3: Loại bỏ kính mắt và phục hồi khuôn mặt không có kính
+ Loại bỏ kính mắt khỏi ảnh khuôn mặt
+ Phục hồi ảnh khuôn mặt không có kính
Kết quả dự kiến: Phục hồi được ảnh khuôn mặt không có kính
1.5 Giới hạn đề tài:
- _ Nhận diện được 500 hình ảnh trực diện khuôn mặt có đeo kính (loại kính cận
có viền cỡ vừa màu đen) và khuôn mặt không đeo kính
- Tilé số lượng hình ảnh loại bỏ được viền mắt kính khỏi khuôn mặt người
>70% trong số 500 ảnh
- Ti lệ phục hồi ảnh khuôn mặt người sau khi loại bỏ mắt kính >80% so với
ảnh khuôn mặt người không đeo kính (đối với tập dữ liệu ảnh tự chụp)
- Xây dựng chương trình demo với giao diện đơn giản
Trang 16Chuong 2 TONG QUAN
2.1 Tinh hình nghiên cứu liên quan
2.1.1 Tinh hình nghiên cứu quốc tế
Nhận dạng khuôn mặt đã trở thành một trong những chủ đề nghiên cứu được quantâm và phát triển từ thập kỷ trước Do có khả năng ứng dụng rộng rãi trong việc
kiểm soát truy cập, tương tác người-máy, Trên thế giới đã có nhiều công trình
nghiên cứu liên quan đến phát hiện và loại bỏ kính mắt trên ảnh Một số công trình
Các vùng có mắt kính được phát hiện bằng phương pháp AAM, sau đó một mô hình
elip được sử dụng đề phù hợp với vị trí của mắt Sau khi loại bỏ các khối mắt, các
vùng còn sót lại được nâng cao hơn nữa và được chiết xuất chính xác hơn băngphương pháp Adaptive Threshold — Ngưỡng thích ứng Cuối cùng, hình ảnh tông
hợp được tạo ra bằng phương pháp Iterative Error Compensation — Bù lỗi lặp lại
Kết qua thử nghiệm cho thấy đây là một giải pháp hiệu quả dé nhận dạng khuôn mặt
bị che khuất bởi gọng dày
- Automatic Eyeglasses Removal from Face Images của Chengyu Wu [2]
Năm 2004, Chengyu Wu va các cộng sự cũng công bố nghiên cứu sử dung phươngpháp Principal Component Analysis — PCA dé tái tao lại ảnh sau đó loại bỏ kính
khỏi gương mặt.
Hệ thống có thể tự động loại bỏ mắt kính khỏi hình ảnh khuôn mặt đầu vào Hệ
thống bao gồm ba thành phần:
= Nhận dạng kính mất;
Trang 17“ Khoanh vùng kính mắt trên khuôn mặt;
= Loại bỏ kính mắt
Đầu tiên, sử dụng bộ phân loại kính mắt để xác định xem có kính mắt trên hình ảnhkhuôn mặt hay không Sau đó áp dụng chuỗi Monte Carlomethod của Morkov déxác định vị trí chính xác của mắt kính Cuối cùng, sử dụng phương pháp tiếp cận đểloại bỏ kính mắt trên hình ảnh khuôn mặt nguoi
- Eyeglasses removal by deep learning — GiangPham [4]
Tháng 5 năm 2019, GiangPham giới thiệu Glasson — một giải pháp cho các sản
phẩm kính mắt dùng thử ảo Trong quá trình phát triển sản phẩm gặp vấn đề khingười dùng đeo mắt kính, nên bắt buộc phải tháo mắt kính ra khi sử dụng sản phảmkính mắt dùng thử ảo GiangPham đã tiến hành nghiên cứu để giải quyết bài toán
bang cách áp dụng AI dé tháo kính ra khỏi khuôn mặt
Phương pháp áp dụng AI có thê giúp tránh lãng phí tài nguyên vào các phép toán,
thuật toán, xử lý ảnh không mang lại hiệu quả tốt mà chỉ tập trung vào các giải pháp
tối ưu GiangPham tiến hành xây dựng một model neuron-network bằng cách thử
nghiệm và so sánh hai phương pháp:
= Encoder/decoder với U — Net model.
= Genertive Adversarial Networks — GAN với Pix2Pix model.
Kết qua thử nghiệm cho thấy U — Net model cho kết qua tốt hơn Pix2Pix Từ đótiếp tục thực hiện training data (ánh sáng, màu sắc, độ tương phản, biến dạng, ) và
áp dụng cấu trúc ResNet để tránh mô hình xếp chồng Cuối cùng GiangPham sử
dụng phương pháp Attention dé xử lý anh và chất lượng hình ảnh được cải thiện ratnhiêu
2.1.2 Tinh hình nghiên cứu trong nước
Các công trình nghiên cứu trong nước, trong khi đó, chủ yếu tập trung vào nhận
dạng và xử lý ảnh khuôn mặt không đeo kính.
- _ Công nghệ nhận diện khuôn mặt khi đeo khẩu trang của VinAI [13]
Trang 18Tháng 3 năm 2020, Viện nghiên cứu Trí tuệ Nhân tạo VinAI Research công bốnghiên cứu thành công công nghệ nhận diện khuôn mặt chính xác và ồn định cả khi
sử dụng khâu trang Giúp Vingroup trở thành một trong những đơn vị đầu tiên trênthế giới nghiên cứu thành công công nghệ này
Theo đó, VinAI sử dụng mô hình học sâu (deep learning) mới nhất và đặc thù docác chuyên gia của Viện nghiên cứu và tối ưu hoá để nghiên cứu công nghệ nhậndiện 6n định Mô hình học sâu với thiết kế mô phỏng cách hoạt động của mạng lướithần kinh trong não người để huấn luyện và tự động trích xuất các thông tin có giátri trên một phần khuôn mặt
Kết quả nghiên cứu cho thấy khi giả lập đeo khẩu trang, hệ thống nhận diện củaVinAI đạt được độ chính xác tốt hơn đáng ké so với công nghệ hiện tại trên thế gidi
Điểm nỗi bật của công nghệ này là thuật toán và cách sử dụng công nghệ nhận diện.
- Nghiên cứu kỹ thuật nhận dạng khuôn mặt người Xây dựng hệ thống
camera chống trộm của Mai Xuân Phú [ I4]
Hệ thống camera giám sát ngày càng trở nên phô biến và đang được sử dụng rộng
rãi trong nhiều lĩnh vực với mục đích hỗ trợ an ninh cho các công ty, ngân hàng,
cửa hàng, Tuy nhiên, các camera chỉ có khả năng lưu trữ các dit liệu video và cần
thuê giám sát viên dé phát hiện có người xâm nhập
Nhằm giải quyết van đề trên, ThS Mai Xuân Phú đã thực hiện và công bố “Nghiên
cứu kỹ thuật nhận dạng khuôn mặt người Xây dựng hệ thống camera chống trộm”vào năm 2017 Phương pháp này đạt được hiệu quả nhất đỉnh, giảm bớt chi phí thuênhân công cũng như thời gian, không phụ thuộc vào yếu tố con người
2.2 Van đề còn tồn tại
- _ Các nghiên cứu của các nhóm tác giả trên đều đạt được những thành tựu nhất
định và góp phan phát triển thuật toán nhận diện khuôn mặt Tuy nhiên, cácnghiên cứu trên còn hạn chế là chỉ ứng dụng cho ảnh đen trắng
Trang 19- Ngoài ra, nhu cầu sử dụng thực tế yêu cầu độ chính xác của quy trình xác
thực phải cao (95 — 99%) và đáp ứng được trong khoảng thời gian ngắn (1 —
5s).
- _ Các công trình nghiên cứu trong nước về nhận dang kính mat còn hạn chế
trong khi nhu cầu ứng dụng là rất lớn
Trang 20Chương 3 NỘI DUNG NGHIÊN CỨU
3.1 Mục tiêu nghiên cứu
Nhằm giải quyết những vấn đề còn tồn tại cũng như góp phần cải thiện phươngpháp nhận dạng khuôn mặt, đề tài sẽ tập trung vào thuật toán nhận dạng và loại bỏmắt kính khỏi hình ảnh khuôn mặt người Bên cạnh đó cũng dam bảo tỉ lệ phục hồihình ảnh khuôn mặt người sau khi loại bỏ mắt kính và độ tin cậy nhận dạng khuônmặt người sau khi đã loại bỏ mắt kính
Mục tiêu tống quan: Tìm hiểu phương pháp nhận biết và loại bỏ mắt kính trên
khuôn mặt, phục vụ cho bài toán nhận dạng khuôn mặt người.
Mục tiêu chỉ tiết:
- _ Nhận biết mắt kính trên ảnh khuôn mặt người
- _ Loại bỏ mắt kính trên ảnh khuôn mặt
- Phuc hồi ảnh khuôn mặt không có kính
- _ xây dựng được mô hình thực nghiệm với giao diện đơn giản
Trang 213.2 Giải pháp đề xuất
Xác định được khuôn mặt người?
Thông báo “không có khuôn rnặt
người
Chuyên đối ảnh mức xám
Xác định vùng nhận đạng kính
Xác định có mắt
Hình 3.2-1 Lưu đồ giải pháp đề xuất
3.2.1 Bài toán xác định khuôn mặt người — Haar Cascade
Sử dụng module Haar Cascade được hỗ trợ bởi thư viện OpenCV.
Module Haar Cascade sẽ xác định ROI bằng cách xác định những tinh năng cho
từng khu vực trong năm hình chữ nhật Hình 4.2-1 Dựa vào các đặc trưng của
khuôn mặt người chúng ta sẽ có vùng mắt luôn tối hơn so với vùng má, hay vùngmũi thì sáng hơn so với vùng mắt, Chúng ta chỉ cần trừ tong số pixel ở vùng
trắng cho tổng số pixel ở vùng đen, nhờ đó mà năm vùng hình chữ nhật này có thêtạo thành các đặc điểm có thé phân loại các phần của khuôn mặt từ đó xác định
được vi trí khuôn mặt trên ảnh.
Kết quả thu được được thê hiện qua Hình 3.2-2 dưới đây
10
Trang 223.2.2 Thực hiện chuyến đổi ảnh mức xám — Grayscale Convert
Tại bước này, chúng ta thực hiện chuyển đổi từ anh đầu vào là dạng ảnh màu (RGB
— Red Green Blue) sang dạng ảnh xám (Grayscale) Đây là một bước xử lý quan trọng giúp nâng cao hiệu quả của các bước xử lý sau đó.
Việc thực hiện chuyền đổi ảnh màu về ảnh xám thực chất là chuyên đổi 3 ma trậnmàu (RGB) về một ma trận xám duy nhất Một trong những công thức chuyển đôiảnh màu về ảnh xám phổ biến nhất là Công thitc 3.2-1 được công bố bởi Michael
Stokes và các cộng sự [3].
Y =0.2126R + 0.7152G + 0.0722B (Công thức 3.2-1) Trong do:
" Y:ma trận xám cân tim
= R: ma trận xám đỏ của anh
= : ma trận xám lục của ảnh
= _: ma trận xám lam của ảnh
11
Trang 23Hình 3.2-3 Kết qua áp dung Grayscale Convert3.2.3 Xác định vùng nhận dang mắt kính — Glass Covered Region
Đối với dé tài đang thực hiện, vùng cần được xác định là vùng nhận dạng mắt kính
— Glass Covered Region (GCR) Dé xác định GCR, chúng ta dựa vào kết quả thu
được từ bước 3.2.3 sau đó tiễn hành thực hiện chia ảnh thành bốn phan bằng nhautheo chiều dọc GCR sẽ thuộc phần thứ 2 từ trên xuống ~ vị trí đeo mat kính Cácbước xử lý hình ảnh tiếp theo sẽ thực hiện trên vùng GCR kết quả thu được
Sau khi đã có được GCR, chúng ta áp dụng phương pháp Gaussian blur để làm mờ
ảnh Y tưởng của bước làm mờ ảnh là loại bỏ các thành phân có tân sô cao như
12
Trang 24nhiễu, cạnh viền không mong muốn giúp nâng cao khả năng bắt được các điểm
thuộc viền mắt kính Tham khảo mục 4.2.5 về các phương pháp làm mờ ảnh
Kết quả thu được sau khi thực hiện làm mờ ảnh được thể hiện trong Hình 3.2-5.
Sau khi đã có được GCR đã được làm mờ, chúng ta tiếp tục áp dụng phương pháplọc cạnh biên Canny Edge Detection dé tim tat cả các cạnh Dé hiểu rõ thêm vềphương pháp lọc cạnh biên Canny Edge Detection có thể tham khảo mục 4.2.9 Kết
quả sau khi thực hiện lọc cạnh biên như Hình 3.2-6.
Hình 3.2-6 Kết quả áp dung Canny Edge Detection để lọc cạnh biên3.2.4 Xác định có mắt kính trên ảnh khuôn mặt người
Sau bước 3.2.3, chúng ta đã có được giá trị Contour area của ảnh đầu vào Sau khi
tiễn hành chạy thực nghiệm trên bộ dataset 500 ảnh đầu vào và thu được kết quả giá
tri cua Contour area như sau:
© Contour area < 950mm? đối với anh không có mắt kính
¢ Contour area > 950mm? đối với anh có mắt kính
Từ kết qua sau khi thử nghiệm, chúng ta thiết lập một ngưỡng — threshold Với giátrị của threshold > 950mm? thì xác định có mắt kính trên ảnh khuôn mặt người
Tại bước tiếp theo, chúng ta thực hiện tìm các đường viền trong (inner frame) và
đường viền ngoài (outer frame) của mắt kính trên các biên đã tìm được từ Hình
3.2-6 Trong quá trình tìm các đường viền, chúng ta nên thực hiện phương pháp Xói
13
Trang 25mòn (Erosion) va Giãn nở (Dilation) Bằng cách thực hiện X6i mòn va Gian nở,
chúng ta có thể loại bỏ bớt những đường viền không mong muốn — hay các đường
viền có kích thước nhỏ giúp nâng cao hiệu quả tìm được những đường viền mắtkính trên khuôn mặt người Tham khảo cuối mục 4.2.8 về các phương pháp Xói
món và Giản nở.
Sau khi loại những đường viền nhỏ không mong muốn, chúng ta tiếp tục thực hiệntìm đường viền ngoài và đường viên trong dé xác định chính xác mắt kính trên ảnh
khuôn mặt người Kết quả xác định outer frame va inner frame được thé hiện lần
lượt qua Hình 3.2-7 và Hình 3.2-8 dưới day.
Trang 26Từ kết quả outer frame và inner frame đã tìm được, chúng ta tiếp tục thực hiện lấy
hiệu số của hai đường viện để có được toạ độ chính xác của điểm ảnh thuộc mắt
kính Kết quả sau khi thực hiện hiệu số của hai đường viền ta thu được ROI được
Tại bước loại bỏ mắt kính khỏi ảnh khuôn mặt người, chúng ta sẽ dựa trên kết quả
áp dụng module Haar Cascade — Hình 3.2-2 để thực hiện loại bỏ mắt kính khỏi ảnh
khuôn mặt người Bang cách thay thé tat cả các điểm ảnh thuộc ROI bằng các điểm
ảnh có độ màu gần giống nhất qua 3 bước thực hiện:
- Bước 1: Thực hiện quét anh theo chiều dọc dé xác định các điểm ảnh cận
biên không thuộc mắt kính
15
Trang 27Hình 3.2-10 Thực hiện quét anh theo chiéu doc
Bước 2: Tim khoảng cách chênh lệch giữa các cặp điểm ảnh cận biên viền
mắt kính (cường độ ánh sáng và số lượng pixel) Từ kết quả xét ảnh theo
chiều dọc như Hinh 3.2-10, chúng ta thực hiện phóng lớn và thu được kết
quả như Hinh 3.2-11 Trong đó điểm P1 và P2 là các điểm anh cận biên viền
Trang 28- Bước 3: Tìm các pixel có màu gân giông nhât với các điêm cận biên Dựa
vào Công thức 3.2-2 chúng ta có thê tìm được những pixel màu gân giông
nhât với các diém ảnh cận biên PI, P2:
P() = P1 + P2.(1—+) với €[1,n] (Công thức 3.2-2)
n
- Budc 4: Sau khi tim được các pixel có màu gần giống nhất với các điểm anh
cận biên, chúng ta tiễn hành thay thé lần lượt tất cả các điểm ảnh ROI Kếtquả thu được được thé hiện như Hình 3.2-12
imsert
Hình 3.2-12 Thay thé các điểm anh ROI bang điểm ảnh màu
Kết quả thực nghiệm sau khi loại bỏ vùng mắt kính trên ảnh khuôn mặt người được
thé hiện qua Hình 3.2-13
17
Trang 293.2.6 Xây dựng chương trình demo
Xây dựng chương trình với giao diện đơn giản thân thiện với người dùng Cho phép
người dùng đưa hình ảnh đầu vào và trả về kết quả hình ảnh sau khi thực hiện các
thao tác dựa theo lưu đồ giải pháp Hình 3.2-1 với độ chính xác tin cậy
F2 a
co
EyeGlasses
Removal
Hình 3.2-14 So đồ xây dung chương trình demo
Giao diện chương trình:
18
Trang 30©) MainWindow i n x
Choose an image.
| Image loaded successfully! Input Output
Hinh 3.2-15 Giao dién dua anh dau vao
Trang 31=" Execute: button thực hiện loại bỏ mắt kính
3.3 Cai đặt môi trường
3.3.1 Môi trường được sử dụng trong đề tài:
=_ Hệ điều hành: Windows 10
= Ngôn ngữ lập trình: C++
“_ Các thư viện hỗ trợ: OpenCV, cùng một số thư viện của C++
3.3.2 Cài đặt OpenCV với C++:
= Tải và cài đặt CMake tai dia chỉ: https://cmake.org/download/
= Tai và cai dat MinGW tại địa chỉ:
https://sourceforge.net/projects/mingw-w64/
20
Trang 32Chương 4 CƠ SỞ LÝ THUYET
4.1 Thư viện xử lý ảnh OpenCV
OpenCV là một thư viện mã nguồn mở hang đầu cho thị giác máy tính — ComputerVision, xử lý ảnh và máy học, và các tính năng tăng tốc GPU trong hoạt động thời
gian thực OpenCV được phát hành theo giấy phép BSD, do đó nó hoàn toàn miễn
phí cho cả học thuật và thương mại.
OpenCV hỗ trợ nhiều ngôn ngữ lập trình khác nhau như C++, C, Python, Java trên
nhiều nền tảng hệ điều hành như Windows, Linux, Mac OS, iOS và Android.OpenCV được thiết kế để tính toán hiệu quả và đặc biệt hỗ trợ phát triển các ứngdụng thời gian thực Được thiết kế tối ưu cho ngôn ngữ C/C++, thư viện xử lý ảnhOpenCV có thê hoạt động hiệu quả trên các hệ thông đa lõi, đa đơn vị xử lý
Các ứng dụng phô biến của OpenCV:
" Hình ảnh street view
"Kiểm tra và giám sát tự động
=" Robot và xe hơi tự lái
= Phân tích hình ảnh y tế
= Tìm kiếm và phục hồi hình ảnh/video
= Phim - cau trúc 3D từ chuyển động
= Nghệ thuật sắp đặt tương tác
Chức năng chính của OpenCV:
= Image/video I/O, xử lý, hiển thị (core, imgproc, highgui)
=» Phát hiện các vật thé (objdetect, features2d, nonfree)
" Geometry-based monocular or stereo computer vision (calib3d,
stitching, videostab)
= Computational photography (photo, video, superres)
=" Machine learning & clustering (ml, flann) 16
=" CUDA acceleration (gpu)
21
Trang 33Ngôn ngữ lập trình C++ với thư viện OpenCV:
Ngôn ngữ lập trình C++ là một ngôn ngữ lập trình cấp trung đượcphát triển trên nền tang của ngôn ngữ lập trình C Do đó, C++ có songsong cả 2 phong cách lập trình hướng cấu trúc giống C và có thêm
phong cách hướng đối tượng Ngôn ngữ C++ phù hợp cho mọi đối
tượng đặc biệt là những người mới học lập trình Bên cạnh đó ngôn
ngữ lập trình C++ phù hợp với bài toán yêu cầu hiệu năng cao, tiếtkiệm bộ nhớ, dễ dàng trong việc bảo trì và năng cấp
Ngôn ngữ lập trình C++ cho phép triển khai các ứng dụng đòi hỏi yếu
tố thời gian thực Chăng hạn như các ứng dụng mô phỏng 3D, xử lýhình ảnh hiệu năng cao hay các ứng dụng cảm biến trên thiết bị di
động Ngoài ra nó còn hiệu quả với các ứng dụng xử lý, mô phỏng
3D, hiệu ứng và hoạt ảnh.
Là một phần không thê thiếu trong nhiều hệ điều hành, tương thíchmạnh với nền tảng MS Windows và Apple OSX Có thê tích hợpnhiều phần mềm xử lý khác và hỗ trợ nhiều thư viện có sẵn
Với hiệu năng cao và tốc độ xử lý nhanh, ngôn ngữ C++ thường được
sử dụng trong các ứng dụng lớn của các doanh nghiệp, nơi mà yếu tố
hiệu năng và tốc độ luôn được đặt lên hàng đầu
Ứng dụng thực tế của C++ có rất nhiều, đặc biệt phải nói tới 3 ứngdụng phô biến nhất là:
> Ngôn ngữ C++ gần với phần cứng: tạo ra hầu hết các hệ thông
nhúng xung quanh: đồng hồ thông minh, máy y tế, cảm biến
IoT,
> C++ đóng vai trò trong phát triển các ứng dụng như may chủ
và chương trình vi điều khiến
> Là ngôn ngữ hàng đầu cho 3D, nhiều người chơi hoặc các loại
phát triển trò chơi khác C++ đủ mạnh dé tao ra các trò chơi
phức tạp như: CounterStrike, Doom, Red Dead Redemption,
22
Trang 34Đầu tiên nhóm dự kiến sử dụng ngôn ngữ lập trình Python dé xây dựng hệ thống tựđộng nhận dạng khuôn mặt người có mắt kính và thực hiện loại bỏ mắt kính Nhưngtrong quá trình thực hiện, thời gian và kiến thức của chúng em còn giới hạn nên
nhóm đã quyết định sử dụng ngôn ngữ C++ để thực hiện đề tài và tập trung vào
hướng nhận diện, phục hồi ảnh khuôn mặt người đeo kính Kết quả thực nghiệm
cho thấy việc sử dụng ngôn ngữ lập trình C++ dé thực hiện đề tai dem lại kết quảtương đối khả quan
4.2 Những thuật toán xử lý ảnh liên quan đề tài
4.2.1 Module Haar Cascade
Module Haar Cascade được hỗ trợ bởi thư viện OpenCV dùng dé đánh giá các đặcđiểm khuôn mặt, từ đó xác định được vị trí khuôn mặt trên ảnh Về cơ bản, thuậttoán Haar Cascade sử dụng các đặc trưng loại Haar sau đó sử dụng thật nhiều đặctrưng đó qua nhiều lượt (cascade) dé tạo thành một cỗ máy nhận diện hoàn chỉnh
Đặc trưng Haar: gồm những bộ lọc hình chữ nhật được minh hoạ như Hình 4.2-.
_ (a) Edge Features
II — (b) Line Features
(c) Four-rectangle features
Hình 4.2-1 Vi dụ bộ lọc áp dung trong Haar Cascade
Với thuật toán Haar Cascade, bộ lọc sé chỉ chiếm một phần trong cửa số trượt, được
minh hoạ như Hình 4.2-2.
23
Trang 35Hình 4.2-2 Ví dụ bộ lọc Haar trên ảnh
Hình 4.2-1 và Hình 4.2-2 được tham khảo tại Viblo.asia hỗ trợ mô tả kỹ thuật
chuyên dùng dé nhận biết các khuôn mặt trong ảnh
Dựa vào các đặc trưng của khuôn mặt người chúng ta sẽ có vùng mắt luôn tối hơn
so với vùng má, hay vùng mũi thì sáng hơn so với vùng mắt, Chúng ta có thê
thấy bộ lọc đầu trong đó đang tìm một “cạnh” phân cách giữa mắt/lông mày với
mũi, vì tại đoạn đọc đó có sự chênh lệch về màu đáng kể Tại các bộ lọc sau, môhình đang tìm đường sống mũi, tại vị trí này sẽ có màu sáng hơn so với 2 bên.Tương tự, bộ lọc Haar chỉ nhìn cụ thé vào một vùng trong cửa số để xác định khuôn
mặt.
4.2.2 Phuong pháp Grayscale Convert
Tiền xử ly ảnh trước khi xử lý nhận dang, biến đổi từ Anh mau (color image) vềẢnh xám (grayscale image) Trong xử lý ảnh, việc chuyển đổi ảnh màu sang ảnh
xám là công việc vô cùng phô biên và cân thiệt.
24