Nghiên cứu phương pháp nhận dạng chữ việt in chất lượng thấp

78 15 0
Nghiên cứu phương pháp nhận dạng chữ việt in chất lượng thấp

Đ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

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THƠNG TIN VÀTRUYỀN THƠNG TRƯƠNG TUẤN TỒN NGHIÊN CỨU PHƯƠNG PHÁP NHẬN DẠNG CHỮ VIỆT IN CHẤT LƯỢNG THẤP LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên 2014 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THƠNG TRƯƠNG TUẤN TỒN NGHIÊN CỨU PHƯƠNG PHÁP NHẬN DẠNG CHỮ VIỆT IN CHẤT LƯỢNG THẤP Chuyên ngành: Khoa học máy tính Mã số: 60 48 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC TS NGUYỄN THỊ THANH TÂN Thái Nguyên 2014 i LỜI CAM ĐOAN Tôi xin cam đoan luận văn tự thân nghiên cứu hoàn thành hướng dẫn khoa học TS Nguyễn Thị Thanh Tân Nếu có vi phạm tơi xin hoàn toàn chịu trách nhiệm Thái Nguyên, ngày tháng năm 2014 Trương Tuấn Toàn ii LỜI CẢM ƠN Em xin bày tỏ lòng biết ơn sâu sắc tới TS Nguyễn Thị Thanh Tân, cô hướng dẫn, dạy tận tình để em hồn thành luận văn Em xin chân thành cảm ơn thầy cô giáo trường Đại học Công nghệ thông tin truyền thông – Đại học Thái Nguyên, thầy cô giáo viện CNTT Hà Nội truyền thụ kiến thức cho em suốt trình học tập vừa qua Cuối xin cảm ơn gia đình, cảm ơn bạn chia sẻ, giúp đỡ, động viên suốt trình học tập thời gian thực luận văn Thái Nguyên, ngày tháng năm 2014 Trương Tuấn Toàn iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii HÌNH VẼ v BẢNG vi MỞ ĐẦU CHƯƠNG - TỔNG QUAN VỀ BÀI TOÁN NHẬN DẠNG CHỮ VIỆT .4 1.1 Qui trình chung hệ nhận dạng chữ 1.1.1 Phân lớp mẫu .4 1.1.2 Nhận dạng văn 11 1.2 Chữ Việt đặc tr ưng chữ Việt 14 1.2.1 Bảng chữ tiếng Việt 14 1.2.2 Các nguyên âm tiếng Việt 14 1.2.3 Cấu trúc điệu 15 1.3 Những tồn nhận dạng văn chất lượng thấp 16 1.3.1 Chữ bị dính, nhịe 17 1.3.2 Văn bị đứt nét 18 1.3.3 Văn bị nhiễu 19 1.3.4 Văn in với kiểu font chữ đặc biệt 20 1.3.5 Cỡ chữ lớn nhỏ 21 1.4 Kết luận 22 CHƯƠNG - MỘ T SỐ VẤN ĐỀ TRONG NHẬN DẠNG KÝ TỰ CHẤT LƯỢNG THẤP 23 2.1 Trích chọn đặc trưng 24 2.1.1 Các đặc trưng sử dụng huấn luyện mơ hình 26 2.1.2 Các đặc trưng sử dụng trình nhận dạng 28 2.2 Nhận dạng ký tự dựa vào đặc tr ưng trích chọn .29 iv 2.2.1 Phân cụm tập đặc tr ưng 30 2.2.2 Thuật toán phân lớp ký tự 44 2.3 Kết luận 50 CHƯƠNG - THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ 51 3.1 Bài toán 51 3.2 Cài đặt chương trình thử nghiệm 51 3.3 Đánh giá thực nghiệm 60 3.3.1 Độ đo đánh giá 60 3.3.2 Dữ liệu thực nghiệm 61 3.3.3 Kết thực nghiệm 62 3.4 Kết luận 65 KẾT LUẬN 67 I TÓM TẮT CÁC KẾT QUẢ ĐẠT ĐƯỢC CỦA LUẬN VĂN .67 II NHỮNG VẤN ĐỀ CHƯA ĐƯỢC GIẢI QUYẾT BỞI LUẬN VĂN 67 III HƯỚNG PHÁT TRIỂN 68 DANH MỤC TÀI LIỆU THAM KHẢO 69 v HÌNH VẼ Hình 1.1: Qui trình chung hệ thống nhận dạng chữ 11 Hình 1.2: Trường hợp văn in đậm 17 Hình 1.3: Một số hình ảnh bị biến dạng ký tự 18 Hình 1.4: Hình ảnh ký tự tiếng Việt bị nhập nhằng phần dấu 18 Hình 1.5: Trường hợp văn bị đứt nét 19 Hình 1.6: Hình ảnh ký tự bị biến dạng lỗi đứt nét .19 Hình 1.7: Một số dạng nhiễu th ường gặp văn 20 Hình 1.8: Văn bị nhiễu đánh dấu 20 Hình 1.9: Văn bị nhiễu bị chồng chữ ký/con dấu 20 Hình 1.10: Văn đ ược in với kiểu font chữ đặc biệt 21 Hình 1: Các đặc trưng để huấn luyện mơ hình 27 Hình 2.2: Trích chọn đặc trưng để nhận dạng 29 Hình 2.3: Đặc trưng dòng ảnh 29 Hình 2.4: Một cấu trúc K-D 33 Hình 2.5: Cấu trúc liệu l ưu đặc tr ưng đầu vào 34 Hình 2.6: Cấu trúc liệu K -D .35 Hình 2.7: Cấu trúc CLUSTER .36 Hình 2.8: Cấu trúc DIM_DESC mơ tả chiều K-D 37 Hình 2.9: Một số mẫu đại diện cho lớp kí tự ‘ộ’ 44 Hình 2.10: Thuật toán phân lớp ký tự 46 Hình 2.11: Kết thực thuật toán 49 Hình 3.1: Quy trình thực chương trình thử nghiệm 52 Hình 3.2: Các tập liệu thử nghiệm 62 vi BẢNG Bảng 1.1: Cấu trúc điệu tiếng Việt 16 Bảng 3.1: Các lớp ký tự huấn luyện thuật toán 53 Bảng 3.2: Kết thực nghiệm .63 MỞ ĐẦU Tính cấp thiết l uận văn Nhận dạng chữ trình chuyển đổi từ dạng hình ảnh hay nhiều trang ảnh chứa thông tin văn thành tệp văn thực soạn thảo máy tính Khi đề cập đến toán nhận dạng chữ, người ta thường phân biệt hai loại chữ in (optical character) chữ viết tay (handwritten character) [2], [6], [7], [9] Các kết ứng dụng toán nhận dạng chữ in sử dụng rộng rãi qui trình tự động hóa hoạt động văn phịng, mang lại lợi ích thực cho người Ngày với phát triển mặt lý thuyết, công nghệ, có nhiều hướng cho việc giải tốn như: Hiện có nhiều phương pháp phân lớp sử dụng nhận dạng chữ như: phân loại Bayes, Kláng giềng gần (k-NN), mạng Neural (ANNs), mơ hình Markov ẩn (HMM),… Những phương pháp cho kết chấp nhận có nhiều ứng dụng thực tế Trên giới có nhiều chương trình nhận dạng chữ viết (chữ in viết tay), hệ OMNIPAGE, READ-WRITE, WORD-SCAN, Ở Việt Nam có số hệ WORC công ty 3C, VIET-IN công ty SEATIC, VNDOCR Viện Công Nghệ Thông Tin, Image Scon Trung Tâm Tự Động Hóa Thiết Kế, hệ WINGIS cơng ty DolfSoft [2] Đối với toán nhận dạng văn tiếng Việt, nói thời điểm tại, việc nhận dạng văn chữ in chất lượng thấp vấn đề thách thức Vì lý đó, luận văn tập trung nghiên cứu số phương pháp phân lớp mẫu trích chọn đặc trưng nhằm lựa chọn phương pháp thích hợp cho việc nhận dạng chữ Việt in chất lượng thấp , thử nghiệm xây dựng chương trình nhận dạng ký tự chữ Việt văn mà văn xuất nhiều ký tự bị dính, biến dạng, bị đứt hay nét với mong muốn làm sản phẩm nhận dạng văn chữ in tiế ng Việt chất lượng thấp hoàn chỉnh tương lai Mục tiêu luận văn Luận văn tập trung nghiên cứu số phương pháp phân lớp mẫu trích chọn đặc trưng nhằm lựa chọn phương pháp thích hợp cho việc nhận dạng ảnh chữ chữ số tiếng Việt chất lượng thấp Ảnh chất lượng thấp bao gồm ảnh kí tự bị lỗi nhiễu, bị đứt nét, bị thiếu thừa phần dính vào kí tự bên cạnh, thành phần kí tự bị dính với chẳng hạn phần mũ, dấu dính với phần chữ kí tự tiếng Việt Bố cục luận văn Các nội dung trình bày luận văn chia thành chương: Chương I: Tổng quan tốn nhận dạng chữ Việt Chương trình bày tổng quan vấn đề liên quan đến nhận dạng, đặc trưng chữ Việt chữ Việt chất lượng thấp, vấn đề tồn toán nhận dạng ảnh văn chất lượng thấp, đưa mơ hình chung hệ thống nhận dạng, hướng tiếp cận nhận dạng, yếu tố ảnh hưởng đến hệ thống nhận dạng Chương II: Một số vấn đề nhận dạng ký tự chất lượng thấp Chương trình bày khái niệm ảnh ký tự chất lượng thấp, số hướng tiếp cận phân lớp trích chọn đặc trưng ký tự lựa chọn phương pháp nhận dạng ảnh ký tự chất lượng thấp Chương III: Thực nghiệm đánh giá kết 56 + void Recognize(unsigned char cx, unsigned char cy, unsigned char* lpByte, RECOGNIZERESULT *result): Nhận dạng ảnh ký tự đầu vào, đó: cx: Chiều rộng ảnh cy: Chiều cao ảnh lpByte: Dữ liệu (data) ảnh Trong hàm này, hai module xử lý module trích chọn đặc trưng phân lớp ký tự gọi Kết trả hàm biến kiểu cấu trúc RECOGNIZERESULT, thể trường thông tin:  Số lượng ứng cử viên  Danh sách kí tự ứng cử viên nhận dạng  Độ tin cậy ứng cử viên • Lớp FeatureExtraction: Các thao tác liên quan đến việc trích chọn đặc trưng để huấn luyện trích chọn đặc trưng để nhận dạng ký tự cài đặt lớp này, bao gồm thuộc tính phương thức bản: + int n_class: Tổng số lớp ký tự huấn luyện + CHARLABELCLASSS CharLabel[MAX_CLASS]: Danh sách lớp ký tự huấn luyện + int GetFeatureSize(): Trả kích thước tập đặc trưng trích chọn + int GetRecognizeFeature(unsigned char cx, unsigned char cy, unsigned char* lpByte, RECOGNIZE_FEATURE* feats): Trích chọn đặc trưng từ ảnh đầu vào để nhận dạng Trong đó:  cx chiều rộng ảnh (tính theo byte) 57  cy chiều cao (tính theo byte),  lpByte liệu ảnh; Kết trả hàm danh sách đặc trưng nhận dạng trích chọn Trong đó, đặc trưng thể cấu trúc RECOGNIZE_FEATURE với thành phần sau: struct RECOGNIZE_FEATURE { l_uint32 x; /* Tọa độ tâm đặc trưng*/ l_uint32 y; /* Chiều cao ảnh (theo pixels) */ double Theta; /* Góc đặc trưng*/ }; + int GetTrainingFeature (unsigned char cx, unsigned char cy, unsigned char* lpByte, TRAINING_FEATURE* feats): Tương tự trên, hàm sử dụng để trích chọn đặc trưng từ mẫu huấn luyện, với cx chiều rộng ảnh (tính theo byte), cy chiều cao (tính theo byte), lpByte liệu ảnh Kết trả hàm danh sách đặc trưng nhận dạng trích chọn Mỗi đặc trưng thể cấu trúc TRAINING_FEATURE với thành phần sau: struct TRAINING_FEATURE { l_uint32 x; /* Tọa độ tâm đặc trưng*/ l_uint32 y; /* Chiều cao ảnh (theo pixels) */ double Theta; /* Góc đặc trưng*/ l_uint32 Length; /* Chiều dài đặc trưng*/ }; + int GetClassCount(): Xác định số lớp ký tự huấn luyện để nhận dạng + long GetCode (wchar_t ch): Xác định mã tương ứng kí tự ch + wchar_t GetChar (int m_class): Xác định k ý tự tương ứng với số lớp m_class 58 + int GetClassIndex(long code): Xác định số lớp tương ứng với mã kí tự code Ngồi ra, chương trình có sử dụng thêm lớp CTextFileRead, CTextFileWrite để thuận tiện cho trình nhập, hiển thị ký tự dạng multi-byte Unicode, với thuộc tính phương thức sau: + bool m_endoffile: Kiểm tra vị trí cuối file + char m_buf[BUFFSIZE]: Bộ nhớ đệm + int m_buffsize: Kích thước nhớ đệm + UINT m_codepage: Kiểu mã ký tự + int IsOpen(): Kiểm tra file mở + virtual void Close(): Đóng file + TEXTENCODING GetEncoding() const: Xác định encoding file (ASCII, UNI16_BE, UNI16_LE or UTF_8) + void SetUnknownChar(const char unknown): Thiết lập kí tự mà sử dụng để convert + void SetCodePage(const UINT codepage): Thiết lập codepage để sử dụng làm việc với chuỗi unicode + UINT GetCodePage() const;: Xác định codepage để sử dụng làm việc với chuỗi unicode + static void ConvertCharToWstring(const char* from, wstring &to, UINT codepage.=.CP_ACP): Chuyển đổi char* thành wstring + static void ConvertWcharToString(const wchar_t* from, string &to, UINT codepage=CP_ACP, bool* datalost=NULL, unknownchar=0): Chuyển đổi wchar_t* thành string char 59 + void CharToWstring(const char* from, wstring &to) const: Chuyển đổi char* thành wstring + void WcharToString(const wchar_t* from, string &to);: Chuyển đổi wchar_t* thành string + Các phương thức ghi liệu file:  void Write(const char* text);  void Write(const wchar_t* text);  void Write(const string& text);  void Write(const wstring& text);  CTextFileWrite& operator

Ngày đăng: 23/03/2021, 21:54

Tài liệu cùng người dùng

Tài liệu liên quan