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

Nghiên cứu kỹ thuật nhận dạng khuôn mặt người xây dựng hệ thống camera chống trộm

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 (5.49 MB, 61 trang )

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

MAI XUÂN PHÚ

NGHIÊN CỨU KỸ THUẬT NHẬN DẠNG
KHUÔN MẶT NGƯỜI XÂY DỰNG HỆ THỐNG
CAMERA CHỐNG TRỘM

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

MAI XUÂN PHÚ

NGHIÊN CỨU KỸ THUẬT NHẬN DẠNG
KHUÔN MẶT NGƯỜI XÂY DỰNG HỆ THỐNG
CAMERA CHỐNG TRỘM

Chuyên 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 luận văn “Nghiên cứu kỹ thuật nhận dạng khuôn mặt người.
Xây dựng hệ thống camera chống trộm” này là công trình nghiên cứu của riêng tôi.
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được công bố trong
bất kỳ công trình nào khác. 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ả

Mai Xuân Phú


NGHIÊN CỨU KỸ THUẬT NHẬN DẠNG KHUÔN MẶT NGƯỜI. XÂY DỰNG
HỆ THỐNG CAMERA CHỐNG TRỘM
Học viên: Mai Xuân Phú Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01 Khóa: K31. Trường Đại học Bách khoa – ĐHĐN
Tóm tắt–Ngày nay, nhận dạng khuôn mặt được ứng dụng rộng rãi trong nhiều
lĩnh vực của đời sống như nhận diện trong lĩnh vực thương mại, phát hiện tội phạm, xử
lý video,…Hiện nay có rất nhiều các phương pháp khác nhau được xây dựng để nhận
diện một người cụ thể. Tuy nhiên để nhận diện được một người trong thế giới thực ta
phải xây dựng được tập cơ sở dữ liệu đủ lớn. Việc xử lý dữ liệu lớn này đòi hỏi phải
nhanh và chính xác. Nhiệm vụ đặt ra là nghiên cứu và xây dựng chương trình sử dụng
phương pháp nhận diện có độ chính xác cao và thời gian tính toán ít nhất. Eigenfaces
là phương pháp khá nổi tiếng và hiệu quả trong quá trình làm giảm số thuộc tính của
tập dữ liệu đầu vào.
Từ khóa – phát hiện khuôn mặt, theo vết khuôn mặt, nhận diện khuôn mặt,
eigenfaces, trích rút đặc trưng.
FACE RECOGNITION RESEARCHING.
ESTABLISHING A CAMERA SECURITY SYSTEM

Abstract – Nowadays, face recognition is widely used in many fields of life such
as recognition in commercial field, crime detection, video processing, etc. There are
many diffirent methods were be built to recognize a particular person. However, to
recognize a person in real life, we have to build a large enough database. The data
processing requires the quick and accuration. The assignment is research and building
the program with high precision along withthe minimum of time. Eigenfaces is well
known the quite effective method in the process of the dimensional reduction of input
data.
Keyworks – face detection, video tracking,face recoginion, eigenfaces, feature
extraction.


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. Đối tượng và phạm vi nghiên cứu ......................................................................2
4. Phương pháp nghiên cứu ....................................................................................2
5. Bố cục luận văn...................................................................................................2
CHƯƠNG 1. GIỚI THIỆU TỔNG QUAN .................................................................3
1.1. TỔNG QUAN SINH TRẮC HỌC ...........................................................................3
1.2. BÀI TOÁN NHẬN DẠNG KHUÔN MẶT............................................................. 3
1.2.1. Nhận dạng dựa trên các đặc trưng khuôn mặt ..............................................5
1.2.2. Nhận dạng dựa trên xét toàn bộ khuôn mặt ..................................................6
1.2.3. Điểm mạnh và hạn chế của công nghệ nhận dạng khuôn mặt ...................... 7
1.3. HỆ THỐNG CAMERA GIÁM SÁT .......................................................................7
1.4. GIỚI THIỆU VỀ OPENCV ..................................................................................... 8
1.4.1. Các ứng dụng của OpenCV ..........................................................................9
1.4.2. Chức năng của OpenCV ...............................................................................9
1.4.3. Cấu trúc OpenCV.......................................................................................... 9

1.4.4. Thư viện EmguCV ...................................................................................... 10
CHƯƠNG 2. KỸ THUẬT NHẬN DẠNG KHUÔN MẶT ......................................11
2.1. PHÁT HIỆN KHUÔN MẶT ..................................................................................11
2.1.1. Đặc trưng Haar-like .................................................................................... 11
2.1.2. Thuật toán tăng tốc Adaboost .....................................................................13
2.2. THEO VẾT KHUÔN MẶT THEO TRÌNH TỰ VIDEO ......................................16
2.3. NHẬN DẠNG KHUÔN MẶT ...............................................................................17
2.3.1. Tiền xử lý ....................................................................................................17
2.3.2. Trích rút đặc trưng ...................................................................................... 17
2.3.3. Nhận dạng khuôn mặt .................................................................................22
2.3.4. Ví dụ Eigenface .......................................................................................... 22
CHƯƠNG 3. XÂY DỰNG HỆ THỐNG CAMERA AN NINH .............................. 25
3.1. PHÂN TÍCH THIẾT KẾ HỆ THỐNG...................................................................25
3.1.1. Xác định yêu cầu......................................................................................... 25
3.1.2. Biểu đồ ca sử dụng...................................................................................... 26
3.1.3. Cơ sở dữ liệu ............................................................................................... 27


3.1.4. Sơ đồ lớp .....................................................................................................28
3.1.5.Chức năng phát hiện khuôn mặt người ........................................................ 29
3.1.6. Chức năng cảnh báo âm thanh khi phát hiện ra khuôn mặt ........................ 30
3.2. KẾT QUẢ CHẠY CHƯƠNG TRÌNH ...................................................................31
3.2.1.Giao diện chương trình chính ......................................................................31
3.2.2. Giao diện chương trình nhận dạng khuôn mặt ...........................................32
3.2.3. Giao diện chương trình tạo tập huấn luyện.................................................32
3.2.4 Giao diện các tùy chỉnh ...............................................................................34
3.3. KẾT QUẢ THỰC NGHIỆM..................................................................................34
3.3.1. Chức năng phát hiện khuôn mặt .................................................................34
3.3.2. Chức năng theo vết khuôn mặt ...................................................................36
3.3.3. Chức năng nhận dạng khuôn mặt ............................................................... 36

3.4. NHẬN XÉT ............................................................................................................38
KẾT LUẬN VÀ KIẾN NGHỊ ..................................................................................... 39
TÀI LIỆU THAM KHẢO
PHỤ LỤC


DANH MỤC CÁC TỪ VIẾT TẮT
CV
CSDL
FR
FRS

: Computer Vision
: Cơ sở dữ liệu
: Face Recognition
: Face Recognition System

FE
LDA

: Feature Extraction
: Linear Discriminant Analysis

OCR
PCA

: Optical Character Recognition
: Principal Component Analysis

SVM


: Suport Vector Machine


DANH MỤC CÁC HÌNH
Số hiệu
hình

Tên hình

Trang

1.1.

Hệ thống nhận dạng khuôn mặt

4

1.2.

Vector chiếu tối đa hóa sự phân chia vô hướng

6

1.3.

Cấu trúc OpenCV

9


2.1.

Đặc trưng theo cạnh

11

2.2.

Đặc trưng theo đường

12

2.3.

Đặc trưng theo xung quanh tâm

12

2.4.

Đặc trưng theo đường chéo

12

2.5.

Cách tính Integral Image của ảnh

13


2.6.

Cách tính tổng giá trị Pixel vùng cần tính

13

2.7.

Hệ thống nhận dạng khuôn mặt cơ bản

17

2.8.

Quá trình trích trút đặc trưng

18

3.1.

Usecase hệ thống

26

3.2.

Cơ sở dữ liệu hình ảnh huấn luyện

27


3.3.

Sơ đồ lớp của hệ thống nhận dạng

28

3.4.

Sơ đồ thuật toán phát hiện khuôn mặt

29

3.5.

Sơ đồ thuật toán cảnh báo âm thanh khi phát hiện khuôn mặt

30

3.6.

Giao diện chính của chương trình

31

3.7.

Giao hiện chương trình khi nhận dạng khuôn mặt

32


3.8.

Giao diện chương trình khi tạo tập huấn luyện

33

3.9.

Cơ sở dữ liệu hình ảnh huấn luyện

33

3.10.

Giao diện các tùy chỉnh của hệ thống

34


1

MỞ ĐẦU
1. Tính cấp thiết của đề tài
Thừa hưởng những thành tựu của nền khoa học kỹ thuật phát triển. Nhận diện
khuôn mặt là một công nghệ được ứng dụng rộng rãi trong đời sống hằng ngày của con
người như các hệ thống giám sát tại các tòa nhà, sân bay, trạm ATM, hệ thống chấm
công, camera chống trộm, xác thực danh tính,….có rất nhiều các phương pháp nhận
dạng khuôn mặt để nâng cao hiệu suất tuy nhiên dù ít hay nhiều thì những phương
pháp này đang gặp phải những khó khăn, thử thách như về độ sáng, hướng nghiêng,
kích thước hình ảnh, hay ảnh hưởng của tham số môi trường.

Hiện nay các phương pháp nhận dạng khuôn mặt được chia thành nhiều hướng
theo các tiêu chí khác nhau. Trên thực tế người ta chia phương pháp nhận dạng khuôn
mặt thành ba 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 tiếp cận toàn cục và phương pháp tiếp cận dựa trên các đặc điểm cục
bộ).Trong đó, Eigenfaces là phương pháp trích rút đặc trưng nhằm giảm số chiều của
ảnh tuy đơn giản nhưng mang lại hiệu quả tốt. Hệ thống hoạt động ổn định và có tính
thích nghi cao khi dữ liệu đầu vào thay đổi nhiều.
Hệ thống camera giám sát ngày nay đã trở lên phổ biến và đang được sử dụng
rộng rãi trong nhiều lĩnh vực với mục đích hỗ trợ an ninh cho các công ty, ngân hàng,
cửa hàng, ..., nhưng các camera này chỉ có khả năng lưu trữ các dữ liệu video và chúng
ta cần thuê các nhân viên quan sát và phát hiện khi có người nào đó xâm nhập. Phương
pháp này không hiệu quả, tốn kém chi phí, thời gian và phụ thuộc nhiều vào yếu tố con
người, khó khăn trong việc tìm kiếm dữ liệu.
Với mong muốn đưa ra một cái nhìn tổng quan về phương pháp nhận dạng khuôn
mặt, vận dụng phương pháp nhận dạng khuôn mặt dùng Eigenfaces để xây dựng hệ
thống camera an ninh. Tôi chọn đề tài "Nghiên cứu kỹ thuật nhận dạng khuôn mặt
người. Xây dựng hệ thống camera chống trộm" làm đề tài tốt nghiệp.
2. Mục tiêu nghiên cứu
Tìm hiểu các phương pháp nhận dạng khuôn mặt người vận dụng xây dựng hệ
thống camera chống trộm.
Để hoàn thành mục tiêu đặt ra, cần thực hiện các nhiệm vụ sau:
- Tìm hiểu phương pháp xác định khuôn mặt người;
- Tìm hiểu phương pháp theo vết đối tượng;
- Tìm hiểu phương pháp nhận dạng khuôn mặt người;


2


- Xây dựng hệ thống camera chống trộm.
3. Đối tượng và phạm vi nghiên cứu
3.1. Đối tượng nghiên cứu
- Phương pháp xác định khuôn mặt người.
- Phương pháp theo vết đối tượng.
- Phương pháp nhận dạng khuôn mặt.
3.2. Phạm vi nghiên cứu
- Tập trung tìm hiểu các kỹ thuật nhận dạng khuôn mặt người.
- Ứng dụng kỹ thuật nhận dạng khuôn mặt người xây dựng hệ thống camera
chống trộm.
4. Phương pháp nghiên cứu
4.1. Nghiên cứu lý thuyết
- Thu thập, tìm hiểu, phân tích các tài liệu vềnhận dạng khuôn mặt.
- Tìm hiểu các phương pháp nhận dạng khuôn mặt.
- Nghiên cứu các công cụ xây dựng hệ thống.
4.2. Nghiên cứu thực nghiệm
- Thu thập dữ liệu thực tế.
- Trích rút các thuộc tính đặc trưng từ dữ liệu thực tế.
- Phân tích yêu cầu của chương trình.
- Thiết kế hệ thống và triển khai xây dựng chương trình.
- Kiểm thử và đánh giá kết quả.
5. Bố cục luận văn
Nội dung của luận văn gồm các nội dung chính sau đây:
Chương 1.Giới thiệu tổng quan
Nội dung chương này giới thiệu bài toán nhận dạng khuôn mặt, ứng dụng của bài
toán vào thực tế và những hạn chế của nhận dạng khuôn mặt. Hệ thống camera giám
sát và thư viện mã nguồn mở OpenCV.
Chương 2.Nhận dạng khuôn mặt bằng Eigenface
Nội dung chương này trình bày việc xây dựng một hệ thống nhận dạng bao gồm
việc phát hiện ra khuôn mặt, theo vết khuôn mặt, trích rút các đặc trưng và nhận dạng

khuôn mặt sử dụng Eigenfaces.
Chương 3. Xây dựng hệ thống camera chống trộm
Nội dung chương 3 tập trung phân tích yêu cầu của hệ thống, xác định các chức
năng chính, xây dựng sơ đồ của các hoạt động chính của ứng dụng, tiến hành cài đặt
ứng dụng.


3

CHƯƠNG 1
GIỚI THIỆU TỔNG QUAN
Bài toán nhận dạng khuôn mặt đang được rất nhiều sự quan tâm của các nhà
nghiên cứu vì tính ứng dụng trong cuộc sống. Nhận dạng khuôn mặt không phải là bài
toán mới nhưng nó vẫn là một thách thức lớn vì một bài toán nhận dạng mặt người
chứa nhiều các bài toán khác như: phát hiện mặt người (face detection), đánh dấu
(facial landmarking), rút trích đặc trưng (feature extraction), gán nhãn, phân lớp
(classification). Ngoài ra, ảnh khuôn mặt trong thực tế chứa đựng nhiều vấn đề như: độ
sáng, độ nhòe/mờ, độ nhiễu, độ phân giải, góc ảnh.
1.1. TỔNG QUAN SINH TRẮC HỌC
Sinh trắc học hay Công nghệ sinh trắc học (tiếng Anh: Biometric) là công nghệ
sử dụng những thuộc tính vật lý, đặc điểm sinh học riêng của mỗi cá nhân như vân tay,
mống mắt, khuôn mặt... để nhận diện.
Mỗi người có một đặc điểm sinh học duy nhất. Dữ liệu sinh trắc học của từng cá
nhân sẽ được thu nhận từ các thiết bị như vân tay sẽ được thu từ máy đọc dấu vân tay,
hình ảnh khuôn mặt sẽ được chụp từ camera. Các dữ liệu sinh trắc học này sẽ được so
sánh với cơ sở dữ liệu được xây dựng trước đó để thực hiện việc xác thực hay xác
minh danh tính của một người cụ thể.
Dữ liệu sinh trắc lý tưởng của người cần phải có những đặc tính cơ bản sau:
- Tính tổng quát: Mỗi người đều được thể hiện bởi đặc tính này.
- Tính duy nhất: Không thể tồn tại hai người có những đặc tính giống nhau.

- Tính thường xuyên: Là sự độc lập của thuộc tính đối với thời gian.
- Tính thu thập được: Các đặc tính được thu thập một cách đơn giản, nhanh
chóng và có thể chi tiết hóa.
Ngày nay, các ứng dụng dựa trên đặc điểm sinh trắc học được sử dụng rộng rãi
trong đời sống bởi ưu điểm việc sử dụng các đặc tính này vào nhận diện là chúng
không thể bị lãng quên hay mất và có độ chính xác, tin cậy cao.
1.2. BÀI TOÁN NHẬN DẠNG KHUÔN MẶT
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


4

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 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, giám sát 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, lập chỉ mục cho video, hình ảnh, tái
tạo khuôn mặt và các ứng dụng thẻ thông minh. Công nghệ nhận dạng 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 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.

Hình 1.1.Hệ thống 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).
1.2.1. Nhận dạng dựa trên các đặc trưng khuôn mặt
Hướng tiếp cận này đầu tiên sẽ xử lý ảnh đầu vào để xác định và trích xuất các
đặc trưng trên khuôn mặt như mắt, mũi, miệng và các điểm khác. Sau đó tính toán các
mối quan hệ hình học giữa các điểm trên khuôn mặt, hình ảnh đầu vào sẽ chuyển thành
một vector có các tính năng hình học. Các phương pháp nhận dạng khuôn mẫu tiêu
chuẩn được áp dụng để so khớp khuôn mặt với các số đo.
Trước đây nhận dạng khuôn mặt chủ yếu dựa vào kỹ thuật này. Các kỹ thuật trích
rút đặc trưng phức tạp hơn sử dụng cho các khuôn mẫu bị biến dạng như là phương
pháp biến đổi Hough, toán tử đối xứng Reisfeld, bộ lọc Graf và các toán tử hình thái.
Tuy nhiên tất cả các phương pháp tiếp cận này còn mang tính chất cảm tính, dựa vào
kinh nghiệm như là hạn chế không gian tìm kiếm với các ràng buộc hình học, có một
dung sai nhất định cho các mô hình vì chúng không bao giờ có thể hoàn toàn phù hợp
với cấu trúc hình ảnh.
Ư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 cho kết quả tốt trong các điều kiện không có kiểm soát.
Nhược điểm của phương pháp này 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.



6

1.2.2. Nhận dạng dựa trên xét toàn bộ khuôn mặt
Nội dụng chính của hướng tiếp cận này là xem mỗi ảnh có kích thước R x C là
một vector trong không gian có R x C chiều. Ta 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 trên
khuôn 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 so với các nhóm khác. Hai phương
pháp thường được sử dụng trong hướng tiếp cận này là:
- PCA (Principle Components Analysis)
- LDA (Linear Discriminant Analysis)
a. Principal Components Analysis - PCA
Mục tiêu của PCA là “giảm số chiều” của 1 tập vector sao cho vẫn đảm bảo được
“tối đa thông tin quan trọng nhất” . Phương pháp PCA sẽ giữ lại K thuộc tính “mới” từ
M các thuộc tính ban đầu (K* Ưu điểm của phương pháp PCA:
- Tìm đượ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ác đặc tính và mối quan hệ giữa các đặc tính này.
- Thuật toán có thể thực hiện tốt với các hình ảnh có độ phân giải cao.
- PCA có thể kết hợp được với các phương pháp như mạng nơron (Neural
Network), Support Vector Machine,…, để mang lại hiệu quả nhận dạng cao.
* Nhược điểm của phương pháp PCA:
- PCA phân loại theo chiều phân bố lớn nhất của tập vector. Tuy nhiên, chiều phân
bố lớn nhất không phải lúc nào cũng mang lại hiệu quả tốt cho bài toán nhận dạng.
- PCA rât nhạy với nhiễu như điều kiện ánh sáng, hướng nghiêng và biểu hiện
cảm xúc trên khuôn mặt.
b.Linear Discriminant Analysis– LDA
Mục tiêu của LDA là thực hiện giảm chiều trong khi vẫn giữ càng nhiều các

thông tin phân biệt giữa các lớp càng tốt.Tìm hướng dọc theo đó các lớp được phân
cách tốt nhất. Thực hiện bằng cách xem xét các tán xạ trong các lớp và gữa các lớp.Nó
có khả thay đổi hình ảnh từ những biến đổi do các nguồn khác nhau như ánh sáng.

Hình 1.2. Vector chiếu tối đa hóa sự phân chia vô hướng


7

* Ưu điểm của phương pháp LDA
- Thuật toán có thể thực hiển tốt với số lượng mẫu lớn.
* Nhược điểm của phương pháp LDA
- Thuật toán gặp phải vấn đề khi tổng số mẫu huấn luyện ít hơn so với kích thước
của không gian đặc trưng.
1.2.3. Điểm mạnh và hạn chế của công nghệ nhận dạng khuôn mặt
a. Điểm mạnh
Nhận dạng khuôn mặt có một số lợi thế hơn so với các phương pháp sinh trắc
học khác. Một trong số đó được nêu sau đây: Hầu như tất cả các công nghệ đều đòi hỏi
một số hành động tự nguyện của người sử dụng, tức là người sử dụng cần đặt tay lên
tay để lấy dấu tay hoặc phải đứng ở vị trí cố định trước camera để nhận dạng mống
mắt hoặc võng mạc. Tuy nhiên, nhận dạng khuôn mặt có thể được thực hiện thụ động,
hình ảnh mặt có thể được chụp từ xa bằng máy ảnh. Điều này đặc biệt có lợi cho các
mục đích an ninh và giám sát.
Hơn nữa, thu thập dữ liệu nói chung có nhiều vấn đề đối với các sinh trắc học
khác: Các kỹ thuật dựa vào vân tay có thể bị vô hiệu nếu mô biểu bì bị hư hỏng theo
cách nào đó như bị đứt tay, thâm tím. Mống mắt và võng mạc đòi hỏi thiết bị đắt tiền
và quá nhạy cảm với bất kỳ chuyển động của cơ thể. Nhận dạng giọng nói dễ bị ảnh
hưởng bởi tiếng ồn nền ở những nơi công cộng và thăng giáng âm thanh trên đường
dây điện thoại hoặc băng ghi âm. Chữ ký có thể được sửa đổi hoặc giả mạo. Tuy
nhiên, hình ảnh khuôn mặt có thể dễ dàng có được với một vài máy ảnh cố định không

tốn kém.
Cuối cùng, các công nghệ đòi hỏi nhiều cá nhân sử dụng cùng một thiết bị để
nắm bắt đặc điểm sinh học của họ, có khả năng làm cho người sử dụng tiếp xúc với vi
trùng và tạp chất từ người dùng khác. Tuy nhiên, nhận diện khuôn mặt là hoàn toàn
không xâm nhập và không mang lại bất kỳ nguy cơ sức khỏe như vậy.
b. Hạn chế
Khuôn mặt người thay đổi theo thời gian, biểu hiện cảm xúc ở các thời điểm
khác nhau và chịu ảnh hường bởi các yêu tố khác như ánh sáng môi trường, hướng
khuôn mặt so với camera, bị che khuất. Các yếu tố này làm cho việc nhận dạng khuôn
mặt không được chính xác
1.3. HỆ THỐNG CAMERA GIÁM SÁT
Xuất hiện từ những năm 1940, ban đầu hệ thống camera giám sát được dùng vào
mục đích quân sự. Từ đó đến nay, trải qua 3 thế hệ, từ camera tương tự, đến camera kỹ
thuật số và giờ đây là camera IP, hệ thống camera giám sát đã trở nên phổ biến và
đang được sử dụng rộng rãi trong nhiều lĩnh vực.Trong giao thông, người ta lắp đặt


8

các camera giám sát ở các ngã ba, ngã tư, đường hầm, nhà ga và các vị trí quan trọng
để giám sát giao thông, cảnh báo tình trạng ùn tắc, phát hiện các vi phạm luật giao
thông của các phương tiện… Trong các bảo tàng, người ta sử dụng hệ thống camera
trong việc giám sát các vật trưng bày để tránh trường hợp bị mất cắp. Tại các vùng
nhạy cảm về an ninh, các hệ thống giám sát được thiết lập để có thể cảnh báo kịp thời
những hành vi khả nghi liên quan đến khủng bố, trộm cắp, hỏa hoạn…
Hệ thống camera giám sát có thể được thực hiện thủ công, bán tự động, hoặc
hoàn toàn tự động. Trong các hệ thống giám sát video thủ công truyền thống, các
luồng video được quan sát bởi các giám sát viên trong thời gian thực, cho phép họ can
thiệp nhanh chóng nếu có một sự kiện quan tâm được phát hiện. Việc xử lý trực tiếp
của tất cả các luồng video là rất khó khăn do số lượng camera được triển khai nhiều

cùng với một lượng lớn dữ liệu thu nhận từ chúng. Chính vì vậy, dữ liệu video đã được
lưu trữ lại trên các phương tiện truyền thông kỹ thuật số trong một khoảng thời gian
xác định, chúng được tái sử dụng để truy vấn, trích xuất thông tin hữu ích khi cần thiết
như nhận dạng hoặc tìm kiếm bằng chứng.
Tuy nhiên, khi số lượng camera tăng lên đáng kể thì rõ ràng đây là một nhiệm vụ
hết sức khó khăn để một giám sát viên có thể theo dõi đầy đủ tất cả các đối tượng
trong hệ thống, điều này dẫn đến khả năng bỏ sót các cảnh quan trọng tại các camera
tăng lên. Nguyên nhân chính là sự mất tập trung của giám sát viên vào camera ngay tại
thời điểm xảy ra sự việc, bởi hầu hết thời gian trong quá trình giám sát không có sự
kiện đặc biệt nào xảy ra nên sau một thời gian theo dõi các hình ảnh mà không có vấn
đề gì xảy ra, cơn buồn ngủ, sự mệt mỏi và sự giảm mức độ cảnh giác thường gây ra
các sai sót trong việc phát hiện sự kiện quan trọng.
Hơn nữa, khi cần truy vấn hoặc trích rút thông tin với các dữ liệu đã lưu trữ, đặc
biệt là đối với các cơ quan an ninh chính phủ như cảnh sát, tìm kiếm một người nào đó
quan tâm trong hàng trăm hoặc hàng ngàn giờ video ghi lại từ nhiều camera, phải cần
một lượng lớn các cán bộ thực thi trong nhiều giờ hoặc nhiều ngày để thực hiện, việc
dành quá nhiều nhân lực trong thời gian dài sẽ dẫn lãng phí về thời gian và tài chính.
Chính vì vậy, vấn đề giám sát tự động là nhiệm vụ hàng đầu trong hệ thống giám
sát bằng camera nhằm hỗ trợ tối đa con người trong việc điều khiển, giám sát, giảm
thiểu các sai sót không đáng có, đồng thời qua đó cũng giải phóng sức lao động của
các giám sát viên.
1.4. GIỚI THIỆU VỀ OPENCV
OpenCV là một thư viện mã nguồn mở hàng đầu cho thị giác máy tính
(Computer Vision), xử lý ảnh và máy học, và các tính năng tăng tốc GPU trong hoạt
động thời gian thực.


9

OpenCV được phát hành theo giấy phép BSD, do đó nó hoàn toàn miễn phí cho

cả học thuật và thương mại. Nó có các Interface C++, C, Python, Java và hỗ trợ
Windows, Linux, Mac OS, iOS và Android. OpenCV được thiết kế để tính toán hiệu
quả và với sự tập trung nhiều vào các ứng dụng thời gian thực. Được viết bằng tối ưu
hóa C/C++, thư viện có thể tận dụng lợi thế của xử lý đa lõi.
1.4.1. Các ứng dụng của OpenCV
- Hình ảnh street view
- Kiểm tra và giám sát tự động
- Robot và xe hơi tự lái
- Phân tích hình ảnh y tế
- Tìm kiếm và phục hồi hình ảnh/video
- Phim - cấu trúc 3D từ chuyển động
1.4.2. Chức năng của OpenCV
- Image/video I/O, xử lý, hiển thị (core, imgproc, highgui)
- Phát hiện các vật thể (objdetect, features2d, nonfree)
- Geometry-based monocular or stereo computer vision (calib3d, stitching)
- Computational photography (photo, video, superres)
- Machine learning & clustering (ml, flann)
- CUDA acceleration (gpu)
1.4.3. Cấu trúc OpenCV
CV
Các hàm về xử lý
ảnh và giải thuật về
thị giác máy tính

MLL
Các thuật toán học máy,
bao gồm các bộ phân
cụm, phân loại thống kê

CV

Các hàm và thủ tục
làm việc với file
ảnh, file video

CXCORE
Các cấu trúc dữ liệu cơ bản, cấu trúc XML, các hàm về đồ họa, ….

Hình 1.3. Cấu trúc OpenCV
CV (Computer Vision) là thành phần chữa những xử lý ảnh cơ sở và thuật toán
thị giác máy tính mức cao.
MLL(Machine Learning Library) là thư viện Machine Learning, cái này bao gồm
rất nhiều lớp thống kê và gộp công cụ xử lý.
HighGUI chứa các thủ tục vào ra và các hàm dùng cho việc lưu trữ và tải ảnh
video.
CXCore chứa cấu trúc và nội dung dữ liệu cơ sở.


10

1.4.4. Thư viện EmguCV
Thư viện EmguCV là một cross flatform . NET cho phép gọi ra các tính năng của
OpenCV từ môi trường . NET, đây có thể coi một bộ thư viện xử lý hình ảnh rất hiệu
quả dành cho ngôn ngữ lập trình C#.
Ngoài C#, EmguCV còn có khả năng tương thích với các ngôn ngữ lập trình khác
như: VC ++, VB. NET, Iron Python, . . .
Bộ Wrapper này ngoài có thể được biên dịch bởi Visual Studio thì cũng có thể
được biên dích bởi Unity hay Xamarin Studio và hoạt động trên các môi trường khác
nhau như Windows, Linux, Android, IOS và thậm chí là cả Windows Phone.



11

CHƯƠNG 2

KỸ THUẬT NHẬN DẠNG KHUÔN MẶT
Các pha trong hệ thống nhận dạng khuôn mặt bao gồm:bước đầu tiên cần thực
hiện là face detection tức là phát hiện phần ảnh khuôn mặt trong dữ liệu đầu vào (cơ sở
dữ liệu ảnh, video) và cắt lấy phần ảnh khuôn mặt để thực hiện nhận dạng
(facecropping), bước thứ hai là tiền xử lý ảnh (preprocessing) bao gồm các bước căn
chỉnh ảnh (face image alignment) và chuẩn hóa ánh sáng (illumination normalization).
Tiếp đến là bước trích chọn đặc trưng (feature extraction), ở bước này một phương
pháp trích chọn đặc trưng nào đó sẽ được sử dụng với ảnh khuôn 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 đặc trưng (feature vector), bước tiếp theo là bước nhận dạng khuôn mặt (face
recognition).
2.1. PHÁT HIỆN KHUÔN MẶT
Như đã trình bày ở trên thì bước đầu tiên của hệ thống nhận dạng khuôn mặt cần
thực hiện là phát hiện khuôn mặt. Đây là chủ đề được quan tâm nhiều nhất trong lĩnh
vực thị giác máy tính. Có rất nhiều các phương pháp được đưa ra như sử dụng
Template Matching, Neural Networks, Haar-like, …Tuy nhiên, phương pháp phát hiện
khuôn mặt dựa trên các đặc trưng Haar-like được sử dụng nhiều nhất. 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 trên 98%.
2.1.1. Đặc trưng Haar-like
Đặc trưng Haar-like được sử dụng trong việc nhận dạng đối tượng trong ảnh số,
được phát biểu bởi Viola & Jones gồm 4 đặc trưng cơ bản để xác định một đối tượng
trong một hình ảnh. Mỗi đặc trưng Haar-like là sự kết hợp gồm 2 hoặc 3 khối hình chữ
nhật mang giá trị “đen” hoặc “trắng”. Những khối hình chữ nhật này thể hiện sự liên
hệ tương quan giữa các bộ phận trong ảnh mà bản thân từng giá trị pixel không thể
diễn đạt được.


Hình 2.1. Đặc trưng theo cạnh


12

Hình 2.2. Đặc trưng theo đường

Hình 2.3. Đặc trưng theo xung quanh tâm

Hình 2.4. Đặc trưng theo đường chéo
Dựa theo các đặc trưng trên, giá trị của đặc trưng Haar-like được xây dựng bởi
độ chênh lệch giữ tổng các pixel của các vùng đen so với tổng pixel của các vùng trắng
theo công thức như sau:
f(x) = Tổng vùng đen(các mức xám của pixel) - Tổng vùng trắng(các mức xám
của pixel)
Như vậy để tính giá trị đặc trưng Haar-like cần phải thực hiện tính toán tổng các
vùng pixel trên ảnh. Điều này làm cho chi phí của bài toán lớn không thể đáp ứng các
tính năng theo thời gian thực. Do vậy Viola & Jones đề xuất ra khái niệm Integral
Image (ảnh tích phân) để giảm thiểu chi phí cho bài toán tính giá trị của các đặc trưng
Haar-like để bài toán có thể xử lý với thời gian thực.
Ảnh tích phân là một khái niệm được sử dụng rất nhiều trong thị giác máy tính.


13

Các đặc dạng chữ nhật có thể được tính toán rất nhanh sử dụng một phép biểu diễn
trung gian là ảnh tích phân. Ảnh tích phân ở vị trí (x,y) được tính bằng tổng các giá
trị pixel của vùng từ vị trí (0,0) đến vị trí (x-1, y-1). Việc tính toán đơn giản là việc
thực hiện phép cộng các số nguyên nên tốc độ thực hiện được tối ưu hóa.
(0,0)


P(x,y)

Hình 2.5.Cách tính Integral Image của ảnh
𝑃(𝑥, 𝑦) = ∑

𝑥 ′ ≤𝑥,𝑦 ′ ≤𝑦

𝑖(𝑥 ′ , 𝑦 ′ )

Tổng các điểm nằm trong hình chữ nhật A4 có thể được tính toán theo 4 mảng
tham chiếu. Giá trị của ảnh tích phân tại điểm P1 là tổng các điểm ảnh trong hình chữ
nhật A1. Giá trị tại điểm P2 là A1 + A2, tại điểm P3 là A1 + A3 và tại P4 là A1 + A2 + A3
+ A4. Tổng trong A4 được tính bằng giá trị tại P4 cộng giá trị tại P1 trừ đi giá trị tại P2
và P3.
Gọi vùng cần tính tổng các giá trị pixel là vùng “A4”:
P1(x1,y1) = A1;
P2(x2,y2) = A1 + A2;
P3(x3,y3) = A1 + A3;
P4(x4,y4) = A1 + A2 + A3 + A4
A4 = P4 + P1 – P2 – P3

A1

A2
P1(x1,y1)

P2(x2,y2)
A4


A3
P3(x3,y3)

P4(x4,y4)

Hình 2.6. Cách tính tổng giá trị Pixel vùng cần tính
2.1.2. Thuật toán tăng tốc Adaboost
Thuật toán tăng tốc Adaboost là thuật toán máy học được cải tiến từ thuật toán


14

Boosting. Với ưu điểm khả năng giải quyết bài toán nhanh chóng, cài đặt đơn giản và
dễ dàng, không có các tham số để điều chỉnh và không cần tri thức về bộ học yếu do
đó thuật toán tăng tốc Adaboost được sử dụng nhiều trong các ứng dụng về nhận dạng.
a. Tiếp cận Boosting
Boosting là kĩ thuật nâng cao độ chính xác cho các thuật toán máy học. Năm
1989, Schaire đã đưa ra các chứng minh đầu tiên về thuật toán boosting. Và một năm
sau đó Freund đã phát triển thuật toán boosting một cách hiệu quả hơn rất nhiều, mặc
dù vẫn còn nhiều hạn chế trong thực tế và chỉ tối ưu trong một số trường hợp. Các thực
nghiệm đầu tiên với thuật toán boosting được thực hiện bởi Drucker, Schapire và
Simard trong chương trình nhận dạng ký tự quang học (OCR - Optical Character
Recognition). Mãi đến năm 1995 thuật toán AdaBoost mới chính thức được công bố
bởi Freund và Schapire.
Nguyên lý cơ bản của thuật toán Boosting là kết hợp các bộ phân loại yếu (weak
classifiers) thành một bộ phân loại mạnh (strong classifier). Trong đó bộ phân loại yếu
là các bộ phát hiện đơn giản chỉ cần có độ chính xác trên 50%. Bằng cách này, chúng
ta nói bộ phát hiện đã được “boost”.
Xét một bài toán phát hiện 2 lớp (mẫu cần nhận dạng sẽ được phân vào 1 trong 2
lớp) với D là tập huấn luyện gồm có n mẫu. Trước tiên, chúng ta sẽ chọn ngẫu nhiên ra

n1 mẫu từ tập D (n1đầu tiên C1 từ tập D1. Tiếp theo, chúng ta xây dựng tập D2 để huấn luyện bộ phân loại
C2. D2 sẽ được xây dựng sao cho một nửa số mẫu của nó được phân loại đúng bởi C1
và nửa còn lại bị phân loại sai bởi C1. Bằng cách này, D2 chứa đựng những thông tin
bổ sung cho C1. Bây giờ chúng ta sẽ xây huấn luyện C2 từ D2.
Tiếp theo, chúng ta sẽ xây dựng tập D3 từ những mẫu không được phân loại tốt
bởi sự kết hợp giữa C1 và C2: những mẫu còn lại trong D mà C1 và C2 cho kết quả
khác nhau. Như vậy, D3 sẽ gồm những mẫu mà C1 và C2 hoạt động không hiệu quả.
Sau cùng, chúng ta sẽ huấn luyện bộ phân loại C3 từ D3. Bây giờ chúng ta đã có
một “strong classifier”: sự kết hợp C1, C2 và C3.
Khi tiến hành nhận dạng một mẫu X, kết quả sẽ được quyết định bởi sự thỏa
thuận của 3 bộ C1, C2 và C3: Nếu cả C1 và C2 đều phân X vào cùng một lớp thì lớp này
chính là kết quả phân loại của X; ngược lại, nếu C1 và C2 phân X vào 2 lớp khác nhau,
C3 sẽ quyết định X thuộc về lớp nào
b. Adaboost
AdaBoost (Adaptive Boost) là một bộ phân loại phi tuyến mạnh cải tiến từ thuật
toán Boosting, giúp đẩy nhanh việc tạo ra bộ phân loại mạnh (strong classifier) bằng
cách chọn các đặc trưng tốt Haar-Like trong bộ phân loại yếu (weak classifier) và kết


15

hợp chúng lại tuyến tính để hình thành một bộ phân loại mạnh (strong classifier) bằng
cách sử dụng các trọng số (weight) để đánh dấu các mẫu khó nhận dạng. Cho trước
một vài thuật toán học yếu, người ta áp dụng kỹ thuật tăng cường để tạo ra thuật toán
học mạnh hơn. Adaboost là thuật toán cho phép ta có thể làm được điều trên. Gồm có
2 giai đoạn chính như sau:
Giai đoạn 1: Tạo ra các giả định yếu (weak hypotheses) từ các thuật toánhọc yếu.
Giai đoạn 2: Tạo ra các thuật toán học mạnh từ các giả định yếu.
Với một tập dữ liệu huấn luyện, một giả định yếu được khởi tạo như sau:

Đầu vào(Input): Cho một tập dữ liệu huấn luyện, N cặp (xi, yi), xi là các vector
đặc trưng Haar, yi là giá trị đầu ra mong muốn luôn luôn mang giá trị bằng +1 hoặc 1(trong đó +1 là đối tượng (object), -1 không phải là đối tượng(background)), và số
lượng vòng lặp là T.
Đầu ra(Output): Tồn tại một hàm có thể được sử dụng để phân lớp các đặc trưng
của vector x.
Nếu fT(x) < 0 thì x được phân lớp là -1
Nếu fT(x) > 0 thì x được phân lớp là +1
- Khởi tạo: Cho trọng số Wi =

1
𝑁

- Lặp: For t = 1,2,3 …, tính giả định (hypothesis) ht , trọng số tốt (goodness) 𝛼𝑡 ,
và đồng thời cập nhật lại các trọng số W1, W2,.., WN theo các bước sau:
Bước 1: Chọn ngẫu nhiên một tập con St trong tập dữ liệu huấn luyện. Trong
trường hợp này chính là trọng số Wn.
Bước 2: Tính toán giả định ht bằng cách sử dụng bộ phân lớp yếu cho St
Bước 3: Tính toán sai số của trọng số huấn luyện 𝜀𝑡 của ht.
𝜀𝑡 = ∑ 𝑦𝑖≠ℎ𝑡(𝑥𝑖 ) 𝑃𝑖
Bước 3.1: Nếu 𝜀𝑡 > 0.5 thì quay lại bước lặp.
Bước 3.2: Nếu 𝜀𝑡 = 0 thì đây không phải là một phân lớp yếu. Khi đó nên tăng
thêm số lượng mẫu huấn luyện
Bước 4: Tính toán trọng số tốt 𝛼𝑡 của ht
1 1 − 𝜀𝑡
𝛼𝑡 = ln
2
𝜀𝑡
Bước 5: Cập nhật lại trọng số
𝑡


𝑒 −𝜀 , 𝑛ế𝑢 ℎ𝑡 (𝑥𝑖 ) = 𝑦𝑖
Với 𝑞𝑖 = { 𝜀𝑡
𝑒 , 𝑛ế𝑢 ℎ𝑡 (𝑥𝑖 ) ≠ 𝑦𝑖
Và qi mới: 𝑞𝑖 =

𝑤𝑖 𝑞𝑖
𝑍𝑡

=

𝑤𝑖 𝜀−𝛼𝑡 𝑦𝑖 ℎ𝑡(𝑥𝑖 )
𝑍𝑡


16

Trong đó Zt là thừa số chuẩn hóa sao cho ∑𝑖 𝑊𝑖 = 1
Kết thúc:
𝑇

𝑓𝑇 (𝑥) = ∑

𝛼𝑡 ℎ𝑡 (𝑥)

𝑡=1

Tính chất quan trọng nhất của thuật toán Adaboost là có ft+1 tốt hơn ft. Để đánh
giá hiệu quả của thuật toán ta định nghĩa hàm sai số sau:
1,
𝑛ế𝑢 𝑓 𝑘ℎô𝑛𝑔 𝑝ℎâ𝑛 𝑙ớ𝑝 𝑥𝑖 𝑙à 𝑦𝑖

𝑤𝑟𝑜𝑛𝑔(𝑓, 𝑥𝑖 , 𝑦𝑖 ) = {
0,
𝑛ế𝑢 𝑓 𝑝ℎâ𝑛 𝑙ớ𝑝 𝑥𝑖 𝑙à 𝑦𝑖
Khi đó tổng sai số fT trên mẫu N là :
∑𝑁
𝑖=1 𝑤𝑟𝑜𝑛𝑔(𝑓𝑇 , 𝑥𝑖 , 𝑦𝑖 )
𝑁
2.2. THEO VẾT KHUÔN MẶT THEO TRÌNH TỰ VIDEO
Theo vết đối tượng thời gian thực là một công đoạn trong rất nhiều ứng dụng thị
𝜀𝑇 =

giác máy tính. Một trong những mục tiêu của theo vết đối tượng là để “hiểu” được
những chuyển động của đối tượng, “hiểu” những thông tin về đối tượng gồm vị trí
trong không gian, vận tốc chuyển động và những đặc trưng vật lý khác.
Mức khó khăn của vấn đề phụ thuộc vào loại đối tượng muốn phát hiện và theo
vết. Nếu như chỉ có một vài đặc trưng chẳng hạn như màu sắc … được dùng để biểu
diễn đối tượng, thì khá dễ dàng xác định tất cả các pixel cùng màu với đối tượng.
Nhưng thực tế hoàn toàn khác, ví dụ như một người cụ thể sẽ có đầy đủ các chi tiết và
thông tin nhiễu chẳng hạn như các tư thế và sự chiếu sáng khác nhau, khó phát hiện,
nhận diện và theo vết.
Hầu hết các khó khăn này nảy sinh từ khả năng biến động của ảnh video bởi vì
các đối tượng video thường là các đối tượng chuyển động. Khi đối tượng chuyển động
qua vùng quan sát của camera, hình ảnh về đối tượng có thể thay đổi. Sự thay đổi này
đến từ 3 nguồn chính: thay đổi tư thế đối tượng, sự biến dạng của đối tượng, thay đổi
về độ chiếu sáng, và sự che khuất một phần hay toàn bộ đối tượng.
Theo vết đối tượng là giám sát các thay đổi theo không gian và thời gian của đối
tượng trong suốt chuỗi ảnh, bao gồm sự hiện diện, vị trí, kích thước, hình dáng… của
đối tượng. Quy trình theo vết đối tượng gồm các bước sau:
- Phát hiện đối tượng
- Phân vùng

- Theo vết đối tượng
Việc theo vết khuôn mặt được trình bày trong nội dung của luận văn này sử dụng
so sánh hai khung hình, có thể so sánh khung hình hiện tại với hình nền chúng ta chụp
ban đầu khi chúng ta bật camera hoặc khung hình trước đó.


17

Để theo vết khuôn mặt chúng ta sử dụng cách so sánh vị trí của khuôn mặt trong
2 frame liên tiếp nhau. Nếu một phát hiện trong thời điểm t quá gần với một trạng thái
đã có tại thời điểm t-1 thì nó sẽ được xem là trùng với đối tượng đó. Một cách gần
đúng, ta giả định những phát hiện này xuất phát từ đối tượng đã có từ thời điểm t-1
trước đó. Có một khoảng cách được gọi là delta khi một khuôn mặt được so sánh trong
2 frame liên tiếp mà gần nhau nhất thì được coi là cùng khuôn mặt. Nếu khoảng cách
này vượt qua giá trị delta thì nó là hai khuôn mặt khác nhau. Ngoài ra do lo sợ sự xuất
hiện của hai khuôn mặt liên tiếp nhưng của của người khác nhau, ta tính thêm một
thông số nữa là tỉ lệ khuôn mặt nếu vị trí gần nhau rồi và tỉ lệ khuôn mặt trước và sau
nằm trong khoảng 85-100%.
2.3. NHẬN DẠNG KHUÔN MẶT

Ảnh tĩnh

Tiền xử lý

Trích rút
đặc trưng

Nhận
dạng
khuôn

mặt

Hình 2.7. Hệ thống nhận dạng khuôn mặt cơ bản
Hình 2.7 mô tả các bước nhận dạng khuôn mặt cơ bản trong một hệ thống với
đầu vào là một bức ảnh tĩnh.
2.3.1. Tiền xử lý
Quá trình này giúp nâng cao chất lượng hình ảnh, chuẩn hóa về mặt dữ liệu, kích
thước hình ảnh. Giúp cho việc trích rút đặc trưng được chính xác hơn. Hình ảnh thu
được từ camera có chất lượng tương đối tốt, rõ nét nên ta không cần dùng các thuật
toán nâng cao chất lượng hình ảnh.
2.3.2. Trích rút đặc trưng
Trích rút đặc trưng là kỹ thuật sử dụng các thuật toán để lấy ra những thông tin
mang những đặc điểm riêng biệt của một người. Quá trình này phải đảm bảo về hiệu
năng tính toán và lưu trữ của máy. Quá trình này bao gồm: giảm số chiều, trích đặc
trưng, chọn lọc đặc trưng. Giảm số chiều là một nhiệm vụ quan trọng trong bất cứ hệ
thống nhận dạng nào. Hiệu năng của một bộ phân lớp phụ thuộc vào số lượng ảnh
mẫu, số đặc trưng và độ phức tạp của bộ phân lớp. Tỷ lệ lỗi của một bộ phân lớp có
thể không tăng khi các đặc trưng tăng. Tuy nhiên khi thêm các đặc trưng có thể giảm
hiệu năng của bộ phân lớp. Điều này có thể xảy ra khi số lượng mẫu học nhỏ hơn so
với số lượng đặc trưng. Một cách giải quyết vấn đề này là số lượng mẫu học cho một
lớp gấp 10 lần số đặc trưng. Do đó việc giữ số lượng đặc trưng nhỏ nhất có thể là rất


×