Tải bản đầy đủ (.doc) (32 trang)

ĐỒ ÁN CƠ SỞ 5 NĂM 2021 ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT. Giảng viên : TS. LÊ TÂN

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.17 MB, 32 trang )

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC CNTT&TT VIỆT HÀN

BÁO CÁO ĐỒ ÁN CƠ SỞ 5

ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT

Giảng viên

: TS. LÊ TÂN

Sinh viên thực hiện

: ĐỖ HỒNG PHÚC

Lớp

: 18IT5

Đà nẵng, 31 tháng 05 năm 2021


ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC CNTT&TT VIỆT HÀN

BÁO CÁO ĐỒ ÁN CƠ SỞ 5

ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT


Giảng viên

: TS. LÊ TÂN

Sinh viên thực hiện

: ĐỖ HỒNG PHÚC

Lớp

: 18IT5

Đà nẵng, 31 tháng 05 năm 2021


MỞ ĐẦU

Khn mặt đóng vai trị quan trọng trong q trình giao tiếp giữa người với
người, và cũng mang một lượng thơng tin giàu có, chẳng hạn có thể xác định giới
tính, tuổi tác, trạng thái cảm xúc của người đó,… hơn nữa khảo sát chuyển động
của các đường nét trên khn mặt có thể biết được người đó đang muốn nói gì.
Trong hệ thống nhận dạng người thì q trình nhận dạng khn mặt được đánh giá
là bước khó khăn và quan trọng nhất so với các bước còn lại của hệ thống. Do đó,
nhận dạng khn mặt là điều quan trọng và cần thiết.
Nhận dạng khuôn mặt người 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, quản lí vào ra, tìm kiếm
thơng tin người nổi tiếng,… có rất nhiều phương pháp nhận dạng khn mặt để
nâng cao hiệu suất tuy nhiên dù ít hay nhiều những phương pháp này đang vấp phải
những thử thách về độ sáng, hướng nghiên, kích thước ảnh, hay ảnh hưởng của
tham số môi trường.

Cùng với sự phát triển của xã hội, vấn đề an ninh, bảo mật đang được yêu cầu
khắt khe tại mọi quốc gia trên thế giới. Các hệ thống nhận dạng con người, đồ
vật… được ra đời và phát triển với độ tin cậy ngày càng cao. Với cách tiếp cận đối
tượng nhận dạng theo phương pháp này, chúng ta có thể thu nhập được nhiều thông
tin từ đối tượng hơn, mà không cần tác động nhiều đến đối tượng cũng vấn đảm
bảo tính chính xác, an toàn, thuận tiện.
Trong phạm vi bài báo cáo này em xin được trình bài quá trình thực hiện điểm
danh qua nhận diện khuôn mặt qua thư viện opencv. Cuối cùng, mặc dù đã cố gắng
rất nhiều nhưng do thời gian có hạn, khả năng dịch và hiểu tài liệu chưa tốt nên nội
dung đồ án này không thể tránh khỏi những thiếu sót, rất mong được sự chỉ bảo,
góp ý của các thầy cô và các bạn.

3


LỜI CẢM ƠN

Trước tiên em xin được bày tỏ sự trân trọng và lòng biết ơn đối với thầy
giáo Lê Tân. Trong suốt quá thời gian học và làm đồ án môn học, thầy đã
dành rất nhiều thời gian quý báu để tận tình chỉ bảo, hướng dẫn, định hướng
s
cho em thực hiện đồ án.
Chúng em xin được cảm ơn các thầy cô giáo trường CNTT & Truyền
Thông Việt Hàn– Đại Học Đà Nẵng đã giảng dạy trong quá trình học tập, thực
hành, làm bài tập, giúp em hiểu thấu đáo hơn các nội dung học tập và những
hạn chế cần khắc phục trong việc học tập, nghiên cứu và thực hiện đồ án này.

Em xin chân thành cảm ơn .

4



NHẬN XÉT
(Của giảng viên hướng dẫn)

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

5


MỤC LỤC
MỤC LỤC 6
Chương 1 MỞ ĐẦU................................................................................................7
Chương 2 TỔNG QUAN VỀ XỬ LÝ ẢNH...........................................................9
Chương 3 NHẬN DIỆN KHUÔN MẶT...............................................................14
Chương 4 XÂY DỰNG HỆ THỐNG....................................................................22
Chương 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN............................................31

DANH MỤC TÀI LIỆU THAM KHẢO..............................................................32
32
Hình 1 Quá trình xử lý ảnh......................................................................................9
Hình 2 Các thành phần cơ bản của hệ thống xử lý ảnh.........................................12
Hình 3 Nhận diện khn mặt................................................................................15
Hình 4 Phân vùng các dặc trưng của thuật tốn Haar-Like...................................17
Hình 5 4 đặc trưng cơ bản để xác định khuôn mặt người......................................18
Hình 6 Đặc trưng cạnh (edge feature)...................................................................18
Hình 7 Đặc trưng đường (line feature)..................................................................18
Hình 8 Đặc trưng xung quanh tâm (center-surround feature)................................18
Hình 9 Cơng thức tính Intergral Image.................................................................19
Hình 10 Tổng các giá trị mức xám ở điểm D........................................................19
Hình 11 Các đặc trưng Haar-Like theo mơ hình phân tầng (cascade)...................20
Hình 12 Sơ đồ hệ thống.........................................................................................22
Hình 13 Giao diện ứng dụng.................................................................................23
Hình 14 Phát hiện gương mặt................................................................................24
Hình 15 Code lấy ảnh............................................................................................25
Hình 16 Code train dữ liệu....................................................................................26
Hình 17 Dữ liệu ảnh..............................................................................................26
Hình 18 Danh sách sinh viên.................................................................................27
Hình 19 Giao diện nhận diện khn mặt...............................................................27
Hình 20 Code nhận diện khn mặt......................................................................29
Hình 21 Danh sách điểm danh..............................................................................29
Hình 22 Danh sách điểm danh file exel.................................................................30

6


Chương 1


MỞ ĐẦU

1.1 Giới thiệu
Với sự phát triển không ngừng của khoa học và công nghệ, đặc biệt là các
thiết bị được hỗ trợ công nghệ xử lý ảnh ngày càng hiện đại và được sử dụng phổ
biến trong đời sống con người đã làm cho lượng thông tin thu được bằng hình
ảnh ngày càng tăng và phổ biến. Theo đó, lĩnh vực xử lý ảnh cũng được chú trọng
phát triển, ứng dụng rộng rãi trong đời sống xã hội hiện đại. Không chỉ dừng lại ở
việc chỉnh sửa, tăng chất lượng hình ảnh mà với cơng nghệ xử lý ảnh hiện nay
chúng ta có thể giải quyết các bài toán nhận dạng chữ viết, nhận dạng dấu vân
tay, đặc biệt là nhận dạng khuôn mặt…
Công nghệ nhân diện khuôn mặt (Facial Recognition Technology) hiện là
một công nghệ đang được sử dụng khá phổ biến tại các quốc gia phát triển. Cơng
nghệ này có khả năng xác định hoặc xác nhận một người từ hình ảnh kỹ thuật số
được lấy mẫu trước đó hoặc từ một khung hình trong một nguồn video khác. Đây
là một phương pháp xác minh độc đáo khi thiết bị sẽ dựa vào những điểm khác
nhau tiêu biểu nhất trên khuôn mặt của một người để tiến hành phân biệt giữa
người này với người khác. Do vậy đối với các trường hợp như song sinh thì
người dùng có thể yên tâm rằng máy vẫn sẽ phát hiện ra. Chính vì đặc điểm này
thì ngồi được ứng dụng trong việc quản lý nhân sự ra thì nó còn là sự lựa chọn
của rất nhiều đơn vị hoạt động trong lĩnh vực an ninh, bảo mật, gia dịch.
Xây dựng một ứng dụng nhận dạng khuôn mặt nhằm giúp việc quản lý,
điểm danh, giao dịch hay thống kê theo từng yêu cầu phục cụ cho các mục đích
khác nhau là cấp thiết. Ngồi ra, giúp sinh viên tìm hiểu về thư viện OpenCV, tìm
hiểu các phương pháp xác định khn mặt (Face Detection).
Xét thấy tính khả thi của mơ nhận diện khuôn mặt khi áp dụng vào thực tế,
cũng như nhu cầu hiện tại ở các trường học khi chưa có hệ thống điểm danh tự
động, mà cụ thể là điểm danh bằng khuôn mặt. Trong khi các thiết hỗ trợ thu
nhận và xử lý hình ảnh ngày càng phổ biến. Chính vì vậy tơi đã chọn đề tài
“Điểm danh nhận diện khuôn mặt”.

7


1.2

Đặt vấn đề

Hiện nay có nhiều loại thiết bị điểm danh như: chấm vân tay, chấm mặt hay
quẹt thẻ nhưng mỗi loại còn tồn tại một số hạn chế. Cụ thể, chấm vân tay có khả
năng lây truyền bệnh truyền nhiễm, quẹt thẻ dễ phát sinh tình trạng quẹt thẻ hộ,
chấm mặt hay trục trắc bởi lỗi phần mềm. Ý tưởng nhóm chúng em là xây dựng
hệ thống nhận dạng khn mặt và điểm danh có thể nhận dạng một cách chính
xác.
Hiện nay có rất nhiều kỹ thuật để thực hiện việc nhận dạng khuôn mặt, tuy
nhiên điểm chung của các kỹ thuật này là đều sẽ phải thực hiện qua 3 bước:
Bước 1: Xác định và lấy ra (các) khn mặt có trong hình ảnh.
Bước 2:Từ hình ảnh các khuôn mặt lấy ra từ bước 1, thực hiện việc phân tích,
trích xuất các đặt trưng của khn mặt.
Bước 3: Từ các thơng tin có được sau khi đã phân tích, kết luận và xác minh danh
tính người dùng.
Bước 4: Thực hiện lưu thơng tin danh tính đã xác định được để thực hiển công
việc điểm danh.

8


Chương 2
2.1

TỔNG QUAN VỀ XỬ LÝ ẢNH


Xử lý ảnh là gì?

Xử lý ảnh (XLA) là đối tượng nghiên cứu của lĩnh vực thị giác máy, là quá
trình biến đổi từ một ảnh ban đầu sang một ảnh mới với các đặc tính và tuân theo
ý muốn của người sử dụng. Xử lý ảnh có thể gồm q trình phân tích, phân lớp
các đối
tượng, làm tăng chất lượng, phân đoạn và tách cạnh, gán nhãn cho vùng hay quá
trình
biên dịch các thơng tin hình ảnh của ảnh.
Cũng như xử lý dữ liệu bằng đồ hoạ, xử lý ảnh số là một lĩnh vực của tin học ứng
dụng. Xử lý dữ liệu bằng đồ họa đề cập đến những ảnh nhân tạo, các ảnh này
được xem xét như là một cấu trúc dữ liệu và được tạo bởi các chương trình. Xử lý
ảnh số bao gồm các phương pháp và kỹ thuật biến đổi, để truyền tải hoặc mã hoá
các ảnh tự nhiên. Mục đích của xử lý ảnh gồm:
− Biến đổi ảnh làm tăng chất lượng ảnh.
− Tự động nhận dạng ảnh, đoán nhận ảnh, đánh giá các nội dung của ảnh.
− Nhận biết và đánh giá các nội dung của ảnh là sự phân tích một hình ảnh
thành những phần có ý nghĩa để phân biệt đối tượng này với đối tượng
khác, dựa vào đó ta có thể mơ tả cấu trúc của hình ảnh ban đầu. Có thể liệt
kê một số phương pháp nhận dạng cơ bản như nhận dạng ảnh của các đối
tượng trên ảnh, tách cạnh, phân đoạn hình ảnh,…
− Kỹ thuật này được dùng nhiều trong y học (xử lý tế bào, nhiễm sắc thể),
nhận dạng chữ trong văn bản.
2.1.1 Các quá trình của xử lý ảnh

Hình 1 Quá trình xử lý ảnh

Sơ đồ này gồm các thành phần sau:
2.1.2


Phần thu nhận ảnh (Image Acquisition)
Ảnh có thể nhận qua camera màu hoặc đen trắng. Thường ảnh nhận qua
camera là ảnh tương tự (loại camera ống chuẩn CCIR với tần số 1/25, mỗi ảnh 25
dịng), cũng có loại camera đã số hoá (như loại CCD – Charge Coupled Device)
là loại photodiode tạo cường độ sáng tại mỗi điểm ảnh.
9


-

Camera thường dùng là loại quét dòng ; ảnh tạo ra có dạng hai
chiều. Chất lượng một ảnh thu nhận được phụ thuộc vào thiết bị
thu, vào môi trường (ánh sáng, phong cảnh)

2.1.3 Tiền xử lý (Image Processing)
Sau bộ thu nhận, ảnh có thể nhiễu độ tương phản thấp nên cần đưa vào bộ
tiền xử lý để nâng cao chất lượng. Chức năng chính của bộ tiền xử lý là lọc nhiễu,
tăng độ tương phản để làm ảnh rõ hơn, nét hơn.
2.1.4

Phân đoạn (Segmentation) hay phân vùng ảnh
Phân vùng ảnh là tách một ảnh đầu vào thành các vùng thành phần để biểu
diễn phân tích, nhận dạng ảnh. Ví dụ: để nhận dạng chữ (hoặc mã vạch) trên
phong bì thư cho mục đích phân loại bưu phẩm, cần chia các câu, chữ về địa chỉ
hoặc tên người thành các từ, các chữ, các số (hoặc các vạch) riêng biệt để nhận
dạng. Đây là phần phức tạp khó khăn nhất trong xử lý ảnh và cũng dễ gây lỗi,
làm mất độ chính xác của ảnh. Kết quả nhận dạng ảnh phụ thuộc rất nhiều vào
công đoạn này.
2.1.5


Biểu diễn ảnh (Image Representation)
Đầu ra ảnh sau phân đoạn chứa các điểm ảnh của vùng ảnh (ảnh đã phân
đoạn) cộng với mã liên kết với các vùng lân cận. Việc biến đổi các số liệu này
thành dạng thích hợp là cần thiết cho xử lý tiếp theo bằng máy tính. Việc chọn
các tính chất để thể hiện ảnh gọi là trích chọn đặc trưng (Feature Selection) gắn
với việc tách các đặc tính của ảnh dưới dạng các thông tin định lượng hoặc làm
cơ sở để phân biệt lớp đối tượng này với đối tượng khác trong phạm vi ảnh nhận
được.
2.1.6

Nhận dạng và nội suy ảnh (Image Recognition and Interpretation)
Nhận dạng ảnh là quá trình xác định ảnh. Quá trình này thường thu được
bằng cách so sánh với mẫu chuẩn đã được học (hoặc lưu) từ trước. Nội suy là
phán đoán theo ý nghĩa trên cơ sở nhận dạng. Có nhiều cách phân loại ảnh khác
nhau về ảnh. Theo lý thuyết về nhận dạng, các mơ hình tốn học về ảnh được
phân theo hai loại nhận dạng ảnh cơ bản:
− Nhận dạng theo tham số.
− Nhận dạng theo cấu trúc.
Một số đối tượng nhận dạng khá phổ biến hiện nay đang được áp dụng
trong khoa học và công nghệ là: nhận dạng ký tự (chữ in, chữ viết tay, chữ ký
điện tử), nhận dạng văn bản (Text), nhận dạng vân tay, nhận dạng mã vạch, nhận
dạng mặt người…
2.1.7

Cơ sở tri thức (Knowledge Base)
Như đã nói ở trên, ảnh là một đối tượng khá phức tạp về đường nét, độ
sáng tối, dung lượng điểm ảnh, môi trường để thu ảnh phong phú kéo theo nhiễu.
Trong nhiều khâu xử lý và phân tích ảnh ngồi việc đơn giản hóa các phương
pháp tốn học đảm bảo tiện lợi cho xử lý, người ta mong muốn bắt chước quy

10


trình tiếp nhận và xử lý ảnh theo cách của con người. Trong các bước xử lý đó,
nhiều khâu hiện nay đã xử lý theo các phương pháp trí tuệ con người. Vì vậy, ở
đây các cơ sở tri thức được phát huy.

2.2

Những vấn đề cơ bản trong hệ thống xử lý ảnh

2.2.1

Điểm ảnh (Picture Element)
Gốc của ảnh (ảnh tự nhiên) là ảnh liên tục về không gian và độ sáng. Để
xử lý bằng máy tính (số), ảnh cần phải được số hoá. Số hoá ảnh là sự biến đổi gần
đúng một ảnh liên tục thành một tập điểm phù hợp với ảnh thật về vị trí (khơng
gian) và độ sáng (mức xám). Khoảng cách giữa các điểm ảnh đó được thiết lập
sao cho mắt người không phân biệt được ranh giới giữa chúng. Mỗi một điểm
như vậy gọi là điểm ảnh (PEL: Picture Element) hay gọi tắt là Pixel. Trong khuôn
khổ ảnh hai chiều, mỗi pixel ứng với cặp tọa độ (x, y).
Điểm ảnh (Pixel) là một phần tử của ảnh số tại toạ độ (x, y) với độ xám
hoặc màu nhất định. Kích thước và khoảng cách giữa các điểm ảnh đó được chọn
thích hợp sao cho mắt người cảm nhận sự liên tục về không gian và mức xám
(hoặc màu) của ảnh số gần như ảnh thật. Mỗi phần tử trong ma trận được gọi là
một phần tử ảnh.
2.2.2 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ố
của nó tại điểm đó
− Điểm ảnh (pixel): là một phần tử của ảnh số tại toạ độ (x, y) với độ xám

hoặc màu nhất định. Kích thước và khoảng cách giữa các điểm ảnh đó
được chọn thích hợp sao cho mắt người cảm nhận sự liên tục về không
gian và mức xám (hoặc màu) của ảnh số gần như ảnh thật. Mỗi phần tử
trong ma trận được gọi là một phần tử ảnh.
− Độ phân giải của ảnh: Độ phân giải (Resolution) của ảnh là mật độ điểm
ảnh được ấn định trên một ảnh số được hiển thị. Khoảng cách giữa các
điểm ảnh phải được chọn sao cho mắt người vẫn thấy được sự liên tục của
ảnh. Việc lựa chọn khoảng cách thích hợp tạo nên một mật độ phân bổ, đó
chính là độ phân giải và được phân bố theo trục x và y trong không gian
hai chiều
− Các thang giá trị mức sáng thông thường: 16, 32, 64, 128, 256 (Mức 256
là mức phổ dụng. Lư do: từ kỹ thuật máy tính dùng 1 byte (8 bit) để biểu
diễn mức xám: Mức xám dùng 1 byte biểu diễn: 2 8=256 mức, tức là từ 0
đến 255).
− Ảnh đen trắng: là ảnh có hai màu đen, trắng (không chứa màu khác) với
mức xám ở các điểm ảnh có thể khác nhau.
− Ảnh nhị phân: ảnh chỉ có 2 mức đen trắng phân biệt tức dùng 1 bit 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.
11


− Ảnh màu: trong khuôn khổ lý thuyết ba màu (Red, Blue, Green) để tạo nên
thế giới màu, người ta thường dùng 3 byte để mô tả mức màu, khi đó các
giá trị màu: 28*3=224≈ 16,7 triệu màu.
2.2.3 Các thành phần cơ bản của hệ thống xử lý ảnh

Hình 2 Các thành phần cơ bản của hệ thống xử lý ảnh

Thiết bị thu nhận ảnh: Là thiết bị biến đổi quang điện, cho phép biến đổi hình

ảnh quang học thành tín hiệu dưới dạng analog hay trực tiếp dưới dạng số. Có
nhiều dạng cảm biến cho phép làm việc với ánh sáng nhìn thấy hoặc hồng ngoại.
Hai loại thiết bị biến đổi quang – điện chủ yếu thường được sử dụng là đèn ghi
hình điện tử và chip CCD (Charge Coupled Device – linh kiện ghép điện tích).
Bộ xử lý ảnh chuyên dụng: Sử dụng chip xử lý ảnh chuyên dụng, có khả năng
thực hiện nhanh các lệnh trong xử lý ảnh. Cho phép thực hiện các quá trình xử lý
ảnh như lọc,làm nổi đường bao, nén và giải thích video v.v.. Trong bộ xử lý
thường thường tích hợp hợp bộ nhớ đệm có tốc độ cao.
Bộ nhớ trong và bộ nhớ ngoài: Trong các hệ thống xử lý ảnh số thường có dung
lượng rất lớn dùng để lưu trữ ảnh tĩnh và động dưới dạng số.Bộ nhớ số trong hệ
thống xử lý ảnh có thể chia làm 3 loại :
− Bộ nhớ đệm trong máy tính để lưu ảnh trong q trình xử lý. Bộ nhớ này
có khả năng ghi/đọc rất nhanh (ví dụ 25 hình /s).
− Bộ nhớ ngồi có tốc độ truy cập tương đối nhanh, dùng để lưu thơng tin
thường dùng.Các bộ nhớ ngồi có thể là ổ cứng, thẻ nhớ. thẻ nhớ flash
.v.v..
− Bộ nhớ dùng để lưu trữ dữ liệu .Loại bộ nhớ này thường có dung lượng
lớn, tốc độ truy cập khơng cao.Thơng dụng là đĩa quang ghi 1 lần (ROM)
hoặc nhiều lần (ROM) như đĩa DVD có dung lượng 4.7 GB(một mặt ) .
Ngồi ra trong hệ thống xử lý ảnh cịn sử dụng các thiết bị cho phép lưu ảnh trên
các vật liệu khác như giấy in, cơng nghệ nung nóng v.v..
Màn hình hiển thị: Hệ thống biến đổi điện –quang hay đèn hình ( đen trắng cũng
như màu) có nhiệm vụ biến đổi tín hiệu điện có chứa thơng tin của ảnh (tín hiệu
video) thành hình ảnh trên màn hình . Có hai dạng display được sử dụng rộng rãi
là đèn hình CRT ( Cathode – Ray Tube ) và màn hình tinh thể lỏng LCD (Liquid
Crystal Display). Đèn hình CRT thường có khả năng hiển thị màu sắc tốt hơn
màn hình LCD nên được dùng phổ biến trong các hệ thống xử lý ảnh chuyên
nghiệp.
12



Máy tính: Có thể là máy tính để bàn cũng như siêu máy tính có chức năng điều
khiển tất cả các bộ phận chức năng trong hệ thống xử lý ảnh số.
2.2.4 Các khái niệm về đường viền ảnh, biên ảnh và vùng bao lồi của ảnh
Đường viền ảnh(border) của một vùng ảnh R là tập hợp các điểm ảnh trong
vùng
đó mà có 1 hay nhiều lân cận bên ngồi vùng ảnh R.
Biên ảnh: một điểm ảnh có thể coi là biên nếu ở đó có sự thay đổi đột ngột về
mức
xám.tập hợp các điểm biên tạo thành đường bao của ảnh.
Vùng bao lồi: Được sử dụng để mô tả các thuộc tính hình học của đối
tượng.Vùng
bao lồi là vùng nhỏ nhất chứa đối tượng, sao cho bất kỳ điểm ảnh nào của vùng
đều
có thể được nối với nhau bởi 1 đường thẳng, và tất cả các điểm ảnh đó đều thuộc
vào vùng.
2.2.5 Các thiết bị thu nhận ảnh và một số quy trình khác
Các thiết bị thu nhận ảnh: Bộ cảm biến ảnh camera, màn hình video, máy tính.
Các thiết bị thu nhận ảnh bao gồm camera, scanner các thiết bị thu nhận này có
thể cho ảnh đen trắng Các thiết bị thu nhận ảnh có 2 loại chính ứng với 2 loại ảnh
thông dụng Raster, Vector. Các thiết bị thu nhận ảnh thông thường Raster là
camera các thiết bị thu nhận ảnh thông thường Vector là sensor hoặc bàn số hoá
Digitizer hoặc được chuyển đổi từ ảnh Raster. Nhìn chung các hệ thống thu nhận
ảnh thực hiện 1 quá tŕnh. Cảm biến: biến đổi năng lượng quang học thành năng
lượng điện .Tổng hợp năng lượng điện thành ảnh.
Số hóa ảnh: Ảnh thu vào được từ các thiết bị thu nhận ảnh có thể là ảnh tương tự
hoặc ảnh số.Trong trường hợp ảnh tương tự, chúng ta phải tiến hành q trình số
hóa ảnh để có thể xử lý được bằng máy tính.
Q trình lượng hóa: Lượng tử hóa về mặt biên độ (độ sáng) cho dòng ảnh vừa
được rời rạc hóa.

Lấy mẫu là một quá tŕnh, qua đó ảnh được tạo nên trên một vùng có tính liên tục
được chuyển thành các giá trị rời rạc theo tọa độ nguyên. Quá tŕnh này gồm 2 lựa
chọn: Một là khoảng lấy mẫu. Hai là cách thể hiện dạng mẫu. Lựa chọn thứ nhất
được đảm bảo nhờ lư thuyết lấy mẫu của Shannon. Lựa chọn thứ hai liên quan
đến độ đo (Metric) được dùng trong miền rời rạc.

13


Chương 3
3.1

NHẬN DIỆN KHN MẶT

Tổng quan về nhận diện khn mặt

Nhận diện khuôn mặt (Face recogintion) đang được ứng dụng trong nhiều
lĩnh vực. Hệ thống nhận dạng khuôn mặt là một ứng dụng cho phép máy tính tự
động xác định hoặc nhận dạng một người nào đó từ một bức hình ảnh kỹ thuật số
hoặc một khung hình video từ một nguồn video.
Nhận dạng khn mặt là một bài tốn khá phức tạp, nó địi hỏi một loạt
các vấn đề cần thực hiện:
• Việc làm đầu tiên đó là cần phải tìm kiếm tất cả những khn mặt
có trong bức hình.
• Focus vào từng khn mặt chắc chắn có thể nhận ra cùng một
người từ các góc nhìn hoặc điều kiện sáng tối khác nhau.
• Lựa chọn những feature đặc trưng trên từng khn mặt.
• So sánh những đặc trưng này với những người khác để có thể biết
được định danh của họ.
Mỗi khn mặt đều có nhiều điểm mốc, những phần lồi lõm tạo nên các

đặc điểm của khuôn mặt. Các hệ thống nhận diện khuôn mặt định nghĩa những
điểm này là những điểm nút. Mỗi mặt người có khoảng 80 điểm nút. Có thể nhận
diện một số điểm nút như sau:






Khoảng cách giữa hai mắt
Chiều rộng của mũi
Độ sâu của hốc mắt
Hình dạng của xương gị má
Độ dài của xương hàm

14


Hình 3 Nhận diện khn mặt

• Một số thuật tốn nhận dạng khuôn mặt xác định các đặc điểm
khuôn mặt bằng cách trích xuất các ranh giới, hoặc đặc điểm, từ
một hình ảnh khn mặt của đối tượng. Từ đó các thuật tốn sẽ
trích xuất được các thơng tin, và những tính năng này sau đó được
sử dụng để tìm kiếm các hình ảnh khác với các tính năng phù hợp.
Trong trường hợp sử dụng để nhận diện, cần phải lưu lại thông tin
khuôn mặt để ghi nhớ trước. Các thuật tốn sẽ đơn giản hóa một tập
các hình ảnh khn mặt và sau đó nén dữ liệu khn mặt, chỉ lưu
dữ liệu hình ảnh nào là hữu ích cho việc nhận dạng khn mặt. Khi
đó, muốn nhận diện sẽ so sánh hình ảnh mẫu với các dữ liệu khn

mặt đã lưu.
• Các thuật tốn nhận dạng có thể được chia thành hai hướng chính,
là hình học, đó là nhìn vào tính năng phân biệt, hoặc trắc quang (đo
sáng), là sử dụng phương pháp thống kê để ‘chưng cất’ một hình
ảnh thành những giá trị và so sánh các giá trị với các mẫu để loại bỏ
chênh lệch.
Tuy nhiên, các trường hợp nhận diện thường không phải lúc nào cũng
được đo đạc trong mơi trường ổn định, có thể bị ảnh hưởng ngay chỉ bởi sự thiếu
15


sáng, hay góc nghiêng của khn mặt, do đó ảnh hưởng đáng kể đến độ chính xác
của kết quả.

3.2

Các phương pháp nhận diện

Hiện nay có hai phương pháp nhận diện khn mặt được sử dụng rộng rãi
nhất là:
• Nhận dạng dựa trên các đặc trưng của các phần tử trên khn mặt
(Feature based face recognition).
• Nhận dạng dựa trên xét tổng thể khn mặt (Appearance based face
recognition).
Ngồi ra cịn có một số phương pháp về loại nhận dạng sử dụng mơ hình
về khn mặt:
• Nhận dạng 2D: Elastics Bunch Graph, Active Appearance Model.
• Nhận dạng 3D: 3D Morphable Model.

3.3


Ưu điểm, nhược điểm của các phương pháp

3.3.1 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
Đây là phương pháp nhận dạng khuôn mặt dựa trên viện xác định các đặc
trưng hình học của các chi tiết trên một khn mặt (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 (khoảng cách của hai mắt,
khoảng cách của hai lông mày, ...).
Ư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 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.
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 sẽ khó phân biệt. Mặt khác, với các ảnh kích thước
bé thì các đặc tính sẽ khó phân biệt.
3.3.2 Nhận dạng dựa trên xét tổng thể khuôn mặt
Đây là phương pháp 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
16


chi khi biểu diễ trong khơng gian có 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ùng một người sẽ được tập trung
lại một nhóm gần nhau và cách xa các nhóm khác.
Ưu điểm của phương pháp này là 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 phải xác định các thành phần và mối quan hệ
giữa các thành phần đó. Phương pháp sử dụng thuật tốn có thể thực hiện tốt với
các ảnh có độ phân giải cao, thu gọn ảnh thành một ảnh có kích thước nhỏ hơn.
Có thể kết hợp các phương pháp khác như mạng Nơ-ron, Support Vector
Machine.

Nhược điểm của phương pháp này phân loại theo chiều phân bố lớn nhất
của 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 qua tốt nhất cho bài toán nhận dạng và đặc biệt là phương pháp này rất nhạy
với nhiễu.

3.4

Các thuật toán được sử dụng để phát hiện khuôn mặt

Phát hiện khuôn mặt người là bài tốn đơn giản được xây dựng trong
nhiều năm nay, có nhiều phương pháp được đưa ra như sử dụng template
matching, neural network…Cho tới nay bài toán này hầu như được giải quyết dựa
trên phương pháp sử dụng các đặc trưng haar like.
3.4.1 Các đặc trưng Haar-Like
Các đặc trưng Haar-Like là những hình chữ nhật được phân thành các
vùng khác nhau như hình:

Hình 4 Phân vùng các dặc trưng của thuật toán Haar-Like

17


Đặc trưng do Viola và Jones công bố gồm 4 đặc trưng cơ bản để xác định
khuôn mặt người. Mỗi đặc trưng Haar-Like là sự kết hợp của hai hay ba hình chữ
nhật trắng hay đen như trong hình sau:

Hình 5 4 đặc trưng cơ bản để xác định khuôn mặt người

Để sử dụng các đặc trưng này vào việc xác định khuôn mặt người, 4 đặc
trưng Haar-Like cơ bản được mở rộng ra và được chia làm 3 tập đặc trưng như

sau:
− Đặc trưng cạnh(edge feature)

Hình 6 Đặc trưng cạnh (edge feature)

− Đặc trưng đường(line feature)

Hình 7 Đặc trưng đường (line feature)

− Đặc trưng xung quanh tâm(center-surround features)

Hình 8 Đặc trưng xung quanh tâm (center-surround feature)

Dùng các đặc trưng trên, ta có thể tính được các giá trị của đặc trưng HaarLike là sự chênh lệch giữa tổng của các pixel của vùng đen và vùng trắng như
trong công thức sau:

Viola và Jones đưa ra một khái niệm gọi là Integral Image, là một mảng 2
chiều với kích thước bằng với kích thước của ảnh cần tính đặc trưng Haar-Like,
với mỗi phần tử của mảng này được tính bằng cách tính tổng của điểm ảnh phía
trên (dịng-1) và bên trái (cột-1) của nó.

18


Hình 9 Cơng thức tính Intergral Image

Sau khi tính được Integral Image, việc tính tổng các giá trị mức xám của
một vùng bất kỳ nào đó trên ảnh thực hiện rất đơn giản theo cách sau:
Giả sử ta cần tính tổng giá trị mức xám của vùng D như hình dưới, ta có
thể tính được như sau:

D = A + B + C + D - (A+B) - (A+C) + A
Với A + B + C + D chính là giá trị tại điểm P4 trên Integral Image, tương
tự như vậy A+B là giá trị tại điểm P2, A+C là giá trị tại điểm P3, và A là giá trị tại
điểm P1. Vậy ta có thể viết lại biểu thức tính D ở trên như sau:

Hình 10 Tổng các giá trị mức xám ở điểm D

3.4.2 AdaBoost
AdaBoost là một bộ phân loại mạch phi tuyến phức dựa trên hướng tiếp
cận boosting được Freund và Schapire đưa ra vào năm 1995. Adaboost cũng hoạt
động trên nguyên tắc kết hợp tuyến tính các weak classifiers để hình thành một
trong các classifiers.
Viola và Jones dùng AdaBoost kết hợp các bộ phân loại yếu sử dụng các
đặc trưng Haar-like theo mơ hình phân tầng (cascade) như sau:

19


Hình 11 Các đặc trưng Haar-Like theo mơ hình phân tầng (cascade)

Trong đó, h(k) là các bộ phân loại yếu, được biểu diễn như sau:

AdaBoost sẽ kết hợp các bộ phân loại yếu thành bộ phân loại mạnh như
sau:

3.5
mặt

Các thuật tốn được sử dụng trong việc nhận dạng khn


3.5.1 One-shot learning
One-shot learning là thuật tốn học có giám sát mà mỗi một người chỉ cần
1 vài, rất ít hoặc thậm chí chỉ 1 bức ảnh duy nhất (để khỏi tạo ra nhiều biến
20


thể).Từ đầu vào là bức ảnh của một người, chúng ta sử dụng một kiến trúc thuật
toán CNN đơn giản để dự báo người đó là ai.
Tuy nhiên nhược điểm của phương pháp này là chúng ta phải huấn luyện
lại thuật toán thường xuyên khi xuất hiện thêm một người mới vì shape của
output thay đổi tăng lên 1. Rõ ràng là không tốt đối với các hệ thống nhận diện
khn mặt của một cơng ty vì số lượng người luôn biến động theo thời gian.
3.5.2 Learning similarity
Phương pháp này dựa trên một phép đo khoảng cách giữa 2 bức ảnh, thông
thường là các norm chuẩn l1 hoặc l2 sao cho nếu 2 bức ảnh thuộc cùng một người
thì khoảng cách là nhỏ nhất và nếu khơng thuộc thì khoảng cách sẽ lớn hơn.

Learning similarity có thể trả ra nhiều hơn một ảnh là cùng loại với ảnh
đầu vào tùy theo ngưỡng threshold. Ngồi ra phương pháp này khơng bị phụ
thuộc vào số lượng classes. Do đó khơng cần phải huấn luyện lại khi xuất hiện
class mới. Điểm mấu chốt là cần xây dựng được một model encoding đủ tốt để
chiếu các bức ảnh lên một không gian euclide n chiều. Sau đó sử dụng khoảng
cách để quyết định nhãn của chúng.
3.5.3

Siam network
Những kiến trúc mạng mà khi bạn đưa vào 2 bức ảnh và mơ hình sẽ trả lời
chúng thuộc về cùng 1 người hay không được gọi chung là Siam network.Kiến
trúc của Siam network dựa trên based network là một Convolutional neural
network đã được loại bỏ output layer có tác dụng encoding ảnh thành vector

embedding. Đầu vào của mạng siam network là 2 bức ảnh bất kì được lựa chọn
ngẫu nhiên từ dữ liệu ảnh. Output của Siam network là 2 vectơ tương ứng với
biểu diễn của 2 ảnh input. Sau đó chúng ta đưa 2 véc tơ vào hàm loss function để
đo lường sự khác biệt giữa chúng. Thông thường hàm loss function là một hàm
norm chuẩn bậc 2.
.
Ta có đầu vào là hai vector encoding x1 và x2 tương ứng cho hai ảnh.
Hàm
có tác dụng tương tự như một phép biến đổi qua layer fully
connected trong mạng neural network để tạo tính phi tuyến và giảm chiều dữ liệu
về các kích thước nhỏ.
Khi x1, x2 là cùng một người thì
x2 là 2 người khác nhau thì

có giá trị nhỏ, ngược lại khi x1,

có giá trị lớn.

21


Chương 4
4.1

XÂY DỰNG HỆ THỐNG

Phân tích hệ thống

Hệ thống điểm danh nhận diện khn mặt gồm các bước sau:
• Thu thập bộ dữ liệu khn mặt (dataset)

• Trích chọn đặc trưng từng khn mặt và gắn nhãn tương ứng (pre•





train)
Phát hiện khuôn mặt trên ảnh đầu vào (face detection)
Căn chỉnh khn mặt (face alignment)
Trích xuất các vector đặc trưng của khuôn mặt (extract feature)
Nhận dạng khuôn mặt (face recognition)
Xử lý thông tin khuôn mặt vừa nhận dạng và tiến hành điểm danh

Sơ đồ tiến hành:
Bộ dữ liệu
hình ảnh

Phát hiện
khn mặt

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

Train ảnh

Dữ liệu đặc trưng khuôn
mặt và nhãn tương ứng

Ảnh chứa
khuôn mặt

điểm danh

Phát hiện
khuôn mặt

Hiển thị
kết quả lên
giao diện

Căn chỉnh
khn mặt

Xác định
khn mặt

Điểm
danh

Hình 12 Sơ đồ hệ thống

22


4.2

Xây dựng ứng dụng

Hệ thống thu thập hình ảnh dữ liệu khn mặt bằng cách sử dụng chính
webcam của máy tính, hoặc có thể là hình ảnh từ nhiều nguồn khác. Các ảnh
được thu thập cần đảm bảo các yếu tố như điều kiện ánh sáng, các góc độc khác

nhau của khuôn mặt, tuổi tác,… Và khuôn mặt không nên có các vật cản như
kính.
Ngồi ra, để đảm bảo độ chính xác cho hệ thống, đối với mỗi người dùng
cần thu thập một số lượng ảnh nhất định không quá ít, và mỗi bức ảnh chỉ chứa
duy nhất một khuôn mặt.
Giao diện ứng dụng

Hình 13 Giao diện ứng dụng

4.2.1 Phát hiện khn mặt (face detection)
Để trích chọn đặc trưng cho mỗi khn mặt, trước tiên ta cần tìm ra vị trí
khn mặt trong bức hình. Vì bộ dữ liệu sẽ bao gồm nhiều ảnh có điều kiện ánh
sáng cũng như các góc độ của khn mặt khác nhau, chính vì vậy việc lựa chọn
face detector cũng rất quan trọng để đảm hiệu quả cao nhất cho hệ thống.
Đầu tiên, tôi sẽ thử với phương pháp sử dụng haar cascade xml:

23


Hình 14 Phát hiện gương mặt

Kết quả cho ta thấy, haar cascade hiệu quả với các khuôn mặt thẳng và
không bị che khuất như mắt kính trong trường hợp của bạn nữ. Hay có các góc
nghiêng mạnh như trường hợp bạn nam, haar cascade đã nhận nhầm vùng tai,
điều này thật sự không tốt khi sử dụng cho việc pre-train.

24


Hình 15 Code lấy ảnh


25


×