1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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ộ

54 5 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề 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ộ
Tác giả Th.S. Nguyễn Thị Thúy Hoài, ThS. Lê Thiện Nhật Quang, ThS. Phạm Thị Trà My, ThS. Nguyễn Thị Thùy Trang
Trường học Đại học Đà Nẵng
Chuyên ngành Khoa Điện
Thể loại Báo cáo tổng kết đề tài khoa học và công nghệ cấp trường
Năm xuất bản 2017
Thành phố Đà Nẵng
Định dạng
Số trang 54
Dung lượng 5,47 MB

Nội dung

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 1

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Ủ 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 2

BÁ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 4

MỞ ĐẦ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 5

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

PCA Principal Components Analysis

DSF Django Software Foundation

Trang 7

TRƯỜ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 8

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

Hội đồng KH&ĐT đơn vị

Trang 10

2 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 11

MỞ ĐẦ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 12

vấ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 13

CHƯƠ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 15

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

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

chỉ 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 19

Tính vector khuôn mặt trung bình  theo công thức:

Trang 21

Cụ 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 22

Chú ý 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 23

Ta 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ệnisẽ đượ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 24

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

Mặ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 26

Nế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 27

Tí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

Ngày đăng: 07/03/2024, 09:39

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

TÀI LIỆU LIÊN QUAN

w