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

Nghiên cứu phương pháp nhận diện khuôn mặt và ứng dụ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 (1.01 MB, 45 trang )

TRƯỜNG ĐẠI HỌC SƯ PHẠM – ĐẠI HỌC ĐÀ NẴNG
KHOA TIN HỌC

BÁO CÁO
KHÓA LUẬN TỐT NGHIỆP
Đề tài: NGHIÊN CỨU PHƯƠNG PHÁP NHẬN DIỆN KHUÔN MẶT
VÀ ỨNG DỤNG

Giảng viên hướng dẫn : TS. Phạm Anh Phương
Sinh viên thực hiện

: Nguyễn Thị Duyên

Lớp

: 13CNTT

Tháng 4/2017


LỜI CẢM ƠN
Đề tài “Nghiên cứu phương pháp nhận diện khn mặt và ứng dụng” ra đời
với một đích nhằm nâng cao hiểu biết của bản thân và đánh giá lại quá trình học
tập tại khoa Tin học, trường Đại học Sư phạm cùng với sự giúp đỡ tạo điều kiện của
các thầy cô trong khoa. Trước tiên, em xin chân thành cảm ơn các thầy cô, đặc biệt
cảm ơn Thầy, Tiến sĩ Phạm Anh Phương là người đã gợi ý và trực tiếp hướng dẫn
em hoàn thành luận văn này.
Mặc dù đã cố gắng nhưng do trình độ và kinh nghiệm thực tế cịn hạn chế
nên trong q trình thực hiện đồ án khơng tránh khỏi những thiếu sót. Em rất mong
nhận được những nhận xét, đóng góp từ Thầy Cô và các bạn để đồ án của em có thể
hồn thiện hơn.


Em xin chân thành cảm ơn!
Nguyễn Thị Duyên


Báo cáokhóa luận tốt nghiệp

2017

LỜI CAM ĐOAN
Em xin cam đoan những nghiên cứu trong luận văn này là trung thực và không
trùng lặp với các tài liệu khác. Mọi sự sai lệch em xin chịu hoàn toàn trách nhiệm.

Đà Nẵng, tháng 4 năm 2017
Sinh viên thực hiện
Nguyễn Thị Duyên


Báo cáokhóa luận tốt nghiệp

2017

NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………

……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………

Đà Nẵng, ngày

tháng 4 năm 2017

Cán bộ hướng dẫn


Báo cáokhóa luận tốt nghiệp

2017

NHẬN XÉT CỦA HỘI ĐỒNG PHẢN BIỆN

……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
Đà Nẵng, ngày


tháng 4 năm 2017

Hội đồng phản biện


Báo cáokhóa luận tốt nghiệp
DANH MỤC CÁC TỪ VIẾT TẮT

STT

Ký hiệu viết tắt

Tên của ký hiệu viết tắt

1

CV

Computer Vision

2

ML

Machine Learning

3

CVCAM


Computer Vision Camera

4

RGB

Read Green Blue

5

PDF

Probility Density Funtion

6

ML

Maximum Likelhood

7

PCA

Principal Component Analysic

8

SUM


Suport Vector Machine

9

LCD

Liquid crystal display

10

CRT

Cathode Ray Tube

2017


Báo cáokhóa luận tốt nghiệp

2017

DANH MỤC HÌNH VẼ

Hình 1: Biểu diễn điểm ảnh .............................................................................. 19
Hình 2: Mơ hình RGB ...................................................................................... 20
Hình 3: Biến đổi ảnh xám ................................................................................. 21
Hình 4:Độ phân giải của 1 ảnh ......................................................................... 22
Hình 5: So khớp mẫu khn mặt ...................................................................... 27
Hình 6: Biểu diễn ảnh trong khơng gian .......................................................... 28

Hình 7: Biểu diễn ảnh trong khơng gian 3 chiều .............................................. 28
Hình 8: Sơ đồ Usecase ...................................................................................... 37
Hình 9: Sơ đồ luồng .......................................................................................... 38
Hình 10: Vào hệ thống điểm danh .................................................................... 41
Hình 11: Thêm sinh viên .................................................................................. 42
Hình 12: Kiểm tra số lần điểm danh ................................................................. 43
Hình 13: Thống kê ............................................................................................ 43


Báo cáokhóa luận tốt nghiệp

2017

DANH MỤC BẢNG

Bảng 1: Lớp ...................................................................................................... 39
Bảng 2: Tài khoản............................................................................................. 39
Bảng 3: Điểm danh ........................................................................................... 40
Bảng 4: SinhVien.............................................................................................. 40

MỤC LỤC
DANH MỤC CÁC TỪ VIẾT TẮT ............................................................................ 6
DANH MỤC HÌNH VẼ .............................................................................................. 7
DANH MỤC BẢNG ................................................................................................... 9
MỞ ĐẦU ..................................................................................................................... 1
1.

Lý do chọn đề tài ...................................................................................... 1

2.


Mục tiêu nghiên cứu ................................................................................. 1

3.

Đối tượng nghiên cứu ............................................................................... 1

4.

Giới hạn và phạm vi nghiên cứu............................................................... 1

5.

Phương pháp nghiên cứu .......................................................................... 2

6.

Bố cục đề tài ............................................................................................. 2

CHƯƠNG 1: TỔNG QUAN VỀ CƠNG NGHỆ JAVAWEB................................... 3
1.1

JavaWeb.................................................................................................... 3

1.2

Mơ hình MVC........................................................................................... 3

1.3


Struts Framework..................................................................................... 4

1.4

HTML ....................................................................................................... 6

1.5

JQUERY .................................................................................................. 7
1.5.1 Giới thiệu................................................................................................ 7
1.5.2 Cú pháp .................................................................................................. 8

1.6

AJAX ....................................................................................................... 8
1.6.2 Cú pháp .................................................................................................. 9

1.7

Java Servlet ............................................................................................... 9
1.7.1 Giới thiệu................................................................................................ 9


Báo cáokhóa luận tốt nghiệp

2017

1.7.2 Cấu trúc của Servlet ............................................................................. 10
1.8


Môi trường .............................................................................................. 10
1.8.1 Eclipse ................................................................................................. 10
.8.2 SQL Server ............................................................................................ 12

CHƯƠNG 2: ĐỀ TÀI QUẢN LÝ TRUNG TÂM GIA SƯ ................................... 14


Báo cáokhóa luận tốt nghiệp

2017

2.1 Giới thiệu bài tốn ....................................................................................... 14
2.2

Yêu cầu chức năng...................................................................................... 14
2.2.1 Admin .................................................................................................. 14
2.2.2 Giáo viên ............................................................................................. 14
2.2.3 Học viên .............................................................................................. 14
2.2.4 Người dùng vãng lai:........................................................................... 15
2.2.5 Chức năng chi tiết ............................................................................... 15

2.3 Phân tích thiết kế hệ thống........................................................................... 16
2.3.1 Sơ đồ Usecase (Usercase diagram) ..................................................... 16
2.3.2 Mơ hình luồng ..................................................................................... 21
2.3.3 Thiết kế cơ sở dữ liệu .......................................................................... 23
2.3.4 Sơ đồ lớp (Class Diagram) .................................................................. 27
2.3.5 Sơ đồ tuần tự (Sequence diagram) ...................................................... 32
CHƯƠNG 3: TRIỂN KHAI WEB QUẢN LÝ TRUNG TÂM GIA SƯ..………...41
3.1 Môi trường triển khai.................................................................................... 41
3.2 Kết quả triển khai......................................................................................... 41

3.2.1
3.2.2
3.2.3
3.2.4

Trang chủ.............................................................................................. 41
Đăng nhập ............................................................................................ 42
Giới thiệu.............................................................................................. 42
Đăng ký học kèm.................................................................................. 43

KẾT LUẬN ............................................................................................................... 45
1.

Các kết quả đạt được .............................................................................. 45

2.

Hạn chế ................................................................................................... 45

3.

Hướng phát triển ..................................................................................... 45

TÀI LIỆU THAM KHẢO..............................

SVTH: Nguyễn Thị Duyên

Page 10



Báo cáokhóa luận tốt nghiệp

2017

MỞ ĐẦU
1. Lý do chọn đề tài
Cùng với sự phát triển không ngừng của khoa học kĩ thuật, các ứng dụng mang
tính cơng nghệ xuất hiện ngày càng nhiều và đang dần thay thế con người trong lao
động và sản xuất.
Theo đó, hệ thống nhận diện bằng máy móc đang được ứng dụng trong nhiều
lĩnh vực của xã hội từ an ninh, quốc phòng đến kinh tế, chín trị. Vì vậy, việc nghiên
cứu để cho ra đời nhiều ứng dụng tạo điều kiện để máy móc có thể thay con người
nhận biết bất cứ vật gì là điều vơ cùng cần thiết, nó khơng những giúp rút ngắn thời
gian, cơng sức lao động mà cịn đưa con người tiến xa hơn trên con đường nghiên cứu
và ứng dụng khoa học cơng nghệ hiện đại.
Chính vì vậy, đề tài phương pháp nhận diện khuôn mặt và ứng dụng được đưa
vào nghiên cứu với mục đích giúp máy móc có thể nhận dạng được khn mawtjcon
người, ứng dụng rộng rãi trong an ninh, bảo mật, kinh tế, giáo dục...
2. Mục tiêu nghiên cứu
 Nắm rõ được phương pháp nhận diện khuôn mặt với OpenCV.
 Nắm rõ được quy tắc làm việc của Open CV, Visual Studio và SQL Server.
 Xây dựng được ứng dụng nhận diện khuôn mặt người áp dụng để điểm danh số
lượng trong một lớp, nhóm.
3. Đối tượng nghiên cứu
 EmguCV 3.0.0.2157 .
 Visual Studio 2012.
 SQL Server 2014.
 Các giải thuật phát hiện khuôn mặt.
 Các giải thuật nhận diện khuôn mặt.
4. Giới hạn và phạm vi nghiên cứu



Giới hạn mẫu phát hiện là khuôn mặt người.

SVTH: Nguyễn Thị Duyên

Page 11


Báo cáokhóa luận tốt nghiệp


Giới hạn ứng dụng được dùng trong lớp học, nhóm, câu lạc bộ.



Cơng cụ hỗ trợ: Visual Studio 2012.



Lưu trữ dữ liệu: Sql Server 2014.

2017

5. Phương pháp nghiên cứu


Tìm hiểu, khảo sát các ứng dụng có chức năng tương tự, nghiên cứu và ứng
dụng vào đề tài.




Tham khảo cách tổ chức, bố cục của giao diện hướng đến sự đơn giản, dễ sử
dụng đối người sử dụng.



Đề xuất các chức năng cho ứng dụng, cũng như nhận phải hồi ý kiến về chức
năng từ giáo viên hướng dẫn từ đó đưa ra các giải pháp hợp lý phù hợp với xu
thế phát triển của ứng dụng.



Ngoài ra sử dụng các phương pháp nghiên cứu khác như nghiên cứu tài liệu,
giáo trình hay các tài liệu tham khảo có liên quan đến hệ thống cần xây dựng.
6. Bố cục đề tài
Ngoài phần mở đầu và kết luận, báo cáo được chia ra làm 3 chương có cấu trúc

như sau:
Chương 1: Tổng quan về OpenCV.
Phần này sẽ trình bày sơ lược các kiến thức cơ bản mà đề tài sử dụng để thiết kế
ứng dụng nhận diện khuôn mặt: OpenCV, trong đề tài này, ta sẽ đề cập đến thư viện mà
OpenCV cung cấp cho .Net đó là EmguCV, các giải thuật liên quan , C#,
WindowForm, SQL Server cũng như môi trường sử dụng là Visual Studio và SQL
Server Managerment Studio 2014.
Chương 2: Đề tài nhận diện khuôn mặt và ứng dụng.
Phần này sẽ trình bày chi tiết q trình phân tích thiết kế hệ thống từ bước tìm hiểu,
phân tích u cầu người dùng, tạo tài liệu cho quá trình xây dựng như: Requirement
outline, SRS, vẽ Usecase, thiết kế mơ hình luồng (System Flow Page), sơ đồ lớp (Class
Diagram), và tiến hành thiết kế cơ sở dữ liệu cho ứng dụng.

Chương 3: Triển khai ứng dụng quản lý điểm danh trong một lớp.
Cài đặt chương trình, giới thiệu ứng dụng và cách sử dụng.

SVTH: Nguyễn Thị Duyên

Page 12


Báo cáokhóa luận tốt nghiệp

2017

CHƯƠNG 1: TỔNG QUAN VỀ OPENCV
1.1 Open CV
Computer vision (viết tắt - CV) tạm dịch là thị giác máy tính là ngành khoa học và cơng
nghệ làm cho máy móc có khả năng "nhìn".
Là một mơn khoa học, CV liên quan đến lí thuyết và cơng nghệ trong việc xây dựng các hệ
thống trí tuệ nhân tạo nhận thơng tin từ hình ảnh. Hình ảnh có thể được truyền vào dưới nhiều
dạng: video, các góc nhìn của nhiều camera, dữ liệu nhiều chiều từ máy chụp trong y tế.
Là một ngành công nghệ, CV nghiên cứu và ứng dụng các lý thuyết, các mơ hình trong thị
giác máy tính để xây dựng các hệ thống computer vision.
Nhận dạng mặt người được nghiên cứu từ nhưng năm 1980, là một lĩnh vực nghiên cứu
của ngành thị giác máy tính (Computer Vision), và cũng được xem là một lĩnh vực nghiên cứu
của ngành sinh trắc học (Biometrics) tương tự như nhận dạng vân tay – Fingerprint recognition,
hay nhận dạng mống mắt – Iris recognition. Nhận dạng mặt có nguồn dữ liệu phong phú hơn và
ít địi hỏi sự tương tác có kiểm sốt hơn. Bài tốn nhận dạng mặt người còn nhiều thách thức
nên hàng năm trong & ngồi nước vẫn có nhiều nghiên cứu về các phương pháp nhận dạng mặt
người.
Chúng ta có khả năng nhận ra hàng ngàn khn mặt của những người mình đã gặp, đã
giao tiếp trong cuộc sống chỉ bằng một cái nhìn thống qua, thậm chí sau nhiều năm khơng gặp

cũng như những sự thay đổi trên khuôn mặt do tuổi tác, cảm xúc, trang phục, mầu tóc,…Do đó,
việc nghiên cứu các đặc tính của khn mặt người đã thu hút rất nhiều nhà triết học, nhà khoa
học qua nhiều thế kỷ, trong đó có cả Aristotle và Darwin Chính vì những lý do trên, từ những
năm 1970, nhận dạng mặt người đã thu hút sự quan tâm của nhiều nhà nghiên cứu trong các lĩnh
vực như bảo mật, tâm lý học, xử lý ảnh và thị giác máy tính.
1.1.1 Open CV
Chức năng OpenCV được chứa trong một số module:


CXCORE chứa các định nghĩa kiểu dữ liệu cơ bản. Ví dụ, cấu trúc dữ liệu

điểm cho hình ảnh, hình chữ nhật và được quy định tại cxtypes.h.

SVTH: Nguyễn Thị Duyên

Page 13


Báo cáokhóa luận tốt nghiệp


2017

CV bao gồm xử lý hình ảnh và các phương pháp hiệu chỉnh máy ảnh. Các

chức năng tính tốn hình học cũng nằm ở đây.


CVAUX được mơ tả trong tài liệu hướng dẫn của OpenCV có chứa mã thử


nghiệm và thực nghiệm.Tuy nhiên, các giao diện đơn giản nhất để nhận dạng khuôn
mặt trong mô-đun này.


ML chứa machine-learning interfaces.



Các chức năng còn lại được chứa trong HighGUI và CVCAM. Cả hai đều

nằm trong một thư mục có tên là "otherlibs. Nó chứa các cửa sổ đa nền tảng, đa chức
năng.


CVCAM chứa các giao diện để truy cập video thông qua DirectX trên nền

tảng Windows 32-bit. Tuy nhiên, HighGUI cũng chứa các giao diện video.
1.1.2 Lập trình với EmguCV

Nhận diện:
haar = new HaarCascade("haarcascade_frontalface_default.xml");
try
{
foreach (DataRow dr in dt.Rows)
{
EmployeeID.Add(dr.ItemArray[0].ToString());
}
ContTrain = NumLabels = EmployeeID.Count();
for (int i = 1; i <= NumLabels; i++)
{

LoadFaces = String.Format("face" + i + ".bmp");
trainingImages.Add(new Image<Gray, byte>(Application.StartupPath +
"/TrainedFaces/" + LoadFaces));
}
}
catch (Exception)
{
}

SVTH: Nguyễn Thị Duyên

Page 14


Báo cáokhóa luận tốt nghiệp

2017

void FrameGrabber(object sender, EventArgs e)
{
try
{
imageBoxFrameGrabber1.Image = currentFrame;
currentFrame = grabber.QueryFrame().Resize(350, 335,
Emgu.CV.CvEnum.INTER.CV_INTER_CUBIC;
gray = currentFrame.Convert<Gray, Byte>();
MCvAvgComp[][] facesDetected = gray.DetectHaarCascade(haar,1.2,
10, Emgu.CV.CvEnum.HAAR_DETECTION_TYPE.DO_CANNY_PRUNING,
new Size(20, 20));
foreach

(MCvAvgComp f in facesDetected[0])
{
result = currentFrame.Copy(f.rect).Convert<Gray, byte>().Resize(100, 100,
Emgu.CV.CvEnum.INTER.CV_INTER_CUBIC;
ImageFace.Image = result;
currentFrame.Draw(f.rect, new Bgr(Color.Red), 2);
if (trainingImages.ToArray().Length != 0)
{
MCvTermCriteria termCrit = new MCvTermCriteria(ContTrain, 0.01);
EigenObjectRecognizer recognizer = new
EigenObjectRecognizer(trainingImages.ToArray(),
EmployeeID.ToArray(),
3000, ref termCrit);
name = recognizer.Recognize(result);
1.2 Ảnh là gì?
Là tập hợp hữu hạn các điểm ảnh.Ảnh có thể được biểu diễn dưới dạng một ma trận 2
chiều, mỗi phần tử của ma trận tương ứng với một điểm ảnh. Mỗi phần tử này được gọi là một
pixel (picture element).
Ảnh có thể được định nghĩa là một hàm 2 chiều f(x, y), trong đó x và y là các tọa độ trong
không gian (spatial) hoặc mặt phẳng (plane), và độ lớn (amplitude) của hàm f được gọi là độ
sáng (intensity) hay độ xám (gray level) của ảnh tại điểm đó.
1.3 Các kiểu ảnh
a.

Ảnh chỉ số (Index Images): một ảnh chỉ số bao gồm một ma trận dữ liệu X

và ma trận bản đồ màu (map). Ma trận dữ liệu có thể có kiểu thuộc lớp uint8, uint16
SVTH: Nguyễn Thị Duyên

Page 15



Báo cáokhóa luận tốt nghiệp

2017

hoặc kiểu double . Ma trận bản đồ màu là một mảng m x 3 kiểu double bao gồm các
giá trị dấu phẩy động nằm giữa 0 và 1. Mỗi hàng của bản đồ chỉ ra các giá trị mà: red,
green và blue của một màu đơn. Một ảnh chỉ số sử dụng ánh xạ trực tiếp giữa giá trị
của pixel ảnh tới giá trị trong bản đồ màu. Màu sắc của mỗi pixel ảnh được tính tốn
bằng cách sử dụng giá trị tương ứng của X ánh xạ tới một giá trị chỉ số của bản đồ
màu. Giá trị 1 chỉ ra hàng đầu tiên, giá trị 2 chỉ ra hàng thứ hai trong bản đồ màu. Một
bản đồ màu thường được chứa cùng với ảnh chỉ số và được tự động nạp cùng với ảnh.
Tuy nhiên, ta không bị giới hạn khi sử dụng bản đồ màu mặc định, ta có thể sử dụng
bất kì bản đồ màu nào. Các pixel trong ảnh được đại diện bởi một số nguyên ánh xạ
tới một giá trị tương ứng trong bản đồ màu.
b.

Ảnh cường độ ( Intensity Images ): một ảnh cường độ là một ma trận dữ

liệu ảnh I mà giá trị của nó đại diện cho cường độ trong một số vùng nào đó của ảnh.
Ma trận có thể thuộc lớp double, uint8 hay uint16. Trong khi ảnh cường độ hiếm khi
được lưu với bản đồ màu. Những phần tử trong ma trận cường độ đại diện cho các
cường độ khác nhau hoặc độ xám.
c.

Ảnh nhị phân (Binary Images ) : trong một ảnh nhị phân, mỗi pixel chỉ có

thể chứa một trong hai giá trị nhị phân 0 hoặc 1 tương ứng với bật hoặc tắt (on hoặc
off ). Một ảnh nhị phân được lưu trữ như một mảng lơgíc của 0 và 1 .

d.

d. Ảnh RGB ( RGB Images ) Một ảnh RGB được lưu trữ dưới dạng một

mảng dữ liệu có kích thước 3 chiều m x n x 3, định nghĩa các giá trị màu red, green và
blue cho mỗi pixel riêng biệt. Ảnh RGB không sử dụng bảng màu. Màu của mỗi pixel
được quyết định bởi sự kết hợp giữa các giá trị R,G,B (Red, Green, Blue) được lưu
trữ trong một mặt phẳng màu tại vị trí của pixel. Định dạng file đồ hoạ lưu trữ ảnh
RGB giống như một ảnh 24 bít trong đó R,G,B chiếm tương ứng 8 bít 1. Điều này
cho phép nhận được 16,7 triệu màu khác nhau . Một mảng RGB có thể thuộc lớp
double, uint8 hoặc uint16. Trong một mảng RGB thuộc lớp double, mỗi thành phần
màu có giá trị giữa 0 và 1. Một pixel mà thành phần màu của nó là (0,0,0) được hiển
thị với màu đen và một pixel mà thành phần màu là (1,1,1) được hiển thị với màu
trắng. Trong một ảnh RGB khoảng trắng tương ứng với giá trị cao nhất của mỗi màu
SVTH: Nguyễn Thị Duyên

Page 16


Báo cáokhóa luận tốt nghiệp

2017

riêng rẽ. Chẳng hạn trong ảnh mặt phẳng R, vùng trắng đại diện cho sự tập trung cao
nhất của màu đỏ thuần khiết. Nếu R được trộn với G hoặc B ta sẽ có màu xám. Vùng
màu đen trong ảnh chỉ ra giá trị của pixel mà không chứa màu đỏ R= 0. Tương tự cho
các mặt phẳng màu G và B.
1.4 Điểm ảnh
Trong kỹ thuật ảnh kỹ thuật số, một pixel, hay pel (viết tắt tiếng Anh: picture element) là
một điểm vật lý trong một hình ảnh raster, hoặc một khối màu rất nhỏ và là đơn vị cơ bản nhất

để tạo nên một bức ảnh kỹ thuật số. Địa chỉ của một điểm ảnh tương ứng với tọa độ vật lý ITS.
Pixel LCD được sản xuất trong một mạng lưới hai chiều, và được sử dụng dấu chấm hoặc đại
diện hình vng trong thường, nhưng điểm ảnh CRT tương ứng với cơ chế thời gian của chúng
và tỷ lệ qt. 1 pixel khơng có kích thước cố định.
Mỗi điểm ảnh là một mẫu của một hình ảnh ban đầu, nhiều điểm ảnh hơn thường cung cấp
đại diện chính xác hơn của bản gốc. Cường độ của mỗi điểm ảnh có thể thay đổi. Hình ảnh
trong hệ thống màu sắc, màu sắc thường là ba hoặc bốn đại diện trong cường độ thành phần như
màu đỏ, xanh lá cây, và màu xanh, hoặc màu lục lam, đỏ tươi, màu vàng, và màu đen. Hầu hết
các chương trình ứng dụng đồ họa đều diễn tả độ phân giải của hình ảnh bằng pixel dimensions
- kích thước pixel, với số đo chiều ngang đi trước.
1.5 Mức xám của ảnh
Mức xám của điểm ảnh là cường độ sáng của nó được gán bằng giá trị số tại điểm đó.
Trong biểu diễn số của các ảnh đa mức xám, một ảnh được biểu diễn dưới dạng một ma trận hai
chiều. Mỗi phần tử của ma trận biểu diễn cho mức xám hay cường độ của ảnh tại vị trí đó. Mỗi
phần tử trong ma trận được gọi là một phần tử ảnh hoặc điểm ảnh (pixel).
Một điểm ảnh có hai đặc trưng cơ bản là vị trí (x,y) của điểm ảnh và độ xám.
a.

Các thang giá trị mức xám thơng thường Thơng thường có các thang mức

xám như : 16, 32, 64, 128, 256 (với lý do kỹ thuật máy tính dùng 1 byte (8 bít) để
biểu diễn mức xám thì có thể biểu diễn: 28 = 256 mức (0…..255) thì mức 256 là mức
phổ dụng.
b.

Mức xám ở ảnh đen trắng Ảnh đen trắng là ảnh chỉ có hai màu đen trắng,

SVTH: Nguyễn Thị Duyên

Page 17



Báo cáokhóa luận tốt nghiệp

2017

mức xám ở các điểm ảnh có thể khác nhau. Nếu dùng 8 bit (1 byte) để biểu diễn mức
xám, thì số các mức xám có thể biểu diễn được là 28 hay 256. Mỗi mức xám được
biểu diễn dưới dạng là một số nguyên nằm trong khoảng từ 0 đến 255, với mức 0 biểu
diễn cho mức cường độ đen nhất và 255 biểu diễn cho mức cường độ sáng nhất.
c.

Mức xám ở ảnh nhị phân Ảnh chỉ có hai mức đen, trắng phân biệt, tức dùng

1 bít mơ tả 21 mức khác nhau. Nói cách khác mỗi điểm ảnh của ảnh nhị phân chỉ có
thể là 0 hoặc 1. d. Mức xám ở ảnh màu Ảnh màu được tạo nên từ ba màu cơ bản
(Red, Blue, Green), người ta dùng 3 byte để mô tả mức mầu, khi đó giá trị màu: 28*3
= 224 = 16,7 triệu màu. Với ảnh màu: Cách biểu diễn cũng tương tự như với ảnh đen
trắng, chỉ khác là các số tại mỗi phần tử của ma trận biểu diễn cho ba màu riêng rẽ
gồm: đỏ (red), lục (green) và lam (blue). Để biểu diễn cho một điểm ảnh màu cần 24
bit, 24 bit này được chia thành ba khoảng 8 bit. Mỗi khoảng này biểu diễn cho cường
độ sáng của một trong các màu chính.
1.6 Ma trận điểm ảnh
Ảnh số chỉ là một ma trận 2 chiều, và việc xử lý chúng chỉ là những thao tác trên ma trận
này sao cho ra kết quả hợp lý. Ví dụ một bức ảnh số có độ phân giải 640x480 nghĩa là chiều
ngang có 640 điểm ảnh (pixel), chiều dọc có 480 điểm ảnh, và mỗi điểm ảnh được biểu diễn
bằng một con số.

SVTH: Nguyễn Thị Duyên


Page 18


Báo cáokhóa luận tốt nghiệp

2017

Hình 1: Biểu diễn điểm ảnh
Ảnh số đa mức xám được biểu diễn bằng ma trận 2 chiều f(x,y) trong đó các phần tử là giá
trị điểm màu của ảnh.

f(0,1)
... f(0, N - 1) 
f (0,0)
f(1,0)
f(1,1) ... f(1, N - 1) 


f ( x, y ) 
........



f(M - 1, 0) f(M - 1,1) ... f(M - 1, N - 1)
Như vậy nếu ta có một ảnh kích thước 800x600 thì khi biểu diễn thành ma trận 2 chiều có
số hàng là 600, số cột là 800, mỗi phần tử của ma trận có giá trị từ 0-255.
Đối với ảnh màu, mỗi phần tử của mảng 2 chiều là một bộ giá trị RGB. Phần tử f(i,j) của
ma trận có dạng
f(i, j)=(B(i, j), G(i, j), R(i, j)).
Giá trị điểm ảnh tại điểm (i, j) được tính:

f(i,j) = h (B(i, j), G(i, j), R(i, j))= B(i,j)*2562 + G(i, j)*256 + R(i, j).
Mơ hình RGB:
Hệ này mơ tả màu sắc thông qua 3 thành phần màu cơ bản là Red, Green và Blue. Có thể
mơ xem xét mơ hình RGB trong khơng gian 3 chiều như hình 1.2.1.
Mọi điểm nằm trong khối hộp chữ nhật có toạ độ (r,g,b) thể hiện một màu.
Màu nằm trên đường chéo (0,0,0) - (1,1,1) (3 thành phần R, G, B bằng nhau) ->thể hiện
mức xám.

SVTH: Nguyễn Thị Duyên

Page 19


Báo cáokhóa luận tốt nghiệp

Blue=(0,0,1)

2017

Cyan=(0,1,1)

Magenta=(1,0,1)

White=(1,1,1)
Green=(0,1,0)

Black=(0,0,0)
Red=(1,0,0)

Yellow=(1,1,0)

Hình 2: Mơ hình RGB

1.7 Biến đổi ảnh xám
Thông thường các ảnh chúng ta gặp trong thực tế là các ảnh mầu gồm 3 thành phần
(R,G,B) như vậy trong quá trình nhận dạng mà ta dung cả 3 thành phần mầu này thì kích thước
ảnh nhận dạng quá lớn như vậy một điều đặt ra là ta tìm một phép biến đổi sao cho có thể đưa
ảnh về biểu diễn ở dạng toán học thuận tiện cho quá trình nhận dạng.
Phép biến đổi xám đưa mỗi điểm ảnh mầu 3 thành phần về một thành phần theo công thức:
Gray(i,j) = (byte)(114 * B(i,j) + 587 * G*(i,j) + 299 * R(i,j) / 1000;
Giá trị này được tính thong qua tỷ lệ đặc trưng của các mầu mà vẫn giữ được những
đặc trưng cơ bản của ảnh.
Ta nhận thấy kích thức của mẫu cần nhận dạng bằng 1/3 đơí với ảnh mầu. Như vậy
một ảnh mầu MxN sẽ được đưa về một ma trận(MxN) mức xám
Gray(i,j) với 0<=i<=M,0<=j<=N.

SVTH: Nguyễn Thị Duyên

Page 20


Báo cáokhóa luận tốt nghiệp

2017

Hình 3: Biến đổi ảnh xám

Với Gray(i,j) được tính theo phương trình ở trên.
Với biến đổi nhị phân thì Gray(i,j) = 0 nếu Gray(i,j)<= Threshold, Gray(i,j) = 1 nếu ngược
lại với 0<=Threshold <=255.
1.8 Phương pháp xác định khn mặt

Hiện nay có rất nhiều phương pháp nhận dạng khn mặt người, dựa vào các tính chất của
các phương pháp, ta có thể chia ra làm bốn hướng tiếp cận chính như sau: Hướng tiếp cận dựa
trên tri thức: mã hoá hiểu biết của con người về các loại khuôn mặt và tạo ra các tập luật để xác
định khuôn mặt. Hướng tiếp cận dựa trên đặt tả khơng thay đổi: mục tiêu các thuật tốn tìm ra
các đặt trưng mô tả cấu trúc khuôn mặt người (các đặt trưng khơng thay đổi với tư thế, vị trí đặt
thiết bị thu hình, độ sáng tối thay đối…). Hướng tiếp cận dựa trên so khớp mẫu: dùng các mẫu
chuẩn hay các đặt trưng của khuôn mặt người. Hướng tiếp cận dựa trên diện mạo: phương pháp
học từ một tập ảnh huấn luyện mẫu để xác định khuôn mặt người.
1.9 Hướng tiếp cận dựa trên tri thức
Trong hướng tiếp cận này, các luật sẽ phụ thuộc rất lớn vào tri thức của những tác
giả nghiên cứu về bài toán xác định khuôn mặt người. Đây là hướng tiếp cận dạng top-down.
Dễ dàng xây dựng các luật cơ bản để mô tả các đặc trưng của khuôn mặt và các quan hệ tương
ứng. Ví dụ, một khn mặt thường có hai mắt đối xứng nhau qua trục thẳng đứng ở giữa
khuôn mặt và có một mũi, một miệng. Các quan hệ của các đặc trưng có thể được mơ tả như
quan hệ về khoảng cách và vị trí. Thơng thường các tác giả sẽ trích đặc trưng của khn mặt
trước tiên để có được các ứng viên, sau đó các ứng viên này sẽ được xác định thông qua các
luật để biết ứng viên nào là khuôn mặt và ứng viên nào khơng phải khn mặt. Thường áp
dụng q trình xác định để giảm số lượng xác định sai.
Một vấn đề khá phức tạp khi dùng hướng tiếp cận này là làm sao chuyển từ tri thức con
người sang các luật một các hiệu quả. Nếu các luật này quá chi tiết (chặt chẽ) thì khi xác định
có thể xác định thiếu các khn mặt có trong ảnh, vì những khn mặt này không thể thỏa
mãn tất cả các luật đưa ra. Nhưng các luật tổng qt q thì có thể chúng ta sẽ xác định lầm
SVTH: Nguyễn Thị Duyên

Page 21


Báo cáokhóa luận tốt nghiệp

2017


một vùng nào đó khơng phải là khuôn mặt mà lại xác định là khuôn mặt. Và cũng khó khăn
mở rộng u cầu từ bài tốn để xác định các khn mặt có nhiều tư thế khác nhau.
Có hai tác giả Yang và Huang đã dùng một phương thức theo hướng tiếp cận này để xác
định các khuôn mặt. Hệ thống của hai tác giả này bao gồm ba mức luật. Ở mức cao nhất,
dùng một khung cửa sổ quét trên ảnh và thông qua một tập luật để tìm các ứng viên có thể là
khn mặt. Ở mức kế tiếp, hai ông dùng một tập luật để mơ tả tổng qt hình dáng khn
mặt. Cịn ở mức cuối cùng lại dùng một tập luật khác để xem xét ở mức chi tiết các đặc
trưng khuôn mặt. Một hệ thống đa độ phân giải có thứ tự được dùng để xác định (hình 2.1).

(a)

(b)

(c)

(d)

Hình 4:Độ phân giải của 1 ảnh; (a) Ảnh ban đầu có độ phân giải n=1; (b),(c),
và (d) Ảnh có độ phân giải n=4, 8, và 16.
Các luật ở mức cao nhất để tìm ứng viên như: “vùng trung tâm khn mặt (phần tối hơn
trong hình 2.2) có bốn phần với một mức độ đều cơ bản”, “phần xung quanh bên trên của một
khn mặt (phần sáng hơn trong hình 2.2) có một mức độ đều cơ bản”, và “mức độ khác
nhau giữa các giá trị xám trung bình của phần trung tâm và phần bao bên trên là đáng kể”.
Độ phân giải thấp nhất (mức mộ) của ảnh dùng để tìm ứng viên khn mặt mà cịn tìm ở
các mức phân giải tốt hơn. Ở mức hai, xem xét biểu đồ histogram của các ứng viên để loại
bớt ứng viên nào không phải là khn mặt, đồng thời dị ra cạnh bao xung quanh ứng
viên. Ở mức cuối cùng, những ứng viên nào còn lại sẽ được xem xét các đặc trưng của
khuôn mặt về mắt và miệng. Hai ông đã dùng một chiến lược “từ thô đến mịn” hay “làm rõ
dần” để giảm số lượng tính tốn trong xử lý. Mặc dù tỷ lệ chính xác chưa cao, nhưng đây là

tiền đề cho nhiều nghiên cứu sau này.

SVTH: Nguyễn Thị Duyên

Page 22


Báo cáokhóa luận tốt nghiệp

2017

1.10 Hướng tiếp cận dựa trên đặc trưng không thay đổi
Đây là hướng tiếp cận theo kiểu bottom-up. Các tác giả cố gắng tìm các đặc trưng
không thay đổi của khuôn mặt người để xác định khuôn mặt người. 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. Có nhiều nghiên cứu đầu tiên xác định các đặc trưng khuôn mặt rồi chỉ ra có khn mặt
trong ảnh hay khơng. Các đặc trưng như: lông mày, mắt, mũi, miệng, và đường viền của tóc
được trích bằng phương pháp xác định cạnh. Trên cơ sở các đặc trưng này, xây dựng một mơ
hình thống kê để mô tả quan hệ của các đặc trưng này và xác định sự tồn tại của khuôn mặt
trong ảnh. Một vấn đề của các thuật tóan theo hướng tiếp cân đặc trưng cần phải điều chỉnh
cho phù hợp điều kiện ánh sáng, nhiễu, và bị che khuất. Đôi khi bóng của khn mặt sẽ tạo
thêm cạnh mới, mà cạnh này lại rõ hơn cạnh thật sự của khuôn mặt, vì thế nếu dùng cạnh để
xác định sẽ gặp khó khăn.
1.10.1 Các đặc trưng khn mặt
Một số phương pháp xác định các đặc trưng của khn mặt có tỷ lệ chính xác cao:
+ Phương pháp xác định khn mặt từ một ảnh có hình nền phức tạp. Phương
pháp này dựa trên cạnh (dùng phương pháp Candy và heuristics) để loại bỏ các cạnh để còn
lại duy nhất một đường bao xung quanh khn mặt. Một hình ellipse dùng để bao khn
mặt, tách biệt vùng đầu và hình nền. Tỷ lệ chính xác của thuật tốn là 80%.

+ Phương pháp xác định khuôn mặt trong ảnh xám. Dùng bộ lọc để làm nổi các biên,
các phép tốn hình thái học (morphology) được dùng để làm nổi bật các vùng có cường độ
cao và hình dáng chắc chắn (như mắt). Thơng qua histogram để tìm các đỉnh nổi bật để xác
định các ngưỡng chuyển ảnh xám thành hai ảnh nhị phân. Các thành phần dính nhau đều
xuất hiện trong hai ảnh nhị phân thì được xem là vùng của ứng viên khn mặt rồi phân
loại xem có phải là khn mặt không. Phương pháp được kiểm tra trên các ảnh chỉ có đầu và
vai của người. Tuy nhiên cịn vấn đề, làm sao sử dụng các phép toán morphology và làm sao
xác định khuôn mặt trên các vùng ứng viên.

SVTH: Nguyễn Thị Duyên

Page 23


Báo cáokhóa luận tốt nghiệp

2017

+ Phương pháp xác định khn mặt dựa mơ hình xác suất để xác định khn mặt ở trong
ảnh có hình nền phức tạp trên cơ sở một bộ xác định đặc trưng cục bộ và so khớp đồ thị
ngẫu nhiên. Ý chính là xem bài tốn xác định khn mặt như là bài tốn tìm kiếm với mục
tiêu là tìm thứ tự các đặc trưng chắc chắn của khuôn mặt để tạo thành giống nhất một mẫu
khuôn mặt. Dùng năm đặc trưng (hai mắt, hai lỗ mũi, phần nối giữa mũi và miệng) để mô
tả một khn mặt. Ln tính quan hệ khoảng cách với các đặc trưng cặp (như mắt trái, mắt
phải), dùng phân bố Gauss để mơ hình hóa. Một mẫu khn mặt được đưa ra thơng qua trung
bình tương ứng cho một tập đa hướng, đa tỷ lệ của bộ lọc đạo hàm Gauss. Từ một ảnh, các
đặc trưng ứng viên được xác định bằng cách so khớp từng điểm ảnh khi lọc tương ứng với
vector mẫu (tương tự mối tương quan), chọn hai ứng viên đặc trưng đứng đầu để tìm kiếm
cho các đặc trưng khác của khuôn mặt. Giống như xây dựng một đồ thị quan hệ mỗi node
của đồ thị tương ứng như các đặc trưng của một khuôn mặt, đưa xác suất vào để xác định. Tỷ

lệ xác định chính xác là 86%.
+ Phương pháp xác định khn mặt dùng lý thuyết xác suất thống kê về hình dáng. Dùng
hàm mật độ xác suất (Probility Density Function- PDF) qua N điểm đặc trưng, tương ứng (xi,
yi) là đặc trưng thứ i với giả sử dựa vào phân bố Gauss có 2N- chiều. Các tác giả áp dụng
phương thức cực đại khả năng (Maximum Likelihood- ML) để xác định vị trí khn mặt.
Một thuận lợi của phương pháp này là các khn mặt bị che khuất vẫn có thể xác định được.
Nhưng phương pháp không xác định được đa khuôn mặt trong ảnh.
+ Phương pháp xác định khuôn mặt dựa vào đặc trưng, dùng số lượng lớn các dấu
hiệu từ ảnh và cả dấu hiệu về ngữ cảnh. Đầu tiên dùng bộ lọc đạo hàm Gauss thứ hai, xác
định các điểm mấu chốt ở tại cực đại địa phương trong bộ lọc, rồi chỉ ra nơi có thể là đặc
trưng. Giai đoạn hai, kiểm tra các cạnh xung quanh điểm mấu chốt và nhóm chúng lại thành
các vùng. Tiêu chuẩn để nhóm các cạnh là gần và tương tự hướng và cường độ. Đo lường các
đặc tính vùng như: chiều dài cạnh, cường độ cạnh, và biến thiên cường độ được lưu trong một
vector đặc trưng. Từ dữ liệu đặc trưng khn mặt đã được huấn luyện, sẽ tính được giá trị trung
bình và ma trận hiệp phương sai của mỗi đặc trưng khuôn mặt. Một vùng là ứng viên
khuôn mặt khi khoảng cách Mahalanobis giữa các vector đặc trưng đều dưới một ngưỡng. Rồi
thông qua mạng Bayes để xác định ứng viên có phải là khn mặt khơng. Tỷ lệ chính xác là
SVTH: Nguyễn Thị Duyên

Page 24


Báo cáokhóa luận tốt nghiệp

2017

85%, tuy nhiên mức độ sai là 28%, và chỉ hiệu quả với hình khn mặt có kích thước 60x60
điểm ảnh. Phương pháp này được dùng thêm với mơ hình đường viền linh hoạt.
+ Phương pháp xác định khn mặt dựa trên tích đặc trưng võng mạc và cử động theo
dao động nhỏ của mắt. Thuật toán hoạt động trên bản đồ hay vùng của các mấu chốt, mơ

hình hóa lưới võng mạc. Đầu tiên tính tốn ước lượng thơ vùng khn mặt trên cơ sở bộ lọc.
Giai đoạn thứ hai tinh chế trên độ phân giải mịn hơn. Tỷ lệ sai là 4.69%.
+ Phương pháp xác định khn mặt dựa trên cơ sở hình thái học (morphology) để
trích các đoạn giống mắt (eye-analogue) để xác định khuôn mặt người. Phương pháp này cho
rằng mắt và lông mày là đặc trưng nổi bật nhất và ổn định nhất của khn mặt con người, và
nó rất hữu dụng để xác định khuôn mặt người. Các đoạn giống mắt như là các cạnh trên
đường viền của mắt. Đầu tiên, các phép tốn morphology như đóng, cắt bỏ sai khác, và
phân ngưỡng để trích các điểm ảnh có giá trị cường độ thay đổi đáng kể. Các điểm ảnh này
sẽ trở thành các điểm ảnh giống mắt. Sau đó một tiến trình gán nhãn để sinh các đoạn
giống mắt. Các đoạn này được dùng để chỉ dẫn tìm kiếm các vùng tiềm năng có thể là
khn mặt qua kết hợp các đặc tính hình học của mắt, mũi, lơng mày, và miệng. Các vùng này
sẽ được một mạng neural xem xét có phải là khn mặt khơng. Tỷ lệ chính xác là 94%.
+ Phương pháp xác định khn mặt dựa trên hình dáng và áp dụng cho các khn mặt
chụp thẳng. Có hai giai đoạn để xác định khn mặt người: tập trung và phân loại chi tiết. Làm
có thứ tự các mảnh cạnh, các mảnh này được trích từ bộ xác định cạnh đơn giản thông qua sự
khác biệt cường độ là q trình tập trung. Khi có các ứng viên từ q trình trên, dùng thuật
tốn CART để xây dựng một cây phân loại từ các ảnh để huấn luyện, để xem xét ứng viên
nào là khuôn mặt người.
+ Phương pháp xác định khuôn mặt dùng cấu trúc hình học của khn mặt người để tìm
ứng viên khn mặt trong ảnh xám và hình nền khơng phức tạp. Mỗi ảnh chỉ có một khn
mặt người, nhưng tư thế điều kiện ánh sáng, không cố định. Tỷ lệ chính xác khỏang 94.25%
và thời gian khá nhanh.
+ Phương pháp xác định khuôn mặt dùng sắc màu của da người để tìm ứng viên, bằng
cách dùng mơ hình màu da người trên từng phần nhỏ rồi xử lý phân đoạn trên đó. Sau khi

SVTH: Nguyễn Thị Duyên

Page 25



×