3. Đại cương về ảnh số và xử lý ảnh trong Matlab
3.2.5. Phát hiện biên bằng toán tử gradient
Sử dụng toán tử gradient trong miền 2D là một trong các phương pháp dùng để
phát hiện biên. Toán tử định nghĩa như là một vec-tơ hai thành phần
x y G f x G f y é ù é¶ ¶ ù Ñ =ê ú ê= ¶ ¶ ú ë û ë û f
Toán tử xác định mô-đun và góc của gradient lần lượt như sau
( ) ( ) ( ) ( ) ( ) 1/ 2 2 2 1/ 2 2 2 / / , , . x y x y f mag G G f x f y x y arctg G G a é ù Ñ = Ñ =ë + û é ù = ¶ ¶ë + ¶ ¶ û = f
Thông thường thành phần mô-đun chỉ cần tính xấp xỉ là đã đạt yêu cầu độ
chính xác của bài toán đặt ra. Hai công thức gần đùng hay sử dụng là tổng các bình phương 2 2
x y
f G G
3.2.6. Loang rộng và thu nhỏđối tượng
Loang rộng (dilation) và thu nhỏ (erosion) đối tượng là hai toán tử cơ của nhóm thuật toán xử lý morphology. Cả hai toán tử này chỉ áp dụng cho các ảnh nhị
phân và mô tả toán học của morphology là các phép toán tập hợp [3]. Đồ án sẽ
vận dụng nhiều hai thuật toán trong công đoạn: khoanh vùng ảnh, làm mảnh biên, và hiệu chỉnh đường vân.
a) c)
b) d)
Hình-15. Loang rộng đối tượng. a) ảnh ban đầu với đối tượng hình chữ nhật; b) strel có ba pixel xếp thành dạng đoạn thẳng, chéo 450 so với phương ngang;
c) strel di chuyển khắp ảnh và các điểm bị tác động; d) ảnh kết quả.
Phần tử cơ bản để thực hiện loang rộng hay thu hẹp gọi là structuring element (viết tắt là strel). Căn cứ vào ảnh gốc cộng với độ lớn và hình dạng của
strel, đối tượng bị cắt bớt hoặc thêm vào từng điểm ảnh (phù hợp với khuôn hình của strel)
Trường hợp đặc biệt, áp dụng toán tử thu hẹp liên tiếp đủ số lần thì có quá trình làm mảnh đối tượng tới một pixel.
a) c)
b) d)
Hình-16. Thu nhỏđối tượng. a) ảnh ban đầu với đối tượng hình chữ nhật; b) strel có ba pixel xếp thành dạng đoạn thẳng vuông góc với phương ngang;
4. Sơ đồ khối thiết kế hệ thống nhận dạng vân tay
Trong phần nay sẽ giới thiệu một số phương pháp nhận dạng vân tay. Tiếp theo là các hình hệ thống nhận dạng đa năng. Ở mỗi phần, sẽ lựa chọn ra phương án thực hiện trong đồ án. Đây là hai tiền đề xây dựng nên sơ đồ hệ thống nhận dạng vân tay cho đồ án này.
4.1. Các nguyên lý nhận dạng vân tay
Các nguyên lý nhận dạng vân tay thì liên quan chặt chẽ đến cách thức tìm ra sự
tương đồng giữa ảnh vân tay đầu vào với một template trong cơ sở dữ liệu vân tay. Dưới đây là ba phương pháp chính lần lượt dựa trên các cơ sở là đối sánh
minutiae, correlation và ridge feature [1], ch. 4.
· Minutiae-base matching,
· Correlation-base matching,
· Ridge feature-base matching.
a) b)
Hình-17. Tạo mã vân tay: a) ảnh ban đầu; b) trích chọn minutiae quan trọng (các minutie được đánh dấu O)
Phương pháp đầu tiên phổ biến hơn cả và được ứng dụng rất rộng rãi. Hai vân tay sẽ được so sánh bằng các điểm minutiae trích ra từ các vân tay đó. Giai
đoạn thứ nhất này còn goi là tạo mã [11], các minutiae tạo thành tập hợp điểm
đặc trưng và được lưu trữ trong từng mảng 2D. Giai đoạn thứ hai sẽ tìm vị trí khớp phù hợp giữa template và input-image sao cho số các minutiae tao thanh cặp tương đồng là lớn nhất.
Còn hai nguyên lý còn lại không phù hợp với đồ án. Correlation-based thực hiện bằng cách xếp chồng hai mẫu vân tay lên nhau để tìm ra tương quan giữa chúng, phương pháp này gặp hạn chế khi quá trình thu nhận ảnh vân tay gặp phải các biến dạng méo. Còn ridge feature-base là một phương pháp cao cấp,
đòi hỏi các bước xử lý phức tạp và thường dùng cho ứng dụng nhận dạng với các vân tay có chất lượng rất xấu (chẳng hạn như vân tay latent).
Đồ án này lựa chọn phương án đầu tiên vì đó là một phương pháp cơ bản, phù hợp với điều kiện hiện tại cho phép và cũng hứa hẹn cho kết quả khả quan.
4.2. Hệ thống nhận dạng vân tay
Nhận dạng vân tay là một bộ phận của sinh trắc học. Vì thế phân loại hệ thống nhận dạng sinh trắc học cũng bao hàm cho hệ thống nhận dạng vân tay nói riêng. Có hai hình thức phân loại hệ thống nhận dạng vân tay: dựa trên kiến trúc của hệ thống và cách xử lý dữ liệu trong hệ thống [1], tr. 237-240.
a) Phân loại hệ thống theo kiến trúc:
· Hệ thống có kiến trúc song song
· Hệ thống có kiến trúc nối tiếp
· Hệ thống có kiến trúc thứ bậc
b) Phân loại hệ thống theo các xử lý dữ liêu:
· Hệ thống có khâu hợp nhất sau trích chọn đặc tính
· Hệ thống có khâu hợp nhất sau đối sánh
· Hệ thống có khâu hợp nhất sau tổng hợp kết quả
4.3. Xây dựng hệ thống nhận dạng vân tay bằng ảnh số
Trên cơ sở các phân tích đã nêu, sau đây là đề xuất về sơ đồ khối hệ thống nhận dạng vân tay bằng ảnh số. Hệ thống này có khả năng phân loại vân tay, tạo cơ sở
dữ liệu và nhận dạng vân tay.
· Kiểu nhận dạng là identification, nghĩa là một mẫu cần nhận dạng (input) sẽ nhận kết quả bằng cách đối sánh với N mẫu khác trong cơ sở dữ liệu (template).
· Kiểu chế độ hoạt động của hệ thống hướng đến là online. Nghĩa là hệ
thống có thể hoạt động liên tục, có khả năng ghép với khâu thu thập số
liệu sử các phương pháp thu nhận ảnh live-scan (bằng máy scan, sensor,…) và quan trọng hơn có thể vừa thu thập số liệu vừa có thể nhận dạng.
· Kiến trúc hệ thống thiết kế theo hướng xử lý dữ liệu nối tiếp, gồm tám khâu chính trình bày trong Hình-18.
Hình-18. Sơđồ khối hệ thống nhận dạng vân tay.
Tám khâu này có cá chức năng hoạt động như sau: 1) Khâu số 1: thực hiện thu nhận ảnh.
2) Khâu số 2: thực hiện trích chọn đặc tính vân tay để phân loại. Đặc tính trích chọn là góc định hướng, orientation.
3) Khâu số 3: thực hiện tạo vec-tơđặc tính để phân loại. 4) Khâu số 4: thực hiện phân loại vân tay làm năm nhóm. 5) Khâu số 5: làm cơ sở dữ liệu, lưu trữ các template-image.
6) Khâu số 6: thực hiện trích chọn minutiae. Đặc tính trích chọn là miutiae.
7) Khâu số 7: thực hiện đối sánh input-image với template-image.
5. Tập mẫu ảnh vân tay
Vân tay có thể lưu trữ theo hai cách: trên giấy (giấy thường, giấy ảnh...) hoặc
file ảnh. Đối với cách thứ nhất vẫn còn được ứng dụng trong giám định, định danh hình sự (các bằng chứng về dấu tay tội phạm cần được thể hiện bằng ảnh in trên giấy). Cách thứ hai được ứng dụng phổ biến trong nhận dạng nói chung và ngày càng chiếm được nhiều ưu thế (có thể lưu trữ, tìm kiếm thuận tiện). Đồ án này tập trung đến hình thức lưu trữảnh theo file.
a) b) c)
Hình-19. Các loại vân tay: a) vân tay latent; b) vân tay lăn mực; c) vân tay trong Db2b-FVC2000.
Có nhiều định dạng ảnh vân tay khác nhau, phổ biến hơn cả là: jpeg, bmp, tif, gif, png,... Các thông sốảnh bao gồm: độ rộng của ảnh, độ phân giải, số bit dành cho một pixel, độ chính xác hình học, méo,... Khi thiết kế hệ thống nhận dạng vân tay, các thông số ảnh thông thường được quy chuẩn theo giải giá trị nào đó sao cho phù hợp với hệ thống. Hệ thống nhận dạng vân tay bằng ảnh số, ảnh số
là đại lượng đầu vào nên hai thông quan tâm hơn cả: kích thước và độ phân giải. Như đã trình bày ở trên, đồ án này sử dụng dữ liệu ảnh FVC2000 để tạo cơ sở
dữ liệu hệ thống nhận dạng và kiểm tra kết quả nhận dạng. Các mẫu vân tay lưu theo file ảnh, có phần mở rộng .tif, kích thước của ảnh 364´256pixel. Mỗi mẫu vân tay gồm bảy ảnh khác nhau và được lưu tên theo quy ước xx_y. Trong đó xx
tự của ảnh trong một bộ mẫu. Bộ mẫu sẽ đươc chia làm hai: một phần dùng để
thực hiện trích chọn và tạo mã cho vân tay thông qua các thuật toán xử lý ảnh (mục đích cuối là tạo ra các template xây dựng cơ sở dữ liệu); phần còn lại dùng
6. Trích chọn minutiae cho đối sánh vân tay
Đồ án này được thiết kế bằng cách chia nhỏ các công đoạn chính trên thành các mô-đun nhỏ hơn. Hướng chung là chọn các phương pháp mà có thể tận dụng
được các mô-đun chương trình ở công đoạn này và áp dụng được cho công đoạn khác. Nhưng các phương pháp lựa chọn phải đạt yêu cầu cho bài toán nhận dạng cuối cùng. Vì vậy, tạo tính mở cho hệ thống và tiết kiệm thời gian thiết kế.
Hình-20. Thuật toán trích chọn minutiae.
Với sơđồ này thấy rằng, trích chọn minutiae thực hiện qua tám khâu.
· Khối tiền xử lý ảnh thực hiện chuẩn hóa kích thước ảnh.
· Khối tăng cường chất lượng ảnh thực hiện làm nổi rõ đường vân.
· Khối orientation image thực hiện ước lượng trường định hướng.
· Khối segmentation (khoanh vùng ảnh vân tay) thực hiện tách vùng ảnh cần quan tâm nhiều trong xử lý trích chọn đặc tính.
· Khối tạo ridge map (ảnh nhị phân với đường vân có giá trị logic 1).
· Khối làm mảnh đường vân. Đường vân làm mảnh tới độ rộng đồng nhất một pixel từ ridge map.
· Khối hiệu chỉnh đường vân và lọc minutiae sai cấp một. Đường vân sẽ được làm “trơn”, minutiae sai kiểu lake (dạng hình xuyến nhỏ), dạng
điểm, chẽ ngắn, đoạn vân ngắn sẽ loại bỏ.
· Lọc minutiae sai cấp hai và tạo mã vân tay bằng minutiae. Kết thúc khâu này các template sẽđược tạo ra.
6.1. Chuẩn hóa ảnh đầu vào
Chuẩn hóa ảnh đầu vào là bước cần thiết trước khi vào bước tiền xử lý ảnh. Do
ảnh dùng cho trích trọn đặc tính có thể không phù hợp về kích thước cũng như
phân bố mức xám. Trong đồ án, giai đoạn này gồm: chuẩn hóa kích thước ảnh và đồng đều hóa cường độ sáng giữa các ảnh đầu vào khác nhau.
6.1.1. Chuẩn hóa kích thước ảnh
Ảnh chuẩn đầu vào có kích thước 364´256 pixel. Các thuật toán xử lý ảnh vân tay về sau thường áp dụng cho từng từng block vuông trên ảnh (thường sử dụng các block vuông cạnh 16 pixel, 32 pixel,…). Nên kích thước ảnh chuẩn hóa hợp lý hơn là 352´256 pixel. Để thực hiện điều này sẽ “cắt” đi vùng dữ liệu ảnh kích thước 12 256´ pixel. Phần này cũng không ảnh hưởng quá nhiều tới kết quả nhận dạng cuối cùng vì đối với bộ dữ liệu đã chọn, các vùng ảnh ở gần khung thường
đóng vai trò làm background.
Hàm thực hiện chuẩn hóa kích thước ảnh đầu vào là norsizfv. gns = norsizfv(g, bs),
trong đó:
g : ảnh số đầu vào có kích thước cần được chuẩn hóa,
bs : kích thước của block mà ảnh đầu ra sẽ được làm tròn theo,
gns : ảnh đầu ra có kích thước đã chuẩn hóa.
6.1.2. Cân bằng cường độ sáng của ảnh
Do điều kiện thu thập ảnh khác nhau với mỗi lần lấy mẫu vân tay; do kỹ thuật thu nhận ảnh (sử dụng sensor, scanner,…) khác nhau nên độ sáng ảnh vân tay không gần nhất. Vì vậy cần làm đồng đều cường độ sáng của các ảnh vân tay trong bộ dữ liệu. Phương pháp thực hiện: dùng một ảnh mẫu có cường độ sáng
đồng đều, rồi chuẩn hóa độ sáng của các ảnh khác theo ảnh này bằng bình phương cực tiểu. Trong đồ án sử dụng ảnh có cùng kích thước cường độ sánh các điểm ảnh I i j[ ], =128 (là mức xám trung trung bình trong 255 mức).
Hàm thực hiện cân bằng cường độ sáng của ảnh là briequfv.
gbb = briequfv(g,ref),
trong đó:
g : ảnh số đầu vào cần được chuẩn hóa cường độ sáng,
ref : ảnh số làm mẫu
gbb : ảnh đầu ra có cường độ sáng gần với ảnh mẫu.
6.2. Tăng cường ảnh chất lượng ảnh
Thu nhận ảnh không phải lúc nào cũng cho những ảnh với chất lượng tốt. Tăng cường ảnh sẽ giúp cải thiện chất lượng ảnh trước khi thực hiện các thuật toán xử
lý ảnh tiếp theo nhằm gia tăng hiệu quả xử lý. Hai thuật toán sử dụng để tăng cường ảnh chất lượng ảnh ở đây là: histogram equalization (cân bằng lược đồ
xám) và biến đổiFourier rời rạc[1], tr. 104-113.
a) b) c)
Hình-21. Tăng cường ảnh: a) ảnh ban đầu; b) ảnh sau cân bằng histogram; c) ảnh sau biến đổi Fourier rời rạc.
6.2.1. Tăng cường ảnh bằng cân bằng histogram
Histogram của ảnh xám là một biểu đổ thể hiện quan hệ giữa cường độ ảnh và số pixel có cùng cùng cường độ ảnh đó. Cân bằng histogram sẽ làm đồng đều
Hàm thực hiện tăng cường ảnh bằng cân bằng lược đồ xám là hisequfv. ghe = hisequfv(g),
trong đó:
g : ảnh số đầu vào,
ghe : ảnh đầu ra đã được tằng cường bằng cân bằng lược đồ xám.
6.2.2. Tăng cường ảnh bằng biến đổi Fourier-2D
Sử dụng lọc Gabor và biến đổi Fourier là hai nền tảng chính để thực hiện tăng cường ảnh trong xử lý ảnh vân tay. Ảnh sau khi đã được tăng cường chất lượng bằng histogram equalization, thực hiện bước kế tiếp là tăng cường ảnh bằng thuật toán biến đổi Fourier [1, 8, 9, 10].
So với các phương pháp trên cơ sở lọc Gabor, nó lợi thế hơn ở chỗ không yêu cầu việc tính toán chính xác định hướng cục bộ của đường vân và tần số vân tay phục vụ cho mục đích cuối công đoạn tạo ridge-map.
Công thức tính toán cho thuật toán tăng cường ảnh bằng biến đổi Fourier rời rạc có dạng như sau: { ( ) ( )}k enh F F I x y F I x y I = -1 [ , ] × [ , ] trong đó: k : hệ số mũ của phổ Fourier, [ ] ( ) F I x,y : phổ Fourier.
Đồ án thực hiện tăng cường chất lượng ảnh bằng biến đổi Fourier rời rạc cho từng block có kích thước 32´32pixel. Theo cách này, các thành phần ảnh có tần số trội sẽđược giữ lại, đó là các vùng ảnh thể hiện làm đường vân. Ảnh sau biến
đổi Fourier rời rạc có các đường vân “nổi” hơn, sự phân tách giữa các đường vân cũng thể hiện rõ ràng hơn. Đồng thời các vùng ảnh nhiễu sẽ loại bớt đi.
Số mũ của phổ Fourier, k đóng vai trò làm hệ số điều chỉnh. Trong [1], khuyến nghị đặt k=0,6 khi tính toán với kích thước block như trên. Tuy nhiên, trong quá trình thực hiện, đặt k=0,35 thì cho kết quả tốt hơn so với việc chọn giá trị khác. Vì phổ Fourier đóng vai trò làm hàm lọc, do đó: k càng nhỏ hàm lọc tiến tới 1 (ảnh gốc và ảnh sau khi tăng cường không khác nhau nhiều); với k lớn, các đoạn vân cục bộ có thể bị biến dạng không còn khả năng xử lý cho công
đoạn tiếp nữa.
Hàm thực hiện tăng cường ảnh bằng biến đổi Fourier rời rạc là fouenhfv. gfe = fouenhfv(g,k),
trong đó:
g : ảnh số đầu vào,
k : hệ số,
gfe : ảnh đầu ra đã được tăng cường bằng biến đổi Fourier.
6.3. Ước lượng orientation image và khoanh vùng ảnh vân tay
Trong phần này sẽ trình bày các ước lượng định hướng vân tay cục bộ. Đây là cần thiết để chọn được các thông số thích hợp để lọc ảnh về sau (lọc nhiễu, khoanh vùng ảnh...). Vì orientation image (trường định hướng) mang tính mô tả
góc định hướng đường vân, nên kết quả này còn được áp dụng để phân loại kiểu vân tay (quyết định bởi sự tạo hình của các đường vân).
6.3.1. Ước lượng orientation image
Trường định hương thể hiện bản chất tự nhiên của đường vân và các rãnh đường vân. Trường định hướng cung cấp nhiều thông tin quan trong cho các bước xử lý tiếp theo. Phần này sẽ trình bày về ước lượng orientation image D, phần tử định hướngqij(tương ứng với nó là góc định hướng qijvà mô-đun định hướng).Có sự
phân biệt khác nhau giữa các thuật ngữ mô tả phần tử định hướng orientation
Nguyên lý thực hiện tính định hướng: chia ảnh thành các khối w´w, sau đó khảo sát lần lượt định hướng cục bộ của đường vân trong từng khối đó.