BÁO CÁO TỔNG KẾTĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP TRƯỜNG NGHIÊN CỨU VÀ ỨNG DỤNG THUẬT TOÁN NHẬN DẠNG KHUÔN MẶT ĐỂ XÂY DỰNG CHƯƠNG TRÌNH PHÁT HIỆN SINH VIÊN THI HỘ Mã số: T2017-06-68 CHỦ N
Trang 1BÁO CÁO TỔNG KẾT
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP TRƯỜNG
NGHIÊN CỨU VÀ ỨNG DỤNG THUẬT TOÁN NHẬN DẠNG KHUÔN MẶT ĐỂ XÂY DỰNG CHƯƠNG TRÌNH PHÁT HIỆN SINH VIÊN THI HỘ
Mã số: T2017-06-68
CHỦ NHIỆM ĐỀ TÀI : TH.S NGUYỄN THỊ THÚY HOÀI
THS PHẠM THỊ TRÀ MY THS NGUYỄN THỊ THÙY TRANG
Trang 2BÁO CÁO TỔNG KẾT
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP TRƯỜNG 2017
NGHIÊN CỨU VÀ ỨNG DỤNG THUẬT TOÁN NHẬN DẠNG KHUÔN MẶT ĐỂ XÂY DỰNG CHƯƠNG TRÌNH PHÁT HIỆN SINH VIÊN THI HỘ
Mã số: T2017-06-68
Xác nhận của cơ quan chủ trì đề tài Chủ nhiệm đề tài
Trang 3ĐƠN VỊ CHỦ TRÌ
DANH SÁCH THÀNH VIÊN:
- ThS Lê Thiện Nhật Quang Khoa Điện – ĐH Sư Phạm Kỹ thuật
- ThS Phạm Thị Trà My Khoa Điện – ĐH Sư Phạm Kỹ thuật
- ThS Nguyễn Thị Thùy Trang Khoa Điện – ĐH Sư Phạm Kỹ thuậtĐƠN VỊ CHỦ TRÌ: trường Đại học Sư phạm Kỹ thuật - ĐHĐN
Trang 4MỞ ĐẦU 1
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 3
1.1 Giới thiệu về ngôn ngữ Python 3
1.2 Framwork Django 5
1.3 Thuật toán nhận diện khuôn mặt 6
1.3.1 Nhận diện khuôn mặt với thuật toán PCA 6
1.3.2 Deep learning 17
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 22
2.1 Phân tích hiện trạng 22
2.2 Phân tích bài toán 22
2.3 Các bước thực hiện thuật toán Deep learning để nhận diện ảnh 24
CHƯƠNG 3 TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ 26
3.1 Kết quả thực hiện 26
3.2 Đánh giá kết quả 32
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 33
TÀI LIỆU THAM KHẢO 34
PHỤ LỤC 35
Trang 5Hình 1-1: Hình ảnh logo của ngôn ngữ Python 3
Hình 1-2: Công cụ soạn thảo ngôn ngữ Python 5
Hình 1-3: Cấu trúc dự án web với Django 6
Hình 1-4: Mô tả ánh xạ tuyến tính T 7
Hình 1-5: Tập các khuôn mặt huấn luyện 8
Hình 1-6: Mô tả vector cơ sở ui của không gian khuôn mặt 13
Hình 1-7: Mô tả các tổ chức dữ liệu 14
Hình 1-8: Mô tả hướng biến thiên quan trọng nhất của dữ liệu 15
Hình 1-9: Ví dụ việc giảm được chiều dữ liệu 15
Hình 1-10: Hình ảnh khác nhau về điều kiện ánh sáng 17
Hình 2-1: Sơ đồ Usecase của hệ thống 23
Hình 2-2: Các ảnh trong thư mục Train 24
Hình 2-3: Các ảnh trong thư mục Test 25
Hình 3-1: Ảnh thẻ trong thư mục Train được lưu tên doan-van-dong.jpg 26
Hình 3-2: Ảnh thẻ trong thư mục Train được lưu tên le-thien-nhat-quang.jpg 26
Hình 3-3: Ảnh thẻ trong thư mục Train được lưu tên nguyen_van_phat.jpg .26 Hình 3-4: Ảnh thẻ trong thư mục Train được lưu tên Nguyen-Thi-Thuy-Hoai.jpg 26
Hình 3-5: Các ảnh được chụp và lưu thư mục Test có phần mở rộng jpg 28
Hình 3-6: Lệnh để chạy ứng dụng web với Django 29
Hình 3-7: Kết quả sau khi thực hiện lệnh để chạy ứng dụng web với Django 29
Hình 3-8: Kết quả chụp ảnh từ camera 30
Hình 3-9: Kết quả sau khi nhận diện các ảnh trong thư mục Test 32
Trang 6PCA Principal Components Analysis
DSF Django Software Foundation
Trang 7TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT Độc lập - Tự do - Hạnh phúc
THÔNG TIN KẾT QUẢ NGHIÊN CỨU
1 Thông tin chung:
- Tên đề tài: Nghiên cứu và ứng dụng thuật toán nhận dạng khuôn mặt để xây
dựng chương trình phát hiện sinh viên thi hộ
- Mã số: T2017-06-68
- Chủ nhiệm: Nguyễn Thị Thúy Hoài
- Thành viên tham gia:
ThS Lê Thiện Nhật QuangThS Phạm Thị Trà MyThS Nguyễn Thị Thùy Trang
- Cơ quan chủ trì: ĐH Sư Phạm Kỹ Thuật
- Thời gian thực hiện: 12 tháng
2 Mục tiêu: xây dựng ứng dụng nhận dạng khuôn mặt dựa trên ảnh thẻ có sẵn để
phát hiện sinh viên thi hộ
3 Tính mới và sáng tạo: áp dụng thuật toán mới Deep learning với tỷ lệ kết quả
chính xác trên 90% mà không cần nhiều ảnh để training
4 Tóm tắt kết quả nghiên cứu: Dựa trên các thuật toán nhận diện đã có, tác giả
chọn thuật toán có kết quả chính xác cao là Deep learning để áp dụng và xây dựng ứng dụng nhận diện khuôn mặt Ứng dụng được triển khai trên web Django viết bằng ngôn ngữ Python
Trang 87 Hình ảnh, sơ đồ minh họa chính
- Lưu ảnh thẻ trong thư mục Train
- Chụp hình đối tượng cần nhận diện, sau đó lưu hình ảnh đó vào thư mục
Test
Kết quả chụp ảnh từ camera
- Sử dụng thuật toán Deep learning để phát hiện ảnh từ thư mục Test trùng
với ảnh nào trong thư mục Train
Trang 9Hội đồng KH&ĐT đơn vị
Trang 102 Objective(s): face recognition algorithms, Python, Django
3 Creativeness and innovativeness: this software can help teachers checking
examiners easily and detecting fraudulent students
4 Research results: applying Deep learning method to recognite face from image
in order to detect fraudulent students
5 Products: software
6 Effects, transfer alternatives of reserach results and applicability: this
software can deploy in exams at labs
Trang 11MỞ ĐẦU
1 Tổng quan tình hình nghiên cứu thuộc lĩnh vực đề tài
Công nghệ thông tin ngày càng phát triển, tăng cơ hội thúc đẩy nhiều thayđổi trong tin học hóa nghiệp vụ quản lý, giúp con người giải quyết được rất nhiềubài toán khó, giảm thiểu việc lãng phí thời gian và việc tiêu hao nguồn lực conngười
Nhận dạng khuôn mặt (Face recognition _ FC) là một lĩnh vực nghiên cứucủa ngành Computer Vision, ứng dụng máy tính tự động xác định hoặc nhận dạngmộ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ặtchọn trước từ hình ảnh và một cơ sở dữ liệu về khuôn mặt Cáckhuôn mặt trong mỗi ảnh sẽ lần lượt được so sánh với các khuôn mặt đã có trong cơ
sở dữ liệu để tìm khuôn mặt giống nhất Hiện nay, các nhà khoa học máy tính đãcông bố rất nhiều thuật toán nhận diện khuôn mặt, chúng được phát triển dựa trêncác thuật toán cơ sở như: PDA, Kernel Method… Gần đây nhất Facebook vàIphoneX của Apple vừa giới thiệu các ứng dụng nhận diện khuôn mặt với độ chínhxác khá cao, vượt trội hơn hẳn Ở trong nước, hầu hết các ứng dụng nhận diệnkhuôn mặt chủ yếu thực hiện thuật toán PCA Chính vì vậy, việc áp dụng các thuậttoán mới để cải thiện các ứng dụng nhận diện khuôn mặt rất cần thiết
2 Tính cấp thiết khi chọn đề tài
Hiện nay, tình hình làm giả giấy tờ tùy thân để nhờ người thi hộ đang rất phổbiến tại các kỳ thi ở nhiều trường Đại học và Cao đẳng Trong mỗi kỳ thi, giáo viênmất nhiều thời gian và rất khó khăn trong việc kiểm tra các giấy tờ trước khi chosinh viên vào phòng thi Tình trạng này gây ra việc mất công bằng trong kết quả thi
Vì vậy, việc xây dựng chương trình giúp giáo viên phát hiện sinh viên thi hộ có thểtiết kiệm thời gian và tăng tính công bằng cho kỳ thi là rất cần thiết
Xuất phát từ thực tế trên, đề tài “Nghiên cứu và ứng dụng thuật toán nhận
diện khuôn mặt để phát hiện sinh viên thi hộ” sẽ phần nào giải quyết được những
Trang 12vấn đề đã và đang được đặt ra và là một trong những đề tài mang tính cấp thiết đốivới quản lý tình trạng trang thiết bị phòng máy tính hiện nay.
3 Mục tiêu đề tài
- Nghiên cứu thuật toán nhận diện ảnh
- Xây dựng kho dữ liệu ảnh
- Ứng dụng thuật toán nhận diện ảnh cho ứng dụng phát hiện sinh viên thi hộ
- Triển khai ứng dụng web Django bằng ngôn ngữ Python
4 Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu là giáo viên coi thi và sinh viên dự thi
- Phạm vi nghiên cứu là kỳ thi chuẩn đầu ra Tin Học tại phòng thực hành máytính
5 Đặc tả phần mềm
- Tất cả các chức năng của hệ thống đòi hỏi phải được ủy quyền
- Ứng dụng cho phép người dùng sử dụng ở bất kì vị trí nào, miễn là có kết nốiinternet
- Ứng dụng xây dựng với ngôn ngữ Python, công nghệ chính là Django,HTML5, CSS3
6 Nội dung và kết cấu báo cáo
Báo cáo gồm 3 phần: Mở đầu, nội dung, kết luận Phần nội dung gồm 3chương:
- CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
- CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
- CHƯƠNG 3: TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ
Trang 13CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
1 Giới thiệu về ngôn ngữ Python
Python là ngôn ngữ được hình thành vào cuối những năm 1980 và đến tháng
12 năm 1989 nó được phát triển mạnh mẽ bởi Guido van Rossum tại CentrumWiskunde & Informatica (CWI) ở Hà Lan Ngôn ngữ Python có khả năng xử lýngoại lệ và giao tiếp với Hệ điều hành Amoeba
Hình 1-1: Hình ảnh logo của ngôn ngữ Python
Python 2.0 đã được phát hành vào ngày 16 tháng 10 năm 2000 với nhiều tínhnăng mới, bao gồm bộ thu gom rác theo chu kỳ (cycle-detecting garbage) và hỗ trợUnicode Python 3.0 được phát hành năm 2008 sau một thời gian dài thử nghiệm vànăm 2017, Python đang có phiên bản 3.7
Python là một ngôn ngữ lập trình thông dịch (interpreted), hướng đối tượng(object-oriented), và là một ngôn ngữ bậc cao (high-level), ngữ nghĩa động(dynamic semantics) Python hỗ trợ các module và gói (packages), khuyến khíchchương trình module hóa và tái sử dụng mã Trình thông dịch Python và thư việnchuẩn mở rộng có sẵn dưới dạng mã nguồn hoặc dạng nhị phân miễn phí cho tất cảcác nền tảng chính và có thể được phân phối tự do Ngôn ngữ Python có rất nhiềuđặc điểm nổi bật:
- Ngữ pháp đơn giản, dễ đọc
Trang 14- Vừa hướng thủ tục (procedural-oriented), vừa hướng đối tượng oriented)
(object Hỗ trợ module và hỗ trợ gói (package)
- Xử lý lỗi bằng ngoại lệ (Exception)
- Kiểu dữ liệu động ở mức cao
- Có các bộ thư viện chuẩn và các module ngoài, đáp ứng tất cả các nhucầu lập trình
- Có khả năng tương tác với các module khác viết trên C/C++ (Hoặc Javacho Jython, hoặc Net cho IronPython)
- Có thể nhúng vào ứng dụng như một giao tiếp kịch bản (scriptinginterface)
Python dễ dàng kết nối với các thành phần khác: Python có thể kết nối vớicác đối tượng COM, NET (Ironpython, Python for .net), và CORBA, Java…Python cũng được hỗ trợ bởi Internet Communications Engine (ICE) và nhiều côngnghệ kết nối khác Ngoài ra, lập trình viên có thể viết các thư viện trên C/C++ đểnhúng vào Python và ngược lại
Python là ngôn ngữ có khả năng chạy trên nhiều nền tảng: Python hỗ trợ chomọi hệ điều hành: Windows, Linux/Unix, OS/2, Mac, Amiga, và những hệ điềuhành khác Thậm chí có cả những phiên bản chạy trên NET, máy ảo Java, và điệnthoại di động (Nokia Series 60) Hơn nữa, với cùng một mã nguồn viết bằng ngônngữ Python sẽ chạy giống nhau trên mọi nền tảng
Python rất đơn giản và dễ học: Python có cộng đồng lập trình rất lớn, hệthống thư viện chuẩn, và cả các thư viện mã nguồn mở được chia sẻ trên mạng
Python là ngôn ngữ mã nguồn mở: Cài đặt Python dùng giấy phép nguồn mởnên được sử dụng tự do, ngay cả trong việc thương mại Giấy phép Python đượcquản lý bởi Python Software Foundation
Trang 15Hình 1-2: Công cụ soạn thảo ngôn ngữ Python
Để cài đặt và sử dụng Python đơn giản nhất, lập trình viên có thể downloadchương trình Anaconda 2 nếu sử dụng Python 2.7 và Anaconda 3 nếu sử dụngPython 3 trở lên
2 Framwork Django
Django là một web framework miễn phí mã nguồn mở được viết bằngPython Django sử dụng mô hình Model-View-Control (MVC) và được phát triểnbởi Django Software Foundation(DSF) – một tổ chức phi lợi nhuận độc lập
Mục tiêu chính của Django là đơn giản hóa việc tạo các website phức tạp có
sử dụng cơ sở dữ liệu Django tập trung vào tính năng “có thể tái sử dụng” và “cóthể tự chạy” của các component, tính năng phát triển nhanh, không làm lại những gì
đã làm Một số website phổ biến được xây dựng từ Django là Pinterest, Instagram,Mozilla, và Bitbucket Các đặc điểm của Django:
- Nhanh: Django được thiết kế với triết lý làm sao để các lập trình viên đưacác ý tưởng trở thành một sản phẩm nhanh nhất có thể (trong một vài giờđồng hồ chẳng hạn)
- Có đầy đủ các thư viện/module cần thiết: Django có sẵn các thư viện vềuser authentication, content admin, site maps, RSS feed v.v…
- Đảm bảo về tính bảo mật: Không còn các nỗi lo về các lỗi bảo mật thôngthường như SQL Injection, cross-site scripting, cross-site request forgeryhay clickjacking nữa Django cũng cung cấp cả phương pháp để lưu mậtkhẩu an toàn nữa!
Trang 16- Khả năng mở rộng tốt: Django có thể đáp ứng lượng lớn, nghĩa là bạnkhông cần phải lo lắng về khả năng mở rộng sản phẩm của mình nữa.
- Tính linh hoạt: Xây dựng CMS, hoặc Ecommerce Website, hay kể cảSocial Network, Scientific Computing Platforms, tất cả đều có thể vớiDjango
Django được cài đặt bằng cách sau:
- pip install Django : cài đặt Django
- $ python -m django –version : kiểm tra phiên bản django hiện có
- $ django-admin startproject mysite : Tạo một dự án mới với Django
mysite /
manage py mysite /
init py settings py urls py wsgi py
Hình 1-3: Cấu trúc dự án web với Django
- $ python manage.py runserver : Triển khai chạy web Django
- $ python manage.py runserver 0:8000: đổi cổng server
- $ python manage.py startapp polls: Tạo các ứng dụng nhỏ trong dự án
3.Thuật toán nhận diện khuôn mặt
3.1 Nhận diện khuôn mặt với thuật toán PCA
Mục tiêu của phương pháp PCA là “giảm số chiều” của 1 tập vector sao chovẫn đảm bảo được “tối đa thông tin quan trọng nhất” Tức Feature extraction (giữ kthuộc tính “mới”) chứ không phải Feature selection (giữ lại k thuộc tính nguyên gốcban đầu)
Trang 17Hình 1-4: Mô tả ánh xạ tuyến tính T
Phương pháp PCA sẽ cố gắng tìm phép biến đổi tuyến tính T thỏa: y = T.xsao cho trung bình bình phương lỗi (MSE) là bé nhất
Cách để tìm được T
Gọi M là vector trung bình của tất cả các vector x trong tập mẫu
Gọi ma trận hiệp phương sai của các phần tử x trong tập mẫu là C C đượctính theo công thức sau:
Người ta chứng minh được rằng:
“Nếu T là ma trận m hàng, mỗi hàng là 1 vector riêng của C, đồng thời mvector riêng này phải ứng với m trị riêng lớn nhất Khi đó T chính là phép biến đổithỏa MSE nhỏ nhất”
Nói tóm lại, phương pháp PCA quy về việc đi tìm trị riêng (eigenvalues) vàvector riêng (eigenvectors) của ma trận hiệp phương sai C của tập mẫu X Sau đó, ta
Vector x ban đầu có N
chiều
Vector y chỉ còn K
Trang 18chỉ giữ lại K vector riêng ứng với K trị riêng lớn nhất để làm cơ sở cho không gianmới này.
Biểu diễn mọi ảnh Ii thành vector i
Ví dụ: Để đơn giản ta giả sử chỉ có 4 ảnh trong tập huấn luyện (kích thước3x3) Ta tính toán được:
Trang 19Tính vector khuôn mặt trung bình theo công thức:
Trang 21Cụ thể ta có:
Bước 6.2:
Tính các vector riêng vi (eigenvectors) của ma trận vuông AT.A này
Về cách tìm trị riêng (eigenvalues) & vector riêng (eigenvectors) có thể xem lại “Toán cao cấp – Tập 1 – Đại số và Hình học Giải tích” Tuy nhiên, cách này không khả thi khi lập trình !! Phải dùng “Phương pháp lặp” (thuật toán QR) để tìm
Ở đây ta sẽ tìm được 4 trị riêng của ma trận AT.A, tuy nhiên ta sẽ sắp xếp lạitheo thứ tự giảm dần, và chỉ lấy các trị riêng “non-zero” Kết quả ta được 3 trị riêng (từ đó tính ra 3 vector riêng tương ứng):
Sau khi đã tính được các vector vi (có kích thước là Mx1), ta sẽ dễ dàng suy
ra được các vector riêng ui (kích thước N2x1) mong muốn cần tìm, theo công thức: (*)
Kích thước M x 1
Các eigenvalues của A T A.
Trang 22Chú ý nên chuẩn hóa các vector ui ( u i 1), nghĩa là:
i
i i
u
u
u
Sau khi chuẩn hóa ta thu được các vector ui cuối cùng như sau:
Ta rút ra được các chú ý sau (theo TOÁN HỌC):
- Ma trận A.AT có thể có đến N2 trị riêng (mỗi trị riêng sẽ ứng với vô
số vector riêng – nó được gọi là “không gian riêng ứng với trị riêng nào đó”)
- Ma trận AT.A có thể có đến M trị riêng
- M trị riêng của ma trận AT.A (kèm với các vector riêng tương ứng),
sẽ ứng với M trị riêng lớn nhất của A.AT (cái này quan trọng bởi ta đang đi tìm các hướng biến thiên quan trọng nhất)
- Sắp xếp theo thứ tự dãy giảm dần các eigenvalues tìm được
- Theo dõi sự biến thiên của dãy trên, khi không còn biến thiên (hoặc xấp xỉbằng không) thì lúc đó ta đã chọn đủ K
N(Alpaydin)
Trang 23Ta thống nhất gọi các “vector riêng ui” là các “EIGENFACES” (khuôn mặt riêng) Như vậy, bây giờ, mỗi khuôn mặt huấn luyệnisẽ được biểu diễn trong không gian mới là 1 vector như sau:
Cụ thể ta có:
Xem hình sau để hiểu rõ hơn:
Hình 1-6: Mô tả vector cơ sở ui của không gian khuôn mặt
i T i T i T
i
u
u u u
.
.
3 2 1
Thật ra, đây chính là TỌA
ĐỘ của vector
Đây là các vector (ảnh khuôn mặt “gốc” ban
đầu)
Chiếu cácvào trong “không gian khuôn mặt” ta được các vector Tọa
độ của trong không gian này là vector
Đây là các vector cơ sở của không gian khuôn mặt (được gọi là
“EIGENFACE”)
Trang 24Hình này “tả thực” hơn Thật ra nó không thật SÁT với tổ chức dữ liệu, chỉ là
mô tả cho DỄ HÌNH DUNG Ví dụ: Eigenface có kthước N2x1, hình của ˆ , hình eigenfaces…
Hình 1-7: Mô tả các tổ chức dữ liệu
Diễn giải hình học của phương pháp PCA (tìm các eigenvalue/vectors):
- PCA chiếu dữ liệu theo hướng mà ở đó dữ liệu khác nhau nhiều nhất
- Các hướng này được xác định bằng các eigenvectors của ma trận hiệp phương sai (covariance matrix)
Trang 25Mặt Ellipsoid định nghĩa bởi covariance matrix (các sample vector tập trung chủ yếu ở trong này)
Trục dài nhất ám chỉ hướng biến thiên quan trọng nhất của dữ liệu
(có variance – “phương sai”-cao nhất) Đây chính là hướng của Eigenvector ứng với eigenvalues lớn nhất.
Gốc tọa độ chính là
Hình 1-8: Mô tả hướng biến thiên quan trọng nhất của dữ liệu
Ví dụ dễ hiểu về khả năng tại sao PCA lại có thể “giảm được chiều dữ liệu”:
Hình 1-9: Ví dụ việc giảm được chiều dữ liệu
Nhận dạng khuôn mặt bằng các EIGENFACES
Cho 1 ảnh khuôn mặt chưa biết là ai (tất nhiên cũng phải giống tập mẫu – chính diện & cùng kích thước) Chú ý, giai đoạn nhận dạng này giống hệt giai đoạn biểu diễn ảnh khuôn mặt trong tập mẫu Ta thực hiện lần lượt các bước sau:
Biến đổi (chiếu)
Vector 2 chiều, trong
không gian với các cơ
sở là x1, x2
Vector chỉ còn 1 chiều,
trong không gian với cơ sở
là y1
Trang 26Nếu er < Tr (Tr là 1 ngưỡng chấp nhận được nào đó):
Tức ảnh khuôn mặt cần xác định “đủ gần” với ảnh của người thứ l trong tập mẫu Khi đó, ta kết luận đó chính là khuôn mặt của người thứ l
Chú ý:
Ta có thể sử dụng khoảng cách Euclid để tính er Tuy nhiên, người ta chứng mình được rằng, kết quả sẽ tốt hơn nếu dùng khoảng cách “Mahalanobis”:
Phương pháp dò tìm - Detection
Thật ra, đây không đúng nghĩa là “detection”, mà chỉ là xác định xem có phải
là ảnh mặt người (hay chỉ là ảnh phong cảnh) hay không mà thôi
3 1
T K T T
u u u
Trang 27Tính
Bước 4:
Nếu ed < Td (1 ngưỡng nào đó chấp nhận được):
Tức ảnh cần xác định có khoảng cách “đủ gần” với không gian khuôn mặt Khi đó, ta kết luận đó chính là ảnh khuôn mặt người (chứ không phải ảnh cảnh vật)
Nhược điểm của Eigenfaces: PCA Eigenfaces sẽ nhận dạng sai trong những
trường hợp sau:
- Khác nhau về điều kiện ánh sáng
Hình 1-10: Hình ảnh khác nhau về điều kiện ánh sáng
- Khác nhau về điệu bộ (nghiêng đầu chẳng hạn…)
- Cảm xúc (cười to, há miệng…)
3.2 Deep learning
Ngày nay, trí tuệ nhân tạo (AI) đã và đang là một lĩnh vực rất hấp dẫn với rấtnhiều ứng dụng thực tiễn và chủ đề nghiên cứu tích thú vị Các phần mềm thôngminh có thể tự động hóa lao động thường lệ, hiểu được ngôn ngữ hoặc hình ảnh, cóthể đưa ra những chẩn đoán trong y học và hỗ trợ nghiên cứu khoa học cơ bản Thửthách thực sự đối với trí tuệ nhân tạo đã chứng minh được việc AI đã giải quyết cácnhiệm vụ như một cách trực quan, cảm thấy tự động, như nhận dạng từ hoặc khuônmặt trong hình ảnh một cách dễ dàng trong khi đây là những vấn đề gây khó khăncho con người