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

Xác định khuôn mặt người dựa trên mạng nơron

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.76 MB, 75 trang )

LỜI CAM ĐOAN

Chúng tôi tên là :

Võ Như Thông

07DT3

Lê Thị Cẩm Vân 07DT4
Sinh viên : Khoa Điện Tử-Viễn Thông, khóa 07. Đại Học Bách Khoa Đà Nẵng.
Đề tài

: Xác định khuôn mặt người dựa trên mạng Nơ-ron.

Chúng tôi xin cam đoan đồ án tốt nghiệp này không sao chép hoàn toàn bất kì đồ án
hay đề tài nghiên cứu khoa học nào. Nếu vi phạm tôi xin chịu hoàn toàn trách nhiệm
trước nhà trường và khoa.

Đà nẵng, Ngày 20 tháng 5 năm 2012
Sinh viên thực hiện

Võ Như Thông

07DT3

Lê Thị Cẩm Vân 07DT4

Trang i


MỤC LỤC


LỜI CAM ĐOAN..............................................................................................................i
MỤC LỤC

ii

CÁC TỪ VIẾT TẮT........................................................................................................iii
DANH MỤC CÁC HÌNH VẼ.........................................................................................iv
LỜI MỞ ĐẦUvi
1.6 Kết luận chương...................................................................................................xiii
4.4 Kết luận chương............................................................................................xxxviii
5.1 Giới thiệu chương............................................................................................xxxix
5.4 Chương trình con tạo mạng Nơ-ron đơn giản.......................................................xl
5.5 Chương trình con huấn luyện và phân lớp...........................................................xli
5.5.1 Trainscg

xli

5.5.2 Traincgb, traincgf, traincgp

xlii

5.6 Tổng kết chương..................................................................................................xlii
CHƯƠNG 6: KẾT QUẢ MÔ PHỎNG.........................................................................xlii
6.1 Giới thiệu chương................................................................................................xlii
6.2 Kết quả với TRAINSCG....................................................................................xliii
6.3 Kết quả với TRAINCGB.....................................................................................xlv
6.6 So sánh kết quả.......................................................................................................li
6.8 Kết quả thu được khi thay đổi số Nơ-ron trong lớp ẩn với hàm traincgb...........liii
6.9 Kết quả thu được khi thay đổi số Nơ-ron trong lớp ẩn với hàm traincgf............liv
6.10 Kết quả thu được khi thay đổi số Nơ-ron trong lớp ẩn với hàm traincgp..........lv

6.11 So sánh kết quả của 4 hàm trên khi thay đổi số Nơ-ron trong lớp ẩn...............lvi
6.12 Kết luận chương.................................................................................................lvii
HƯỚNG PHÁT TRIỂN ĐỀ TÀI..................................................................................lvii
PHỤ LỤC

60

Trang ii


CÁC TỪ VIẾT TẮT
FFT

:

Fast Fourier Transform.

PCA

:

Principal Component Analysis.

MLP

:

Multi Layer Perception.

TRAINSCG:


Scaled Cọnjugate Gradient Backpropagation.

TRAINCGB:

Conjugate gradient backpropagation with Powell-Beale restarts.

TRAINCGP:

Conjugate gradient backpropagation with Polak-Ribiére updates.

TRAINCGF:

Conjugate gradient backpropagation with Fletcher-Reeves updates.

Trang iii


DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Ví dụ về xác định khuôn mặt.
Hình 2.1 Một số mẫu mặt người làm cơ sở dữ liệu trong hệ thống xác định khuôn
mặt.
Hình 2.2 Một sỗ mẫu không phải là mặt người làm cơ sở dữ liệu cho hệ thống xác
định.
Hình 2.3 Các mẫu dùng để kiểm tra.
Hình 2.4 Trái: Mẫu khuôn mặt chuẩn. Phải: Các vị trí đặc trưng.
Hình 2.5 Các mẫu của khuôn mặt thẳng.
Hình 2.6 Các bước trong việc tiền xử lí windown.
Hình 2.7 Phân đoạn ảnh nền với thuật toán E.
Hình 3.1 Mô hình mạng Nơ-ron.

Hình 3.2 Mạng Nơ-ron truyền thẳng một lớp.
Hình 3.3 Mạng Nơ-ron truyền thẳng nhiều lớp.
Hình 3.4 Ảnh thực hiện phép biến đổi FFT.
Hình 3.5 Biến đổi của bộ lọc Gabor.
Hình 3.6 Ví dụ về đáp ứng khuôn mặt dựa trên bộ lọc Gabor.
Hình 3.7 Các điểm đặc trưng khuôn mặt người được trích từ đáp ứng của bộ lọc
Gabor.
Hình 3.8 Các bước thực hiện quá trình rút trích đặc trưng.
Hình 4.1 Thuật toán dò tìm khuôn mặt.
Hình 4.2 Ảnh minh họa khi chưa sử dụng heuristic.
Hình 4.3 Kết quả khi sử dụng heuristic.
Hình 4.4 Ảnh minh họa việc đánh mất cửa sổ khi sử dụng Heuristic.
Hình 4.5 AND các đầu ra từ hai mạng trên các vị trí và tỷ lệ khác nhau có
thể cải thiện độ chính xác dò tìm.
Hình5.1 Lưu đồ các bước trong chương trình chính.
Trang iv


Hình 5.2 Lưu đồ chương trình tạo cơ sở dữ liệu.
Hình 5.3 Cấu trúc mạng Nơ-ron.
Hình 6.1 Các ảnh kiểm tra với phương pháp trainscg.
Hình 6.2 Bảng thống kê số liệu khi ứng dụng phương pháp trainscg.
Hình 6.3 Các ảnh kiểm tra với phương pháp traincgb.
Hình 6.4 Bảng thống kê số liệu khi ứng dụng phương pháp traincgb.
Hình 6.5 Các ảnh kiểm tra với phương pháp traincgf.
Hình 6.6 Bảng thống kê số liệu khi ứng dụng phương pháp traincgf.
Hình 6.7 Các ảnh kiểm tra với phương pháp traincgp.
Hình 6.8 Bảng thống kê số liệu khi ứng dụng phương pháp traincgp.
Hình 6.9 kết quả của 4 phương pháp.


Trang v


LỜI MỞ ĐẦU
Trong những năm gần đây, các ứng dụng về trí tuệ nhân tạo ngày càng phát triển và
được đánh giá cao. Một lĩnh vực đang được quan tâm của trí tuệ nhân tạo nhằm tạo ra
các ứng dụng thông minh, có tính người đó là nhận dạng. Đối tượng cho việc nghiên
cứu nhận dạng cũng rất phong phú và đa dạng. Trong đề tài này em chọn đối tượng là
khuôn mặt.
Khuôn mặt đóng vai trò quan trọng trong quá 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 khuôn mặt có thể biết được người đó muốn nói gì.Trong hệ thống nhận dạng
người thì quá trình xác định khuôn mặt người đượ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 đó, xác định khuôn mặt là điều
quan trọng và cần thiết . Đó là lí do cơ bản để em chọn đề tài :
“XÁC ĐỊNH KHUÔN MẶT NGƯỜI DỰA TRÊN MẠNG NƠ-RON”
Đề tài được chia thành 6 chương với nội dung sau:
• Chương 1: Giới thiệu tổng quan về hệ thống xác định khuôn mặt người. Trong
chương này, đồ án trình bày mô hình cũng như định nghĩa về bài toán xác định
khuôn mặt. Nêu ra những khó khăn tồn tại đối với phương pháp xác định khuôn
mặt. Đồng thời xây dựng theo hướng tiếp cận dựa trên diện mạo. Cụ thể là ứng
dụng mạng Nơ-ron.
• Chương 2 : Chuẩn bị cơ sở dữ liệu và các bước tiền xử lý. Trong chương này
trình bày cơ sở xây dựng tập cơ sở dữ liệu và các giai đoạn tiền xử lí để nâng
cao chất lượng hình ảnh.
• Chương 3: Mạng Nơ-ron và rút trích đặc điểm đặc trưng khuôn mặt. Trong
chương trình này trình bày hai kĩ thuật quan trọng trong hệ thống xác định

Trang vi



khuôn mặt: Mạng Nơ-ron và kĩ thuật rút trích đặc trưng bằng phương pháp FFT
kết hợp với bộ lọc Gabor.
• Chương 4 : Dò tìm khuôn mặt. Trong chương này tổng hợp các kĩ thuật nhằm
xác định vị trí của khuôn mặt.
• Chương 5: Lưu đồ thuật toán.
• Chương 6: Kết quả mô phỏng phương pháp xác định khuôn mặt người dựa trên
mạng Nơ-ron.
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.
Em xin chân thành cảm ơn các thầy cô khoa Điện tử-Viễn thông, Đại học bách
khoa Đà Nẵng đã tận tình dạy bảo, truyền đạt nhiều kiến thức quí báu cho chúng
em. Đặc biệt em xin gửi lời cảm ơn chân thành nhất đến Tiến Sĩ Bùi Thị Minh Tú
đã tận tình giúp đỡ và chỉ dẫn, cũng như định hướng đề tài cho em trong suốt thời
gian làm đồ án tốt nghiệp.

Chương 1: TỔNG QUAN VỀ HỆ THỐNG XÁC ĐỊNH KHUÔN MẶT
NGƯỜI
1.1 Giới thiệu chương
Hơn một thập kỷ qua có rất nhiều công trình nghiên cứu về bài toán xác định khuôn
mặt người từ ảnh đen trắng, xám đến ảnh màu như ngày hôm nay. Các nghiên cứu đi
Trang vii


từ bài toán đơn giản, mỗi ảnh chỉ có một khuôn mặt người nhìn thẳng vào thiết bị thu
hình và đầu ở tư thế thẳng đứng trong ảnh đen trắng. Cho đến ngày hôm nay bài toán
mở rộng cho ảnh màu, có nhiều khuôn mặt trong cùng một ảnh, có nhiều tư thế thay
đổi trong ảnh. Không những vậy mà còn mở rộng cả phạm vi từ môi trường xung

quanh khá đơn giản (trong phòng thí nghiệm) cho đến môi trường xung quanh rất phức
tạp (như trong tự nhiên) nhằm đáp ứng nhu cầu thật sự và rất nhiều của con người.
1.2 Hệ thống xác định khuôn mặt và ứng dụng
1.2.1 Định nghĩa
Xác định khuôn mặt người (Face Detection) là một kỹ thuật máy tính để xác định
các vị trí và các kích thước của các khuôn mặt người trong các ảnh bất kỳ. Kỹ thuật
này nhận biết các đặc trưng của khuôn mặt và bỏ qua những thứ khác, như: tòa nhà,
cây cối, cơ thể…

Hệ thống xác
định khuôn mặt

Input

output
Hình 1.1 Ví dụ về xác định khuôn mặt

1.2.2 Một số lĩnh vực ứng dụng xác định khuôn mặt
Xác định khuôn mặt đã được ứng dụng nhiều trong các lĩnh vực:
* Hệ thống tương tác giữa người và máy (điều kiển máy tính qua các cử động của
khuôn mặt).
* Hệ thống nhận dạng người (giúp cho các cơ quan an ninh quản lý tốt con người).
* Hệ thống quan sát, bảo vệ, quản lý việc ra vào cho các cơ quan và công ty.

Trang viii


* Hệ thống trợ giúp lái xe, hệ thống phân tích cảm xúc trên khuôn mặt, và hệ
thống nhận dạng khuôn mặt cho các máy ảnh kỹ thuật số...
1.3 Một số phương pháp xác định khuôn mặt người

Hiện nay có rất nhiều phương pháp xác định khuôn 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:
o Hướng tiếp cận dựa trên tri thức: Mã hóa các hiểu biết của con người về các

loại khuôn mặt người thành các luật. Thông thường các luật mô tả quan hệ của các
đặc trưng.
o Hướng tiếp cận dựa trên đặc trưng không thay đổi: Mục tiêu các thuật toán đi

tìm các đặc trưng mô tả cấu trúc khuôn mặt người mà các đặc trưng này sẽ không
thay đổi khi tư thế khuôn mặt, vị trí đặt thiết bị thu hình hoặc điều kiện ánh sáng
thay đổi.
o Hướng tiếp cận dựa trên so khớp mẫu: Dùng các mẫu chuẩn của khuôn mặt

người (các mẫu này được chọn lựa và lưu trữ) để mô tả cho khuôn mặt người hay
các đặc trưng khuôn mặt (các mẫu này phải chọn làm sao cho tách biệt nhau theo
tiêu chuẩn mà các tác giả định ra để so sánh). Các mối tương quan giữa dữ liệu ảnh
đưa vào và các mẫu dùng để xác định khuôn mặt người.
o Hướng tiếp cận dựa trên diện mạo: Trái ngược hẳn với so khớp mẫu, các mô

hình (hay các mẫu) được học từ một tập ảnh huấn luyện trước đó. Sau đó hệ thống
(mô hình) sẽ xác định khuôn mặt người. Hay một số tác giả còn gọi hướng tiếp cận
này là hướng tiếp cận theo phương pháp học.
1.3.1 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 topdown. 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.

Trang ix



Ví dụ: một khuôn 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 khuôn 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 khuôn mặt. Thường áp dụng quá trình xác định để giảm số lượng xác định sai.
1.3.2 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ó khuôn 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.
1.3.3 Hướng tiếp cận dựa trên dựa trên so khớp mẫu
Trong so khớp mẫu, các mẫu chuẩn của khuôn mặt (thường là khuôn mặt được chụp
thẳng) sẽ được xác định trước hoặc xác định các tham số thông qua một hàm. Từ một
ảnh đưa vào, tính các giá trị tương quan so với các mẫu chuẩn về đường viền khuôn
mặt, mắt, mũi và miệng. Thông qua các giá trị tương quan này mà các tác giả quyết
định có hay không có tồn tại khuôn mặt trong ảnh.
Hướng tiếp cận này có lợi thế là rất dễ cài đặt, nhưng không hiệu quả khi tỷ lệ, tư
thế, và hình dáng thay đổi.
1.3.4 Hướng tiếp cận dựa trên diện mạo

Trang x


Trái ngược với các phương pháp so khớp mẫu với các mẫu đã được định nghĩa

trước bởi những chuyên gia, các mẫu trong hướng tiếp cận này được học từ các ảnh
mẫu. Một cách tổng quát, các phương pháp theo hướng tiếp cận này áp dụng các kỹ
thuật theo hướng xác suất thống kê và máy học để tìm những đặc tính liên quan của
khuôn mặt và không phải là khuôn mặt. Các đặc tính đã được học ở trong hình thái các
mô hình phân bố hay các hàm biệt số nên dùng có thể dùng các đặc tính này để xác
định khuôn mặt người. Đồng thời, bài toán giảm số chiều thường được quan tâm để
tăng hiệu quả tính toán cũng như hiệu quả xác định.
Ưu điểm của hướng tiếp cận này là: Các phương pháp theo 3 hướng tiếp cận đầu
thường cho tốc độ xử lí nhanh, tuy nhiên có nhược điểm là kết quả xử lí chưa cao.
Ngược lại các phương pháp dựa trên máy học thường cho kết quả chính xác hơn.
1.4 Khó khăn và thách thức trong bài toán xác định khuôn mặt
Việc xác định khuôn mặt người có những khó khăn nhất định như sau:


Tư thế khuôn mặt (pose): của khuôn mặt đối với máy ảnh như: nhìn
thẳng, nhìn nghiêng hay nhìn từ trên xuống. Cùng trong một ảnh có thể có
nhiều khuôn mặt ở những tư thế khác nhau.



Nội dung khuôn mặt: khuôn mặt chứa đầy đủ các thông tin như: mắt, mũi,
miệng, hay thiếu một vài đặc trưng nào đó...



Trạng thái khuôn mặt: Các nét mặt khác nhau trên khuôn mặt như: vui,
buồn, tức giận, ngạc nhiên, ….

1.5 Hướng tiếp cận được thử nghiệm trong đồ án
Trong đề tài xác định khuôn mặt người, em sẽ đi theo hướng tiếp cận dựa trên diện

mạo. Cụ thể là em sẽ trình bày phương pháp tiêu biểu của phương pháp máy học đó là:
Mạng Nơ-ron
1.5.1 Mạng Nơ-ron nhân tạo

Trang xi


Là một hệ thống bao gồm nhiều phần tử xử lý đơn giản(hay còn gọi là nơ-ron) hoạt
động song song và được nối với nhau bằng các liên kết nơ-ron. Mỗi liên kết kèm theo
một trọng số nào đó, đặc trưng cho tính kích hoạt hay ức chế của các nơron
1.5.2 Ứng dụng của mạng Nơ-ron trong bài toán xác định khuôn mặt
Mạng Nơ-ron được áp dụng rộng rãi và tương đối thành công trong các bài toán
nhận dạng mẫu như: Nhận diện kí tự ( nhận diện chữ viết), đối tượng (object) , điều
khiển robot …Một trong những ưu điểm của mạng nơ-ron là tính khả thi của hệ thống
học là cơ sở dữ liệu mẫu đa dạng và phức tạp vì vậy khả năng phát hiện khuôn mặt rất
lớn.Tuy nhiên điều trở ngại là các kiến trúc mạng đều quá lớn ,vì vậy khi áp dụng vào
trường hợp cụ thể phải xác định rõ ràng số lượng tầng ,số lượng node , tỉ lệ … cho
từng trường hợp.
Theo đánh giá của các chuyên gia thì phương pháp xác định mặt người bằng mang
nơ-ron của Rowel đối với ảnh xám là tốt nhất. Một mạng đa tầng được dùng để học
các mẫu khuôn mặt và không phải là khuôn mặt từ các ảnh tương ứng ( dựa trên quan
hệ về cường độ và mặt không gian của các điểm ảnh). Đây cũng là phương pháp mạng
nơ-ron mà em sẽ trình bày cụ thể trong các chương sau của luận văn.
1.5.3 Các bước xác định khuôn mặt dựa trên mạng Nơ-ron
Hệ thống xác định khuôn mặt thực hiện các bước chính sau :
• Ước lượng vị trí: việc dùng tiếp cận máy học, cụ thể là mạng Nơ-ron, đòi hỏi
việc huấn luyện mẫu. Để giảm số lượng biến đổi trong ảnh huấn luyện dương,
ảnh được canh biên với các ảnh khác để cực tiểu hoá các biến đổi vị trí đặc
trưng khuôn mặt. Khi thi hành chương trình, ta không biết chính xác các vị trí
đặc trưng khuôn mặt, do đó không thể dùng chúng để định vị các ứng viên

khuôn mặt tiềm năng. Thay vậy, ta dò tìm toàn diện ở mọi vị trí và tỷ lệ để tìm
mọi vị trí ứng viên. Các cải tiến dò tìm toàn diện làm cho thuật toán nhanh hơn,
với tỷ lệ dò tìm giảm 10% đến 30%.

Trang xii


• Tiền xử lý: để giảm các biến đổi gây ra do chiếu sáng hay camera, ảnh được
tiền xử lý với các thuật toán chuẩn như cân bằng lược đồ để cải thiện độ sáng
và độ tương phản trong ảnh. Sau đó ta tiến hành phân mảnh ảnh và rút trích các
đặc trưng quan trọng của khuôn mặt, đồng thời tiến hành phân tích độ nhạy để
lọc bỏ các thông tin dư thừa.
• Dò tìm: các khuôn mặt tiềm năng đã chuẩn hoá về vị trí, tư thế, và độ sáng
trong hai bước đầu tiên được khảo sát để xác định chúng có thực sự là khuôn
mặt hay không. Quyết định này được thực hiện bằng mạng Nơ-ron đã huấn
luyện với nhiều ảnh mẫu khuôn mặt và không khuôn mặt.
• Quyết định: Kết hợp nhiều mạng để có được một quyết định khách quan nhất.
Mỗi mạng học những điều khác nhau từ dữ liệu huấn luyện, và đưa ra các lỗi
khác nhau. Các quyết định của chúng có thể kết hợp dùng một số phương thức
đơn giản khác, làm tăng độ chính xác dò tìm khuôn mặt và ngăn chặn lỗi.
1.6 Kết luận chương
Qua chương này, ta đã có cái nhìn tổng quan về hệ thống xác định khuôn mặt cũng
như các khó khăn trong quá trình thực hiện . Sau khi phân tích được ưu nhược điểm
của các cách tiếp cận , cho ta thấy được hướng tiếp cận dựa trên diện mạo cho kết quả
tương đối chính xác so với các hướng tiếp cận khác . Từ đó đi tới quyết định thực hiện
nhận dạng mặt người dựa trên phương pháp mạng Nơ-ron . Trong chương này cũng
đã trình bày sơ lược về các bước thực hiện chính trong phương pháp nhận diện dựa
trên mạng Nơ-ron.

Chương 2:


CƠ SỞ DỮ LIỆU VÀ CÁC BƯỚC TIỀN XỬ LÝ

2.1 Giới thiệu chương
Trong chương này, em sẽ trình bày các bước chuẩn bị dữ liệu để áp dụng thuật toán
xác định khuôn mặt bằng mạng Nơ-ron.
Trang xiii


 Dữ liệu cho huấn luyện mạng Nơ-ron: bao gồm tập các dữ liệu khuôn mặt và
không phải khuôn mặt. Tập các ảnh sử dụng để huấn luyện mạng
 Dữ liệu dùng để khảo sát và thử nghiệm kết quả hoạt động của hệ thống
2.2 Nguồn cơ sở dữ liệu
2.2.1 Các nguồn cơ sở dữ liệu
Trong phần này, Em xin giới thiệu các nguồn cơ sở dữ liệu hình ảnh. Các ảnh này
được lấy từ nguồn chuyên phục vụ nhận diện khuôn mặt.
Cơ sở dữ liệu gồm
các ảnh xám có kích thước chuẩn hoá 27x18 (pixels).Một vài ảnh sẽ được minh họa
trong hình sau:

Hình 2.1 Một số mẫu mặt người làm cơ sở dữ liệu trong hệ thống xác định khuôn mặt

Hình 2.2 Một sỗ mẫu không phải là mặt người làm cơ sở dữ liệu cho hệ thống xác định

Trang xiv


Hình 2.3: Các mẫu dùng để kiểm tra

Nhận xét về tập mẫu giữ liệu: Hầu hết các khuôn mặt xuất hiện trong ảnh là

khuôn mặt trực diện với mặt phẳng ảnh và mỗi khuôn mặt đều đầy đủ thông tin đặc
trưng như (Hai chân mày, hai mắt, mũi, miệng, cằm). Một số khuôn mặt quay với một
góc không đáng kể.
2.2.2 Biểu diễn dữ liệu khuôn mặt trong máy tính
Dữ liệu ảnh biểu diễn bên trong máy tính là cường độ sáng của điểm ảnh, tại vị trị x
và y: (I(x,y)).
Để biểu diễn dữ liệu cho các thuật toán học nhận dạng, ta dùng hai cách tổ chức dữ
liệu như sau:
 Đọc từng dòng ảnh theo thứ tự từ trên xuống, mỗi dòng ảnh được bố trí liên tục
nhau trên một mảng số thực một chiều. Như vậy từ ảnh có kích thước 27×18
pixels,ta biểu diễn thành mảng vector một chiều: x=(x1,x2,….,x900). Đây là cách
bố trí để thí nghiệm cho phương pháp PCA .


Đọc từng khối ảnh có kích thước 8×32 (pixel) theo thứ tự khối dưới chồng

lấp khối trên một nữa kích thước tính theo chiều cao, trên mỗi khối ảnh này ta lại
tiếp tục tách ra mỗi khối con 8×8 liên tục nhau. Từ khối 8×8(pixels), chúng tôi
chọn ra 20 hệ số đặc trưng từ phép biến đổi trên miền tần số. Mỗi khối ảnh 8×32
sẽ được lượng hoá thành mỗi vector một chiều. Như vậy đỗi với ảnh mỗi khuôn

Trang xv


mặt ta biểu biển trong máy tính thành một chuỗi các vector một chiều liên tiếp
nhau.

2.3 Gán nhãn và canh biên các đặc trưng khuôn mặt
Bước đầu tiên trong việc giảm số các biến đổi trong ảnh khuôn mặt là canh biên các
khuôn mặt này với khuôn mặt khác. Việc canh biên này sẽ làm giảm các biến đổi về vị

trí, hướng, và tỷ lệ các khuôn mặt. Việc canh biên được tính trực tiếp từ các ảnh. Và
nó tạo ra không gian ảnh khuôn mặt tối thiểu. Cường độ ảnh khuôn mặt có thể biến đổi
nhiều, làm cho một số khuôn mặt khó canh biên với nhau. Ta dùng giải pháp gán nhãn
thủ công các mẫu khuôn mặt. Bước tiếp theo là dùng thông tin này để canh biên các
khuôn mặt với khuôn mặt khác. Trước hết định nghĩa canh biên giữa hai tập điểm đặc
trưng. Đó là phép quay, biến đổi tỷ lệ, và dich chuyển để làm cực tiểu hoá tổng bình
phương khoảng cách giữa từng cặp đặc trưng tương ứng. Trong không gian hai chiều,
một phép biến đổi toạ độ như vậy có thể được viết dưới dạng sau:
 x'   s cos θ
  = 
 y '   s sin θ

− s sin θ
s cos θ

x
  x  tx   a − b tx   
 . y 
 .   +   = 

  y   t y   b a t y  1 
 

[3]

Khi có hai hay nhiều hơn cặp điểm đặc trưng phân biệt, hệ các phương trình tuyến
tính có thể được giải bằng phương pháp đảo ngược giả. Gọi ma trận bên trái là A,
vector (a, b, t-x, ty) là T, và bên phải là B, khi đó lời giải:
T = ( AT . A) −1 ( AT ..B )


[3]

Lời giải đảo ngược giả đưa ra phép biến đổi T làm cực tiểu tổng bình phương khác
biệt giữa tập toạ độ x’i, y’i và phiên bản đã biến đổi của xi, yi.
Canh biên tập các điểm đặc trưng :
 Bước 1 : Khởi tạo F , vector sẽ là vị trí trung bình của mỗi đặc trưng gán nhãn
trên mọi khuôn mặt, với một số vị trí đặc trưng ban đầu. Trong trường hợp
canh biên các khuôn mặt thẳng, các đặc trưng này là vị trí mong muốn của hai
Trang xvi


mắt, đỉnh mũi, hai góc và trung tâm miệng của mỗi khuôn mặt trong cửa sổ đầu
vào.
 Bước 2 : Với mỗi khuôn mặt i, dùng thủ tục canh biên để tính phép quay, dịch
chuyển, và biến đổi tỷ lệ tốt nhất để canh biên các đặc trưng khuôn mặt Fi với
các vị trí đặc trưng trung bình F . Gọi vị trí đặc trưng đã canh biên F’i.
 Bước 3 : Cập nhật F bằng việc lấy trung bình các vị trí đặc trưng đã canh biên
F’i cho mỗi khuôn mặt i.
 Bước 4 : Toạ độ đặc trưng trong F được quay, dịch chuyển và biến đổi để phù
hợp với một số toạ độ chuẩn. Toạ độ chuẩn là toạ độ được dùng làm giá trị
khởi tạo cho F .
 Bước 5: Sang bước 2
Theo kinh nghiệm, thuật toán hội tụ trong vòng năm lần lặp, tạo cho mỗi khuôn mặt
phép biến đổi để ánh xạ nó gần về vị trí chuẩn, và canh biên với mọi khuôn mặt khác.
Khi đã biết các tham số để canh biên khuôn mặt, ảnh có thể được lấy mẫu lại dùng nội
suy song tuyến tính. . Khuôn mặt chuẩn và phân phối của các vị trí đặc trưng được cho
trong hình 3.4.

Hình 2.4 Trái: Mẫu khuôn mặt chuẩn. Phải: Các vị trí đặc trưng


Trong quá trình huấn luyện xác định khuôn mặt, thì số lượng mẫu cần thiết dùng
cho quá trình xác định rất quan trọng. Điều này có thể thực hiện bằng cách xoay,
chuyển đổi , lấy tỉ lệ các mẫu.

Trang
xvii


Hình 2.5 Các mẫu của khuôn mặt thẳng
2.4 Tiền xử lý về độ sáng và độ tương phản trên tập mẫu học
Sau khi canh biên các khuôn mặt, vẫn còn một nguồn biến đổi chính (không kể biến
đổi về bản chất giữa các khuôn mặt). Biến đổi này gây ra do độ sáng và các đặc tính
máy ảnh, dẫn đến các ảnh có độ sáng tươi hay kém, hoặc ảnh có độ tương phản kém.
Kỹ thuật tiền xử lý trước hết cân bằng các giá trị mật độ trên toàn cửa sổ. Lập hàm
biến đổi tuyến tính giá trị mật độ trong vùng tròn trong cửa sổ. Các điểm ảnh bên
ngoài hình tròn có thể là nền. Nếu mật độ của pixel (x,y) là I(x,y), khi đó cách biến đổi
tuyến tính này được tham số hoá bởi a, b, c với:

(x

a
 
y 1) .  b  = I ( x, y )
1 
 

[3]

Việc chọn cách biến đổi này là tuỳ ý. Nó có thể biểu diễn các khác biệt về độ sáng
trên toàn ảnh. Các biến đổi được giới hạn là tuyến tính để số tham số ít và việc tạo lập

hàm nhanh chóng. Tập hợp với mọi pixel trên toàn cửa sổ hình tròn ta được phương
trình ma trận ràng buộc, và được giải bằng phương pháp đảo ngược giả. Phương trình

Trang
xviii


tuyến tính này sẽ xấp xỉ toàn bộ độ sáng của mỗi phần của cửa sổ, và bị trừ đi với cửa
sổ để cân bằng biến đổi về độ sáng.
Tiếp theo, cân bằng lược đồ, ánh xạ không tuyến tính các giá trị mật độ để mở rộng
miền cường độ trong cửa sổ. Lược đồ được tính với các pixel trong vùng tròn trong
cửa sổ. Việc này bù cho các khác biệt trong việc thu nhận đầu vào camera, và cũng cải
thiện độ tương phản trong một số trường hợp. Các kết qủa của mỗi bước được cho
trong hình

Hình 2.6 Các bước trong việc tiền xử lí windown
2.6 Kết luận chương:
Phần đầu của chương mô tả tập ảnh dùng trong quá trình huấn luyện và kiểm tra.
Trong phần sau của chương ta cũng đã tìm hiểu một số phương pháp góp phần làm cải
thiện chất lượng của ảnh trước khi tiến hành huấn luyện.

Chương 3: MẠNG NƠ-RON VÀ RÚT TRÍCH ĐIỂM ĐẶC TRƯNG KHUÔN
MẶT

Trang xix


3.1 Giới thiệu chương:
Trong chương này, em sẽ trình bày cụ thể về mạng Nơ-ron và trích rút các đặc trưng
của khuôn mặt bằng phương pháp FFT kết hợp với bộ lọc Gabor (Gabor filter).

3.2 Tổng quan về mạng Nơ-ron nhân tạo
3.2.1 Khái niệm mạng Nơ-ron:
Mạng Nơ-ron là một mạng bao gồm rất nhiều bộ xử lý đơn giản (gọi là các unit),
mỗi unit có vùng nhớ riêng của mình. Các unit được kết nối với nhau thông qua kênh
thông tin (gọi là các connection), thường mạng dữ liệu số, và được mã hóa theo một
cách nào đấy.
Các unit chỉ xử lý trên bộ dữ liệu của riêng nó và trên các đầu vào được đưa tới
thông qua các liên kết.
Mạng nơ-ron nhân tạo được coi là một công cụ mạnh để giải quyết các bài toán có
tính phi tuyến, phức tạp và đặc biệt trong các trường hợp mà mối quan hệ giữa các quá
trình không dễ thiết lập một cách tường minh. Có nhiều loại mạng nơ-ron khác nhau
trong đó mạng nơ-ron truyền thẳng nhiều lớp là một trong những mạng nơ-ron thông
dụng nhất.
3.2.2 Cấu trúc mạng Nơ-ron
Mỗi Nơ-ron (nút) là một đơn vị xử lý thông tin của mạng Nơ-ron, là yếu tố cơ bản để
cấu tạo nên mạng Nơ-ron

.

Hình 3.1: Mô hình mạng Nơ-ron.
Các thành phần của mạng Nơ-ron:

Trang xx




Synapse: Là một thành phần liên kết giữa các Nơ-ron, nó nối đầu ra của Nơ-ron lớp

này với đầu vào của một nơ ron trong lớp khác. Đặc trưng của synapse là một trọng số

mà mỗi tín hiệu đi qua đều được nhân với trọng số này. Các trọng số synapse chính là các
tham số tự do cơ bản của mạng Nơ-ron, có thể thay đổi được nhằm thích nghi với môi
trường xung quanh.
• Bộ cộng : để tính tổng các tín hiệu đầu vào của Nơ-ron, đã được nhân với các trọng
số synapse tương ứng, phép toán được mô tả ở đây tạo nên một bộ hợp tuyến tính.
• Hàm truyền : (hàm kích hoạt) chuyển đổi một tổ hợp tuyến tính của tất cả các
tín hiệu đầu vào thành tín hiệu đầu ra. Hàm kích hoạt này đảm bảo tính chất phi
tuyến cho tính toán mạng Nơ-ron. Nó được xem như là một hàm giới hạn, nó giới
hạn phạm vi biên độ cho phép tín hiệu đầu ra trong một khoảng giá trị hữu hạn.
3.2.3 Phân loại cấu trúc mạng Nơ-ron
Phỏng theo cơ chế làm việc của bộ não con người. Mạng nơ-ron nhân tạo được thể
được chia thành 2 loại sau:
3.2.3.1 Mạng Nơ-ron truyền thẳng một lớp
Mạng nơ-ron truyền thẳng một lớp là loại mạng chỉ có lớp nơ-ron đầu vào và một
lớp nơ-ron đầu ra (thực chất lớp nơ-ron đầu vào không có vai trò xử lý, do đó ta nói
mạng chỉ có một lớp). Loại mạng này còn được gọi là mạng perceptron một lớp. Mỗi
nơ-ron đầu ra có thể nhận tín hiệu từ các đầu vào x1, x2, …, xm để tạo ra tín hiệu đầu
ra tương ứng.
Nơron
Nơron

Input

Nơron

output

Nơron

Hình 3.2: Mạng Nơ-ron truyền thẳng một lớp

3.2.3.2 Mạng Nơ-ron truyền thẳng nhiều lớp

Trang xxi


Trong mạng Nơ-ron truyền thẳng nhiều lớp, lớp nhận tín hiệu vào của mạng gọi là
lớp vào (input layer), nó thường không thực hiện việc chuyển đổi thông tin mà chỉ làm
chức năng nhận tín hiệu. Tín hiệu ra của mạng được đưa ra từ lớp ra (output layer).
Các lớp ở giữa lớp vào và lớp ra gọi là các lớp ẩn.
Mạng Nơ-ron nhiều lớp có thể giải quyết các bài toán phi tuyến nhờ vào các lớp ẩn.
Các lớp ẩn này xen giữa các input bên ngoài và output của mạng. Càng nhiều lớp ẩn
thì khả năng mở rộng thông tin càng cao và xử lý tốt mạng có nhiều input và output.

Hình 3.3 Mạng Nơ-ron truyền thẳng nhiều lớp
3.2.4 Quá trình lan truyền tín hiệu từ đầu vào đến đầu ra:
Xét mạng Nơ-ron 3 lớp: lớp vào, lớp ẩn, lớp ra.
Giả sử có m nơ-ron ở lớp vào(j=1……….m), l nơ-ron trong lớp ẩn(q=1……….l) và n
nơ-ron ở lớp ra(i=1………..n).
Khi đưa vào đầu vào x, nơ-ron thứ q trong lớp ẩn sẽ nhận tín hiệu vào của mạng là:

net q =

m

∑ν
j =1

qj

xj


[1]

Nơ-ron q ở lớp ẩn sẽ tính toán và tạo kết quả ở đầu ra của nó là:

Trang
xxii


m

Z q = g (net q ) = g (∑ ν qj x j )

[1]

j =1

Do đó tín hiệu vào của Nơ-ron thứ i trên lớp ra sẽ là:

neti =

l

l

m

∑ w Z = ∑ w g (∑ ν
q =1


iq

q

q =1

iq

j =1

qj

xj)

[1]

Và cuối cùng, đầu ra của Nơ-ron i trên lớp ra sẽ là:
l

m

q =1

j =1

y i = g ( net i ) = g (∑wiq g (∑ν qj x j ))

[1]

Trong đó g là hàm kích hoạt (còn gọi là hàm chuyển) có dạng là hàm bước nhảy,

hàm dấu, hàm sigmoid…Nó đóng vai trò biến đổi từ thông tin đầu vào thành tín hiệu
đầu ra
Các hàm kích hoạt thường gặp:


Hàm Threhold
1 nếu u > 0
f (u) =
0 nếu u < 0



Hàm piecewwise – linear
1 nếu u > 1/2
f (u) =

u nếu 1/2 > u > -1/2
0 nếu u < -1/2



Hàm sigmoid (logistic)
f (u) =

1
1 + exp (-au)

 Hàm tang- hyperbol
Trang
xxiii



f (u) =

tanh (u)

= eu – e-u

eu + e-u
3.3 Rút trích điểm đặc trưng khuôn mặt
Nhận dạng mặt người là một lĩnh vực nghiên cứu hấp dẫn được nhiều người quan
tâm trong vài năm gần đây. Nói chung có hai phương pháp để nhận dạng mặt người,
phương pháp dựa vào mẫu (template based) và phương pháp dựa vào các đặc trưng
hình học (geometric features based).
Trong phương pháp dựa vào mẫu, các phương pháp thống kê được sử dụng để biểu
diễn toàn bộ ảnh.
Trong khi đó, phương pháp nhận dạng theo đặc trưng mô tả khuôn mặt theo ý tưởng
đối tượng ảnh có thể được biểu diễn như một tập hợp các đặc trưng trừu tượng. Một số
đặc trưng đơn giản như các đường biên, đường thẳng, đoạn thẳng, điểm. Các đặc trưng
phức tạp hơn có thể được xây dựng từ các đặc trưng đơn giản này.
Trong hầu hết các phương pháp nhận dạng theo đặc trưng, sự lựa chọn các đặc trưng
và mô tả chúng là rất quan trọng.
3.3.1 Phép biến đổi fourier rời rạc (Discrete Fourier Transform)
Phép biến đổi Fourier rời rạc là một kĩ thuật biến đổi nhanh, và là một trong những
phép biến đổi hữu ích nhất trong lĩnh vực xử lý tín hiệu số nói chung và lĩnh vực xử lí
ảnh, video nói riêng. Mục đích của mã hóa Fourier rời rạc xử lý tín hiệu trên miền
không gian pixel sang một tín hiệu mới trên miền tần số, nhằm giảm khối lượng dữ
liệu của các tín hiệu, đồng thời vẫn bảo toàn tốt chất lượng của tín hiệu.
Ứng dụng trong việc tính đạo hàm riêng và các phép tính như tính chập. Biến đổi
này có thể tính nhanh bởi thực toán biến đổi Fourier nhanh (FFT).

Dãy của N số Số phức :x0,...,xN − 1 được biến đổi thành chuỗi của N số phức X0, ...,
XN−1 bởi công thức sau đây:

Trang
xxiv


[5]
trong đó, n ∈ [0, N-1], k ∈ [0, N-1]
Phép biến đổi Fourier rời rạc ngược được cho bởi công thức sau :

[5]
Chúng ta ứng dụng phép biến đổi fourier để trích đặc điểm đặc trưng . Ảnh sau khi
được biến đổi FFT sẽ như trong hình.

ảnh đầu vào

ảnh sau khi biến đổi FFT
Hình 3.4 Ảnh thực hiện phép biến đổi FFT

3.3.2 Bộ lọc Gabor (Gabor Filter)
Bộ lọc Gabor có cả hai ưu điểm là tần số chọn lọc và định hướng chọn lọc thuộc
tính ngoài ra nó còn có độ phân giải tối ưu chung trong cho không gian và tần số. Do
đó bộ lọc Gabor có thể loại bỏ tín hiệu nhiễu và bảo tồn cấu trúc.

Trang
xxv



×