Các phương pháp nhận diện mặt người Phương pháp nhận dạng mặt người hiện nay có 2 loại: Nhận dạng dựa trên các đặc trưng của các phần tử trên khuôn mặt Feature based face recognition..
Trang 1HỌC VIỆN CÔNG NGHỆ
BƯU CHÍNH VIỄN THÔNG TP.HCM
BÁO CÁO CÁ NHÂN:
Nhận dạng mặt người
MÔN HỌC: Xử lý ảnh
GIẢNG VIÊN HƯỚNG DẪN: Lê Hoàng Thái NGƯỜI THỰC HIỆN: Nguyễn Văn Bình
MÃ SINH VIÊN: N18DCCN016
LỚP: D18CQCN01-N
Trang 2I Tên đề tài
Nhận dạng mặt người
II Giới thiệu
Chắc hẳn mọi người đều biết về hệ thống nhận diện gương mặt rồi, trong phim hay
có kiểu dùng camera tìm trong 1 đám đông để tìm tội phạm các thứ Ít nhiều cũng có vài lần bạn đặt câu hỏi: sao nó nhận ra mặt người này để phân biệt với mặt người khác nhỉ? Trong khi mình nhìn còn chả nhận ra
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 được ra đời với độ tin cậy ngày càng cao Một trong các bài toán nhận dạng rất được quan tâm hiện nay là nhận dạng khuôn mặt
Vì nhận dạng khuôn mặt là cách mà con người sử dụng để phân biệt nhau Bên cạnh đó, ngày nay việc thu thập, xử lý thông tin qua ảnh để nhận biết đối tượng đang được quan tâm
và ứng dụng rộng rãi Với phương pháp này, chúng ta có thể thu nhận được nhiều thông tin
từ đối tượng mà không cần tác động nhiều đến đối tượng nghiên cứu Sự phát triển của khoa học máy tính tạo môi trường thuận lợi cho bài toán nhận dạng mặt người từ ảnh số
Trang 3III Các phương pháp nhận diện mặt người
Phương pháp nhận dạng mặt người hiện nay có 2 loại:
Nhận dạng dựa trên các đặc trưng của các phần tử trên khuôn mặt (Feature based face recognition)
Đây là phương pháp nhận dạng khuôn mặt dựa trên việc xác định các đặc trưng hình học của các chi tiết trên một khuôn mặt (như vị trí, diện tích, hình dạng của mắt, mũi, miệng,…), và mối quan hệ giữa chúng (như khoảng cách của hai mắt, khoảng cách của hai lông mày,…)
Ưu điểm của phương pháp này là nó gần với cách mà con người sử dụng để nhận biết khuôn mặt Hơn nữa với việc xác định đặc tính và các mối quan hệ,
phương pháp này có thể cho kết quả tốt trong các trường hợp ảnh có nhiều nhiễu như bị nghiêng, bị xoay hoặc ánh sáng thay đổi
Nhược điểm của phương pháp này là cài đặt thuật toán phức tạp do việc xác định mối quan hệ giữa các đặc tính đòi hỏi các thuật toán phức tạp 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
Nhận dạng dựa trên xét tổng thể khuôn mặt (Appearance based face recognition) Nội dung chính của hướng tiếp cận này là xem mỗi ảnh có kích thước RxC là một vector trong không gian RxC chiều Ta sẽ xây dựng một không gian mới có chiều nhỏ hơn sao cho khi biểu diễn trong không gian đó các đặc điểm chính của một khuôn mặt không bị mất đi Trong không gian đó, các ảnh của cùng một người sẽ được tập trung lại thành một nhóm gần nhau và cách xa các nhóm khác
Hai phương pháp thường được sử dụng là PCA (Principle Components Analysis) và LDA (Linear Discriminant Analysis) Trong báo cáo này, em sẽ sử dụng thuật toán PCA
Trang 4IV Thuật toán PCA
1 Giới thiệu chung về thuật toán PCA
PCA (Principle Components Analysis) là một thuật toán để được sử dụng để tạo
ra một ảnh mới từ ảnh ban đầu Ảnh mới này có kích thước nhỏ hơn rất nhiều so với ảnh đầu vào và vẫn mang những đặc trưng cơ bản nhất của ảnh cần nhận dạng PCA không cần quan tâm đến việc tìm ra các đặc điểm cụ thể của thực thể cần nhận dạng
và mối quan hệ giữa các đặc điểm đó Tất cả các chi tiết đó đều được thể hiện ở ảnh mới được tạo ra từ PCA
Về bản chất, PCA tìm ra một không gian mới theo hướng biến thiên mạnh nhất của một tập hợp các vector trong không gian cho trước Trong không gian mới, người ta hy vọng rằng việc phân loại sẽ mang lại kết quả tốt hơn so với không gian ban đầu
0.00 10.00 20.00 30.00 40.00 50.00 60.00 70.00
x1
0.00 10.00 20.00 30.00 40.00 50.00 60.00 70.00
p2
Hình 1 Không gian mới (p 1 ,p 2 ) theo hướng phân bố mạnh nhất của các vector trong không gian
(x 1 ,x 2 ) tìm theo PCA
Trang 5Ưu điểm của phương pháp PCA:
Tìm được các đặc tính tiêu biểu của đối tượng cần nhận dạng mà không cần phải xác định các thành phần và mối quan hệ giữa các thành phần đó
Thuật toán có thể thức hiện tốt với các ảnh có độ phân giải cao, do PCA sẽ thu gọn ảnh thành một ảnh có kích thước nhỏ hơn
PCA có thể kết hợp với các phương pháp khác như mạng Noron, Support Vector Machine … để mang lại hiệu quả nhận dạng cao hơn
Nhược điểm của PCA:
PCA phân loại theo chiều phân bố lớn nhất của tập vector Tuy nhiên, chiều phân bố lớn nhất không phải lúc nào cũng mang lại hiệu quả tốt nhất cho bài toán nhận dạng Đây là nhược điểm cơ bản của PCA
PCA rất nhạy với nhiễu
2 Nội dung thuật toán PCA
Không gian mới được tạo bởi PCA được cấu thành từ K vector đơn vị có chiều
là N Mỗi vector được gọi là một Eigenface
Phép biến đổi:
K
2 1
N
2 1
w w w
W
a a a
A
với K<<N
Theo công thức: W = T.A Với T là ma trận chuyển đổi, T có kích thước KxN Gọi M là số ảnh đầu vào, mỗi ảnh được chuyển thành vector N chiều Ta có tập hợp đầu vào X={x1,x2,…,xM} (xi Є RN)
Trung bình của các vector đầu vào:
i i
x M
x
1
1
Sai lệch so với tâm:
x
xi
Trang 6Gọi A=[Ф1,Ф2,…,ФM] ta có ma trận tương quan của A là:
i
T T
i
i A A M
C
1
1
Gọi các giá trị riêng của C là λ1, λ2,…, λN sắp xếp theo thứ tự giảm dần, tương ứng với N vector riêng u1, u2,…, uN Các vector riêng này trực giao từng đôi một Mỗi vector riêng ui được gọi là một eigenface Tập hợp các vector ban đầu được biểu diễn trong không gian tạo bởi N eigenface theo mô tả:
i
i i N
w u
w u
w x
x
1
2 2 1
Chọn lấy K vector riêng u tương ứng với K giá trị riêng λ lớn nhất, ta có:
i
i i K
w u
w u
w x
x
1 2
2 1
Vector các hệ số khai triển [w1, w2, …, wK] chính là biểu diễn mới của ảnh được tạo ra trong không gian PCA Ảnh mới xˆ vẫn giữ được các đặc điểm chính của ảnh đầu vào Vector [w1, w2, …, wK] được tính theo công thức:
( )
.
.
2
1 2
1
x x U x
x
u
u u
w
w w
T
T K
T T
K
Vấn đề cần giải quyết ở đây là ma trận tương quan C=A.AT có kích thước N2 Với N=180x200=36000, khối lượng tính toán sẽ rất lớn Do đó để tính được các eigenface mà không cần tính cả ma trận C, người ta đưa ra phương pháp tính nhanh dựa vào vector riêng và giá trị riêng của ma trận L=AT.A có kích thước MxM với M
là số ảnh đầu vào Ta có thể chứng minh như sau: gọi vi, µi lần lượt là vector riêng
và giá trị riêng của ma trận L:
AT.A.vi=µi.vi
Nhân cả 2 vế với A ta có:
A.AT.A.vi=µi.A.vi
Ta thấy A.vi chính là vector riêng của C=A.AT ứng với giá trị riêng µi
Trang 73 Áp dụng PCA
Một bức ảnh về khuôn mặt được coi như là một vector, nếu bức ảnh có kích thước là w*h pixels thì không gian chứa vector này có số chiều là N=w*h Mỗi pixel sẽ được mã hóa bởi một thành phần của vector Cấu trúc của vector được tạo
từ ảnh có thể được hình dung như hình bên dưới
Hình 2 Dạng của vector tạo từ bức ảnh về khuôn mặt Khâu quan trọng nhất trong bài toán nhận dạng đó là trích chọn vector đặc tính Trong phần này, chúng em sẽ trình bày các bước trích chọn vector đặc tính mang những đặc tính riêng của mặt cần nhận dạng:
Tạo một tập X gồm M ảnh (ảnh học), mỗi ảnh có kích thước N, các ảnh được chuyển thành vector N chiều
X={x1,x2,…,xM}
Tính trung bình của tập trên:
i i
x M
x
1
1
Tính sai lệch của ảnh đầu vào với giá trị trung bình trên:
x
Tìm tập gồm M vector trực giao, u, biểu diễn chiều phân bố mạnh nhất của tập
dữ liệu X Tập các vector u được gọi là eigenface của tập dữ liệu học
Xây dựng các ảnh mới vi theo M vector u:
i
t i
v
Ω=[v1,v2,…,vM]T
Trong đó vi uiTilà vector đặc tính của ảnh thứ i trong không gian mới Ω ở đây là tập các eigenface, các thành phần cơ bản cho bức ảnh cần nhận dạng
Trang 84 Phân loại và nhận dạng
Sau khi trích chọn được vector đặc tính, chúng ta cần đối chiếu vector này với
cơ sở dữ liệu, từ đó đưa ra kết quả nhận dạng Trong bài toán, kết quả nhận dạng sẽ
là nhận biết được hoặc chưa nhận biết được
Để thực hiện phân loại có rất nhiều phương pháp như khoảng cách Euclides, mạng Noron, SVM,… trong đó khoảng cách Euclides là phương pháp đơn giản nhất Nó cho kết quả tốt đối với trường hợp đối tượng đã được tạo thành các nhóm cách xa nhau Vector đặc tính của đối tượng cần nhận dạng sẽ được so sánh lần lượt với vector đặc tính của từng ảnh mẫu trong tập các ảnh học Các khoảng cách ngắn nhất sẽ được lưu lại
εk=||Ω-Ωk|| với k=1,…M trong đó Ωk là vector của mặt thứ k trong cơ sở dữ liệu Nếu εk nhỏ hơn threshold được xác định trước thì bức ảnh được nhận dạng là mặt thứ k trong cơ sở dữ liệu
Trang 9V Thuật toán nhận dạng dùng PCA
Như đã nói ở trên, việc nhận dạng khuôn mặt thông thường sử dụng giải thuật PCA trích chọn vector đặc tính Sau đó, chúng ta sẽ so sánh vector đặc tính này với cơ sở dữ liệu hiện có Khoảng cách Euclides được sử dụng để đánh giá mức độ giống nhau của
vector đặc tính hay chính là sự giống nhau giữa ảnh cần nhận dạng và ảnh trong cơ sở dữ liệu Sơ đồ minh họa cho thuật toán:
Hình 3 Sơ đồ thuật toán nhận dạng mặt người dùng PCA
Trang 10VI Tài liệu tham khảo
1 M Savvides, B V K Vijaya Kumar, and P Khosla Corefaces: A Shift-Invariant Principal Component Analysis (PCA) Correlation Filter bank for IlluminationTolerant Face Recognition Face Biometrics for Personal Identification MultiSensory Multi-Modal Systems, 2007
2 B Li, D Zhang, and K Wang On-line signature verification based on NCA (Null Component Analysis) and PCA (Principal Component Analysis) Pattern Analysis and Application, 8:345–356, 2006
3 Handbook-of-Biometrics
Trang 11Mục Lục
I Tên đề tài 1
II Giới thiệu 1
III Các phương pháp nhận diện mặt người 2
IV Thuật toán PCA 3
1 Giới thiệu chung về thuật toán PCA 3
2 Nội dung thuật toán PCA 4
3 Áp dụng PCA 6
4 Phân loại và nhận dạng 7
V Thuật toán nhận dạng dùng PCA 8
VI Tài liệu tham khảo 9