Tải bản đầy đủ (.pdf) (65 trang)

Xây dựng hệ thống nhận dạng khuôn mặt và hỗ trợ phân tích thói quen khách hàng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (6.4 MB, 65 trang )

..

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA

TRƯƠNG QUỐC TUẤN

XÂY DỰNG HỆ THỐNG NHẬN DẠNG KHUÔN MẶT
& HỖ TRỢ PHÂN TÍCH THĨI QUEN KHÁCH HÀNG

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Đà Nẵng - Năm 2017


ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA

TRƯƠNG QUỐC TUẤN

XÂY DỰNG HỆ THỐNG NHẬN DẠNG KHUÔN MẶT
& HỖ TRỢ PHÂN TÍCH THĨI QUEN KHÁCH HÀNG

Chun ngành: Khoa học máy tính
Mã số: 60.48.01.01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Người hướng dẫn khoa học: TS. PHẠM MINH TUẤN

Đà Nẵng - Năm 2017




LỜI CAM ĐOAN

Tôi cam đoan đề tài “Xây dựng hệ thống nhận dạng khn mặt và hỗ trợ
phân tích thói quen khách hàng” là cơng trình nghiên cứu của riêng tôi thực hiện, các
số liệu, kết quả nêu trong luận văn là trung thực và chưa được công bố trong bất kỳ cơng
trình nghiên cứu nào khác, các mơ tả và một số thơng tin trích lọc từ một số nguồn tài
liệu đã ghi rõ trong phần tham khảo đề tài. Luận văn này được thực hiện trên cơ sở
nghiên cứu lý thuyết và dưới sự hướng dẫn khoa học của TS. Phạm Minh Tuấn.
Tác giả luận văn

Trương Quốc Tuấn


XÂY DỰNG HỆ THỐNG NHẬN DẠNG KHUÔN MẶT
& HỖ TRỢ PHÂN TÍCH THĨI QUEN KHÁCH HÀNG
Học viên: Trương Quốc Tuấn Chun ngành: Khoa học máy tính
Mã số:102150319. Khóa: K31. Trường Đại học Bách khoa – ĐHĐN
Tóm tắt – Việc nhận dạng khn mặt kết hợp với trí tuệ nhân tạo (học máy) để dự
đốn và hỗ trợ phân tích các thói quen của khách hàng là một trong những ứng dụng
thiết thực và được áp dụng rộng rãi dần trong tương lai. Nghiên cứu này nhằm áp dụng
cho khách sạn để thu thập dữ liệu của khách hàng khi vào, nhằm tăng cường bảo mật,
cảnh báo, dự báo cho khách sạn với khách hàng đó với tình trạng là bình thường hoặc
bất thường.
Từ việc áp dụng SDK Intel RealSense để nhận diện khn mặt, tác giả đã khái qt
mơ hình, kỹ thuật trong việc nhận diện khuôn mặt. Cùng với áp dụng mơ hình học máy
thơng qua phương pháp hồi quy tuyến tính để cho ra kết quả dự đốn. Trong đề tài
nghiên cứu này, tác giả đã tóm tắt các kết quả đã đạt được và đưa ra hướng phát triển
tiếp theo.

Từ khóa – nhận diện khn mặt; thói quen, hồi quy tuyến tính, SDK Intel
Realsense, học máy.
BUILDING THE FACE RECOFNITION
& SUPPORT THE ANALYSIS OF CUSTOMER HABITS
Abstract - Facial recognition combined with artificial intelligence (machine
learning) to predict and support the analysis of customer habits is one of the most
practical and widely adopted applications in the future. This research aims to apply to
the hotel to collect customer data on arrival, to enhance the hotel's security, warning,
and forecasting to customers with normal or abnormal conditions.
To adopting the Intel RealSense SDK for facial recognition, the author has outlined
the model and technology of face recognition. Along with applying machine learning
model through linear regression method to produce predictive results. In this research
topic, the achieved results are summarized and perspective of the work is provided by
author, and set out the direction of the next development.
Key words - Face recognition; Habits, Linear regression, Intel Realsense SDK,
Machine learning.


MỤC LỤC
MỞ ĐẦU ........................................................................................................................ 1
1. Tính cấp thiết của đề tài ..................................................................................... 1
2. Mục tiêu nghiên cứu .......................................................................................... 1
3. Nội dung nghiên cứu.......................................................................................... 1
4. Đối tượng và phạm vi nghiên cứu ..................................................................... 2
5. Phương pháp nghiên cứu ................................................................................... 2
6. Ý nghĩa khoa học và thực tiễn ........................................................................... 2
CHƯƠNG 1. TỔNG QUAN ........................................................................................ 5
1.1. GIỚI THIỆU, PHÂN LOẠI VỀ TRÍ TUỆ NHÂN TẠO ........................................ 5
1.2. CÁC VẤN ĐỀ VỀ NHẬN DẠNG KHN MẶT ................................................ 6
1.2.1. Tìm hiểu về việc nhận dạng khuôn mặt (Face recognition) ........................ 6

1.2.2. Cảm xúc của khuôn mặt ............................................................................ 19
1.3. CÁC TÁC ĐỘNG CỦA TRÍ TUỆ NHÂN TẠO VÀ ÁP DỤNG ĐIỂN HÌNH ... 19
1.3.1. Tác động .................................................................................................... 19
1.3.2. Các bài tốn điển hình áp dụng các phương pháp TTNT .......................... 20
1.3.3. Những trí tuệ nhân tạo mạnh nhất hiện nay ............................................... 20
1.4. KHÁI QUÁT SDK INTEL REALSENSE ............................................................ 23
CHƯƠNG 2. MƠ HÌNH NHẬN DẠNG KHN MẶT & HỖ TRỢ PHÂN
TÍCH THĨI QUEN KHÁCH HÀNG ....................................................................... 26
2.1. PHÂN TÍCH BÀI TỐN ...................................................................................... 26
2.2. MƠ HÌNH ĐỀ XUẤT ........................................................................................... 27
2.3. THIẾT KẾ ............................................................................................................. 33
2.4. THUẬT TỐN CHÍNH ........................................................................................ 35
CHƯƠNG 3. KẾT QUẢ VÀ THỰC NGHIỆM ....................................................... 37
3.1. MÔI TRƯỜNG PHÁT TRIỂN ............................................................................. 37
3.1.1. Chuẩn bị cho môi trường ........................................................................... 37
3.1.2. Setup phần SDK Intel Real Sense .............................................................. 37
3.1.3. Cài đặt SQL Server và Tạo Database ........................................................ 39
3.1.4. Setup chương trình ..................................................................................... 43
3.2. DỮ LIỆU ĐẦU VÀO ............................................................................................ 43
3.3. PHÂN TÍCH KẾT QUẢ ........................................................................................ 43
3.4. DEMO ỨNG DỤNG ............................................................................................. 49
3.4.1. Màn hình chính .......................................................................................... 49
3.4.2. Màn hình quản lý khách hàng/ đăng ký khuôn mặt ................................... 50


3.4.3. Màn hình xem danh sách khách đến .......................................................... 50
3.4.4. Màn hình để nhập dữ liệu train .................................................................. 51
3.4.5. Màn hình xem lại việc check-in và check out ........................................... 51
3.4.6. Màn hình tìm kiếm thơng tin theo ngày của khách hàng vào ra khách sạn ... 52
3.4.7. Màn hình cài đặt camera, cấu hình ............................................................ 52

KẾT LUẬN & KIẾN NGHỊ ...................................................................................... 53
TÀI LIỆU THAM KHẢO
QUYẾT ĐỊNH GIAO ĐỀ TÀI (Bản sao)


DANH MỤC CÁC KÝ HIỆU, TỪ VIẾT TẮT

CÁC KÝ HIỆU:
𝝀 : ký hiệu lambda
: epsilon

CÁC CHỮ VIẾT TẮT:
AI: Artificial Intelligence – Trí tuệ nhân tạo.
PCA: Principal Components Analysis – một loại phương pháp phân tích thành
phần chính.
LDA: Linear Discriminant Analysis – Phương pháp phân tích lớp tuyến tính.
EBGM: Elastic Bunch Graph Matching – Phương pháp đồ thị đàn hồi.
SDK: Software Development Kit – Bộ phần mềm phát triển.


DANH MỤC CÁC BẢNG
Số hiệu
bảng

Tên bảng

Trang

Bảng 2.1.


Bảng phương pháp suy đốn hồi quy tuyến tính

30

Bảng 2.2.

Bảng dữ liệu để huấn luyện với chuyên gia dự báo

31

Bảng 3.1.

Bảng kết quả dự đốn

44

Bảng 3.2.

Bảng so sánh nhận diện khn mặt

48

Bảng 3.3.

Bảng so sánh các việc học máy

49


DANH MỤC CÁC HÌNH


Số hiệu
hình

Tên hình

Trang

Hình 1.1.

Các thể loại của trí tuệ nhân tạo

5

Hình 1.2.

Mơ hình nhận diện khn mặt

7

Hình 1.3.

Cấu trúc tổng quát của hệ thống nhận dạng khuôn mặt.

8

Hình 1.4.

Các hướng tiếp cận trích lọc đặc trưng trong nhận dạng
khn mặt


10

Hình 1.5.

Nhận diện khn mặt

11

Hình 1.6.

Khơng gian mới (p1, p2) theo hướng phân bổ mạnh nhất
của các vector trong khơng gian (x1, x2) tìm theo PCA

12

Hình 1.7.

Ví dụ minh họa LDA

15

Hình 1.8.

Mơ hình lưới của các khn mặt khác nhau

18

Hình 1.9.


Cảm xúc khn mặt (tt) [2]

19

Hình 1.10.

Cơng nghệ chạm tay phía ngồi màn hình từ SDK, Camera
3D Intel [2]

23

Hình 1.11.

Camera 3D của Intel

24

Hình 2.1.

Kiến trúc của SDK Intel RealSense [2]

28

Hình 2.2.

Kiến trúc tổng quát của chương trình

33

Hình 2.3.


Các bước của việc nhận dạng khn mặt từ SDK [2]

34

Hình 2.4.

Mơ hình sử dụng SDK Intel Real Sense và AI

34

Hình 2.5.

Mơ hình dữ liệu của phương pháp hồi quy tuyến tính [5]

35


Hình 3.1.

Download SDK Intel Real Sense

37

Hình 3.2.

Màn hình install SDK Intel RealSense

38


Hình 3.3.

Màn hình cài đặt lựa chọn package

38

Hình 3.4.

Mơi trường sau khi cài đặt

39

Hình 3.5.

Màn hình chính

49

Hình 3.6.

Màn hình quản lý khách hàng/ đăng ký khn mặt

50

Hình 3.7.

Màn hình xem danh sách khách đến

50


Hình 3.8.

Màn hình theo dõi dữ liệu huấn luyện

51

Hình 3.9.

Màn hình theo dõi thơng tin check-in và check-out

51

Hình 3.10.

Màn hình xem lại lịch sử khách hàng

52

Hình 3.11.

Màn hình cấu hình hệ thống

52


1

MỞ ĐẦU
1. Tính cấp thiết của đề tài
Ngày nay với sự phát triển của nền khoa học máy tính và việc nhận dạng hình ảnh

khn mặt thơng qua camera đã ứng dụng vào rất nhiều trong cuộc sống của chúng ta
nhằm để thực hiện các việc phát hiện đối tượng, khách hàng để bảo mật, cảnh báo hoặc
các ứng dụng như robot để điều khiển việc giúp đỡ tự động từ hình ảnh khn mặt thu
nạp được.
Cùng với sự phát triển của trí tuệ nhân tạo là đặc trưng của lĩnh vực dự đốn, phân
tích các dự báo trong thế giới kỹ thuật số có tính học máy, địi hỏi cần phải thu thập dữ
liệu và cho hệ thống máy tính học dần các dữ liệu để phân tích đưa ra kết quả dự đoán.
Lĩnh vực thu thập dữ liệu khn mặt kết hợp với trí tuệ nhân tạo nhằm đưa ứng
dụng thực tế vào cuộc sống cũng còn mới mẽ và được nhiều giới chuyên gia rất quan
tâm. Trong đó việc nhận dạng hình ảnh khn mặt và phân tích đưa ra kết quả dự đốn
các hành vi, thói quen đối với khách hàng tại khách sạn cũng là một ứng dụng có tính
khoa học và thực tiễn cao, giúp cho khách sạn có được đầy đủ thơng tin của khách hàng
khi vào khách sạn, nhằm phục vụ cho việc cảnh báo, giúp đỡ, phục vụ khách được chu
đáo hơn.
Vì vậy, xuất phát từ nhu cầu đấy, tơi đã chọn đề tài luận văn thạc sĩ:
“XÂY DỰNG HỆ THỐNG NHẬN DẠNG KHN MẶT
& HỖ TRỢ PHÂN TÍCH THĨI QUEN KHÁCH HÀNG"
2. Mục tiêu nghiên cứu
Xây dựng ứng dụng nhận diện khuôn mặt thông qua nền tảng SDK Intel RealSense
và áp dụng thuật tốn của trí tuệ nhân tạo (học máy) nhằm phân tích thói quen của đối
tượng được nhận diện, đáp ứng được các bước:
- Nghiên cứu và tạo ứng dụng nhận dạng khuôn mặt dựa trên nền tảng SDK
RealSense của Intel.
- Sử dụng việc nhận dạng khuôn mặt này và phân tích thói quen của khách hàng
áp dụng phương pháp tính tốn của Trí tuệ nhân tạo (học máy)
3. Nội dung nghiên cứu
- Tìm hiểu về việc nhận dạng khn mặt (face recognition) thơng qua SDK Intel
RealSense.
- Tìm hiểu đặc tính cơ bản của khn mặt
- Tìm hiểu về phương pháp và thuật toán suy đoán hồi quy (linear regression)



2
4. Đối tượng và phạm vi nghiên cứu
4.1. Đối tượng nghiên cứu
- Nhận dạng khuôn mặt thông qua SDK RealSense của Intel
- Các đặc điểm thói quen của khách hàng
- Giải thuật tính tốn theo phương pháp hồi quy tuyến tính
4.2. Phạm vi nghiên cứu
- Dựa vào dữ liệu thu thập từ Camera và nhận dạng khuôn mặt thông qua SDK
- Sau khi thực hiện việc học dữ liệu huấn luyện, dùng phương pháp suy đốn hồi
quy tuyến tính và trả về kết quả, hỗ trợ, thông báo, cảnh báo các thói quen của cá nhân
đó.
5. Phương pháp nghiên cứu
5.1. Phương pháp lý thuyết
- Tiến hành thu thập và nghiên cứu các tài liệu có liên quan đến kỹ thuật nhận dạng
khn mặt, tính tốn trong trí tuệ nhân tạo.
- Nghiên cứu lý thuyết về tính tốn tuyến tính trong AI, nhận dạng và phân tích
các thói quen của khách hàng.
5.2. Phương pháp thực nghiệm
- Sử dụng SDK Realsense của Intel để xây dựng việc nhận dạng hình ảnh khn
mặt thông qua Camera, đưa dữ liệu vào cơ sở dữ liệu
- Xây dựng kỹ thuật tính tốn tuyến tính trong AI để xác định được các thói quen
của người được nhận dạng
- Xây dựng tập dữ liệu huấn luyện ứng với khuôn mặt.
- Kiểm tra, thử nghiệm và đánh giá kết quả.
6. Ý nghĩa khoa học và thực tiễn
6.1. Ý nghĩa khoa học
- Áp dụng được thuật toán suy đoán hồi quy tuyến tính trong AI vào việc phân tích
thói quen thông qua việc nhận dạng khuôn mặt.

6.2. Ý nghĩa thực tiễn
- Ứng dụng việc nhận dạng khuôn mặt và phân tích thói quen của khách hàng vào
trong các lĩnh vực như khách sạn.
7. Bố cục của luận văn

Luận văn được trình bày bao gồm các phần chính như sau:
MỞ ĐẦU
1. Tính cấp thiết của đề tài
2. Mục tiêu nghiên cứu
3. Nội dung nghiên cứu


3
4. Đối tượng và phạm vi nghiên cứu
5. Phương pháp nghiên cứu
6. Ý nghĩa khoa học và thực tiễn
CHƯƠNG 1. TỔNG QUAN
1.1. GIỚI THIỆU, PHÂN LOẠI VỀ TRÍ TUỆ NHÂN TẠO
1.2. CÁC VẤN ĐỀ VỀ NHẬN DẠNG KHN MẶT
1.2.1. Tìm hiểu về việc nhận dạng khuôn mặt (Face recognition)
1.2.2. Cảm xúc của khn mặt
1.3. CÁC TÁC ĐỘNG CỦA TRÍ TUỆ NHÂN TẠO VÀ ÁP DỤNG
ĐIỂN HÌNH
1.3.1. Tác động
1.3.2. Các bài tốn điển hình áp dụng các phương pháp TTNT
1.3.3. Những trí tuệ nhân tạo mạnh nhất hiện nay
1.4. KHÁI QUÁT SDK INTEL REALSENSE
CHƯƠNG 2. MƠ HÌNH NHẬN DẠNG KHN MẶT & HỖ TRỢ PHÂN
TÍCH THĨI QUEN KHÁCH HÀNG
2.1. PHÂN TÍCH BÀI TỐN

2.2. MƠ HÌNH ĐỀ XUẤT
2.3. THIẾT KẾ
2.4. THUẬT TỐN CHÍNH
CHƯƠNG 3. KẾT QUẢ VÀ THỰC NGHIỆM
3.1. MƠI TRƯỜNG PHÁT TRIỂN
3.1.1. Chuẩn bị cho môi trường
3.1.2. Setup phần SDK Intel Real Sense
3.1.3. Cài đặt SQL Server và Tạo Database
3.1.4. Setup chương trình
3.2. DỮ LIỆU ĐẦU VÀO
3.3. PHÂN TÍCH KẾT QUẢ
3.4. DEMO ỨNG DỤNG
3.4.1. Màn hình chính
3.4.2. Màn hình quản lý khách hàng/ đăng ký khn mặt
3.4.3. Màn hình xem danh sách khách đến
3.4.4. Màn hình để nhập dữ liệu train
3.4.5. Màn hình xem lại việc check-in và check out
3.4.6. Màn hình tìm kiếm thơng tin theo ngày của khách hàng vào
ra khách sạn


4
3.4.7. Màn hình cài đặt camera, cấu hình
KẾT LUẬN & KIẾN NGHỊ


5

CHƯƠNG 1
TỔNG QUAN

1.1. GIỚI THIỆU, PHÂN LOẠI VỀ TRÍ TUỆ NHÂN TẠO
Giới thiệu
Trí tuệ nhân tạo (tiếng Anh: Artificial Intelligence hay Machine Intelligence,
thường được viết tắt là AI) là trí tuệ được biểu diễn bởi bất cứ một hệ thống nhân tạo
nào. Thuật ngữ này thường dùng để nói đến các máy tính có mục đích khơng nhất định
và ngành khoa học nghiên cứu về các lý thuyết và ứng dụng của trí tuệ nhân tạo.
Tuy rằng trí thơng minh nhân tạo có nghĩa rộng như là trí thơng minh trong khoa
học viễn tưởng, nó là một trong những ngành trọng yếu của tin học. Trí thơng minh nhân
tạo liên quan đến cách cư xử, sự học hỏi và khả năng thích ứng thơng minh của máy
móc. Các ví dụ ứng dụng bao gồm các tác vụ điều khiển, lập kế hoạch và lập lịch
(scheduling), khả năng trả lời các câu hỏi về chẩn đoán bệnh, trả lời khách hàng về các
sản phẩm của một công ty, nhận dạng chữ viết tay, nhận dạng tiếng nói và khn mặt.
Ngày nay, các hệ thống nhân tạo được dùng nhiều trong các lĩnh vực kinh tế, y dược,
sân bay, quân sự,...[1]
Các phương pháp
 Học máy (Machine learning)
 Xử lý ngôn ngữ tự nhiên (Natural language processing)
 Xử lý ngơn ngữ tiếng nói (Speech)
 Hệ chuyên gia (Expert systems)
 Dự báo, tối ưu hóa (Planning, optiomization)
 Robot
 Xử lý mờ (Vision)
Machine learning

Vision

Natural language
processing (NLP)
AI
(Artificial

Intelligence)

Speech

Robotics
Expert systems

Planning, optiomization

Hình 1.1. Các thể loại của trí tuệ nhân tạo


6

1.2. CÁC VẤN ĐỀ VỀ NHẬN DẠNG KHUÔN MẶT
Ngày này, việc nhận dạng khuôn mặt để xác nhận cho vấn đề an tồn, các thói
quen ứng với từng khn mặt ấy được sử dụng rộng rãi. Không những thế mà việc áp
dụng nhận diện khuôn mặt xong, áp dụng với việc dự đốn từ khn mặt để xác định
hành vi, thói quen là một trong những ứng dụng rất thực tiễn và mới mẻ trong rất nhiều
lĩnh vực.
Trong để tài nghiên cứu này, tôi đã kết hợp việc nhận dạng khn mặt và trí tuệ
nhân tạo (học máy) để áp dụng cho việc phân tích thói quen khách hàng tại khách sạn.
1.2.1. Tìm hiểu về việc nhận dạng khn mặt (Face recognition)
 Giới thiệu
Như chúng ta đã biết, con người khi sinh ra đã có những đặc điểm sinh học tự
nhiên riêng biệt phân biệt giữa người này với người kia, rất khó có thể trùng lặp. Các
đặc điểm đó có thể bị thay đổi trong cuộc sống trừ những tác động khách quan hoặc chủ
quan như: tai nạn, tổn thương, phẫu thuật chỉnh hình... Chính bởi yếu tố riêng biệt đó,
các nhà khoa học tập trung nghiên cứu, tìm hiểu đặc trưng sinh trắc của con người và áp
dụng vào các biện pháp giúp nhận dạng, xác định danh tính của mỗi người. Dựa vào

những đặc điểm sinh trắc học của con người, các hệ thống nhận dạng sinh trắc học ra
đời nhằm giải quyết nhiều vấn đề có liên quan tới bảo mật, an ninh, khoa học hay các
nhu cầu khác trong cuộc sống.
Các đặc trưng sinh trắc khuôn mặt là những đặc điểm riêng trên khuôn mặt mỗi
người gần như không thay đổi theo thời gian, các đặc điểm này phân biệt giữa người
này và người kia, rất khó có thể xảy ra trùng lặp. Dựa trên nhận xét thực tế, con người
dễ dàng nhận biết các khuôn mặt và các đối tượng trong các tư thế khác nhau và điều
kiện ánh sáng khác nhau, thì phải tồn tại các thuộc tính hay đặc trưng khơng thay đổi.
Chính vì thế, việc xác định danh tính, nhận dạng khuôn mặt người thông qua các đặc
trưng sinh trắc học đó sẽ đảm bảo được độ chính xác, tin cậy cao.
Bản thân con người có thể nhận dạng ảnh khn mặt của mọi người một cách dễ
dàng. Thậm chí, ảnh đó có thể nằm trong một ảnh nền phức tạp. Tuy nhiên, đối với hệ
máy thì việc nhận dạng này là một cơng việc rất phức tạp và khó khăn. Chính vì vậy,
trong những năm gần đây, lĩnh vực nhận dạng khuôn mặt đã nhận được sự quan tâm
nghiên cứu lớn từ các nhà khoa học nhằm tạo ra các hệ hỗ trợ quyết định phục vụ trong
rất nhiều lĩnh vực của cuộc sống.
Giả sử ta có một cơ sở dữ liệu ảnh đã được lưu trong máy về một số người (Hình
1.2), bài tốn nhận dạng là làm sao để khi đưa ảnh khuôn mặt của một người bất kỳ vào
thì máy sẽ tự động nhận dạng ra người này trong cơ sở dữ liệu.


7

Hình 1.2. Mơ hình nhận diện khn mặt
Hơn một thập kỷ qua, có rất nhiều cơng trình nghiên cứu về bài tốn xác định
khn mặt người từ ảnh đen trắng, ảnh xám, đến ảnh màu. Các nghiên cứu đi từ bài toán
đơn giản cho đến phức tạp, từ ảnh chỉ chứa một khn mặt người nhìn thẳng vào thiết
bị thu hình và đầu ở tư thế thẳng đứng, cho đến ảnh màu với nhiều khuôn mặt người
trong cùng ảnh, khuôn mặt có quay một góc nhỏ, hay bị che khuất một phần, và với ảnh
nền của ảnh phức tạp (ảnh được chụp ngoài thiên nhiên) nhằm đáp ứng nhu cầu và phân

tích cần thiết của con người.
Bài tốn xác định khn mặt người là một kỹ thuật máy tính để xác định các vị trí
và các kích thước của khn mặt trong ảnh bất kỳ. Kỹ thuật này nhận biết các đặt trưng
khuôn mặt và bỏ qua những thứ khác như: toà nhà, cây cối, cơ thể,…
 Hệ thống nhận diện khn mặt có thể giúp:

Tra cứu thơng tin tội phạm.

Giám sát bằng camera để phát hiện tội phạm tại các khu vực cơng cộng.

Tìm trẻ lạc dựa vào các camera đặt ở các nơi công cộng.
Phát hiện các nhân vật VIP, khách hàng có tính bình thường/bất thường khi
đặt chân vào khách sạn.

Phát hiện tội phạm tại các nơi cơng cộng.

Có thể dùng trong khoa học để so sánh một thực thể với nhiều thực thể
khác.

v/v….
 Việc nhận diện khuôn mặt làm việc như thế nào?



8
Nhiệm vụ của hệ thống nhận dạng khuôn mặt là xử lý tự động thông tin từ các ảnh
khuôn mặt để tìm ra độ tương tự giữa các khn mặt và đưa ra quyết định về tính đồng
nhất giữa chúng. Cấu trúc của hệ thống nhận dạng khuôn mặt được thể hiện như Hình
1.3 và gồm các khâu chức năng sau:


Hình 1.3. Cấu trúc tổng quát của hệ thống nhận dạng khuôn mặt.
-

Phát hiện khuôn mặt (face detection): Phát hiện khuôn mặt sẽ lấy ra tất cả các
khuôn mặt trong một hình ảnh. Chức năng này làm nhiệm vụ xác định vị trí, kích
cỡ của một hoặc nhiều khn mặt trên ảnh chụp từ đó tách ra phần mặt. Phần ảnh
mặt được tách ra thường nhỏ hơn nhiều so với ảnh chụp ban đầu, nó sẽ là các khn
mặt cần tìm và chức năng trích chọn đặc trưng sẽ sử dụng các ảnh được tách ra này.

-

Tiền xử lý (Pre-Processing): Bước này nhằm mục đích lọc nhiễu, nâng cao chất
lượng ảnh để chuẩn hóa ảnh cần tìm giúp cho việc tìm kiếm được hiệu quả hơn. Các
cơng việc trong bước tiền xử lý có thể là: Chuẩn hóa kích cỡ giữa ảnh trong CSDL
và ảnh cần tìm, hiệu chỉnh độ sáng, tối của ảnh, lọc nhiễu, chuẩn hóa về vị trí, tư thế
ảnh mặt.

-

Trích chọn đặc trưng (FE): Tìm ra các đặc trưng chính của ảnh mặt, từ các đặc
trưng này hình thành các vector đặc trưng, các vector này sẽ được sử dụng để đối
sánh sự giống nhau giữa ảnh mặt cần tìm và ảnh mặt trong CSDL.

-

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.



9
-

Dữ liệu hệ thống nhận dạng: Dữ liệu hệ thống nhận dạng được chia làm 3 tập gồm
tập huấn luyện (training set), tập tham chiếu (reference set) và tập để nhận dạng
(probe set). Tập training gồm các ảnh được dùng để huấn luyện, thông thường tập
này được dùng để sinh ra một không gian con là một ma trận. Tập reference gồm
các ảnh đã biết danh tính được chiếu vào không gian con ở bước training... Sau khi
thực hiện chiếu tập reference vào không gian con, hệ thống lưu lại kết quả là một
ma trận với mỗi cột của ma trận là một vector tương ứng với ảnh (định danh đã biết)
để thực hiện nhận dạng (hay phân lớp).

Hệ thống nhận dạng khuôn mặt cần đảm bảo các yêu cầu:
- Độ chính xác nhận dạng có thể chấp nhận được đối với yêu cầu của bài toán nhận
dạng;
- Tốc độ vận hành cao đối với các CSDL lớn và số lượng các yêu cầu có thể giải
quyết được;
- Đơn giản trong việc cài đặt, lựa chọn thiết bị và vận hành. An toàn với người sử
dụng.
Các hướng tiếp cận trong nhận dạng khn mặt
- Như trong phần 1.1.2 đã trình bày, hệ thống nhận dạng khn mặt gồm bốn khâu
chính (tiền xử lý, tách vùng mặt, trích chọn đặc trưng, đối sánh). Mỗi một khâu đều
có tác động đến độ chính xác của hệ thống. Tuy nhiên, hai khâu quan trọng nhất vẫn
là trích chọn đặc trưng và đối sánh (ra quyết định). Chính vì vậy, qua khảo sát các
cơng trình nghiên cứu liên quan đến nhận dạng khn mặt [x], [10] [12] , ta có thể
thấy các cơng trình công bố đều chủ yếu tập trung vào cải tiến hai bước chính là
trích chọn đặc trưng và ra quyết định.
Theo định hướng tìm ra cách trích chọn đặc trưng



10

Hình 1.4. Các hướng tiếp cận trích lọc đặc trưng trong nhận dạng khuôn mặt
Nhận dạng dựa trên xét tổng thể khn mặt (Appearance based face recognition):
Nội dung chính của hướng tiếp cận này là xem mỗi ảnh có kích thước RxC là một
vector trong không gian RxC chiều. Ta sẽ xây dựng một khơng gian mới có chiều nhỏ
hơn sao cho khi biểu diễn trong khơng gian đó các đặc điểm chính của một khn mặt
khơng bị mất đi. Trong khơng gian đó, các ảnh của cùng một người sẽ được tập trung
lại thành một nhóm gần nhau và cách xa các nhóm khác. Một số phương pháp được
dùng cho loại này như:
- Trích chọn các đặc trưng tuyến tính: PCA, ICA, LDA
- Trích chọn các đặc trưng phi tuyến: KPCA, ISOMAP
Nhận dạng sử dụng mơ hình về khn mặt (Model-based face recognition ):
Đây là phương pháp nhận dạng khn mặt dựa trên việc xác định các đặc trưng
hình học của các chi tiết trên một khuôn mặt (như vị trí, diện tích, hình dạng của mắt,
mũi, miệng…), và mối quan hệ giữa chúng (như khoảng cách của hai mắt, khoảng cách
của hai lông mày…). Một số phương pháp được dùng cho loại này như:
- Nhận dạng 2D: EBGM, Active Appearance Model.
- Nhận dạng 3D: 3D Morphable Model.
Ưu điểm của phương pháp này là nó gần với cách mà con người sử dụng để nhận
biết khuôn mặt. Hơn nữa với việc xác định đặc tính và các mối quan hệ, phương pháp
này có thể cho kết quả tốt trong các trường hợp ảnh có nhiều nhiễu như bị nghiêng, bị
xoay hoặc ánh sáng thay đổi.


11
Để xây dựng một hệ thống nhận dạng khuôn mặt, người ta phải có đầu vào là một
ảnh kỹ thuật số hay 1 khung hình video. Hệ thống kiểm tra và cho ra kết quả hình ảnh
này là ai (đã có trong cơ sở dữ liệu), việc nhận dạng này gồm 3 bước:
- Phát hiện khn mặt có trong hình/ video (face detection)

- Trích rút đặc trưng của khn mặt (feature extraction)
- Nhận dạng khuôn mặt (face recognition)
 Phát hiện khn mặt có trong hình/ video (face detection): Chức năng chính của
bước này là phát hiện ra khn 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 khn 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 khn mặt. Bước này trích
xuất ra một vector đặc trưng đại diện cho một khn mặt. Nó phải đảm bảo được tính
duy nhất của một khuôn mặt.
 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 khn mặt, trích rút các đặc trưng của khn mặt và đem so sánh các đặc trưng
này với cơ sở dữ liệu khn mặt.

Hình 1.5. Nhận diện khn mặt
Thuật tốn nhận diện khuôn mặt hiện chia làm hai loại: Nhận diện dựa trên các đặc
trưng khuôn mặt (Feature Base Face Recognition) và nhận dạng dựa trên xét tổng thể
tồn khn mặt (Appearance Based Face Recognition).
 Nhận dạng dựa trên các đặc trưng khuôn mặt


12
Phương pháp này dựa trên đặc trưng của hình học trên khn mặt như: mắt, mũi,
miệng, gị má,..và khoảng cách giữa chúng như: giữa hai mắt.
Ưu điểm là nó gần với cách mà con người sử dụng để nhận biết khn mặt. Hơn
nữa với việc xác định đặc tính và các mối quan hệ, phương pháp này cho kết quả tốt
trong các điều kiện khơng có kiểm sốt.
Nhược điểm là cài đặt thuật toán phức tạp do việc xác định mối quan hệ giữa các

đặc tính, địi hỏi các thuật toán phức tạp và phương pháp này sẽ hoạt động khơng hiệu
quả khi kích thước hình ảnh nhỏ vì rất khó phân biệt được các đặc tính.
 Nhận dạng dựa trên xét tổng thể tồn khn mặt
Phương pháp này là phương pháp trắc quang, có nghĩa là biến hình ảnh thành các
giá trị và so sánh với giá trị mẫu để nhận biết, phổ biến nhất trong phương pháp này có
3 loại:
- Phân tích thành phần chính (PCA).
- Phân tích phân lớp tuyến tính (LDA).
- Phương pháp đồ thị đàn hồi (EBGM).
o Phân tích thành phần chính - Principal Components Analysis (PCA)
 Ngun lý chung

Hình 1.6. Khơng gian mới (p1, p2) theo hướng phân bổ mạnh nhất của các vector
trong khơng gian (x1, x2) tìm theo PCA


13
PCA là một thuật toán để được sử dụng để tạo ra một ảnh mới từ ảnh ban đầu. Ảnh
mới này có kích thước nhỏ hơn rất nhiều so với ảnh đầu vào và vẫn mang những đặc
trưng cơ bản nhất của ảnh cần nhận dạng. PCA không cần quan tâm đến việc tìm ra các
đặc điểm cụ thể của thực thể cần nhận dạng và mối quan hệ giữa các đặc điểm đó. Tất
cả các chi tiết đó đều được thể hiện ở ảnh mới được tạo ra từ PCA. Về bản chất, PCA
tìm ra một khơng gian mới theo hướng biến thiên mạnh nhất của một tập hợp các vector
trong không gian cho trước. Trong không gian mới, người ta hy vọng rằng việc phân
loại sẽ mang lại kết quả tốt hơn so với không gian ban đầu.
 Nội dung thuật tốn PCA
Khơng gian mới được tạo bởi PCA được cấu thành từ K vector đơn vị có chiều
là N. Mỗi vector được gọi là một Eigenface.
- Phép biến đổi:
𝑎1

𝑤1
𝑎2
𝑤2
.
.
𝐴 = . → 𝑊 = . 𝑣ớ𝑖 𝐾 ≪ 𝑁
.
.
[𝑤𝐾 ]
[𝑎𝑁 ]
Theo công thức:
W = T.A
Với T là ma trân chuyển đổi, T có kích thước KxN
Gọi M là số ảnh đầu vào, mỗi ảnh được chuyển thành vector N nhiều chiều, ta có tập
hợp đầu vào X = {x1, x2, …..,xM} (xi € RN)
Trung bình của các vector đầu vào:
𝑥̅ =

1
𝑀

∑𝑀
𝑖=1 𝑥𝑖

Sai lệch so với tâm
Θi = xi - 𝑥̅
Gọi A = [θ1, θ2,…, θM] ta có ma trận tương quan của A là:

Gọi các giá trị riêng của C là λ1, λ2,…, λN sắp xếp theo thứ tự giảm dần, tương ứng
với N vector riêng u1, u2,…, uN. Các vector riêng này trực giao từng đôi một. Mỗi

vector riêng ui được gọi là một eigenface. Tập hợp các vector ban đầu được biểu diễn
trong không gian tạo bởi N eigenface theo mô tả:


14

Chọn lấy K vector riêng u tương ứng với K giá trị riêng λ lớn nhất, ta có:

Vector các hệ số khai triển [w1, w2, …, wK] chính là biểu diễn mới của ảnh được
tạo ra trong không gian PCA. Ảnh mới xˆ vẫn giữ được các đặc điểm chính của ảnh đầu
vào. Vector [w1, w2, …, wK] được tính theo công thức:

Vấn đề cần giải quyết ở đây là ma trận tương quan C=A.AT có kích thước N2. Với
N=180x200=36000, khối lượng tính tốn sẽ rất lớn. Do đó để tính được các eigenface
mà khơng cần tính cả ma trận C, người ta đưa ra phương pháp tính nhanh dựa vào vector
riêng và giá trị riêng của ma trận L=AT.A có kích thước MxM với M là số ảnh đầu vào.
Ta có thể chứng minh như sau: gọi vi, µi lần lượt là vector riêng và giá trị riêng của ma
trận L:

Nhân cả 2 vế với A ta có:

Ta thấy A.vi chính là vector riêng của C=A.AT ứng với giá trị riêng µi
 Đánh giá phương pháp PCA
PCA là một phương pháp làm sao để giảm số chiều của 1 tập vector ảnh mà
vẫn đảm bảo được tối đa các thông tin quan trọng của ảnh đấy.
Ưu điểm:
+ Lấy được các đặc tính tiêu biểu của đối tượng cần nhận dạng mà khơng cần xác
định đặc tính và mối quan hệ giữa các đặc tính này.
+ Thuật tốn có thể thực hiện tốt với các hình ảnh có độ phân giải cao
+ Có thể kết hợp được với các phương pháp khác như mạng Norton.



15
Nhược điểm:
+ Do phân loại theo chiều phân bố lớn nhất của tập vector, nên không mạng lại
hiệu quả tốt.
+ Điều kiện môi trường phải thật tốt, không được nhiễu như ánh sang, hướng
nghiêng, biểu cảm trên khuôn mặt.
o Phân tích phân lớp tuyến tính - Linear Discriminant Analysis (LDA)
 Ngun lý chung
Phương pháp PCA ở trên cịn có nhược điểm là chỉ làm nổi bật lên các đặc trưng
của từng ảnh mà chưa quan tâm đến các ảnh đó là của cùng một người hay của những
người khác nhau. Phương pháp phân tách tuyến tính có thể khắc phục được những nhược
điểm đó.
Nhiệm vụ chính của phương pháp là tính sự biến thiên giữa các ảnh của những
người khác nhau và tính sự biến thiên giữa các ảnh của cùng một người, sau đó tìm một
phép biến đổi để làm cực đại tỉ số của hai sự biến thiên trên. Nghĩa là, tập ảnh huấn
luyện sẽ được biến đổi sang một không gian mới sao cho sự khác nhau (khoảng cách)
giữa các ảnh của những người khác nhau được tăng lên tối đa, còn sự giống nhau giữa
các ảnh của cùng một người được làm cực tiểu.
Hình dưới là một ví dụ minh họa trực quan ý nghĩa của phép biến đổi này. Hình
1.8 (a) là một cách biến đổi khơng tốt khi các hình chiếu của các điểm thuộc hai lớp vẫn
lẫn lộn với nhau; Hình 1.8 (b) là một cách biến đổi khá tốt khi hình chiếu của các điểm
thuộc cùng một lớp gần nhau, cịn hình chiếu của các điểm khác lớp xa nhau.

Hình 1.7. Ví dụ minh họa LDA


×