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

Ứng dụng Deep Learning xây dựng hệ thống phân loại trái cam đạt và không đạt chất lượng dựa vào các đặc điểm quả : báo cáo nghiên cứu khoa học sinh viên

38 276 2

Đ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 38
Dung lượng 1,74 MB

Nội dung

TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ THÔNG TIN  -             BÁO CÁO NGHIÊN CỨU KHOA HỌC ĐỀ TÀI: ỨNG DỤNG DEEP LEARNING XÂY DỰNG HỆ THỐNG PHÂN LOẠI TRÁI CAM ĐẠT VÀ KHÔNG ĐẠT CHẤT LƯỢNG DỰA VÀO CÁC ĐẶC ĐIỂM QUẢ NGUYỄN NGỌC HỒI BIÊN HỊA, THÁNG 11/2018 TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ THÔNG TIN - - BÁO CÁO NGHIÊN CỨU KHOA HỌC     ĐỀ TÀI:  ỨNG DỤNG DEEP LEARNING XÂY DỰNG  HỆ THỐNG PHÂN LOẠI TRÁI CAM ĐẠT VÀ  KHÔNG ĐẠT CHẤTLƯỢNG DỰA VÀO CÁC  ĐẶC ĐIỂM QUẢ    Sinh viên thực hiện: NGUYỄN NGỌC HOÀI Giáo viên hướng dẫn: Th.S Nguyễn Minh Sơn BIÊN HÒA, THÁNG 11/2018 I LỜI CẢM ƠN Em xin chân thành cám ơn tất giảng viên trường Đại Học Lạc Hồng, thầy cô khoa Công Nghệ Thông Tin giảng dạy hướng dẫn chúng em suốt thời gian chúng em theo học trường Em xin gởi lời cảm ơn đến Th.S Nguyễn Minh Sơn, giáo viên tận tình hướng dẫn chúng em hoàn thành đề tài nghiên cứu khoa học Em xin gửi lời cảm ơn đến giáo viên phản biện, người tận tình giúp em hồn thành báo cáo cách tốt Em xin cám ơn thầy, cô khoa Công Nghệ Thơng Tin có ý kiến đóng góp buổi báo cáo tiến độ Ngoài em xin cám ơn thầy Tạ Nguyễn, giáo viên chủ nhiệm lớp 14SE111 bạn lớp toàn thể gia đình người thân giúp đỡ, động viên chúng em trình thực đề tài Với vốn kiến thức hạn chế điều kiện khách quan không cho phép, đề tài em khó tránh khỏi thiếu sót chưa đáp ứng đầy đủ yêu cầu Do em hy vọng tiếp tục nhận ý kiến đóng góp hướng dẫn quý thầy cô để đề tài em hoàn thiện Em xin chân thành cảm ơn Biên Hòa, tháng 11 năm 2018 Sinh viên thực Nguyễn Ngọc Hoài II MỤC LỤC LỜI CẢM ƠN I MỤC LỤC II DANH MỤC BẢNG IV DANH MỤC HÌNH IV PHẦN MỞ ĐẦU 1 Lý chọn đề tài Tình hình nghiên cứu 2.1 Ngoài nước .1 2.2 Trong nước .2 Mục tiêu nghiên cứu Đối tượng phạm vi nghiên cứu 4.1 Đối tượng nghiên cứu 4.2 Phạm vi nghiên cứu Phương pháp nghiên cứu Những đóng góp đề tài vấn đề mà đề tài chưa thực 6.1 Những đóng góp .3 6.2 Những vấn đề chưa thực Kết cấu đề tài Chương : Tổng quan lý thuyết 1.1 Tổng quan học máy 1.1.1 Machine learning gì? 1.1.2 Các phương pháp học máy 1.1.3 Giới thiệu phương pháp học máy Supervised Learning a) Supervised Learning gì? b) Phân loại Supervised Learning 1.2 Keras 1.2.1 Keras gì? 1.2.2 Một số khái niệm Keras a) Khái niệm model keras b) Layer model c) Sequential model d) CNN-Convolutional Neural Network 1.3 Giới thiệu số phần mềm thư viện sử dụng đề tài 1.3.1 Python 3.6.0 Raspberry Pi 1.3.2 Phần mềm FileZilla Putty 1.3.3 Thư viện OpenCV III 1.3.4 Thư viện Tensorflow 1.3.5 Thư viện Matplotlib 1.3.6 Thư viện Imutils 1.3.7 Thư viện RPI.GPIO 1.4 Tiểu kết Chương : Thiết kế xây dựng hệ thống 10 2.1 Thiết kế phần cứng hệ thống 10 2.1.1 Bảng danh sách thiết bị hệ thống 10 2.1.2 Thông tin chức thiết bị hệ thống 11 2.2 Thiết kế phần mềm 14 2.2.1 Cài đặt thư viện hỗ trợ Raspberry Pi máy tính 14 a) Cài đặt Python3 14 b) Cài đặt thư viện OpenCV 14 c) Cài đặt thư viện Tensorflow 15 d) Cài đặt thư viện hỗ trợ khác 15 2.2.2 Xây dựng hệ thống thu thập liệu Raspberry Pi 15 2.2.3 Xây dựng chương trình đào tạo máy tính 19 a) Tổ chức liệu trước cho học máy 19 b) Xây dựng mơ hình đào tạo 20 c) Tiến hành cho học máy 22 2.2.4 Thử nghiệm kết đào tạo Raspberry Pi 19 a) Kết thử nghiệm Raspberry Pi 22 b) So sánh kết thử nghiệm Raspberry Pi Laptop 22 2.4 Tiểu kết 23 Chương : Xây dựng hệ thống thực nghiệm 24 3.1.Xây dựng hệ thống thực nghiệm 24 3.1.1 Lắp ráp thiết bị Error! Bookmark not defined 3.1.2.Quy trình hoạt động hệ thống Error! Bookmark not defined 3.1.3.Tiểu kết Error! Bookmark not defined 3.2 Kết thu sau lần thực nghiệm 26 3.2.1 Kết thu sau thực nghiệmError! Bookmark not defined 3.2.2 Giải thích kết thu Error! Bookmark not defined 3.2.3 Rút kết luận Error! Bookmark not defined 3.3 Tiểu kết 29 KẾT LUẬN 30 TÀI LIỆU THAM KHẢO 31 IV DANH MỤC BẢNG Bảng 2-1: Bảng danh sách thiết bị hệ thống 10 Bảng 2-2: Thông tin Raspberry Pi 11 Bảng 2-3: Thông tin Camera Logitech C310 12 Bảng 2-4: Thông tin Camera Pi V2 13 Bảng 2-5: Các thiết bị lại hệ thống 14 Bảng 2-6: Quá trình thu thập liệu 19 Bảng 2-7: Thông tin tập liệu học máy đề tài 19 Bảng 3-1: Kết so sánh thử nghiệm Raspberry máy tính .25 Bảng 3-2: Bảng kết thực nghiệm lần 27 Bảng 3-3: Bảng kết thử nghiệm lần 28 Bảng 3-4: Danh sách đánh giá hệ thống Error! Bookmark not defined DANH MỤC HÌNH Hình 1.1: Phân loại học máy .5 Hình 1.2: Phân loại thuật tốn Supervised Learning Hình 1.3: Ví dụ cách sử dụng Sequential model Hình 1.4: Ví dụ cách sử dụng Sequential model Hình 1.5: Ví dụ cách sử dụng function API Hình 1.6: Các lớp mơ hình CNN Hình 2.1: Raspberry Pi model B 11 Hình 2.2: Camera Logitech C310 12 Hình 2.3: Camera Pi V2 13 Hình 2.4: Cấu tạo bên hệ thống 15 Hình 2.5: Cấu tạo bên hệ thống .16 Hình 2.6: Quả cam đạt chất lượng 16 Hình 2.7: Quả cam không đạt chất lượng .17 Hình 2.8: Quy trình thu thập liệu .17 Hình 2.9: Code thu thập liệu hình ảnh hệ thống 19 Hình 2.10: Các lớp mơ hình đào tạo 20 Hình 2.11: Code xây dựng mơ hình Keras 21 Hình 2.12: Quy trình đào tạo liệu học máy .22 Hình 2.13: Tiến trình đào tạo cửa sổ console 22 Hình 2.14: Đồ thị trình đào tạo liệu 23 V Hình 3.1: Các đối số chương trình nhận diện cam Raspberry 24 Hình 3.2: Các hàm xử lý ảnh nhận diện cam 24 Hình 3.3: Xử lý nhận diện cam 25 Hình 3.4: Quy trình thu thập ảnh 25 Hình 3.5: Quy trình nhận diện cam 26 Hình 3.6: Quy trình phân loại cam 26 Hình 3.7: Phân loại cam thực nghiệm .27 PHẦN MỞ ĐẦU Lý chọn đề tài Việt Nam nước có nơng nghiệp phát triển Các sản phẩm nông nghiệp dần khẳng định giá trị xuất nước khác giới Trong cam loại trái trồng nhiều Việt Nam với vùng trồng cam tiếng Cam Cao Phong Hịa Bình, Cam sành Hà Giang, Cam Xoàn Lai Vung, Cam Sành Hàm Yên Sau thu hoạch cam chủ yếu phân loại người số lượng lớn phân loại máy móc theo dây chuyền Đặc điểm máy móc chi phí cao phân loại sản phẩm theo giai đoạn Và vấn đề đặt có phương pháp cải tiến loại máy móc hay khơng Con người có khả nhận diện phân biệt đồ vật, vật dụng mắt thường thời đại máy móc làm việc Phương pháp gọi học máy (Machine Learning) Những ứng dụng học máy người thực nhiều để giải tốn phân loại hồn tồn Deep Learning phần Machine Learning, dự đoán kết đầu dựa vào tập hình ảnh đầu vào Để cho việc xây dựng một hệ thống học máy trở nên đơn giản thư viện học máy đời như: TensorFlow, Keras, Scikit-learn, Theano, Caffe Trong thư viện học máy này, Thư viện Keras thư viện mã nguồn mở phát triển vào năm 2015 viết ngôn ngữ python với ưu điểm sau: - Keras sử dụng với thư viện khác TensorFlow, Theano - Dễ sử dụng, xây dựng model nhanh - Có thể chạy CPU GPU Deep Learning mảng mà công ty lớn giới theo đuổi Với ứng dụng mang lại lớn Vì phương pháp áp dụng cho nhiều loại trái khác nhiều sản phẩm khác Tình hình nghiên cứu 2.1 Ngồi nước Trên giới nay, nước tiên tiến giới như: Mỹ, Nhật Bản, Hàn Quốc… Các hộ nông dân, công ty xuất nhập sử dụng máy phân loại trái vào công đoạn sau thu hoạch, nhằm lựa phân loại chất lượng trái đồng trọng lượng, màu sắc, kích cỡ, độ ngọt, độ chua, hình dáng…Deep Learning ứng dụng nhiều nông nghiệp giới cụ thể: Trong báo [9] nói Machine Learning nông nghiệp với ứng dụng như: Quản lý trình phát triển trồng, phát sâu bệnh trồng phát cỏ dại Trong báo [10] nói cách phân loại xồi thị giác máy tính phân loại loại xoài Nam Dokmail Maha Chanok Trong ví dụ cụ thể việc chàng kỹ sư người Nhật Makoto Koike dùng Deep Learning để phân loại dưa leo báo số [8] 2.2 Trong nước Trong thời điểm nước ta nước có sản lượng trái xuất cao, nhiều nước nhập trái Việt Nam, nhiên việc áp dụng kỹ thuật cịn mà chất lượng trái chưa đồng đều, giá thành thấp Nước ta sản xuất loại máy giới phân loại nhanh xác việc ứng dụng thị giác máy tính vào việc phân loại trái lĩnh vực Trong báo số[11] nói hệ thống sơ chế phân loại chanh xuất nông dân Long An Mục tiêu nghiên cứu Đề tài thực với mục tiêu:  Tìm hiểu thư viện Keras thư viện OpenCV  Tìm hiểu Raspberry Pi cách cài đặt thư viện Raspberry Pi  Xây dựng hệ thống thu thập liệu  Xây dựng liệu ảnh đối tượng nghiên cứu  Xây dựng chương trình đào tạo phương pháp học có giám sát  Xây dựng chương trình sử dụng mơ hình đào tạo kiểm tra độ xác  Xây dựng hệ thống phân loại cam với xử lý trung tâm Raspberry Pi Đối tượng phạm vi nghiên cứu 4.1 Đối tượng nghiên cứu  Phương pháp học máy  Thư viện học máy Keras  Thư viện xử lý ảnh OpenCV  Thư viện GPIO điều khiển đèn nút nhấn  Trái cam thường có vỏ màu xanh  Hệ thống gồm: + Hộp chữ nhật kích thước 54x26cm + Raspberry Pi + Camera Logitech full HD 720 + Camera Pi  Raspbery Pi 3, Camera Logitech full HD 720, Camera Pi 4.2 Phạm vi nghiên cứu  Mơi trường nghiên cứu: Phịng B304 với đầy đủ thiết bị  Điều kiện ánh sáng: Hệ thống phải gắn đèn led trắng để đảm bảo độ sáng  Số lượng ảnh thu thập cam 12 ảnh  Tổng số lượng ảnh thu thập 3000 ảnh gồm 1500 ảnh cam đạt chất lượng 1500 ảnh cam không đạt chất lượng  Trái cam thuộc giống cam miền Tây thường có màu xanh đậm, có hình dáng trịn, có vỏ mỏng, ruột màu vàng đỏ đặc trưng, cùi dày có hạt  Quả cam đặt vị trí nằm khoảng tiêu cự camera Phương pháp nghiên cứu  Nghiên cứu cách thu thập liệu hình ảnh trái cam Raspberry Pi  Nghiên cứu phương pháp sử dụng liệu thu thập kết hợp với thư viện OpenCV, Keras để đào tạo thử nghiệm máy tính  Nghiên cứu phương pháp tăng độ xác cho mơ hình đào tạo  Thực nghiệm hệ thống thực tế Những đóng góp đề tài vấn đề mà đề tài chưa thực 6.1 Những đóng góp  Áp dụng phương pháp học có giám sát vào việc phân loại trái cam  Có thể tích hợp hệ thống vào quy trình phân loại trái cam  Là giải pháp giúp người tiêu dùng lựa chọn trái mua  Áp dụng phương pháp phân loại hình ảnh cho nhiều ứng dụng đời sống 6.2 Những vấn đề chưa thực  Chưa xây dựng ứng dụng thiết bị di động  Chưa thu thập số lượng lớn ảnh nhiều loại cam khác  Chưa so sánh trọng lượng cam Kết cấu đề tài Đề tài chia làm ba phần: phần mở đầu, phần nội dung phần kết luận Phần mở đầu Nêu lý chọn đề tài, tổng quan tình hình phát triển, mục tiêu nghiên cứu đề tài, đối tượng, phạm vi, phương pháp nghiên cứu đóng góp đề tài Cũng mặt hạn chế mà đề tài chưa thực để tiếp tục phát triển đề tài Phần nội dung chính: gồm chương 17  Tiêu chí cam khơng đạt chất lượng:  Vỏ dày, sần sùi  Hình dáng khơng  Có đốm đen đốm vàng  Kích thước nhỏ  Hình ảnh minh họa cam khơng đạt chất lượng Hình 2.7: Quả cam không đạt chất lượng c) Xây dựng chương trình thu thập liệu ảnh Để lấy liệu hình ảnh tác giả xây dựng chương trình sử dụng thư viện chụp ảnh Camera Logitech Camera Pi Dưới quy trình thu thập liệu Hình 2.8: Quy trình thu thập liệu 18 Giải thích quy trình: Cam phân loại thành loại dựa vào tiêu chí mà tác giả đưa Tiếp theo tác giả sử dụng chương trình điều khiển camera chụp từ hướng cam Mỗi cam thu thập 12 ảnh từ 12 hướng khác Sau Cam phân loại thành loại dựa vào tiêu chí mà tác giả đưa Tiếp theo tác giả chạy chương trình thu thập liệu, camera tự động chụp ảnh cam từ hướng khác lưu vào thư mục ảnh Mỗi lần chạy chương trình thu ảnh cam Một cam tác giả xoay vị trí nên tổng số hình ảnh cam thu 12 ảnh Sau thu 12 ảnh tác giả bổ trái cam để kiểm tra chất lượng bên tiến hành gán nhãn cho 12 ảnh vừa thu Dưới đoạn code xử lý chương trình #Import thư viện import cv2 import math import os import config import picamera import time import os import pygame, sys from pygame.locals import * from time import sleep import pygame.camera import os, os.path #Tạo đường dẫn đến thư mục ảnh DIR1 = 'getimage' #Đếm số lượng ảnh thư mục a = len([name for name in os.listdir(DIR1) os.path.isfile(os.path.join(DIR1, name))]) #Khởi tạo camera logitech pygame.init() pygame.camera.init() cam1 = pygame.camera.Camera("/dev/video0",(640,480)) cam2 = pygame.camera.Camera("/dev/video1",(640,480)) #Camera1 chụp ảnh sleep(5) cam1.start() image= cam1.get_image() pygame.image.save(image,'getimage/%s.jpg' % a) cam1.stop() #Camera chụp ảnh sleep(5) cam2.start() if 19 image= cam2.get_image() pygame.image.save(image,'getimage/%s.jpg' % (a+1)) cam2.stop() #Camera pi chụp ảnh camera = picamera.PiCamera() camera.resolution = (640, 480) camera.start_preview() camera.capture('/home/pi/Desktop/button/getimage/%s.jpg' % (a+2)) camera.stop_preview() Hình 2.9: Code thu thập liệu hình ảnh hệ thống c) Kết trình thu thập liệu Bảng 2-6: Quá trình thu thập liệu Tuần Đối tượng Kích thước ảnh Số lượng Cam đạt chất lượng 640x480px 750 ảnh Cam đạt chất lượng 640x480px 750 ảnh Cam không đạt chất lượng 640x480px 750 ảnh Cam không đạt chất lượng 640x480 750 ảnh 2.2.3 Xây dựng chương trình đào tạo máy tính a) Tổ chức liệu trước cho học máy Trước trình bày phần này, tác giả giới thiệu tổng quan tập liệu học tác giả Bảng 2-7: Thông tin tập liệu học máy đề tài Tên thư mục Số lượng hình Số hình cho học Số hình thử nghiệm máy camdat 1500 ảnh 1200 ảnh 300 ảnh camchuadat 1500 ảnh 1200 ảnh 300 ảnh 20 Theo Bảng 2-7: Thông tin tập liệu học máy đề tài, tập liệu tác giả sử dụng vào đề tài có tổng cộng 3000 ảnh 1500 ảnh cam đạt chất lượng 1500 cam không đạt chất lượng 1200 hình ảnh sử dụng để đào tạo 300 ảnh dùng để thử nghiệm b) Xây dựng mơ hình đào tạo Hình 2.10: Các lớp mơ hình đào tạo Một mơ hình đào tạo xây dựng lớp gồm có lớp - Input layer đại diện cho tập liệu đầu vào - Các hidden layer lớp ẩn qua lớp liệu điều chỉnh để đưa dự đoán tốt Số lượng lớp nhiều trình đào tạo lâu tỉ lệ xác tăng đến ngưỡng định khơng cịn tác dụng - Output layer kết cuối thu sau trình đào tạo Để xây dựng mơ hình đào tạo xác tác giả tham khảo báo [9] [10] để xây dựng mơ hình đoạn code xây dựng mơ hình # Import thư viện cần thiết from keras.models import Sequential from keras.layers.convolutional import Conv2D from keras.layers.convolutional import MaxPooling2D from keras.layers.core import Activation from keras.layers.core import Flatten from keras.layers.core import Dense from keras.layers.core import Dropout from keras import backend as K class CreateModel: @staticmethod 21 def build(width, height, depth, classes): model = Sequential() inputShape = (height,width,depth) if K.image_data_format() =="channels_first": inputShape=(depth,height,width) #hidden layer model.add(Conv2D(20,(5, 5),padding="same", input_shape=inputShape)) model.add(Activation("relu")) model.add(MaxPooling2D(pool_size=(2, 2), strides=(2, 2))) model.add(Dropout(0.2)) #hidden layer model.add(Conv2D(50, (5, 5), padding="same")) model.add(Activation("relu")) model.add(MaxPooling2D(pool_size=(2, 2), strides=(2,2))) model.add(Dropout(0.2)) #hidden layer model.add(Conv2D(70, (5, 5), padding="same")) model.add(Activation("relu")) model.add(MaxPooling2D(pool_size=(2, 2), strides=(2,2))) model.add(Dropout(0.2)) #hidden layer model.add(Flatten()) model.add(Dense(500)) model.add(Activation("relu")) model.add(Dropout(0.2)) model.add(Dense(classes)) model.add(Activation("softmax")) model.add(Dropout(0.2)) model.add(Dense(classes)) model.add(Activation("softmax")) return model Hình 2.11: Code xây dựng mơ hình Keras 22 c) Tiến hành cho học máy Khi tiến hành học máy, chương trình thực cơng việc theo quy trình sau: Hình 2.12: Quy trình đào tạo liệu học máy Giải thích mơ hình: Dữ liệu đầu vào ảnh trái cam có kích thước 640x480 pixel Sau xử lý thu nhỏ kích thước 64x48 pixel chuyển mảng hai chiều Các mảng hai chiều gồm giá trị từ đến 255 đại diện cho màu sắc ảnh Các mảng hai chiều tiếp tục qua lớp mơ hình tác giả xây dựng mục [b] Quá trình đào tạo cung cấp liên tục cặp liệu nhãn vào mô hình Trong q trình đào tạo, độ xác mơ hình kiểm tra liệu thử nghiệm Độ xác tăng dần đạt ngưỡn xác định Lúc trình đào tạo dừng lại Quá trình đào tạo diễn hình: Hình 2.13: Tiến trình đào tạo cửa sổ console 23 Dưới đồ thị thu sau trình đào tạo Hình 2.14: Đồ thị trình đào tạo liệu  Train_loss tỉ lệ sai tập liệu đào tạo  Val_loss tỉ lệ sai tập liệu thử nghiệm  Train_acc tỉ lệ xác tập liệu đào tạo  Val_acc tỉ lệ xác tập liệu thử nghiệm Theo đồ thị sau tỉ lệ xác tăng lên mức cuối thu 82% 2.3 Tiểu kết Qua chương 2, tác giả thu thập liệu hình ảnh trái cam đạt chất lượng không đạt chất lượng tiến hành cho học máy với kết thu mô hình có độ xác 82% Sang chương 3, tác giả tiến hành thực nghiệm hệ thống 24 Chương : Xây dựng hệ thống thực nghiệm Từ kết thu sau trình đào, tác giả đến việc thử nghiệm độ xác mơ hình Ý tưởng tác giả thử nghiệm mơ hình thiết bị Raspberry Pi máy tính So sánh kết thu kết sử dụng Raspberry Pi để nhận diện cam có đạt chất lượng hay không Sau cài đặt thư viện OpenCV, Tensorflow, Keras Raspberry Pi mục [2.2.1] Tác giả chép mơ hình thu từ q trình đào tạo máy tính Tiếp theo tác giả xây dựng chương trình sử dụng mơ hình để đưa kết Để hiểu rõ quy trình hoạt động hệ thống tác trình bày chi tiết qua phần sau: 3.1 Xây dựng hệ thống thực nghiệm Raspberry Pi 3.1.1 Xây dựng chương trình phân loại cam Raspberry Pi Xây dựng chương trình nhận diện cam có đạt chất lượng hay khơng Bước 1: Truyền vào input gồm model thu từ việc đào tạo, đường dẫn đến thư mục chứa ảnh cần nhận diện ap = argparse.ArgumentParser() ap.add_argument("-m", " model", required=True, help="path to trained model model") ap.add_argument("-i", " image", required=True, help="path to input image") args = vars(ap.parse_args()) Hình 3.1: Các đối số chương trình nhận diện cam Raspberry Bước 2: Xử lý ảnh truyền vào trước cho nhận diện Sử dụng hàm xử lý ảnh thư viện OpenCV image = cv2.imread(args["image"]) orig = image.copy() # pre-process the image for classification image = cv2.resize(image, (64, 48)) image = image.astype("float") / 255.0 image = img_to_array(image) image = np.expand_dims(image, axis=0) Hình 3.2: Các hàm xử lý ảnh nhận diện cam Bước 3: Nhận diện cam có đạt chất lượng hay không Ảnh qua xử lý truyền vào mơ hình để kiểm tra tỉ lệ phần trăm cam đạt chất lượng tốt lớn kết trả cam đạt chất lượng, tỉ lệ cam khơng tốt lớn kết cam không đạt chất lượng 25 model = load_model("orange.h5") (Good, NotGood) = model.predict(image)[0] label = "Good" if Good > NotGood else "Not Good" proba = Good if Good > NotGood else NotGood label = "{}: {:.2f}%".format(label, proba * 100) return label Hình 3.3: Xử lý nhận diện cam 3.1.2 So sánh kết nhận diện Raspberry Pi máy tính Để đảm bảo độ xác hệ thống tác giả thử nghiệm nhận diện ảnh cam Raspberry Pi máy tính Dưới kết thu Bảng 3-1: Kết so sánh thử nghiệm Raspberry Pi máy tính Ảnh Ảnh Raspberry Pi Máy tính 60.45% 2.5s 93.70% 2.5s 60.45% 3.4s 60.45% 3.5s Ảnh 85.15% 2.5s 85.15% 3.5s Từ bảng 3-1 kết thử nghiệm Raspberry Pi hoàn toàn giống kết thử nghiệm máy tính Nhưng cịn mặt hạn chế phần cứng Raspberry Pi khơng đảm bảo nên trình xử lý diễn lâu so với máy tính 3.1.3 Quy trình hoạt động hệ thống Quy trình hoạt động hệ thống gồm bước Bước 1: Khởi động hệ thống tự động chụp ảnh nhấn nút điều khiển Khi nhấn nút điều khiển Raspberry Pi nhận tín hiệu điều khiển camera tự động chụp ảnh Các ảnh sau chụp lưu vào thư mục hình ảnh Hình 3.4: Quy trình thu thập ảnh Bước : Kiểm tra có phải cam khơng cam không tiến hành nhận diện 26 Sau hệ thống thu thập ảnh từ chiều vật mẫu Hệ thống nhận diện có phải cam khơng Nếu khơng phải cam hệ thống thông báo thông qua đèn LED Nếu nhận diện cam hệ thống chuyển sang bước Hình 3.5: Quy trình nhận diện cam Bước 3: Nhận diện cam có đạt chất lượng tốt hay không Với ảnh thu thập ban đầu tiếp tục nhận diện có đạt chất lượng hay không Kết thông báo đèn LED Hình 3.6: Quy trình phân loại cam 3.1.4 Tiểu kết Qua mục này, tác giả trình bày kết thử nghiệm Raspberry Pi, so sánh khác nhận diện Raspberry Pi máy tính Mơ tả quy trình hoạt động hệ thống Tiếp theo tác giả đưa số liệu thực nghiệm thực tế rút nhận xét số liệu thu thập 3.2 Kết thu sau lần thực nghiệm thực tế 3.2.1 Kết thực nghiệm lần Để kiểm tra độ xác hệ thống tác giả kiểm tra 10 cam Sau cam phân loại mắt thường theo tiêu chí quy định 27 Hình 3.7: Phân loại cam thực nghiệm Trái cam sau qua hệ thống bảng kết thu sau thử nghiệm hệ thống Tỉ lệ cam đạt hiển thị giá trị dương, tỉ lệ cam chưa đạt biểu thị giá trị âm Bảng 3-2: Bảng kết thực nghiệm lần 28 3.2.2 Kết thực nghiệm lần Bảng 3-3: Bảng kết thử nghiệm lần 3.2.3 Đánh giá hệ thống phân lớp Khi xây dựng mơ hình học máy cần phải sử dụng phương pháp để đánh giá mơ hình có đạt hiệ không Tác giả dựa báo số [12] trang Machine Learning nói phương pháp đánh giá mơ hình phân lớp Tác giả sử dụng phương pháp accuracy (độ xác) Cách đánh giá tính tỉ lệ ảnh dự đoán tổng số ảnh liệu kiểm thử thư mục cam đạt Bảng 3-4 Kiểm tra độ xác tập test cam đạt Số lượng ảnh Kết xác Kết sai Tỉ lệ 300 ảnh cam đạt 235 ảnh 65 ảnh 78.33% Ngoài tác giả dự đốn độ xác tập liệu kiểm thử thư mục cam chưa đạt Bảng 3-5 Kiểm tra độ xác tập test cam chưa đạt Số lượng ảnh Kết xác Kết sai Tỉ lệ 300 ảnh cam chưa đạt 210 ảnh 90 ảnh 70% Qua hai lần thử nghiệm mơ hình tác giả thu có độ xác cam đạt chất lượng 78.33% cam không đạt chất lượng 70% Có chênh lệch xảy độ xác tập thử nghiệm cam đạt cam chưa đạt nguyên nhân khác hai tập liệu cam đạt cam chưa đạt dẫn đến thay đổi kết trình kiểm thử 29 3.2.4 Rút nhận xét qua lần thực nghiệm Qua hai lần thực nghiệm hệ thống hoạt động ổn định khơng xảy lỗi q trình thực nghiệm Tỉ lệ xác thực tế hệ thống đạt khoảng 70% Hệ thống nhiều hạn chế nguyên nhân sau: Nguyên nhân chủ quan  Phần cứng hệ thống cịn yếu khơng thể tăng thời gian xử lý  Chưa đạt môi trường lý tưởng lúc chụp ảnh Nguyên nhân khách quan  Mơ hình đào tạo chưa xác hồn tồn có trường hợp nhận diện sai  Chưa đưa mơ hình tối ưu q trình đào tạo  Dữ liệu đầu vào cịn điểm nhiễu gây sai sót q trình đào tạo 3.3 Tiểu kết Qua chương này, tác giả trình bày trình xây dựng hệ thống thực nghiệm, trình bày quy trình hoạt động hệ thống Đưa kết qua lần thực nghiệm danh sách đánh giá hệ thống từ rut nhận xét, giải thích nguyên nhân Phần cuối tác giả tổng kết làm hướng phát triển tương lai 30 KẾT LUẬN Kết đạt được: Qua trình nghiên cứu đề tài “Ứng dụng Keras xây dựng hệ thống nhận diện phân loại cam, tác giả đạt số kết sau:  Nắm phương pháp học máy  Tìm hiểu cách cài đặt thư viện học máy Raspberry Pi  Xử lý hình ảnh thư viện OpenCV,  Xây dựng chương trình học máy thư viện Keras  Tìm hiểu cấu tạo chức thiết bị hệ thống Raspberry Pi, Camera Logitech, Camera Pi V2  Thực phương pháp thu thập liệu nhanh chóng cách phân loại liệu đạt chuẩn  Sau trình tìm hiểu thư viện học máy Keras, tác giả xây dựng chương trình học máy khác phù hợp với đặc điểm đối tượng khác Ngoài tác giả tìm hiểu tượng overfiting học máy Các cách tăng độ xác trình học máy  Cuối cùng, tác giả ứng dụng nghiên cứu lại tạo sản phẩm ứng dụng thư viện học máy Keras Đó hệ thống thu thập liêu, nhận diện phân loại cam đạt không đạt chất lượng Định hướng phát triển tương lai:  Tăng số lượng liêu đào tạo để tăng độ xác  Thử nghiệm loại trái khác  Tăng tốc độ xử lý phần cứng hệ thống  Xây dựng ứng dụng mobile phục vụ người tiêu dùng mua loại trái 31 TÀI LIỆU THAM KHẢO Tài liệu tiếng Anh [1] Deep Learning by Ian Goodfellow and Yoshua Bengio and Aaron Courville [2] Neural Networks and Deep Learning by Michael Nielsen [3] Deep learning with Python by Francois Chollet in October 2017 Tài liệu internet [4] Tất tần tật Machine Learning ứng dụng ngành công nghiệp lớn 04/03/2018, https://techtalk.vn/tat-tan-tat-moi-kien-thuc-co-ban-ve-machinelearning.html [5] Vũ Hữu Tiệp, Giới thiệu Machine Learning https://machinelearningcoban.com/2016/12/26/introduce/ 26/12/2016, [6] Cơng ty Nhật dùng trí thông minh nhân tạo google đễ hỗ trợ phân loại dưa leo https://tinhte.vn/threads/cong-ty-nhat-dung-tri-thong-minh-nhan-tao-cuagoogle-de-ho-tro-phan-loai-dua-leo.2638624/ [7] Build a deep learning model using keras ngày truy cập 17/8/2018 https://towardsdatascience.com/building-a-deep-learning-model-using-keras1548ca149d37 [8] Tramg chủ Keras hướng dẫn xây dựng mơ hình https://keras.io/gettingstarted/sequential-model-guide/ [9] https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6111295/ Bài báo nói ứng dụng machine learning nơng nghiệp [10] http://www.vjsonline.org/news/phân-loại-xồi-bằng-thị-giác-máy-tínhcomputer-vision phân loại xồi thị giác máy tính [11] https://baomoi.com/he-thong-so-che-va-phan-loai-chanh-xuat-khau-cuanong-dan-long-an/c/23498579.epi Hệ thống sơ chế phân loại chanh xuất nông dân Long An [12] https://machinelearningcoban.com/2017/08/31/evaluation/?fbclid=IwAR 3ZnvHoAkkrw4InGdE0ItrcEVmpwJ1IGQWrWhAuCqQzVRCADrsZYcO5faE #-gioi-thieu Các phương pháp đánh giá hiệu mơ hình ... ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ THÔNG TIN - - BÁO CÁO NGHIÊN CỨU KHOA HỌC     ĐỀ TÀI:  ỨNG DỤNG DEEP? ?? LEARNING XÂY DỰNG  HỆ THỐNG PHÂN LOẠI TRÁI CAM ĐẠT VÀ  KHÔNG ĐẠT CHẤTLƯỢNG DỰA... hệ thống bao gồm: Một chuỗi đèn Led trắng để đảm bảo độ sáng cho hệ thống đối tượng nghiên cứu cam b) Tiêu chí phân loại cam đạt chất lượng không đạt chất lượng  Tiêu chí cam đạt chất lượng: ... thước ảnh Số lượng Cam đạt chất lượng 640x480px 750 ảnh Cam đạt chất lượng 640x480px 750 ảnh Cam không đạt chất lượng 640x480px 750 ảnh Cam không đạt chất lượng 640x480 750 ảnh 2.2.3 Xây dựng chương

Ngày đăng: 16/08/2020, 09:56

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[4] Tất tần tật về Machine Learning và ứng dụng trong những ngành công nghiệp lớn 04/03/2018, https://techtalk.vn/tat-tan-tat-moi-kien-thuc-co-ban-ve-machine-learning.html Link
[5] Vũ Hữu Tiệp, Giới thiệu về Machine Learning 26/12/2016, https://machinelearningcoban.com/2016/12/26/introduce/ Link
[6] Công ty Nhật dùng trí thông minh nhân tạo của google đễ hỗ trợ phân loại dưa leohttps://tinhte.vn/threads/cong-ty-nhat-dung-tri-thong-minh-nhan-tao-cua-google-de-ho-tro-phan-loai-dua-leo.2638624/ Link
[1] Deep Learning by Ian Goodfellow and Yoshua Bengio and Aaron Courville [2] Neural Networks and Deep Learning by Michael Nielsen Khác
[3] Deep learning with Python by Francois Chollet in October 2017. Tài liệu internet Khác

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN