1
MỤC LỤC
2
DANH MỤC CÁC HÌNH VẼ
3
BẢNG CÁC THUẬT NGỮ THƯỜNG DÙNG TRONG NHẬN DẠNG
VÂN TAY
Thuật ngữ Ý nghĩa
Ridge Đường vân tay trên ngón tay người
Vallay Đường rãnh xen kẽ hai đường vân tay
Singular
Điểm kỳ dị của vân tay trên ngón tay người, mang đặc
điểm phân loại
Core
Điểm “tâm” của vân tay, là một trong những điểm
singular
Minutiae Điểm đặc trưng của vân tay trên ngón tay con người
Termination
Điểm kết thúc của đường vân, một loại minutiae quan
trọng
Bifurcation
Điểm trẽ ba của đường vân, là một loại minutiae quan
trong
Sweat pores
Vòng xuyến xếp liên tiếp tạo thành đường vân (thường
quan sát được khi ảnh vân tay ở độ phân giải cao: >
1000dpi)
Orientation Image
Hình ảnh thể hiện các định hướng cục bộ của các
đường vân tay, bao gồm nhiều phần tử [0, ] tại các điểm
duy nhất hoàn hảo theo từng riêng lẻ và cố định không thay đổi theo thời gian.
Tính riêng biệt này đã minh chứng rằng nhận dạng vân tay là chính xác và hiệu
quả hơn các phương pháp nhận dạng khác.
5
Ngoài ra, vân tay có thể được chụp ảnh lại và được số hóa bằng những thiết
bị giá thành thấp và nén một cách hiệu quả nên chỉ mất một dung lượng nhỏ để
lưu trữ một lượng dữ liệu lớn của thông tin. Với những sức mạnh này, nhận
dạng vân tay là một phần chủ yếu trên thị trường an ninh và tiếp tục cạnh tranh
hơn những cái khác trên khắp thế giới ngày nay.
Đồ án này sẽ thực hiện nhận dạng vân tay bằng ảnh số theo hướng có thể
triển khai trong dân sự. Chính vì vây phương pháp nhận dạng là dựa trên cơ sở
phát hiện và sử dụng các điểm nút đặc trưng (gọi là minutiae). Đó là các ảnh số
vân tay lấy trong FVC2000(một bộ dữ liệu chuẩn quốc tế xây dựng bởi phòng
thí nghiêm hệ thống sinh trắc, đại học Bologna).Sử dụng các điểm minutea đã
trích chọn bước trước để đối sánh nhận dạng vân tay.
Đề tài trình bày theo cấu trúc:
Chương 1: Vân tay trong sinh trắc học.
Chương 2: Đại cương về ảnh và xử lý ảnh trong Matlab.
Chương 3: Thiết kế hệ thống nhận dạng vân tay.
Chương 4: Xây dựng chương trình và kết quả thực nghiệm.
Do đồ án có tính chất mới, trong quá trình làm đồ án em đã gặp rất nhiều
khó khăn. Được sự giúp đỡ, chỉ bảo tận tình của TS. em đã dần dần tiếp cận
được tới lĩnh vực này và bước đầu đã đạt được một số các kết quả. Sau thời gian
khẩn trương thực hiện đồ án đã được hoàn thành đúng kế hoạch. Em mong
những thiếu sót của em trong đồ án sẽ nhận được những ý kiến đóng góp quý
báu của các thầy, cô cùng các bạn sinh viên.
Em xin chân thành cảm ơn
6
Chương 1
VÂN TAY TRONG SINH TRẮC HỌC
Hình vẽ 1.4. Sử dụng phần mềm quét vân tay.
Đặc điểm của dấu vân tay dù chỉ gồm có 7 loại (vòng móc đơn, vòng móc
kép, vòng tập trung ở giữa, vòng cung, vòng cung hình lều, vòng xoắn, vòng bất
thường) nhưng thể hiện về chi tiết khác nhau muôn hình muôn vẻ và không thay
đổi từ khi mới sinh ra cho đến khi về già. Khai thác tính độc nhất về cấu tạo
hình dạng vân tay của mỗi người, các nhà sinh trắc học sẽ biến nó thành chiếc
chìa khoá riêng mà chỉ bạn mới có thể sử dụng, giúp bạn tránh được nhiều phiền
toái trong cuộc sống như bị trộm cắp, lạm dụng hoặc giả mạo các loại giấy tờ
tuỳ thân, thẻ ngân hàng, hộ chiếu đảm bảo an ninh và bảo mật.
Việc phân tích dấu vân tay sẽ không hề ảnh hưởng đến quyền lợi cá nhân
của bạn vì công cụ sinh trắc học dấu vân tay được thiết kế để chụp lại vân tay
theo dạng hình ảnh, vì thế sẽ không ảnh hưởng gì đến dấu vân tay của khách
hàng. Việc chấm công, mở két sắt, hộ chiếu, mở tài khoản ngân hàng phải dựa
trên mô hình vân tay thật do cấu tạo da.
Ngành khoa học sinh trắc học dấu vân tay dựa trên những thành tựu khoa
học nghiên cứu về di truyền học, phôi học, sự cấu tạo của vân da tay và não bộ.
Tên gọi khoa học là DERMATOGLYPHICS. Phương pháp sinh trắc học dấu
vân tay phân tích mật độ dày đặc, độ dài – ngắn, các khúc quanh, hình dạng của
vân tay và các năng lực tiềm ẩn của não bộ.
10
Cho tới nay, vẫn chưa có bằng chứng xác thực 100% vân tay trên các ngón
tay tuyệt đối mang tính cá nhân và không hề lặp lại. Câu trả lời chính xác chỉ có
được khi đem so sánh từng mẫu vân tay của mười đầu ngón người với hơn sáu tỉ
người còn lại. Tuy nhiên khi không xét tới phần nhỏ lẻ ấy có thể rút ra một số
tính chất cơ bản của vân tay để nó trở thành phổ biến trong ứng dụng nhận dạng
và định danh con người:
- Tính “phổ thông”, mọi người đều có.
- Tính cá nhân và không lặp lại. Xác suất trùng khớp với người khác gần bằng
không.
- Tính “bất biến”. Hình dạng tổng thể của vân tay trên các ngón tay của con
Bologna tạo ra. Trong cơ sở dữ liệu ấy, các mẫu được lưu dữ dưới dạng ảnh số.
Bởi vậy, quá trình xử lý tính toán thực hiện đồ án phải làm việc chính với dạng
số liệu đó. Cho nên, trong phần này em sẽ trình bày tóm tắt về ảnh số và một số
thuật toán xử lý ảnh số trong Matlab.
2.1. Khái quát về ảnh số
Ảnh số được tạo nên từ hàng trăm ngàn cho đến hàng triệu ô vuông rất nhỏ
được coi là những thành tố của bức ảnh và thường được biết dưới tên gọi là
pixels. Máy tính hay máy in sử dụng những ô vuông nhỏ này để hiển thị hay in
12
ra bức ảnh. Để làm được điều đó máy tính hay máy in chia màn hình, trang giấy
thành một mạng lưới chứa các ô vuông, sau đó sử dụng các giá trị chứa trong
file ảnh để định ra mầu sắc, độ sáng tối của từng pixel trong mạng lưới đó, ảnh
số được hình thành. Việc kiểm soát, định ra địa chỉ theo mạng lưới như trên
được gọi là bit mapping và ảnh số còn được gọi là ảnh bit-maps.
Hình vẽ 2.1. Ảnh số.
Có thể mường tượng ảnh số giống như bức tranh trên được tạo nên từ vô số
các hạt đậu tương được nhuộm mầu. Mỗi hạt đậu tương có thể coi như một
pixel.
Chất lượng của bức ảnh khi được in hay hiển thị trên màn hình phụ thuộc
một phần vào số lượng các pixels tạo nên bức ảnh (đôi khi được gọi là độ phân
giải-resolution). Số lượng các pixels càng nhiều thì các chi tiết càng được hiển
thị rõ, mức độ sắc nét càng tăng đồng nghĩa với việc độ phân giải cũng lớn hơn.
Nếu phóng đại bức ảnh đủ lớn thì mắt người sẽ nhận ra dược các pixel này .
Kích cỡ của ảnh số có thể được biểu thị theo một trong hai cách sau, theo
chiều dài và chiều rộng tính bằng đơn vị pixel hoặc theo tổng số pixel tạo nên
bức ảnh.
13
Hình vẽ 2.2. Ảnh có kích cỡ 1600 x 1200 pixel.
14
Hình vẽ 2.3. Số lượng pixel có trong bức ảnh sẽ quyết định kích cỡ ảnh, ảnh
[0,1]. Ứng với giá trị 0 đó là các điểm đen, còn với giá trị 1 đó là điểm trắng.
Với ảnh màu, cách biểu diễn cũng tương tự như với ảnh xám, chỉ khác là các
giá trị tại mỗi phần tử của ma-trận biểu diễn ba màu riêng biệt gồm: đỏ (Red-R),
lục (Green-G) và lam (Blue-B). Để biểu diễn cho ba màu riêng rẽ cần 24-bit, 24-
bit này được chia thành ba khoảng 8-bit. Mỗi khoảng này biểu diễn cho cường
độ sáng của một trong các màu chính.
2.1.2. Cơ sở màu
Ánh sáng màu là tổ hợp các ánh sáng đơn sắc. Mắt người có thể cảm nhận
được một số màu nhất định nhưng lại có thể phân biệt được rất nhiều màu (trong
16
vùng quang nhìn thấy, có dải bước sóng 400nm -750nm). Cảm nhận màu của
con người phụ thuộc vào ba thuộc tính B, H, S.
B (brightness): độ chói,
H (hue): sắc lượng,
S (saturation): độ bão hòa.
Hình vẽ 2.6. Cảm nhận của các tế bào nhạy sáng trong võng mạc mắt với các
màu ánh sáng phụ thuộc vào chiều dài bước sóng ánh sáng.
Các màu gốc có liên quan đến các khái niệm sinh học hơn là vật lý, nó
dựa trên cơ sở phản ứng sinh lý học của mắt người đối với ánh sáng. Mắt người
có các tế bào cảm quang có hình nón nên còn được gọi là tế bào hình nón, các tế
bào này thông thường có phản ứng cực đại với ánh sáng vàng – xanh lá cây (tế
bào hình nón L), xanh lá cây (tế bào hình nón M) và xanh lam (tế bào hình nón
S) tương ứng với các bước sóng khoảng 564 nm, 534 nm và 420 nm. Ví dụ, màu
vàng thấy được khi các tế bào cảm nhận màu xanh ánh vàng được kích thích
nhiều hơn một chút so với tế bào cảm nhận màu xanh lá cây và màu đỏ cảm
nhận được khi các tế bào cảm nhận màu vàng xanh lá cây được kích thích nhiều
hơn so với tế bào cảm nhận màu xanh lá cây. Mặc dù biên độ cực đại của các
phản xạ của các tế bào cảm quang không diễn ra ở các bước sóng của màu “đỏ”,
“xanh lá cây” và “xanh lam”, ba màu này được mô tả như là các màu gốc vì
chúng có thể sử dụng một cách tương đối độc lập để kích thích ba loại tế bào
thành các màu khác. Từ viết tắt RGB trong tiếng Anh có nghĩa là đỏ (red), xanh
lá cây (green) và xanh lam (blue), là ba màu gốc trong các mô hình ánh sáng bổ
sung. Cũng lưu ý rằng mô hình màu RGB tự bản thân nó không định nghĩa thế
nào là “đỏ”, “xanh lá cây” và “xanh lam” một cách chính xác, vì thế với cùng
các giá trị như nhau của RGB có thể mô tả các màu tương đối khác nhau .
RGB là một dạng của tín hiệu thành phần của video, được sử dụng trong ngành
công nghiệp điện tử chế tạo các thiết bị nghe nhìn. Nó gồm có ba tín hiệu – đỏ,
xanh lá cây và xanh lam được truyền đi trong ba dây cáp riêng biệt. Các cáp bổ
sung đôi khi là cần thiết để truyền đi các tín hiệu đồng bộ. Các định dạng tín
hiệu RGB thông thường dựa trên các phiên bản sửa đổi của các tiêu chuẩn RS-
170 và RS-343 cho các thiết bị hiển thị video đơn sắc. Loại hình này của tín hiệu
video được sử dụng rộng rãi ở châu Âu vì nó là tín hiệu có chất lượng tốt nhất
có thể truyền đi trong các bộ kết nối SCART tiêu chuẩn. Ngoài phạm vi châu
Âu, RGB không phải là dạng tín hiệu video phổ biến S-Video chiếm vị trí này
trong phần lớn các khu vực phi Âu châu. Tuy nhiên, phần lớn các màn hình máy
tính trên thế giới sử dụng RGB.
19
2.1.3. Chuyển đổi màu
Hệ tọa độ màu do CIE quy định như một hệ quy chiếu và trên thực tế không
thể biểu diễn hết các màu. Tùy thuộc vào các ứng dụng khác nhau người ta đưa
ra thêm một số hệ tọa độ khác như NTSC, CMY, YIQ phù hợp với yêu cầu
hiển thị màu sắc. Việc chuyển đổi giữa các không gian biểu diễn màu thực hiện
theo nguyên tắc sau:
= A x *
Trong đó:
: Không gian biểu diễn màu ban đầu.
*: Không gian biểu diễn màu mới.
A: Ma trận phép biến đổi.
Ảnh dùng trong đồ án này là ảnh xám. Mức xám là kết quả của sự mã hóa
tương ứng một cường độ sáng của điểm ảnh với một trị số. Giá trị của nó phụ
(chuỗi ký tự) Matlab cũng xem là một dãy các ký tự hay là dãy mã số của các ký
tự. Matlab dùng để giải quyết các bài toán về giải tích số, xử lý tín hiệu số, xử lý
đồ họa, … mà không phải lập trình cổ điển. Hiện nay, Matlab có đến hàng ngàn
lệnh và hàm tiện ích. Ngoài các hàm cài sẵn trong chính ngôn ngữ, Matlab còn
có các lệnh và hàm ứng dụng chuyên biệt trong các Toolbox, để mở rộng môi
trường Matlab nhằm giải quyết các bài toán thuộc các phạm trù riêng. Các
Toolbox khá quan trọng và tiện ích cho người dùng như toán sơ cấp, xử lý tín
hiệu số, xử lý ảnh, xử lý âm thanh, ma trận thưa, logic mờ,…Người dùng cũng
có thể tạo nên các hàm phục vụ cho chuyên môn của mình, lưu vào tệp M-file để
dùng về sau.
Cần tính toán bằng công thức thì có thể dùng Toolbox SYMBOLIC. Để
có được f=‘cos(x)’ bằng cách lấy đạo hàm của g=‘sin(x)’ thì dùng lệnh
f=diff(‘sin(x)’). Ngược lại để có g là tích phân bất định của f thì dùng lệnh
21
g=int(f). Matlab còn có giao diện đồ họa khá đẹp mắt và dể sử dụng. Người
dùng có thể tính toán và tạo nên các hình ảnh đồ họa 2, 3 chiều cho trình ứng
dụng của mình. Với các hình ảnh, nếu không chỉ định vè canh trục, phối màu thì
Matlab thực hiện tự động một cách khá phù hợp.
Matlab là một phần mềm được ứng dụng rất nhiều trong toán học cũng
như trong các ngành công nghiệp kỹ thuật. Nếu Maple hay Mupad được xem là
chuyên sâu hơn về nghiên cứu toán học thì Matlab được nhiều công ty kỹ thuật
dùng như một công cụ hỗ trợ phát triển sản phẩm. Một ví dụ nhỏ trong ngành
công nghiệp ô tô, Matlab được dùng để giả lập chuyển động các bộ phận trong
một hệ thống. Sức mạnh của Matlab nằm ở khả năng giải Matrix. Do vậy việc
xử lý ảnh có thể làm bằng Matlab.
Một tấm ảnh được máy tính hiểu như một matrix, gồm chiều dài chiều rộng
là những cột (collum) và hàng (row). Mỗi một pixel của ảnh là một component
trong matrix. Màu sắc của từng pixel được quy định bởi 1 vector gồm 3
component (Red, Green và Blue). Tất cả màu sắc mà ta nhìn thấy đều có thể
dung ba màu cơ bản này kết hợp thành. Đây là hình ảnh với chuẩn màu RGB.
thấp (close contrast value). Điều này có thể được nhận thấy rõ thông qua thể
hiện của biểu đồ histogram. Khi bạn nhận được một histogram của một hình đa
mức xám với dải giá trị điểm ảnh không phân tán đều [0-255] mà chỉ tập trung
trong một phân đoạn ngắn điều đó có nghĩa là nhiều khả năng bạn đang có trong
tay một ảnh có độ tương phản thấp. Mục tiêu của cân bằng Histogram là giúp
bạn biến đổi bức ảnh có độ tương phản thấp thành bức ảnh có độ tương phản cao
hơn bằng cách trải đều giá trị của pixel làm chúng phân tán trên vùng giá trị
rộng hơn, thay vì co cụm mà vẫn giữa được nội dung bức ảnh.
Phương pháp này có ưu điểm của sự đơn giản, trong sáng, tính toán không
nặng nề, cho phép phục hồi lại trạng thái ban đầu của ảnh trong tình huống cần
thiết. Tuy nhiên nó lại có một khuyết điểm rất quan trọng, đó là nó dễ dàng làm
tăng độ tương phản của nhiễu trong nền của ảnh và giảm các chi tiết hữu ích
trong ảnh.
23
a) b)
c) d)
Hình vẽ 2.9. Cân bằng Histogram
a) và c) là hình ban đầu; b) và d) là lược đồ cân bằng Histogram.
2.2.2. Phân ngưỡng cục bộ
Phân ngưỡng là phương pháp làm tăng độ tương phản các đối tượng cần
quan tâm đồng thời loại bớt nhiễu. Nếu phân ngưỡng toàn bộ ảnh nhiều khi tỏ ra
không hiệu quả, nhất là khi cường độ sáng của ảnh không đồng đều. Phân
ngưỡng cục bộ cũng giống như phân ngưỡng nhưng chỉ khác ở điểm: ngưỡng
được chọn thích nghi với từng vùng cục bộ của ảnh. Điều này rất có ý nghĩa
trong khâu nhị phân hóa ảnh vân tay. Vùng cục bộ thường dùng có thể là các
block dạng hình vuông hay hình chữ nhật.
Ảnh xám khi phân ngưỡng thì kết quả phân ngưỡng đi đôi với nhị phân
hóa ảnh. Một điểm bất kỳ (x, y) thuộc ảnh f khi có f (x, y) T thì được gọi là
g(x,y)=
trong đó a = (m-1)/2, b = (n-1)/2, x = và y =