Untitled ĐẠI HỌC THÁI NGUYÊN TR¦êNG §¹I HäC C¤NG NGHÖ TH¤NG TIN Vµ TRUYÒN TH¤NG LÊ CẨM HÀ NGHIÊN CỨU MẠNG NƠRON CNN VÀ ỨNG DỤNG TRONG BÀI TOÁN PHÂN LOẠI ẢNH LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGU[.]
I HC THI NGUYấN TRƯờNG ĐạI HọC CÔNG NGHệ THÔNG TIN Và TRUYềN THÔNG Lấ CM H NGHIấN CU MNG NƠRON CNN VÀ ỨNG DỤNG TRONG BÀI TOÁN PHÂN LOẠI ẢNH LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGUYấN - 2020 I HC THI NGUYấN TRƯờNG ĐạI HọC CÔNG NGHệ THÔNG TIN Và TRUYềN THÔNG Lấ CM H NGHIÊN CỨU MẠNG NƠRON CNN VÀ ỨNG DỤNG TRONG BÀI TỐN PHÂN LOẠI ẢNH Chun ngành: Khoa học máy tính Mã số: 48 01 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Giáo viên hướng dẫn: TS.Nguyễn Đình Dũng THÁI NGUYÊN - 2020 i LỜI CẢM ƠN Luận văn hồn thành Trường Đại học Cơng nghệ Thông tin Truyền thông hướng dẫn TS Nguyễn Đình Dũng Tác giả xin bày tỏ lịng biết ơn tới thầy giáo thuộc Trường Đại học Công nghệ Thông tin Truyền thông, thầy cô giáo thuộc Viện Công nghệ Thông tin – Viện Hàn lâm Khoa học Công nghệ Việt Nam tạo điều kiện, giúp đỡ tác giả trình học tập làm luận văn Trường, đặc biệt tác giả xin bày tỏ lòng biết ơn tới TS Nguyễn Đình Dũng tận tình hướng dẫn cung cấp nhiều tài liệu cần thiết để tác giả hồn thành luận văn thời hạn Xin chân thành cảm ơn anh chị em học viên cao học bạn bè đồng nghiệp trao đổi, khích lệ tác giả trình học tập làm luận văn Trường Đại học Công nghệ Thông tin Truyền thông – Đại học Thái Nguyên Cuối tác giả xin gửi lời cảm ơn đến gia đình, người bên cạnh, động viên khuyến khích tơi q trình thực đề tài Thái Nguyên, tháng 10 năm 2020 Học viên cao học Lê Cẩm Hà ii LỜI CAM ĐOAN Tôi xin cam đoan luận văn tơi thực hiện, hướng dẫn khoa học TS Nguyễn Đình Dũng, kết lý thuyết trình bày luận văn tổng hợp từ kết cơng bố có trích dẫn đầy đủ, kết chương trình thực nghiệm luận văn tác giả thực hoàn toàn trung thực, sai tơi hồn tồn chịu trách nhiệm Thái Ngun, tháng 10 năm 2020 Học viên Lê Cẩm Hà iii MỤC LỤC Một số thuật toán tiêu biểu phân loại ảnh 19 1.5.1 Thuật toán KNN 19 1.5.2 Thuật toán sử dụng mạng Nơ ron 20 1.5.3 Thuật toán SVM 21 Kết luận chương 21 CHƯƠNG MẠNG NƠ RON CNN VÀ ỨNG DỤNG TRONG PHÂN LOẠI ẢNH 23 iv Các khái niệm chung mạng nơron 23 2.1.1 Mạng nơron sinh học 23 2.1.2 Mạng nơron nhân tạo 24 2.1.3 Mơ hình tốn học kiến trúc mạng nơron 27 2.1.4 Phân loại mạng nơ ron 30 2.1.5 Huấn luyện mạng nơron 31 Mạng nơron CNN 32 2.2.1 Giới thiệu 32 2.2.2 Kiến trúc mạng CNN 33 2.2.3 Ứng dụng CNN phân loại ảnh 37 Xây dựng mạng CNN cho phân loại ảnh 38 2.3.1 Trường tiếp nhận cục (Local receptive fields) 38 2.3.2 Trọng số chia sẻ độ lệch (Shared weights and biases) 42 2.3.3 Lớp chứa hay lớp tổng hợp (Pooling layer) 42 2.3.4 Cách chọn tham số cho CNN 45 Cập nhật số hướng nghiên cứu toán phân loại ảnh sử dụng mạng nơ ron CNN 45 2.4.1 Các nghiên cứu giới 45 2.4.2 Các nghiên cứu nước 46 Kết luận chương 48 CHƯƠNG XÂY DỰNG CHƯƠNG TRÌNH MƠ PHỎNG ỨNG DỤNG MẠNG CNN TRONG PHÂN LOẠI ẢNH 49 Đặt vấn đề 49 Bài toán nhận dạng chữ viết tay 50 3.2.1 Mơ tả tốn 50 3.2.2 Các bước thực 51 3.2.3 Một số kết đạt 57 Bài toán giải mã Capcha 61 3.3.1 Mơ tả tốn 61 3.3.2 Các bước thực 65 v 3.3.3 Một số kết đạt 67 Kết luận chương 68 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 70 TÀI LIỆU THAM KHẢO 72 vi DANH MỤC CÁC TỪ VIẾT TẮT Từ Từ tiếng Anh cụm từ Từ tiếng Việt AI Artificial Intelligence Trí tuệ nhân tạo ANN Artificial Neural Network Mạng nơron nhân tạo CV Computer Vision Thị giác máy tính CNN Convolutional Neural Network Mạng nơron tích chập DL Deep Learning Học sâu Completely Automated Public Phép thử Turing cơng cộng hồn CAPCHA Turing test to tell Computers and toàn tự động để phân biệt máy tính Humans Apart với người MCR Miss Classification Rate Tỷ lệ nhận dạng sai RMSE Root Mean Square Error Sai số bình phương trung bình MLP Multilayer Neural Network Mạng nơron nhiều lớp Modified National Institute of MNIST Standards and Technology Cơ sở liệu chữ số viết tay database ReLU Rectified Linear Units Hàm tinh chỉnh đơn vị tuyến tính vii DANH MỤC CÁC HÌNH ẢNH Hình 1.1 Các giai đoạn xử lý ảnh Hình 1.2 Minh họa hệ màu RGB .8 Hình 1.3 Ví dụ ảnh màu Hình 1.4 Biểu diễn ảnh theo tensor chiều .9 Hình 1.5 Ví dụ ảnh xám 10 Hình 1.6 Minh họa phép tích chập xử lý ảnh 11 Hình 1.7 Ma trận đầu Y chập ảnh X với kernel W 11 Hình 1.8 Stride=1, padding=1 12 Hình 1.9 Stride=2, padding=1 12 Hình 1.10 Một số lọc Kerne1 xử lý ảnh 13 Hình 1.11 Phương pháp lưới 16 Hình 1.12 Phương pháp cung 16 Hình 1.13 Biểu diễn mẫu tập kí hiệu .18 Hình 1.14 Minh họa thuật toán KNN .19 Hình 2.1 Cấu trúc nơron sinh học 23 Hình 2.2 Nơron nhân tạo 25 Hình 2.3 Mơ hình tốn học mạng nơron nhân tạo 27 Hình 2.4 Nơron đầu vào với hàm hoạt hoá hàm hardlimit .29 Hình 2.5 Phân loại mạng nơ ron 30 Hình 2.6 Học có giám sát 31 Hình 2.7 Học khơng có giám sát 31 Hình 2.8 Học tăng cường 32 Hình 2.9 Cách máy tính “nhìn” hình [16] 32 Hình 2.10 Mạng nơ-ron thông thường (trái) CNN (phải) 34 Hình 2.11 Kiến trúc mạng CNN 34 Hình 2.12 Max pooling kích thước 2×2 36 Hình 2.13 Lớp kết nối đầy đủ 36 Hình 2.14 Các bước phân loại ảnh sử dụng mạng CNN 37 viii Hình 2.16 Lớp input gồm 28x28 nơ ron cho nhận dạng chữ từ tập liệu MNIST 38 Hình 2.17 Kết nối vùng 5x5 nơ ron input với nơ ron lớp ẩn 39 Hình 2.18 Vị trí bắt đầu trường tiếp nhận cục 39 Hình 2.19 Vị trí thứ trường tiếp nhận cục nơ ron lớp ẩn 40 Hình 2.20 Trường tiếp nhận cục với ba đồ đặc trưng 40 Hình 2.21 Trường tiếp nhận cục với 20 đồ đặc trưng 41 Hình 2.22 Ví dụ Max pooling 2x2 43 Hình 2.23 Max pooling với ba đồ đặc trưng .43 Hình 2.24 Một kiến trúc mạng CNN cho nhận dạng chữ viết từ liệu MNIST 44 Hình 3.1 Giao diện chương trình mơ 49 Hình 3.2 Chữ viết tay số “5” từ liệu MNIST 50 Hình 3.3 Giao diện thiết kế mạng CNN 55 Hình 3.4 Mạng CNN 55 Hình 3.5 Tiến trình luyện mạng với kernel x and đồ đặc trưng 56 Hình 3.6 Giao diện chương trình nhận dạng chữ viết tay 60 Hình 3.7 Một số mẫu captcha 62 Hình 3.8 Một số kết cơng captcha .63 Hình 3.9 Hai cách tiếp cận để nhận dạng captcha CNN 64 Hình 3.10 Kiểu liệu captcha dùng toán nhận dạng 65 Hình 3.11 Kí tự W Q bị dính với 65 Hình 3.12 Giãn nở ký tự captcha để dễ phát vùng liên thông 66 Hình 3.13 Phát thành phần liên thơng 66 Hình 3.14 Một mẫu captcha có ký tự dính liền 66 Hình 3.15 Vùng nhận dạng liên tục nhận ký tự vào ảnh cắt, chưa tốt .66 Hình 3.16 Kết sau dùng thủ thuật cắt đôi vùng nhận ký tự liền 66 Hình 3.17 Ví dụ tập ảnh kí tự cắt xếp theo thư mục .67 Hình 3.18 Chương trình mơ nhận dạng mã Captcha 68 59 7 9 18 99.15 10.40 2.00 7 9 36 99.32 10.53 2.66 5 18 99.26 10.44 1.94 5 18 18 99.28 10.45 2.86 5 18 36 99.35 10.62 2.11 7 18 99.16 10.62 1.97 7 18 18 99.29 10.67 1.94 7 18 36 99.32 10.82 2.19 7 9 99.19 10.55 1.92 7 9 18 99.18 10.56 2.00 7 9 36 99.32 10.58 2.13 7 9 99.29 10.57 2.13 7 9 18 99.22 10.67 1.98 7 9 36 99.34 10.64 2.72 7 18 99.20 10.70 2.01 7 18 18 99.29 10.71 2.77 7 18 36 99.27 10.76 2.08 7 18 99.27 10.73 1.96 7 18 18 99.37 10.86 2.18 7 18 36 99.43 11.07 2.25 Tiếp theo, luận văn tiếp tục huấn luyện đánh giá với cấu trúc mạng ba lớp chập Trong đó, kích thước trường tiếp nhận cục ba lớp chập lựa chọn thay đổi (5x5, 7x7), số lượng đồ đặc trưng lớp ẩn kiểm tra qua ba giá trị (9, 18, 36) Kích thước đệm đặt thành kích thước stride đặt thành Số lượng Epoch 30 (Bảng 3.2) Từ Bảng 3.2, thấy CNN đạt hiệu suất tốt với độ xác dự đốn 99,43% 11,07 phút sử dụng ba lớp chập, lớp có LRF FM C1, 18 FM C2 36 FM C3 60 Sau xác định cấu trúc mạng CNN tối ưu, luận văn tiến hành áp dụng tham số thu sau luyện mạng CNN vào xây dựng chương trình mơ Giao diện chương trình mơ tả Hình 3.5 Chương trình cho phép minh họa kết nhận dạng cách nạp file ảnh dạng MNIST vẽ ký tự viết tay Bảng Icon Edit Pane (28x28) Quá trình hoạt động cho thấy chương trình nhận dạng có độ xác cao Hình 3.6 Giao diện chương trình nhận dạng chữ viết tay Luận văn thực việc đánh giá hoạt động mạng CNN ba lớp chập thu với số phương pháp phân loại ảnh KNN, SVM (được trình bày phần 1.5) mẫu MNIST (60000 mẫu cho luyện mạng 10000 mẫu cho kiểm tra) Các kết đạt phương pháp KNN, MLP, SVM thống kê từ tài liệu [13] Kết cho thấy, mạng CNN với ba lớp chập cho kết tốt so với phương pháp sử dụng mạng lan truyền ngược MLP phươmg pháp sử dụng thuật toán KNN Tuy nhiên, so với mạng CNN đề xuất [13] , kết qủa độ xác luyện mạng có chút [13] , tác giả luyện với 100 epoch Tuy nhiên, độ xác kiểm tra 10000 mẫu lại cho kết tốt thời gian luyện mạng nhanh 61 Bảng 3.3 So sánh kết số phương pháp liệu MNIST Thuật tốn phân loại ảnh Độ xác CNN lớp MLP KNN SVM CNN [13] 97.71 99.71 99.71 99.71 99.43 94.89 96.67 97.91 98.72 99.12 10 15 14 70 11.07 10 20 2.25 chập Độ xác tập mẫu luyện mạng (%) Độ xác tập mẫu kiểm tra ( %) Thời gian luyện mạng (phút) Thời gian kiểm tra (giây) Bài toán giải mã Capcha 3.3.1 Mơ tả tốn Trong thời đại cơng nghệ đa số người dùng sử dụng máy tính quen với việc sử dụng captcha Captcha gặp đâu môi trường internet với mục đích phân biệt máy tính với người để chống lại hình thức spam Captcha có nhiều loại: âm thanh, đánh tích, xếp hình ảnh hình ảnh ký tự bị làm nhiễu [20] CAPTCHA loại kiểm tra dùng để xác minh máy tính nhằm xác định xem người dùng có phải người thực không CAPTCHA dãy 62 ký tự viết tắt chữ Completely Automated Public Turing test to tell Computers and Humans Apart dịch “Phép thử Turing cơng cộng hồn tồn tự động để phân biệt máy tính với người” CAPTCHA trường Đại học Carnegie Mellon cố gắng đăng ký quyền bị bác bỏ CAPTCHA trình máy chủ yêu cầu người dùng hoàn tất kiểm tra đơn giản mà máy tính dễ dàng tạo thân máy tính khơng thể giải Vì vậy, có người dùng đích thức hoàn thành CAPTCHA Một hệ thống captcha dạng kiểm thử tạo tự động thỏa mãn điều kiện sau: - Các máy tính khơng thể giải cách xác - Đa số người giải - Người cơng biết trước kiểu captcha Hình 3.7 Một số mẫu captcha Hình 3.7 (a) mơ tả mẫu captcha chương trình EZ-Gimpy tạo ra, Yahoo sử dụng vào năm 2000 Tuy nhiên, có cơng nghệ nhận dạng tự động loại captcha Captcha Hình 3.7 (b) làm cho nội dung khó nhận cách thêm vào đường gạch ngang bố trí ký tự khơng thẳng hàng Ngày captcha sử dụng phổ biến thành phần quan trọng quy trình bảo mật an ninh an tồn thơng tin Song hành với điều nỗ lưc việc tự động hóa công nhằm vào website như: quảng cáo quy mơ lớn, can thiệp vào hệ thống bình chọn trực tuyến, công từ chối dịch vụ website; Tạo liên kết giả để nâng hạng website máy tìm kiếm; Truy cập thơng tin bí mật lây lan mã độc v.v Từ nhu cầu đánh giá kiểm định nâng cấp độ an toàn loại captcha trước đưa vào sử dụng 63 thực tế cần thiết Phương pháp cụ thể phổ biến nghiên cứu tìm cách cơng giả định vào mẫu captcha, thực nhận dạng captcha tự động máy người để phủ định mục đích mà captcha tạo Nhận dạng tự động captcha chia thành kỹ thuật nhận dạng cứng nhận dạng mềm Nhận dạng cứng phương pháp nhận dạng tự động mang tính kỹ thuật cao Phương pháp tập trung vào điểm yếu trình sinh kiểm tra thông qua giải captcha Các phương pháp sử dụng nhiều cách khác để vượt qua bước kiểm tra captcha, có hai hướng phổ biến công vào máy khách cơng vào máy chủ Hình 3.8 Một số kết công captcha Nhận dạng mềm phương pháp nhận dạng tự động mang tính học thuật cao Với mục đích nghiên cứu xây dựng phương pháp sử dụng kiến thức lĩnh vực trí tuệ nhân tạo cụ thể thị giác máy tính, học máy thống kê để xây dựng công cụ tự động nhận dạng xử lý loại captcha mà không cần quan tâm tới quy trình sinh kiểm tra captcha phương pháp nhận dạng cứng 64 Từ năm 2009 tới nay, việc ứng dụng mơ hình học máy vào nhận dạng tự động captcha ngày phổ biến linh hoạt, số mơ hình kể đến bao gồm SVN, KNN, CNN, v.v Có thể thấy mơ hình CNN sử dụng phổ biến tính ưu việt tiềm phát triển phong phú tốn nhận dạng [10] Hình 3.9 Hai cách tiếp cận để nhận dạng captcha CNN Để nhận dạng tự động captcha CNN có hướng tiếp cận để nhận dạng là: - Tách nhận dạng ký tự ảnh captcha: thường sử dụng với captcha có nhiễu đơn giản, kí tự bị dính liền Thơng qua kỹ thuật tiền xử lý để tách ký tự captcha để nhận dạng - Nhận dạng toàn ký tự ảnh captcha: phương pháp khắc phục điểm yếu phương pháp hiệu với captcha có nhiễu đơn giản Phương pháp nhận dạng tồn ký tự áp dụng với hầu hết loại captcha từ đơn giản đến phức tạp Tuy nhiên phương pháp có điểm yếu định thời gian tính tốn lâu, thực nghiệm tối ưu hóa tiền xử lý mơ hình CNN với kiểu captcha phức tạp Trong luận văn này, học viên lựa chọn nhận dạng mã Captcha cách tách nhận dạng ký tự ảnh Captcha Nếu ký tự mã captcha xử lý đưa kích thước 28x28 giống mẫu MNIST hồn tồn có sở để 65 sử dụng cấu trúc mạng CNN lớp ẩn cho việc luyện mạng Vấn đề quan trọng cần chuẩn bị mẫu liệu đủ lớn 3.3.2 Các bước thực 3.3.2.1 Chuẩn bị liệu Bộ liệu chọn để luyện mạng captcha có kích thước 72×24 chứa kí tự tạo hỗn hợp kí tự bao gồm (Hình 3.10): - Các số từ đến - Các chữ hoa bảng chữ tiếng Anh Hình 3.10 Kiểu liệu captcha dùng toán nhận dạng Các chữ tồn trắng khơng bị nhiễu, kí tự khơng thẳng hàng chữ khơng đứng thẳng có kết nối nhỏ số kí tự với mục đích chống lại phương pháp nhận dạng chữ máy Hình 3.11 Hình 3.11 Kí tự W Q bị dính với Học viên xây dựng tập liệu để huấn luyện chứa 10000 mẫu liệu Và tập kiểm tra chứa 2000 liệu dùng để thị khả nhận dạng kí tự captcha 3.3.2.2 Tiền xử lý liệu Do liệu captcha đơn giản với nhiễu nên cách tiếp cận hợp lý thực tách kí tự hình ảnh sau nhận dạng kí tự trả kết captcha Quá trình thực theo bước sau: 66 Đầu tiên sau đọc xong hình ảnh cần chuyển ảnh sang ảnh nhị phân đen trắng phương pháp OTSU giãn nở ảnh để dễ dàng nhận dạng vùng liên thông Hình 3.12 Hình 3.12 Giãn nở ký tự captcha để dễ phát vùng liên thơng Tiếp tìm thành phần liên thông chứa điểm điểm ảnh màu Hình 3.12 tách thành ảnh riêng biệt để lưu lại làm liệu huấn luyện Hình 3.13 Phát thành phần liên thơng Lúc có số trường hợp xảy số captcha bị làm nhiễu cách có kí tự xếp dính vào ví dụ mẫu captcha hình 3.10 Hình 3.14 Một mẫu captcha có ký tự dính liền Khi xử lý cắt vùng liên thơng có kết nhận ln vùng có ký tự Hình 3.15 : Hình 3.15 Vùng nhận dạng liên tục nhận ký tự vào ảnh cắt, chưa tốt Hình 3.16 Kết sau dùng thủ thuật cắt đôi vùng nhận ký tự liền Để xử lý vấn đề khắc phục cách sau, kí tự bị liền nhận khung,chiều dài chắn tăng lớn chiều cao khung cắt ta cần đặt mức điều kiện chiều dài lớn "1.25× chiều cao" thưc 67 chia đôi khung thành khung để tách kí tự Khi ta có kết nhận đủ khung ký tự ảnh Hình 3.16 Hình 3.17 Ví dụ tập ảnh kí tự cắt xếp theo thư mục Sau tách ký tự khỏi ảnh, ký tự chuẩn hóa kích thước 28x28, sau liệu lưu thành thư mục chứa mẫu cho bước luyện kiểm tra mạng (Hình 3.17) 3.3.2.3 Lựa chọn kiến trúc mạng nơ ron CNN Về bản, thao tác xây dựng mạng CNN cho nhận dạng captcha thực trình bày phần 3.2.2 Mã lệnh tạo cấu trúc mạng CNN cho nhận dạng ký tự tách từ mã Captcha sau: layers = [ imageInputLayer([28 28 1]) convolution2dLayer(lrf1,fm1,'Padding',1) batchNormalizationLayer %C1 reluLayer maxPooling2dLayer(2,'Stride',s) %S2 convolution2dLayer(lrf2,fm2,'Padding',1) %C3 batchNormalizationLayer reluLayer maxPooling2dLayer(2,'Stride',s) %S4 convolution2dLayer(lrf3,fm3,'Padding',1) %C5 batchNormalizationLayer fullyConnectedLayer(36) reluLayer %F6 softmaxLayer classificationLayer]; 3.3.3 Một số kết đạt Khi đưa liệu vào mơ hình CNN đươc xây dựng dựa công cụ Deep Learning Toolbox để huấn luyện kiểm tra Kết thu tốt với hiệu suất nhận dạng toàn captcha ngẫu nhiên tập kiểm tra 68 Sau có tham số mạng CNN từ trình huấn luyện, học viên xây dựng thêm chức mô việc thực nhận dạng mã captcha Việc nhận dạng thực thơng qua việc nạp vào ảnh Capcha nằm 12000 mẫu liệu người dùng tự thêm vào Kết thu 99.38 % với mẫu Captcha thuộc liệu luyện kiểm tra mạng Tuy nhiên, với liệu tỷ lệ xác giảm Điều trình tách ảnh Captcha thành ký tự chưa tốt Hình 3.18 Chương trình mơ nhận dạng mã Captcha Kết luận chương Có thể nói mạng CNN có vai trị quan trọng việc nâng cao chất lượng phân loại ảnh So với công cụ truyền thống trước đây, độ xác phân loại ảnh dùng mạng CNN cải thiện đáng kể Tuy nhiên, kết xác cịn phụ thuộc nhiều vào cơng cụ tiền xử lý ảnh tham số cấu trúc mạng nơ ron CNN Với mục đích thử nghiệm khả ứng dụng mạng CNN vào phân loại ảnh, nội dung chương ba bước xây dựng chương trình nhận dạng chữ viết nhận dạng Captcha Đầu tiên, học viên thực tìm cấu trúc mạng CNN phù hợp cho nhận dạng chữ viết tay mẫu MINST có kích thước 28x28 Theo phương 69 pháp “thử sai” cách thay đổi số lớp chập, số lượng LRF FM học viên tìm cấu trúc mạng CNN ba lớp chập, lớp có x LRF đồ đặc trưng lớp chập đầu tiên, 18 đồ đặc trưng lớp chập thứ 36 đồ đặc trưng lớp chập thứ Kích thước đệm 1, độ dài stride Trên sở xác định cấu trúc mạng CNN phù hợp, ứng dụng nhận dạng Captcha, sau xử lý ảnh tách ký tự, đưa dạng chuẩn 28x28, mạng CNN lớp lại áp dụng để huấn luyện tạo tham số phù hợp cho xây dựng chương trình mơ Kết hoạt động cho thấy tỷ lệ nhận dạng xác 99 % 70 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Phân loại ảnh số lĩnh vực nghiên cứu hấp dẫn áp dụng nhiều toán thực tế Đây toán phức tạp giải ta biết ứng dụng thành tựu nghiên cứu lĩnh vực xử lý ảnh số, trí tuệ nhân tạo…Trong đó, việc ứng dụng thành Deep learning mà đặc biệt mạng CNN cho ta kết thực ấn tượng Sau thời gian tìm hiểu nghiên cứu, luận văn trình bày vấn đề sau: - Nghiên cứu lý thuyết chung xử lý ảnh số, tập trung phân tích toán phân loại ảnh số, làm rõ bước phân loại ảnh số - Nghiên cứu lý thuyết mạng CNN, cập nhật ứng dụng mạng CNN lĩnh vực phân loại ảnh số - Xây dựng chương trình minh họa ứng dụng mạng CNN cho hai toán phân loại ảnh tiêu biểu (nhận dạng chữ viết tay giải mã capcha) Trong trình thử nghiệm chương trình, kết phân loại ảnh số tương đối tốt (chính xác đến 99%) Tuy nhiên, toán giám sát dừng lại phạm vi nghiên cứu đề tài phân lớp từ liệu có sẵn cộng đồng quốc tế công nhận Việc lựa chọn cấu trúc mạng CNN dựa phương pháp “thử sai” Vì vậy, theo quan điểm học viên, đề tài cịn có số hướng phát triển sau: - Nghiên cứu phương pháp tối ưu nhằm xác định cấu trúc, tham số mạng CNN cho ứng dụng cụ thể thay phương pháp thử sai - Áp dụng kiến thức xử lý ảnh nhằm phát triển hai toán phân loại ảnh luận văn với liệu đầu vào ảnh thực tế (chữ viết tay scan, capcha ảnh chụp từ giao diện trang web có độ khó cao hơn) Do giới hạn thời gian nghiên cứu kiến thức thân, luận văn khó tránh khỏi số sai sót định Học viên mong nhận đóng góp ý kiến thầy cô, bạn đọc quan tâm để luận văn hoàn thiện 71 Một lần học viên xin cảm ơn Thầy giáo TS Nguyễn Đình Dũng tận tình giúp đỡ, hướng dẫn thời gian thực đề tài, cảm ơn giúp đỡ gia đình, bạn bè đồng nghiệp thời gian qua 72 TÀI LIỆU THAM KHẢO I Tài liệu tiếng Việt [1] Trần Hoài Linh (2015), Giáo trình mạng neuron ứng dụng xử lý tín hiệu số, Nhà XB Bách Khoa [2] Lương Mạnh Bá, Nguyễn Thanh Thủy (2009), Nhập môn xử lý ảnh số, Nhà xuất Khoa học Kỹ thuật [3] Nguyễn Văn Danh, Phạm Thế Bảo (2019), Nhận dạng mặt người học máy chuyên sâu, Tạp chí giáo dục nghề nghiệp, Vol 65 No ISSN 2354 (2019) [4] Nguyễn Đắc Thành (2017), Nhận dạng phân loại hoa ảnh màu, Luận văn thạc sĩ kỹ thuật phần mềm, Trường ĐH Công nghệ, ĐH Quốc gia Hà nội [5] Lê Thị Thu Hằng (2016), Nghiên cứu mạng neural tích chập ứng dụng cho tốn nhận dạng biển số xe, Luận văn thạc sĩ công nghệ thông tin, Trường ĐH Công nghệ, ĐH Quốc gia Hà nội [6] Huỳnh Văn Nhứt (2018), Nhận dạng chữ số viết tay sử dụng kỹ thuật học sâu, Luận văn thạc sĩ khoa học máy tính, Trường ĐH Bách Khoa, ĐH Đà Nẵng [7] Đoàn Hồng Quang, Lê Hồng Minh, Thái Dỗn Ngun (2020), Nhận dạng khn mặt video mạng nơron tích chập, Tạp chí Khoa học Công nghệ Việt Nam, Số năm 2020, pp.8-12 II Tài liệu tiếng Anh [8] N Aloysius and M Geetha (2017), A review on deep convolutional neural networks, International Conference on Communication and Signal Processing (ICCSP), Chennai, pp 0588-0592 [9] C T S E M Jyh Shing Roger Jang (2002), Neuro fuzzy and Soft Computing, Prientice Hall International, Inc [10] Chen, J., Luo, X., Guo, Y., Zhang, Y., Gong, D (2017), A Survey on Breaking Technique of Text-Based CAPTCHA, Hindawi 73 [11] Sharma, Neha & Jain, Vibhor & Mishra, Anju (2018) An Analysis Of Convolutional Neural Networks For Image Classification Procedia Computer Science 132 10.1016/j.procs.2018.05.198 pp 377-384 [12] Alsaffar, Ahmed & Tao, Hai & Talab, Mohammed (2017) Review of deep convolution neural network in image classification 26-31 10.1109/ICRAMET.2017.8253139 [13] Narender Kumar, Himanshu Beniwal (2018), Survey on Handwritten Digit Recognition using Machine Learning, International Journal of Computer Sciences and Engineering, Vol-6, Special Issue-5, June 2018, pp 96-100 Các trang Web [14] https://nttuan8.com/bai-3-neural-network/ [15] http://en.wikipedia.org/wiki/Image_processing [16] https://nhdp.net/blog/2018/11/tong-quan-don-gian-ve-mang-no-ron-tich-chapconvolutional-neural-networks/ [17] https://en.wikipedia.org/wiki/Convolutional_neural_network [18] MNIST, http://yann.lecun.com/exdb/mnist/ [19] http://udl.stanford.edu/wiki/resources/mnistHelper.zip [20] https://www.kaggle.com/fournierp/captcha-version-2-images