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
MỤC LỤC 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 2 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 3 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 4 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 5 • 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 6 • 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 7 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 R n sang không gian nhiều chiều hơn R d , sau đó tìm một siêu phẳng (Hyperplane) tối ưu trong R d để 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={(x 1 ,y 1 ),….,(x N ,y N )} của những đối tượng x i ∈ X và phân lớp đã biết của chúng y i ∈ {-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 =(x 1 ,x 2 ,…,x m ) 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 8 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 9 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: x 1 là điểm nằm trên siêu phẳng. x 2 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 (y i = +1): Những mẫu thuộc lớp Negative (y i = -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 10 [...]... 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: Trang 14 • Lấy ảnh cần nhận dạng (Itest) đối sánh với ảnh gốc của người cần kiểm tra (Itemp) ta được vector đối sánh V • Ta sử dụng mô hình SVM của người cần... 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. .. kiến thức đã học vào yêu cầu thực tế của đề tài, tiểu luận đã đáp ứng yêu cầu đặt ra, tìm hiểu các vấn đề về phân loại vân tay , thu thập và tìm kiếm chi tiết đặc trưng của vân tay, áp dụng thuật toán SVM trong phân loại vân tay. Trên cơ sở tìm hiểu về SVM và áp dụng trong phân loại vân tay, do thời gian và khả năng kiến thức còn hạn chế nên trong tiểu luận này chỉ mới dừng lại ở mức tìm hiểu lý thuyết,... thành Trang 12 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... sử dụng mô hình SVM của người cần kiểm tra và vector V làm đầu vào để SVM dự đoán (Predict) xem Itest thuộc lớp “+1” (Phải) hay “-1” (Không phải) Trang 15 C KẾT LUẬN Phân loại vân tay là một bước quan trọng xây dựng bộ phân loại để áp dụng trong nhân dạng vân tay đó là một đề tài rất thú vị và có nhiều ứng dụng trong khoa học kỹ thuật và đời sống Sau một thời gian tìm hiểu và vận dụng các kiến thức... buộc ở bài toán trên trở thành: 0