Chương 1: Giới thiệu Chương 2: Tổng quan về nhận dạng nói chung Chương 3: Thuật toán nhận dạng chữ viết tay Chương 4: Mô phỏng đánh giá kết quả 11 CHƯƠNG 2: TỔNG QUAN VỀ NHẬN DẠNG NÓI CHUNG 2. Giới thiệu về nhận dạng nói chung 2. Nhận dạng mẫu Nhận dạng mẫu đang trở thành phổ biến và quan trọng với chúng ta, nó đem lại sự hấp dẫn, chú ý từ các lĩnh vực rộng hơn. Các bước xử lý chung của nhận dạng mẫu được thảo luận, đầu tiên là từ bước tiền xử lý, sau đó là trích xuất đặc trưng, và cuối cùng là phân loại.
Một số phương pháp đã được sử dụng cho mỗi bước chẳng hạn như phân đoạn, loại bỏ nhiễu trong tiền xử lý, biến đổi wavelet Gabor cho trích xuất đặc trưng, Support Vector Machines (SVM) cho phân loại,… Một vài phương pháp nhận dạng mẫu và ứng dụng của nó sẽ được trình bày. Tiền xử lý Trích xuất đặc trưng Phân loại Hình 2-1: Quy trình nhận dạng mẫu ảnh Nhận dạng mẫu có thể được coi như là một tiến trình phân loại. Mục tiêu cuối cùng của nó là trích xuất các mẫu dựa trên một số điều kiện nhất định và sau đó phân biệt một nhóm từ các nhóm khác. Ứng dụng của nhận dạng mẫu có thể tìm thấy ở mọi nơi, ví dụ như: phân loại bệnh tật, kiểm duyệt dấu vân tay, nhận diện giọng nói, nhận diện khuôn mặt,.
Thiết kế một hệ thống nhận dạng mẫu nên xem xét miền ứng dụng của nó. Tiền xử lý ảnh là một bước quan trọng trong tất cả các hệ thống nhận dạng mẫu để cải thiện hiệu suất. Nó có vai trò trích xuất lấy vùng cần thiết từ ảnh nền, áp dụng thêm các thuật toán lọc nhiễu, làm trơn mịn, chuẩn hóa ảnh về dạng ít phụ thuộc vào thay đổi của môi trường nhất. Trích xuất đặc trưng là bước quan trọng trong nhận dạng mẫu bất biến.
Nói chung, một đặc trưng tốt phải thỏa mãn các yêu cầu sau đây. Một, sự sai khác trong 12 một nhóm (class) phải nhỏ, điều đó có nghĩa là đặc trưng có được từ các mẫu khác nhau trong cùng một nhóm phải càng gần giống nhau. Hai, sự sai khác giữa các nhóm khác nhau phải lớn, đặc trưng lấy từ các mẫu trong các nhóm khác nhau phải khác biệt đáng kể. Vấn đề chính liên quan đế nhận dạng mẫu là số chiều của dữ liệu.
Có hai lý do giải thích cho việc số chiều của vector đặc trưng không thể quá lớn: độ phức tạp tính toán sẽ cao, và hiệu năng sẽ giảm. Đề giảm chiều của vector đặc trưng có hai cách tiếp cần khác nhau. Một là loại bỏ các thành phần nhất định và giữ nguyên phần đại diện ý nghĩa nhất, gọi là chọn đặc trưng. Một cách khác là trích xuất đặc trưng, mà ở đó vector đặc chưng sẽ được biến đổi sang một dạng khác có số chiều nhỏ hơn.
Hơn nữa, ở những hệ thống tốt, đặc trưng không nên phụ thuộc vào kích thước, hướng và vị trí của mẫu. Để làm được điều này chúng ta cần sử dụng các phép dịch, xoay, co dãn giữ nguyên tỉ lệ. Việc chọn cách trích xuất đặc trưng sao cho nó có tính phân biệt và độc lập là chìa khóa cho bài toán nhận dạng thành công. Một số đặc trưng có thể được sử dụng: màu sắc, hình dạng, kích thước, cấu tạo, vị trí, đường nét,…Bên cạnh đó cũng tồn tại rất nhiều thuật toán trích xuất đặc trưng như phân tích thành phần chính không tuyến tính (tiếng Anh: nonliner principal components analysis), phân tích thành phần chính (tiếng Anh: principle components analysis), biến đổi Fourier (tiếng Anh: Fourier transform), biến đổi Radon (tiếng Anh: Radon transform),…[4] Sau bước trích xuất đặc trưng, việc phân loại được thực hiện.
Bước này cho phép chúng ta nhận diện một đối tượng hoặc một mẫu bằng sử dụng một vài đặc trưng có được từ các bước trước đó. Trong đó chúng ta cố gắng gán mỗi giá trị đầu vào của vector đặc trưng vào một lớp trong một tập các lớp được đưa ra. Lấy ví dụ trong nhận diện khuôn mặt, khi xác định liệu rằng có khuôn mặt trong bức ảnh hay không, vấn đề sẽ là phân loại một khuôn mặt hoặc không có khuôn mặt. Các lớp hay nhóm là một tập các mẫu có các vector đặc trưng gần giống nhau.
Nhận dạng mẫu thông thường được phân loại theo kiểu học được sử dụng để sinh đầu ra trong bước này. Học có giám sát (tiếng Anh: supervised learning) giả thiết rằng chúng ta có một tập dữ liệu dạy được đánh nhãn tương ứng với đầu ra mong muốn. Thuật 13 toán học có giám sát phân tích dữ liệu dạy và tạo ra một hàm suy luận, hàm này được sử dụng để ánh xạ một mẫu mới. Yêu cầu của thuật toán là tổng quát hóa dữ liệu dạy để có thể dự đoán được những tình huống chưa gặp phải theo một cách hợp lý nhất.
Học không giám sát giả thiết rằng chúng ta có một tập dữ liệu dạy không được đánh nhãn, và cố gắng tìm ra các mẫu cố hữu trong dữ liệu mà có thể sử dụng được để xác định đầu ra đúng cho một dữ liệu đầu vào mới. Hai tác vụ có thể thực hiện với học không giám sát là phân nhóm dữ liệu thành các nhóm mà ở đó có sự tương đồng và giảm số chiều dữ liệu qua đó nén dữ liệu trong khi vẫn giữ được cấu trúc và giá trị của dữ liệu. Các kỹ thuật phân loại có thể là Support Vector Machine (SVM), mạng nơ-ron (Neural networks), K-nearest neighbor, Fuzzy ART, Markov random file models, CLAss-Featuring Information Compressing (CLAFIC),… 2. Quy trình nhận dạng mẫu Nhận dạng mẫu đã được phát triển trong nhiều năm nay.
Nó bao gồm rất nhiều các phương thức thúc đẩy sự phát triển của một loạt các ứng dụng trong các lĩnh vực khác nhau. Các thành phần cơ bản trong nhận dạng mẫu là tiền xử lý, trích xuất đặc trưng, và phân loại. Khi một tập dữ liệu được yêu cầu, nó được tiền xử lý để mà phù hợp với các công đoạn sau đó. Bước tiếp theo mà trích xuất đặc trưng chuyển đổi tập dữ liệu sang một tập các vector đặc trưng đại diện cho dữ liệu gốc.
Những đặc trưng này được sử dụng trong bước phân loại để phân biệt dữ liệu thành các lớp khác nhau phụ thuộc vào bài toán. Tiền xử lý Như đã đề cập ở trên, tiền xử lý ảnh là bước rất được quan tâm trong mọi hệ thống nhận dạng để cải thiện hiệu năng. Nó được sử dụng để giảm các biến thể và tạo ra một bộ dữ liệu nhất quán hơn. Tiền xử lý ảnh có thể bao gồm lọc nhiễu, làm trơn mịn, chuẩn hóa ảnh từ các điều kiện ánh sáng khác nhau.
Ngoài ra, phân tách, phân mảnh ảnh cũng được thực hiện trong giai đoạn này, tác dụng thông thường là để xác định và khoanh vùng đối tượng. Qua đó, phân tách đối tượng là một cách chuyển đổi ảnh sang một đại diện có ý nghĩa hơn và dễ dàng phân tích hơn. Trong 14 một số ứng dụng, việc phân tách các mẫu quan tâm trong ảnh gốc khỏi nền là rất quan trọng. Hình 2-2: a) Ảnh gốc b) Phân tách dựa trên năng lượng Fermi c) Phân tách sử dụng phương thức Otsu d) Phân tách sử dụng thuật toán k-means [6] Rất nhiều phương thức có thể sử dụng để phân tách ảnh, phương thức phân tách dựa trên năng lượng Fermi (Fermi energy-based segmentation) cho chúng ta khả năng xác định các vùng đặc biệt bằng sử dụng các thành phần màu sắc trong ảnh, năng lượng tại mỗi điểm ảnh sẽ được tính toán và so sánh với một giá trị ngưỡng.
Bên cạnh đó còn có các phương thức Otsu, hay thuật toán k-means. Trích xuất đặc trưng Như đã đề cập trước đó, trích xuất đặc trưng được sử dụng để khắc phục vấn đề số chiều quá lớn của tập mẫu đầu vào trong việc nhận dạng. Do đó, dữ liệu đầu vào sẽ được chuyển đổi sang một dạng có số chiều ít hơn đại diện là các vector đặc trưng. Chỉ những thông tin thích hợp từ dữ liệu đầu vào được trích xuất để làm đại diện thay vì sử dụng dữ liệu gốc.
Và hiện tay tồn tại rất nhiều phương thức giúp thực hiện việc này. 15 Biến đổi Fourier Biến đổi Fourier có khả năng phân tích tín hiệu trong miền tần số. Một sự dịch chuyển của một hàm chiều hoặc hai chiều không ảnh hưởng đến độ lớn của hệ số Fourier (thuộc tính dịch), nhưng một sự xoay của một hàm sẽ xoay sự biến đổi Fourier một góc tương ứng (thuộc tính xoay). Nó được sử dụng để loại bỏ hiệu ứng dịch vòng trong miền đặc trưng bằng việc lấy cường độ phổ của các hệ số Fourier rồi sau đó trích xuất các vector đặc trưng không biến đổi theo chiều xoay[2].
Biến đổi Radon Biến đổi Radon là một ánh xạ từ các tọa độ (x,y) trong hệ tọa độ Đề-các sang khoảng cách và một góc hay còn gọi là tọa độ cực. Sử dụng biến đổi Radon trên một ảnh đại diện bằng hàm f(x,y) cho một tập các góc có thể được coi là tính toán sự chiếu xuống của hình ảnh dọc theo các góc đó. Các hình chiếu thu được là tổng của cường độ các điểm ảnh theo mỗi hướng. Biến đổi này có thể bắt được hiệu quả các đặc trưng hướng trong một mẫu ảnh bằng việc chiếu mẫu ảnh đó lên các mặt định hướng khác nhau.
Ngoài ra, biến đổi Radon cũng có thể được thực hiện trong miền Fourier[2]. Biến đổi Gabor wavelet Biến đổi Gabor wavelet là biến đổi được xây dựng dựa trên biến đổi wavelet, có thể sử dụng cho trích xuất đặc trưng. Biến đổi này cung cấp giải pháp tối ưu cho cả miền thời gian và miền tần số cho các phân tích thời gian-tần số. Biến đổi nãy cũng có nền tảng tối ưu cho trích xuất các đặc trưng cục bộ cho nhận dạng mẫu và nó có ba sự thúc đẩy: sinh học, toán học và thực nghiệm.
Do sự tương đồng sinh học với hệ thống thị giác con người, biến đổi Gabor wavelet được sử dụng rộng rãi trong các ứng dụng nhận dạng đối tượng. Với một tập các Gabor wavelet được chọn các tham số ban đầu, một cách tiếp cận thông thường để trích xuất đặc trưng là xây dựng một vector đặc trưng bằng kết nối các thành phần bên trong của một bức ảnh với mỗi wavelet. Thay vì tìm kiếm một tập các Gabor wavelet xấp xỉ ảnh đã cho, 16 chúng ta tìm các Gabor wavelet được hiệu chỉnh để phân biệt một đối tượng với những đối tượng khác. Điều này làm giảm tính toán và bộ nhớ sử dụng.