1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng mạng nơron xoắn cho việc nhận dạng ảnh (tt)

63 13 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 63
Dung lượng 2,45 MB

Nội dung

HỌC VIỆN CƠNG NGHỆ BƢU CHÍNH VIỄN THƠNG - HOÀNG VĂN HOÃN ỨNG DỤNG MẠNG NƠRON XOẮN CHO VIỆC NHẬN DẠNG ẢNH LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) HÀ NỘI – 2017 HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THƠNG - HỒNG VĂN HỖN ỨNG DỤNG MẠNG NƠRON XOẮN CHO VIỆC NHẬN DẠNG ẢNH Chuyên ngành: Khoa học máy tính Mã số: 60.48.01.01 LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) NGƢỜI HƢỚNG DẪN KHOA HỌC: TS NGUYỄN THỊ THU PHƢƠNG HÀ NỘI - 2017 i LỜI CAM ĐOAN Tôi cam đoan cơng trình nghiên cứu riêng tơi Các số liệu, kết nêu luận văn trung thực chƣa đƣợc công bố công trình khác Tác giả luận văn Hồng Văn Hỗn ii MỤC LỤC LỜI CAM ĐOAN i MỤC LỤC ii DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT v DANH MỤC CÁC BẢNG vi DANH MỤC CÁC HÌNH vii MỞ ĐẦU .1 Chƣơng – TÌM HIỂU VỀ DEEP LEARNING 1.1 Mạng nơron nhân tạo 1.1.1 Giới thiệu 1.1.2 Kiến trúc mạng 1.1.3 Huấn luyện mạng 1.1.4 Giải thuật Back – Propagation 1.1.5 Giảm lỗi cho mạng 10 1.1.5.1 Underfitting .11 1.1.5.2 Overfitting 12 1.2 Deep learning 12 1.2.1 Giới thiệu deep learning .13 1.2.2 Một số thuật toán deep learning .13 1.2.2.1 Recurrent Neural Network (RNN - Mạng nơron tái phát) 13 1.2.2.2 Long short-term memory (LSTM) 14 1.2.2.3 Convolution neural network (CNN) 15 1.2.3 Một số ứng dụng deep learning 16 1.2.3.1 Hệ thống gợi ý tảng .16 1.2.3.2 Nhận diện hình ảnh 16 1.2.3.3 Phát loại bệnh gặp 17 1.2.3.4 Quảng cáo (Advertising) 17 1.2.4 Mặt hạn chế deep learning 18 1.3 Kết luận chƣơng 19 iii Chƣơng - MƠ HÌNH CONVOLUTIONAL NEURAL NETWORK – CNN 20 2.1 Giới thiệu mạng CNN 20 2.2 Mơ hình kiến trúc mạng CNN 21 2.2.1 Lớp Convolutional 21 2.2.2 Lớp RELU – Rectified linear unit 22 2.2.3 Lớp Pooling 22 2.2.4 Lớp Lớp FC – fully connected 23 2.3 Các vấn đề mạng CNN 24 2.3.1 Kết nối cục 24 2.3.2 Trọng số 24 2.4 Mơ hình nhiều lớp 25 2.5 Huấn luyện mơ hình 27 2.6 Bộ lọc đặt tính (Filters And Feature Map) 29 2.7 Ứng dụng mạng CNN .30 2.8 Kết luận chƣơng .30 Chƣơng - ỨNG DỤNG MẠNG CNN CHO VIỆC NHẬN DẠNG ẢNH TRÊN MOBILE 31 3.1 Tổng quan nhận dạng ảnh 31 3.1.1 Giới thiệu toán nhận dạng ảnh 31 3.1.2 Một số khái niệm xử lý ảnh 31 3.1.3 Một số vấn đề xử lý ảnh 32 3.1.3.1 Nắn chỉnh biên ảnh 32 3.1.3.2 Khử nhiễu 32 3.1.3.3 Chỉnh mức xám 33 3.1.3.4 Trích chọn đặc điểm 33 3.1.3.5 Nhận dạng 33 3.1.4 Quá trình nhận dạng ảnh 34 3.1.4.1 Thu thập liệu (Data Collection) 34 3.1.4.2 Tiền xử lý (Preeprocessing) .34 iv Phân đoạn ảnh (Segmentation) 34 3.1.4 Tiêu chu n h a (Normalization) 34 Trích chọn đặc trƣng (Feature Extraction) 35 Phân lớp (Classification) 35 Hậu xử l (Postprocessing) 35 Các bƣớc thực phân lớp 36 3.2 Xây dựng chƣơng trình nhận dạng ảnh Mobile 37 3.2.1 Bài toán nhận dạng ảnh Mobile 37 3.2.2 Các bƣớc thực toán 37 3.2.2.1 Thu thập liệu 38 3.2.2.2 Tiền xử lý liệu 39 3.2.2.3 Xây dựng mơ hình phân lớp theo CNN 40 Demo chƣơng trình nhận dạng ảnh mobile 44 3.4.1 Quá trình thực nhận dạng ảnh mobile .44 Demo chƣơng trình 46 3.3 Kết luận chƣơng .50 KẾT LUẬN .51 DANH MỤC CÁC TÀI LIỆU THAM KHẢO 52 v DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT Từ viết tắt Nghĩa tiếng anh Nghĩa tiếng việt MSE Mean squared error sai số tồn phƣơng trung bình ANN Artificial Neural Network Mạng nơron nhân tạo CNN Convolutional Neural Network Mạng nơron xoắn ML Machine Learning Học máy AI Artificial intelligence Trí tuệ nhân tạo RRN Recurrent Neural Network Mạng nơron tái phát NLP Natural Language Processing Xử lý ngôn ngữ tự nhiên FC Fully Connected Lớp kết nối đầy đủ Conv Convolution Xoắn vi DANH MỤC CÁC BẢNG Bảng 1.1: Một số hàm truyền thông dụng Bảng 3.1: Số lƣợng ảnh hoa thu thập đƣợc .39 Bảng 3.2: Số lƣợng tập liệu huấn luyện tập liệu kiểm tra 39 Bảng 3.3: Quá trình huấn luyện mạng 42 Bảng 4: Độ xác mơ hình theo tensorboard 43 Bảng 3.5: Giá trị hàm loss function theo tensorboard .43 vii DANH MỤC CÁC HÌNH Hình 1.1: Mơ hình mạng nơron nhân tạo Hình 1.2: Ảnh tế bào Nơron nhân tạo Hình 1.3: Mạng nơron truyền thẳng Hình 1.4: Quá trình học Supervised ANN Hình 1.5: Quá trình học mạng nơron Hình 1.6: Mơ hình tính toán nơron Hình 1.7: Giảm lỗi cho mạng [9] 11 Hình 1.8: Underfiting [9] 11 Hình 1.9: Overfitting [9] 12 Hình 1.10: Mạng nơron tái phát [10] 14 Hình 1.11: Mạng nơron LSTM [11] 15 Hình 1.12: Mơ hình CNN [12] 15 Hình 1.13: Hệ thống gợi ý tảng 16 Hình 1.14: Phát bệnh gặp 17 Hình 1.15: Quảng cáo trực tuyến 18 Hình 2.1: Convolution với filter [12] .22 Hình 2.2: Tính toán với phƣơng pháp MaxPooling [12] 23 Hình 2.3: Kết nối cục [12] 24 Hình 2.4: Trọng số [12] 25 Hình 2.5: Ví dụ ảnh CIFAR-10 [12] .26 Hình 2.6: Kết sau covolution ảnh 32x32 với filter 3x3 [12] .26 Hình 7: Tác động trọng số đến loss function [14] 28 Hình 8: Bƣớc học (learning rate) [14] 29 Hình 2.9: Bộ lọc đặt tính [14] 29 Hình 3.1: Quá trình nhận dạng ảnh 34 Hình 3.2: Xây dựng mơ hình 36 Hình 3: Giai đoạn phân lớp 36 Hình 4: Sơ đồ nhận dạng ảnh mobile [15] .37 viii Hình 5: Sơ đồ thực toán nhận dạng ảnh 38 Hình 3.6: Q trình trích xuất Bottleneck 40 Hình 3.7: Mơ hình Inception .41 Hình 3.8: Huấn luyện mạng với tensorflow ubuntu 42 Hình 3.9: Quá trình thực nhận dạng ảnh mobile 44 Hình 3.9: Lấy ảnh từ camera .44 Hình 3.10: Lấy ảnh hình vng camera .45 Hình 11: Thay đổi kích thƣớc ảnh 45 Hình 3.12: Ma trận đầu vào hình ảnh 46 Hình 13: Demo chƣơng trình Android 46 Hình 3.14: Nhận dạng ảnh hoa bồ công anh .47 Hình 3.15: Nhận dạng ảnh hoa hồng .47 Hình 3.16: Nhận dạng ảnh hoa cúc dại .48 Hình 3.17: Nhận dạng ảnh hoa tulips 48 Hình 3.18: Nhận dạng ảnh hoa sen 49 Hình 3.19: Nhận dạng ảnh hoa hƣớng dƣơng 49 39 Bảng 3.1: Số lƣợng ảnh hoa thu thập đƣợc Stt Số lƣợng Tên hoa Hoa sen (Lotus) 238 Hoa cúc dại (Daisy) 633 Hoa Bồ công anh (Dandelion) 898 Hoa hồng (Rose) 641 Hoa hƣớng dƣơng (Sunflowers) 699 Hoa tulips (Tulips) 799 3.2.2.2 Tiền xử lý liệu Tác giả lựa chọn hình ảnh c đặc trƣng loại hoa kể trên, từ Internet liên quan đến nhãn hoa (Hoa sen - Lotus, Hoa cúc dại - Daisy, Hoa Bồ công anh - Dandelion, Hoa hồng - Roses, Hoa hƣớng dƣơng - Sunflowers, Hoa tulips - Tulips), sau đ gán nhãn cho loại hoa Cơng việc gán nhãn thực hồn tồn thủ cơng Tập liệu cho q trình huấn luyện kiểm tra gồm tổng cộng 3908 ảnh đ 2607 ảnh đƣợc đƣa vào tập liệu huấn luyện (Training set) lại 1301 ảnh đƣợc đƣa vào tập triểm tra (Tets set) Bảng 3.2: Số lƣợng tập liệu huấn luyện tập liệu kiểm tra Stt Nhãn Tập huấn luyện Tập kiểm tra Lotus 159 79 Daisy 422 211 Dandelion 599 289 Roses 428 231 Sunflowers 466 233 Tulips 533 266 40 3.2.2.3 Xây dựng mơ hình phân lớp theo CNN Trong phạm vi luận văn, tác giả sử dụng phƣơng pháp học chuyển tiếp (Transfer Learning - trình cải tiến việc học cho nhiệm vụ thông qua việc chuyển giao kiến thức từ nhiệm vụ liên quan đƣợc học) để xây dựng mơ hình cho tốn, điều đặc biệt việc học chuyển tiếp lớp học cũ bị loại bỏ mà thay vào đ lớp đƣợc huấn luyện Nhƣ ta biết cấu trúc chung CNN để phân loại hình ảnh có hai phần chính: + Một chuỗi lớp xoắn + Một vài (hoặc chí một) lớp mạng nơ-ron kết nối đầy đủ Chuỗi lớp xoắn đối tƣợng học tập mạng, tính học nhƣ liệu đầu vào đƣợc chuyển tới lớp kết nối đầy đủ để phân loại Tính đƣa vào lớp phân loại cuối đƣợc gọi tính nút cổ chai (Bottleneck - thuật ngữ khơng thức sử dụng cho lớp trƣớc lớp đầu cuối thực phân loại Lớp cuối đƣợc đào tạo để đƣa giá trị đủ tốt để phân loại sử dụng để phân biệt tất lớp mà đƣợc u cầu nhận ra) Hình 3.6: Q trình trích xuất Bottleneck 41 Chúng ta trích xuất tính nút cổ chai từ hình ảnh cách sử dụng mơ hình học sâu đƣợc đào tạo trƣớc đ Inception-v3 N đƣợc phát triển Google đƣợc đào tạo cho thi ImageNet (ImageNet liệu chứa 14 triệu hình ảnh với 000 lớp học) cách sử dụng liệu từ năm 2012 Tác giả chọn mơ hình hiệu suất phân loại cao dễ cài đặt Hình 3.7: Mơ hình Inception Việc tính tất giá trị nút cổ chai bƣớc q trình học mơ hình, cơng việc chiếm phần lớn thời gian suốt trình học (khoảng 45 phút máy xách tay Dell Inspiron 3558 core i5, 4G Ram, 2G Card đồ họa rời NVIDIA® GeForce® 820M) Q trình học mơ hình đƣợc cài đặt thiết lập chạy tính tốn sử lí song song card đồ họa GPU 42 Hình 3.8: Huấn luyện mạng với tensorflow ubuntu Khi tính tốn nút cổ chai hoàn thành, việc học bắt đầu Việc học chạy 000 bƣớc, bƣớc chọn mƣời hình ảnh cách ngẫu nhiên từ tập liệu huấn luyện từ đ đƣa dự đoán Những dự đoán sau đ đƣợc so sánh với nhãn thực tế để cập nhật trọng số lớp cuối thơng qua q trình truyền ngƣợc Bảng 3.3 bảng 3.4 cho thấy trình tiếp tục, số bƣớc thực tăng, độ xác đƣợc cải thiện Bảng 3.3: Quá trình huấn luyện mạng Stt Số bƣớc Độ xác 1000 65,0% 2000 79,0% 5000 84,0% 6000 80,0% 3950 98,0% 3980 99,0% 3999 97,0% Độ xác trung bình 89,2% 43 Bảng 3.4: Độ xác mơ hình theo tensorboard Bảng 3.5: Giá trị hàm loss function theo tensorboard Sau tất bƣớc đƣợc thực việc đánh giá mơ hình đƣợc chạy tập liệu kiểm tra Đánh giá thử nghiệm ƣớc tính tốt mơ hình đƣợc đào tạo thực nhƣ nhiệm vụ phân loại 44 3.4 Demo chƣơng trình nhận dạng ảnh mobile 3.4.1 Quá trình thực nhận dạng ảnh mobile Hình 3.9: Quá trình thực nhận dạng ảnh mobile Một ảnh đầu vào đƣợc chuyển trực tiếp đến tensorflow tiến hành nhận dạng mà đƣợc thực thông qua bƣớc sau: + Bƣớc 1: Khởi động ứng dụng + Bƣớc 2: Xử lý ảnh thu đƣợc qua camera từ thiết bị - Lấy hình ảnh từ camera thiết bị Hình 3.9: Lấy ảnh từ camera 45 - Thực lấy ảnh hình vng thiết bị Hình 3.10: Lấy ảnh hình vng camera - Thay đổi kích thƣớc ảnh thành 224x224px Hình 3.11: Thay đổi kích thƣớc ảnh - Tạo tensor đầu vào từ giá trị RGB (Tensor mảng n chiều giá trị đầu vào, tạo mảng chiều với giá trị: cho màu đỏ - Red, cho màu xanh - Green, cho màu xanh - Blue điểm ảnh hình) 46 Hình 3.12: Ma trận đầu vào hình ảnh + Bƣớc 3: Trả lại kết phân loại hình ảnh mà thiết bị nhận đƣợc, với điểm phân loại độ tin cậy cho hình ảnh 3.4.2 Demo chương trình Tác giả cài đặt thử nghiệm chƣơng trình điện thoại Samsung Galaxy E5 với hệ điều hành Android 5.1 (Lollipop) Hình 3.13: Demo chƣơng trình Android 5.1 47 Hình 3.14: Nhận dạng ảnh hoa bồ cơng anh Hình 3.15: Nhận dạng ảnh hoa hồng 48 Hình 3.16: Nhận dạng ảnh hoa cúc dại Hình 3.17: Nhận dạng ảnh hoa tulips 49 Hình 3.18: Nhận dạng ảnh hoa sen Hình 3.19: Nhận dạng ảnh hoa hƣớng dƣơng 50 3.3 Kết luận chƣơng Trong chƣơng này, Tác giả khảo sát khía cạnh tốn phân loại ảnh dựa liệu ảnh thu thập đƣợc Trên sở liệu thu thập đƣợc loại hoa, tác giả tiến hành thực nghiệm với việc sử dụng mơ hình CNN cho việc nhận dạng ảnh mobile Kết thực nghiệm thu đƣợc cho thấy phù hợp với lý thuyết nghiên cứu 51 KẾT LUẬN Những đóng góp luận văn Qua nghiên cứu thực nghiệm, luận văn đạt đƣợc kết nhƣ sau: + Nghiên cứu tổng quan mạng nơron nhân tạo, deep learning số ứng dụng deep learning + Nghiên cứu chi tiết mơ hình học sâu tiêu biểu đ thuật tốn CNN + Ứng dụng thuật tốn tìm hiểu để giải tốn phân lớp thơng qua mơ hình huấn luyện CNN + Đã thu thập đƣợc liệu 3908 ảnh 06 loại hoa + Đã tiến hành cài đặt thử nghiệm mơ hình CNN mobile Bƣớc đầu cho thấy hiệu CNN việc nhận dạng ảnh đạt đƣợc kết tƣơng đối khả quan Hƣớng phát triển luận văn Việc cải tiến mơ hình CNN ứng dụng mơ hình vào thực tế đƣợc nhà nghiên cứu quan tâm xây dựng Luận văn đạt đƣợc số kết nêu trên, nhƣng luận văn nhiều hạn chế điều kiện mặt thời gian phạm vi nghiên cứu đề tài Vì vậy, hƣớng nghiên cứu học viên là: + Nghiên cứu thêm mơ hình CNN để tăng độ xác cho việc nhận dạng ảnh mobile từ đ ứng dụng thực tế + Có thể phát triển ứng dụng liệu đầy đủ chi tiết nhiều lĩnh vực - Phát triển ứng dụng để hỗ trợ việc nhận dạng ảnh cho trẻ em, ngƣời khuyết, số điểm công cộng nhƣ: Sân bay, nhà ga,… 52 DANH MỤC CÁC TÀI LIỆU THAM KHẢO Tiếng Việt: [1] Giáo trình Mạng neural, Tác giả: Phan Văn Hiền – Trƣờng Đại học Bách khoa Đà Nẵng, 2013 Tiếng Anh: [1] J R Quinlan C4.5: Programs for Machine Learning Morgan Kaufmann, 1993 [2] B D Ripley Pattern recognition and neural networks Cambridge university prees, 1996 [3] A Krizhevsky, I Sutskever, and G E Hinton, “Imagenet classification with deep convolutional neural networks,” in Advances in Neural Infor-mation Processing Systems 25, 2012, pp 1097–1105 [4] C Farabet, C Couprie, L Najman, and Y LeCun, “Learning hierarchical features for scene labeling,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol 35, pp 1915–1929, 2013 [5] G Mont´ufar, R Pascanu, K Cho, and Y Bengio On the number of linear regions of deep neural networks In NIPS, 2014 [6] Y LeCun, Y Bengio, and G Hinton, “Deep learning,” Nature, vol 521, pp 436–444, 2015 [7] https://www.tensorflow.org [8] https://id.scribd.com/document/328329099/Tổng-Quan-Về-Mạng-Neuron, truy nhập ngày 17/4/2017 [9] http://machinelearningcoban.com/2017/03/04/overfitting/, truy nhập ngày 19/4/2017 [10] https://ongxuanhong.wordpress.com/2015/11/24/recurrent-neural-networks-lagi/, truy nhập ngày 20/4/2017 [11] Ông Xuân Hồng (Tháng năm 2016) Long short-term memory (LSTM) https://ongxuanhong.wordpress.com/2016/09/16/long-short-term-memory-lstm/ truy nhập ngày 20/4/2017 [12] http://nhiethuyettre.me/mang-no-ron-tich-chap-convolutional-neural-network/, truy nhập ngày 22/4/2017 53 [13] Lƣơng Quốc An (Tháng 10 năm 2016) Mạng nơr-ron nhân tạo truyền thẳng – Feedforward neural network, http://nhiethuyettre.me/mang-no-ron-nhan-taotruyen-thang-feedforward-neural-network/ [14] Adit Deshpande (July 20, 2016) A Beginner's Guide To Understanding Convolutional Neural Networks, https://adeshpande3.github.io/A-Beginner'sGuide-To-Understanding-Convolutional-Neural-Networks/ [15] https://jalammar.github.io/Supercharging-android-apps-using-tensorflow/, truy nhập ngày 25/4/2017 ... giả ứng dụng mơ hình CNN cho việc nhận dạng ảnh mobile đƣợc trình bày chƣơng 31 Chƣơng - ỨNG DỤNG MẠNG CNN CHO VIỆC NHẬN DẠNG ẢNH TRÊN MOBILE Chương giới thiệu tổng quan toán nhận dạng ảnh, việc. .. luyện mạng (traning) CNN tự động học giá trị qua lớp fliter dựa vào cách thức mà thực 2.7 Ứng dụng mạng CNN Mạng nơron xoắn đƣợc áp dụng nhiều toán nhận dạng nhƣ nhận dạng vật thể ảnh, nhận dạng. .. 3: Ứng dụng mạng CNN cho việc nhận dạng ảnh mobile Trong đ , luận văn tập chung vào chƣơng chƣơng nhằm nghiên cứu ứng dụng mơ hình CNN cho việc giải số toán thực tế mà cụ thể toán nhận dạng ảnh

Ngày đăng: 19/03/2021, 18:05

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[3] A Krizhevsky, I Sutskever, and G E Hinton, “Imagenet classification with deep convolutional neural networks,” in Advances in Neural Infor-mation Processing Systems 25, 2012, pp. 1097–1105 Sách, tạp chí
Tiêu đề: Imagenet classification with deep convolutional neural networks
[4] C Farabet, C Couprie, L Najman, and Y LeCun, “Learning hierarchical features for scene labeling,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 35, pp. 1915–1929, 2013 Sách, tạp chí
Tiêu đề: Learning hierarchical features for scene labeling
[6]. Y. LeCun, Y Bengio, and G Hinton, “Deep learning,” Nature, vol 521, pp 436–444, 2015 Sách, tạp chí
Tiêu đề: Deep learning
[11]. Ông Xuân Hồng (Tháng 9 năm 2016) Long short-term memory (LSTM) https://ongxuanhong.wordpress.com/2016/09/16/long-short-term-memory-lstm/truy nhập ngày 20/4/2017 Sách, tạp chí
Tiêu đề: Long short-term memory (LSTM)
[13] Lương Quốc An (Tháng 10 năm 2016). Mạng nơr-ron nhân tạo truyền thẳng – Feedforward neural network, http://nhiethuyettre.me/mang-no-ron-nhan-tao-truyen-thang-feedforward-neural-network/ Sách, tạp chí
Tiêu đề: Mạng nơr-ron nhân tạo truyền thẳng – Feedforward neural network
[14]. Adit Deshpande (July 20, 2016). A Beginner's Guide To Understanding Convolutional Neural Networks, https://adeshpande3.github.io/A-Beginner's-Guide-To-Understanding-Convolutional-Neural-Networks/ Sách, tạp chí
Tiêu đề: A Beginner's Guide To Understanding Convolutional Neural Networks
[1]. Giáo trình Mạng neural, Tác giả: Phan Văn Hiền – Trường Đại học Bách khoa Đà Nẵng, 2013.Tiếng Anh Khác
[1]. J. R. Quinlan. C4.5: Programs for Machine Learning. Morgan Kaufmann, 1993 Khác
[2]. B. D. Ripley. Pattern recognition and neural networks. Cambridge university prees, 1996 Khác
[5]. G. Mont´ufar, R. Pascanu, K. Cho, and Y. Bengio. On the number of linear regions of deep neural networks. In NIPS, 2014 Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w