Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 68 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
68
Dung lượng
2,74 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN NGUYỄN VŨ QUANG GÁN NHÃN ĐỐI TƯỢNG DỰA VÀO KỸ THUẬT NHẬN DẠNG LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội – 2015 ĐẠI HỌC QUỐC GIA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN NGUYỄN VŨ QUANG GÁN NHÃN ĐỐI TƯỢNG DỰA VÀO KỸ THUẬT NHẬN DẠNG Ngành : Công nghệ thông tin Chuyên ngành : Quản lý Hệ thống thông tin Mã số : Chuyên ngành đào tạo thí điểm LUẬN VĂN THẠC SĨ CƠNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Đỗ Năng Tồn Hà Nội - 2015 LỜI CAM ĐOAN Tơi xin cam đoan toàn nội dung luận văn tự sưu tầm, tra cứu xếp cho phù hợp với nội dung yêu cầu đề tài Nội dung luận văn chưa cơng bố hay xuất hình thức không chép từ cơng trình nghiên cứu Tất phần mã nguồn chương trình tơi tự thiết kế xây dựng, có sử dụng số thư viện chuẩn mã nguồn mở mà tác giả xuất cơng khai miễn phí mạng Internet Nếu sai tơi xin hồn tồn chịu trách nhiệm Hà Nội, ngày 11 tháng 12 năm 2015 Học viên thực LỜI CẢM ƠN Trong suốt thời gian học tập nghiên cứu lớp cao học CIO-04 Viện Công nghệ thông tin – Đại học Quốc Gia Hà Nội, nhận nhiều bảo ban, quan tâm, định hướng, nhiệt tình thầy Viện Các thầy cô giúp đỡ tạo điều kiện giúp tơi học tập nghiên cứu cách tốt suốt thời gian học tập trường Nhân dịp này, xin bày tỏ lời cảm ơn chân thành tới tập thể thầy cô Viện Công nghệ thông tin – Đại học Quốc Gia Hà Nội Tôi xin chân thành cảm ơn sâu sắc tới Thầy PGS.TS Đỗ Năng Toàn cho tơi nhiều bảo q báu, tận tình hướng dẫn tạo điều kiện cho tơi hồn thành tốt luận văn tốt nghiệp Tôi xin cảm ơn đồng nghiệp người thân động viên, giúp đỡ tơi q trình nghiên cứu thực luận văn Q trình thực đề tài khơng tránh khỏi thiếu sót, mong tiếp tục nhận đóng góp ý kiến thầy, cô giáo, bạn đồng nghiệp đề tài nghiên cứu tơi để đề tài hồn thiện Tôi xin trân trọng cảm ơn! MỤC LỤC MỤC LỤC .5 CÁC CHỮ VIẾT TẮT MỞ ĐẦU 2.1.3 Mơ hình nơron 28 2.1.5 Ứng dụng mạng nơron nhân tạo 32 2.4.1 Khả sử dụng mạng nơron nhận dạng 50 2.4.2 Mơ hình nhận dạng hệ thống sử dụng mạng nơron .51 2.4.3 Nhận dạng hệ thống sử dụng mạng nơron 52 CÁC CHỮ VIẾT TẮT Từ viết tắt Ý nghĩa MCP Mơ hình McCulloch Pitts MSE Mean-Square Error DANH MỤC HÌNH VẼ MỤC LỤC .5 CÁC CHỮ VIẾT TẮT MỞ ĐẦU 2.1.3 Mơ hình nơron 28 2.1.5 Ứng dụng mạng nơron nhân tạo 32 2.4.1 Khả sử dụng mạng nơron nhận dạng 50 2.4.2 Mơ hình nhận dạng hệ thống sử dụng mạng nơron .51 2.4.3 Nhận dạng hệ thống sử dụng mạng nơron 52 MỞ ĐẦU Cùng với phát triển ngày mạnh mẽ khoa học kĩ thuật vài thập kỷ gần đây, xử lý ảnh ngành khoa học tương đối mẻ so với nhiều ngành khoa học khác lĩnh vực phát triển nhanh thu hút quan tâm đặc biệt từ nhà khoa học, thúc đẩy trung tâm nghiên cứu, ứng dụng lĩnh vực hấp dẫn Nhận dạng gán nhãn cho hình ảnh đóng vai trò quan trọng nhiều ứng dụng thực tế khoa học kĩ thuật sống thường ngày như: sản xuất kiểm tra chất lượng, di chuyển Robot, phương tiện lại tự trị, công cụ hướng dẫn cho người mù, an ninh giám sát, nhận dạng đối tượng, nhận dạng mặt, ứng dụng y học, sản xuất, hiệu chỉnh video,… Một ứng dụng quan trọng, việc nhận dạng gán nhãn cho loại hình ảnh … Tự động nhận dạng ảnh đặt vị trí nhãn lĩnh vực trực quan hóa thông tin Nhãn đoạn văn nhằm truyền đạt thông tin, làm rõ ý nghĩa cấu trúc phức tạp biểu diễn dạng đồ họa Bài toán nhận dạng gán nhãn đề cập, nghiên cứu nhiều giới Tại Việt Nam toán trọng ứng dụng nhiều lĩnh vực Vì vậy, đề tài xây dựng với mục đích: Tìm hiểu tốn nhận dạng hình ảnh gán nhãn, ứng dụng lĩnh vực; Tìm hiểu số vấn đề, thuật tốn liên quan; Đặt tảng cho cá nhân nghiên cứu, tìm hiểu sâu vấn đề Từ thiết kế chương trình thử nghiệm nhận dạng gán nhãn cho ảnh cụ thể Luận văn bao gồm chương, nội dung chương sau: Chương 1: Khái quát gán nhãn toán nhận dạng đối tượng Chương khái quát lại kiến thức toán gán nhãn gồm xử lý ảnh gán nhãn xử lý ảnh Đồng thời nói tốn nhận dạng đối tượng, vai trị tầm quan trọng tốn nhận dạng đối tượng, phương pháp nhận dạng đối tượng số hệ thống nhận dạng đối tượng tiếng giới Chương 2: Một số vấn đề nhận dạng đối tượng sử dụng mạng nơron Chương đề cập đến số vấn đề nhận dạng đối tượng sử dụng mạng nơron Mô tả kiến trúc hệ thống nhận dạng đối tượng sử dụng mạng nơron nhân tạo cách thiết kế, huấn luyện mạng nơron nhân tạo cho việc nhận dạng Chương 3: Chương trình thử nghiệm Chương áp dụng kiến thức nghiên cứu chương chương 2, sử dụng mạng nơron nhiều lớp lan truyền ngược kỹ thuật gán nhãn để xây dựng chương trình nhận dạng ký tự 10 CHƯƠNG 1: KHÁI QUÁT VỀ GÁN NHÃN VÀ BÀI TOÁN NHẬN DẠNG ĐỐI TƯỢNG Chương khái quát lại kiến thức toán gán nhãn gồm xử lý ảnh gán nhãn xử lý ảnh Đồng thời nói tốn nhận dạng đối tượng, vai trị tầm quan trọng toán nhận dạng đối tượng, phương pháp nhận dạng đối tượng số hệ thống nhận dạng đối tượng tiếng giới 1.1 Khái quát gán nhãn 1.1.1 Xử lý ảnh Hình ảnh tĩnh biểu diễn hàm hai chiều f(x,y), đó, x y tọa độ không gian phẳng (2 chiều) Khi xét ảnh "đen-trắng", giá trị hàm f điểm xác định tọa độ (x,y) gọi độ chói (mức xám) ảnh điểm Nếu x,y,và f số hữu giá trị rời rạc, có ảnh số Xử lý ảnh số q trình biến đổi ảnh số máy tính (PC) Như vậy, ảnh số tạo số hữu hạn điểm ảnh, điểm ảnh nằm vị trí định có giá trị định Một điểm ảnh ảnh gọi pixel Thị giác có vai trị quan trọng với người việc nhận biết giới xung quanh Chúng ta nhìn khơng để xác định phân loại vật thể, mà để tìm khác biệt để có cảm nhận tổng thể, sơ bộ, cho khung cảnh Thị giác người xác: ta nhận biết khuôn mặt vài giây, ta phân biệt màu sắc, xử lý lượng lớn thơng tin hình ảnh nhanh Cùng với ngơn ngữ, thơng tin dạng hình ảnh đóng vai trị quan trọng việc trao đổi thơng tin Chính năm gần có kết hợp chặt chẽ ảnh đồ họa lĩnh vực xử lý thông tin Trong công nghệ thông tin, xử lý ảnh chiếm vị trí quan trọng, ứng dụng đa dạng phong phú nhiều lĩnh vực khoa học Lĩnh vực xử lý ảnh thu hút quan tâm nhiều nhà khoa học khả ứng dụng lợi ích to lớn nhiều lĩnh vực xã hội quốc phịng, giải trí, y học, viễn 54 CHƯƠNG 3: CHƯƠNG TRÌNH THỬ NGHIỆM Chương áp dụng kiến thức nghiên cứu chương chương 2, sử dụng mạng nơron nhiều lớp lan truyền ngược để xây dựng chương trình nhận dạng ký tự Đồng thời, đánh giá kết đạt định hướng phát triển tương lai 3.1 Giới thiệu Nhận dạng ký tự ứng dụng nhiều quan tâm đầy khó khăn thử thách Điều khó khả nhận dạng phù hợp kí tự kiểu ngôn ngữ phức tạp không theo quy luật biến đổi font, kiểu kích cỡ Với số phương thức lập trình truyền thống ánh xạ ảnh kí tự vào ma trận, phân tích ảnh vector liệu, kiểm tra đưa định phù hợp kết Việc thực thi lập trình truyền thống cần viết mã nguồn vô tận cho kiểu không quán hay lệch với giá trị đầu khác Lý thuyết không thực Sử dụng mạng neural nhân tạo với mạng làm việc quy tắc từ việc cập nhật lại trọng số liên kết nút mạng Với ưu điểm mạng nhận liệu từ phân tích sinh động ảnh đầu vào việc huấn luyện cho ký tự đầu cho mẫu nói cách khác khả thích nghi với mơi trường liệu đầu vào sinh động 55 3.2 Các bước giải toán 3.2.1 Xây dựng mạng nơron Chọn mạng đa tầng Feedforward với lớp : Điểm ảnh Điểm ảnh Điểm ảnh Điểm ảnh 16 neural Lớp đầu 150 neural Lớp đầu vào 500 neural Lớp ẩn Hình 3.1: Sơ đồ mạng neural thiết kế Lớp đầu vào gồm 150 neural nhận giá trị nhị phân(0,1) 150 thành phần vộctơ tương ứng liệu véc tơ hóa từ ma trận điểm ảnh kí tự phương pháp chia lưới 56 Lớp ẩn gồm 500 neural, số neural định từ kết tối ưu giá trị lỗi sở trình huấn luyện Lớp đầu gồm 16 neural đưa giá trị nhị phân(0,1) tương ứng với 16 bít mã Unicode Với lớp nói ta xõy dụng mạng neural hình 3.1 3.2.2 Xử lý liệu Q trình phân tích ảnh để tìm đặc tính kí tự việc kiểm tra điểm ảnh giá trị đầu vào cho trình huấn luyện q trình kiểm tra Q trình phân tích dựa việc nhận dạng từ ảnh đầu vào phương pháp tính giá trị màu Giới hạn giá trị điểm đen RGB(0,0,0) điểm trẳng RGB(255,255,255) Những ảnh đầu vào định dạng bitmap(*.bmp) 3.2.3 Huấn luyện mạng Một mạng neural xây dựng phải huấn luyện không gian đầu vào chuẩn bị trước Khi hoạt động mạng neural đọc giá trị huấn luyện Trong bước huấn luyện tơi huấn luyện cho mạng đầu mong muốn với đầu vào quy định Đối với mục đích mẫu huấn luyện đại diện hai thành phần: đầu vào đầu cho mạng đầu vào mong muốn Sau bước huấn luyện thực hiện, cung cấp cho đầu vào cho mạng mạng hình thành đầu ra, từ giải loại mơ hình cho vào mạng Giả sử muốn huấn luyện mạng lưới để nhận 26 chữ đại diện hình ảnh 5x6 pixel, ví dụ : 57 Một cách rõ ràng để chuyển đổi hình ảnh đến phần đầu vào mẫu huấn luyện để tạo vector kích thước 30 có chứa "1" tất vị trí tương ứng với điểm ảnh "0" tất vị trí tương ứng với điểm ảnh Trong mơ hình mạng đại diện cho mơ hình huấn lun gọi cách "lưỡng cực", đặt vào vector đầu vào "0,5" thay "1" "-0.5" thay "0" Loại mơ hình mã hóa dẫn đến cải tiến hiệu suất học tập Cuối cùng, mẫu đào tạo tơi tìm này: float[] input_letterK = new float[] { 0.5f, -0.5f, -0.5f, 0.5f, 0.5f, 0.5f, -0.5f, 0.5f, -0.5f, -0.5f, 0.5f, 0.5f, -0.5f, -0.5f, -0.5f, 0.5f, -0.5f, 0.5f, -0.5f, -0.5f, 0.5f, -0.5f, -0.5f, 0.5f, -0.5f, 0.5f, -0.5f, -0.5f, -0.5f, 0.5f}; Đối với đầu vào cần tạo mạng mong muốn để hoàn thành mẫu huấn luyện Đối với nhận dạng ký tự phổ biến để mã mẫu vector có kích thước 26 (vì tơi có 26 chữ khác nhau), đặt vào vector "0.5" cho vị trí tương ứng với số loại mơ hình "-0.5" cho tất vị trí khác Vì vậy, vector đầu mong muốn cho chữ "K" tìm này: // 0.5 is placed only in the position of "K" letter float[] output_letterK = new float[] { -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, 0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f}; Làm để nhận ký tự ? Tôi cần phải nhập vào mạng huấn luyện nhận kết Sau đó, tìm phần tử vector đầu với giá trị tối đa Số lượng phần tử cho mơ hình cơng nhận: // "K" letter, but a little bit noised float[] pattern = new float [] { 0.5f, -0.5f, -0.5f, 0.5f, 0.5f, 0.5f, -0.5f, 0.5f, -0.5f, 0.5f, 0.5f, 0.5f, -0.5f, -0.5f, -0.5f, 0.5f, -0.5f, 0.5f, -0.5f, -0.5f, 58 0.5f, -0.5f, -0.5f, 0.5f, -0.5f, 0.3f, -0.5f, -0.5f, 0.5f, 0.5f}; // get network's output float[] output = neuralNet.Compute(pattern); int i, n, maxIndex = 0; // find the maximum from output float max = output[0]; for (i = 1, n = output.Length; i < n; i++) { if (output[i] > max) { max = output1[i]; maxIndex = i; } } // System.Diagnostics.Debug.WriteLine( "network thinks it is - " + (char)((int) 'A' + maxIndex)); 3.2.4 Nhận dạng ảnh Quá trình nhận dạng mạng neural đơn giản dễ hiểu Khi chương trình chạy gọi modun: phân tích ảnh, vector hóa q trình huấn luyện sử dụng lại trình nhận dạng 3.2.5 Lựa chọn công cụ Tôi lựa chọn ngôn ngữ C# sử dụng nguồn opensource Neural Network Ocr được cấp phép theo giấy phép GNU General Public (GPLv3), người phát triển đưa ví dụ là Andrew Kirillov, lập trình viên IBM 3.3 Một số kết thử nghiệm đánh giá hệ thống nhận dạng ký tự 3.5.1 Thử nghiệm hệ thống nhận dạng ký tự Hệ thống nhận dạng ký tự cài đặt có phần hình 3.2, bao gồm: Phần đưa liệu đầu vào , Mạng nơron (huấn luyện mạng) phần nhận diện 59 Hình 3.2 Giao diện hệ thống nhận dạng ký tự Trong phần đầu vào ký tự ta có ô vé dung paint, dung chuột để vẽ ký tự muốn nhận dạng, kết hình 3.3 Hình 3.3 Giao diện đưa ký tự đầu vào Sau vẽ ký tự đầu vào chuyển qua phần Mạng nơron, phần tiến hành huấn luyện mạng nơron với tham số thiết lập số nơron đầu vào, số nơron ẩn, ngưỡng lỗi Kết nhận dạng lỗi nhận huấn luyện : 60 Hình 3.4 Giao diện kết 3.5.2 Ưu điểm hạn chế Ưu điểm: Hệ thống nhận dạng tốt với đối tượng ký tự chuẩn tốc độ nhanh với lỗi thấp, ký tự vẽ tay paint kết nhận dạng xác đầu vào vẽ ký tự chuẩn không xiên xẹo hệ thống cần thời gian huấn luyện lâu Nhược điểm: Hệ thống phụ thuộc nhiều đầu vào ảnh Đối với số ký tự vẽ đứt nét ,độ lệch so với ký tự chuẩn nhiều cho kết không tốt phần nhận dạng ảnh Hệ thống triển khai môi trường desktop nên chưa thật tiện lợi cho người sử dụng 3.5.3 Hướng phát triển tương lai Hệ thống nhận dạng ký tự, tương lai em hi vọng phát triển hệ thống nhận dạng nhiều ký tự lúc, nhiều hàng, nhiều dịng Ngồi ra, hướng phát triển lâu dài mang tính tương lai nhận dạng chữ viết tay tiếng việt trả kết giọng nói, từ làm thành phần mềm hỗ trợ nghe đọc cho người mù 61 KẾT LUẬN CHUNG Trong thời gian vừa qua, trình bày nội dung nghiên cứu đề tài em gồm phần sau: Tìm hiểu mạng neural nhân tạo Tìm hiểu tốn nhận dạng Tìm hiểu số kỹ thuật gán nhãn Phân tích cụ thể tốn nhận dạng Thiết kế mạng huấn luyện mạng neural cho tốn “nhận dạng kí tự Các hạn chế Do có hạn chế định mặt thời gian kiến thức thân, luận văn dừng lại mức thử nghiệm hệ thống ảnh với số lượng ảnh thông tin ảnh khiêm tốn cho việc xác nhận ký tự Hướng phát triển tiếp Trong thời gian tới, em tiến hành thử nghiệm hệ thống với tập liệu chữ viết tay đầy đủ Đồng thời, tăng số lượng ảnh chi tiết ảnh nhiều lên cần nhận dạng để xây dựng môt hệ thống hoàn chỉnh Nhận dạng ảnh gán nhãn phần quan trọng lĩnh vực nhận dạng nói riêng xử lý ảnh nói chung Cùng với việc sử dụng công cụ mạng neural lĩnh vực sử dụng nhiều cần phát triển Em xin chân thành cảm ơn thầy, cô Viện công nghệ thông tin, Đại học công nghệ - Đại học quốc gia Hà Nội tận tình dạy dỗ, truyền đạt cho chúng em nhiều kiến thức quý báu Em xin tỏ lòng biết ơn sâu sắc đến thầy Đỗ Năng Toàn, người tận tình giúp đỡ truyền đạt nhiều kinh nghiệm để đề tài thực hoàn thành luận văn Em xin chân thành cảm ơn! 62 DANH MỤC TÀI LIỆU THAM KHẢO Tiếng việt [1] Đỗ Năng Tồn (2010), Giáo trình xử lý ảnh, Học viện Cơng nghệ Bưu Viễn thơng Tiếng Anh [2] D Heckenberg, B C Lovell (2000), “A Gesture Driven Computer Interface”, Proceeding of Visual Communications and Image Processing, SPIE, 4067, 261-268 [3] Journal on Graphics (2006), Vision and Image Processing, [4] J Mathews (2002), “An Introduction to Edge Detection: The Sobel Edge Detector” [5] Peter l Rockett (2005), “An Improved Rotation-Invarient Thinning Algorithm”, IEEE transaction on Pattern, Analysis and Machine Intelligence, 27, 10 [6] Te-Hsiu Sun, Fang-Chih Tien (2008), Using Backpropagation Neural Network for Face Recognition with 2D+ 3D Hybrid Information, Elsevier: Expert System with Applications, 35,361-372 [7] N Sakai, S Yonekawa and A Matsuzaki, Two-dimensional image analysis of the shape of rice and its applications to separating varieties”, Journal of Food Engineering, vol 27, 1996, pp 397-407 [8] A J M Timmermans, and A A Hulzebosch, Computer vison system for on-line sorting of pot plants using an artificial neural network classifier, Computers and Electronics in Agriculture, vol 15, 1996, pp 41-55 [9] S Abbasi, F Mokhtarian, and J Kittler, Reliable classification of chrysanthemum leaves through curvature scale space, Lecture Notes in Computer Science, vol 1252, 1997, pp 284-295 63 [10] J Camarero, S Siso, and E.G-Pelegrin, Fractal dimension does not adequately describe the complexity of leaf margin in seedlings of Quercus species, Anales del Jardín Botánico de Madrid, vol 60, no 1, 2003, pp 63-71 [11] C-L Lee, and S-Y Chen, Classification of leaf images, 16th IPPR Conference on Computer Vision, Graphics and Image Processing (CVGIP), 2003, pp 355-362 [12] S G Wu, F S Bao, E Y Xu, Y-X Wang, Y-F Chang, and Q-L Xiang, A leaf recognition algorithm for plant classification using probabilistic neural network, The Computing Research Repository (CoRR), vol.1, 2007, pp 11-16 [13] J Pan and Y He, Recognition of plants by leaves digital image and neural network, International Conference on Computer Science and Software Engineering, vol 4, 2008, pp 906 – 910 Các trang web tham khảo [14] http://www.doc.ic.ac.uk/~nd/surprise_96/journal/vol4/cs11/report.htm l#A%20simple%20neuron [15] http://andrewback.com/ivs.php [16] http://www2.htw-dresden.de/~iwe/Belege/Langner/ ... sách nhận dạng Trong lý thuyết nhận dạng nói chung nhận dạng ảnh nói riêng có số cách tiếp cận khác nhau: - Nhận dạng đối tượng dùng thống kê - Nhận dạng dựa vào cấu trúc - Nhận dạng dựa vào kỹ thuật. .. Nếu thiếu phần nhận dạng đối tượng segment ko thể hoàn thiện, thiếu Segmentation, việc nhận dạng đối tượng ko thể Bài toán nhận dạng đối tượng toán nhận dạng đối tượng có ảnh gán nhãn cho chúng... Đồng thời nói tốn nhận dạng đối tượng, vai trị tầm quan trọng tốn nhận dạng đối tượng, phương pháp nhận dạng đối tượng số hệ thống nhận dạng đối tượng tiếng giới 1.1 Khái quát gán nhãn 1.1.1 Xử lý