MẪU ĐỒ ÁN KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VIỆT HÀN ĐỒ ÁN CƠ SỞ 4 ĐỀ TÀI PHẦN MỀM NHẬN DẠNG TRÁI CÂY DỰA TRÊN NỀN TẢNG DEEP LEARNING LỜI CẢM ƠN NHẬN XÉT (Của cơ[.]
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VIỆT - HÀN ĐỒ ÁN CƠ SỞ ĐỀ TÀI: PHẦN MỀM NHẬN DẠNG TRÁI CÂY DỰA TRÊN NỀN TẢNG DEEP LEARNING LỜI CẢM ƠN Là sinh viên năm Trường Đại Học Công Nghệ Thông Tin Truyền Thông Việt – Hàn Chúng em ý thức việc phát triển thân, kỹ điều thiết yếu trình làm đồ án Tiếp thu hồn thiện kỹ cịn thiếu q trình học tập trường Để tạo sản phẩm bóa cáo hồn thiện mơn đồ án NHẬN XÉT tập,ơn Nhóm đồ án chúng(Của em xinquan gửi thực lời cảm đếncó)thầy Nguyễn Hà Huy Cường – giảng viên hướng dẫnBold, đồ án cơ16, sở xếp đãsau trang bị Lời chocảm em kiến thức, kỹ size trang ơn cần có để hồn thành đề tài Tuy nhiên trình nghiêm cứu đề tài, kiến thức chun ngành cịn hạn chế nên nhóm chúng em cịn nhiều thiếu sót tìm hiểu, đánh giá trình size 13……………………………… bày đề tài Rất mong nhận quan góp ý thầy/cô môn để tài ……………………………………………………………………………………… em đầy đủ hoàn chỉnh ……………………………………………………………………………………… Xin chân thành cảm ơn! ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… MỤC LỤC Trang Phần I Mở đầu Phần II Tổng quan Mục đích Phương pháp 1 Nội dung Chương Nghiên cứu tổng quan Các phương pháp 1.1 Bài toán nhận dạng mẫu 1.2 Tổng quan kiến trúc hệ thống nhận dạng mẫu 1.3 Hạn chế tồn tốn nhận dạng 1.4 Cơng nghệ thực 1.4.1 Giới thiệu ngơn ngữ lập trình Python 1.4.2 Giới thiệu thư viện OpenCV 1.4.3 Giới thiệu thư viện Tensorflow 1.4.4 Mơi trường lập trình Visual Studio Code Chương Tổng quan Nhận Dạng Trái Cây Hệ thống phát đối tượng 2.1 Định nghĩa 2.1.1 Một số phương pháp xác định khuôn mặt người 2.1.2 Phương pháp áp dụng đồ án 2.2 Tổng quan kỹ thuật phát 2.2.1 Kỹ thuật phát Haar Cascade Classifier 2.2.1.1 Tổng quan Adaboost 2.2.1.2 Tiếp cận Boosting 2.2.2.3 Adaboost 2.2.2.4 Các đặc trưng Haar-Like 2.2.2.5 Cascade of Classifiers 2.2.2.6 Cascade of boosting classifiers: 2.3 Kỹ thuật huấn luyện ảnh 2.3.1 Deep Learning 2.3.2 Convolutional neural networks (CNN) 2.3.3 Convolutional layers 2.3.4 Pooling layers 2.3.5 Fully connected layers 2.3.6 Loss layers 2.3.7 Recurrent neural network 2.3.8 Deep belief network 2.4 Thư viện Tensorflow 2.4.1 Mơ hình mạng neural huấn luyện 2.5 Tập liệu hình ảnh trái tiền đề 2 2 4 8 8 10 10 10 10 10 12 13 14 15 15 16 16 17 18 18 19 19 20 21 22 Chương Phân tích triển khai xây dựng Phân tích thiết kế hệ thống 3.1 Phân tích 3.2 Phân tích thiết kế 3.3 Triển khai cài đặt, mô hệ thống 3.3.1 Triển khai cài đặt 3.3.1.1 Cài đặt môi trường Python 3.3.1.2 Cài đặt thư viện phụ thuộc cần thiết 3.3.2 Triển khai hệ thống 3.3.3 Demo hệ thống 3.3.4 Kết hệ thống Phần III Kết luận DANH MỤC TÀI LIỆU THAM KHẢO 25 25 25 26 27 27 27 28 30 30 34 37 38 DANH MỤC HÌNH Trang Hình 1: Các bước xử lý tốn nhận dạng Hình 2: Ngơn ngữ lập trình Python Hình 3: Thư viện OpenCV .5 Hình 4: Thư viện Tensorflow Hình 5: Mơi trường lập trình Visual Studio Code Hình 6: Phát vật thể .8 Hình Đặt trưng Haar-like .12 Hình Cách tính Integral Image ảnh 13 Hình Cascade of classifiers 14 Hình 10 Cascade of boosting classifiers .14 Hình 11: Mơ hình CNN - Deep Learning .15 Hình 12 Lớp convolutional neural networks 16 Hình 13: Lớp Convolutional layers .16 Hình 14: Lớp Pooling layers .17 Hình 15: Lớp fully connected layers 18 Hình 16 Lớp loss layers 18 Hình 17 Lớp recurrent netral network .19 Hình 18: Lớp Deep belief network .19 Hình 19 Mơ hình CNN sử dụng thư viện Tensorflow 20 Hình 20 Cấu trúc mạng neural mơ hình mơ 21 Hình 21 Sơ đồ ngữ cảnh hệ thống .25 Hình 22 Huấn luyện mơ hình CNN sử dụng tập liệu trái 25 Hình 23 Sơ đồ hệ thống phát trái lưu vào tập liệu .26 Hình 24 Sơ đồ hệ thống huấn luyện mơ hình 26 Hình 25 Sơ đồ hệ thống nhận dạng trái .26 Hình 26 Sơ đồ tổng thể hệ thống nhận dạng trái 27 Hình 27 Tải cài đặt mơi trường Python 27 Hình 28 Tạo mơi trường Python Pycharm 28 Hình 29 Kiểm tra OpenCV có hỗ trợ Python 28 Hình 30 Kiểm tra trình import thư viện 28 Hình 31 Cài đặt thư viện Numpy 29 Hình 32 Cài đặt thư viện Pillow 29 Hình 33 Cài đặt framwork Flask 29 Hình 34 Cài đặt thư viện Tensorflow 29 Hình 35 Sơ đồ thư mục đồ án 30 Hình 36 Tập liệu 131 loại trái thu thập đồ án .30 Hình 37 Hình ảnh loại trái cụ thể tập liệu 30 Hình 38 Hàm tạo biểu đồ đánh giá trình huấn luyện .31 Hình 39 Hàm chuyển đổi màu RGB sang HSV xám 31 Hình 40 Hàm thay đổi màu sắc độ bão hòa theo điều kiện ánh sáng 31 Hình 41 Lớp network xây dựng mơ hình từ hình ảnh 32 Hình 42 Hàm train_and_evaluate_model 33 Hình 43 Hàm đưa tới đường dẫn trang website 33 Hình 44 Thực việc lưu hình ảnh từ website gửi 33 Hình 45 Thực cơng việc so sánh gửi trả kết website 34 Hình 46 Quá trình huấn luyện tập liệu 34 Hình 47 Kết thúc vòng lặp huấn luyện 35 Hình 48 Mơ hình độ xác (trái) mơ hình độ hao hụt q trình huấn luyện 35 Hình 49 Trang website hệ thống nhận dạng 35 Hình 50 Dưa Lê với độ xác 99,999905% .36 Hình 51 Trái Thơm với độ xác 100% 36 Hình 52 Quả Dưa Hấu với độ xác 100% 36 Hình 53 Trái Cà Chua với độ xác 100% 36 DANH MỤC CỤM TỪ VIẾT TẮT STT 10 11 12 13 14 Cụm từ Cơ Sở Dữ Liệu Công nghệ thông tin Machine Learning Deap Learning Computer Vision Convolutional neural network Local Binary Patterns Haar Local Binary Patterns Histogram Viết tắt CSDL CNTT ML DL CV CNN FR SVM LBP Haar LBPH Linear Discriminant Analysis Rectified Linear Units Recurrent neural network LDA ReLU RNN Face Recognition Support Vector Machine Phần I Mở đầu Tổng quan Dưới công phát triển vượt trội cách mạng 4.0 với vấn đề liên quan Trí Tuệ Nhân Tạo, Điện Toán Đám Mây, Internet Vạn Vật BigData Hiện Trí Tuệ Nhân Tạo xu hướng có tiềm lĩnh vực cơng nghệ thơng tin yếu tố then chốt với vô số ứng dụng khía cạnh sống Smart Home, xe tự hành, hệ thống nhận dạng Hiện nay, phổ biến theo nhu cầu người làm cho lượng thông tin thu hình ảnh ngày tăng Theo lĩnh vực xử lý ảnh trọng phát triển, ứng dụng rộng rãi đời sống xã hội đại Không dừng lại việc chỉnh sửa, tăng chất lượng hình ảnh mà với cơng nghệ xử lý ảnh giúp người giải toán nhận dạng chữ viết, nhận dạng vân tay, nhận dạng thực phẩm an toàn Nhận dạng thực phẩm mơ hình triển khai gần Có thể ứng dụng cơng nghiệp, nơng nghiệp dịch vụ Khi áp dụng hệ thống vào đời sống, việc lựa chọn thực phẩm sạch, an toàn cải thiện nhận biết trái tình trạng nào, đánh giá tình trạng thực phẩm dựa bề mặt với ứng dụng mơ hình nơng nghiệp, hệ thống nhận dạng dự đốn trái xồi hay trái thơm thu hoạch diện rộng Và tích lũy kinh nghiệp từ hệ thống nhận dạng khuôn mặt đồ án sở báo kỹ thuật tự động chấm công dạy học thông minh dựa phương pháp Machine Learning Hội thảo CITA 2020 Chính thế, nhờ yếu tố trên, nhóm đồ án đưa mơ hình hệ thống nhận dạng trái dựa tảng Deep Learning Mục đích - Xây dựng Mơ hình hệ thống nhận dạng trái - Tìm hiểu mơ hình mạng neural tích chập(CNN) - Tìm hiểu thư viện Python việc tiền xử lý hình ảnh - Tìm hiểu Deep Learning Machine Learning Phương pháp a) Đối tượng: - Các phương pháp, thuật toán phục vụ cho việc phát nhận dạng khuôn mặt người ảnh - Bộ thư viện xử lý ảnh OpenCv - CSDL tự tạo cách thu thập liệu sinh viên (khuôn mặt) b) Phạm vi nghiên cứu: - Tập trung tìm hiểu nhận dạng khn mặt (Face Recognition) - Xử lí ảnh khn mặt huấn luyện để nhận diện - Nhận dạng khuôn mặt với webcam điểm danh Phần II Chương Nội dung Nghiên cứu tổng quan Các phương pháp 1.1 Bài toán nhận dạng mẫu Nhận dạng mẫu ngành thuộc lĩnh vực học máy (machine learning) Nói cách khác, xem việc “cần thực tác động vào liệu thô mà tác động cụ thể tùy thuộc vào loại liệu đó” Nhận dạng mẫu nhằm mục đích phân loại liệu dựa trên: kiến thức tiên nghiệm dựa vào thơng tin thống kê trích rút từ mẫu có sẵn Các mẫu cần phân loại thường biễu diễn thành nhóm liệu đo đạc hay quan sát được, nhóm điểm không gian đa chiều phù hợp Đó khơng gian đặc tính để dựa vào ta phân loại Việc phân loại thường dựa vào có sẵn tập mẫu mà phân loại sẵn Tập mẫu gọi tập huấn luyện chiến lược học nhằm phân loại mẫu vào lớp có sẵn gọi học có giám sát Việc học khơng có giám sát, theo nghĩa hệ thống không cung cấp mẫu đánh nhã tiên nghiệm mà tự đưa lớp để phân loại dựa vào tính ổn định thông kê mẫu Các ứng dụng phổ biến nhận dạng tiếng nói tự động, phân loại văn thành nhiều loại nhau, nhận dạng tự động mã bưu điện viết tay bao thư, hay hệ thơng nhận dạng danh tính dựa vào mặt người Cả ba ví dụ cuối tạo thành lĩnh vực phân tích ảnh nhận dạng mẫu với đầu vào ảnh số 1.2 Tổng quan kiến trúc hệ thống nhận dạng mẫu Cùng với phát triển kinh tế xã với ngành kỹ thuật Đòi hỏi quản lý xử lý thơng tin xác mà vượt q sức người Vì cần có máy móc giảm tải thay cơng việc nặng nhọc, địi hỏi xác cao tiết kiệm nhân lực sức người Việc giúp máy móc nhận dạng (thu thập, phân loại thông tin) người giúp máy móc hoạt động hiệu người độ xác cao nhiều Một số ứng dụng toán nhận dạng Nhận dạng giọng nói: ứng dụng tích hợp nhiều sản phẩm, bạn điều khiển thiết bị qua giọng nói thay phải thao tác trực tiếp tay, mơ hình nhà thơng minh, điện thoại, … Ví dụ: ứng dụng Jibbigo điện thoại di động Ứng dụng dịch tiếng nói người sử dụng với ngôn ngữ khác tiếng Anh, Pháp, Đức, Nhật, Hàn Quốc, Tây Ban Nha, Trung Quốc