Trích chọn đặc tính ảnh mặt người

Một phần của tài liệu Thiết kế hệ thống nhận dạng thông tin sinh trắc (Trang 66 - 80)

Nhiệm vụ của khối là tạo ra vec-tơ đặc tính mang những đặc tính riêng của khuôn mặt cần nhận dạng. Số chiều của vec-tơ đặc tính phải nhỏ hơn rất nhiều so với tín hiệu đầu vào.

• Đầu vào của khối: ảnh sau khi đã qua tiền xử lý.

• Đầu ra của khối: vec-tơđặc tính được tính bằng phương pháp PCA. Các bước tiến hành trích chọn đặc tính với PCA: 1. Tạo một tập Sgồm M ảnh (ảnh học). { 1, 2, ,...,3 M} S = Γ Γ Γ Γ 2. Tính ảnh trung bình Ψ của tập hợp trên. 1 1 M i i M = Ψ = ∑Γ

3. Tính sai lệch của các ảnh đầu vào so với trung bình

i i

Φ = Γ − Ψ

4. Tìm tập hợp gồm M vec-tơ trực giao, u , biểu diễn chiều phân bố

mạnh nhất của tập dữ liệu Φ. Tập hợp các vec-tơ u được gọi là

eigenface của tập dữ liệu học.

5. Xây dựng các ảnh mới ωk theo M vec-tơ u

[ 1 2 ] ( ) , ,..., T T k uk k M ω = Γ − Ψ → Ω = ω ω ω Cuối cùng, ta có ωk là vec-tơđặc tính của ảnh thứk trong tập cơ sở dữ liệu đầu vào.

Ảnh mới cần nhận dạng, Γ, sẽđược trích chọn vec-tơđặc tính theo công thức:

( ) T k u ω= Γ − Ψ *Trích chn đặc tính bng phương pháp PCA

Các khâu trong quá trình trích chọn đặc tính:

• Đầu vào: Ảnh đã được chuẩn hóa

• Đầu ra: vec-tơđặc tính của ảnh đầu vào.

Để có được vec-tơđặc tính, ta cần phải qua 2 giai đoạn:

Giai đoạn 1: Tạo ra các eigenfaces thông qua quá trình học các ảnh mẫu.

Giai đoạn 2: Chiếu vec-tơ ảnh cần nhận dạng vào không gian eigenface. Các vec-tơ đặc tính của ảnh đầu vào là phép chiếu tử ảnh ban đầu vào không gian tạo bởi các eigenface.

Chương 5: Nhận dạng bàn tay và mặt người Khối Trích chọn đặc tính Hình-5. 21: Sơđồ khối trích chọn đặc tính sử dụng PCA 5.2.2.1. Quá trình hc

Mô hình được xây dựng và kiểm nghiệm trên 2 bộ dữ liệu:

• Bộ 1: Ảnh được download từ bộ dữ liệu ảnh mẫu ORL của Cambridge University Engineering Department. Bộ dữ liệu lựa chọn có 20 người, ảnh được cắt thủ công, mỗi người 5 ảnh. Trong số 5 ảnh của mỗi người ta chọn ngẫu nhiên 2 ảnh để tạo bộ số liệu học, và 3 ảnh còn lại để kiểm tra mô hình. Trong bộảnh này, các ảnh học được xếp vào cùng một thư mục, có đánh số thứ tự.

• Bộ 2: Bộ thu thập trực tiếp từ hệ thống webcam được thiết kế trong khuôn khổ đồ án của các bạn sinh viên.

5.2.2.1.1. Chuẩn hóa ma trận ảnh

Chuẩn hóa vec-tơ là khâu đầu tiên cần thực hiện khi sử dụng thuật toán PCA. Sự

phân bố của một vec-tơ trong không gian được thể hiện qua trung bình (mean) và chuẩn (standart) của vec-tơđó.

Cho vec-tơ X=[x x1, ,...,2 xN], trung bình và chuẩn của vec-tơ X được tính như

sau: 2 1 1 ( ) 1 ( ) ; ( ) 1 N i N i i i x mean x std N N = = − = = = − ∑ ∑ X X X X

Theo công thức trên, từ một ảnh Γ ban đầu, ta có trung bình Γ và chuẩn ( )

std Γ của Γ. Phép chuẩn hóa ma trận ảnh được thực hiện theo công thức sau: ( , ) '( , ) ( ) x y x y std Γ − Γ Γ = Γ

trong đó, 'Γ là ma trận ảnh đã được chuẩn hóa, (x, y) là tọa độđiểm ảnh. Kết quả quá trình chuẩn hóa được thể hiện như sau:

Ảnh đầu vào Ảnh sau chuẩn hóa

Hình-5. 22: Chuẩn hóa ma trận ảnh

5.2.2.1.2. Tính trung bình tập ảnh đầu vào

Khâu này cho ta xác định được gốc tọa độ của không gian vec-tơ biểu diễn các

ảnh. Ảnh trung bình được tính bằng trung bình cộng của tất cả các ảnh. Ảnh trung bình này thể hiện những điểm giống nhau nhất giữa tất cả các khuôn mặt.

Chương 5: Nhận dạng bàn tay và mặt người

{ 1, 2, ,...,3 M}

S = Γ Γ Γ Γ

Trung bình Nảnh trên được tính theo công thức:

1 1 M i i M = Ψ = ∑Γ Kết quả thực hiện trên 2 bộ dữ liệu: Trung bình tập ảnh học của bộ 1 Trung bình tập ảnh học của bộ 2 Hình-5. 23: Trung bình ảnh của các tập dữ liệu học

Sau khi tính được ảnh trung bình của bộ ảnh học, các ảnh đầu vào sẽ được so sánh với ảnh trung bình này. Ảnh mới sẽ chứa những điểm khác nhau giữa ảnh đầu vào so với các ảnh còn lại.

Ta có tập vec-tơđầu vào mới sau khi so sánh với trung bình:

1 2 [ , ,..., ] , 1, M i i i M = Φ Φ Φ Φ = Γ − Ψ = A 5.2.2.1.3. Tính eigenface

Ma trận Covariance (covariance matrix) thể hiện sự tương quan của từng vec-tơ đối với các vec-tơ còn lại trong không gian.

Cho 2 vec-tơ N chiều X=[x x1, ,...,2 xN] và Y=[y y1, ,...,2 yN]. Ta có tương quan giữa 2 vec-tơ trên được tính theo công thức:

1 ( )( ) cov( , ) 1 N i i i x y N = − − = − ∑ X Y X Y

Nếu hai véc tơđã được chuẩn hóa trước, ứng với X=0,Y=0, ta có:

1 1 cov( , ) ( ) 1 1 N i i T i x y N N = = = ⋅ − − ∑ X Y X Y

Cho một tập M vec-tơ N chiều [ ,Φ Φ1 2,...,ΦM] , xếp thành một ma trận A kích

thước N M× , ta có covariance của ma trận A là một ma trận C có kích thước

N N× , phần tử ( , )C i j được tính như sau:

( , ) cov( ,i j)

C i j = Φ Φ

Vec-tơ riêng (eigenvector) và giá trị riêng (eigenvalue) :

Cho ma trận vuông CN N× , vec-tơ riêng u và giá trị riêng λ khi và chỉ khi: λ

⋅ = ⋅

C u u

Eigenface:

Theo lý thuyết, eigenface chính là các vec-tơ riêng u ứng với các giá trị riêng v

có giá trị lớn nhất của ma trận covariance: 1 1 M T T i i i M = = ∑Φ Φ = ⋅ C A A

Để tính nhanh các eigenface này, người ta chuyển sang tính toán với ma trận

T

= ⋅

L A A. Lựa chọn K vec-tơ riêng v ứng với K giá trị riêng lớn nhất của L. Ta có công thức chuyển đổi: u A v= ⋅ . Các giá trị riêng của L cũng chính là các giá trị

riêng của C

Gọi các giá trị riêng của L là: λ={λ λ1, ,...,2 λM} sắp xếp theo thứ tự giảm dần.

K giá trị riêng lớn nhất được lựa chọn theo công thức:

1 1 K M i i i i λ ε λ = = ⎛ ⎞ ≥ ⎜ ⎟ ⎝ ⎠ ∑ ∑ Trong đó, ε là ngưỡng chọn. Luận văn lựa chọn ε =0,97

Chương 5: Nhận dạng bàn tay và mặt người

5.2.2.2. Quá trình to đặc tính

Cho ảnh đầu vào Γ. Trong không gian được tạo bởi K eigenface, ảnh Γ sẽđược thể hiện bởi các hệ số ω=[w w1, 2,...,wK]được tính theo công thức sau:

( )

T k

u

ω= Γ − Ψ

Trong đó, Ψ là trung bình các ảnh học đã được tính trong phần học.

Trong không gian eigenface này, ảnh mới Γ′ sẽ được biểu diễn bởi công thức sau: 1 1 2 2 ... K K w w w ′ Γ = Ψ + ⋅ +uu + + ⋅u Trong đó u={u u1, ,...,2 uK} là các eigenface.

Sai số Γ − Γ′ càng nhỏ thì lượng thông tin bị mất khi trích chọn đặc tính càng nhỏ, điều đó có nghĩa là vec-tơđặc tính tạo ra có chất lượng tốt..

Ảnh đầu vào Ảnh tái tạo từ các vec-tơđặc tính.

Hình-5. 24: Khôi phục ảnh từ các vec-tơđặc tính

Từ Hình-5.24 ta thấy, ảnh được khôi phục lại từ vec-tơđặc tính trong không gian mới hầu như không bị mất thông tin. Từđây là có thểđánh giá được chất lượng các vec-tơđặc tính được tạo ra là tốt.

5.3. Nhận dạng

5.3.1. Nhận dạng bàn tay

Ảnh cần nhận dạng sẽ trải qua các quá trình chuyển đổi chuẩn hóa. Quá trình trích chọn đặc tính bức ảnh đã chuẩn hóa cho ta một véc tơđặc tính và véc tơ này

trở thành đối tượng nhận dạng, sẽđược đối sánh với các véc tơđặc tính được lưu trong cơ sở dữ liệu đặc tính, cho ta kết quả nhận dạng.

Một số phương pháp nhận dạng thường được dùng trong các bài toán nhận dạng hiện nay đó là: phương pháp khoảng cách lớn nhất, phương pháp thống kê (dựa trên lý thuyết Bayes), phương pháp SVM (Support Vector Machine) hay phương pháp dựa vào kỹ thuật mạng Nơ-ron,…

Phương pháp nhận dạng sử dụng trong đồ án này là đo và so sánh các khoảng cách giữa các véc tơđặc tính, từđó cho ra kết quả nhận dạng. Đây là phương pháp nhận dạng cơ bản và đơn giản nhất nhưng lại có nhược điểm là thời gian xử lý chậm và độ chính xác không cao như những phương pháp khác.

Ta có fifj là hai ảnh bàn tay, { }, 1 K i Fi k k = = F , { }, 1 K j Fj k k = = F là các véc tơđặc tính K chiều. Một số phép đo khoảng cách có thể sử dụng được đó là :

• Hiệu véc tơ theo chuẩn L1: 1 , , 1 ( , )i j K i k j k k d f f F F = =∑ − • Hiệu véc tơ theo chuẩn L2 : 2 , , 2 1 ( , )i j K i k j k k d f f F F = =∑ − • Arc-cosine của góc giữa hai véc tơđặc tính: cos( , ) 1 i j i j i j F F d f f F F = − , trong đó là ký hiệu phép nội tích.

Luận văn này lựa chọn phép đo thứ 3 tức là lần lượt đo khoảng cách cosine (thực chất là tính arc-cosine) giữa véc tơđặc tính đầu vào với các véc tơđặc tính lưu trong cơ sở dữ liệu đặc tính. Sau đó so sánh các kết quảđo được với nhau, chọn ra kết quả lớn nhất. Đối tượng có véc tơđặc tính trong cơ sở dữ liệu đặc tính cho kết quả lớn nhất đó là kết quả nhận dạng.

5.3.2. Nhận dạng mặt người

• Đầu vào: Vec-tơđặc tính của ảnh chứa đối tượng cần nhận dạng

Chương 5: Nhận dạng bàn tay và mặt người

Quá trình nhận dạng được thực hiện bằng cách so sánh khoảng cách giữa vec tơ đặc tính của ảnh cần nhận dạng và vec-tơđặc tính của từng ảnh học, tìm ra ảnh học gần với ảnh cần nhận dạng nhất. Nếu khoảng cách bé nhất đó bé hơn một ngưỡng xác định, ta kết luận là đối tượng đã được nhận biết.

Tập ảnh học S = Γ Γ Γ{ 1, 2, ,...,3 ΓM} lần lượt được chiếu vào không gian eigenface, vec-tơđặc tính của các ảnh học lần lượt là: ω ω1, 2,...,ωM. Ảnh chứa đối tượng cần nhận dạng Γ, chiếu vào không gian eigenface ta được vec-tơđặc tính ω. Ta cần tìm ảnh ΓX trong cơ sở dữ liệu học có khoảng cách ngắn nhất tới đối tượng cần nhận dạng theo công thức sau:

arg min X k ω ω = ω ω− X σ = ω −ω

Nếu σ ε< , đối tượng đã được biết đến, là người ΓX trong cơ sở dữ liệu học. Nếu σ ε≥ , đối tượng chưa được biết đến.

CHƯƠNG 6: KẾT QUẢ TRIỂN KHAI

6.1. Nhận dạng vân tay 6.1.1. Giao diện

Hình-6. 1: Giao diện thực hiện trích chọn đặc tính và nhận dạng vân tay

Giao diện bao gồm các phần tử với chức năng tương ứng như sau:

Input Image: hiển thịảnh khi load ảnh từ file.

Image Process: hiển thị kết quả quá trình trích chọn và nhận dạng.

Result: hiển thị kết quả: thông tin của mẫu vân tay người được nhận dạng.

Open file: nút thực hiện chức năng load ảnh từ file.

Recognize: nút thực hiện nhận dạng ảnh ở trong khối Image.

Processing: thực hiện từng bước quá trình trích chọn và nhận dạng.

Exit: nút thực hiện chức năng thoát khỏi chương trình.

6.1.2. Kết quả nhận dạng

Thực hiện với hai ảnh đầu của mỗi bộ mẫu (xx_1.tif xx_2.tif) với tất cả

các mẫu còn lại của bộ dự liệu (gồm 125 ảnh đánh số xx_3.tif đến xx_7. tif, tổng cộng có 6250 phép thử nghiệm) nếu lấy kết quả so sánh có score cao nhất thì chính

Chương 6:Kết quả triển khai

xác đạt 100%. Tuy nhiên bộ số liệu này còn có khả năng mở rộng thêm nên hình thức thể hiện kết quả minh bạch hơn là một dải kết quả chính xác từ cao đến thấp.

6.2. Nhận dạng bàn tay 6.2.1. Giao diện 6.2.1. Giao diện

Hình-6. 2: Giao diện chương trình nhận dạng bàn tay

Giao diện bao gồm các phần tử với chức năng tương ứng như sau:

Image: hiển thịảnh khi load ảnh từ file.

Result: hiển thị kết quả: thông tin của đối tượng được nhận dạng.

Open file: nút thực hiện chức năng load ảnh từ file.

Recognize: nút thực hiện nhận dạng ảnh ở trong khối Image.

Exit: nút thực hiện chức năng thoát khỏi chương trình.

6.2.2. Kết quả nhận dạng

Với bộ mẫu gồm 828 ảnh của 276 người (mỗi người 3 ảnh), ta dùng ảnh đầu của mỗi người để thực hiện test kết quả, còn lại 552 ảnh còn lại dùng làm mẫu cho cơ

sở dữ liệu đặc tính. Mỗi người trong bộ mẫu này đều có số thứ tự riêng, đánh số từ

1 đến 276.

Cho chạy chương trình test với 276 ảnh test theo thứ tự, kết quả lưu vào file “test1.txt” gồm 276 dòng, mỗi dòng ghi hai thông số là “score” và kết quả nhận dạng. Nếu kết quả nhận dạng trùng với số thứ tự của ảnh test thì chương trình nhận dạng đúng, ngược lại là nhận dạng sai.

• Nếu không đặt ngưỡng cho “score”: Kết quả chạy chương trình cho thấy có tất cả 257 trường hợp nhận dạng đúng, đạt tỉ lệ 93.12%. Các trường hợp nhận dạng sai là do các nguyên nhân như:

- Ánh sáng ảnh không tốt.

- Vị trí đặt sai lệch nhiều so với hai ảnh mẫu. - Các ngón tay để quá sát nhau.

- Bàn tay không đặt thoải mái. - …

• Nếu đặt ngưỡng cho “score”: Kết quả chạy chương trình cho thấy có tất cả

255 trường hợp nhận dạng đúng, đạt tỉ lệ 92.39%. Các trường hợp không nhận dạng được đều do các ngón tay khép quá gần nhau, dẫn đến quá trình phân vùng ảnh bị lỗi nên không nhận dạng được. Các trường hợp nhận dạng sai do tư thếđặt không đúng, gây khó khăn cho quá trình chuẩn hóa, dẫn tới làm giảm độ chính xác của quá trình nhận dạng.

6.3. Nhận dạng khuôn mặt 6.3.1. Giao diện

Giao diện thể hiện với 4 panel chính:

Input Image: hiển thịảnh đầu vào khi thực hiện load file ảnh với nút Open File

Control Panel: chứa các nút điều khiển chức năng:

Chương 6:Kết quả triển khai

- Open File: thực hiện chức năng load file ảnh. - Recognize: thực hiện chức năng nhận dạng ảnh. - Exit: thực hiện chức năng thoát khỏi chương trình.

Hình-6. 3: Giao diện chương trình nhận dạng mặt người

Comparision Result: Hiển thị 3 ảnh thuộc CSDL gần với ảnh cần nhận dạng nhất, với Comp. Index là khoảng cách σ tương ứng. Comp.Index có màu xanh là giá trị σ bé nhất.

Recognition Result: Hiển thị kết quả nhận dạng.

Nếu giá trị σ bé nhất bé hơn ngưỡng, kết quả sẽ là hình ảnh người được nhận dạng và thông tin về người đó (tên, tuổi). Nếu giá trị σ bé nhất lớn hơn ngưỡng, kết quả trả lời là unknown face.

6.3.2. Kết quả nhận dạng

Với cơ sở dữ liệu là bộ mẫu có sẵn có 20 người, mỗi người có 5 ảnh, mỗi người

chọn là 100. Do chỉ có 2 ảnh học cho mỗi người, nên với bộ dữ liệu này ta chỉ đưa ra 2 người gần với đối tượng nhất

Kết quả nhận dạng như sau:

Sốảnh: 60, nhận dạng đúng: 53, tỉ lệ 88,3%.

Các đối tượng có kết quả nhận dạng đúng được chia là 2 trường hợp:

• Ảnh dễ nhận dạng: Kết quả nhận dạng là 2 ảnh trong CSDL học của đúng

Một phần của tài liệu Thiết kế hệ thống nhận dạng thông tin sinh trắc (Trang 66 - 80)

Tải bản đầy đủ (PDF)

(84 trang)