Báo cáo tổng hợp đề tài khoa học và công nghệ - Công nghệ thông tin | Đại học Tài Nguyên và Môi Trường Hà Nội

Báo cáo tổng hợp đề tài khoa học và công nghệ - Công nghệ thông tin | Đại học Tài Nguyên và Môi Trường Hà Nội được sưu tầm và soạn thảo dưới dạng file PDF để gửi tới các bạn sinh viên cùng tham khảo, ôn tập đầy đủ kiến thức, chuẩn bị cho các buổi học thật tốt. Mời bạn đọc đón xem!

BỘ TÀI NGUYÊN VÀ MÔI TRƯỜNG
TRƢỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƢỜNG HÀ NỘI
BÁO CÁO TỔNG HỢP
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP CƠ SỞ NĂM 2021
TÊN ĐỀ TÀI
ĐỀ XUẤT MỘT KỸ THUẬT NHẬN DẠNG MẶT NGƯỜI
DỰA TRÊN MỐNG MẮT SỬ DỤNG NGÔN NGỮ LẬP TRÌNH PYTHON
MÃ SỐ : 13.01.21.B.01
Tổ chức chủ trì: Trường Đại học Tài nguyên và Môi trường Hà Nội
Chủ nhiệm đề tài: TS Nguyễn Đức Toàn
Hà Nội - 2021
BỘ TÀI NGUYÊN VÀ MÔI TRƯỜNG
TRƢỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƢỜNG HÀ NỘI
BÁO CÁO TỔNG HỢP
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP CƠ SỞ NĂM 2021
TÊN ĐỀ TÀI
ĐỀ XUẤT MỘT KỸ THUẬT NHẬN DẠNG MẶT NGƢỜI
DỰA TRÊN MỐNG MẮT SỬ DỤNG NGÔN NGỮ LẬP TRÌNH
PYTHON
MÃ SỐ : 13.01.21.B.01
Ch nhi m
(ký, ghi rõ h và tên)
Nguyễn Đức Toàn
Trƣờng Đại hc
Tài nguyên và Môi trƣờng Hà Ni
Hà Nội - 2021
i
MC LC
THÔNG TIN K T QU NGHIÊN C U ............................................................................. iii
INFORMATION ON RESEARCH RESULTS .................................................................... v
DANH MỤC CÁC CHỮ VIẾT TẮT ................................................................................... vii
DANH MỤC CÁC HÌNH ..................................................................................................... viii
LỜI MỞ ĐẦU ........................................................................................................................... 1
1 Lý do ch tài ............................................................................................................... 1 ọn đề
2. Đố ủa đềi tƣợng và phm vi nghiên cu c tài ................................................................. 2
3. M c tiêu nghiên c u: ....................................................................................................... 2
4. N i dung nghiên c u: ...................................................................................................... 2
5. Phƣơng pháp nghiên cứu: ............................................................................................... 3
5.1. Phương pháp nghiên cứu lý thuyết: .......................................................................... 3
5.2. Phương pháp nghiên cứu thực tiễn: .......................................................................... 3
5.3. Phương pháp thiết kế mô hình, chế tạo sản phẩm: .................................................... 3
5.4. Phương pháp thực nghiệm khoa học: ....................................................................... 3
5.5. Phương pháp phân tích và tổng kết kinh nghiệm:...................................................... 3
6. Ý nghĩa khoa họ ủa đềc c tài: ........................................................................................... 3
CHƢƠNG 1 TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU ................................................... 4
1.1 Tình hình nghiên c c .................................................... 4 ứu ngoài nƣớc và trong nƣớ
1.1.1 Tình hình nghiên cứu ngoài nước ............................................................................ 4
1.1.2 Tình hình nghiên cứu trong nước ............................................................................. 5
1.2. Công ngh nh n di n khuôn m t ................................................................................ 9
1.3. Th c tr a h th ng nh n d ng khuôn m t ........................ 10 ạng và phƣơng pháp củ
1.3.1 Quy trình của hệ thống nhận dạng khuôn mặt ....................................................... 10
1.3.2 Phát hiện khuôn mặt (face detection) ..................................................................... 10
1.4 M t s n d ng khuôn m t ............................................................. 11 phƣơng pháp nh
1.4.2 Dựa trên tri thức ..................................................................................................... 14
1.4.3 Dựa trên so khớp mẫu ...................................................................................... 14
1.4.4 Dựa trên diện mạo ............................................................................................ 15
1.4.5 Dựa trên đặc trưng lõm .................................................................................... 15
1.5. T ng quan v bài toán ................................................................................................ 16
1.6 Kết luận chƣơng 1 ........................................................................................................ 16
ii
CHƢƠNG 2 MỘT SỐ PHƢƠNG PHÁP VÀ THUẬT TOÁN NHẬN DẠNG ................ 17
2.1 Thu t toán Viola-Jones ............................................................................................... 17
2.2 One-shot learning......................................................................................................... 18
2.3 Learning similarity ...................................................................................................... 18
2.4 Siam network ............................................................................................................... 19
2.5 Thu t toán ORB ........................................................................................................... 20
2.6 Thu t toán RANSAC ................................................................................................... 21
2.7 Thu y u dùng thu t toán này) ............................... 22 ật toán HOG (Trong đề tài ch ế
2.8 Thu t toán C tài và có bài báo trong REV) ....................... 28 amShif (Dùng trong đề
2.8.2 Thuật toán Camshift ............................................................................................... 29
2.8.3 Cải tiến thuật toán áp dụng cho đề tài ................................................................... 29
CHƢƠNG 3 XÂY DỰNG DEMO ........................................................................................ 33
3.1 Gi i thi u ...................................................................................................................... 33
3.2 Phát hi n m t và m ng m t ........................................................................................ 34
3.3 Bi xu t ............................................................................................................. 36 ểu đồ đề
3.4 Thu t toán s d ng ...................................................................................................... 37
3.5 K t qu nh n di n khuôn m t .................................................................................... 38 ế
3.6 Bi an toàn và hi u su t .................................................................. 45 ểu đồ đánh giá độ
KT LU N VÀ KI ........................................................................................... 46 N NGH
1. K t lu n ........................................................................................................................... 46 ế
2. Ki n ngh v ng nghiên c u ti p theo ........................................................... 46 ế định hƣớ ế
DANH MỤC CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ CỦA TÁC GIẢ ................................ 48
LIÊN QUAN ĐẾN ĐỀ TÀI ................................................................................................... 48
iii
Mẫu 9-TTKQ
THÔNG TIN K T QU NGHIÊN C U
1. Thông tin chung:
- tài: Tên đề Đề xu t m t k thu t nh n d ng m i d a trên m ng m t s d ng ngôn ặt ngƣờ
ng lp trình Python.
- Mã s : 13.01.21.B.01
- Ch nhi tài: ệm đề TS Nguy c Toànễn Đứ
- T ch c ch trì:
- Th i gian th c hi n:
2. M c tiêu:
Mục tiêu tổng quát: Nghiên cứu công nghệ nhận dạng ảnh với AI để xác định quét mống mắt
khuôn mặt có trong hình ảnh. Sử dụng k thuật học sâu để thực hiện việc nhận dạng với dữ liệu máy
đã học trước đó, sau đó so sánh và nhận dạng.
Mục tiêu cụ thể : Chống học hộ, điểm danh hộ, đồng thời giám sát hành vi của sinh viên trên trường
theo thời gian thực (realtime).
3. Tính m i và sáng t o:
Sử dụng các thiết bị và giải pháp nhận diện khuôn mặt đã xuất hiện vài năm trở lại đây trong phạm vi
ứng dụng chấm công, kiểm soát ra vào xác thực định danh. Công nghệ này càng trở nên nét
hơn khi đại dịch COVID19 đã ảnh hưởng lớn đến việc giao tiếp với các đối tượng xung quanh.
Nhận dạng vân tay sử dụng một cảm biến liên lạc, một thiết bị không tiệt trùng mà tất cả mọi người
phải chạm tới để được nhận dạng. Trong môi trường lâm sàng, điều y dẫn đến khả năng một số
người sử dụng sẽ có thể bị lây các bệnh truyền nhiễm,
Trong đề tài này, tôi đề xuất một phương pháp nhận dạng khuôn mặt dựa trên mống mắt. Nhận dạng
dựa trên mống mắt ngược lại với nhận dạng dựa trên võng mạc, bởi mống mắt bên ngoài và
thể nhìn thấy mà không bất kỳ ánh sáng xâm lấn. Hệ thống nhận dạng mống mắt chỉ có một hình
ảnh kỹ thuật số bên ngoài của mắt không cung cấp bất kỳ thông tin y tế khác. Mống mắt tính
năng độc đáo nhất có thể nhìn thấy trên cơ thể con người. Không có hai tròng mắt giống nhau thậm -
chí cặp song sinh giống hệt nhau cũng hình mống mắt khác nhau. Sự phong phú của các chi
tiết trong mống mắt, sự khác biệt và không phụ thuộc vào di truyền, đồng thời việc cho hình ảnh tiếp
cận mà không cần phải tiếp xúc vật lý… tất cả làm cho mống mắt có một định danh cá nhân xuất sắc.
Mỗi một công nghệ sinh trắc học có các ứng dụng nổi bậc riêng.
iv
Tuy nhiên, trong việc nhận dạng con người, mống mắt có lợi thế hơn. Mống mắt được công nhận
chính xác hơn nhận dạng bằng dấu vân tay hoặc khuôn mặt. Do đó công nghệ không tiếp xúc là một
lựa chọn tốt hơn hết.
4. K t qu nghiên c u: ế
Tìm hiểu các phương pháp nhận diện khuôn mặt cơ bản
Tìm hiểu được thư viện ảnh số OpenCV
Nhận diện được hình ảnh khá tốt qua nhận diện khuôn mặt.
5. S n ph m:
1. Báo cáo tổng kết đề tài.
2. Phần mềm ứng dụng được ghi trên đĩa CD
6. Phƣơng thứ ển giao, đị ụng, tác độc chuy a ch ng d ng và li ích mang li ca kết qu nghiên
cu:
- Chuyển giao công nghệ có đào tạo và theo tỉ lệ 50-50 Khoa CNTT và Phòng NCKH&HTQT
Nhận dạng khuôn mặt trở nên bất tiện trong mùa dịch COVID 19 bởi mọi người phải đeo khẩu trang; -
còn nhận dạng vân tay cũng gặp phiền hà khi mọi người không muốn bỏ găng tay. Việc sử dụng rộng
rãi tính năng nhận dạng mống mắt sẽ cải thiện những hạn chế này. vậy, đề tài phù hợp với mục
tiêu, nội dung và sản phẩm dự kiến của đề tài.
Kết quả của đề tài nếu được ứng dụng trong Trường Đại học Tài nguyên Môi trường Nội sẽ
chống học hộ, điểm danh hộ, đồng thời giám sát hành vi của sinh viên trên trường theo thời gian thực
(realtime).
v
INFORMATION ON RESEARCH RESULTS
1. General information:
Project title: Proposing an iris-based facial recognition technique using Python
Code number: 13.01.21.B.01
Coordinator: Dr. Nguyen Duc Toan
Implementing institution:
Duration: from to:
2. Objective(s): To study image recognition technology with AI to identify and scan irises of faces in
images. Use deep learning technique to perform the recognition with previously learned machine
data, then compare and recognize.
Specific objectives: Anti-student, household attendance, and at the same time monitor students'
behavior at school in real time.
3. Creativeness and innovativeness:
Using facial recognition devices and solutions has emerged in the past few years in the scope
of timekeeping, access control and identity authentication applications. This technology becomes
even more apparent when the COVID19 pandemic has greatly affected communication with
surrounding objects.
Fingerprint recognition uses a contact sensor, a non-sterile device that everyone must touch in
order to be identified. In the clinical setting, this leads to the possibility that some users will be
exposed to infectious diseases,
In this topic, I propose an iris-based face recognition method. Iris-based recognition is the
opposite of retina-based recognition, because the iris is external and visible without any invasive
light. The iris recognition system only takes a digital image of the outside of the eye and does not
provide any other medical information. The iris is the most unique feature visible on the human body.
No two irises are alike - even identical twins have different iris patterns. The richness of details in the
iris, the distinct and independent genetics, and the access to images without the need for physical
contact… all give the iris a unique identity. excellent person. Each of the biometric technologies has
its own outstanding applications.
vi
However, in recognizing people, the iris has an advantage. Iris recognition is more accurate
than fingerprint or face recognition. Therefore contactless technology is a better choice.
4. Research results:
- Learn basic face recognition methods
- Learn about OpenCV digital image library
- Face recognition is quite good.
5. Products:
+) The final report on the topic.
+) Application software recorded on CD
6. Transfer alternatives, application institutions, impacts and benefits of research results:
Technology transfer with training and at the rate of 50-50 Faculty of IT and Department of
Scientific Research and International Cooperation
Facial recognition becomes inconvenient during the COVID-19 season because everyone has
to wear masks; And fingerprint recognition is also problematic when people don't want to take off
their gloves. Widespread use of iris recognition should improve these limitations. Therefore, the topic
is suitable for the purpose, content and expected product of the topic.
The results of the project, if applied in the University of Natural Resources and Environment,
Hanoi, will prevent students from studying, take attendance, and monitor students' behavior on
campus in real time.
vii
DANH MỤC CÁC CHỮ VIẾT TẮT
STT
TỪ VIẾT TẮT
TÊN TIẾNG ANH
NGHĨA TIẾNG VIỆT
1
Pixel
Picture element
Điểm ảnh
2
OpenCV
Open Source Computer
Vision Library
Thư viện Thị giác Máy tính
Nguồn mở
3
ORB
Oriented FAST and
Rotated BRIEF
Các thuật toán phát hiện đặc
trưng
4
SIFT
Scale-invariant feature
transform
5
SURF
Speeded-Up Robust
Features
6
FAST
Features from Accelerated
Segment Test
viii
DANH MỤC CÁC HÌNH
Hình 1. 1 Kiểm soát theo thời gian thực (real-time) .................................................................. 9
Hình 1. 2 Qui trình của hệ thống nhận dạng khuôn mặt ......................................................... 10
Hình 1. 3 Các đặc trưng Haar ................................................................................................. 11
Hình 1. 4 Mô hình phân tầng Cascade .................................................................................... 13
Hình 1. 5 Kết hợp các bộ phân loại yếu thành bộ phân loại mạnh ......................................... 14
Hình 2. 1 Phát hiện khuôn mặt bằng cách sử dụng Haar cascade được đào tạo trước 17
Hình 2. 2 Phương pháp learning similarity. ............................................................................ 18
Hình 2. 3 Mô hình Convolutional neural network ................................................................... 19
Hình 2. 4 Kết quả đối sánh ảnh sử dụng thuật toán ORB. ...................................................... 20
Hình 2. 5 Đồ thị cường độ nhiễu của ảnh ................................................................................ 21
Hình 2. 6 Mô hình human detection dựa trên HOG. ............................................................... 23
Hình 2. 7 Hình ảnh vận động viên được chia thành các lưới ô vuông, mỗi ô vuông có kích
thước 8x8 pixels. ...................................................................................................................... 26
Hình 2. 8 Mapping độ lớn gradients với các bins. .................................................................. 27
Hình 3. 1 Giao diện chạy chương trình getData 38
Hình 3. 2 Các giao diện chuyển từ file ảnh sang file số .......................................................... 40
Hình 3. 3 Các góc nghiêng nhận dạng .................................................................................... 41
Hình 3. 4 Các góc nghiêng không nhận dạng .......................................................................... 43
Hình 3. 5 Các hình ảnh nhận dạng khuôn mặt bằng mống mắt .............................................. 44
Hình 3. 6 Hiệu suất đối sánh giữa nhận dạng mống mắt và nhận dạng khuôn mặt ORB ....... 45
Hình 3. 7 Biểu đồ đối sánh nhiễu từ file ảnh sang file số ........................................................ 45
1
LỜI MỞ ĐẦU
1 Lý do ch tài ọn đề
Công nghệ nhận dạng này thể nhận dạng mọi người ngay sau vài tấm ảnh họ được gán
nhãn với độ chính xác đến 98% ]. nhiều hệ thống bảo mật thông minh sử dụng sinh trắc học [6
định danh người, thể nhận dạng bằng cách sử dụng đặc điểm tĩnh và động như: ngón tay nhú
hình, hình học cơ thể, bàn tay, mống mắt của mắt, khuôn mặt, tĩnh mạch, chữ viết tay, dáng, dáng đi,
giọng nói, v.v. [ ]. Tất cả các phương pháp nhận dạng được trình y đều bộ những thuận lợi 7
khó khăn liên quan đến phương pháp có được các chỉ số về con người như chi phí, độ tin cậy của kết
quả. số lượng máy quay video tại nơi công cộng đã tăng lên rất nhiều, chi phí của việc tiếp nhận, x
lý và truyền dữ liệu đã giảm đáng kể đã dẫn đến việc tạo và phát triển các phương pháp để xác định
hiệu quả người từ video hình ảnh, hầu hết các phần của phương pháp tập trung vào việc nhận
dạng khuôn mặt người.
Các công ty lớn nhất trên thế giới đang phát triển của riêng các giải pháp phần mềm sử dụng
đặc trưng của khuôn mặt trong ảnh và trong video. Những công ty khổng lồ như Amazon, Facebook,
Apple đã triển khai hệ thống thông minh phân tích video trong điều kiện thực và đưa ra thị trường các
giải pháp cạnh tra ] cho phép nhúng ảnh và video dựa trên học sâu vào các nh. Amazon Rekognition [8
ứng dụng. Dịch vụ này có thể nhận dạng các đối tượng, người, văn bản, cảnh và hành động, cũng như
phát hiện nội dung không phù hợp. Amazon Rekognition thể phân tích chính xác nhận dạng
khuôn mặt trong hình ảnh video. Facebook đã triển khai một dự án để nhận dạng xác định
trước mặt của mọi người trong các bức ảnh đã được đưa lên mạng xã hội và cho phép sử dụng các từ
để mô tả mọi thứ hiển thị trong ảnh [ ]. Công nghệ FaceID của Apple [ ] cho phép độ chính xác cao 9 10
xác định người dùng trên điện thoại thông minh thay thế cho quét dấu vân tay, sdụng hệ
thống cảm biến và máy ảnh chất lượng cao và một loạt các các phương pháp nhận dạng, bao gồm cả
nhận dạng khuôn mặt. Thị giác máy tính học y đã làm nên điều đó thể thực hiện xác định
khách hàng thông qua thiết bị đầu cuối video trong một tổ hợp mua sắm tự động [11, 12] không có
máy tính tiền và bộ điều khiển, và theo dõi [13].
Tại Việt Nam, một số công ty sáng tạo hình thành lĩnh vực dịch vụ phân tích hình ảnh trong
tiếp cận hệ thống điều khiển. dụ, dịch vụ BiFace [ ]. Trên thế giới hệ thống nhận dạng khuôn 14
mặt NTechLab [ ] dẫn đầu trong việc phát triển thuật toán và các giải pháp phần mềm để kiểm soát15
nhận dạng nhân cho các nhóm người, thành phố Quốc gia. Dịch vụ FindFace từ công ty này
chiếm lĩnh các dòng xếp hạng cạnh tranh hàng đầu cho nhận dạng khuôn mặt. Mức độ chính xác của
2
nhận dạng và tốc độ của phân tích phụ thuộc vào các phương pháp chuyển đổi ảnh, các đặc trưng của
tập huấn luyện, sử dụng phương pháp huấn luyện sâu và thuật toán tìm kiếm.
Nhận dạng một người trong video có nhiều giai đoạn. Bước đầu tiên chuyển đổi video vào
sang ảnh, bước thứ hai tìm kiếm các ảnh khuôn mặt. Phần thứ ba là gán một tập hợp duy nhất
đặc trưng cho tất cả những đặc điểm thấy. Thứ tư là xác định người dựa trên so sánh với cơ sở dữ liệu
[16], [17], [18]. Toán học các phương pháp hình được sử dụng để nhận dạng khuôn mặt bao
gồm phương pháp hồi quy, mạng nơron, SVM [4], [5], ...
2. ng và ph m vi nghiên c u c tài Đối tƣợ ủa đề
2.1 Đối tượng nghiên cứu: Đề tài tập trung nghiên cứu một số phương pháp nhận dạng khuôn mặt
người, chủ yếu là nhận diện bằng mống mắt.
2.2 Phạm vi nghiên cứu: sinh viên đang học tập tại trường Đại học Tài nguyên Môi trường Hà
Nội, tập trung chủ yếu là sinh viên Khoa CNTT.
3. M c tiêu nghiên c u:
Nghiên cứu đề tài y nhằm mục đích tìm hiểu bài toán nhận dạng khuôn mặt bằng mống
mắt, từ đó xây dựng các hệ thống ứng dụng trong thực tiễn như: điểm danh, giam sát ngườ i ra vào, an
ninh trong sân bay. Nhận dạng khuôn mặt trở nên bất tiện trong mùa dịch COVID-19 bởi mọi người
phải đeo khẩu trang; còn nhận dạng vân tay cũng gặp phiền khi mọi người không muốn bỏ găng
tay. Việc sử dụng rộng rãi tính năng nhận dạng mống mắt sẽ cải thiện những hạn chế này. Vì vậy, đề
tài phù hợp với mục tiêu, nội dung và sản phẩm dự kiến của đề tài.
4. N i dung nghiên c u:
Chƣơng 1: Tổng quan vấn đề nghiên cứu
Trong chương này, tác giả sẽ trình bày về những sở thuyết vnhận dạng khuôn mặt ,
tổng quan về bài toán đặt ra để giải quyết trong đề tài.
Chƣơng Một số phƣơng pháp và thuật toán nhận dạng ảnh2:
Trong chương này, c giả sẽ trình bày về một số phương pháp nhận dạng ảnh một số
thuật toán nhận dạng khuôn mặt có sử dụng trong đề tài nghiên cứu từ đó làm tiền đề xây về ,
dựng demo ở chương 3.
Chƣơng Xây dựng demo 3:
Trong chương y, tác giả sẽ trình bày về demo của đề i nghiên cứu dựa trên các thuật ,
toán từ chương 2, trong chương này còn sử dụng máy học để phân tích ảnh ra dạng số.
3
5. Phƣơng pháp nghiên cứu:
5.1. Phương pháp nghiên cứu l thuyết: ý
+ Tìm hiểu một số thuật toán nhận dạng khuôn mặt
+ Tìm hiểu ngôn ngữ lập trình Python
5.2. Phương pháp nghiên cứu thực tiễn:
+ Phương pháp khảo sát thực tế, thu thập dữ liệu: tìm hiểu thực tế về công nghệ nhận dạng
khuôn mặt.
+ Phương pháp phân tích đánh giá: dựa vào dữ liệu đã tìm hiểu được. Phân tích các thuật
toán.
5.3. Phương pháp thiết kế mô hình, chế tạo sản phẩm:
+ Xác định yêu cầu của bài toán đặt ra
+ Tính toán lựa chọn các thuật toán phù hợp.
5.4. Phương pháp thực nghiệm khoa học:
+ ớc đầu đưa sản phẩm vào sử dụng để hiệu chỉnh thông số chi tiết hoàn thiện sản
phẩm demo.
5.5. Phương pháp phân tích và tổng kết kinh nghiệm:
+ Phân tích, đánh giá ưu nhược điểm của sản phẩm
+ Rút ra kinh nghiệm cũng như đưa ra hướng phát triển cho phù hợp
6. Ý nghĩa khoa họ ủa đềc c tài:
Kết quả của đề tài nếu được ứng dụng trong Trường Đại học Tài nguyên Môi
trường Hà Nội sẽ chống học hộ, điểm danh hộ, đồng thời giám sát hành vi của sinh viên trên
trường theo thời gian thực (realtime).
4
CHƢƠNG 1 TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU
Trong chương này, tác giả sẽ trình bày vnhững sở thuyết về nhận dạng khuôn
mặt, tổng quan về bài toán đặt ra để giải quyết trong đề tài.
1.1 Tình hình nghiên cứu ngoài nƣớc và trong nƣớc
1.1.1 Tình hình nghiên cứu ngoài nước
Trong năm 1964 1965, Bledsoe, cùng với Helen Chan Charles Bisson, bắt đầu ý
tưởng sử dụng máy tính để nhận ra khuôn mặt của con người (Bledsoe 1966a, 1966b;
Bledsoe Chan 1965). Ông rất tự hào về công việc này, nhưng do kinh phí được cung cấp
bởi một cơ quan tình báo giấu tên mà không cho phép công khai, rất ít tác phẩm đã được xuất
bản. Với một sở dữ liệu lớn các hình ảnh (thực tế một cuốn sách ảnh thẻ) một bức
ảnh, vấn đề phải lựa chọn từ sở dữ liệumột tập hợp nhỏ các hồ hình ảnh như vậy
có chứa các hình ảnh ăn khớp với bức ảnh đưa ra. Sự thành công của phương pháp này có thể
được đo bằng tỷ lệ danh sách câu trả lời trên số lượng các hồtrong cơ sở dữ liệu. Bledsoe
(1966a) đã mô tả những khó khăn sau đây:
Dự án này đã được dán nhãn "man bởi vì con người trích xuất tọa độ của một -machine"
tập hợp các đặc điểm từ các hình ảnh, sau đó được máy tính sử dụng để nhận dạng. Sử dụng
một graphic tablet (GRAFACON hoặc RAND TABLET), các toán tử sẽ trích xuất các tọa độ
của các đặc điểm như tâm của con ngươi, các góc bên trong mắt, góc ngoài của mắt, điểm
widows peak và... Từ những tọa độ này, một danh sách 20 khoảng cách, như chiều rộng của
miệng và khoảng cách giữa 2 mắt, từ con ngươi đến con ngươi sẽ được tính toán. Các toán tử
có thể xử lý khoảng 40 hình ảnh một giờ. Khi xây dựng các cơ sở dữ liệu, tên của người trong
bức ảnh đã được gắn liền với danh sách của các khoảng cách tính toán và được lưu trữ trong
máy tính. Trong giai đoạn nhận dạng, tập hợp các khoảng cách được so sánh với khoảng cách
tương ứng cho mỗi bức ảnh, cho ra một khoảng cách giữa các bức ảnh các bản ghi sở
dữ liệu. Các hồ sơ gần nhất được trả về.
Hệ thống điểm danh bằng mặt người thực hiện rút trích tự động khuôn mặt người trong
ảnh thu được từ camera (webcam) xác định danh tính của đối tượng trong hệ thống dựa
vào nội dung của ảnh khuôn mặt rút trích được. Nhận dạng tự động khuôn mặt thể ứng
5
dụng nhiều trong thực tiễn như camera giám sát, hệ thống chấm công, chú thích ảnh tự động,
lưu trữ thông tin khuôn mặt ở các máy ATM, tìm kiếm và xác minh tội phạm. Hệ thống điểm
danh thực hiện nhận dạng khuôn mặt người qua 2 bước chính: định vị khuôn mặt trong ảnh
thu được từ camera định danh đối ợng từ ảnh khuôn mặt. Trong bài báo [20] trình bày
các nghiên cứu trước đây trong nhận dạng khuôn mặt người. Rút trích tự động khuôn mặt
trong ảnh thu được từ camera dựa trên nh mạng ] hoặc đặc trưng haar-ron [14 -like
kết hợp với mô hình phân tầng (Cascade of Boosted Classifiers CBC) [18].
Để xác định danh tính của đối tượng trong hệ thống dựa vào nội dung của ảnh khuôn
mặt, nghiên cứu trước đây sử dụng các đặc trưng như mắt, tai, màu tóc, độ y môi để t
động nhận dạng. [ ] sử dụng phương pháp phân tích thành phần chính (Principal 10], [19
Component Analysis - PCA) thuật toán eigenfaces để nhận dạng khuôn mặt. Các hướng
nghiên cứu gần đây [ ], [17], dựa vào phương pháp biểu diễn ảnh bằng các nét 12], [13], [15
đặc trưng không đổi với những biến đổi tỉ lệ. Đặc trưng cục bộ SIFT không bị thay đổi trước
những biến đổi tỉ lệ ảnh, tịnh tiến, phép quay, không bị thay đổi một phần đối với phép biến
đổi hình học affine (thay đổi góc nhìn) mạnh với những thay đổi về độ sáng, nhiễu sự
che khuất. Để định danh đối tượng từ ảnh khuôn mặt người, [ ] đề xuất so khớp các đặc 14
trưng SIFT trong khi nghiên cứu của [16] kết hợp giải thuật Bayes với láng giềng gần nhất
(Naïve Bayes Nearest Neighbor - NBNN [11]) đặc trưng trong [6], trong bài báo [7] đề
xuất hình máy học.
1.1.2 Tình hình nghiên cứu trong nước
Ngày 20/4/2020, Viện Nghiên cứu trí tuệ nhân tạo VinAI Research (Vingroup) đã
nghiên cứu thành công công nghệ nhận diện khuôn mặt chính xác, ổn định cả khi dùng khẩu
trang; trở thành một trong những đơn vị đầu tiên trên thế giới nghiên cứu thành công sẵn
sàng cung cấp miễn phí cho cộng đồng.
VinAI sử dụng hình học sâu (deep learning) mới nhất đặc thù do các chuyên gia của
viện nghiên cứu và tối ưu hóa để nghiên cứu công nghệ nhận diện ổn định cả khi sử dụng
không sử dụng khẩu trang. Mô hình deep learning với thiết kế phỏng cách hoạt động của
mạng lưới thầ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á
trị trên một phần khuôn mặt, nhằm nhận diện ngay cả khi người dùng sử dụng khẩu trang.
6
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ủa VinAI -
đạ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ế giới. Điểm ưu việt
của công nghệ nhận diện do VinAI phát triển thuật toán cách sử dụng công nghệ nhận
diện dẫn đến hiệu quả ổn định, có độ chính xác cao.
Nhận dạng mặt người (Face recognition) một lĩnh vực nghiên cứu của ngành
Computer Vision, cũng được xem một lĩnh vực nghiên cứu của ngành Biometrics
(tương tự như nhận dạng vân tay Fingerprint recognition, hay nhận dạng mống mắt Iris
recognition). Xét về nguyên tắc chung, nhận dạng mặt sự tương đồng rất lớn với nhận
dạng vân tay và nhận dạng mống mắt, tuy nhiên sự khác biệt nằm ở bước trích chọn đặt trưng
(feature extraction) của mỗi lĩnh vực.
Trong khi nhận dạng vân tay và mống mắt đã đạt tới độ chín, tức là có thể áp dụng trên
thực tế một cách rộng rãi thì nhận dạng mặt người vẫn còn nhiều thách thức vẫn một
lĩnh vực nghiên cứu thú vị với nhiều người. So với nhận dạng vân tay mống mắt, nhận
dạng mặt nguồn dữ liệu phong phú hơn (thể nhìn thấy mặt người bất cứ tấm ảnh,
video clip nào liên quan tới con người trên mạng) và ít đòi hỏi sự tương tác có kiểm soát hơn
(để thực hiện nhận dạng vân tay hay mống mắt, dữ liệu input lấy từ con người đòi hỏi 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 mặt được chia thành nhiều ớng theo các tiêu
chí khác nhau: nhận dạng với dữ liệu đầu vào ảnh tĩnh 2D (still image based FR) ph
biến nhất, tuy nhiên tương lai có lẽ sẽ là 3D FR (vì việc bố trí nhiều camera 2D sẽ cho dữ liệu
3D và đem lại kết quả tốt hơn, đáng tin cậy hơn), cũng có thể chia thành 2 hướng là: làm với
dữ liệu ảnh và làm với dữ liệu video.[1]
Trên thực tế người ta hay chia các phương pháp nhận dạng mặt ra làm 3 loại: phương
pháp tiếp cận toàn cục (global, như Eigenfaces LDA), phương pháp tiếp -PCA, Fisherfaces-
cận dựa trên các đặc điểm cục bộ (local feature based, như LBP, Gabor wavelets) phương
pháp lai (hybrid, sự kết hợp của hai phương pháp toàn cục local feature) . Phương [2]
pháp dựa trên các đặc điểm cục bộ đã được chứng minh là ưu việt hơn khi làm việc trong các
điều kiện không kiểm soát thể nói rằng lịch sử phát triển của nhận dạng mặt (A
7
never ending story) sự phát triển của các phương pháp trích chọn đặc trưng (feature
extractrion methods) được sử dụng trong các hệ thống dựa trên feature based.
Các ứng dụng cụ thể của nhận dạng mặt dựa trên 2 hình nhận dạng: identification
(xác định danh tính, bài toán 1 N), verification (xác thực danh tính, bài toán 1- -1). Trong
bài toán identification, ta cần xác định danh tính của ảnh kiểm tra, còn trong bài toán
verification ta cần xác định 2 ảnh có cùng thuộc về một người hay không [3].
Nhận dạng khuôn mặt (Face Recognition) một phương pháp sinh trắc để xác định
hoặc xác minh một nhân nào đó bằng cách so sánh dữ liệu hình ảnh chụp trực tiếp hoặc
hình ảnh kthuật số với bản ghi được u trữ cho người đó.Nó được xem một lĩnh vực
nghiên cứu của ngành Biometrics (tương tự như nhận dạng vân tay Fingerprint
Recognition, hay nhận dạng mống mắt Iris Recognition). Xét về nguyên tắc chung, nhận
dạng khuôn mặt có sự tương đồng rất lớn với nhận dạng vân tay và nhận dạng mống mắt, tuy
nhiên sự khác biệt nằm ở bước trích chọn đặt trưng (feature extraction) của mỗi lĩnh vực [4].
Trong khi nhận dạng vân tay và mống mắt đã đạt tới độ chín, tức là có thể áp dụng trên
thực tế một cách rộng rãi thì nhận dạng khuôn mặt người vẫn còn nhiều thách thức và vẫn
một lĩnh vực nghiên cứu thú vị với nhiều người.So với nhận dạng vân tay và mống mắt, nhận
dạng khuôn mặt nguồn dữ liệu phong phú hơn (chúng ta có thể nhìn thấy mặt người bất
cứ tấm ảnh, video clip nào liên quan tới con người trên mạng) ít đòi hỏi sự tương tác có
kiểm soát hơn (để thực hiện nhận dạng vân tay hay mống mắt, 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).
Các hệ thống nhận dạng khuôn mặt thường được sử dụng cho các mục đích an ninh như
kiểm soát an ninh tại tòa nhà, sân bay, y ATM, tra cứu thông tin của tội phạm, phát hiện
tội phạm ở nơi công cộng, ...và ngày càng được ứng dụng rộng rãi trong cuộc sống.
Bên cạnh những thành công đã được ghi nhận thì nhận dạng khuôn mặt cũng còn gặp
nhiều khó khăn như về độ sáng, hướng nghiêng, kích thước hình ảnh, diện mạo, biểu hiện
cảm xúc của khuôn mặt hay ảnh hưởng của tham số môi trường.
Để xây dựng một hệ thống nhận dạng khuôn mặt đầu o của hệ thống một hình
ảnh kỹ thuật số hay một khung hình video từ một nguồn video. Đầu ra xác định hoặc c
minh người trong bức hình hoặc trong video đó ai. Hướng tới mục tiêu y chúng ta
8
thường chia thủ tục nhận dạng khuôn mặt gồm ba bước: Phát hiện khuôn mặt, trích rút đặc
trưng và nhận dạng khuôn mặt.
Phát hiện khuôn mặt (Face Detection): Chức năng chính của bước này phát hiện ra
khuôn mặt xem xuất hiện trong một bức hình hay một đoạn video hay không? Tỉ lệ
phát hiện ra khuôn mặt phụ thuộc nhiều vào điều kiện về độ sáng, hướng khuôn mặt, biểu
hiện cảm xúc trên khuôn mặt hay các yếu tố môi trường khác. Để hệ thống nhận dạng hoạt
động đạt hiệu quả cao thì hình ảnh khuôn mặt sau khi được phát hiện cần chuẩn hóa về kích
thước, ánh sáng.
Trích rút đặc trưng (Feature Extraction): Sau khi phát hiện ra khuôn mặt trong bức ảnh,
chúng ta tiến hành trích rút những đặc trưng của khuôn mặt. Bước này trích xuất ra một
vector đặc trưng đại diện cho một khuôn mặt. phải đảm bảo được tính duy nhất của một
khuôn mặt [5].
Nhận dạng khuôn mặt (Face Recognition): Với hình ảnh đầu vào sau khi phát hiện ra
khuôn mặt, trích rút các đặc trưng của khuôn mặt và đem so sánh các đặc trưng này với cơ sở
dữ liệu khuôn mặt.
Bài toán nhận dạng khuôn mặt được ứng dụng nhiều trong các lĩnh vực đời sống đặc
biệt những lĩnh vực công nghệ cao, yêu cầu về an ninh, bảo mật. Do đó để hệ thống nhận
dạng khuôn mặt hoạt động mạnh mẽ với tốc độ và độ tin cậy thì có rất nhiều các phương pháp
về nhận dạng khuôn mặt được đưa ra. Các phương pháp thể được phân loại theo các tiêu
chí khác nhau như nhận dạng với dữ liệu ảnh đầu vào ảnh tĩnh 2D (Elastic Bunch Graph,
Active Appearance Model). Phương pháp này phổ biến nhất tương lai sẽ 3D (3D
Morphable Model).
Tuy nhiên trên thực tế người ta hay chia phương pháp nhận dạng khuôn mặt ra thành 2 loại:
• Nhận dạng dựa trên các đặc trưng của các phần tử trên khuôn mặt (Feature Base
Face Recognition)
Nhận dạng dựa trên xét tổng thể toàn khuôn mặt (Appearance Based Face
Recognition).
9
1.2. Công nghệ nhận diện khuôn mặt
Công nghệ nhân diện khuôn mặt (Facial Recognition Technology) hiện một công
nghệ đang được sử dụng khá phổ biến tại các quốc gia phát triển. Công nghệ này có khả năng
xác định hoặc xác nhận một người từ hình ảnh kỹ thuật số được lấy mẫu trước đó hoặc từ một
khung hình trong một nguồn video khác. Và hiện nay, tại thị trường Việt Nam, công nghệ này
đã dần dần được sử dụng tại một số hệ thống cửa hàng, khách sạn Công nghệ Nhận - resort.
dạng khuôn mặt một ng dụng máy tính tự động xác định hoặc nhận dạng một người nào
đó từ một bức hình ảnh kthuật số hoặc một khung hình video tmột nguồn video. Một
trong những cách để thực hiện điều này so sánh các đặc điểm khuôn mặt chọn trước từ
hình ảnh và một cơ sở dữ liệu về khuôn mặt. Hệ thống này thường được sử dụng trong các hệ
thống an ninh và có thể được so sánh với các dạng sinh trắc học khác như các hệ thống nhận
dạng vân tay hay tròng mắt như nhiều người có thể biết. Nhận dạng khuôn mặt hiện giờ đăng
xu thế phát triển tất yếu của cuộc sống, nhận thấy tiềm năng lớn Futech cùng đội ngũ đã
ứng dụng công nghệ này vào các giải pháp của mình để nâng cao hiệu quả và đáp ứng tốt hơn
nhu cầu từ người sử dụng.
Hình 1. 1 Kiểm soát theo thời gian thực (real -time)
10
1.3. Thực trạng và phƣơng pháp của hệ thống nhận dạng khuôn mặt
1.3.1 Quy trình của hệ thống nhận dạng khuôn mặt
1.3.2 Phát hiện khuôn mặt (face detection)
Phát hiện khuôn mặt là quá trình xác định vị trí khu vực khuôn mặt trong hình ảnh và sẽ
lấy ra tất cả các khuôn mặt trong một hình ảnh.
Tiền xử ảnh (preprocessing): Bước này nhằm mục đích lọc nhiễu, nâng cao chất
lượng ảnh, trong bước này bao gồm các bước : Căn chỉnh ảnh, chuẩn hóa ánh sáng
Trích rút đặc trưng ( feature extraction): bước này một phương pháp trích chọn đặc
điểm như: mẫu nhị phân cục bộ LBP (hay Gabor wavelets, Gradient, Discrete Cosine
Transform …) sẽ được sử dụng với ảnh mặt để trích xuất các thông tin đặc trưng cho ảnh,kết
quả là mỗi ảnh sẽ được biểu diễn dưới dạng một vector.đề tài nhóm chọn chủ yếu trình bày về
phương pháp Local Binary Pattern mục
Nhận dạng/Phân lớp: Bước nhận dạng (recognition) hay phân lớp (classification), tức là
xác định danh tính (identity) hay nhãn (label) của ảnh – đó là ảnh của ai.
11
1.4 Một số phƣơng pháp nhận dạng khuôn mặt
Phát hiện mặt người bài toán cơ bản được xây dựng từ nhiều năm nay, nhiều
phương pháp được đưa ra như sử dụng template matching, neuron network…Cho tới nay bài
toán y hầu như được giải quyết dựa trên phương pháp sử dụng các đặc trưng haar like.
Phương pháp này được cho đơn giản kết quả phát hiện tương đối cao, lên tới 98%,
các hãng sản xuất máy ảnh như Canon, Samsung… cũng đã tích hợp vào trong các sản
phẩm của mình.
1.4.1 Các đặc trưng Haar-Like: Các đặc trưng Haar Like là những hình chữ nhật được phân -
thành các vùng khác nhau như hình:
Đặc trưng do Viola và Jones công bố gồm 4 đặc trưng bản để xác định
khuôn mặt người. Mỗi đặc trưng Haar Like là sự kết hợp của hai hay ba hình chữ nhật -
trắng hay đen như trong hình sau:
Để sử dụng các đặc trưng này vào việc xác định khuôn mặt người, 4 đặc trưng
Haar-Like cơ bản được mở rộng ra và được chia làm 3 tập đặc trưng như sau:
feature) Đặc trưng cạnh(edge
Hình 1. 3 Các đặc trưng Haar
12
Đặc trưng đường(line feature)
Đặc trưng xung quanh tâm(center-surround features)
Dùng các đặc trưng trên, ta có thể tính được các giá trị của đặc trưng Haar-Like
là sự chênh lệch giữa tổng của các pixel của vùng đen và vùng trắng như trong công
thức sau:
(
)
(
)
Viola và Joines đưa ra một khái niệm gọi là Integral Image, là một mảng 2 chiều
với kích thước bằng với kích thước của ảnh cần tính đặc trưng Haar Like, với mỗi -
phần tử của mảng này được tính bằng cách tính tổng của điểm ảnh phía trên (dòng-1)
và bên trái (cột 1) của nó.-
Công thức tính Intergral Image
(
( )
)
Sau khi tính được Integral Image, việc tính tổng các giá trị mức m của một
vùng bất kỳ nào đó trên ảnh thực hiện rất đơn giản theo cách sau:
Giả sử ta cần tính tổng giá trị mức xám của vùng D như hình dưới, ta có thể tính
được như sau:
D = A + B + C + D - (A+B) - (A+C) + A
Với A + B + C + D chính là giá trị tại điểm P4 trên Integral Image, tương tự như
vậy A+B là giá trị tại điểm P2, A+C là giá trị tại điểm P3,A là giá trị tại điểm P1.
Vậy ta có thể viết lại biểu thức tính D ở trên như sau:
13
( )
(
)
(
)
( )
(
)
( )
AdaBoost là một bộ phân loại mạnh phi tuyến phức dựa trên hướng tiếp cận boosting
được FreundSchapire đưa ra vào năm 1995. Adaboost cũng hoạt động trên nguyên tắc
kết hợp tuyến tính các weak classifiers để hình thành một trong các classifiers.
Viola Jones dùng AdaBoost kết hợp các bphân loại yếu sử dụng các đặc trưng
Haar-like theo mô hình phân tầng (cascade) như sau:
Hình 1. 4 Mô hình phân tầng Cascade
Trong đó,
l : à các bộ phân loại yếu, được biểu diễn như sau
{
(
)
Với:
14
AdaBoost sẽ kết hợp các bộ phân loại yếu thành bộ phân loại mạnh như sau:
(
)
(
(
)
(
)
( )
)
Với:
là hệ số chuẩn hóa cho các bộ phân loại yếu
Đây là hình ảnh minh họa việc kết hợp các bộ phân loại yếu thành bộ phân loại mạnh
Hình 1. 5 Kết hợp các bộ phân loại yếu thành bộ phân loại mạnh
1.4.2 Dựa trên tri thức
Trong hướng tiếp cận này, các luật sẽ phụ thuộc rất lớn vào tri thức của những tác
giả nghiên cứu về bài toán xác định khuôn mặt người. Đây hướng tiếp cận dạng top-
down. Dễ dàng xây dựng các luật bản để tả các đặc trưng của khuôn mặt các
quan hệ tương ứng. dụ, một khuôn mặt thường hai mắt đối xứng nhau qua trục
thẳng đứng ở giữa khuôn mặt và có một mũi, một miệng. Các quan hệ của các đặc trưng
có thể được mô tả như quan hệ về khoảng cách và vị trí. Thông thường sẽ trích đặc trưng
của khuôn mặt trước tiên để được các ứng viên, sau đó các ứng viên này sẽ được xác
định thông qua các luật để biết ứng viên nào là khuôn mặt và ứng viên nào không phải
khuôn mặt. Thường áp dụng quá trình xác định để giảm số lượng xác định sai.
1.4.3 Dựa trên so khớp mẫu
Trong so khớp mẫu, các mẫu chuẩn của khuôn mặt (thường khuôn mặt được
chụp thẳng) sẽ được xác định trước hoặc xác định các tham số thông qua một hàm. Từ
một ảnh đưa vào, tính các giá trị tương quan so với các mẫu chuẩn về đường viền khuôn
mặt, mắt, mũi và miệng. Thông qua các giá trị tương quan này mà các tác giả quyết định
có hay không có tồn tại khuôn mặt trong ảnh. Hướng tiếp cận này có lợi thế là rất dễ cài
15
đặt, nhưng không hiệu quả khi tỷ lệ, tư thế, và hình dáng thay đổi. Nhiều độ phân giải, đa
tỷ lệ, các mẫu con, các mẫu biến dạng được xem xét thành bất biến về tỷ lệ hình
dáng.
1.4.4 Dựa trên diện mạo
Trái ngược với các phưong pháp so khớp mẫu với các mẫu đã được định nghĩa
trước bởi những chuyên gia, các mẫu trong hướng tiếp cận này được học từ các ảnh mẫu.
Một các tổng quát, các phương pháp theo ớng tiếp cận y áp dụng các kỹ thuật theo
hướng xác suất thống máy học để tìm những đặc tính liên quan của khuôn mặt và
không phải khuôn mặt. Các đặc tính đã được học trong hình thái các hình phân
bố hay các hàm biệt số nên dùng thể dùng các đặc tính y để xác định khuôn mặt
người. Đồng thời, bài toán giảm số chiều thường được quan tâm đtăng hiệu quả tính
toán cũng như hiệu quả xác định.
1.4.5 Dựa trên đặc trưng lõm
Năm 1983, James L. Crowley đã đưa ra khái niệm ridge peak. Ridge các điểm lồi
trên ảnh. Tập các điểm ridge trên ảnh sẽ tạo thành những đường xương sống các đường
này sẽ tạo thành các chùm tia gọi peak (chùm). James L. Crowley sử dụng phép hiệu của
lọc Low Pass để rút ra các điểm ridge (lồi) trên ảnh, sau đó một thuật toán duyệt để kết
chúng lại với nhau thành các đặc trưng ridge peak. Tiếp sau đó, một số các phương pháp
được đề xuất để rút trích các thông tin về ridge và valley (lõm). Hầu hết các phương pháp này
dùng một bộ lọc để tăng cường thông tin về cạnh trên nh sau đó tìm qutích các điểm
cực trị. Quỹ tích các điểm cực trị này được xem là các đặc trưng lồi và lõm. Trong đặc trưng
lồi lõm được tìm trên nhiều độ phân giải khác nhau, cho kết quả đáng kể. Tuy nhiên,
chất lượng của các đặc trưng lồi lõm y còn phụ thuộc khá nhiều vào điều kiện chiếu sáng
cũng như các mức phân giải được lựa chọn trước. Để giải quyết sự phụ thuộc này, Lindeberg
đã đề xuất một phương pháp tự động chọn độ phân giải tốt nhất. Gần đây Hải Trần đưa ra
một cách tiếp cận sử dụng Laplacian để tăng cường thông tin cạnh sau đó tìm ridge
peak dưới nhiều mức khác nhau. Trong hướng tiếp cận này, các đặc trưng ridge và peak được
biểu diễn dưới dạng các đồ thị quan hệ hoặc các cây cấp bậc với các tầng là các ridge và peak
được dò tìm tại các mức khác nhau.
16
1.5. Tổng quan về bài toán
Nhận dạng mặt người (Face recognition) được nghiên cứu từ nhưng m 1980, là một
lĩnh vực nghiên cứu của ngành thị giác máy tính (Computer Vision), cũng được xem
một lĩnh vực nghiên cứu của ngành sinh trắc học (Biometrics) tương tự như nhận dạng vân
tay -8 Fingerprint recognition, hay nhận dạng mống mắt Iris recognition. Trong khi nhận -
dạng vân tay mống mắt có thể áp dụng trên thực tế một cách rộng rãi thì nhận dạng mặt
người vẫn còn nhiều thách thức. So với nhận dạng vân tay mống mắt, nhận dạng mặt
nguồn dữ liệu phong phú hơn và ít đòi hỏi sự tương tác có kiểm soát hơn.
Bài toán nhận dạng mặt người còn nhiều thách thức nên hàng năm trong & ngoài nước
vẫn nhiều nghiên cứu về các phương pháp nhận dạng mặt người. Để thử nghiệm phương
pháp chúng ta cần một sở dữ liệu ảnh mẫu. ba sở dữ liệu ảnh mẫu phổ biến là:
Cơ sở dữ liệu AT&T, Cơ sở dữ liệu Yale A, Cơ sở dữ liệu Yale B Bài toán nhận dạng khuôn
mặt có thể áp dụng rộng rãi trong nhiều ứng dụng thực tế khác nhau.
Trong đề tài tác giả tập trung vào bài toán nhận dạng bằng mống mắt sử dụng ngôn này,
ngữ lập trình Python. Do các khó khăn của bài toán nhận dạng khuôn mặt như: thế góc
chụp, sự xuất hiện hoặc thiếu một số thành phần của khuôn mặt, sự biểu cảm của khuôn mặt,
sự che khuất, hướng của ảnh, điều kiện của ảnh...
nh được xét ảnh số, nghĩa ảnh mặt người được chụp từ các thiết bị như máy ảnh
số,camera,….Không xem xét các ảnh mặt người nhân tạo như vẽ, điêu khắc …
1.6 Kết luận chƣơng 1
Trong chương 1, tác giả đã hân tích, đánh giá những vấn đề còn hạn chế, tồn tại của p
các công trình nghiên cứu trong ngoài ớc, một số phương pháp nhận diện khuôn mặt.
Từ đó đã nêu được bài toán đặt ra và hướng giải quyết ở các chương tiếp theo.
17
CHƢƠNG 2 MỘT SỐ PHƢƠNG PHÁP VÀ THUẬT TOÁN NHẬN DẠNG
Trong chương này, tác giả sẽ trình bày về những thuật toán dùng để giải quyết bài
toán đã nêu ra ở chương 1 và làm tiền đề cho chương 3.
2.1 Thuật toán Viola-Jones
Thuật toán lần đầu tiên được xuất bản vào năm 2001 bởi Paul Viola Viola-Jones
Michael Jones trong bài báo năm 2001 của họ, Rapid Object Detection using a Boosted
Cascade of Simple Features, bài báo này đã trở thành một trong những bài báo được trích dẫn
nhiều nhất trong tài liệu về . Trong bài báo y, Viola Jones đxuất một computer vision
thuật toán khả năng phát hiện các vật thể trong hình ảnh, bất kể vị trí tỷ lệ của chúng
trong một hình ảnh. Hơn nữa, thuật toán này có thể chạy trong thời gian thực, giúp phát hiện
các đối tượng trong video stream.
Cụ thể, Viola Jones tập trung vào việc phát hiện khuôn mặt trong ảnh, nhưng thuật
toán này cũng thể được sử dụng để huấn luyện máy tìm các vật thể tùy ý, như xe hơi,
tòa nhà, dụng cụ nhà bếp và thậm chí là một trái chuối.
Mặc khung Viola Jones chắc chắn đã mở ra cánh cửa để phát hiện đối tượng, nhưng giờ -
đây đã vượt xa các phương pháp khác, chẳng hạn như sử dụng Histogram of Oriented
Gradients (HOG) + Linear SVM và Deep Learning.
Hình 2. 1 Phát hiện khuôn mặt bằng cách sử dụng Haar cascade được đào tạo trước
18
2.2 One-shot learning
One-shot learning thuật toán học giám sát mà mỗi một người chỉ cần 1 vài, rất ít
hoặc thậm chí chỉ 1 bức ảnh duy nhất (để khỏi tạo ra nhiều biến thể).
Từ đầu vào bức ảnh của một người, chúng ta sử dụng một kiến trúc thuật toán CNN đơn
giản để dự báo người đó là ai.
Tuy nhiên nhược điểm của phương pháp này là chúng ta phải huấn luyện lại thuật toán
thường xuyên khi xuất hiện thêm một người mới shape của output thay đổi tăng lên 1.
ràng không tốt đối với các hệ thống nhận diện khuôn mặt của một công ty số lượng
người luôn biến động theo thời gian.
2.3 Learning similarity
Phương pháp này dựa trên một phép đo khoảng cách giữa 2 bức nh, thông thường các
norm chuẩn ếu 2 bức ảnh thuộc cùng một người thì khoảng cách nhỏ
hoặc
sao cho n
nhất và nếu không thuộc thì khoảng cách sẽ lớn hơn.
{
(
)
( )
Hình 2. 2 Phương pháp learning similarity.
19
Thay dự báo một phân phối xác suất để m ra nhãn phù hợp nhất với ảnh đầu vào. Thuật
toán sẽ so sánh khoảng cách giữa ảnh đầu vào (bên phải) với toàn bộ các ảnh còn lại (bên
trái). Ta cần chọn một ngưỡng threshold để quyết định ảnh là giống hoặc khác.
Giả sử ngưỡng threshold 0.5. Trong các bức ảnh bên trái thì bức ảnh giữa khoảng
cách với ảnh bên phải nhỏ hơn 0.5. Do đó nó được dự báo cùng một người với ảnh bên phải.
Learning similarity thể trả ra nhiều hơn một ảnh cùng loại với ảnh đầu vào tùy theo
ngưỡng threshold. Ngoài ra phương pháp y không bị phụ thuộc vào số lượng classes. Do
đó không cần phải huấn luyện lại khi xuất hiện class mới.Điểm mấu chốt cần y dựng
được một model encoding đủ tốt để chiếu các bức ảnh lên một không gian eucledean n chiều.
Sau đó sử dụng khoảng cách để quyết định nhãn của chúng.
Như vậy learning similarity ưu điểm hơn so với one shot learning khi không phải huấn -
luyện lại model khi mà vẫn tìm ra được ảnh tương đồng.
2.4 Siam network
Những kiến trúc mạng mà khi đưa vào 2 bức ảnh và mô hình sẽ trả lời chúng thuộc về
cùng 1 người hay không được gọi chung là Siam network. Siam network được giới thiệu đầu
tiên bởi DeepFace: Closing the Gap to Human-Level - Yaniv Taigman. elt.
Kiến trúc của Siam network dựa trên base network một Convolutional neural network đã
được loại bỏ output lay tác dụng encoding ảnh thành véc embedding. Đầu vào của er
mạng siam network 2 bức ảnh bất được lựa chọn ngẫu nhiên từ dữ liệu ảnh. Output của
Siam network là 2 véc tơ tương ứng với biểu diễn của 2 ảnh input. Sau đó chúng ta đưa 2 véc
vào hàm loss function để đo lường sự khác biệt giữa chúng. Thông thường hàm loss
function là một hàm norm chuẩn bậc 2.
Hình 2. 3 Mô hình Convolutional neural network
20
2.5 Thuật toán ORB
Đố i sánh thu cộc tính sở a nhiu v thấn đề giác máy tính, chng h n ạn như nhậ
dạng đối tượ ển động. Phương pháp hiệng hoc cu trúc t s chuy n nay da trên vic t
gây t n kém v nh n d i sánh. Trong tài, này tác gi nghiên c u m t t nh ạng đố đề
phân d a trên BRIEF g xoay b t bi n và có kh ng nhi u. Các ọi là ORB, đó là vòng ế năng chố
thí nghi ng mình r ng v trí th hai v lệm đã chứ ằng ORB đ độ ớn và nhanh hơn SIFT trong
khi ho t t t trong nhi u tình hu ng. Hi u qu c th nghi m trên m t s ng d ng th đượ ế
gii th c, bao g m phát hi n tho i thông minh. ện đố ợng và theo dõi trên điệi tư
Thuộc tính ORB đề ất đư xu c xây dng trên các bkeypoint ni tiếng FAST và gn
đây là bộ mô t BRIEF gi là ORB (Oriented Fast and Rotated BRIEF). Trong đề tài này,
gii quy t m t s h n ch c a nh ng công c nh t thi u b t ế ế liên quan đến SIFT, đáng kể ế
biến trong phép quay BRIEF. C th là:
- Thêm vào FAST và gán hướng chính xác cho các thành phn ca FAST.
- Các tính toán hi u qu thu ng BRIEF. ộc tính hướ
- Phân tích phương sai và tương quan của thuc tính ng BRIEF. hướ
- Một phương pháp họ m tương ộc tính BRIEF dước gi ng thu i bt biến quay, dn
đế n thc hin t ng dốt hơn các ứ ng láng ging gn.
Hình 2. 4 Kết qu đối sánh nh s d ng thu t toán ORB.
Để hi ORB ta thểu hơn về c hin c thí nghim kim tra các thuc tính ca ORB liên
quan đế năng đố ụng đốn SIFT và SURF, c kh i sánh thô hiu sut trong các ng d i sánh
21
hình nh. Ki m nghi m hi u qu c a ORB b ng cách th c hi n m t ng d ng theo dõi trên
bản vá trên điện thoi thông minh. Mt li ích na ca ORB là nó là min phí trong khi SIFT
và SURF thì không.
Hình 2. 5 Đồ th nhi u c a nh cường độ
2.6 Thu t toán RANSAC
RANSAC, đạ Consensus”, tứi din cho cm t “Random Sample c “đồng thun mu
ngẫu nhiên”, là thuậ ễu đượ ởi Fischler và Bolles vào năm 1981.t toán kh nhi c công b b
Ý tưở ủa RANSAC như sau: Từ ệu ban đầng chính c tp d li u, ta s hai loi d liu
nhiu và không nhi u (outlier inlier), th ta ph tìm ra hình t t nh t ế ải đi tính toán để
cho t p d li u. Vi c tính toán và ch n ra mô hình t t nh t s c l p l i k l n, v i giá đượ ặp đi lặ
tr k đượ ọn sao cho đủ ớn đểc ch l đảm báo xác su 0.99) c a t p d ất p (thường rơi vào giá trị
liu m u ng u nhiên không ch li u nhi u. a d
Vi ma trận Homography đượ ặp điểc tính t bn c m ngu nhiên, ta có d là khong cách
đo mức độ ắp điểm đã được so sánh đ ặp điể ật tương gn nhau ca các c i chiếu. Vi c m ni b
đồng ( ) (
) là kho ng cách c a hai vector, ta có công th c khoảng cách như sau:
(
) (
)
Thut toán chi ti t: ế
- Khi t o s vòng l ng distance, và p = 0. ặp k, ngưỡ
22
- For (i = 1: k), thc hiện các bước sau:
- Bước 1: Ch n 4 c p ng ng u nhiên. điểm tương đồ
- Bước 2: Ki m tra xem các đi m có n m trên cùng m t ng th ng hay không. đườ
- Bước 3: Tính ma tr n Homography H t m s d n 4 đi ụng phương pháp DLT chuẩ
hóa.
- Bước 4: Tính khong cách d c a các c m n i b ng. ặp điể ật tương đ
- Bước 5: Tính s lượng m các c m không ng u nhiên (inlier) th u ki n: ặp điể ỏa điề
.
- Bước 6: Nếu thì
, ma tr n Homography
- Tiếp t c tính l i ma tr n H cho t t c các c ng c coi không ặp điểm tương đồ đượ
nhiu (inlier) b ằng phương pháp DLT.
2.7 Thu t toán HOG tài ch y(Trong đề ếu dùng thut toán này)
r t nhi i nh, u các phương pháp khác nhau trong computer vision. Khi phân lo
chúng ta có th áp d ng h các mô hình CNN (Inception Net, mobile Net, Resnet, Dense Net,
Alexnet, Unet,…) khi phát hi n vt th các hình YOLO, SSD, Faster RCNN, Fast
RCNN, Mask RCNN.
Các thu t toán k u nh ng hình deep learning. V c khi deep trên đề ậy trướ
learning bùng n , thu c s d ng trong x nh? Bài hôm nay chúng ta ật toán nào thường đượ
s tìm h u v thu t toán tuy c t hi u qu trong x điển nhưng cũng r ảnh, đó chính
HOG (histogram of oriented gradient).
Thut toán y s t o ra các b mô t m m c đặc trưng (feature descriptor) nhằ
đích phát hin vt th (object detection). T mt bc nh, ta s ly ra 2 ma trn quan trng
giúp u thông tin ảnh đó độ ớn gradient (gradient magnitute) phương c l a gradient
(gradient orientation). Bng cách k t h p 2 thông tin này vào m t bi phân ph i ế ểu đồ
histogram, trong đó độ ớn gradient được đế ủa phương gradient. Cu l m theo các nhóm bins c i
cùng ta s i di y, trên th thu được véc tơ đặc trưng HOG đạ ện cho histogram. Sơ khai là vậ c tế
thut toán còn ho ng ph c t c tính trên t ng vùng c bạt độ ạp hơn khi véc tơ HOG sẽ đượ như
23
mạng CNN sau đó phép chuẩ ất độ đo. Cuối cùng véc HOG n hóa c b để đồng nh
tng h p t . các véc tơ trên vùng cục b
ng dng ca HOG
Vy HOG nh ng ng d ng c th nào? M t s tác v ng HOG mang như thế đã áp dụ
li chu n xác cao có th k n là: độ đế
Nhn di i (human detection): L u tiên ng d i thi u trong ện ngườ ần đ ụng này được gi
bài báo Histograms of Oriented Gradients for Human Detection c a Dalal và Trigg. HOG có
th phát hi c m t ho trên cùng m t hình nh. ện đượ c nhiều người đi bộ
Hình 2. 6 Mô hình human detection da trên HOG.
Nhn di n khuôn m ng chúng ta s n thu t toán ặt (face detection): Thườ nghĩ ngay đế
Haar Cascde Classifier. Tuy nhiên HOG cũng một thut toán rt hiu qu được áp dng
trong bài toán này. B i nó có kh u di ng nét chính c a khuôn m t d a trên năng biể ễn các đườ
phương và độ ớn gradient thông qua các véc tơ trên mỗi cell như hình mô tả bên dướ l i:
24
Nhn di n các v t th khác: Ngoài ra còn r t nhi ng h p nh n di n v t th trên ều các trườ
ảnh tĩnh như phương tiệ ệu giao thông, độ ảnh độn, tín hi ng vt hoc thm ch ng t video.
To feature cho các bài toán phân lo i nh: Nhi u bài toán phân lo i c xây d ng ảnh đư
trên m t b d li c nh thì s d ng các m ng h i hi u ệu kích thư ọc sâu chưa chắc đã mang lạ
qu d d n t i overfiting. Nguyên nhân d li hu n luy n cho ệu ít thường không đủ để
máy tính nh n t a v t th s d t mang ốt các đặc trưng củ ể. Khi đó ụng HOG để ạo đặc trưng sẽ
li k t qu t th th n m t ví d cu i. ế ốt hơn. Cụ tôi cũng sẽ c hi
+) Feature Descriptor: B t t phép bi i d li c đặc trưng, mộ ến đổ ệu thành các đặ
trưng giúp ích cho phân loạ ể. Các phương đến như i hoc nhn din vt th pháp th k
HOG, SUFT, SHIFT.
+) Histogram: bi histogram bi u di n phân ph i c màu s c theo ểu đồ ủa các cường độ
khong giá tr . N t bi histogram b c th xem l i bài 11 - ếu chưa biế ểu đồ ạn đọ
visualization trong python
+) o hàm c màu s c giúp phát hi ng di chuy n Gradient: đạ ủa véc tơ cường độ ện hướ
ca các vt th trong hình nh.
+) Local cell: Ô c c b . Trong thu t toán HOG, m t hình c chia thành nhi u cells ảnh đượ
bi một lưới ô vuông. M c g i cell đư i là mt ô cc b.
+) Local portion: Vùng c . Là m t ra t ô vuông trên hình nh. c b ột vùng trước trích su
Trong phn trình bày v thu t toán thì vùng c c g i là block. c b còn đượ
+) Local normalization: Phép chu c th c hi n trên m t vùng c c b ng ẩn hóa đượ ộ. Thườ
chia cho norm chu n b c 2 ho c norm chu n b c 1. M a vi c chu ng ục đích củ ẩn hóa là để đồ
nht các giá tr màu s chung m t phân ph i. cường độ c v
+) Gradient direction l n góc gi giúp : Phương gradient. độ ữa véc gradient
xác định phương thay đổ ờng độ ắc hay chính là phương đổi cư màu s bóng ca hình nh.
Gi s l t là giá tr gradient theo l c a hình ần lượ ần lượt phương ảnh. Khi đó
phương gradient được tính như sau:
(
)
25
+) Gradient magnitude l n gradient. chi u dài c: Độ ủa véc gradient theo
phương phương Biu din phân phi histogram của véc y theo véc phương
gradient s l thu được véc tơ mô tả đặc trưng HOG. Độ ớn gradient được tính như sau:
|
|
Trong h u h t các thu t toán x u tiên ti n x d li u nh (pre- ế ảnh, bước đầ
processing image). Chúng ta s c n chu n hóa màu s c giá tr c gamma. Tuy nhiên, bướ
này th c b qua trong ph n tính toán b t HOG, vi c chu n hóa b t đượ
bướ c ti c kếp theo đã đạt đượ ết qu tương tự. Thay vào đó, tại bước đầu tiên ca tính toán b
mô t chúng ta s tính các giá tr bi n nh t là áp d ng m t m t n gradient. Phương pháp phổ ế
đạ o hàm r i rc (discrete derivative mask) theo mt hoc c hai chiu ngang dc. C th ,
phương pháp sẽ ận cường độ ọc như lc ma tr nh vi các b l Sobel mask hoc scharr.
Để đượ tính b lc sobel, phép tích chp c c 3x3 ủa kernel kích thướ c thc hin v i hình nh
ban đầu. Nếu chúng ta hiu I là ma trn nh gc 2 ma tr n nh mi điểm
trên nó l o hàm theo tr c tr c . Chúng ta có th ần lượt là đạ tính toán được kernel như sau:
Đạo hàm theo chiu ngang:
[
]
Đạo hàm theo chiu dc:
[
]
Kí hi u * p gi l u vào bên ph i. tương tự như phép tích chậ a b c bên trái và ảnh đầ
Gía tr l độ ớn gradient (gradient magnitude) phương gradient (gradient direction) thể
được to ra t o hàm theo công th i: 2 đạ ức bên dướ
Độ l n gradient
|
|
Phương gradient:
(
)
26
Trong đề tài này n OpenCV , gradient được tính trên thư việ
Các bước tính HOG trong đề tài
Ta nh n th a m i b c c bi u di n thông qua 2 thông s y đặc trưng củ ảnh đượ đó mức độ
thay đổi ờng độ gradient magnitude) ớng thay đổi cường độ màu sc (ma trn màu
sc (ma tr n n t c m t b t (feature gradient direction). Do đó chúng ta cầ ạo ra đượ
descriptor) sao cho bi i b c nh thành m hi 2 thông tin này. ến đổ ột véc tơ mà thể ện được c
Để làm đư ư vậ ảnh đượ ột lước nh y, hình c chia thành m i ô vuông mi mt ô kích
thướ c 8x8 y chúng ta có tpixels. Như v ng c ng vộng 64 ô pixels tương i mi ô. Trên m i
mt ô trong 64 pixels ta s c n tính ra 2 tham s l n gradient (gradient magnitute) và đó là độ
phương gradient (gradient direction). Như vy t ng c ng 8x8x2 = 128 giá tr c n tính bao
gm 64 giá tr gradient magnitute và 64 giá tr gradient direction như ma trận hình bên dưới:
Hình 2. 7 Hình nh v i ô vuông, m i ô vuông có kích ận động viên được chia thành các lướ
thước 8x8 pixels.
Véc tơ histogram sẽ ạo ra như sau: được t
Bước 1: Mapping độ ớn gradient vào các bins tương ứ ủa phương gradient. l ng c
Sp x p các giá tr t t nh n l n và chia chúng ế phương gradient theo thứ đế vào 9 bins. Độ
ln c n m trong kho ng [0, 180] nên m i bins sủa phương gradient sẽ độ dài 20 như
hình bên dưới.
27
Mi m ghép c p v i m l n gradient cùng v trí t . Khi bi t ột phương gradient s ột độ ọa độ ế
được phương gradient thu tơ bins, ta sẽ ủa độc bins nào trong véc điền vào giá tr giá tr c ln
gradient vào chính bin đó.
Chng h c khoanh trong hình tròn vi ng v i ạn trong hình bên ới ô đượ ền xanh tương
phương gradient 80 độ ớn gradient 2. Khi đó tại véc bins của HOG, phương l
gradient b ng 80 s trí th 5 nên t n giá tr 2 ng v l n i vào v ại ô này chúng ta đi ới độ
gradient.
Hình 2. 8 Mapping độ ln gradients vi các bins.
Đầ u mút là các giá tr chia h rết cho độ ng ca mt bin (chng h nh u ạn 0, 20, 40,… là ững đầ
mút bin). Trong trườ ợp độ ớn phương gradients không rơi vào các đng h l u mút, ta s s
dụng linear interpolation để phân chia độ ln gradient v 2 bins lin k giá tr phương
gradient rơi vào. dụ phương gradient bằ ới độ: giá tr ng x ghép cp v ln gradient
bng t ng gi a bin th c là phương gradients rơi vào khoả (l−1)bin th l: .
Khi đó tại 2 bins và l (l−1) được điền vào giá tr cường độ theo công thc interpolation:
28
Gía tr t i bins l−1:
(
)
Gía tr t i bins l:
(
)
Bước 2: Chu ẩn hóa véc tơ histogram theo block 16x16
Chúng ta th y r b ph thu các pixels c a m t b c ằng véc histogram sẽ ộc vào cường độ
nh. Vi 2 bc nh có cùng n c ội dung nhưng bứ nh biến th t c tối hơn đượ o thành t ma
trn nh g a nh g g ốc nhân 1/2. Khi đó giá trị véc histogram c ốc cũng sẽ ấp đôi véc
histogram c a nh bi n th . Chính th c n chu c 2 b c nh có ế ế ẩn hóa véc tơ histogram đ
cùng m u di n. ột véc tơ biể
Bước 3: Tính toán HOG feature véc t ơ.
Sau khi chu 1x36 này thành ẩn hóa các véc tơ histogram, chúng ta sẽ concatenate các véc tơ
một véc tơ lớn. Đây chính là véc tơ HOG đại din cho toàn b hình nh.
2.8 Thu t toán CamShif (Dùng trong đề tài và có bài báo trong REV)
Thuật toán CamShift được xut phát và da trên nn tng ca thut toán MeanShift, do
vy vi c tính tr ng tâm c ng và d ch chuy n c a s ủa đối tượ tìm ki m (v c c a sế ới kích thướ
c định) s th c hi n b ng MeanShift , d a theo v ết màu moment ng chính c a ảnh. Ý tư
CamShift tính l i tr ng tâm c ng d a vào frame c c a ủa đối tượ ảnh trước đó kích thướ
ca s tìm ki ếm được thay đổi động theo đối tượ ột hàm step đơn giảng. Nhân m n nm
trong m t b v xác su t (skin-probability). V xác su t c a m i m m c tính ản đồ ột điể ảnh đượ
toán d a trên màu s c b ng cách s d ng m i là Histogram backprojection. ột phương pháp gọ
Màu s mô hình màu HSV. K t nhân là m t hàm step, Mean Shift ắc được đưa ra như Hue t
mi m t ln lp thì ch đơn giản là giá tr trung bình x và y ca v xác su g góp trong ất đón
vùng hi n t nh b ng cách chia moment th nh t c a vùng này cho ại. Điều y được xác đị
moment th không m i l n l p và d ch chuy n tr ng tâm xác su t. Sau khi Mean ển vùng đế
Shift h i t n m t v trí (x,y), ph m vi c c c p nh t d a trên giá tr hi n t i c a đế ủa vùng đượ
29
moment th 0. Giá tr c a b n c p nh t y th i, ph m vi tuy n tính c c thay đổ ế ủa nó đư
gi định t l thu n v c 2 c a t ng c a các kho t c a khu v c ới căn bậ ản đóng góp xác su
hin t i (ví d . Moment th không).
Chiu r ng và chi u dài t i th m th i s c tính thông qua giá tr t i th m ời điể đượ ời điể
th i- 1, nghĩa là giá trị trước đó.
Trong thu t toán CamShift, m t b c nh v xác su t phân b màu s c c a b c nh
trong chu c t u tiên t o ra m t m u t hue s d ng m t bi ỗi video đượ ạo ra. Đầ ểu đồ
màu s c (color Histogram) s d c ụng không gian màu Hue Saturation Value (HSV) đư
tham chi u t không gian màu tiêu chu n RGB. phân b màu s c c a các b c nh trong ế
video thay đổ ật toán CamShift đã đượ ửa đổi đểi theo thi gian, nên thu c s d dàng thích ng
vi s i phân b xác su t màu s a m thay đổ c c c tiêu nó theo dõi.
2.8.1 Các bước thc thi thut toán Camshift:
B1: Ch n v u c tìm ki m. trí ban đầ a c a s ế
B2: Thu t toán Meanshift (l p m t ho c nhi u l 0. ần), lưu moment th
B3: Kích c c a c a s tìm ki t b ng m t hàm c a moment th 0 v a m ếm được đặ
đượ c trong bư c 2.
B4: L p l n khi h i t trí d ch chuy n nh ại ớc 2 bước 3 cho đế (nghĩa vị hơn
ngưỡng thiết l ập trước đó).
2.8.2 Thu t toán Camshift
Đầu tiên mt c tHistogram đư o ra, Histogram y ch a các thu n ộc tính liên quan đế
màu s c. Sau khi t o ra histogram, ti p theo tâm kích c c a m ế ục tiêu được tính toán để
theo dõi m c tiêu khi hình d ng kích c c ủa thay đổi. Tính xác sut phân b mc tiêu
căn c vào Histogram nh c. D ch chuy n v trí m i v i mận đượ ển đế i khung hình va nhn
đượ c t video. Camshift s d ch chuyển đế trí ước ợng trên đối tượn v ng tp trung
nhi t.ều điểm sáng nht trong bc nh xác su
2.8.3 C i ti n thu t toán áp d ng ch tài ế o đề
A) C i ti Camshift ến lược đồ
Bướ c 1: Kh i to
Tìm v trí m c tiêu c a nh v i v trí i nh hi n t
v ại đang xét:
30
nk
qyp
...1
0
),(
Tính theo công thc:
n
k
nk
qypqyp )(),(
00
Bướ c 2: Tính trng s wi
)).((
)(
0
0
kxb
yp
q
w
i
n
k
k
k
i
Bướ c 3: Tính v trí tiếp theo
n
i
i
i
n
i
i
ii
h
xy
gw
h
xy
gwx
y
)(.
)(.
2
0
2
0
1
Bướ c 4: Tính v trí nh v trí m i
nk
yp
...1
11
)(
n
k
nk
qypqyp
0
1111
)(),(
Bướ c 5: So sánh v t nh ảnh cũ và ả v trí m i. Nếu:
n
k
n
qy
k
pqyp
n
k
n
qy
k
pqyp )
1
(
1
),(
1
)
0
(),
0
(
1
thì tính:
2
01
1
yy
y
Bước 6: Kim tra
2
0
h
xy
i
01
yy
Nếu:
31
2
0
h
xy
i
01
yy
Sau đó tính:
)).((
)(
0
0
kxb
yp
q
w
i
n
k
k
k
i
Cho đến khi tha mãn:
).(
1
0
1
0
ii
n
k
n
y
ii
gxw
B) Đánh giá độ ph p c t toán c t a thu
V trí c ần tìm được xác định như sau:
)0(maxarg zspS
z
Vi:
)0()0()0(
zz
spcpzp
Thut toán tìm v trí
)0(
'
s
cpsSS
)0(max
arg
'
*
s
cp
ss
S
doTempWhile
TrueTemp
)(
liên thông vùng
**'
i
SSSS
i
S
a
S
32
0 -
*
00
0
*
00 0 0
0
*
maxarg
liên thông vùng
*
maxarg
0
*
maxarg
*
**
*
****
whileEnd
ifEnd
FalseTemp
Else
SSS
thenSpSSpifElse
SSS
thenSpSSpandSSpSSpif
SSpS
SSpS
SSpS
SrS
i
r
SSr
a
SS
33
CHƢƠNG 3 XÂY DỰNG DEMO
Trong chương này, tác giả những thuật toán đã trình bày chương 2. Xây sẽ dùng
dựng demo một kỹ thuật nhận dạng mặt người dựa trên mống mắt sử dụng ngôn ngữ lập trình
Python. Có sử dụng máy học và bổ xung thêm 1 số phương pháp khác.
3.1 Giới thiệu
Mắt là đ điểm quan trọng nhất trên khuôn mặt con người. Nói chung, phát hiện mắt, ặc
nhận diện khuôn mặt phát hiện mống mắt được sử dụng trong hệ thống bảo mật nhận
dạng người. Để phát hiện bằng mắt, trước tiên hãy phát hiện một phần khuôn mặt của th
người. phát hiện nhận dạng khuôn mặt cũng đóng một vai trò quan trọng. họ nhiều
ứng dụng như giao diện, giám sát, bảo mật. trong giấy này, khuôn mặt, mắt phần mống
mắt phát hiện trong hình ảnh sống động.
Được biết, vùng mắt thường sẫm màu hơn vùng da mặt. trước đó, chúng ta phải đặt giá
trị ngưỡng. Nói chung mắt người chiếm 10% bộ phận trên khuôn mặt. Gần đây, nhiều k
thuật phát hiện mắt đã được báo cáo, Sử dụng thông tin về kích thước và cường độ để tìm các
phân đoạn mắt-tương tự từ hình ảnh thang màu xám, khai thác mối quan hệ hình học đặc
biệt để lọc ra các cặp mắt ng tự có thể có [1]. Mống mắt là một phần hình tròn của mắt. nó -tươ
là cơ quan nhạy cảm nhất của cơ thể con người. có rất nhiều ứng dụng được sử dụng dựa trên
mống mắt. Chức năng của mống mắt kiể ượng ánh sáng đ đồng tử. Đặc m soát l i vào qua
điểm của mống mắt thể được sử dụng trong nhận dạng nhân bảo mật. ờng kính Đư
trung bình của mống mắt 12 mm, kích thước đồng tử thể thay đổi từ 10% đến 80%
đường kính mống mắt [7].
Các kỹ thuật nhận dạng mống mắt khả ăn chặn truy cập trái phép vào ATM, bảo ng ng
mật, Nhận dạng nhân, v.v. Độ chính xác của mống mắt so với các kỹ thuật khác như vân
tay, vân tay, v.v. Có một số ph toán tử vi phân tích phân, biến đổi Hough, phát ương pháp như
hiện cạnh dựa trên gradient được sử dụng để khoanh vùng phần mống mắt đồng tử từ
hình ảnh mắt trực tiếp. Các ph ng pháp này dựa trên bán kính, gradient, xác suất và ươ
men. Wildes đã đề xuất một phép biến đổi Hough tròn để phát hiện mắt, ngưỡng trên
34
dưới. điều này đòi hỏi một giá trị ngưỡng thích hợp [8] .Daugman đề xuất một toán tử vi phân
thấp hơn để tìm đồng tử, mống mắt và mí mắt [9].
Trong đề tài này, chúng tôi ng pháp đã đề xuất một phươ để tự động phát hiện mắt
khuôn mặt của con người cũng như phát hiện mẫu hình tròn, tức mống mắt của hình nh
mắt bị cắt. Phân tích khối được sử dụng để phát hiện mắt bộ phận khuôn mặt trong hình
ảnh trực tiếp.
3.2 Phát hiện mặt và mống mắt
Để nắm bắt các chi tiết phong phú của các mẫu mống mắt, một hệ thống hình ảnh phải
phân giải tối thiểu 70 pixel trong bán kính mống mắt. Trong các thử nghiệm thực địa cho đến
nay, bán kính mống mắt được phân giải từ 100 đến 140 pixel là điển hình hơn. Máy ảnh CCD
đơn sắc (480 x 640) đã được sử dụng vì chiếu sáng NIR trong dải 700nm 900nm là cần thiết -
để hình ảnh không thể nhìn thấy đối với con người. Một số nền tảng hình ảnh triển khai đã
một máy ảnh góc rộng đ định vị thô của mắt trong khuôn mặt, đ điều khiển quang học của
máy ảnh xoay / nghiêng góc hẹp thu được hình ảnh độ phân giải cao hơn của mắt. rất
nhiều ph ng pháp thay thế để tìm theo dõi các đ điểm trên khuôn mặt chẳng hạn nhưươ ặc
mắt, và chủ đ được phân tích kỹ lưỡng này sẽ không được thảo luận thêm ở đâ y.
Trong những thử nghiệm này, hầu hết hình ảnh được thực hiện mà không có quang học
máy ảnh xoay / nghiêng chủ động, thay vào đó, khai thác phản hồi trực quan thông qua
hình ảnh phản chiếu hoặc video để cho phép các đối tượng hợp tác định vị mắt của họ trong
phạm vi quan sát của một máy ảnh góc hẹp.
Đánh giá tiêu điểm được thực hiện trong thời gian thực (nhanh hơn tốc độ khung hình
video) bằng cách đo tổng công suất tần số cao trong phổ Fourier 2D của mỗi khung hình
tìm cách tối đa hóa số lượng y bằng cách di chuyển một ống kính hoạt động hoặc bằng
cách cung cấp phản hồi âm thanh đ Đối tượng đ điều chỉnh phạm vi của họ một cách thích
hợp. Sau , những hình ảnh vượt qua tiêu chí lấy nét tối thiểu sđược phân tích để tìm đó
mống mắt, với việ định chính xác ranh giới của bằng cách sử dụng chiến ợc từ thô c xác
đến tinh, kết thúc bằng các ước tính chính xác từng pixel về tọa độ trung tâm và bán kính của
cả mống mắt và đồng tử. Mặc dù kết quả của việc tìm kiếm mống mắt hạn chế rất nhiều trong
việc m kiếm đồng tử, nhưng không thể giả đ được sự đồng tâm của các ranh giới này. ịnh
35
Rất thường trung tâm đồng tử mũi, thấp hơn trung m mống mắt. Bán kính của
thể từ 0,1 đến 0,8 bán kính mống mắt. Do đó, tất cả ba thông số xác định vòng t đồng tử ròn
phải được ước tính riêng biệt với các thông số của mống mắt.
Một toán tử vi phân tích phân rất hiệu quả để xác định các tham số này là:
(
)
|
(
)
( )
|
Trong đó ( ) hàm làm mịn và ảnh của mắt. Tất cả các nghiên cứu ban đầu về ( )
phân đoạn mống mắt đều giả định rằng mống mắt có ranh giới hình tròn. Tuy nhiên, ranh giới
đồng tử rìa thường không hoàn toàn tròn. Gần đâ nghiên cứu các kthuật y, Daugman đã
phân đoạn thay thế để mô hình hóa ranh giới mống mắt tốt hơn [2]. Ngay cả khi ranh giới bên
trong bên ngoài của mống mắt được tìm thấy, một số mống mắt vẫn thể bị che bởi
mắt hoặc lông mi.
Khoảng cách từ máy ảnh ảnh hưởng đến kích thước của mống mắt trong ảnh. Ngoài ra,
những thay đổi về độ chiếu sáng thể khiến mống mắt giãn ra hoặc co lại. Vấn đề y đã
được giải quyết bằng cách ánh xạ vùng mống mắt được trích xuất vào một hệ tọa độ chuẩn
hóa. Để thực hiện chuẩn hóa này, mọi vị trí trên hình ảnh mống mắt ợc xác định bởi hai tọa đư
độ, (i) một góc từ 0 đến 360 độ và (ii) một tọa độ xuyên tâm nằm trong khoảng từ 0 đến 1 bất
kể kích thước tổng thể của hình ảnh. Quá trình bình thường hóa này giả định rằng mống mắt
kéo dài tuyến tính khi đồng tử giãn ra và co lại. Một bài báo của Wyatt [3] giải thích rằng giả
định này là một phép gần đúng tốt, nhưng nó không hoàn toàn phù hợp với biến dạng thực tế
của mống mắt. Hình ảnh mống mắt chuẩn hóa thể được hiển thị dưới dạng hình ảnh chữ
nhật, với tọa độ xuyên tâm trên trục tung và tọa độ góc trên trục hoành. Trong cách biểu diễn
như vậy, ranh giới đồng tử dưới cùng của hình ảnh, ranh giới rìa trên cùng. Phía bên
trái của hình ảnh chuẩn hóa đánh dấu 0 độ trên hình ảnh mống mắt và phía bên phải đánh dấu
360 độ. Sự phân chia giữa 0 360 độ hơi tùy ý, một độ nghiêng đơn giản của đầu
thể ảnh hưởng đến tọa độ góc. Daugman giải thích cho vòng quay này sau đó, trong kỹ thuật
đối sánh. So sánh trực tiếp cường độ điểm ảnh của hai hình ảnh mống mắt khác nhau thể
dễ bị lỗi vì sự khác biệt về ánh sáng giữa hai hình ảnh khác nhau.
36
Daugman sử dụng phép tích chập với bộ lọc Gabor 2 chiều để trích xuất kết cấu từ hình
ảnh mống mắt chuẩn hóa. Trong hệ thống của anh ấy, các bộ lọc được “nhân với dữ liệu pixel
hình ảnh th được tích hợp trên miền hỗ trợ của chúng để tạo ra các hệ số mô tả, trích xuất ô và
mã hóa thông tin kết cấu hình ảnh.” [4] Sau khi kết cấu trong ảnh được phân tích biểu
diễn, được đối sánh với biểu diễn được lưu trữ của các tròng đen khác. Nếu nhận dạng
mống mắt được thực hiện trên quy lớn, việc so sánh giữa hai hình ảnh sẽ phải rất nhanh.
Do , Daugman đó đã chọn lượng tử hóa phản ứng pha của mỗi bộ lọc thành một cặp bit trong
biểu diễn kết cấu. Mỗi hệ số phức được chuyển thành mã hai bit: bit đầu tiên bằng 1 nếu phần
thực của hệ số là d ng và bit thứ hai bằng 1 nếu phần ảo của hệ số là dươ ương.
3.3 Bi u xu t đồ đề
Mng m t c quan r t quan tr ng trong c th con ng i, trong tài y, m ng ơ ơ ườ đề
mt c phát hi n theo m i h ng (trái, ph i, lên, xu ng). trong ph n trên, tác gi hi n đượ ướ đã
th phát hi n ph n m t và khuôn m t trong th i gian th c, khi chúng tôi phát hi n khuôn m t
và ph n m t sau chúng tôi s phát hi n m ng m t các v trí khác nhau. Trong ph n bi n đó ế
đổ đư để đã đổi Hough c s dng phát hin phn mng mt trong nh mt ct. Phép biến i
Hough m t th t c th ng c s d ng tính toán các tham s c a các i t ng hình ườ đượ để đố ượ
hc nh ng th ng và ng tròn trong mư đườ đườ t hình nh. phát hi n t Để a trung tâm và bán độ
kính c a vùng m ng m t ng t , th s d ng bi n i Hough tròn. K thu t này đồ ế đổ
thường s d ng m t th t c bi u quy t tìm hình d ng c a các i t ng trong các l p ế để đố ượ
sn. Thu t toán phân n Hough tr c tiên t o ra m t b n c nh b ng cách tính toán các đo ư đồ
chuyn s c ho c các o hàm u tiên c a các giá tr c ng trong m t. T a tâm và bán đạ đầ ườ độ độ
kính có th c tìm th y b ng cách s d ng ph ng trình sau: đượ ươ
Trong không gian Hough, m c c i t ng ng v i t a tâm (xc, yc) và bán kính 'r' c a đi đạ ươ độ
đườ đư đãng tròn c cho bi các đim cnh. Khi thc hin phát hin cnh, chúng tôi xem xét
các d n xu t / chuy n sc theo h ng thướ ng ng phát hiđứ để n ranh gi i m ng m t-cng mc
để đượ đượ gim hiu ng ca các mí mt c căn chnh theo chiu ngang (6). Các gradient d c c
thc hi n xác nh ranh gi i m ng m t gi m nh h ng c a m t. Khi th c hi n để đị để ưở
chuyn i Hough hình tròn, không ph i t t c các pixel c nh xác nh hình tròn u c đổ đị đề đượ
37
yêu c u b n a hóa thành công. u này không ch giúp b n a hóa vòng k t n i chính để đị Đi đị ế
xác h n còn làm cho hi u qu h n, ít m c nh h n b phi u trong không ơ ơ đi ơ đ ế
gian Hough (6).
S d ng ph ng trình 2, mô hình bi n m i pixel trong m ng m t tròn thành m t v trí t ng ươ ế ươ
đươ đó ng trên các trc cc (r, ) trong θ r khong cách bán kính góc quay θ bán
kính t ng ng. phân gi i xuyên tâm t s l ng ng xuyên tâm c t o ra xung ươ Độ ư đườ đượ
quanh vùng m ng m t trong khi phân gi i góc là s m d li u theo h ng xuyên tâm: độ đi ướ
( ) ( ) ( )
Vùng m ng m t c chuy n i thành m t m ng hai chi u. Kích th c ngang bi u th đư đổ ướ độ
phân gi i góc và kích th c d c bi u th phân gi i xuyên tâm, trong ) t ng ng ướ độ đó ( ươ
vi vùng mng m t, (x, y) và t ng ng là t a c c Descartes và chu n hóa. Ph m vi ( ) ươ độ
ca t 0 n r t n c h p tuy n đế đế ( ) ( ) đượ định nghĩa tổ ế
tính c m biên ng t . a các đi đ
3.4 Thu t toán s d ng
1
The mean of each vector is given in the equation:
(4)
2
The mean is subtracted from all of the vectors to produce a set of zero
mean vectors is given in the equation:
where is the zero mean vectors, is each element of the column
vector, is the mean of each column vector
(5)
3
The Covariance matrix is computed using the equation:
(6)
4
The Eigenvectors and Eigenvalues are computed using the equation:
where are the Eigenvalue and are the Eigenvectors.γ’s e’s
(7)
5
Each of an Eigenvectors is multiplied with zero mean vectors to form
the feature vector. The feature vector is given by the equation:
(8)
38
3.5 K t qu nh n di n khuôn m t ế
Đố đãi v i Kết qu Th nghim c a tác gi, chúng tôi s dng CPU intel core i5 và h
đ iu hành Windows 10. chúng tôi đã s d ng 12 MP c a Web Camera cho hình nh. mt
khuôn m t t ng n t ng trong hình nh th i gian th c. độ được phát hi độ
Bước 1: Chy file getData n các thông tin c(Điề n thiết)
Hình 3. 1 Giao din chạy chương trình getData
39
Bước 2: Ch y file TrainData ( cho máy h c nh n d ng)
Chuyn t file nh sang file s
Toàn b file ảnh đã chuyển sang file s
40
Hình 3. 2 Các giao di n chuy n t file nh sang file s
Bước 3: Chạy file RecognitionData (Cho máy nhận diện ở các góc nghiêng)
41
Hình 3. 3 Các góc nghiêng nh n d ng
42
Góc nghiêng không nhận được hình ảnh
43
Hình 3. 4 Các góc nghiêng không nh n d ng
Khi đeo khẩu trang
44
Hình 3. 5 Các hình nh nh n d ng khuôn m t b ng m ng m t
45
3.6 Biểu đồ đánh giá độ an toàn và hiệu suất
Hình 3. 6 Hiu su i sánh gi a nh n d ng m ng m t và nh n d ng khuôn m t ORBất đố
Hình 3. 7 Bi i sánh nhi u t file nh sang file s ểu đồ đố
46
KẾT LUẬN VÀ KIẾN NGHỊ
1. Kết luận
Trong quá trình nghiên cứu và thực hiện đề tài, tác giả đã bám sát mục tiêu đề ra của đề
tài, tiếp cận được với các luồng thông tin mới về lĩnh vực tác giả đang nghiên cứu thông
qua các tài liệu tham khảo mới và có giá trị đã được công bố gần đây.
Sự phát triển vượt bậc của công nghệ thông tin và truyền thông đã đem lại rất nhiều ứng
dụng trong thực tế và thu được những kết quả hết sức to lớn thúc đẩy xã hội phát triển không
ngừng. Để đáp ứng được các nhu nhận dạng trong thời kỳ mới, thời kỳ Covid 9 đã đang -1
thay đổi cuộc sốnghọc tập. Việc áp dụng các kỹ thuật nhận dạng, các nhà khoa học đã nỗ
lực nghiên cứu, đề xuất, cải tiến các thuật toán nhận dạng để phù hợp với tình hình mới
giải quyết được những bài toán mới phát sinh trong thực tiễn.
Kết quả đạt đƣợc của đề tài
Quá trình nghiên cứu thực hiện cài đặt chương trình theo sự khảo sát yêu cầu
của người dùng đã hoàn thành và đạt một số kết quả sau:
Tìm hiểu các phương pháp nhận diện khuôn mặt cơ bản
Tìm hiểu được thư viện ảnh số OpenCV
Nhận diện được hình ảnh khá tốt qua nhận diện khuôn mặt.
Hỗ trợ 01 sinh viên làm khóa luận tốt nghiệp Đại học (Nguyễn Quang Thành-ĐH7C1
Hạn chế
Việc nhận diện các khuôn mặt còn hạn chế một số góc nhìn .
Thuật toán sử dụng chưa được tối ưu.
Hƣớng giải quyết
Cải thiện thuật toán để việc nhận diện được nhanh hơn
Cải thiện góc nhìn để camera bắt được đầy đủ góc khía cạnh khuôn mặt
2. Kiến nghị về định hƣớng nghiên cứu tiếp theo
Kiến nghị với nhà trường: Về việc sử dụng áp dụng kết quả nghiên cứu của đề tài áp
dụng ngay vào thực tiễn; tác giả sẽ tiếp tục hoàn thiện trên cơ sở hình thành dự án thử nghiệm
..; tiến hành những nghiên cứu tiếp theo cho phù hợp với thực tế Từ đó tìm ra những điểm
chưa phù hợp để cải thiện ứng dụng trong việc điểm danh sinh viên chống việc đi học hộ.
47
Kiến nghị chuyển giao các kết quả của dự án vào các cơ quan, doanh nghiêp:
+) Đối với các ngành bán lẻ, dịch vụ: góp phần kiểm soát được: Nhận diện khách hàng
thân thiết, khách VIP và đối tượng xấu...
+) Đối với doanh nghiệp, công sở: Phát hiện hành vi (Cầm dao, đeo mặt nạ, đeo khẩu
trang, đeo kính đen, đọc biển số xe...)
+) Đối với các UBND: Các giải pháp OCR giấy tờ tùy thân,...
+) Đối với các trường học: Điểm danh khuôn mặt, đăng ký, kiểm soát an ninh các khu
vực cần theo dõi, kiểm soát ra vào trường học,...
Hướng nghiên cứu tiếp theo
+) Tiếp tục nghiên cứu ứng dụng lập trình bằng Golang hoạt động với cả Raspbian
và Ubuntu dưới dạng một ứng dụng local console. Khi ứng dụng được khởi chạy lần đầu tiên,
yêu cầu được cấu hình bằng tệp cấu hình JSON với Local Camera ID và Camera Reader type.
+) Tiếp tục nghiên cứu giải pháp kết hợp sử dụng thị giác máy tính (computer vision)
mạng thần kinh sâu (deep neural network) để tìm ra một khuôn mặt tiềm năng trong luồng
hình ảnh.
+) ng vào các Tiếp tục nghiên cứu sâu hơn về cách áp dụng các kỹ thuật machine learni
giải pháp bảo mật sinh trắc học (biometric security) một trong những xu hướng AI hiện
nay. thể dùng TensorFlow object detection model dùng Caffe face tracking hoặc kết
hợp cả 2 phương pháp trên ./.
48
DANH MỤC CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ CỦA TÁC GIẢ
LIÊN QUAN ĐẾN ĐỀ TÀI
[CT1] Nguyễn Thị Trang, Văn Hiệu, Nguyễn Đức Toàn, (2020), “Cải tiến lược đồ
Camshift trong Open CV Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông Công
nghệ Thông tin (REV-ECIT2020), tr 313 - 315, ISSN 978-604-80-5076-4, H-index: 11, IF:
0.641.
[CT2] Vu Ngoc Phan, (2021),Nguyen Duc Toan, A techniques for recognition of a human
faces on eye with python ”, International Journal of Advanced Research in Computer and
Communication Engineering, India Vol. 10, Issue 8, August 2021 , , , ISSN 2278-1021 H-
index: 41, IF: 7.078
(Tra cứu tại: https://ijarcce.com/wp-content/uploads/2021/09/IJARCCE.2021.10822.pdf)
49
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Bùi Th Thùy, Nguy ễn Đức Toàn, (2020), Xây d ng m u tin ột phương pháp gi
trong nh LSB ”, Hi th o Qu c gia ng d ng Công ngh cao vào th c ti n - 60 năm phát
trin Vi n KH - CN quân s " Hà N i, tháng 10 . năm 2020
[2] Phạm Thế Bảo, Nguyễn Thành Nhựt, Cao Minh Thịnh, Trần Anh Tuấn, Phan Phúc
Doãn, (2007), “Tổng quan các phương pháp xác định khuôn mặt người”, Tạp chí Công nghệ
thông tin & Truyền thông, 2007.
[3] Bùi Th c Toàn, (2020), Thùy, Lê Phú Hưng, Nguyễn Đứ “Đề xu t s d ụng phương
pháp ti p c l a ch m ế ận Pareto đ ọn các điể ảnh”, Hi th o qu c gia REV-ECIT 2020.
[4] Nguy c Toàn, (2020), ễn Văn Hách, Nguyễn Đứ Cả SVM đềi tiến công ngh
xut ng d ng trong th c ti ễn”, Hi th o Qu c gia ng d ng Công ngh cao vào th c ti n
- n Vi n KH - CN quân s " Hà N . 60 năm phát triể ội, tháng 10 năm 2020
[5] Hùng, (2019), Dương Thăng Long, Bùi Thế Một phương pháp nhn dng khuôn
mt d a trên m ạng nơron tích chập”, T p chí khoa h c, Vi i h Hà N i, s 58. ện Đạ c M
Tiếng Anh
[6]. https://en.wikipedia.org/wiki/Facial_recognition_system. (references).
[7].Jain, Anil, Lin Hong, and Sharath Pankanti. "Biometric identification."
Communications of the ACM 43.2 (2000): 90-98.
[8].“Technology features of Amazon Rekognition, Amazo officialwebsite,
https://aws.amazon.com/ru/rekognition
[9].“Facebook Accessibility. Face Recognition Features”, Facebook official website,
Web:https://www.facebook.com/accessibility/videos/new-face-face-recognition
features/1628143837229335/.
[10]. “Apple FaceID technology”, Appleofficial website,
Web:https://support.apple.com/ru ru/HT208108.
[11].Supermarkets trial facial recognition at checkouts”, China Plus,
Web:http://chinaplus.cri.cn/news/business/12/20180502/125397. html.
50
[12]. “JD.com overtook Amazon to introduce automated shopping”, NewRetail.com,
Web:https://new-retail.ru/novosti/retail/jd_com_obognala_amazon_po_Vnedreniyu_
avtomatizirovannykh_ma gazinov_5726/.
[13].JD.com is Testing Facial Recognition for Pigs”, RadiiChina.com,
Web:https://radiichina.com/jd-com-is-testing-facialrecognition-for-pigs/
[14]. https://beetinnovators.com/product/biface/.
[15]. Official web site of Macroscope company,Web: https://macroscop.com/.
[16].V. I. Voronov, K. V. Genchel, M. D. Artemov and D. N. Bezumnov,
““Surdotelephone” project with convolutional neural network”, 2018 Systems of Signals
Generating and Processing in the Field of on Board Communications, Moscow, 2018.
[17]. A. Goncharenko, L. I. Voronova, V. I. Voronov, A. A. Ezhov and D. V. Goryachev,
“Automated support system designing for people with limited communication”, 2018
Systems of Signals Generating and Processing in the Field of on Board Communications,
Moscow, 2018, pp. 1-7.
[18]. Voronov Vyacheslav I., GenchelKsenia V., Voronova Lilia I., Travina Maria D.
“Development of a Software Package Designed to Support Distance Education for
Disabled People”, IEEE-International Conference "2018 Quality Management, Transport
and Information Security, Information Technologies" (IT&QM&IS-2018), St.Petersburg,
pp.746-751 (in press)
[19] N. Dalal and B. Triggs, “Histograms of oriented gradients for human detection,” in
IEEE Conference on Computer Vision and Pattern Recognition (CVPR), vol. II, June
2005, pp. 886 893.
[20].O'Shea, Keiron, and Ryan Nash. "An introduction to convolutional neural
networks." arXiv preprint arXiv:1511.08458 (2015).
| 1/60

Preview text:


BỘ TÀI NGUYÊN VÀ MÔI TRƯỜNG
TRƢỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƢỜNG HÀ NỘI BÁO CÁO TỔNG HỢP
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP CƠ SỞ NĂM 2021 TÊN ĐỀ TÀI
ĐỀ XUẤT MỘT KỸ THUẬT NHẬN DẠNG MẶT NGƯỜI
DỰA TRÊN MỐNG MẮT SỬ DỤNG NGÔN NGỮ LẬP TRÌNH PYTHON
MÃ SỐ : 13.01.21.B.01
Tổ chức chủ trì: Trường Đại học Tài nguyên và Môi trường Hà Nội
Chủ nhiệm đề tài: TS Nguyễn Đức Toàn
Hà Nội - 2021
BỘ TÀI NGUYÊN VÀ MÔI TRƯỜNG
TRƢỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƢỜNG HÀ NỘI BÁO CÁO TỔNG HỢP
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP CƠ SỞ NĂM 2021 TÊN ĐỀ TÀI
ĐỀ XUẤT MỘT KỸ THUẬT NHẬN DẠNG MẶT NGƢỜI
DỰA TRÊN MỐNG MẮT SỬ DỤNG NGÔN NGỮ LẬP TRÌNH PYTHON
MÃ SỐ : 13.01.21.B.01
Ch nhim
Trƣờng Đại hc
Tài nguyên và Môi trƣờng Hà Ni
(ký, ghi rõ h và tên)
Nguyễn Đức Toàn Hà Nội - 2021 i
MC LC
THÔNG TIN KT QU NGHIÊN CU ............................................................................. iii
INFORMATION ON RESEARCH RESULTS .................................................................... v
DANH MỤC CÁC CHỮ VIẾT TẮT ................................................................................... vii
DANH MỤC CÁC HÌNH ..................................................................................................... viii
LỜI MỞ ĐẦU ........................................................................................................................... 1
1 Lý do chọn đề tài ............................................................................................................... 1
2. Đối tƣợng và phm vi nghiên cu của đề tài ................................................................. 2
3. M
c tiêu nghiên cu: ....................................................................................................... 2
4. N
i dung nghiên cu: ...................................................................................................... 2
5. Phƣơng pháp nghiên cứu: ............................................................................................... 3
5.1. Phương pháp nghiên cứu lý thuyết: .......................................................................... 3
5.2. Phương pháp nghiên cứu thực tiễn: .......................................................................... 3
5.3. Phương pháp thiết kế mô hình, chế tạo sản phẩm: .................................................... 3
5.4. Phương pháp thực nghiệm khoa học: ....................................................................... 3
5.5. Phương pháp phân tích và tổng kết kinh nghiệm:...................................................... 3
6. Ý nghĩa khoa học của đề tài: ........................................................................................... 3
CHƢƠNG 1 TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU ................................................... 4
1.1 Tình hình nghiên cứu ngoài nƣớc và trong nƣớc .................................................... 4
1.1.1 Tình hình nghiên cứu ngoài nước ............................................................................ 4
1.1.2 Tình hình nghiên cứu trong nước ............................................................................. 5
1.2. Công ngh nhn din khuôn mt ................................................................................ 9
1.3. Th
c trạng và phƣơng pháp của h thng nhn dng khuôn mt ........................ 10
1.3.1 Quy trình của hệ thống nhận dạng khuôn mặt ....................................................... 10
1.3.2 Phát hiện khuôn mặt (face detection) ..................................................................... 10
1.4 Mt s phƣơng pháp nhận dng khuôn mt ............................................................. 11
1.4.2 Dựa trên tri thức ..................................................................................................... 14 1.4.3
Dựa trên so khớp mẫu ...................................................................................... 14 1.4.4
Dựa trên diện mạo ............................................................................................ 15 1.4.5
Dựa trên đặc trưng lõm .................................................................................... 15
1.5. Tng quan v bài toán ................................................................................................ 16
1.6 Kết luận chƣơng 1 ........................................................................................................ 16 ii
CHƢƠNG 2 MỘT SỐ PHƢƠNG PHÁP VÀ THUẬT TOÁN NHẬN DẠNG ................ 17
2.1 Thut toán Viola-Jones ............................................................................................... 17
2.2 One-shot learning......................................................................................................... 18
2.3 Learning similarity ...................................................................................................... 18
2.4 Siam network ............................................................................................................... 19
2.5 Thu
t toán ORB ........................................................................................................... 20
2.6 Thu
t toán RANSAC ................................................................................................... 21
2.7 Thu
ật toán HOG (Trong đề tài ch yếu dùng thut toán này) ............................... 22
2.8 Thu
t toán CamShif (Dùng trong đề tài và có bài báo trong REV) ....................... 28
2.8.2 Thuật toán Camshift ............................................................................................... 29
2.8.3 Cải tiến thuật toán áp dụng cho đề tài ................................................................... 29
CHƢƠNG 3 XÂY DỰNG DEMO ........................................................................................ 33
3.1 Gii thiu ...................................................................................................................... 33
3.2 Phát hi
n mt và mng mt ........................................................................................ 34
3.3 Bi
ểu đồ đề xut ............................................................................................................. 36
3.4 Thu
t toán s dng ...................................................................................................... 37
3.5 K
ết qu nhn din khuôn mt .................................................................................... 38
3.6 Bi
ểu đồ đánh giá độ an toàn và hiu sut .................................................................. 45
K
T LUN VÀ KIN NGH ........................................................................................... 46
1. K
ết lun ........................................................................................................................... 46
2. Ki
ến ngh v định hƣớng nghiên cu tiếp theo ........................................................... 46
DANH MỤC CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ CỦA TÁC GIẢ ................................ 48
LIÊN QUAN ĐẾN ĐỀ TÀI ................................................................................................... 48 iii Mẫu 9-TTKQ
THÔNG TIN KT QU NGHIÊN CU 1. Thông tin chung:
- Tên đề tài: Đề xu t m t k thu t nh n d n
g mặt ngƣời da trên mng m t
s dng ngôn
ng lp trình Python. - Mã s : ố 13.01.21.B.01 - Ch nhi ủ
ệm đề tài: TS Nguy c ễn Đứ Toàn - Tổ ch c ứ ch t ủ rì:
- Thời gian thực hiện:
2. Mc tiêu:
Mục tiêu tổng quát: Nghiên cứu công nghệ nhận dạng ảnh với AI để xác định và quét mống mắt ở
khuôn mặt có trong hình ảnh. Sử dụng kỹ thuật học sâu để thực hiện việc nhận dạng với dữ liệu máy
đã học trước đó, sau đó so sánh và nhận dạng.
Mục tiêu cụ thể : Chống học hộ, điểm danh hộ, đồng thời giám sát hành vi của sinh viên trên trường
theo thời gian thực (realtime).
3. Tính mi và sáng t o:
Sử dụng các thiết bị và giải pháp nhận diện khuôn mặt đã xuất hiện vài năm trở lại đây trong phạm vi
ứng dụng chấm công, kiểm soát ra vào và xác thực định danh. Công nghệ này càng trở nên rõ nét
hơn khi đại dịch COVID19 đã ảnh hưởng lớn đến việc giao tiếp với các đối tượng xung quanh.
Nhận dạng vân tay sử dụng một cảm biến liên lạc, một thiết bị không tiệt trùng mà tất cả mọi người
phải chạm tới để được nhận dạng. Trong môi trường lâm sàng, điều này dẫn đến khả năng một số
người sử dụng sẽ có thể bị lây các bệnh truyền nhiễm,
Trong đề tài này, tôi đề xuất một phương pháp nhận dạng khuôn mặt dựa trên mống mắt. Nhận dạng
dựa trên mống mắt ngược lại với nhận dạng dựa trên võng mạc, bởi vì mống mắt ở bên ngoài và có
thể nhìn thấy mà không có bất kỳ ánh sáng xâm lấn. Hệ thống nhận dạng mống mắt chỉ có một hình
ảnh kỹ thuật số bên ngoài của mắt và không cung cấp bất kỳ thông tin y tế khác. Mống mắt là tính
năng độc đáo nhất có thể nhìn thấy trên cơ thể con người. Không có hai tròng mắt giống nhau - thậm
chí cặp song sinh giống hệt nhau cũng có mô hình mống mắt khác nhau. Sự phong phú của các chi
tiết trong mống mắt, sự khác biệt và không phụ thuộc vào di truyền, đồng thời việc cho hình ảnh tiếp
cận mà không cần phải tiếp xúc vật lý… tất cả làm cho mống mắt có một định danh cá nhân xuất sắc.
Mỗi một công nghệ sinh trắc học có các ứng dụng nổi bậc riêng. iv
Tuy nhiên, trong việc nhận dạng con người, mống mắt có lợi thế hơn. Mống mắt được công nhận là
chính xác hơn nhận dạng bằng dấu vân tay hoặc khuôn mặt. Do đó công nghệ không tiếp xúc là một
lựa chọn tốt hơn hết. 4. Kết qu n
ghiên cu:
Tìm hiểu các phương pháp nhận diện khuôn mặt cơ bản
Tìm hiểu được thư viện ảnh số OpenCV
Nhận diện được hình ảnh khá tốt qua nhận diện khuôn mặt. 5. S n ph m:
1. Báo cáo tổng kết đề tài.
2. Phần mềm ứng dụng được ghi trên đĩa CD
6. Phƣơng thức chuyển giao, địa ch ng dụng, tác động và li ích mang li ca kết qu nghiên cu:
- Chuyển giao công nghệ có đào tạo và theo tỉ lệ 50-50 – Khoa CNTT và Phòng NCKH&HTQT
Nhận dạng khuôn mặt trở nên bất tiện trong mùa dịch COVID-19 bởi mọi người phải đeo khẩu trang;
còn nhận dạng vân tay cũng gặp phiền hà khi mọi người không muốn bỏ găng tay. Việc sử dụng rộng
rãi tính năng nhận dạng mống mắt sẽ cải thiện những hạn chế này. Vì vậy, đề tài phù hợp với mục
tiêu, nội dung và sản phẩm dự kiến của đề tài.
Kết quả của đề tài nếu được ứng dụng trong Trường Đại học Tài nguyên và Môi trường Hà Nội sẽ
chống học hộ, điểm danh hộ, đồng thời giám sát hành vi của sinh viên trên trường theo thời gian thực (realtime). v
INFORMATION ON RESEARCH RESULTS
1. General information:
Project title: Proposing an iris-based facial recognition technique using Python Code number: 13.01.21.B.01
Coordinator: Dr. Nguyen Duc Toan Implementing institution: Duration: from to:
2. Objective(s): To study image recognition technology with AI to identify and scan irises of faces in
images. Use deep learning technique to perform the recognition with previously learned machine
data, then compare and recognize.
Specific objectives: Anti-student, household attendance, and at the same time monitor students'
behavior at school in real time.
3. Creativeness and innovativeness:
Using facial recognition devices and solutions has emerged in the past few years in the scope
of timekeeping, access control and identity authentication applications. This technology becomes
even more apparent when the COVID19 pandemic has greatly affected communication with surrounding objects.
Fingerprint recognition uses a contact sensor, a non-sterile device that everyone must touch in
order to be identified. In the clinical setting, this leads to the possibility that some users will be
exposed to infectious diseases,
In this topic, I propose an iris-based face recognition method. Iris-based recognition is the
opposite of retina-based recognition, because the iris is external and visible without any invasive
light. The iris recognition system only takes a digital image of the outside of the eye and does not
provide any other medical information. The iris is the most unique feature visible on the human body.
No two irises are alike - even identical twins have different iris patterns. The richness of details in the
iris, the distinct and independent genetics, and the access to images without the need for physical
contact… all give the iris a unique identity. excellent person. Each of the biometric technologies has
its own outstanding applications. vi
However, in recognizing people, the iris has an advantage. Iris recognition is more accurate
than fingerprint or face recognition. Therefore contactless technology is a better choice. 4. Research results:
- Learn basic face recognition methods
- Learn about OpenCV digital image library
- Face recognition is quite good. 5. Products:
+) The final report on the topic.
+) Application software recorded on CD
6. Transfer alternatives, application institutions, impacts and benefits of research results:
Technology transfer with training and at the rate of 50-50
– Faculty of IT and Department of
Scientific Research and International Cooperation
Facial recognition becomes inconvenient during the COVID-19 season because everyone has
to wear masks; And fingerprint recognition is also problematic when people don't want to take off
their gloves. Widespread use of iris recognition should improve these limitations. Therefore, the topic
is suitable for the purpose, content and expected product of the topic.
The results of the project, if applied in the University of Natural Resources and Environment,
Hanoi, will prevent students from studying, take attendance, and monitor students' behavior on campus in real time. vii
DANH MỤC CÁC CHỮ VIẾT TẮT
STT TỪ VIẾT TẮT TÊN TIẾNG ANH NGHĨA TIẾNG VIỆT 1 Pixel Picture element Điểm ảnh Open Source Computer
Thư viện Thị giác Máy tính 2 OpenCV Vision Library Nguồn mở Oriented FAST and 3 ORB Rotated BRIEF Scale-invariant feature 4 SIFT
Các thuật toán phát hiện đặc transform trưng Speeded-Up Robust 5 SURF Features Features from Accelerated 6 FAST Segment Test viii DANH MỤC CÁC HÌNH
Hình 1. 1 Kiểm soát theo thời gian thực (real-time) .................................................................. 9
Hình 1. 2 Qui trình của hệ thống nhận dạng khuôn mặt ......................................................... 10
Hình 1. 3 Các đặc trưng Haar ................................................................................................. 11
Hình 1. 4 Mô hình phân tầng Cascade .................................................................................... 13
Hình 1. 5 Kết hợp các bộ phân loại yếu thành bộ phân loại mạnh ......................................... 14
Hình 2. 1 Phát hiện khuôn mặt bằng cách sử dụng Haar cascade được đào tạo trước 17
Hình 2. 2 Phương pháp learning similarity. ............................................................................ 18
Hình 2. 3 Mô hình Convolutional neural network ................................................................... 19
Hình 2. 4 Kết quả đối sánh ảnh sử dụng thuật toán ORB. ...................................................... 20
Hình 2. 5 Đồ thị cường độ nhiễu của ảnh ................................................................................ 21
Hình 2. 6 Mô hình human detection dựa trên HOG. ............................................................... 23
Hình 2. 7 Hình ảnh vận động viên được chia thành các lưới ô vuông, mỗi ô vuông có kích
thước 8x8 pixels. ...................................................................................................................... 26
Hình 2. 8 Mapping độ lớn gradients với các bins. .................................................................. 27
Hình 3. 1 Giao diện chạy chương trình getData 38
Hình 3. 2 Các giao diện chuyển từ file ảnh sang file số .......................................................... 40
Hình 3. 3 Các góc nghiêng nhận dạng .................................................................................... 41
Hình 3. 4 Các góc nghiêng không nhận dạng .......................................................................... 43
Hình 3. 5 Các hình ảnh nhận dạng khuôn mặt bằng mống mắt .............................................. 44
Hình 3. 6 Hiệu suất đối sánh giữa nhận dạng mống mắt và nhận dạng khuôn mặt ORB ....... 45
Hình 3. 7 Biểu đồ đối sánh nhiễu từ file ảnh sang file số ........................................................ 45 1 LỜI MỞ ĐẦU
1 Lý do chọn đề tài
Công nghệ nhận dạng này có thể nhận dạng mọi người ngay sau vài tấm ảnh họ được gán
nhãn với độ chính xác đến 98% [6]. Có nhiều hệ thống bảo mật thông minh sử dụng sinh trắc học
định danh người, có thể nhận dạng bằng cách sử dụng đặc điểm tĩnh và động như: ngón tay nhú mô
hình, hình học cơ thể, bàn tay, mống mắt của mắt, khuôn mặt, tĩnh mạch, chữ viết tay, dáng, dáng đi,
giọng nói, v.v. [7]. Tất cả các phương pháp nhận dạng được trình bày đều có bộ những thuận lợi và
khó khăn liên quan đến phương pháp có được các chỉ số về con người như chi phí, độ tin cậy của kết
quả. số lượng máy quay video tại nơi công cộng đã tăng lên rất nhiều, chi phí của việc tiếp nhận, xử
lý và truyền dữ liệu đã giảm đáng kể đã dẫn đến việc tạo và phát triển các phương pháp để xác định
hiệu quả người từ video và hình ảnh, và hầu hết các phần của phương pháp tập trung vào việc nhận dạng khuôn mặt người.
Các công ty lớn nhất trên thế giới đang phát triển của riêng các giải pháp phần mềm sử dụng
đặc trưng của khuôn mặt trong ảnh và trong video. Những công ty khổng lồ như Amazon, Facebook,
Apple đã triển khai hệ thống thông minh phân tích video trong điều kiện thực và đưa ra thị trường các
giải pháp cạnh tranh. Amazon Rekognition [8] cho phép nhúng ảnh và video dựa trên học sâu vào các
ứng dụng. Dịch vụ này có thể nhận dạng các đối tượng, người, văn bản, cảnh và hành động, cũng như
phát hiện nội dung không phù hợp. Amazon Rekognition có thể phân tích chính xác và nhận dạng
khuôn mặt trong hình ảnh và video. Facebook đã triển khai một dự án để nhận dạng và xác định
trước mặt của mọi người trong các bức ảnh đã được đưa lên mạng xã hội và cho phép sử dụng các từ
để mô tả mọi thứ hiển thị trong ảnh [ ]
9 . Công nghệ FaceID của Apple [
] cho phép độ chính xác cao 10
xác định người dùng trên điện thoại thông minh và thay thế cho quét dấu vân tay, vì nó sử dụng hệ
thống cảm biến và máy ảnh chất lượng cao và một loạt các các phương pháp nhận dạng, bao gồm cả
nhận dạng khuôn mặt. Thị giác máy tính và học máy đã làm nên điều đó có thể thực hiện xác định
khách hàng thông qua thiết bị đầu cuối video trong một tổ hợp mua sắm tự động [11, 12] không có
máy tính tiền và bộ điều khiển, và theo dõi [13].
Tại Việt Nam, một số công ty sáng tạo hình thành lĩnh vực dịch vụ phân tích hình ảnh trong
tiếp cận hệ thống điều khiển. Ví dụ, dịch vụ BiFace [ ].
14 Trên thế giới hệ thống nhận dạng khuôn mặt NTechLab [ ]
15 dẫn đầu trong việc phát triển thuật toán và các giải pháp phần mềm để kiểm soát
nhận dạng cá nhân cho các nhóm người, thành phố và Quốc gia. Dịch vụ FindFace từ công ty này
chiếm lĩnh các dòng xếp hạng cạnh tranh hàng đầu cho nhận dạng khuôn mặt. Mức độ chính xác của 2
nhận dạng và tốc độ của phân tích phụ thuộc vào các phương pháp chuyển đổi ảnh, các đặc trưng của
tập huấn luyện, sử dụng phương pháp huấn luyện sâu và thuật toán tìm kiếm.
Nhận dạng một người trong video có nhiều giai đoạn. Bước đầu tiên là chuyển đổi video vào
sang ảnh, bước thứ hai là tìm kiếm các ảnh có khuôn mặt. Phần thứ ba là gán một tập hợp duy nhất
đặc trưng cho tất cả những đặc điểm thấy. Thứ tư là xác định người dựa trên so sánh với cơ sở dữ liệu
[16], [17], [18]. Toán học các phương pháp và mô hình được sử dụng để nhận dạng khuôn mặt bao
gồm phương pháp hồi quy, mạng nơron, SVM [4], [5], ...
2. Đối tƣợng và phm vi nghiên cu của đề tài
2.1 Đối tượng nghiên cứu: Đề tài tập trung nghiên cứu một số phương pháp nhận dạng khuôn mặt
người, chủ yếu là nhận diện bằng mống mắt.
2.2 Phạm vi nghiên cứu: là sinh viên đang học tập tại trường Đại học Tài nguyên và Môi trường Hà
Nội, tập trung chủ yếu là sinh viên Khoa CNTT.
3. Mc tiêu nghiên cu:
Nghiên cứu đề tài này nhằm mục đích tìm hiểu bài toán nhận dạng khuôn mặt bằng mống
mắt, từ đó xây dựng các hệ thống ứng dụng trong thực tiễn như: điểm danh, giam sát người ra vào, an
ninh trong sân bay. Nhận dạng khuôn mặt trở nên bất tiện trong mùa dịch COVID-19 bởi mọi người
phải đeo khẩu trang; còn nhận dạng vân tay cũng gặp phiền hà khi mọi người không muốn bỏ găng
tay. Việc sử dụng rộng rãi tính năng nhận dạng mống mắt sẽ cải thiện những hạn chế này. Vì vậy, đề
tài phù hợp với mục tiêu, nội dung và sản phẩm dự kiến của đề tài.
4. Ni dung nghiên cu:
Chƣơng 1: Tổng quan vấn đề nghiên cứu
Trong chương này, tác giả sẽ trình bày về những cơ sở lý thuyết về nhận dạng khuôn mặt,
tổng quan về bài toán đặt ra để giải quyết trong đề tài.
Chƣơng 2: Một số phƣơng pháp và thuật toán
nhận dạng ảnh
Trong chương này, tác giả sẽ trình bày về một số phương pháp nhận dạng ảnh và một số
thuật toán về nhận dạng khuôn mặt có sử dụng trong đề tài nghiên cứu, từ đó làm tiền đề xây
dựng demo ở chương 3.
Chƣơng 3: Xây dựng demo
Trong chương này, tác giả sẽ trình bày về demo của đề tài nghiên cứu, dựa trên các thuật
toán từ chương 2, trong chương này còn sử dụng máy học để phân tích ảnh ra dạng số. 3
5. Phƣơng pháp nghiên cứu:
5.1. Phương pháp nghiên cứu lý thuyết:
+ Tìm hiểu một số thuật toán nhận dạng khuôn mặt
+ Tìm hiểu ngôn ngữ lập trình Python
5.2. Phương pháp nghiên cứu thực tiễn:
+ Phương pháp khảo sát thực tế, thu thập dữ liệu: tìm hiểu thực tế về công nghệ nhận dạng khuôn mặt.
+ Phương pháp phân tích đánh giá: dựa vào dữ liệu đã tìm hiểu được. Phân tích các thuật toán.
5.3. Phương pháp thiết kế mô hình, chế tạo sản phẩm:
+ Xác định yêu cầu của bài toán đặt ra
+ Tính toán lựa chọn các thuật toán phù hợp.
5.4. Phương pháp thực nghiệm khoa học:
+ Bước đầu đưa sản phẩm vào sử dụng để hiệu chỉnh thông số chi tiết và hoàn thiện sản phẩm demo.
5.5. Phương pháp phân tích và tổng kết kinh nghiệm:
+ Phân tích, đánh giá ưu nhược điểm của sản phẩm
+ Rút ra kinh nghiệm cũng như đưa ra hướng phát triển cho phù hợp
6. Ý nghĩa khoa học của đề tài:
Kết quả của đề tài nếu được ứng dụng trong Trường Đại học Tài nguyên và Môi
trường Hà Nội sẽ chống học hộ, điểm danh hộ, đồng thời giám sát hành vi của sinh viên trên
trường theo thời gian thực (realtime). 4
CHƢƠNG 1 TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU
Trong chương này, tác giả sẽ trình bày về những cơ sở lý thuyết về nhận dạng khuôn
mặt, tổng quan về bài toán đặt ra để giải quyết trong đề tài.
1.1 Tình hình nghiên cứu ngoài nƣớc và trong nƣớc
1.1.1 Tình hình nghiên cứu ngoài nước
Trong năm 1964 và 1965, Bledsoe, cùng với Helen Chan và Charles Bisson, bắt đầu ý
tưởng sử dụng máy tính để nhận ra khuôn mặt của con người (Bledsoe 1966a, 1966b;
Bledsoe và Chan 1965). Ông rất tự hào về công việc này, nhưng do kinh phí được cung cấp
bởi một cơ quan tình báo giấu tên mà không cho phép công khai, rất ít tác phẩm đã được xuất
bản. Với một cơ sở dữ liệu lớn các hình ảnh (thực tế là một cuốn sách ảnh thẻ) và một bức
ảnh, vấn đề là phải lựa chọn từ cơ sở dữ liệu là một tập hợp nhỏ các hồ sơ hình ảnh như vậy
có chứa các hình ảnh ăn khớp với bức ảnh đưa ra. Sự thành công của phương pháp này có thể
được đo bằng tỷ lệ danh sách câu trả lời trên số lượng các hồ sơ trong cơ sở dữ liệu. Bledsoe
(1966a) đã mô tả những khó khăn sau đây:
Dự án này đã được dán nhãn "man-machine" bởi vì con người trích xuất tọa độ của một
tập hợp các đặc điểm từ các hình ảnh, sau đó được máy tính sử dụng để nhận dạng. Sử dụng
một graphic tablet (GRAFACON hoặc RAND TABLET), các toán tử sẽ trích xuất các tọa độ
của các đặc điểm như tâm của con ngươi, các góc bên trong mắt, góc ngoài của mắt, điểm
widows peak và... Từ những tọa độ này, một danh sách 20 khoảng cách, như chiều rộng của
miệng và khoảng cách giữa 2 mắt, từ con ngươi đến con ngươi sẽ được tính toán. Các toán tử
có thể xử lý khoảng 40 hình ảnh một giờ. Khi xây dựng các cơ sở dữ liệu, tên của người trong
bức ảnh đã được gắn liền với danh sách của các khoảng cách tính toán và được lưu trữ trong
máy tính. Trong giai đoạn nhận dạng, tập hợp các khoảng cách được so sánh với khoảng cách
tương ứng cho mỗi bức ảnh, cho ra một khoảng cách giữa các bức ảnh và các bản ghi cơ sở
dữ liệu. Các hồ sơ gần nhất được trả về.
Hệ thống điểm danh bằng mặt người thực hiện rút trích tự động khuôn mặt người trong
ảnh thu được từ camera (webcam) và xác định danh tính của đối tượng trong hệ thống dựa
vào nội dung của ảnh khuôn mặt rút trích được. Nhận dạng tự động khuôn mặt có thể ứng 5
dụng nhiều trong thực tiễn như camera giám sát, hệ thống chấm công, chú thích ảnh tự động,
lưu trữ thông tin khuôn mặt ở các máy ATM, tìm kiếm và xác minh tội phạm. Hệ thống điểm
danh thực hiện nhận dạng khuôn mặt người qua 2 bước chính: định vị khuôn mặt trong ảnh
thu được từ camera và định danh đối tượng từ ảnh khuôn mặt. Trong bài báo [20] trình bày
các nghiên cứu trước đây trong nhận dạng khuôn mặt người. Rút trích tự động khuôn mặt
trong ảnh thu được từ camera dựa trên mô hình mạng nơ-ron [14] hoặc đặc trưng haar-like
kết hợp với mô hình phân tầng (Cascade of Boosted Classifiers – CBC) [18].
Để xác định danh tính của đối tượng trong hệ thống dựa vào nội dung của ảnh khuôn
mặt, nghiên cứu trước đây sử dụng các đặc trưng như mắt, tai, màu tóc, độ dày môi để tự
động nhận dạng. [10], [19] sử dụng phương pháp phân tích thành phần chính (Principal
Component Analysis - PCA) và thuật toán eigenfaces để nhận dạng khuôn mặt. Các hướng
nghiên cứu gần đây [12], [13], [15], [17], dựa vào phương pháp biểu diễn ảnh bằng các nét
đặc trưng không đổi với những biến đổi tỉ lệ. Đặc trưng cục bộ SIFT không bị thay đổi trước
những biến đổi tỉ lệ ảnh, tịnh tiến, phép quay, không bị thay đổi một phần đối với phép biến
đổi hình học affine (thay đổi góc nhìn) và mạnh với những thay đổi về độ sáng, nhiễu và sự
che khuất. Để định danh đối tượng từ ảnh khuôn mặt người, [14] đề xuất so khớp các đặc
trưng SIFT trong khi nghiên cứu của [16] kết hợp giải thuật Bayes với láng giềng gần nhất
(Naïve Bayes Nearest Neighbor - NBNN [11]) và đặc trưng trong [6], trong bài báo [7] đề xuất mô hình máy học.
1.1.2 Tình hình nghiên cứu trong nước
Ngày 20/4/2020, Viện Nghiên cứu trí tuệ nhân tạo VinAI Research (Vingroup) đã
nghiên cứu thành công công nghệ nhận diện khuôn mặt chính xác, ổn định cả khi dùng khẩu
trang; trở thành một trong những đơn vị đầu tiên trên thế giới nghiên cứu thành công và sẵn
sàng cung cấp miễn phí cho cộng đồng.
VinAI sử dụng mô hình học sâu (deep learning) mới nhất và đặc thù do các chuyên gia của
viện nghiên cứu và tối ưu hóa để nghiên cứu công nghệ nhận diện ổn định cả khi sử dụng và
không sử dụng khẩu trang. Mô hình deep learning với thiết kế mô phỏng cách hoạt động của
mạng lưới thầ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á
trị trên một phần khuôn mặt, nhằm nhận diện ngay cả khi người dùng sử dụng khẩu trang. 6
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ủa VinAI
đạ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ế giới. Điểm ưu việt
của công nghệ nhận diện do VinAI phát triển là thuật toán và cách sử dụng công nghệ nhận
diện dẫn đến hiệu quả ổn định, có độ chính xác cao.
Nhận dạng 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 dạng vân tay – Fingerprint recognition, hay nhận dạng mống mắt – Iris
recognition). Xét về nguyên tắc chung, nhận dạng mặt có sự tương đồng rất lớn với nhận
dạng vân tay và nhận dạng mống mắt, tuy nhiên sự khác biệt nằm ở bước trích chọn đặt trưng
(feature extraction) của mỗi lĩnh vực.
Trong khi nhận dạng vân tay và mống mắt đã đạt tới độ chín, tức là có thể áp dụng trên
thực tế một cách rộng rãi thì nhận dạng mặt người vẫn còn nhiều thách thức và vẫn là một
lĩnh vực nghiên cứu thú vị với nhiều người. So với nhận dạng vân tay và mống mắt, nhận
dạng mặt có nguồn dữ liệu phong phú hơn (có thể nhìn thấy mặt người ở bất cứ tấm ảnh,
video clip nào liên quan tới con người trên mạng) và ít đòi hỏi sự tương tác có kiểm soát hơn
(để thực hiện nhận dạng vân tay hay mống mắt, 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 mặt được chia thành nhiều hướng theo các tiêu
chí khác nhau: nhận dạng với dữ liệu đầu vào là ảnh tĩnh 2D (still image based FR) là phổ
biến nhất, tuy nhiên tương lai có lẽ sẽ là 3D FR (vì việc bố trí nhiều camera 2D sẽ cho dữ liệu
3D và đem lại kết quả tốt hơn, đáng tin cậy hơn), cũng có thể chia thành 2 hướng là: làm với
dữ liệu ảnh và làm với dữ liệu video.[1]
Trên thực tế người ta hay chia các phương pháp nhận dạng mặt ra làm 3 loại: phương
pháp tiếp cận toàn cục (global, như Eigenfaces-PCA, Fisherfaces-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à local feature) [2]. Phương
pháp dựa trên các đặc điểm cục bộ đã được chứng minh là ưu việt hơn khi làm việc trong các
điều kiện không có kiểm soát và có thể nói rằng lịch sử phát triển của nhận dạng mặt (A 7
never ending story) là sự phát triển của các phương pháp trích chọn đặc trưng (feature
extractrion methods) được sử dụng trong các hệ thống dựa trên feature based.
Các ứng dụng cụ thể của nhận dạng mặt dựa trên 2 mô hình nhận dạng: identification
(xác định danh tính, bài toán 1-N), và verification (xác thực danh tính, bài toán 1-1). Trong
bài toán identification, ta cần xác định danh tính của ảnh kiểm tra, còn trong bài toán
verification ta cần xác định 2 ảnh có cùng thuộc về một người hay không [3].
Nhận dạng khuôn mặt (Face Recognition) là một phương pháp sinh trắc để xác định
hoặc xác minh một cá nhân nào đó bằng cách so sánh dữ liệu hình ảnh chụp trực tiếp hoặc
hình ảnh kỹ thuật số với bản ghi được lưu trữ cho người đó.Nó được xem là một lĩnh vực
nghiên cứu của ngành Biometrics (tương tự như nhận dạng vân tay – Fingerprint
Recognition, hay nhận dạng mống mắt – Iris Recognition). Xét về nguyên tắc chung, nhận
dạng khuôn mặt có sự tương đồng rất lớn với nhận dạng vân tay và nhận dạng mống mắt, tuy
nhiên sự khác biệt nằm ở bước trích chọn đặt trưng (feature extraction) của mỗi lĩnh vực [4].
Trong khi nhận dạng vân tay và mống mắt đã đạt tới độ chín, tức là có thể áp dụng trên
thực tế một cách rộng rãi thì nhận dạng khuôn mặt người vẫn còn nhiều thách thức và vẫn là
một lĩnh vực nghiên cứu thú vị với nhiều người.So với nhận dạng vân tay và mống mắt, nhận
dạng khuôn mặt có nguồn dữ liệu phong phú hơn (chúng ta có thể nhìn thấy mặt người ở bất
cứ tấm ảnh, video clip nào liên quan tới con người trên mạng) và ít đòi hỏi sự tương tác có
kiểm soát hơn (để thực hiện nhận dạng vân tay hay mống mắt, 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).
Các hệ thống nhận dạng khuôn mặt thường được sử dụng cho các mục đích an ninh như
kiểm soát an ninh tại tòa nhà, sân bay, máy ATM, tra cứu thông tin của tội phạm, phát hiện
tội phạm ở nơi công cộng, ...và ngày càng được ứng dụng rộng rãi trong cuộc sống.
Bên cạnh những thành công đã được ghi nhận thì nhận dạng khuôn mặt cũng còn gặp
nhiều khó khăn như về độ sáng, hướng nghiêng, kích thước hình ảnh, diện mạo, biểu hiện
cảm xúc của khuôn mặt hay ảnh hưởng của tham số môi trường.
Để xây dựng một hệ thống nhận dạng khuôn mặt có đầu vào của hệ thống là một hình
ảnh kỹ thuật số hay một khung hình video từ một nguồn video. Đầu ra là xác định hoặc xác
minh người ở trong bức hình hoặc trong video đó là ai. Hướng tới mục tiêu này chúng ta 8
thường chia thủ tục nhận dạng khuôn mặt gồm ba bước: Phát hiện khuôn mặt, trích rút đặc
trưng và nhận dạng khuôn mặt.
Phát hiện khuôn mặt (Face Detection): Chức năng chính của bước này là phát hiện ra
khuôn mặt xem nó có xuất hiện ở trong một bức hình hay một đoạn video hay không? Tỉ lệ
phát hiện ra khuôn mặt phụ thuộc nhiều vào điều kiện về độ sáng, hướng khuôn mặt, biểu
hiện cảm xúc trên khuôn mặt hay các yếu tố môi trường khác. Để hệ thống nhận dạng hoạt
động đạt hiệu quả cao thì hình ảnh khuôn mặt sau khi được phát hiện cần chuẩn hóa về kích thước, ánh sáng.
Trích rút đặc trưng (Feature Extraction): Sau khi phát hiện ra khuôn mặt trong bức ảnh,
chúng ta tiến hành trích rút những đặc trưng của khuôn mặt. Bước này trích xuất ra một
vector đặc trưng đại diện cho một khuôn mặt. Nó phải đảm bảo được tính duy nhất của một khuôn mặt [5].
Nhận dạng khuôn mặt (Face Recognition): Với hình ảnh đầu vào sau khi phát hiện ra
khuôn mặt, trích rút các đặc trưng của khuôn mặt và đem so sánh các đặc trưng này với cơ sở dữ liệu khuôn mặt.
Bài toán nhận dạng khuôn mặt được ứng dụng nhiều trong các lĩnh vực đời sống đặc
biệt ở những lĩnh vực công nghệ cao, yêu cầu về an ninh, bảo mật. Do đó để hệ thống nhận
dạng khuôn mặt hoạt động mạnh mẽ với tốc độ và độ tin cậy thì có rất nhiều các phương pháp
về nhận dạng khuôn mặt được đưa ra. Các phương pháp có thể được phân loại theo các tiêu
chí khác nhau như nhận dạng với dữ liệu ảnh đầu vào là ảnh tĩnh 2D (Elastic Bunch Graph,
Active Appearance Model). Phương pháp này là phổ biến nhất và tương lai sẽ là 3D (3D Morphable Model).
Tuy nhiên trên thực tế người ta hay chia phương pháp nhận dạng khuôn mặt ra thành 2 loại:
• Nhận dạng dựa trên các đặc trưng của các phần tử trên khuôn mặt (Feature Base Face Recognition)
• Nhận dạng dựa trên xét tổng thể toàn khuôn mặt (Appearance Based Face Recognition). 9
1.2. Công nghệ nhận diện khuôn mặt
Công nghệ nhân diện khuôn mặt (Facial Recognition Technology) hiện là một công
nghệ đang được sử dụng khá phổ biến tại các quốc gia phát triển. Công nghệ này có khả năng
xác định hoặc xác nhận một người từ hình ảnh kỹ thuật số được lấy mẫu trước đó hoặc từ một
khung hình trong một nguồn video khác. Và hiện nay, tại thị trường Việt Nam, công nghệ này
đã dần dần được sử dụng tại một số hệ thống cửa hàng, khách sạn - resort. Công nghệ Nhận
dạng khuôn mặt là một ứng dụng máy tính tự động xác định hoặc nhận dạng một người nào
đó từ một bức hình ảnh kỹ thuật số hoặc một khung hình video từ một nguồn video. Một
trong những cách để thực hiện điều này là so sánh các đặc điểm khuôn mặt chọn trước từ
hình ảnh và một cơ sở dữ liệu về khuôn mặt. Hệ thống này thường được sử dụng trong các hệ
thống an ninh và có thể được so sánh với các dạng sinh trắc học khác như các hệ thống nhận
dạng vân tay hay tròng mắt như nhiều người có thể biết. Nhận dạng khuôn mặt hiện giờ đăng
là xu thế phát triển tất yếu của cuộc sống, nhận thấy tiềm năng lớn Futech cùng đội ngũ đã
ứng dụng công nghệ này vào các giải pháp của mình để nâng cao hiệu quả và đáp ứng tốt hơn
nhu cầu từ người sử dụng.
Hình 1. 1 Kiểm soát theo thời gian thực (real-time) 10
1.3. Thực trạng và phƣơng pháp của hệ thống nhận dạng khuôn mặt
1.3.1 Quy trình của hệ thống nhận dạng khuôn mặt
Hình 1. 2 Qui trình của hệ thống nhận dạng khuôn mặt
1.3.2 Phát hiện khuôn mặt (face detection)
Phát hiện khuôn mặt là quá trình xác định vị trí khu vực khuôn mặt trong hình ảnh và sẽ
lấy ra tất cả các khuôn mặt trong một hình ảnh.
Tiền xử lý ảnh (preprocessing): Bước này nhằm mục đích lọc nhiễu, nâng cao chất
lượng ảnh, trong bước này bao gồm các bước : Căn chỉnh ảnh, chuẩn hóa ánh sáng
Trích rút đặc trưng ( feature extraction): Ở bước này một phương pháp trích chọn đặc
điểm như: mẫu nhị phân cục bộ – LBP (hay Gabor wavelets, Gradient, Discrete Cosine
Transform …) sẽ được sử dụng với ảnh mặt để trích xuất các thông tin đặc trưng cho ảnh,kết
quả là mỗi ảnh sẽ được biểu diễn dưới dạng một vector.đề tài nhóm chọn chủ yếu trình bày về
phương pháp Local Binary Pattern mục
Nhận dạng/Phân lớp: Bước nhận dạng (recognition) hay phân lớp (classification), tức là
xác định danh tính (identity) hay nhãn (label) của ảnh – đó là ảnh của ai. 11
1.4 Một số phƣơng pháp nhận dạng khuôn mặt
Phát hiện mặt người là bài toán cơ bản được xây dựng từ nhiều năm nay, có nhiều
phương pháp được đưa ra như sử dụng template matching, neuron network…Cho tới nay bài
toán này hầu như được giải quyết dựa trên phương pháp sử dụng các đặc trưng haar like.
Phương pháp này được cho là đơn giản và kết quả phát hiện là tương đối cao, lên tới 98%,
các hãng sản xuất máy ảnh như Canon, Samsung… cũng đã tích hợp nó vào trong các sản phẩm của mình.
1.4.1 Các đặc trưng Haar-Like: Các đặc trưng Haar-Like là những hình chữ nhật được phân
thành các vùng khác nhau như hình:
Hình 1. 3 Các đặc trưng Haar
Đặc trưng do Viola và Jones công bố gồm 4 đặc trưng cơ bản để xác định
khuôn mặt người. Mỗi đặc trưng Haar-Like là sự kết hợp của hai hay ba hình chữ nhật
trắng hay đen như trong hình sau:
Để sử dụng các đặc trưng này vào việc xác định khuôn mặt người, 4 đặc trưng
Haar-Like cơ bản được mở rộng ra và được chia làm 3 tập đặc trưng như sau:
Đặc trưng cạnh(edge feature) 12
Đặc trưng đường(line feature)
Đặc trưng xung quanh tâm(center-surround features)
Dùng các đặc trưng trên, ta có thể tính được các giá trị của đặc trưng Haar-Like
là sự chênh lệch giữa tổng của các pixel của vùng đen và vùng trắng như trong công thức sau: ( ) ( )
Viola và Joines đưa ra một khái niệm gọi là Integral Image, là một mảng 2 chiều
với kích thước bằng với kích thước của ảnh cần tính đặc trưng Haar-Like, với mỗi
phần tử của mảng này được tính bằng cách tính tổng của điểm ảnh phía trên (dòng-1)
và bên trái (cột-1) của nó.
Công thức tính Intergral Image ( ) ∑ ( )
Sau khi tính được Integral Image, việc tính tổng các giá trị mức xám của một
vùng bất kỳ nào đó trên ảnh thực hiện rất đơn giản theo cách sau:
Giả sử ta cần tính tổng giá trị mức xám của vùng D như hình dưới, ta có thể tính được như sau:
D = A + B + C + D - (A+B) - (A+C) + A
Với A + B + C + D chính là giá trị tại điểm P4 trên Integral Image, tương tự như
vậy A+B là giá trị tại điểm P2, A+C là giá trị tại điểm P3, và A là giá trị tại điểm P1.
Vậy ta có thể viết lại biểu thức tính D ở trên như sau: 13 ( ) ⏟ ( ) ⏟ ( ) ⏟ ( ) ⏟ ( ) ( )
AdaBoost là một bộ phân loại mạnh phi tuyến phức dựa trên hướng tiếp cận boosting
được Freund và Schapire đưa ra vào năm 1995. Adaboost cũng hoạt động trên nguyên tắc
kết hợp tuyến tính các weak classifiers để hình thành một trong các classifiers.
Viola và Jones dùng AdaBoost kết hợp các bộ phân loại yếu sử dụng các đặc trưng
Haar-like theo mô hình phân tầng (cascade) như sau:
Hình 1. 4 Mô hình phân tầng Cascade
Trong đó, là các bộ phân loại yếu, được biểu diễn như sau: ( ) { Với: 14
AdaBoost sẽ kết hợp các bộ phân loại yếu thành bộ phân loại mạnh như sau: ( ) ∑( ( ) ( ) ( ) )
Với: là hệ số chuẩn hóa cho các bộ phân loại yếu
Đây là hình ảnh minh họa việc kết hợp các bộ phân loại yếu thành bộ phân loại mạnh
Hình 1. 5 Kết hợp các bộ phân loại yếu thành bộ phân loại mạnh
1.4.2 Dựa trên tri thức
Trong hướng tiếp cận này, các luật sẽ phụ thuộc rất lớn vào tri thức của những tác
giả nghiên cứu về bài toán xác định khuôn mặt người. Đây là hướng tiếp cận dạng top-
down. Dễ dàng xây dựng các luật cơ bản để mô tả các đặc trưng của khuôn mặt và các
quan hệ tương ứng. Ví dụ, một khuôn mặt thường có hai mắt đối xứng nhau qua trục
thẳng đứng ở giữa khuôn mặt và có một mũi, một miệng. Các quan hệ của các đặc trưng
có thể được mô tả như quan hệ về khoảng cách và vị trí. Thông thường sẽ trích đặc trưng
của khuôn mặt trước tiên để có được các ứng viên, sau đó các ứng viên này sẽ được xác
định thông qua các luật để biết ứng viên nào là khuôn mặt và ứng viên nào không phải
khuôn mặt. Thường áp dụng quá trình xác định để giảm số lượng xác định sai.
1.4.3 Dựa trên so khớp mẫu
Trong so khớp mẫu, các mẫu chuẩn của khuôn mặt (thường là khuôn mặt được
chụp thẳng) sẽ được xác định trước hoặc xác định các tham số thông qua một hàm. Từ
một ảnh đưa vào, tính các giá trị tương quan so với các mẫu chuẩn về đường viền khuôn
mặt, mắt, mũi và miệng. Thông qua các giá trị tương quan này mà các tác giả quyết định
có hay không có tồn tại khuôn mặt trong ảnh. Hướng tiếp cận này có lợi thế là rất dễ cài 15
đặt, nhưng không hiệu quả khi tỷ lệ, tư thế, và hình dáng thay đổi. Nhiều độ phân giải, đa
tỷ lệ, các mẫu con, và các mẫu biến dạng được xem xét thành bất biến về tỷ lệ và hình dáng. 1.4.4
Dựa trên diện mạo
Trái ngược với các phưong pháp so khớp mẫu với các mẫu đã được định nghĩa
trước bởi những chuyên gia, các mẫu trong hướng tiếp cận này được học từ các ảnh mẫu.
Một các tổng quát, các phương pháp theo hướng tiếp cận này áp dụng các kỹ thuật theo
hướng xác suất thống kê và máy học để tìm những đặc tính liên quan của khuôn mặt và
không phải là khuôn mặt. Các đặc tính đã được học ở trong hình thái các mô hình phân
bố hay các hàm biệt số nên dùng có thể dùng các đặc tính này để xác định khuôn mặt
người. Đồng thời, bài toán giảm số chiều thường được quan tâm để tăng hiệu quả tính
toán cũng như hiệu quả xác định.
1.4.5 Dựa trên đặc trưng lõm
Năm 1983, James L. Crowley đã đưa ra khái niệm ridge và peak. Ridge là các điểm lồi
trên ảnh. Tập các điểm ridge trên ảnh sẽ tạo thành những đường xương sống và các đường
này sẽ tạo thành các chùm tia gọi là peak (chùm). James L. Crowley sử dụng phép hiệu của
lọc Low Pass để rút ra các điểm ridge (lồi) trên ảnh, và sau đó một thuật toán duyệt để kết
chúng lại với nhau thành các đặc trưng ridge và peak. Tiếp sau đó, một số các phương pháp
được đề xuất để rút trích các thông tin về ridge và valley (lõm). Hầu hết các phương pháp này
dùng một bộ lọc để tăng cường thông tin về cạnh trên ảnh sau đó dò tìm quỹ tích các điểm
cực trị. Quỹ tích các điểm cực trị này được xem là các đặc trưng lồi và lõm. Trong đặc trưng
lồi và lõm được dò tìm trên nhiều độ phân giải khác nhau, cho kết quả đáng kể. Tuy nhiên,
chất lượng của các đặc trưng lồi lõm này còn phụ thuộc khá nhiều vào điều kiện chiếu sáng
cũng như các mức phân giải được lựa chọn trước. Để giải quyết sự phụ thuộc này, Lindeberg
đã đề xuất một phương pháp tự động chọn độ phân giải tốt nhất. Gần đây Hải Trần đưa ra
một cách tiếp cận sử dụng Laplacian để tăng cường thông tin cạnh sau đó dò tìm ridge và
peak dưới nhiều mức khác nhau. Trong hướng tiếp cận này, các đặc trưng ridge và peak được
biểu diễn dưới dạng các đồ thị quan hệ hoặc các cây cấp bậc với các tầng là các ridge và peak
được dò tìm tại các mức khác nhau. 16
1.5. Tổng quan về bài toán
Nhận dạng mặt người (Face recognition) được nghiên cứu từ nhưng năm 1980, là một
lĩnh vực nghiên cứu của ngành thị giác máy tính (Computer Vision), và cũng được xem là
một lĩnh vực nghiên cứu của ngành sinh trắc học (Biometrics) tương tự như nhận dạng vân
tay -8 Fingerprint recognition, hay nhận dạng mống mắt - Iris recognition. Trong khi nhận
dạng vân tay và mống mắt có thể áp dụng trên thực tế một cách rộng rãi thì nhận dạng mặt
người vẫn còn nhiều thách thức. So với nhận dạng vân tay và mống mắt, nhận dạng mặt có
nguồn dữ liệu phong phú hơn và ít đòi hỏi sự tương tác có kiểm soát hơn.
Bài toán nhận dạng mặt người còn nhiều thách thức nên hàng năm trong & ngoài nước
vẫn có nhiều nghiên cứu về các phương pháp nhận dạng mặt người. Để thử nghiệm phương
pháp chúng ta cần có một cơ sở dữ liệu ảnh mẫu. Có ba cơ sở dữ liệu ảnh mẫu phổ biến là:
Cơ sở dữ liệu AT&T, Cơ sở dữ liệu Yale A, Cơ sở dữ liệu Yale B Bài toán nhận dạng khuôn
mặt có thể áp dụng rộng rãi trong nhiều ứng dụng thực tế khác nhau.
Trong đề tài này, tác giả tập trung vào bài toán nhận dạng bằng mống mắt sử dụng ngôn
ngữ lập trình Python. Do các khó khăn của bài toán nhận dạng khuôn mặt như: Tư thế góc
chụp, sự xuất hiện hoặc thiếu một số thành phần của khuôn mặt, sự biểu cảm của khuôn mặt,
sự che khuất, hướng của ảnh, điều kiện của ảnh...
nh được xét là ảnh số, nghĩa là ảnh mặt người được chụp từ các thiết bị như máy ảnh
số,camera,….Không xem xét các ảnh mặt người nhân tạo như vẽ, điêu khắc …
1.6 Kết luận chƣơng 1
Trong chương 1, tác giả đã phân tích, đánh giá những vấn đề còn hạn chế, tồn tại của
các công trình nghiên cứu trong và ngoài nước, một số phương pháp nhận diện khuôn mặt.
Từ đó đã nêu được bài toán đặt ra và hướng giải quyết ở các chương tiếp theo. 17
CHƢƠNG 2 MỘT SỐ PHƢƠNG PHÁP VÀ THUẬT TOÁN NHẬN DẠNG
Trong chương này, tác giả sẽ trình bày về những thuật toán dùng để giải quyết bài
toán đã nêu ra ở chương 1 và làm tiền đề cho chương 3.
2.1 Thuật toán Viola-Jones
Thuật toán Viola-Jones lần đầu tiên được xuất bản vào năm 2001 bởi Paul Viola và
Michael Jones trong bài báo năm 2001 của họ, Rapid Object Detection using a Boosted
Cascade of Simple Features, bài báo này đã trở thành một trong những bài báo được trích dẫn
nhiều nhất trong tài liệu về computer vision. Trong bài báo này, Viola và Jones đề xuất một
thuật toán có khả năng phát hiện các vật thể trong hình ảnh, bất kể vị trí và tỷ lệ của chúng
trong một hình ảnh. Hơn nữa, thuật toán này có thể chạy trong thời gian thực, giúp phát hiện
các đối tượng trong video stream.
Cụ thể, Viola và Jones tập trung vào việc phát hiện khuôn mặt trong ảnh, nhưng thuật
toán này cũng có thể được sử dụng để huấn luyện máy dò tìm các vật thể tùy ý, như xe hơi,
tòa nhà, dụng cụ nhà bếp và thậm chí là một trái chuối.
Mặc dù khung Viola-Jones chắc chắn đã mở ra cánh cửa để phát hiện đối tượng, nhưng giờ
đây nó đã vượt xa các phương pháp khác, chẳng hạn như sử dụng Histogram of Oriented
Gradients (HOG) + Linear SVM và Deep Learning.
Hình 2. 1 Phát hiện khuôn mặt bằng cách sử dụng Haar cascade được đào tạo trước 18 2.2 One-shot learning
One-shot learning là thuật toán học có giám sát mà mỗi một người chỉ cần 1 vài, rất ít
hoặc thậm chí chỉ 1 bức ảnh duy nhất (để khỏi tạo ra nhiều biến thể).
Từ đầu vào là bức ảnh của một người, chúng ta sử dụng một kiến trúc thuật toán CNN đơn
giản để dự báo người đó là ai.
Tuy nhiên nhược điểm của phương pháp này là chúng ta phải huấn luyện lại thuật toán
thường xuyên khi xuất hiện thêm một người mới vì shape của output thay đổi tăng lên 1. Rõ
ràng là không tốt đối với các hệ thống nhận diện khuôn mặt của một công ty vì số lượng
người luôn biến động theo thời gian.
2.3 Learning similarity
Phương pháp này dựa trên một phép đo khoảng cách giữa 2 bức ảnh, thông thường là các
norm chuẩn hoặc sao cho nếu 2 bức ảnh thuộc cùng một người thì khoảng cách là nhỏ
nhất và nếu không thuộc thì khoảng cách sẽ lớn hơn. ( ) { ( )
Hình 2. 2 Phương pháp learning similarity. 19
Thay vì dự báo một phân phối xác suất để tìm ra nhãn phù hợp nhất với ảnh đầu vào. Thuật
toán sẽ so sánh khoảng cách giữa ảnh đầu vào (bên phải) với toàn bộ các ảnh còn lại (bên
trái). Ta cần chọn một ngưỡng threshold để quyết định ảnh là giống hoặc khác.
Giả sử ngưỡng threshold là 0.5. Trong các bức ảnh bên trái thì bức ảnh ở giữa có khoảng
cách với ảnh bên phải nhỏ hơn 0.5. Do đó nó được dự báo cùng một người với ảnh bên phải.
Learning similarity có thể trả ra nhiều hơn một ảnh là cùng loại với ảnh đầu vào tùy theo
ngưỡng threshold. Ngoài ra phương pháp này không bị phụ thuộc vào số lượng classes. Do
đó không cần phải huấn luyện lại khi xuất hiện class mới.Điểm mấu chốt là cần xây dựng
được một model encoding đủ tốt để chiếu các bức ảnh lên một không gian eucledean n chiều.
Sau đó sử dụng khoảng cách để quyết định nhãn của chúng.
Như vậy learning similarity có ưu điểm hơn so với one-shot learning khi không phải huấn
luyện lại model khi mà vẫn tìm ra được ảnh tương đồng. 2.4 Siam network
Những kiến trúc mạng mà khi đưa vào 2 bức ảnh và mô hình sẽ trả lời chúng thuộc về
cùng 1 người hay không được gọi chung là Siam network. Siam network được giới thiệu đầu
tiên bởi DeepFace: Closing the Gap to Human-Level - Yaniv Taigman. elt.
Kiến trúc của Siam network dựa trên base network là một Convolutional neural network đã
được loại bỏ output layer có tác dụng encoding ảnh thành véc tơ embedding. Đầu vào của
mạng siam network là 2 bức ảnh bất kì được lựa chọn ngẫu nhiên từ dữ liệu ảnh. Output của
Siam network là 2 véc tơ tương ứng với biểu diễn của 2 ảnh input. Sau đó chúng ta đưa 2 véc
tơ vào hàm loss function để đo lường sự khác biệt giữa chúng. Thông thường hàm loss
function là một hàm norm chuẩn bậc 2.
Hình 2. 3 Mô hình Convolutional neural network 20 2.5 Thuật toán ORB
Đối sánh thuộc tính là cơ sở của nhiều vấn đề thị giác máy tính, chẳng hạn như nhận
dạng đối tượng hoặc cấu trúc từ sự chuyển động. Phương pháp hiện nay dựa trên việc mô tả
gây tốn kém về nhận dạng và đối sánh. Trong đề tài, này tác giả nghiên cứu một mô tả nhị
phân dựa trên BRIEF gọi là ORB, đó là vòng xoay bất biến và có khả năng chống nhiễu. Các
thí nghiệm đã chứng mình rằng ORB đứng ở vị trí thứ hai về độ lớn và nhanh hơn SIFT trong
khi nó hoạt tốt trong nhiều tình huống. Hiệu quả được thử nghiệm trên một số ứng dụng thế
giới thực, bao gồm phát hiện đối tượng và theo dõi trên điện thoại thông minh.
Thuộc tính ORB đề xuất được xây dựng trên các bộ dò keypoint nổi tiếng FAST và gần
đây là bộ mô tả BRIEF và gọi là ORB (Oriented Fast and Rotated BRIEF). Trong đề tài này,
giải quyết một số hạn chế của những công cụ liên quan đến SIFT, đáng kể nhất là thiếu bất
biến trong phép quay BRIEF. Cụ thể là:
- Thêm vào FAST và gán hướng chính xác cho các thành phần của FAST.
- Các tính toán hiệu quả thuộc tính hướng BRIEF.
- Phân tích phương sai và tương quan của thuộc tính hướng BRIEF.
- Một phương pháp học giảm tương ứng thuộc tính BRIEF dưới bất biến quay, dẫn
đến thực hiện tốt hơn các ứng dụng láng giềng gần.
Hình 2. 4 Kết qu đối sánh nh s dng thut toán ORB.
Để hiểu hơn về ORB ta thực hiện các thí nghiệm kiểm tra các thuộc tính của ORB liên
quan đến SIFT và SURF, cả khả năng đối sánh thô và hiệu suất trong các ứng dụng đối sánh 21
hình ảnh. Kiểm nghiệm hiệu quả của ORB bằng cách thực hiện một ứng dụng theo dõi trên
bản vá trên điện thoại thông minh. Một lợi ích nữa của ORB là nó là miễn phí trong khi SIFT và SURF thì không.
Hình 2. 5 Đồ th cường độ nhiu ca nh
2.6 Thut toán RANSAC
RANSAC, đại diện cho cụm từ “Random Sample Consensus”, tức là “đồng thuận mẫu
ngẫu nhiên”, là thuật toán khử nhiễu được công bố bởi Fischler và Bolles vào năm 1981.
Ý tưởng chính của RANSAC như sau: Từ tập dữ liệu ban đầu, ta sẽ có hai loại dữ liệu
nhiễu và không nhiễu (outlier và inlier), vì thế ta phải đi tính toán để tìm ra mô hình tốt nhất
cho tập dữ liệu. Việc tính toán và chọn ra mô hình tốt nhất sẽ được lặp đi lặp lại k lần, với giá
trị k được chọn sao cho đủ lớn để đảm báo xác suất p (thường rơi vào giá trị 0.99) của tập dữ
liệu mẫu ngẫu nhiên không chứa dữ liệu nhiễu.
Với ma trận Homography được tính từ bốn cặp điểm ngẫu nhiên, ta có d là khoảng cách
đo mức độ gần nhau của các cắp điểm đã được so sánh đối chiếu. Với cặp điểm nổi bật tương đồng ( ) và (
) là khoảng cách của hai vector, ta có công thức khoảng cách như sau: ( ) ( ) Thuật toán chi tiết:
- Khởi tạo số vòng lặp k, ngưỡng distance, và p = 0. 22
- For (i = 1: k), thực hiện các bước sau:
- Bước 1: Chọn 4 cặp điểm tương đồng ngẫu nhiên.
- Bước 2: Kiểm tra xem các đ ể
i m có nằm trên cùng một đường thẳng hay không.
- Bước 3: Tính ma trận Homography H từ 4 điểm sử dụng phương pháp DLT chuẩn hóa.
- Bước 4: Tính khoảng cách d của các cặp điểm nổi bật tương đồng.
- Bước 5: Tính số lượng m các cặp điểm không ngẫu nhiên (inlier) thỏa điều kiện: .
- Bước 6: Nếu thì , ma trận Homography
- Tiếp tục tính lại ma trận H cho tất cả các cặp điểm tương đồng được coi là không
nhiễu (inlier) bằng phương pháp DLT.
2.7 Thut toán HOG (Trong đề tài chủ yếu dùng thuật toán này)
Có rất nhiều các phương pháp khác nhau trong computer vision. Khi phân loại ảnh,
chúng ta có thể áp dụng họ các mô hình CNN (Inception Net, mobile Net, Resnet, Dense Net,
Alexnet, Unet,…) và khi phát hiện vật thể là các mô hình YOLO, SSD, Faster RCNN, Fast RCNN, Mask RCNN.
Các thuật toán kể trên đều là những mô hình deep learning. Vậy trước khi deep
learning bùng nổ, thuật toán nào thường được sử dụng trong xử lý ảnh? Bài hôm nay chúng ta
sẽ tìm hểu về thuật toán tuy cổ điển nhưng cũng rất hiệu quả trong xử lý ảnh, đó chính là
HOG (histogram of oriented gradient).
Thuật toán này sẽ tạo ra các bộ mô tả đặc trưng (feature descriptor) nhằm mục
đích phát hiện vật thể (object detection). Từ một bức ảnh, ta sẽ lấy ra 2 ma trận quan trọng
giúp lưu thông tin ảnh đó là độ lớn gradient (gradient magnitute) và phương của gradient
(gradient orientation). Bằng cách kết hợp 2 thông tin này vào một biểu đồ phân phối
histogram, trong đó độ lớn gradient được đếm theo các nhóm bins của phương gradient. Cuối
cùng ta sẽ thu được véc tơ đặc trưng HOG đại diện cho histogram. Sơ khai là vậy, trên thực tế
thuật toán còn hoạt động phức tạp hơn khi véc tơ HOG sẽ được tính trên từng vùng cụ bộ như 23
mạng CNN và sau đó là phép chuẩn hóa cụ bộ để đồng nhất độ đo. Cuối cùng véc tơ HOG
tổng hợp từ các véc tơ trên vùng cục bộ.
ng dng ca HOG
Vậy HOG có những ứng dụng cụ thể như thế nào? Một số tác vụ đã áp dụng HOG và mang
lại độ chuẩn xác cao có thể kể đến là:
Nhận diện người (human detection): Lần đầu tiên ứng dụng này được giới thiệu trong
bài báo Histograms of Oriented Gradients for Human Detection của Dalal và Trigg. HOG có
thể phát hiện được một hoặc nhiều người đi bộ trên cùng một hình ảnh.
Hình 2. 6 Mô hình human detection da trên HOG.
Nhận diện khuôn mặt (face detection): Thường chúng ta sẽ nghĩ ngay đến thuật toán
Haar Cascde Classifier. Tuy nhiên HOG cũng là một thuật toán rất hiệu quả được áp dụng
trong bài toán này. Bởi nó có khả năng biểu diễn các đường nét chính của khuôn mặt dựa trên
phương và độ lớn gradient thông qua các véc tơ trên mỗi cell như hình mô tả bên dưới: 24
Nhận diện các vật thể khác: Ngoài ra còn rất nhiều các trường hợp nhận diện vật thể trên
ảnh tĩnh như phương tiện, tín hiệu giao thông, động vật hoặc thậm chỉ là ảnh động từ video.
Tạo feature cho các bài toán phân loại ảnh: Nhiều bài toán phân loại ảnh được xây dựng
trên một bộ dữ liệu kích thước nhỏ thì sử dụng các mạng học sâu chưa chắc đã mang lại hiệu
quả và dễ dẫn tới overfiting. Nguyên nhân vì dữ liệu ít thường không đủ để huấn luyện cho
máy tính nhận tốt các đặc trưng của vật thể. Khi đó sử dụng HOG để tạo đặc trưng sẽ mang
lại kết quả tốt hơn. Cụ thể tôi cũng sẽ thực hiện một ví dụ ở cuối.
+) Feature Descriptor: Bộ mô tả đặc trưng, là một phép biến đổi dữ liệu thành các đặc
trưng giúp ích cho phân loại hoặc nhận diện vật thể. Các phương pháp có thể kể đến như HOG, SUFT, SHIFT.
+) Histogram: Là biểu đồ histogram biểu diễn phân phối của các cường độ màu sắc theo
khoảng giá trị. Nếu chưa biết biểu đồ histogram là gì bạn đọc có thể xem lại bài 11 - visualization trong python
+) Gradient: Là đạo hàm của véc tơ cường độ màu sắc giúp phát hiện hướng di chuyển
của các vật thể trong hình ảnh.
+) Local cell: Ô cục bộ. Trong thuật toán HOG, một hình ảnh được chia thành nhiều cells
bởi một lưới ô vuông. Mỗi cell đ ợ
ư c gọi là một ô cục bộ.
+) Local portion: Vùng cục bộ. Là một vùng trước trích suất ra từ ô vuông trên hình ảnh.
Trong phần trình bày về thuật toán thì vùng cục bộ còn được gọi là block.
+) Local normalization: Phép chuẩn hóa được thực hiện trên một vùng cục bộ. Thường là
chia cho norm chuẩn bậc 2 hoặc norm chuẩn bậc 1. Mục đích của việc chuẩn hóa là để đồng
nhất các giá trị cường độ màu sắc về chung một phân phối.
+) Gradient direction: Phương gradient. Là độ lớn góc giữa véc tơ gradient và giúp
xác định phương thay đổi cường độ màu sắc hay chính là phương đổ bóng của hình ảnh.
Giả sử lần lượt là giá trị gradient theo lần lượt phương và của hình ảnh. Khi đó
phương gradient được tính như sau: ( ) 25
+) Gradient magnitude: Độ lớn gradient. Là chiều dài của véc tơ gradient theo
phương và phương Biểu diễn phân phối histogram của véc tơ này theo véc tơ phương
gradient sẽ thu được véc tơ mô tả đặc trưng HOG. Độ lớn gradient được tính như sau: | | √
Trong hầu hết các thuật toán xử lý ảnh, bước đầu tiên là tiền xử lý dữ liệu ảnh (pre-
processing image). Chúng ta sẽ cần chuẩn hóa màu sắc và giá trị gamma. Tuy nhiên, bước
này có thể được bỏ qua trong phần tính toán bộ mô tả HOG, vì việc chuẩn hóa bộ mô tả ở
bước tiếp theo đã đạt được kết quả tương tự. Thay vào đó, tại bước đầu tiên của tính toán bộ
mô tả chúng ta sẽ tính các giá trị gradient. Phương pháp phổ biến nhất là áp dụng một mặt nạ
đạo hàm rời rạc (discrete derivative mask) theo một hoặc cả hai chiều ngang và dọc. Cụ thể,
phương pháp sẽ lọc ma trận cường độ ảnh với các bộ lọc như Sobel mask hoặc scharr.
Để tính bộ lọc sobel, phép tích chập của kernel kích thước 3x3 được thực hiện với hình ảnh
ban đầu. Nếu chúng ta kí hiệu I là ma trận ảnh gốc và là 2 ma trận ảnh mà mỗi điểm
trên nó lần lượt là đạo hàm theo trục trục . Chúng ta có thể tính toán được kernel như sau:
Đạo hàm theo chiều ngang: [ ]
Đạo hàm theo chiều dọc: [ ]
Kí hiệu * tương tự như phép tích chập giữa bộ lọc bên trái và ảnh đầu vào bên phải.
Gía trị độ lớn gradient (gradient magnitude) và phương gradient (gradient direction) có thể
được tạo ra từ 2 đạo hàm và theo công thức bên dưới: Độ lớn gradient | | √ Phương gradient: ( ) 26
Trong đề tài này, gradient được tính trên thư viện OpenCV
Các bước tính HOG trong đề tài
Ta nhận thấy đặc trưng của mỗi bức ảnh được biểu diễn thông qua 2 thông số đó là mức độ
thay đổi cường độ màu sắc (ma trận gradient magnitude) và hướng thay đổi cường độ màu
sắc (ma trận gradient direction). Do đó chúng ta cần tạo ra được một bộ mô tả (feature
descriptor) sao cho biến đổi bức ảnh thành một véc tơ mà thể hiện được cả 2 thông tin này.
Để làm được như vậy, hình ảnh được chia thành một lưới ô vuông mà mỗi một ô có kích
thước 8x8 pixels. Như vậy chúng ta có tổng cộng 64 ô pixels tương ứng với mỗi ô. Trên mỗi
một ô trong 64 pixels ta sẽ cần tính ra 2 tham số đó là độ lớn gradient (gradient magnitute) và
phương gradient (gradient direction). Như vậy tổng cộng 8x8x2 = 128 giá trị cần tính bao
gồm 64 giá trị gradient magnitute và 64 giá trị gradient direction như ma trận hình bên dưới:
Hình 2. 7 Hình nh vận động viên được chia thành các lưới ô vuông, mi ô vuông có kích thước 8x8 pixels.
Véc tơ histogram sẽ được tạo ra như sau:
Bước 1: Mapping độ lớn gradient vào các bins tương ứng của phương gradient.
Sắp xếp các giá trị phương gradient theo thứ tự từ nhỏ đến lớn và chia chúng vào 9 bins. Độ
lớn của phương gradient sẽ nằm trong khoảng [0, 180] nên mỗi bins sẽ có độ dài là 20 như hình bên dưới. 27
Mỗi một phương gradient sẽ ghép cặp với một độ lớn gradient ở cùng vị trí tọa độ. Khi biết
được phương gradient thuộc bins nào trong véc tơ bins, ta sẽ điền vào giá trị giá trị của độ lớn
gradient vào chính bin đó.
Chẳng hạn trong hình bên dưới ô được khoanh trong hình tròn viền xanh tương ứng với
phương gradient là 80 và độ lớn gradient là 2. Khi đó tại véc tơ bins của HOG, phương
gradient bằng 80 sẽ rơi vào vị trí thứ 5 nên tại ô này chúng ta điền giá trị 2 ứng với độ lớn gradient.
Hình 2. 8 Mapping độ ln gradients vi các bins.
Đầu mút là các giá trị chia hết cho độ rộng của một bin (chẳng hạn 0, 20, 40,… là những đầu
mút bin). Trong trường hợp độ lớn phương gradients không rơi vào các đầu mút, ta sẽ sử
dụng linear interpolation để phân chia độ lớn gradient về 2 bins liền kề mà giá trị phương
gradient rơi vào. Ví dụ: giá trị phương gradient bằng x ghép cặp với độ lớn gradient
bằng tức là phương gradients rơi vào khoảng giữa bin thứ (l−1) và bin thứ l: .
Khi đó tại 2 bins (l−1) và l được điền vào giá trị cường độ theo công thức interpolation: 28 Gía trị tại bins l−1: ( ) Gía trị tại bins l: ( )
Bước 2: Chuẩn hóa véc tơ histogram theo block 16x16
Chúng ta thấy rằng véc tơ histogram sẽ bị phụ thuộc vào cường độ các pixels của một bức
ảnh. Với 2 bức ảnh có cùng nội dung nhưng bức ảnh biến thể tối hơn được tạo thành từ ma
trận ảnh gốc nhân 1/2. Khi đó giá trị véc tơ histogram của ảnh gốc cũng sẽ gấp đôi véc tơ
histogram của ảnh biến thể. Chính vì thế cần chuẩn hóa véc tơ histogram để cả 2 bức ảnh có
cùng một véc tơ biểu diễn.
Bước 3: Tính toán HOG feature véc tơ .
Sau khi chuẩn hóa các véc tơ histogram, chúng ta sẽ concatenate các véc tơ 1x36 này thành
một véc tơ lớn. Đây chính là véc tơ HOG đại diện cho toàn bộ hình ảnh.
2.8 Thut toán CamShif (Dùng trong đề tài và có bài báo trong REV)
Thuật toán CamShift được xuất phát và dựa trên nền tảng của thuật toán MeanShift, do
vậy việc tính trọng tâm của đối tượng và dịch chuyển cửa sổ tìm kiếm (với kích thước cửa sổ
cố định) sẽ thực hiện bằng MeanShift , dựa theo vết màu và moment ảnh. Ý tưởng chính của
CamShift là tính lại trọng tâm của đối tượng dựa vào frame ảnh trước đó và kích thước của
cửa sổ tìm kiếm được thay đổi động theo đối tượng. Nhân là một hàm step đơn giản nằm
trong một bản đồ vỏ xác suất (skin-probability). Vỏ xác suất của mỗi một điểm ảnh được tính
toán dựa trên màu sắc bằng cách sử dụng một phương pháp gọi là Histogram backprojection.
Màu sắc được đưa ra như Hue từ mô hình màu HSV. Kể từ nhân là một hàm step, Mean Shift
ở mỗi một lần lặp thì chỉ đơn giản là giá trị trung bình x và y của vỏ xác suất đóng góp trong
vùng hiện tại. Điều này được xác định bằng cách chia moment thứ nhất của vùng này cho
moment thứ không ở mỗi lần lặp và dịch chuyển vùng đến trọng tâm xác suất. Sau khi Mean
Shift hội tụ đến một vị trí (x,y), phạm vi của vùng được cập nhật dựa trên giá trị hiện tại của 29
moment thứ 0. Giá trị của bản cập nhật này có thể thay đổi, phạm vi tuyến tính của nó được
giả định là tỉ lệ thuận với căn bậc 2 của tổng của các khoản đóng góp xác suất của khu vực
hiện tại (ví dụ. Moment thứ không).
Chiều rộng và chiều dài tại thời điểm thứ i sẽ được tính thông qua giá trị tại thời điểm
thứ i-1, nghĩa là giá trị trước đó.
Trong thuật toán CamShift, một bức ảnh về xác suất phân bố màu sắc của bức ảnh
trong chuỗi video được tạo ra. Đầu tiên nó tạo ra một mẫu mô tả hue sử dụng một biểu đồ
màu sắc (color Histogram) và sử dụng không gian màu Hue Saturation Value (HSV) được
tham chiếu từ không gian màu tiêu chuẩn RGB. Vì phân bố màu sắc của các bức ảnh trong
video thay đổi theo thời gian, nên thuật toán CamShift đã được sửa đổi để dễ dàng thích ứng
với sự thay đổi phân bố xác suất màu sắc của mục tiêu nó theo dõi.
2.8.1 Các bước thc thi thut toán Camshift:
B1: Chọn vị trí ban đầu của cửa sổ tìm kiếm.
B2: Thuật toán Meanshift (lặp một hoặc nhiều lần), lưu moment thứ 0.
B3: Kích cỡ của cửa sổ tìm kiếm được đặt bằng một hàm của moment thứ 0 vừa tìm được trong bước 2.
B4: Lặp lại bước 2 và bước 3 cho đến khi hội tụ (nghĩa là vị trí dịch chuyển nhỏ hơn
ngưỡng thiết lập trước đó).
2.8.2 Thut toán Camshift
Đầu tiên là một Histogram được tạo ra, Histogram này chứa các thuộc tính liên quan đến
màu sắc. Sau khi tạo ra histogram, tiếp theo tâm và kích cỡ của mục tiêu được tính toán để
theo dõi mục tiêu khi hình dạng và kích cỡ của nó thay đổi. Tính xác suất phân bố mục tiêu
căn cứ vào Histogram nhận được. Dịch chuyển đến vị trí mới với mỗi khung hình vừa nhận
được từ video. Camshift sẽ dịch chuyển đến vị trí mà nó ước lượng trên đối tượng tập trung
nhiều điểm sáng nhất trong bức ảnh xác suất.
2.8.3 Ci tiến thut toán áp dng cho đề tài
A) Cải tiến lược đồ Camshift Bước 1: Khởi tạo
Tìm vị trí mục tiêu của ảnh với vị trí với ảnh hiện tại đang xét: 30 p( y ), 0 q k . 1 . n . Tính theo công thức: n p( y ), q p ( y )q 0 k 0 n k
Bước 2: Tính trọng số wi n q w k
(b(x ).k ) i i k 0 p (y ) k 0
Bước 3: Tính vị trí tiếp theo n 2 y x 0 i x w g . ( ) i i h i y1 n 2 y x 0 i w g . ( ) i h i
Bước 4: Tính vị trí ảnh ở vị trí mới p ( y ) 1 1 k 1...n n
p ( y ), q p ( y )q 1 1 1 k 1 n k 0
Bước 5: So sánh vị trí ảnh cũ và ảnh ở vị trí mới. Nếu: n n p( y ), q ( y )q
p ( y ), q p ( y q ) 0 k p 0 n 1 k n k 1 1 k 1 thì tính: y y 1 0 y1 2 Bước 6: Kiểm tra 2 y x 0 i h y 1 y0 Nếu: 31 2 0 y xi h 1 y y0 Sau đó tính: n q w k
(b(x ).k ) i i k 0 p ( y ) k 0 Cho đến khi thỏa mãn: n 1 n 1 w x g i i ( . ) i i k 0 y 0
B) Đánh giá độ phức tạp của thuật toán
Vị trí cần tìm được xác định như sau: S arg max sp(z ) 0 z Với: p(z ) 0 p(c ) 0 p(s ) 0 z z Thuật toán tìm vị trí ' S S s ( p c 0) s * S arg max p(c 0) s ' s s Tem p True While T ( em p d ) o ' * * S S S S S S là vùng l iên thông a i i 32 * S arg max p S S 0 S a S * S arg max p S S l à vùng l iên thông i r S r S * S arg max p S S 0 S Sr if p S * S 0 p S *
S 0 and p S * S 0 * p S 0 then * * S S S 0 Else if * p S S 0 * p S 0 then * * S S -S 0 Else Temp False En d if En d whil e 33
CHƢƠNG 3 XÂY DỰNG DEMO
Trong chương này, tác giả sẽ dùng những thuật toán đã trình bày ở chương 2. Xây
dựng demo một kỹ thuật nhận dạng mặt người dựa trên mống mắt sử dụng ngôn ngữ lập trình
Python. Có sử dụng máy học và bổ xung thêm 1 số phương pháp khác. 3.1 Giới thiệu
Mắt là đặc điểm quan trọng nhất trên khuôn mặt con người. Nói chung, phát hiện mắt,
nhận diện khuôn mặt và phát hiện mống mắt được sử dụng trong hệ thống bảo mật và nhận
dạng người. Để phát hiện bằng mắt, trước tiên hãy phát hiện một phần khuôn mặt của cơ thể
người. phát hiện và nhận dạng khuôn mặt cũng đóng một vai trò quan trọng. Và họ có nhiều
ứng dụng như giao diện, giám sát, bảo mật. trong giấy này, khuôn mặt, mắt và phần mống
mắt phát hiện trong hình ảnh sống động.
Được biết, vùng mắt thường sẫm màu hơn vùng da mặt. trước đó, chúng ta phải đặt giá
trị ngưỡng. Nói chung mắt người chiếm 10% bộ phận trên khuôn mặt. Gần đây, nhiều kỹ
thuật phát hiện mắt đã được báo cáo, Sử dụng thông tin về kích thước và cường độ để tìm các
phân đoạn mắt-tương tự từ hình ảnh thang màu xám, và khai thác mối quan hệ hình học đặc
biệt để lọc ra các cặp mắt-tương tự có thể có [1]. Mống mắt là một phần hình tròn của mắt. nó
là cơ quan nhạy cảm nhất của cơ thể con người. có rất nhiều ứng dụng được sử dụng dựa trên
mống mắt. Chức năng của mống mắt là kiểm soát lượng ánh sáng đi vào qua đồng tử. Đặc
điểm của mống mắt có thể được sử dụng trong nhận dạng cá nhân và bảo mật. Đường kính
trung bình của mống mắt là 12 mm, và kích thước đồng tử có thể thay đổi từ 10% đến 80%
đường kính mống mắt [7].
Các kỹ thuật nhận dạng mống mắt có khả năng ngăn chặn truy cập trái phép vào ATM, bảo
mật, Nhận dạng cá nhân, v.v. Độ chính xác của mống mắt so với các kỹ thuật khác như vân
tay, vân tay, v.v. Có một số phương pháp như toán tử vi phân tích phân, biến đổi Hough, phát
hiện cạnh dựa trên gradient là được sử dụng để khoanh vùng phần mống mắt và đồng tử từ
hình ảnh mắt trực tiếp. Các phương pháp này dựa trên bán kính, gradient, xác suất và mô
men. Wildes đã đề xuất một phép biến đổi Hough tròn để phát hiện mí mắt, ngưỡng trên và 34
dưới. điều này đòi hỏi một giá trị ngưỡng thích hợp [8] .Daugman đề xuất một toán tử vi phân
thấp hơn để tìm đồng tử, mống mắt và mí mắt [9].
Trong đề tài này, chúng tôi đã đề xuất một phương pháp để tự động phát hiện mắt và
khuôn mặt của con người cũng như phát hiện mẫu hình tròn, tức là mống mắt của hình ảnh
mắt bị cắt. Phân tích khối được sử dụng để phát hiện mắt và bộ phận khuôn mặt trong hình ảnh trực tiếp.
3.2 Phát hiện mặt và mống mắt
Để nắm bắt các chi tiết phong phú của các mẫu mống mắt, một hệ thống hình ảnh phải
phân giải tối thiểu 70 pixel trong bán kính mống mắt. Trong các thử nghiệm thực địa cho đến
nay, bán kính mống mắt được phân giải từ 100 đến 140 pixel là điển hình hơn. Máy ảnh CCD
đơn sắc (480 x 640) đã được sử dụng vì chiếu sáng NIR trong dải 700nm - 900nm là cần thiết
để hình ảnh không thể nhìn thấy đối với con người. Một số nền tảng hình ảnh đã triển khai
một máy ảnh góc rộng để định vị thô của mắt trong khuôn mặt, để điều khiển quang học của
máy ảnh xoay / nghiêng góc hẹp thu được hình ảnh có độ phân giải cao hơn của mắt. Có rất
nhiều phương pháp thay thế để tìm và theo dõi các đặc điểm trên khuôn mặt chẳng hạn như
mắt, và chủ đề được phân tích kỹ lưỡng này sẽ không được thảo luận thêm ở đây.
Trong những thử nghiệm này, hầu hết hình ảnh được thực hiện mà không có quang học
máy ảnh xoay / nghiêng chủ động, mà thay vào đó, khai thác phản hồi trực quan thông qua
hình ảnh phản chiếu hoặc video để cho phép các đối tượng hợp tác định vị mắt của họ trong
phạm vi quan sát của một máy ảnh góc hẹp.
Đánh giá tiêu điểm được thực hiện trong thời gian thực (nhanh hơn tốc độ khung hình
video) bằng cách đo tổng công suất tần số cao trong phổ Fourier 2D của mỗi khung hình và
tìm cách tối đa hóa số lượng này bằng cách di chuyển một ống kính hoạt động hoặc bằng
cách cung cấp phản hồi âm thanh để Đối tượng để điều chỉnh phạm vi của họ một cách thích
hợp. Sau đó, những hình ảnh vượt qua tiêu chí lấy nét tối thiểu sẽ được phân tích để tìm
mống mắt, với việc xác định chính xác ranh giới của nó bằng cách sử dụng chiến lược từ thô
đến tinh, kết thúc bằng các ước tính chính xác từng pixel về tọa độ trung tâm và bán kính của
cả mống mắt và đồng tử. Mặc dù kết quả của việc tìm kiếm mống mắt hạn chế rất nhiều trong
việc tìm kiếm đồng tử, nhưng không thể giả định được sự đồng tâm của các ranh giới này. 35
Rất thường trung tâm đồng tử ở mũi, và thấp hơn trung tâm mống mắt. Bán kính của nó có
thể từ 0,1 đến 0,8 bán kính mống mắt. Do đó, tất cả ba thông số xác định vòng tròn đồng tử
phải được ước tính riêng biệt với các thông số của mống mắt.
Một toán tử vi phân tích phân rất hiệu quả để xác định các tham số này là : ( ) ( ) | ( ) ∮ |
Trong đó ( ) là hàm làm mịn và ( ) là ảnh của mắt. Tất cả các nghiên cứu ban đầu về
phân đoạn mống mắt đều giả định rằng mống mắt có ranh giới hình tròn. Tuy nhiên, ranh giới
đồng tử và rìa thường không hoàn toàn tròn. Gần đây, Daugman đã nghiên cứu các kỹ thuật
phân đoạn thay thế để mô hình hóa ranh giới mống mắt tốt hơn [2]. Ngay cả khi ranh giới bên
trong và bên ngoài của mống mắt được tìm thấy, một số mống mắt vẫn có thể bị che bởi mí mắt hoặc lông mi.
Khoảng cách từ máy ảnh ảnh hưởng đến kích thước của mống mắt trong ảnh. Ngoài ra,
những thay đổi về độ chiếu sáng có thể khiến mống mắt giãn ra hoặc co lại. Vấn đề này đã
được giải quyết bằng cách ánh xạ vùng mống mắt được trích xuất vào một hệ tọa độ chuẩn
hóa. Để thực hiện chuẩn hóa này, mọi vị trí trên hình ảnh mống mắt được xác định bởi hai tọa
độ, (i) một góc từ 0 đến 360 độ và (ii) một tọa độ xuyên tâm nằm trong khoảng từ 0 đến 1 bất
kể kích thước tổng thể của hình ảnh. Quá trình bình thường hóa này giả định rằng mống mắt
kéo dài tuyến tính khi đồng tử giãn ra và co lại. Một bài báo của Wyatt [3] giải thích rằng giả
định này là một phép gần đúng tốt, nhưng nó không hoàn toàn phù hợp với biến dạng thực tế
của mống mắt. Hình ảnh mống mắt chuẩn hóa có thể được hiển thị dưới dạng hình ảnh chữ
nhật, với tọa độ xuyên tâm trên trục tung và tọa độ góc trên trục hoành. Trong cách biểu diễn
như vậy, ranh giới đồng tử ở dưới cùng của hình ảnh, và ranh giới rìa ở trên cùng. Phía bên
trái của hình ảnh chuẩn hóa đánh dấu 0 độ trên hình ảnh mống mắt và phía bên phải đánh dấu
360 độ. Sự phân chia giữa 0 và 360 độ là hơi tùy ý, vì một độ nghiêng đơn giản của đầu có
thể ảnh hưởng đến tọa độ góc. Daugman giải thích cho vòng quay này sau đó, trong kỹ thuật
đối sánh. So sánh trực tiếp cường độ điểm ảnh của hai hình ảnh mống mắt khác nhau có thể
dễ bị lỗi vì sự khác biệt về ánh sáng giữa hai hình ảnh khác nhau. 36
Daugman sử dụng phép tích chập với bộ lọc Gabor 2 chiều để trích xuất kết cấu từ hình
ảnh mống mắt chuẩn hóa. Trong hệ thống của anh ấy, các bộ lọc được “nhân với dữ liệu pixel
hình ảnh thô và được tích hợp trên miền hỗ trợ của chúng để tạo ra các hệ số mô tả, trích xuất
và mã hóa thông tin kết cấu hình ảnh.” [4] Sau khi kết cấu trong ảnh được phân tích và biểu
diễn, nó được đối sánh với biểu diễn được lưu trữ của các tròng đen khác. Nếu nhận dạng
mống mắt được thực hiện trên quy mô lớn, việc so sánh giữa hai hình ảnh sẽ phải rất nhanh.
Do đó, Daugman đã chọn lượng tử hóa phản ứng pha của mỗi bộ lọc thành một cặp bit trong
biểu diễn kết cấu. Mỗi hệ số phức được chuyển thành mã hai bit: bit đầu tiên bằng 1 nếu phần
thực của hệ số là dương và bit thứ hai bằng 1 nếu phần ảo của hệ số là dương.
3.3 Biu đồ đề xut
Mống mắt là cơ quan rất quan trọng trong cơ thể con người, trong đề tài này, mống
mắt được phát hiện theo mọi hướng (trái, phải, lên, xuống). trong phần trên, tác giả đã hiển
thị phát hiện phần mắt và khuôn mặt trong thời gian thực, khi chúng tôi phát hiện khuôn mặt
và phần mắt sau đó chúng tôi sẽ phát hiện mống mắt ở các vị trí khác nhau. Trong phần biến
đổi Hough được sử dụng để phát hiện phần mống mắt trong ảnh mắt đã cắt. Phép biến đổi
Hough là một thủ tục thường được sử dụng để tính toán các tham số của các đối tượng hình
học như đường thẳng và đường tròn trong một hình ảnh. Để phát hiện tọa độ trung tâm và bán
kính của vùng mống mắt và đồng tử, có thể sử dụng biến đổi Hough tròn. Kỹ thuật này
thường sử dụng một thủ tục biểu quyết để tìm hình dạng của các đối tượng trong các lớp có
sẵn. Thuật toán phân đoạn Hough trước tiên tạo ra một bản đồ cạnh bằng cách tính toán các
chuyển sắc hoặc các đạo hàm đầu tiên của các giá trị cường độ trong mắt. Tọa độ tâm và bán
kính có thể được tìm thấy bằng cách sử dụng phương trình sau:
Trong không gian Hough, điểm cực đại tương ứng với tọa độ tâm (xc, yc) và bán kính 'r' của
đường tròn được cho bởi các điểm cạnh. Khi thực hiện phát hiện cạnh, chúng tôi đã xem xét
các dẫn xuất / chuyển sắc theo hướng thẳng đứng để phát hiện ranh giới mống mắt-củng mạc
để giảm hiệu ứng của các mí mắt được căn chỉnh theo chiều ngang (6). Các gradient dọc được
thực hiện để xác định ranh giới mống mắt và để giảm ảnh hưởng của mí mắt. Khi thực hiện
chuyển đổi Hough hình tròn, không phải tất cả các pixel cạnh xác định hình tròn đều được 37
yêu cầu để bản địa hóa thành công. Điều này không chỉ giúp bản địa hóa vòng kết nối chính
xác hơn mà còn làm cho nó hiệu quả hơn, vì có ít điểm cạnh hơn để bỏ phiếu trong không gian Hough (6).
Sử dụng phương trình 2, mô hình biến mọi pixel trong mống mắt tròn thành một vị trí tương
đương trên các trục cực (r, θ) trong đó r là khoảng cách bán kính và θ là góc quay ở bán
kính tương ứng. Độ phân giải xuyên tâm mô tả số lượng đường xuyên tâm được tạo ra xung
quanh vùng mống mắt trong khi độ phân giải góc là số điểm dữ liệu theo hướng xuyên tâm: ( ) ( ) ( )
Vùng mống mắt được chuyển đổi thành một mảng hai chiều. Kích thước ngang biểu thị độ
phân giải góc và kích thước dọc biểu thị độ phân giải xuyên tâm, trong đó ( ) tương ứng
với vùng mống mắt, (x, y) và ( ) tương ứng là tọa độ cực Descartes và chuẩn hóa. Phạm vi
của từ 0 đến và r từ đến ( ) ( ) được định nghĩa là tổ hợp tuyến
tính của các điểm biên đồng tử.
3.4 Thut toán s dng 1
The mean of each vector is given in the equation: (4) ∑ 2
The mean is subtracted from all of the vectors to produce a set of zero
mean vectors is given in the equation: (5)
where is the zero mean vectors, is each element of the column
vector, is the mean of each column vector 3
The Covariance matrix is computed using the equation: (6) 4
The Eigenvectors and Eigenvalues are computed using the equation: (7)
where γ’s are the Eigenvalue and e’s are the Eigenvectors. 5
Each of an Eigenvectors is multiplied with zero mean vectors to form
the feature vector. The feature vector is given by the equation: (8) 38
3.5 Kết qu nhn din khuôn mt
Đối với Kết quả Thử nghiệm của tác giả, chúng tôi đã sử dụng CPU intel core i5 và hệ
điều hành Windows 10. chúng tôi đã sử dụng 12 MP của Web Camera cho hình ảnh. mắt và
khuôn mặt tự động được phát hiện tự động trong hình ảnh thời gian thực.
Bước 1: Chy file getData (Điền các thông tin cn thiết)
Hình 3. 1 Giao din chạy chương trình getData 39
Bước 2: Chy file TrainData ( cho máy hc nhn dng)
Chuyển từ file ảnh sang file số
Toàn b file ảnh đã chuyển sang file s 40
Hình 3. 2 Các giao din chuyn t file nh sang file s
Bước 3: Chạy file RecognitionData (Cho máy nhận diện ở các góc nghiêng) 41
Hình 3. 3 Các góc nghiêng nhn dng 42
Góc nghiêng không nhận được hình ảnh 43
Hình 3. 4 Các góc nghiêng không nhn dng Khi đeo khẩu trang 44
Hình 3. 5 Các hình nh nhn dng khuôn mt bng mng mt 45
3.6 Biểu đồ đánh giá độ an toàn và hiệu suất
Hình 3. 6 Hiu suất đối sánh gia nhn dng mng mt và nhn dng khuôn mt ORB
Hình 3. 7 Biểu đồ đối sánh nhiu t file nh sang file s 46
KẾT LUẬN VÀ KIẾN NGHỊ 1. Kết luận
Trong quá trình nghiên cứu và thực hiện đề tài, tác giả đã bám sát mục tiêu đề ra của đề
tài, tiếp cận được với các luồng thông tin mới về lĩnh vực mà tác giả đang nghiên cứu thông
qua các tài liệu tham khảo mới và có giá trị đã được công bố gần đây.
Sự phát triển vượt bậc của công nghệ thông tin và truyền thông đã đem lại rất nhiều ứng
dụng trong thực tế và thu được những kết quả hết sức to lớn thúc đẩy xã hội phát triển không
ngừng. Để đáp ứng được các nhu nhận dạng trong thời kỳ mới, thời kỳ Covid-19 đã và đang
thay đổi cuộc sống và học tập. Việc áp dụng các kỹ thuật nhận dạng, các nhà khoa học đã nỗ
lực nghiên cứu, đề xuất, cải tiến các thuật toán nhận dạng để phù hợp với tình hình mới và
giải quyết được những bài toán mới phát sinh trong thực tiễn.
• Kết quả đạt đƣợc của đề tài
Quá trình nghiên cứu và thực hiện cài đặt chương trình theo sự khảo sát và yêu cầu
của người dùng đã hoàn thành và đạt một số kết quả sau:
Tìm hiểu các phương pháp nhận diện khuôn mặt cơ bản
Tìm hiểu được thư viện ảnh số OpenCV
Nhận diện được hình ảnh khá tốt qua nhận diện khuôn mặt.
Hỗ trợ 01 sinh viên làm khóa luận tốt nghiệp Đại học (Nguyễn Quang Thành-ĐH7C1 Hạn chế
Việc nhận diện các khuôn mặt còn hạn chế một số góc nhìn .
Thuật toán sử dụng chưa được tối ưu.
Hƣớng giải quyết
Cải thiện thuật toán để việc nhận diện được nhanh hơn
Cải thiện góc nhìn để camera bắt được đầy đủ góc khía cạnh khuôn mặt
2. Kiến nghị về định hƣớng nghiên cứu tiếp theo
Kiến nghị với nhà trường: Về việc sử dụng và áp dụng kết quả nghiên cứu của đề tài áp
dụng ngay vào thực tiễn; tác giả sẽ tiếp tục hoàn thiện trên cơ sở hình thành dự án thử nghiệm
và tiến hành những nghiên cứu tiếp theo cho phù hợp với thực tế..; Từ đó tìm ra những điểm
chưa phù hợp để cải thiện ứng dụng trong việc điểm danh sinh viên chống việc đi học hộ. 47
Kiến nghị chuyển giao các kết quả của dự án vào các cơ quan, doanh nghiêp:
+) Đối với các ngành bán lẻ, dịch vụ: góp phần kiểm soát được: Nhận diện khách hàng
thân thiết, khách VIP và đối tượng xấu...
+) Đối với doanh nghiệp, công sở: Phát hiện hành vi (Cầm dao, đeo mặt nạ, đeo khẩu
trang, đeo kính đen, đọc biển số xe...)
+) Đối với các UBND: Các giải pháp OCR giấy tờ tùy thân,...
+) Đối với các trường học: Điểm danh khuôn mặt, đăng ký, kiểm soát an ninh các khu
vực cần theo dõi, kiểm soát ra vào trường học,...
Hướng nghiên cứu tiếp theo
+) Tiếp tục nghiên cứu ứng dụng lập trình bằng Golang và hoạt động với cả Raspbian
và Ubuntu dưới dạng một ứng dụng local console. Khi ứng dụng được khởi chạy lần đầu tiên,
yêu cầu được cấu hình bằng tệp cấu hình JSON với Local Camera ID và Camera Reader type.
+) Tiếp tục nghiên cứu giải pháp kết hợp sử dụng thị giác máy tính (computer vision) và
mạng thần kinh sâu (deep neural network) để tìm ra một khuôn mặt tiềm năng trong luồng hình ảnh.
+) Tiếp tục nghiên cứu sâu hơn về cách áp dụng các kỹ thuật machine learning vào các
giải pháp bảo mật sinh trắc học (biometric security) là một trong những xu hướng AI hiện
nay. Có thể dùng TensorFlow object detection model và dùng Caffe face tracking hoặc kết
hợp cả 2 phương pháp trên ./. 48
DANH MỤC CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ CỦA TÁC GIẢ
LIÊN QUAN ĐẾN ĐỀ TÀI
[CT1] Nguyễn Thị Trang, Vũ Văn Hiệu, Nguyễn Đức Toàn, (2020), “Cải tiến lược đồ
Camshift trong Open CV” Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công
nghệ Thông tin (REV-ECIT2020), tr 313 - 315, ISSN 978-604-80-5076-4, H-index: 11, IF: 0.641.
[CT2] Vu Ngoc Phan, Nguyen Duc Toan, (2021),“ A techniques for recognition of a human
faces on eye with python
”, International Journal of Advanced Research in Computer and
Communication Engineering, India, Vol. 10, Issue 8, August 2021, ISSN 2278-1021, H- index: 41, IF: 7.078
(Tra cứu tại: https://ijarcce.com/wp-content/uploads/2021/09/IJARCCE.2021.10822.pdf) 49
TÀI LIỆU THAM KHẢO Tiếng Việt
[1] Bùi Thị Thùy, Nguyễn Đức Toàn, (2020), “Xây dng một phương pháp giấu tin
trong nh LSB”, Hội thảo Quốc gia Ứng dụng Công nghệ cao vào thực tiễn - 60 năm phát
triển Viện KH - CN quân sự" Hà Nội, tháng 10 năm 2020.
[2] Phạm Thế Bảo, Nguyễn Thành Nhựt, Cao Minh Thịnh, Trần Anh Tuấn, Phan Phúc
Doãn, (2007), “Tổng quan các phương pháp xác định khuôn mặt người”, Tạp chí Công nghệ
thông tin & Truyền thông, 2007.
[3] Bùi Thị Thùy, Lê Phú Hưng, Nguyễn Đức Toàn, (2020), “Đề xut s dụng phương
pháp tiếp cận Pareto để la chọn các điểm ảnh”, Hội thảo quốc gia REV-ECIT 2020.
[4] Nguyễn Văn Hách, Nguyễn Đức Toàn, (2020), “ Cải tiến công ngh SVM và đề
xut ng dng trong thc tiễn”, Hội thảo Quốc gia Ứng dụng Công nghệ cao vào thực tiễn
- 60 năm phát triển Viện KH - CN quân sự" Hà Nội, tháng 10 năm 2020.
[5] Dương Thăng Long, Bùi Thế Hùng, (2019), “ Một phương pháp nhận dng khuôn
mt da trên mạng nơron tích chập”, Tạp chí khoa học, Viện Đại học Mở Hà Nội, số 58. Tiếng Anh
[6]. https://en.wikipedia.org/wiki/Facial_recognition_system. (references).
[7].Jain, Anil, Lin Hong, and Sharath Pankanti. "Biometric identification."
Communications of the ACM 43.2 (2000): 90-98.
[8].“Technology features of Amazon Rekognition”, Amazo officialwebsite,
https://aws.amazon.com/ru/rekognition
[9].“Facebook Accessibility. Face Recognition Features”, Facebook official website,
Web:https://www.facebook.com/accessibility/videos/new-face-face-recognition features/1628143837229335/. [10]. “Apple FaceID technology”, Appleofficial website,
Web:https://support.apple.com/ru ru/HT208108.
[11].“Supermarkets trial facial recognition at checkouts”, China Plus,
Web:http://chinaplus.cri.cn/news/business/12/20180502/125397. html. 50
[12]. “JD.com overtook Amazon to introduce automated shopping”, NewRetail.com,
Web:https://new-retail.ru/novosti/retail/jd_com_obognala_amazon_po_Vnedreniyu_
avtomatizirovannykh_ma gazinov_5726/.
[13].“JD.com is Testing Facial Recognition for Pigs”, RadiiChina.com,
Web:https://radiichina.com/jd-com-is-testing-facialrecognition-for-pigs/
[14]. https://beetinnovators.com/product/biface/.
[15]. Official web site of Macroscope company,Web: https://macroscop.com/.
[16].V. I. Voronov, K. V. Genchel, M. D. Artemov and D. N. Bezumnov,
““Surdotelephone” project with convolutional neural network”, 2018 Systems of Signals
Generating and Processing in the Field of on Board Communications, Moscow, 2018.
[17]. A. Goncharenko, L. I. Voronova, V. I. Voronov, A. A. Ezhov and D. V. Goryachev,
“Automated support system designing for people with limited communication”, 2018
Systems of Signals Generating and Processing in the Field of on Board Communications, Moscow, 2018, pp. 1-7.
[18]. Voronov Vyacheslav I., GenchelKsenia V., Voronova Lilia I., Travina Maria D.
“Development of a Software Package Designed to Support Distance Education for
Disabled People”, IEEE-International Conference "2018 Quality Management, Transport
and Information Security, Information Technologies" (IT&QM&IS-2018), St.Petersburg, pp.746-751 (in press)
[19] N. Dalal and B. Triggs, “Histograms of oriented gradients for human detection,” in
IEEE Conference on Computer Vision and Pattern Recognition (CVPR), vol. II, June 2005, pp. 886–893.
[20].O'Shea, Keiron, and Ryan Nash. "An introduction to convolutional neural
networks." arXiv preprint arXiv:1511.08458 (2015).