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

Một thuật toán cải tiến cho đánh giá tần số vân cục bộ của ảnh vân tay

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 (307.52 KB, 7 trang )

T¹p chÝ Khoa häc & C«ng nghÖ
-
Sè 1
(
45
) Tập 2
/
N¨m 2008



68

MỘT THUẬT TOÁN CẢI TIẾN
CHO ĐÁNH GIÁ TẦN SỐ VÂN CỤC BỘ CỦA ẢNH VÂN TAY
Ngô Quốc Tạo (Viện Công nghệ Thông tin - Viện KH&CN Việt Nam)
Đào Thanh Khiết - Bùi Đức Giang (Trường ĐH Công nghệ - ĐHQG Hà Nội)

1. Giới thiệu
Ảnh vân tay bao gồm các đường vân có hướng, được phân cách bởi các rãnh vân. Trong
một vùng vân tay nhỏ, nếu không có sự xuất hiện của các minutiae và các điểm đặc biệt, thì các
đường vân và rãnh vân song song với nhau, tạo nên một hình sóng có hướng và tần số ổn định.
Do vậy hướng vân cục bộ và tần số vân cục bộ là hai thuộc tính nội tại của ảnh vân tay. Đây là
các tham số chính cho các quá trình xử lý vân tay. O’Gorman và Nickerson (1988, 1989) đã
dùng các bộ lọc dải thông để nâng cao ảnh vân tay [2, 3]. Hong, Wan, Jain (1998) sử dụng bộ
lọc Gabor để nâng cao ảnh [1]. Các thuật toán này đều lấy tham số là hướng và tần số vân cục
bộ. Nếu tần số vân cục bộ được đánh giá không chính xác, thì sẽ dẫn đến kết quả tạo ra các
đường vân sai, hoặc làm mất các chi tiết của ảnh vân tay. Do đó một thuật toán đánh giá tần số
vân tin cậy là rất hữu ích cho quá trình xử lý vân tay hiệu quả.
Hong, Wan, Jain đã đề xuất thuật toán sử dụng x-signature để đánh giá tần số cục bộ của
đường vân. Thuật toán tìm các đỉnh của x-signature và tính khoảng cách trung bình giữa các đỉnh này,


tần số cục bộ thu được là nghịch đảo của khoảng cách trung bình [1]. Phương pháp này đơn giản và có
độ phức tạp tính toán thấp, tuy nhiên rất khó để tìm các đỉnh của x-signature khi có nhiễu. Trong bài
báo này, chúng tôi đề xuất một thuật toán cải tiến, nhằm hạn chế tối đa ảnh hưởng của nhiễu.
2.
Phương pháp đánh giá tần số vân cục bộ của Hong, Wan, Jain (1998)

Tần số vân cục bộ là khác nhau với các vân tay khác nhau, và cũng có thể khác nhau đối
với các vùng khác nhau trong cùng một vân tay. Hong, Wan, Jain đã đánh giá tần số vân cục bộ
bằng cách đếm số pixel trung bình giữa hai đỉnh cấp xám của hai đường vân liên tiếp nhau [1]
(gọi tắt là thuật toán HWJ). Tần số
ij
f tại )y,x(
ji
được tính như sau:



Hình 1. Minh họa khối vân tay và x-signature
.
x-signature
cửa sổ 32 x 16
khối 16 x 16
hướng vân cục bộ
T¹p chÝ Khoa häc & C«ng nghÖ
-
Sè 1
(
45
) Tập 2
/

N¨m 2008



69
1. Chia ảnh vân tay thành các khối w x w (16 x 16).
2. Với mỗi khối có tâm là )y,x(
ji
, ta định nghĩa một cửa sổ l x w (32x16) có hướng,
cũng có tâm là )y,x(
ji
, được đặt sao cho hướng chiều rộng trùng với hướng của đường vân tại
vùng lân cận của )y,x(
ji
(xoay hệ tọa độ sao cho trục y trùng với hướng vân cục bộ).
3. Với mỗi khối có tâm là )y,x(
ji
, tính x-signature={X
0
,X
1
,…,X
l-1
}, là tổng các cấp
xám được tích lũy theo trục x trong cửa sổ. Cách làm này có tác dụng loại bỏ ảnh hưởng của các
nhiễu nhỏ, giúp sự tích lũy cấp xám được làm trơn hơn. Cụ thể ta có:
w 1
k
d 0
i i j i j

j i j i j
1
X G(u,v), k 0,1,...,l 1
w
w l
u x (d )cosO(x ,y ) (k )sin O(x ,y )
2 2
w l
v y (d )sin O(x ,y ) (k )cosO(x ,y )
2 2

=
= = −
= + − + −
= + − − −


với O là bản đồ hướng, và O(x
i
,y
j
) là hướng tại điểm (x
i
,y
j
).
4.
ij
f được tính bằng nghịch đảo của khoảng cách trung bình giữa hai đỉnh liên tiếp của
x-signature.

Nếu không có các minutiae và các điểm đặc biệt xuất hiện trong cửa sổ hướng, thì x-
signature sẽ hình thành một sóng dạng sin rời rạc và có cùng tần số với các đường vân và rãnh
vân trong cửa sổ đó. Gọi T
ij
là khoảng cách trung bình giữa hai đỉnh liên tiếp của x-signature,
khi đó tần số f
ij
được tính như sau:
ij
ij
1
f
T
=
(2)
Nếu không có đỉnh nào được tìm thấy trong x-signature, thì tần số được gán giá trị -1 để phân
biệt với các tần số đúng khác. Thuật này đơn giản và nhanh. Tuy nhiên, nhược điểm là khó tìm
được hai đỉnh cấp xám liên tiếp nhau trong các ảnh vân tay có nhiễu. Trong trường hợp này, tác
giả gợi ý dùng một nội suy và bộ lọc thông thấp.
3. Nhận xét và đề xuất
Để thấy rõ hơn nhược điểm của thuật toán đánh giá tần số cục bộ HWJ, ta xét một ví dụ đơn
giản của x-signature như sau:
0
1
2
3
4
5
6
7

8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
position
x-signature

Hình 2: Biểu đồ minh họa ví dụ của x-signature.
(1)
T¹p chÝ Khoa häc & C«ng nghÖ
-
Sè 1
(
45
) Tập 2
/
N¨m 2008



70

Nhìn hình 3.9, ta thấy x-signature có dạng hình sin với chu kỳ là 6, và có một điểm nhiễu
ở vị trí 13. Tuy nhiên theo thuật toán HWJ, ta sẽ tìm được 4 đỉnh ở các vị trí 4, 10, 13, 16. Nên
khoảng cách trung bình thu được giữa hai đỉnh liên tiếp là 4. Nói cách khác chu kỳ của x-
signature thu được từ HWJ là 4, không đúng với chu kỳ thật.

0
2
4
6
8

1 2 3 4 5 6 7 8 9 10111213141516171819
position
x-signature

Hình 3: Minh họa cửa sổ K.
Nhằm khắc phục nhược điểm của thuật toán HWJ, tôi đề xuất một thuật toán cải tiến
nâng cao độ chính xác của tần số tìm được khi có ảnh hưởng của nhiễu. Để thuận tiện, ta đặt
f=x-signature. Thuật toán giả sử f(x) là một hàm có dạng hình sin. Ta sử dụng một cửa sổ K có
a) Thuật toán gửi/nhận lệnh/dữ liệu của PC b )Thuật toán gửi/nhận lệnh/dữ liệu của nút
mạngđộ rộng là b, cho trượt trên f(x). Vị trí của cửa sổ K là một điểm x
0
sao cho với
[ ]
0 0
x x b/ 2,x b/ 2∀ ∈ − +
thì x

K. Tại mỗi vị trí x
0
của K, g
b
(x
0
) được định nghĩa là tổng tất cả
các f(x) với x

K:
0
0
x b/2

b 0
x b/ 2
g (x ) f(x)
+

=

(3)
Nếu f(x) có dạng hình sin và với b nhỏ hơn chu kỳ của f(x), ta có một số nhận xét về
g
b
(x) như sau:
- Hàm g
b
(x) cũng có dạng sin.
- Tần số của g
b
(x) giống tần số của hàm f(x).
- Với mọi x
0
, nếu g
b
(x
0
) đạt giá trị cực đại, thì f(x
0
) cũng đạt giá trị cực đại.
- g
b
(x) có hình dạng trơn hơn f(x), nghĩa là g

b
(x) ít bị ảnh hưởng bởi nhiễu hơn so với f(x).
- Với b=T/2, T là chu kỳ của f(x), thì biên độ của g
b
(x) đạt giá trị cực đại.
Để chứng minh nhận xét là đúng đắn, giả sử f(x) là liên tục, và f(i)=x-signature(i). Hàm
f(x) có dạng như sau:
f(x) a(sin( x) 1) n(x)= ω + + (4)
Sở
d
ĩ
c

ng thêm 1
để
f (x) 0≥
x∀
.
a: biên
độ
c

a f(x),
a 0≥

x
0
b
b/2
T¹p chÝ Khoa häc & C«ng nghÖ

-
Sè 1
(
45
) Tập 2
/
N¨m 2008



71
ω
: tần số góc của f(x) và
2
T
π
ω = , trong
đ
ó T là chu k

c

a f(x).
n(x): nhân t

nhi

u
Khi
đ

ó t

i m

i v

trí x
0
, g
b
(x
0
)
đượ
c tính b

ng công th

c sau:
0 0 0
0 0 0
x b/2 x b/2 x b/2
b 0
x b/ 2 x b/2 x b/2
g (x ) f(x)dx a. (sin( x) 1)dx n(x)dx
+ + +
− − −
= = ω + +
∫ ∫ ∫


Đặ
t
0
0
x b/2
0
x b/ 2
N(x ) n(x)dx
+

=


Ta thu
đượ
c:
b 0 0 0 0
0 0
a b b
g (x ) (cos( (x )) cos( (x ))) ab N(x )
2 2
2a b
sin sin( x ) ab N(x )
2

= ω + − ω − + + =
ω
ω
= ω + +
ω

(5)
b
2a b
g (x) sin sin( x) ab N(x)
2
ω

= ω + +
ω
(6)
Như vậy, hàm g
b
(x) cũng có dạng sin, có cùng tần số góc
ω
và cùng pha với f(x). Do đó
tần số của g
b
(x) giống tần số của hàm f(x), và với mọi x
0
, nếu g
b
(x
0
) đạt giá trị cực đại, thì f(x
0
)
cũng đạt giá trị cực đại.
Theo phương trình (6), N(x) là nhân tố nhiễu của g
b
(x). Tại mỗi điểm x

0
, g
b
(x
0
) thu được
bằng việc tích lũy các giá trị f(x) trong lân cận
[ ]
0 0
x b / 2,x b/ 2− +
. Các nhiễu trong lân cận
thường bị triệt tiêu nhau khi lấy tổng, do đó N(x
0
) nhỏ so với g
b
(x
0
). Nói cách khác, g
b
(x) có
hình dạng trơn hơn f(x).
Ta thấy g
b
(x) có biên độ là
b
2a b
A sin
2
ω
=

ω
,
để
biên
độ

đạ
t c

c
đạ
i thì
b
sin 1
2
ω
= ± .
Ngh
ĩ
a là
b
2k
2 2
b
(2k 1)
2 2
ω π

= π+



ω π

= + π +



Thay
2
T
π
ω = vào, ta
đượ
c
b 1
2k
T 2
b 3
2k
T 2

= +



= +





T¹p chÝ Khoa häc & C«ng nghÖ
-
Sè 1
(
45
) Tập 2
/
N¨m 2008



72

Do b<T và b>0, do vậy chỉ k=0 là thỏa mãn. Ta thu được kết quả:
T
b
2
= (7)
Nh
ư
v

y v

i
T
b
2
= , g
b

(x) s


đạ
t biên
độ
c

c
đạ
i.
Do
đ
ó, ta ch

c

n tìm m

t giá tr

b trong kho

ng [b
min
, b
max
] sao cho biên
độ
c


a g
b
(x)
đạ
t
giá tr

l

n nh

t, r

i nhân
đ
ôi thì thu
đượ
c chu k

c

n tìm. V

i

nh có
độ
phân gi


i 500 dpi,
kho

ng cách gi

a các vân n

m trong
đ
o

n [3, 25] [1]. Do v

y ta ch

c

n cho b ch

y trong
đ
o

n
[1.5,12.5].
Trên th

c t
ế
, do x-signature bao g


m các giá tr

r

i r

c, nên f(x) và g(x) là các hàm r

i
r

c. Do v

y t

i m

i
đ
i

m x
0
, ta
đị
nh ngh
ĩ
a l


i g
b
(x
0
) nh
ư
sau:
g
b
(x
0
) =
0
0
x q b 1
x q
f(x)
− + −


nếu b=k (8)
0
0
x q b 1
0 0
x q
f(x q 1) f (x q b)
f(x)
4
− + −


− − + − +
+

nếu b=k+0.5
trong đó q=[b/2] (phần nguyên) và
*
k N∈ .
S

d
ĩ
ta
đị
nh ngh
ĩ
a g
b
(x
0
) v

i hai tr
ườ
ng h

p b=k và b=k+0.5 là
để
chu k


T tìm
đượ
c có
th

nh

n giá tr

ch

n ho

c l

(vì T=2b).
Biên
độ
c

a g
b
(x)
đượ
c
đ
ánh giá nh
ư
sau:
G


i {p
b
} là t

p n
p

đỉ
nh và thung l
ũ
ng liên ti
ế
p nhau c

a g
b
(x), khi
đ
ó biên
độ
trung bình
c

a g
b
(x)
đượ
c tính b


ng công th

c sau:
p
n
b b b
i 2
p
1
A p (i) p (i 1)
2(n 1)
=
= − −


(9)
G

i pos
b
(i) là v

trí c

a
đỉ
nh p
b
(i) trên g
b

(x), ngh
ĩ
a là g
b
(pos
b
(i))= p
b
(i).
Độ
l

ch bình
ph
ươ
ng c

a b
đượ
c
đị
nh ngh
ĩ
a là:
p
n
2
b b b
i 2
p

1
V (pos (i) pos (i 1) b)
n 1
=
= − − −


(10)
Khi b=T/2 (T là chu k

c

n tìm), thì kho

ng cách gi

a các
đỉ
nh
đề
u nhau h
ơ
n và x

p x


b

ng b, do

đ
ó V
b
nh

. G

i V
max
là ng
ưỡ
ng trên c

a V
b
, ngh
ĩ
a là ch

xét nh

ng giá tr

c

a b làm
cho V
b

V

max
. D

a trên th

c nghi

m, ta ch

n V
max
=3.
Tr

l

i ví d


đầ
u, xét các tr
ườ
ng h

p v

i b=2, 3, 4, ta có b

ng d
ướ

i
đ
ây:

×