Nhận dạng mẫu ảnh với mạng Nơron Nhận dạng mẫu ảnh với mạng Nơron Nhận dạng mẫu ảnh với mạng Nơron luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VŨ NGỌC DÂN NHẬN DẠNG MẪU ẢNH VỚI MẠNG NƠRON LUẬN VĂN THẠC SĨ KHOA HỌC KỸ THUẬT TRUYỀN THÔNG Hà Nội - Năm 2014 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VŨ NGỌC DÂN NHẬN DẠNG MẪU ẢNH VỚI MẠNG NƠRON Chuyên ngành: KỸ THUẬT TRUYỀN THÔNG LUẬN VĂN THẠC SĨ KHOA HỌC KỸ THUẬT TRUYỀN THÔNG NGƯỜI HƯỚNG DẪN KHOA HỌC TS LÊ DŨNG Hà Nội - Năm 2014 Mục lục Luận văn tốt nghiệp cao học MỤC LỤC Mục lục I Danh mục hình vẽ V Danh mục bảng VII Danh mục tiếng anh viết tắt VIII Mở đầu .1 Chƣơng I: Tổng quan trình xử lý ảnh nhận dạng mẫu ảnh 1.1 Giới thiệu chung 1.1.1 Xử lý ảnh ứng dụng 1.1.2 Các giai đoạn trình nhận dạng xử lý ảnh 1.1.2.1 Giai đoạn xử lý ảnh (Image processing) 1.1.2.2 Giai đoạn nhận dạng mẫu ảnh (Image Patten Recognition) 1.2 Các vấn đề xử lý ảnh 1.2.1 Những khái niệm liên quan .5 1.2.1.1 Điểm ảnh (pixel element) 1.2.1.2 Độ phân giải ảnh 1.2.1.3 Mức xám ảnh (Gray level) 1.2.1.4 Ảnh số 1.2.1.5 Các mối quan hệ điểm ảnh 1.2.1.6 Biểu đồ sắc thái hình ảnh (Histogram) 1.2.2 Biểu diễn ảnh 10 1.2.2.1 Biểu diễn mã loạt dài 10 1.2.2.2 Biểu diễn mã xích .11 1.2.2.3 Biểu diễn mã tứ phân 11 1.2.3 Nâng cao chất lƣợng ảnh 12 1.2.3.1 Nâng cao độ tƣơng phản 12 1.2.3.2 Lọc nhiễu 13 1.2.4 Trích chọn đƣờng biên 16 1.2.4.1 Toán tử Gradient 16 Học viên: Vũ Ngọc Dân -I- Mục lục Luận văn tốt nghiệp cao học 1.2.4.2 Kỹ thuật Laplace 19 1.2.4.3 Trích chọn đƣờng biên theo phƣơng pháp Canny .20 1.2.5 Phân vùng ảnh .22 1.2.5.1 Phân vùng dựa vào lấy ngƣỡng 23 1.2.5.2 Phân vùng dựa vào đƣờng biên 23 1.2.5.3 1.2.6 Phân vùng dựa theo miền/vùng 24 Nhận dạng ảnh 25 Chƣơng II: Mạng nơron .26 2.1 Giới thiệu chung mạng nơ-ron 26 2.1.1 Mạng nơron sinh học (Biological Neural Network) .26 2.1.2 Mạng nơron nhân tạo (Artificial Neural Network) 28 2.1.2.1 Nơron nhân tạo 28 2.1.2.2 Mạng nơron nhân tạo 28 2.1.3 Lịch sử phát triển mạng nơron nhân tạo 30 2.1.4 Phạm vi ứng dụng mạng nơron 31 2.1.4.1 Các ứng dụng mạng nơron nhân tạo .31 2.1.4.2 Ƣu nhƣợc điểm mạng nơron 32 2.2 Mơ hình tốn học kiến trúc mạng nơron 32 2.2.1 Mơ hình tốn học nơron (Neuron Model) 32 2.2.1.1 Mơ hình tốn học 32 2.2.1.2 Hàm hoạt hoá 34 2.2.2 Kiến trúc mạng nơron (Network Architecture) .35 2.2.2.1 Kiến trúc mạng lớp 35 2.2.2.2 Kiến trúc mạng đa lớp 37 2.2.2.3 Kiến trúc mạng truyền thẳng 37 2.2.2.4 Kiến trúc mạng hồi qui : .38 2.2.2.5 Kiến trúc mạng tự tổ chức : 39 2.2.3 Một số loại mạng nơron nhân tạo 41 2.3 Sử dụng mạng nơron nhân tạo 41 Học viên: Vũ Ngọc Dân -II- Mục lục Luận văn tốt nghiệp cao học 2.3.1 Hoạt động mạng nơron 41 2.3.2 Huấn luyện mạng (Training) : 42 2.3.2.1.Huấn luyện đƣợc giám sát : 42 2.3.2.2 Huấn luyện không đƣợc giám sát 43 2.3.3 Một số luật học 44 2.3.3.1 Luật học Hebbian 44 2.3.3.2 Luật học Perceptron .44 2.3.3.3 Luật học lan truyền ngƣợc (back-propagation): 45 2.3.3.4 Luật học cạnh tranh (competitive rule): 45 2.4 Nhận dạng với mạng nơron 46 2.4.1 Mạng Perceptron .46 2.4.1.1 Kiến trúc mạng .46 2.4.1.2 Huấn luyện mạng 47 2.4.1.3 Khả ứng dụng cho nhận dạng ảnh .50 2.4.2 Mạng Perceptron đa lớp 51 2.4.2.1 Kiến trúc mạng 51 2.4.2.2 Huấn luyện mạng 52 2.4.2.3 Khả ứng dụng cho nhận dạng ảnh 58 Chƣơng III: Xây dựng chƣơng trình nhận dạng mẫu ảnh xử dụng mạng nơron 60 3.1 Giới thiệu 60 3.2 Thực xây dựng chƣơng trình nhận dạng kí tự 62 3.2.1 Xử lý liệu (phân tích ảnh) .62 3.2.1.1 Thu nhận tiền xử lý ảnh 62 3.2.1.2 Hiệu chỉnh góc nghiêng 63 3.2.1.3 Tách dòng kí tự 64 3.2.1.4 Tách kí tự .65 3.2.1.5 Tìm giới hạn kí tự 66 3.2.2 Chuẩn hóa mẫu ảnh nhận dạng 67 Học viên: Vũ Ngọc Dân -III- Mục lục Luận văn tốt nghiệp cao học 3.2.3 Xây dựng mạng nơron nhận dạng kí tự 68 3.2.3.1 Xây dựng cấu hình mạng nơron 68 3.2.3.2 Xây dựng tập mẫu phƣơng pháp huấn luyện mạng 70 3.2.3.3 Nhận dạng kí tự 72 3.3 Chƣơng trình mơ thực nghiệm 74 3.3.1 Các chức chƣơng trình .74 3.3.2 Thực nghiệm 75 3.3.2.1 Thực nghiệm q trình tính giá trị số tham số đầu vào 75 3.3.2.2 Thực nghiệm huấn luyện mạng 77 3.3.3 Kết nhận dạng .79 3.3.4 Kết luận chƣơng 82 Kết luận: 84 Tài liệu tham khảo: 86 Học viên: Vũ Ngọc Dân -IV- Mục lục Luận văn tốt nghiệp cao học DANH MỤC HÌNH VẼ Hình 1-1 Quá trình xử lý ảnh Hình 1-2 Các giai đoạn xử lý ảnh Hình 1-3 Ví dụ ảnh số 2D Hình 1-4 Ví dụ ảnh đen trắng .7 Hình 1-5 Ví dụ ảnh xám Hình 1-6 Ví dụ ảnh màu .8 Hình 1-7 Lân cận điểm ảnh Hình 1-8 Minh họa biểu đồ histogram 10 Hình 1-9 Minh họa ảnh biểu diễn mã loạt dài 11 Hình 1-10 Minh họa biểu diễn mã xích 11 Hình 1-11 Ví dụ tăng độ tƣơng phản ảnh 13 Hình 1-12 Ví dụ lọc nhiễu lọc trung vị .15 Hình 1-13 Sơ đồ khối lọc đồng hình .16 Hình 1-14 Mặt nạ hƣớng 18 Hình 1-15 Ví dụ trích chọn đƣờng biên sử dụng kỹ thuật Gradient 19 Hình 1-16 Biên ảnh theo phƣơng pháp Canny .22 Hình 2-1 Cấu tạo tế bào thần kinh sinh học(nơron) 27 Hình 2-2 Mơ hình nơron nhân tạo 28 Hình 2-3 Cấu hình mạng nơron nhân tạo 29 Hình 2-4 Mơ hình tốn học nơron nhân tạo .33 Hình 2-5 Nơron đầu vào với hàm hoạt hóa hàm Hardlimit .34 Hình 2-6 Kiến trúc mạng lớp .35 Hình 2-7 Kiến trúc mạng truyền thẳng điển hình 38 Hình 2-8 Khối trễ 38 Hình 2-9 Kiến trúc mạng hồi quy Elman 39 Hình 2-10 Liên kết bên 40 Hình 2-11 Kiến trúc mạng Kohonen 41 Hình 2-12 Huấn luyện đƣợc giám sát .43 Học viên: Vũ Ngọc Dân -V- Mục lục Luận văn tốt nghiệp cao học Hình 2-13 Kiến trúc mạng Perceptron 46 Hình 2-14 Biên định không gian mẫu 48 Hình 2-15 Khơng gian mẫu khả tách tuyến tính .49 Hình 2-16 Khơng gian mẫu khơng khả tách tuyến tính 50 Hình 2-17 Phân tách không gian mẫu với mạng Perceptron nơron lớp 50 Hình 2-18 Mạng Perceptron đa lớp 51 Hình 2-19 Mạng MLP giải toán hàm XOR Minsky Papert 52 Hình 2-20 Phân lớp mẫu với mạng MLP lớp 58 Hình 3-1 Tiến trình xử lý ảnh trƣớc đƣa nhận dạng .61 Hình 3-2 Minh họa biến đổi Hough phát góc nghiêng 64 Hình 3-3 Q trình tách dịng kí tự 65 Hình 3-4 Quá trình tách kí tự 66 Hình 3-5 Tìm giới hạn kí tự 67 Hình 3-6 Sơ đồ mạng neural thiết kế .69 Hình 3-7 Mẫu kí tự font Arial 70 Hình 3-8 Mẫu kí tự font Tahoma 70 Hình 3-9 Mẫu kí tự font Times new roman 71 Hình 3-10 Lƣu đồ trình huấn luyện mạng nơron .72 Hình 3-11 Lƣu đồ nhận dạng kí tự 73 Hình 3-12 Giao diện chƣơng trình nhận dạng mẫu ảnh sử .74 Hình 3-13: Ảnh đầu vào dùng để huấn luyện 78 Hình 3-14 File đầu mong muốn .78 Hình 3-15 : Kết sau huấn luyện 79 Hình 3-16 Ảnh đầu vào font Arial .80 Hình 3-17 Kết nhận dạng mẫu ảnh font Arial 80 Hình 3-18 Ảnh đầu vào font Tahoma .81 Hình 3-19 Kết nhận dạng mẫu ảnh font Tahoma .81 Hình 3-20 Ảnh đầu vào font Times new roman 81 Hình 3-21 Kết nhận dạng mẫu ảnh font Times new roman .82 Học viên: Vũ Ngọc Dân -VI- Mục lục Luận văn tốt nghiệp cao học DANH MỤC BẢNG Bảng 2.1 Một số hàm hoạt hóa .34 Bảng 3.1 Thực nghiệm tìm số lần lặp 75 Bảng 3.2 Thực nghiệm tìm số kí tự 76 Bảng 3.3 Thực nghiệm tìm tốc độ học .77 Bảng 3.4 Thống kê kết huấn luyện: 79 Học viên: Vũ Ngọc Dân -VII- Mục lục Luận văn tốt nghiệp cao học DANH MỤC CÁC TỪ TIẾNG ANH VIẾT TẮT STT Từ viết tắt Từ viết tƣờng minh CCD Charge Coupled Device CGA Color Graphic Adaptor R Red G Green B Blue MIT IJCNN ANN Artificial Neural Network SOM Self Organizing Neural Network 10 MLP Multi Layer Perceptron Massachurehs Insritute of technology International Joint Conference out Neural Network Học viên: Vũ Ngọc Dân -VIII- Chương3: Xây dựng chương trình nhận dạng Luận văn tốt nghiệp cao học BẮT ĐẦU Tính đầu mạng Xây dựng mạng Vector đầu vào Tính lỗi Khởi tạo trọng số Cập nhật trọng số Nạp file huấn luyện Phân tích ảnh Phát kí tự Các kí tự sẵn sàng ? S Các kí tự sẵn sàng ? S Đ Đọc đầu mong muốn Đ Tính trung bình lỗi Lỗi < = ngƣỡng ? S Đ Các kí tự sẵn sàng ? Số lần lặp =max epochs ? Đ S KẾT THÚC Đ Hình 3-10 Lƣu đồ trình huấn luyện mạng nơron 3.2.3.3 Nhận dạng kí tự Q trình nhận dạng mạng nơron đơn giản dễ hiểu Khi chƣơng trình chạy gọi modul: phân tích ảnh, vector hóa q trình huấn luyện đƣợc sử dụng lại q trình nhận dạng - Thuật tốn Học viên: Vũ Ngọc Dân - 72 - Chương3: Xây dựng chương trình nhận dạng Luận văn tốt nghiệp cao học textbox - Lưu đồ BẮT ĐẦU Phân tích dịng ảnh Dịng Ánh xạ kí tự tới vector Tính tốn đầu Chuyển từ Unicode sang kí tự Hết kí tự dịng ? S Kí tự Đ Hết Các dòng ? Dòng S Đ KẾT THÚC Hình 3-11 Lƣu đồ nhận dạng kí tự Học viên: Vũ Ngọc Dân - 73 - Chương3: Xây dựng chương trình nhận dạng Luận văn tốt nghiệp cao học 3.3 Chƣơng trình mơ thực nghiệm 3.3.1 Các chức chƣơng trình Hình 3-12 Giao diện chƣơng trình nhận dạng mẫu ảnh sử dụng mạng nơron Input: Hiển thị ảnh kí tự cần nhận dạng Detected Character: Hiển thị ảnh kí tự sau đƣợc tách Matrix Anlysis: Hiển thi ảnh kí tự sau đƣợc tách lƣới Max Epochs: Số lần lặp tối đa Symbols: Số kí tự mẫu huấn luyện Error: Số lỗi Epoch: Số lần lặp huấn luyện mạng Current: Hiển thị mẫu đƣa vào huấn luyện Kết nhận dạng: Hiển thị kết nhận dạng textbox Hex: Hiển thị mã hexa kí tự Binary: Hiển thị mã nhị phân kí tự Symbol: Hiển thị kí tự nhận dạng đƣợc Load Image: Tải mẫu ảnh cần nhận dạng Học viên: Vũ Ngọc Dân - 74 - Chương3: Xây dựng chương trình nhận dạng Luận văn tốt nghiệp cao học Mở WC: Bật Webcam để chụp mẫu ảnh cần nhận dạng Chụp ảnh: Chụp ảnh để lấy mẫu ảnh nhận dạng Xử lý ảnh: Xử lý mẫu ảnh trƣớc nhận dạng Next Character: Nhận dạng kí tự Nhận dạng: Nhận dạng tồn kí tự mẫu ảnh Load Network: Tải mạng để đƣa mạng nơron Load tranning set: Tải mẫu huấn luyện *.cts Huấn luyện: Huấn luyện mạng Save Network: Lƣu kết sau huấn luyện thành file *.ann để đƣa mạng nơron nhận dạng Save output: Lƣu kết sau nhận dạng thành file *.text Exit: Thốt chƣơng trình 3.3.2 Thực nghiệm 3.3.2.1 Thực nghiệm q trình tính giá trị số tham số đầu vào - Thực nghiệm tính số lần lặp lại Q trình tăng số lần lặp có sinh quan hệ tỷ lệ rõ ràng mạng Tuy nhiên trƣờng hợp cụ thể việc tăng số lần lặp có số hiệu ứng bất lợi nhiều số đƣa vào dẫn đến nhận dạng sai Nó giới hạn tối ƣu mở rộng việc cập nhật kết trọng số trạng thái vòng tối ƣu Với việc tăng lặp lặp lại mạng thử lại tới trạng thái mong muốn tiếp tục quay lại Vì cần có số lần lặp tối ƣu với lỗi chấp nhận đƣợc Các giá trị khác số kí tự=124, tốc độ học=150, Sigmoid slope=0.014 Bảng 3.1 : Thực nghiệm tìm số lần lặp 300 Kiểu font Số kí tự lỗi 600 % lỗi Số kí tự lỗi 900 % lỗi Số kí tự lỗi % lỗi Arial 4.44 3.33 1.11 Tahoma 1.11 0 0 Time NewRoman 0 0 1.11 Học viên: Vũ Ngọc Dân - 75 - Chương3: Xây dựng chương trình nhận dạng Luận văn tốt nghiệp cao học Giá trị định cho số lần lặp 300 mạng neural có đặc trƣng chấp nhận sai xót sử dụng số lần lặp lớn với số lƣợng neural lớn tập huấn luyện lớn ta cần nhiều thời gian cho việc huấn luyện dẫn đến tốn chi phí huấn luyện - Thực nghiệm tìm đầu vào (số kí tự đưa vào) Kích thƣớc trạng thái đầu vào ảnh hƣởng tới q trình thực thi Nó tự nhiên, nhiều giá trị kí tự đầu vào thiết lập mạng phụ thuộc vào trình huấn luyện dễ bị mắc lỗi Thông thƣờng phức tạp tập hợp đầu vào lớn cần mơ hình mạng lớn với nhiều số lần lặp lại Các giá trị khác:số lần lặp = 300, tốc độ học = 150, Hệ số góc Sigmoid = 0.014 Bảng 3.2 : Thực nghiệm tìm số kí tự 50 Kiểu font Arial Tahoma Time New Roman Số kí tự lỗi 0 90 0 Số kí tự lỗi 2 % lỗi 124 0.044 0.022 Số kí tự lỗi 0.048 0.032 0.022 0.032 % lỗi % lỗi Giá trị định cho số kí tự đƣa vào 90 với số lƣợng 90 ký tự tƣơng đối đủ cho số lƣợng kí tự thơng thƣờng sử dụng gồm chữ hoa, chữ thƣờng, chữ số dấu… - Thực nghiệm tìm tham số tốc độ học Sự thay đổi tham số tốc độ học ảnh hƣởng tới thi hành mạng cho số lần lặp định sẵn Giảm giá trị tham số này, mạng cập nhật lại trọng số Nó làm giảm khả học khó cập nhật liên kết chậm hơn, tăng số lần lặp để đạt giá trị tối ƣu Vì cần giá trị tối ƣu cho thi hành mạng Học viên: Vũ Ngọc Dân - 76 - Chương3: Xây dựng chương trình nhận dạng Luận văn tốt nghiệp cao học Theo kết bảng 3.3, giá trị tối ƣu định cho tham số tốc độ học 150 sử dụng giá trị 50 hay 100 mạng học lâu độ xác khơng cao giá trị khác cho kết tƣơng tự Các giá trị khác: số kí tự = 124, số lần lặp = 300, Hệ số góc Sigmoid=0.014 Bảng 3.3: Thực nghiệm tìm tốc độ học 50 100 150 Kiểu font Số kt lỗi % lỗi Số kt lỗi % lỗi Số kt lỗi % lỗi Arial 82 91.11 18 20 3.33 Tahoma 56 62.22 11 12.22 1.11 Time NewRoman 77 85.56 15 16.67 0 3.3.2.2 Thực nghiệm huấn luyện mạng Nhƣ biết có nhiều yếu tố ảnh hƣởng tới trình huấn luyện mạng nhƣ là: đa dạng đầu vào: kích thƣớc , phong cách… Một điều cần thiết chuẩn bị trình tự ảnh kí tự đầu vào file ảnh đơn giản (*.bmp [bitmap] mở rộng), tƣơng ứng với kí tự file văn (*.cts [character trainer set] mở rộng) lƣƣ trữ hai file thƣ mục (cả hai file tên nhƣng khác phần mở rộng) Ứng dụng cung cấp cho ngƣời dùng hộp thoại lựa chọn đƣờng dẫn tới vị trí file văn *.cts đƣa file ảnh tƣơng ứng với Trong luận văn số tham số đƣợc lựa chọn sau: Tốc độ học = 150 Hệ số góc Sigmoid = 0.014 Trọng số kết nối sở = 30 Số lần lại 300-600 tùy độ phức tạp loại font Trung bình ngƣỡng lỗi = 0.0002 Học viên: Vũ Ngọc Dân - 77 - Chương3: Xây dựng chương trình nhận dạng Luận văn tốt nghiệp cao học Mẫu dùng trình thực nghiệm huấn luyện: Ảnh đầu vào: Hình 3-13: Ảnh đầu vào dùng để huấn luyện Đầu mong muốn: ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijkImnopqrstuvwxyz 0123456789 ~!@#$%^&*()-+=\{}[]:';,./? ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijkImnopqrstuvwxyz 0123456789 ~!@#$%^&*()-+=\{}[]:';,./? Hình 3-14 File đầu mong muốn Kết huấn luyện: Sau huấn luyện xong lƣu lại kết vào thƣ mục “Network” với *.ann để nhận dạng ta đƣa giá trị vào mạng nơron Dƣới hình 3-15 ví dụ giá trị trọng số file sau huấn luyện Học viên: Vũ Ngọc Dân - 78 - Chương3: Xây dựng chương trình nhận dạng Luận văn tốt nghiệp cao học OCR ANN Weight values – Vu Ngoc Dan Network Name = Latin Arial Hidden Layer Size = 250 Number of Patterns= 180 Number of Epochs = 300 Learning Rate = 150 Sigmoid Slope = 0.014 Weight Bias = 30 Weight[1 , , 0] = 88.89536 Weight[1 , , 1] = 107.0689 Weight[1 , , 2] = -75.75874 Weight[2 , 15 , 247] = 27.81977 Weight[2 , 15 , 248] = 6.722812 Weight[2 , 15 , 249] = 15.51853 Hình 3-15 : Kết sau huấn luyện Bảng 3.4: Thống kê kết huấn luyện: Loại font Số kí tự huấn luyện Số kí tự lỗi %lỗi Arial 90 0.022 Tahoma 90 0.022 Times new roman 90 0.011 Ghi 3.3.3 Kết nhận dạng Để nhận dạng mẫu ảnh ta huấn luyện mạng cách nhấn nút “Load tranning set” để tải tập huấn luyện từ file tạo sẵn *.cts có font tƣơng ứng với font mẫu ảnh cần nhận dạng, sau nhấn nút “Huấn luyện” để huấn luyện mạng nhấn nút “Load Network” tải file *.ann đƣợc tạo sẵn Q trình huấn luyện hồn thành, thực nhận dạng kí tự cách nhấn nút “Load image” để tải ảnh cần nhận dạng chụp ảnh cần nhận dạng từ webcam, sau nhấn nút “Xử lý ảnh” để xử lí liệu ảnh Chúng ta nhấn nút “Next character” để nhận dạng kí tự nhấn nút “Nhận dạng” để nhận dạng toàn kí tự ảnh Khi kí tự đƣợc hiển thị lƣới kích thƣớc Học viên: Vũ Ngọc Dân - 79 - Chương3: Xây dựng chương trình nhận dạng Luận văn tốt nghiệp cao học 20*30 tồn kí tự nhận dạng đƣợc hiển thị khung “kết nhận dạng” Chúng ta lƣu kết nhận dạng cách nhấn nút “save output” Một số kết minh họa: - Ảnh đầu vào font Arial : Khi ảnh đầu vào bình thƣờng nghiêng, cho ta kết nhƣ hình 3-17: Ảnh bình thƣờng Ảnh nghiêng Hình 3-16 Ảnh đầu vào font Arial Hình 3-17 Kết nhận dạng mẫu ảnh font Arial - Ảnh đầu vào font Tahoma : Khi ảnh đầu vào bình thƣờng nghiêng, cho ta kết nhƣ hình 3-19: Học viên: Vũ Ngọc Dân - 80 - Chương3: Xây dựng chương trình nhận dạng Ảnh bình thƣờng Luận văn tốt nghiệp cao học Ảnh nghiêng Hình 3-18 Ảnh đầu vào font Tahoma Hình 3-19 Kết nhận dạng mẫu ảnh font Tahoma - Ảnh đầu vào font Times new roman: Khi ảnh đầu vào bình thƣờng nghiêng, cho ta kết nhƣ hình 3-21: Ảnh bình thƣờng Ảnh nghiêng Hình 3-20 Ảnh đầu vào font Times new roman Học viên: Vũ Ngọc Dân - 81 - Chương3: Xây dựng chương trình nhận dạng Luận văn tốt nghiệp cao học Hình 3-21 Kết nhận dạng mẫu ảnh font Times new roman 3.3.4 Kết luận chƣơng Chƣơng trình thực nghiệm đƣợc huấn luyện nhận dạng ba loại font : Arial, Tahoma Times new roman đạt đƣợc kết tốt, nhƣng số tồn cần đƣợc phát triển để đạt kết cao Đối với trình huấn luyện ta cần ý nhiều vào font Arial đặc biệt nhƣ chữ “I_Hoa” chữ “l_Thƣờng ” tách kí tự, chia lƣới đƣa kết vào mạng làm cho mạng khơng phân biệt đƣợc hai kí tự dẫn đến sau nhận dạng sai Phƣơng pháp cần tăng số lần lặp cho q trình huấn luyện Ngồi cịn số trƣờng hợp ảnh hai kí tự nằm chéo nhƣ số trƣờng hợp sau: AV fa LT LV … Nó dẫn đến q trình tách kí tự bị dính nhận dạng sai Đối với trƣờng hợp ta cần phát triển phƣơng pháp tách để tách kí tự Học viên: Vũ Ngọc Dân - 82 - Chương3: Xây dựng chương trình nhận dạng Luận văn tốt nghiệp cao học Chƣơng trình nhận dạng với độ xác cao Nếu ký tự nhận dạng chƣa đƣợc xác, ta thêm mẫu huấn luyện lại cho ký tự đến nhận dạng đƣợc ký tự xác Ðể nhận dạng đƣợc nhiều kiểu font khác tập mẫu huấn luyện cho ký tự phải có nhiều dạng phong phú, tƣong ứng với cách font mà ngƣời sử dụng muốn nhận dạng Tóm lại, giải toán phải đáp ứng đƣợc yêu cầu: - Giải đƣợc phức tạp việc xử lý liệu đầu vào - Giải đƣợc việc xử lý khối lƣợng liệu lớn - Giải đƣợc độ chuẩn xác trình nhận dạng - Giải đƣợc mức độ tổng quát, đa dạng, phong phú trình xây dựng huấn luyện mạng để đạt đƣợc độ xác cao nhận dạng Học viên: Vũ Ngọc Dân - 83 - Kết luận Luận văn tốt nghiệp cao học KẾT LUẬN Mặc dù nghiên cứu phôi thai lý thuyết mạng nơron năm 40 kỷ XX, nhƣng vài thập niên trở lại thực có đƣợc ứng dụng quan trọng mang đến nhiều hứa hẹn hệ máy thông minh Chính vậy, riêng cá nhân tơi, điều mẻ - môn lý thuyết tƣơng lai Điều thúc đẩy vừa thực nghiên cứu lý thuyết vừa cố gắng cài đặt phần mềm thử nghiệm với hy vọng nắm đƣợc đƣợc gọi khoảng thời gian thực luận văn Theo gợi ý thầy giáo hƣớng dẫn, lựa chọn đề tài: "Nhận dạng mẫu ảnh sử dụng mạng nơron" Sau thời gian nghiên cứu, kết mà tơi đạt đƣợc chƣa đạt đƣợc tổng kết lại nhƣ sau: - Về mặt lý thuyết Nắm đƣợc khái niệm thành phần kiểu kiến trúc mạng nơron, phân biệt đƣợc số loại mạng nơron Nắm đƣợc ý nghĩa việc học hay tích lũy, có vai trị to lớn quy tắc học, mơ hình học thuật toán học nhiều khả ứng dụng khác Tìm hiểu ứng dụng mạng nơron thực tế Nắm đƣợc kiến thức mơ hình mạng nơron Perceptron đa lớp cách xây dựng mơ hình mạng nơron thực tế Nắm đƣợc quy trình chung xây dựng hệ thống nhận dạng mẫu ảnh sử dụng mạng nơron Vận dụng mạng nơron Perceptron đa lớp để xây dựng mô chƣơng trình nhận dạng chữ viết Ngồi ra, việc xây dựng phần mềm thử nghiệm cho phép tôi: Kiểm nghiệm kiến thức lý thuyết thu nhận đƣợc Có nhìn rõ nét kỹ thuật ứng dụng lý thuyết vào thực tế Học viên: Vũ Ngọc Dân - 84 - Kết luận Luận văn tốt nghiệp cao học Bên cạnh đó, nâng cao đƣợc kỹ phân tích, thiết kế lập trình việc giải toán cụ thể - Về mặt thực tiễn Đƣa phƣơng pháp xử lý với chữ viết, xây dựng thành công hệ thống nhận dạng chữ viết sử dụng mơ hình mạng nơron Perceptron đa lớp Góp phần giải tốn cịn dang dở Tuy biết điều thu nhận đƣợc phần nhỏ nghành nghiên cứu lớn, song tự nhận thấy gặt hái đƣợc thành công dịnh giai doạn nghiên cứu để phục vụ cho mục đích nghiên cứu sau - Hướng phát triển Bên cạnh kết đạt đƣợc, cịn có vấn đề chƣa đƣợc đề cập, giải luận văn Trong thời gian tới, tiếp tục nghiên cứu hoàn thiện đề tài với mục tiêu đƣợc đặt nhƣ sau: Nâng cao hiệu độ xác hệ thống nhận dạng chữ viết Xây dựng đƣợc hệ thống nhận dạng chữ viết tay tiếng Việt sử dụng mạng nơron - Một vài suy nghĩ sau nghiên cứu Trong bối cảnh nay, mà nghiên cứu chuyển sang hƣớng xây dựng hệ thống thông minh, mạng noron lên nhƣ giải pháp đầy hứa hẹn Nó thể ƣu diểm bật so với hệ thống khác khả mềm dẻo, linh hoạt tính tốn thơ, điểm khác biệt quan trọng óc ngƣời với máy thông minh nhân tạo Nhƣng mà địi hỏi dộ phức tạp cao thiết kế cài đặt hệ thống ứng dụng để đạt đƣợc tính tốt Khả đƣợc cải thiện không ngừng tƣơng lai với phát triển mạch tích hợp phần cứng cỡ lớn nhớ ngày lớn cho phần mềm máy tính Chính mà mạng noron đƣợc coi "kỹ thuật kỷ 21" Học viên: Vũ Ngọc Dân - 85 - Tài liệu tham khảo Luận văn tốt nghiệp cao học TÀI LIỆU THAM KHẢO Tài liệu tham khảo tiếng việt: Lƣơng Mạnh Bá, Nguyễn Thanh Thủy (1999), Nhập môn xử lý ảnh số, Nhà xuất Khoa học kỹ thuật, Hà nội Lê Dũng (2011), Bài giảng môn Nhận dạng mẫu ảnh sử dụng mạng nơron, Lớp cao học 11BKTĐT.KH, Trƣờng Đại học Bách Khoa Hà Nội Nguyễn Tiến Dũng (2011), Bài giảng môn Xử lý ảnh số, Lớp cao học 11BKTTT.KH, Trƣờng Đại học Bách Khoa Hà Nội Đỗ Năng Tồn, Phạm Việt Bình (2007), Giáo trình môn xử lý ảnh, Đại học Thái Nguyên Tài liệu tham khảo tiếng anh: Anand Venkataraman, The Backpropagation Algorith http://www.speech.sri.com/people/anand/771/html/node37.html Bernd Jahne (1995), Digital Image Processing, Spring Verlag Bishop, C.M (1995), Neural Networks for Pattern Recognition, Oxford University Press Bob Mitchell, Artificial Neural Network Handwriting Recognizer http://members.aol.com/Trane64/java/JRec.html Daniel Klerfors (1998), Artificial Neural Networks, Saint Louis University 10 LeCul, Y., Bottou, L., Bengio, Y., Haffner, (1998), Gradient – based learning applied to document reconition, Proceedings of the IEEE, vol 86 11 Martin T Hagan, Howard B Demuth, Mark Beale (1996), Neural Network Design, Thomson Learning 12 http://msdn.microsoft.com/en-us/library/system.drawing.bitmap.aspx 13 http://msdn.microsoft.com/en-us/library/gg145023.aspx 14 http://en.wikipedia.org/wiki/Hough_transform 15 http://www.codeproject.com/ Học viên: Vũ Ngọc Dân - 86 - ... Mạng nơron Trình bày khái quát mạng nơron nhân tạo, mơ hình mạng nơron nhân tạo, sử dụng mạng nơron nhân tạo, nhận dạng với mạng nơron Perceptron Chƣơng 3: Mơ chƣơng trình nhận dạng mẫu ảnh sử... vùng 1.2.6 Nhận dạng ảnh Nhận dạng ảnh giai đoạn cuối hệ thống xử lý ảnh Nhận dạng ảnh dựa lý thuyết nhận dạng (Pattern Recognition) đƣợc đề cập nhiều sách nhận dạng Trong lý thuyết nhận dạng nói... lý ảnh nhận dạng mẫu ảnh Trình bày khái quát vấn đề xử lý ảnh phƣơng pháp xử lý ảnh nhƣ biểu diễn ảnh, nâng cao chất lƣợng ảnh, trích chọn đƣờng biên, phân vùng ảnh nhận dạng ảnh Chƣơng 2: Mạng