1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Hệ thống nhúng và robotic: Phát hiện và loại bỏ mắt kính trên ảnh khuôn mặt người

70 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phát hiện và loại bỏ mắt kính trên ảnh khuôn mặt người
Tác giả Hoang Thi Bich Lieu, Pham Thanh Dat
Người hướng dẫn Tien Si Doan Duy
Trường học Trường Đại học Công nghệ Thông tin - Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Kỹ thuật Máy tính
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2021
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 70
Dung lượng 36,97 MB

Nội dung

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 3

THONG 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 4

Khoa 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 5

MỤ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 6

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

6.2 Hướng phát triển của đề tài -.e-s-+ecesteecetrreretrrrrtrrrrrrrrrrrrrrrrte

TÀI LIỆU THAM KHẢO

Trang 8

DANH 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 9

Hì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 10

Bả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 11

DANH 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 12

TOM 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 13

Chươ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 14

tư 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 15

1.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 16

Chuong 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 18

Thá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 20

Chươ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 21

3.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 22

3.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 23

Hì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 24

nhiễ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 25

mò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 26

Từ 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 27

Hì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 29

3.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 32

Chươ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 33

Ngô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 35

Hì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

Ngày đăng: 02/10/2024, 04:28

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN