1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nhận dạng vân tay bằng thuật toán SVM

16 1,5K 12

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 1,22 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

A. GIỚI THIỆU1B. NỘI DUNG2I. Tổng quan về nhận dạng vân tay21.Qui trình nhận dạng ảnh22.Đặc điểm vân tay23.Thu nhận và biểu diễn ảnh44.Trích chọn đặc trưng5II. Tìm hiểu về Support Vector Machines (SVM)71.Giới thiệu72.Bài toán SVM phân chia tuyến tính (Linear SVM)73.Bài toán SVM không phân chia tuyến tính (NonLinear SVM)11III. Đối sánh vân tay bằng SVM121.Trích đặc trưng122.Đối sánh hai ảnh vân tay123.Sinh ra vector đối sánh và sử dụng SVM13IV. Quy trình huấn luyện và nhận dạng131.Huấn luyện132.Nhận dạng13C. KẾT LUẬN15

Trang 1

MỤC LỤC

Trang 2

A GIỚI THIỆU

Nhận dạng vân tay là một hướng nghiên cứu của nhận dạng sinh trắc học Khoa học nhận dạng vân tay cũng đã hình thành từ lâu, đã và đang trở thành một ứng dụng không thể thiếu trong đời sống xã hội của con người Với sự ra đời của ngân hàng điện

tử, thương mại diện tử…các biện pháp bảo mật và mang tính riêng tư cần được tổ chức

và lưu trữ trong các cơ sở dữ liệu khác nhau Định danh cá nhân một cách tự động ngày càng trở thành một vấn đề quan trọng và cấp thiết Các ứng dụng của hệ thống định danh cá nhân được phát triển rộng lớn trong đời sống của con người như: quản lý

hộ chiếu, hệ thống rút tiền tự động ATM…Việc định danh cá nhân trước đây theo phương pháp truyền thống như bằng password và PIN, nhưng các phương pháp này đã được chứng minh là không hiệu quả Bởi vì, password là những con số khó nhớ, dễ quên và dễ bị đánh cắp Bằng cách sử dụng vân tay và mật mã, việc xác nhận một người có thể được thực hiện bằng một hệ thống nhận dạng vân tay an toàn và thuận tiện

Lý thuyết Máy học Vector hỗ trợ (SVM) bắt đầu từ thập kỷ 1970 do Vapnik,Chervonenkis Tuy nhiên, sự chú ý bắt đầu từ thập kỷ 1990 SVM là tập các phương pháp học có giám sát dùng để phân lớp Tính chất nổi trội của SVM là đồng thời cực tiểu lỗi phân lớp và cực đại khoảng cách lề giữa các lớp SVM là một phương pháp phân lớp hiện đại và hiệu quả, nắm chắc phương pháp này sẽ tạo nền tảng giúp chúng ta trong việc phát triển các giải pháp phân loại và dự đoán , xây dựng được những ứng dụng quan trọng trong thực tế Ưu thế của SVM so với các thuật giải học khác như Neural Net, cây quyết định là giải quyết rất tốt bài toán quá khớp SVM được sử dụng nhiều trong phân loại và nhận dạng (chữ viết tay, mặt người, vân tay, ) SVM chia tập học thành hai lớp {+1,-1}

Trang 3

B NỘI DUNG

I Tổng quan về nhận dạng vân tay

1 Qui trình nhận dạng ảnh

Qui trình nhận dạng ảnh tổng quát gồm các giai đoạn chính như sau:

Thu nhận ảnh là giai đoạn nhận ảnh từ máy quét, máy quay… Ảnh thu được có thể

là ảnh màu, ảnh mức xám, ảnh nhị phân Độ phân giải ảnh tùy thuộc vào đối tượng cần thu nhận Chất lượng ảnh có thể sẽ thấp do cách lấy ảnh cũng như chất lượng của các thiết bị Vì vậy, một bước tiền xử lý ảnh được đòi hỏi nhằm nâng cao chất lượng ảnh ban đầu Bước kế tiếp là trích chọn các đặc trưng từ ảnh đã được nâng cao chất lượng, các đặc trưng này sẽ được trích chọn bằng các phương pháp khác nhau tùy vào từng đối tượng cần nhận dạng (Ví dụ: hệ thống nhận dạng khuôn mặt sẽ trích các đặc trưng như: mắt, mũi, miệng, mày…, hệ thống nhận dạng vân tay sẽ trích các điểm đặc biệt trên các đường vân như: điểm kết thúc, điểm rẽ nhánh) Sau khi có được các đặc trưng, qui trình nhận dạng sẽ có hai hướng tiếp chuyển Hướng thứ nhất là tiến hành phân lớp xem ảnh thu nhận được thuộc lớp nào trong cơ sở dữ liệu rồi mới đối sánh với các ảnh thuộc lớp đó Hướng thứ hai là tiến hành đối sánh trực tiếp với các ảnh thuộc cơ sở dữ liệu và đây cũng chính là hướng tiến hành của đề tài

2 Đặc điểm vân tay

Vân tay là một bản sao của lớp biểu bì ở một đầu ngón tay được phơi bày ra khi ấn một ngón tay xuống một bề mặt bằng phẳng Hầu hết cấu trúc đặc trưng của một vân tay là một mẫu xen kẽ của những đường vân (Ridges) và rãnh (Valleys) trong một ảnh vân tay (Hình 2) Những đường vân và rãnh thường chạy song song với nhau, có khi bị

rẽ nhánh hoặc kết thúc

Trang 4

Khi phân tích ở mức toàn cục, mẫu vân tay thể hiện những vùng mà tại đó những đường vân mang những hình dạng đặc biệt Những vùng này được gọi là Singularities hoặc Singular Regions, có thể phân chúng vào ba loại: delta, whorl, loop Một vài giải thuật đối sánh canh chỉnh lại ảnh vân tay theo một điểm mốc gọi là core, điểm này gần như nằm ở trung tâm của vùng Singular thuộc kiểu loop (Hình 3) Một điều cần lưu ý

là cũng có những vân tay không chứa những vùng Singular thuộc kiểu loop hoặc whorl vì thế khó xác định được điểm core (Kiểu Arch) Năm lớp chính của một vân tay: Left loop, Right loop, Whorl, Arch, Tented Arch (Hình 4)

Ở mức cục bộ, những đặc trưng quan trọng khác được gọi là minutiae Minutiae có

Trang 5

nghĩa là chi tiết vụn vặt, trong ngữ cảnh của vân tay, nó đề cập đến những cách thức khác nhau mà những đường vân bị gián đoạn Ví dụ: đường vân bị kết thúc (Termination), đường vân bị rẽ nhánh (Bifurcation) Francis Galton (1822- 1911) là người đầu tiên phân loại và quan sát các minutiae, thấy rằng chúng không thay đổi trong thời gian sống của một cá nhân Các kiểu minutiae phổ biến nhất được trình bày trong hình 5

Sự phân loại minutiae chỉ dựa trên điểm kết thúc và rẽ nhánh Mỗi minutiae được biểu diễn bằng tọa độ (x, y) và góc giữa tiếp tuyến đường vân tại điểm đó với trục hoành (Hình 6)

3 Thu nhận và biểu diễn ảnh

Quá trình thu nhận ảnh bao gồm quá trình cảm biến (biến đổi năng lượng quang học thành năng lượng điện) và tổng hợp năng lượng điện thành ảnh Các thiết bị thu nhận ảnh có hai loại chính tương ứng với hai loại ảnh thông dụng là Raster và Vector Thiết bị thu ảnh Raster là camera, thiết bị thu ảnh Vector là sensor Ảnh trên máy tính là kết quả thu nhận từ các phương pháp số hóa Chất lượng ảnh phụ thuộc rất lớn vào độ phân giải Vì vậy, cần lựa chọn độ phân giải phù hợp với nhu cầu sử dụng cũng như đặc trưng của mỗi ảnh cụ thể

Trang 6

• Mô hình Raster: là mô hình phổ biến nhất, ảnh được biểu diễn dưới dạng ma trận điểm ảnh Thuận lợi cho việc in ấn và hiển thị

• Mô hình Vector: là mô hình giúp tiết kiệm bộ nhớ, thuận lợi cho việc in ấn và hiển thị, dễ dàng sao chép, di chuyển, tìm kiếm Mô hình này sử dụng hướng giữa các vector của điểm ảnh lân cận để mã hóa và tái tạo hình ảnh ban đầu Các công nghệ phần cứng chỉ hỗ trợ cho ảnh Raster vì thế mà các nghiên cứu trên mô hình Vector tập trung vào việc chuyển đổi qua lại giữa hai mô hình trên

4 Trích chọn đặc trưng

Sau khi đã thu nhận được ảnh đầu vào, bước tiếp theo của quá trình xử lý ảnh là tiến hành trích đặc trưng mà từ đó có thể sử dụng chúng vào những mục đích khác nhau Sơ đồ minh họa cho giai đoạn trích đặc trưng, cụ thể là trích đặc trưng trên ảnh vân tay được trình bày trong hình 9

Giai đoạn trích đặc trưng bao gồm các xử lý chính sau:

• Phân đoạn (Segmentation)

• Tính hướng đường vân cục bộ (Local Orientation)

Trang 7

• Tính tần số vân cục bộ (Local Frequency).

• Tìm các vùng Singularity (Singular Region)

• Tăng cường ảnh (Enhancement)

• Trích các điểm Minutiaes (Minutiae Extraction)

a) Phân đoạn

Tách ảnh vân tay thành hai vùng phân biệt, chỉ sử dụng vùng hữu ích để tránh trích lọc đặc tính trên vùng ảnh không có vân hoặc vùng vân không thể phục hồi

b) Tính hướng đường vân cục bộ

Phương pháp tự nhiên và đơn giản nhất để trích lọc hướng cục bộ là dựa trên Gradient, phương pháp này đơn giản và hiệu quả được đề xuất bởi Ratha và các cộng

sự

c) Tính tần số vân cục bộ

Tần số vân cục bộ tại điểm [x, y] là số vân trên một đơn vị chiều dài dọc theo một đoạn trọng tâm tại [x, y] và trực giao với hướng cục bộ tại [x, y] Phương pháp tính tần

số vân cục bộ được trình bày bởi Hong và các cộng sự (1998) [3], phương pháp này tính tần số cục bộ bằng cách đếm số pixel trung bình giữa hai đường vân

d) Tìm các vùng Singular

Dựa vào trường định hướng của ảnh vân tay Phương pháp tốt nhất là phương pháp dựa trên Poincare được đưa ra bởi Kawagoe và Tojo

e) Tăng cường ảnh

Trong một ảnh vân tay lý tưởng thì những đường vân và rãnh xen kẽ nhau và chạy theo một hướng cục bộ cố định Trong trường hợp đó, những đường vân dễ dàng được tìm thấy và những điểm minutiae cũng được định vị chính xác Tuy nhiên trong thực

tế, do điều kiện da (Ví dụ: ẩm, khô, bị vết nứt, vết thâm …), nhiễu cảm biến do chất lượng thiết bị, áp lực tay khi thu nhận, hoặc vốn đã chất lượng thấp (Ví dụ: người lớn tuổi, công nhân làm việc bằng tay…)

Tác dụng mà các giải thuật tăng cường mang lại là làm sáng sủa cấu trúc đường vân trong những vùng có thể phục hồi được Đầu vào của giải thuật tăng cường là ảnh mức xám, đầu ra là ảnh mức xám hoặc ảnh nhị phân Một phương pháp hiệu quả dựa trên bộ lọc Gabor

f) Trích các điểm minutiae

Hầu hết các phương pháp đều đòi hỏi ảnh đầu vào là ảnh mức xám để có thể

Trang 8

chuyển đổi sang ảnh nhị phân Các giải thuật tăng cường thường cho ra trực tiếp ảnh nhị phân nên sự khác biệt giữa tăng cường và nhị phân hóa là mờ nhạt Ảnh nhị phân thu được từ giai đoạn nhị phân hóa sẽ được làm mảnh đến độ dày một pixel

Cuối cùng là dò tìm các điểm minutiae trên ảnh thu được (Hình 10)

II Tìm hiểu về Support Vector Machines (SVM)

1 Giới thiệu

SVM thuộc họ các giải thuật học (Learning Algorithm) nhằm phân lớp các đối tượng vào hai lớp khác nhau (Binary Classification) Phương pháp SVM được Vapnik

đề xuất năm 1995, dựa trên lý thuyết học thống kê (Statistical Learning Theory) nên có một nền tảng toán học chặt chẽ đảm bảo kết quả đạt được là tối ưu Ý tưởng của phương pháp này là chuyển tập dữ liệu mẫu từ không gian ít chiều Rn sang không gian nhiều chiều hơn Rd, sau đó tìm một siêu phẳng (Hyperplane) tối ưu trong Rd để phân chia tập mẫu theo phân lớp của chúng

Dữ liệu đầu vào: cho một tập huấn luyện S={(x1,y1),….,(xN,yN)} của những đối tượng xi∈ X và phân lớp đã biết của chúng yi ∈{-1,+1}

Dữ liệu đầu ra: một bộ phân lớp f : X → {-1,+1}, sẽ dự báo lớp f(x) của một đối

tượng mới bất kỳ x∈X

2 Bài toán SVM phân chia tuyến tính (Linear SVM)

Bài toán SVM đơn giản là bài toán phân chia tập huấn luyện một cách tuyến tính Đối tượng của SVM là những vector hữu hạn chiều: x=(x1,x2,…,xm) biểu diễn những đặc trưng của một đối tượng trong thế giới thực Ví dụ: khi xét đối tượng là một con người ta có thể hình dung ra mỗi chiều của vector là một thông tin về người đó, x

=(HoTen,NamSinh,ChieuCao,MauDa )

Công thức tích vô hướng của hai vector:

Trang 9

Hàm quyết định cho việc phân lớp:

Minh họa cho bộ phân lớp tuyến tính được trình bày ở hình 2.1 và hình 2.2

Hình 2.1 : Bộ phân lớp tuyến tính

Hình 2.2 : Phân chia tuyến tính tập huấn luyện Như đã nói ở trên, việc giải quyết bài toán SVM là tìm một siêu phẳng tối ưu để phân chia tập huấn luyện Vậy một câu hỏi đặt ra là “siêu phẳng như thế nào được cho

là tối ưu?” Và câu trả lời cho câu hỏi này đã được chính người đề xuất SVM – Vapnik trả lời rằng: “Largest margin”, có nghĩa là “lề rộng nhất” Chúng ta sẽ xem minh họa trong hình 2.3 để hiểu về lề

Hình 2.3 : Siêu phẳng tối ưu với lề rộng nhất Như vậy, độ rộng lề của một siêu phẳng là khoảng cách ngắn nhất từ một điểm trong tập huấn luyện đến siêu phẳng, và điểm nằm gần lề nhất được gọi là vector hỗ trợ (Support Vector) Công việc cần làm là làm sao để tìm được một siêu phẳng tối ưu

Trang 10

Chúng ta hãy nhìn lại sự phân chia tập huấn luyện trong hình 2.4.

Gọi: x1 là điểm nằm trên siêu phẳng

x2 là điểm nằm trên lề với giá trị phân lớp là +1

Ta có:

Trừ hai vế ta được:

Do đó:

Những mẫu thuộc lớp Positive (yi = +1):

Những mẫu thuộc lớp Negative (yi = -1):

Tổng hợp cả hai trường hợp, ta có:

Để tìm được siêu phẳng tối ưu với lề rộng nhất, ta chỉ cần tìm cặp sao cho

→ Min với ràng buộc

Hình 2.4 : Bộ phân lớp tuyến tính với hai giá trị của hàm quyết định (-1, +1) Đây là bài toán qui hoạch toàn phương (Quadratic Programming) Trong qui hoạch toán học, một khái niệm khá quan trọng và giúp ích rất nhiều trong việc giải quyết bài toán đó là khái niệm bài toán đối ngẫu Thay vì giải quyết bài toán gốc một cách khó khăn, ta có thể giải quyết bài toán đối ngẫu một cách dễ dàng hơn mà việc giải bài toán đối ngẫu cũng tương đương với giải bài toán gốc Đó là ý nghĩa của bài toán đối ngẫu

Trở lại bài toán qui hoạch toàn phương ở trên, ta có thể chuyển nó về dạng đối ngẫu như sau:

Gọi αi là biến đối ngẫu cho mỗi ràng buộc

Biểu thức Lagrangian

Trang 11

Giải bài toán đối ngẫu là tìm để cực đại hóa:

Với ràng buộc:

Sau khi tìm được ta thu được tương ứng với siêu phẳng tối ưu

Hàm quyết định trở thành:

Hình 2.5 : Các vector hỗ trợ tương ứng với siêu phẳng tối ưu Tóm lại: chúng ta cần tìm một siêu phẳng tối ưu với lề rộng nhất, và việc này có thể giải quyết một cách dễ dàng bằng cách sử dụng biểu thức đối ngẫu Các vector hỗ trợ thu được có thể sẽ rất nhỏ so với kích thước tập huấn luyện ban đầu Chỉ những vector hỗ trợ là quan trọng để dự báo kết quả phân lớp cho những điểm mới trong tương lai, các điểm khác thuộc tập huấn luyện có thể bỏ qua

Tuy nhiên, đối với tập huấn luyện không phân chia tuyến tính thì sẽ không có giải pháp cho một vài biến αi , tức là không tìm được αi lớn hơn cũng như giá trị cực đại của biểu thức đối ngẫu Một giải pháp được đưa ra trong trường hợp này là giới hạn lại phạm vi của αđể chắc chắn rằng có một giải pháp tồn tại

Gọi C là một hằng số để giới hạn phạm vi α, ràng buộc ở bài toán trên trở thành: 0<= αi<=C(i=1 N)

Trang 12

Hình 2.6 : Các vector hỗ trợ trong giới hạn C

3 Bài toán SVM không phân chia tuyến tính (Non-Linear SVM)

Chúng ta hãy xem minh họa sau đây để thấy được sự phân chia không tuyến tính của một tập huấn luyện hình 2.7

Hình 2.7: Tập huấn luyện không phân chia tuyến tính

Để giải quyết vấn đề này, chúng ta cần một ánh xạ để chuyển chúng về dạng phân chia tuyến tính (Hình 2.8)

Hình 2.8 : Đưa tập huấn luyện về dạng phân chia tuyến tính Một khái niệm đơn giản Nhưng quan trọng đó là nhân (Kernel) Cho một ánh xạ Φ

từ không gian của những đối tượng X đến không gian đặc trưng, kernel đơn giản của hai đối tượng x và x’ là tích vô hướng của hình ảnh của chúng trong không gian đặc trưng :

Ví dụ: nếu khi

Như vậy, để huấn luyện một SVM trong không gian đặc trưng, ta chỉ việc thay thể mỗi trong giải thuật SVM thành

Trang 13

Ta được :

Với ràng buộc:

Dự báo kết quả phân lớp, hàm quyết định trở thành:

Nhận xét: sự tính toán của Φ(x) là không cần thiết, chỉ kernel K(x, x') là đủ

Dưới đây là các kernel thông dụng:

Polymonial:

Radial basis function:

Gaussian radial basis function:

III Đối sánh vân tay bằng SVM

Để đối sánh vân tay ta dựa trên tập các điểm minutiae và thuộc tính weight Mỗi điểm minutiae có một thuộc tính weight là khoảng cách ngắn nhất giữa minutiae đó với minutiae gần nó nhất

1 Trích đặc trưng

Trích các điểm minutiae

Tính khoảng cách giữa các điểm minutiae, từ đó tính thuộc tính weight của từng minutiae

Sắp xếp các điểm minutiae theo thứ tự giảm dần của thuộc tính weight Nghĩa là mỗi ảnh vân tay chúng ta sẽ có một dãy các điểm minutiae p1, p2, … pn với giá trị weight giảm dần

2 Đối sánh hai ảnh vân tay

Gọi p1, p2, … pn là dãy các minutiae của Itest còn q1, q2, … qm là dãy các

Trang 14

minutiae của Itemp Chúng ta tính tổng số điểm minutiae đối sánh với nhau Và ta tính được số cặp minutiae giống nhau là t

3 Sinh ra vector đối sánh và sử dụng SVM

Chúng tôi định nghĩa vector V(n, m, t, ave) đại diện cho mức độ giống nhau của hai ảnh vân tay Itemp và Itest Sau đây là các bước tạo ra vector V:

• Bước 1: ghi nhận số minutiae n của Itest, m của Itemp và số cặp minutiae giống nhau nhiều nhất t

• Bước 2: với các cặp minutiae giống nhau, giả sử tham số weight của các minutiae của Itest là v1, v2, … , vt và của Itemp là u1, u2, … , ut Tham số ave được tính theo công thức:

Với mỗi vector V, ta phải gán nhãn cho nó là “+1” nếu hai ảnh vân tay giống nhau, và gán nhãn “-1” nếu hai ảnh vân tay khác nhau, sau đó dùng SVM để phân lớp

IV Quy trình huấn luyện và nhận dạng

1 Huấn luyện

Quá trình huấn luyện được thực hiện khi thêm một người mới vào tập dữ liệu Như

đã nói ở trên, chúng ta sẽ sử dụng SVM làm bộ phân lớp Để huấn luyện chúng ta cần một tập các ảnh vân tay của cùng một ngón tay của một người (Tập S) và một tập các ảnh vân tay của người khác (Tập D) Công việc huấn luyện được thực hiện như sau:

• Từ tập S, chúng ta chọn ra một ảnh làm ảnh gốc (Itemp) để lưu lại và dùng để đối sánh sau này

• Với mỗi ảnh còn lại trong tập S, ta lần lượt đối sánh với ảnh gốc để được các vector huấn luyện có nhãn là “+1”

• Với mỗi ảnh trong tập D, ta lần lượt đối sánh với ảnh gốc để được các vector huấn luyện có nhãn là “-1”

• Ta dùng các vector huấn luyện làm đầu vào cho SVM để sinh ra mô hình SVM ứng với người mới được thêm vào

2 Nhận dạng

Nhận dạng là khi ta được một ảnh vân tay mới vào xem có phải là của một người nào đó trong tập dữ liệu hay không Công việc nhận dạng được thực hiện như sau:

Ngày đăng: 24/06/2015, 16:09

HÌNH ẢNH LIÊN QUAN

Hình 2.1 : Bộ phân lớp tuyến tính - Nhận dạng vân tay bằng thuật toán SVM
Hình 2.1 Bộ phân lớp tuyến tính (Trang 9)
Hình 2.4 : Bộ phân lớp tuyến tính với hai giá trị của hàm quyết định (-1, +1) Đây   là  bài  toán   qui   hoạch   toàn  phương  (Quadratic  Programming) - Nhận dạng vân tay bằng thuật toán SVM
Hình 2.4 Bộ phân lớp tuyến tính với hai giá trị của hàm quyết định (-1, +1) Đây là bài toán qui hoạch toàn phương (Quadratic Programming) (Trang 10)
Hình 2.5 : Các vector hỗ trợ tương ứng với siêu phẳng tối ưu Tóm lại: chúng ta cần tìm một siêu phẳng tối ưu với lề rộng nhất, và việc này có thể giải quyết một cách dễ dàng bằng cách sử dụng biểu thức đối ngẫu - Nhận dạng vân tay bằng thuật toán SVM
Hình 2.5 Các vector hỗ trợ tương ứng với siêu phẳng tối ưu Tóm lại: chúng ta cần tìm một siêu phẳng tối ưu với lề rộng nhất, và việc này có thể giải quyết một cách dễ dàng bằng cách sử dụng biểu thức đối ngẫu (Trang 11)
Hình 2.6 : Các vector hỗ trợ trong giới hạn C - Nhận dạng vân tay bằng thuật toán SVM
Hình 2.6 Các vector hỗ trợ trong giới hạn C (Trang 12)
Hình 2.7: Tập huấn luyện không phân chia tuyến tính - Nhận dạng vân tay bằng thuật toán SVM
Hình 2.7 Tập huấn luyện không phân chia tuyến tính (Trang 12)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w