Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 118 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
118
Dung lượng
8,56 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT DỰ LIỆU ỨNG DỤNG HỌC SÂU CHO BÀI TOÁN NHẬN DIỆN ẢNH GVHD: ThS QUÁCH ĐÌNH HỒNG SVTH: TRẦN NHƯ THUẬN LƯƠNG UY LONG SKL009500 Tp.Hồ Chí Minh, tháng 7/2022 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TPHCM KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN: KỸ THUẬT DỮ LIỆU Trần Như Thuận 18133054 Lương Uy Long 18133026 Đề Tài: ỨNG DỤNG HỌC SÂU CHO BÀI TOÁN NHẬN DIỆN ẢNH KHOÁ LUẬN TỐT NGHIỆP KỸ SƯ KỸ THUẬT DỮ LIỆU GIÁO VIÊN HƯỚNG DẪN ThS QCH ĐÌNH HỒNG KHỐ 2018 – 2022 ĐH SƯ PHẠM KỸ THUẬT TP.HCM XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA CNTT Độc lập – Tự – Hạnh Phúc ******* ******* PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Họ tên Sinh viên 1: Trần Như Thuận MSSV : 18133054 Họ tên Sinh viên 2: Lương Uy Long MSSV : 18133026 Ngành: Kỹ Thuật Dữ Liệu Tên đề tài: Ứng dụng học sâu cho toán nhận diện ảnh Họ tên Giáo viên hướng dẫn: ThS Qch Đình Hồng NHẬN XÉT Về nội dung đề tài & khối lượng thực hiện: Ưu điểm: Khuyết điểm Đề nghị cho bảo vệ hay không ? Đánh giá loại : Điểm : Tp Hồ Chí Minh, ngày tháng năm 2022 Giáo viên hướng dẫn (Ký & ghi rõ họ tên) ĐH SƯ PHẠM KỸ THUẬT TP.HCM XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA CNTT Độc lập – Tự – Hạnh Phúc ******* ******* PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ tên Sinh viên 1: Trần Như Thuận MSSV : 18133054 Họ tên Sinh viên 2: Lương Uy Long MSSV : 18133026 Ngành: Kỹ Thuật Dữ Liệu Tên đề tài: Ứng dụng học sâu cho toán nhận diện ảnh Họ tên Giáo viên phản biện: ThS Trần Tiến Đức NHẬN XÉT Về nội dung đề tài & khối lượng thực hiện: Ưu điểm: Khuyết điểm 10 Đề nghị cho bảo vệ hay không ? 11 Đánh giá loại : 12 Điểm : Tp Hồ Chí Minh, ngày tháng năm 2022 Giáo viên hướng dẫn (Ký & ghi rõ họ tên) LỜI CAM ĐOAN Khố luận cơng trình nghiên cứu chúng tôi, thực hướng dẫn khoa học ThS Qch Đình Hồng Các số liệu, kết luận nghiên cứu sản phẩm tạo chúng tơi trình bày khố luận trung thực Chúng tơi xin hồn toàn chịu trách nhiệm lời cam đoan Trần Như Thuận Lương Uy Long LỜI CẢM ƠN Qua thời gian học tập rèn luyện trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh nay, nhận nhiều quan tâm giúp đỡ quý Thầy Cô bạn bè Với lòng biết ơn sâu sắc chân thành, xin gửi đến Ban Giám Hiệu trường tạo môi trường học tập sáng tạo động, đầy đủ tiện nghi suốt năm theo học trường Một luận văn tốt nghiệp ngắn ngủi trôi qua để lại nhiều cảm xúc Chúng xin gửi lời cảm ơn chân thành đến Thầy Qch Đình Hồng Thầy cung cấp tài liệu hướng dẫn tận tình cho chúng tơi Trong suốt q trình thực luận văn tốt nghiệp, Thầy theo dõi tiến độ giải đáp, chia sẻ giúp vượt qua khó khăn Chúng tơi trân q tâm huyết trách nhiệm Thầy công việc giảng dạy truyền đạt kiến thức Chúng xin gửi lời cảm ơn sâu sắc đến Thầy Cô khoa Công nghệ Thông tin - Đại học Sư phạm Kỹ thuật TP.HCM đồng hành hỗ trợ suốt q trình học tập thực khóa luận Chúng xin cảm ơn trường Sư phạm Kỹ thuật tạo nhiều điều kiện thuận lợi cho hoạt động phục vụ học tập sinh viên chúng tôi, đặc biệt thư viện số với nguồn tri thức vô tận Chúng gửi lời cảm ơn chân thành đến bạn khóa 2018 ngành Kỹ thuật Dữ liệu, cảm ơn góp ý chia sẻ quý giá từ tất bạn Cảm ơn động viên từ bạn để nhóm chúng tơi giữ vững tinh thần thực khóa luận tiến độ Những giá trị cốt lõi nhà trường, Thầy Cô bạn bè mang đến, ghi nhớ để làm động lực thúc đẩy thân phát triển hồn thiện Cơng việc chắn có khó khăn khổ luyện thành nhân, rõ ràng thân chúng tơi có bước tiến kiến thức, tư duy, kỹ năng, cách làm việc mối quan hệ ứng xử với người Chúng tơi nhận thấy thân có khuyết điểm thiếu sót cần cố gắng cải thiện để tốt hơn, hướng tới mục tiêu lớn tương lai Trường ĐH Sư Phạm Kỹ Thuật TP.HCM Khoa : Cơng Nghệ Thơng Tin ĐỀ CƯƠNG KHỐ LUẬN TỐT NGHIỆP Họ Tên SV thực : Trần Như Thuận Mã Số SV : 18133054 Họ Tên SV thực : Lương Uy Long Mã Số SV : 18133026 Thời gian làm luận văn : từ : 04/03/2022 Đến : 08/07/2022 Chuyên ngành : Kỹ thuật Dữ liệu Tên luận văn : Ứng dụng học sâu cho nhận diện ảnh GV hướng dẫn : ThS Qch Đình Hồng Nhiệm Vụ Của Luận Văn : Tìm hiểu khái quát Deep Learning Computer Vision Ảnh máy tính tìm hiểu Image Recognition Thu thập xây dựng tập liệu Xử lý liệu tạo mơ hình huấn luyện dựa kiến trúc Ứng dụng minh họa Đánh giá đưa hướng phát triển Đề cương viết luận văn: Phần MỞ ĐẦU 1.1 Tính cấp thiết đề tài 1.2 Mục tiêu đề tài 1.3 Cách tiếp cận phương pháp nghiên cứu - Đối tượng nghiên cứu - Phạm vi nghiên cứu 1.4 Phân tích cơng trình có liên quan 1.5 Kết dự kiến đạt 1.6 Bố cục báo cáo Phần NỘI DUNG Chương 1: Tìm hiểu khái quát học sâu Chương 2: Artificial neural network Chương 3: Ảnh máy tính Chương 4: Covolution neural network Chương 5: Image Recognition Chương 6: Tìm hiểu mạng MobileNetV2 Chương 7: Xây dựng ứng dụng Plant Disease Prediction Phần KẾT LUẬN Kết đạt Ý nghĩa khoa học Ý nghĩa thực tiễn Hạn chế Hướng phát triển TÀI LIỆU THAM KHẢO KẾ HOẠCH THỰC HIỆN STT Thời gian 04/03/2022 – Cơng việc Tìm hiểu lựa chọn đề tài cho khoá luận tốt nghiệp 14/03/2022 15/03/2022 – 16/05/2022 Tìm hiểu học sâu lĩnh vực thị giác máy tính Tìm hiểu vể kiến thức NN CNN với kiến thức liên quan Ghi Tìm hiểu tổng quan hàm kích hoạt Tìm hiểu ảnh kỹ thuật số máy tính Tìm hiểu image recognition, transfer learning mobileNet mobileNetV2 Tìm hiểu kiến trúc mơ hình VGG ResNet việc huấn luyện, framework để xây dựng ứng dụng 17/05/2022 Ứng dụng học sâu nhận diện để – xây dựng demo nhỏ, cụ thể ứng 19/06/2022 dụng nhận dạng loại bệnh hại trồng thông qua Tiến hành viết báo cáo sơ 20/06/2022 – 08/07/2022 Tổng hợp, chỉnh sửa hoàn thiện báo cáo cuối Chuẩn bị thuyết trình phần trình bày trước giảng viên Ý kiến giáo viên hướng dẫn (Ký ghi rõ họ tên) Ngày tháng năm 2021 Người viết đề cương Trần Như Thuận Lương Uy Long MỤC LỤC MỤC LỤC DANH MỤC CÁC BẢNG DANH MỤC CÔNG THỨC DANH MỤC CÁC HÌNH .6 DANH MỤC VIẾT TẮT .9 PHẦN 1: MỞ ĐẦU 10 Tính cấp thiết đề tài 10 Mục tiêu đề tài 10 Cách tiếp cận phương pháp nghiên cứu 11 Phân tích cơng trình có liên quan 11 Kết dự kiến 12 Bố cục báo cáo 12 PHẦN 2: NỘI DUNG 14 CHƯƠNG 1: TÌM HIỂU DEEP LEARNING 14 1.1 LỊCH SỬ SƠ LƯỢC VỀ DEEP LEARNING 14 1.2 HỌC PHÂN CẤP 18 1.3 THẾ NÀO LÀ “SÂU” TRONG HỌC SÂU 20 1.4 TỔNG KẾT 21 CHƯƠNG 2: ARTIFICIAL NEURAL NETWORK 23 2.1 NEURAL NETWORK LÀ GÌ .23 2.2 HOẠT ĐỘNG 23 2.3 Q TRÌNH XỬ LÍ .25 2.4 HÀM KÍCH HOẠT .26 2.4.1 Hàm sigmoid 27 2.4.2 Hàm 28 2.4.3 Hàm RELU 29 2.4.4 Hàm leaky RELU 31 2.4.5 Hàm RELU6 32 2.4.6 Hàm softmax 32 CHƯƠNG 3: ẢNH TRONG MÁY TÍNH 34 3.1 HỆ MÀU RGB 34 3.2 ẢNH MÀU .34 3.3 TENSOR 36 CHƯƠNG 7: XÂY DỰNG ỨNG DỤNG PLANT DISEASE PREDICTION Độ phức tạp tối thiểu Chủ nghĩa tối giản tuyệt đối Khơng có ORM, dễ dàng kết nối với tiện ích mở rộng Trình gỡ lỗi nhúng trình duyệt Mã ngắn đơn giản số xương Python khác Điểm bật sử dụng Flask để lập trình web bị phụ thuộc bên thứ 3, đề phịng lỗi bảo mật Chúng ta kiểm sốt thứ sử dụng Flask Và quan trọng, học Flask giúp hiểu chế bên framework khác Đây tiền đề tốt để chúng nắm giữ nhiều công nghệ Với tất ưu điểm trên, nhóm định sử dụng Flask framework để xây dựng nên website ứng dụng 7.2.3.2 Ứng dụng Flask xây dựng website import torch import torch.nn as nn import torchvision.models as models import torchvision.transforms as transforms from PIL import Image import io class Plant_Disease_Model(nn.Module): def init (self): super(). init () self.network = models.resnet34(pretrained=True) num_ftrs = self.network.fc.in_features self.network.fc = nn.Linear(num_ftrs, 38) def forward(self, xb): out = self.network(xb) return out transform = transforms.Compose( [transforms.Resize(size=128), transforms.ToTensor()]) num_classes = ['Apple _Apple_scab', 'Apple _Black_rot', 'Apple _Cedar_apple_rust', 'Apple _healthy', 'Blueberry _healthy', 'Cherry_(including_sour) _Powdery_mildew', 'Cherry_(including_sour) _healthy', 'Corn_(maize) _Cercospora_leaf_spot Gray_leaf_spot', 'Corn_(maize) _Common_rust_', 'Corn_(maize) _Northern_Leaf_Blight', 'Corn_(maize) _healthy', 95 CHƯƠNG 7: XÂY DỰNG ỨNG DỤNG PLANT DISEASE PREDICTION 'Grape _Black_rot', 'Grape _Esca_(Black_Measles)', 'Grape _Leaf_blight_(Isariopsis_Leaf_Spot)', 'Grape _healthy', 'Orange _Haunglongbing_(Citrus_greening)', 'Peach _Bacterial_spot', 'Peach _healthy', 'Pepper,_bell _Bacterial_spot', 'Pepper,_bell _healthy', 'Potato _Early_blight', 'Potato _Late_blight', 'Potato _healthy', 'Raspberry _healthy', 'Soybean _healthy', 'Squash _Powdery_mildew', 'Strawberry _Leaf_scorch', 'Strawberry _healthy', 'Tomato _Bacterial_spot', 'Tomato _Early_blight', 'Tomato _Late_blight', 'Tomato _Leaf_Mold', 'Tomato _Septoria_leaf_spot', 'Tomato _Spider_mites Two-spotted_spider_mite', 'Tomato _Target_Spot', 'Tomato _Tomato_Yellow_Leaf_Curl_Virus', 'Tomato _Tomato_mosaic_virus', 'Tomato _healthy'] model = Plant_Disease_Model() model.load_state_dict(torch.load( './Models/plantDisease-resnet34.pth', map_location=torch.device('cpu'))) model.eval() def predict_image(img): img_pil = Image.open(io.BytesIO(img)) tensor = transform(img_pil) xb = tensor.unsqueeze(0) yb = model(xb) _, preds = torch.max(yb, dim=1) return num_classes[preds[0].item()] Hàm predict_image() model.py nhận hình ảnh đầu vào chuyển đổi hình ảnh sang định dạng byte Sau đó, model thực predict trả index vị trí dự đốn bệnh Tiếp đến, trả label tình trạng tương ứng với index disease_dic = { 'Apple _Apple_scab': """ Crop: Apple Disease: Apple Scab Cause of disease: Apple scab overwinters primarily in fallen leaves and in the soil Disease development is favored by wet, cool weather that generally occurs in spring and early summer Fungal spores are carried by wind, rain or splashing water from the ground to flowers, leaves or fruit During damp or rainy periods, newly opening apple leaves are extremely susceptible to infection The longer the leaves remain wet, the more severe the infection will be Apple scab spreads rapidly between 55-75 degrees Fahrenheit How to prevent/cure the disease 1 Choose resistant varieties when possible 2 Rake under trees and destroy infected leaves to reduce the number of fungal spores available to start the disease cycle over again next spring 96 CHƯƠNG 7: XÂY DỰNG ỨNG DỤNG PLANT DISEASE PREDICTION 3 Water in the evening or early morning hours (avoid overhead irrigation) to give the leaves time to dry out before infection can occur 4 Spread a 3- to 6-inch layer of compost under trees, keeping it away from the trunk, to cover soil and prevent splash dispersal of the fungal spores.""", 'Apple _Black_rot': """ Crop: Apple Disease: Black Rot Cause of disease: Black rot is caused by the fungus Diplodia seriata (syn Botryosphaeria obtusa).The fungus can infect dead tissue as well as living trunks, branches, leaves and fruits In wet weather, spores are released from these infections and spread by wind or splashing water The fungus infects leaves and fruit through natural openings or minor wounds How to prevent/cure the disease 1 Prune out dead or diseased branches 2 Prune out dead or diseased branches 3 Remove infected plant material from the area 4 Remove infected plant material from the area 5 Be sure to remove the stumps of any apple trees you cut down Dead stumps can be a source of spores.""", … } Dictionary tạo file utils.py, ứng với key label tình trạng bệnh trồng (‘Apple _Apple_scab’, ‘Apple _Black_rot’, ) value liệu thông tin tương ứng với key Input a file Predict Right Now Print PDF Thiết kế form file index.html nhằm giúp trang web nhận input ảnh đầu vào Với method “POST” action thiết lập ban đầu chuyển hướng đến “predict”, button 97 CHƯƠNG 7: XÂY DỰNG ỨNG DỤNG PLANT DISEASE PREDICTION button class="btn btn-primary" type="submit" style="font-size: 20px"> Predict Right Now kích hoạt form thực action thiết lập Bên cạnh đó, với button cịn lại kích hoạt, trang web chuyển hướng sang action “printpdf” thông qua biến “formaction” thực chức tạo hiển thị kết dự đoán file pdf @app.route('/predict', methods=['GET', 'POST']) def predict(): if request.method == 'POST': try: file = request.files['file'] img = file.read() prediction = predict_image(img) res = Markup(utils.disease_dic[prediction]) return render_template('display.html', status=200, result=res) except: pass return render_template('index.html', status=500, res="Internal Server Error") Trong app.py, ta thực dự đoán bệnh trồng hàm dự đoán predict() Khi request.method == ‘POST’, tức trang web nhận input ảnh đầu vào, ta thực nhận ảnh từ index.html với định dạng file với thuộc tính name “file” Sau nhận ảnh, ta thực read file dự đốn với hàm predict_image Từ label dự đoán, ta thực lấy thông tin cần render từ dictionary “disease_dic” file utils.py gán vào biến “res” Hàm markup() nhằm chuyển đổi thực thi thẻ html có dictionary đó, từ có định dạng mong muốn cho việc hiển thị Cuối cùng, ứng dụng web render tới display.html việc nhận kết từ biến “res” truyền thông qua biến result để trả lại hiển thị trang web Ngược lại, ứng dụng web không nhận input ảnh đầu vào, ta trả lại trang index.html Để thực hàm predict() này, ta khai báo: @app.route('/predict', methods=['GET', 'POST']) Ứng dụng web thực dự đoán với hàm predict() mà có action kích hoạt Ở trường hợp trên, action="{{ url_for('predict') }}" từ form file index.html kích hoạt, ta thực dự đốn với hàm predict @app.route('/printpdf', methods=['GET', 'POST']) def printpdf(): 98 CHƯƠNG 7: XÂY DỰNG ỨNG DỤNG PLANT DISEASE PREDICTION if request.method == 'POST': try: file = request.files['file'] img = file.read() prediction = predict_image(img) res = Markup(utils.disease_dic[prediction]) html = render_template('printpdf.html', result=res) # need install 'wkhtmltopdf' from: https://wkhtmltopdf.org/downloads.html config = pdfkit.configuration(wkhtmltopdf="C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe") pdf = pdfkit.from_string(html, configuration=config) # pdf = pdfkit.from_string(html, False) response = make_response(pdf) response.headers["Content-Type"] = "application/pdf" response.headers["Content-Disposition"] = "inline; filename=output.pdf" return response except: pass return render_template('index.html', status=500, res="Internal Server Error") Hàm printpdf() app.py thực chức tạo hiển thị kết dự đoán với định dạng pdf Ứng dụng web thực bước đọc dự đốn hình ảnh hàm predict() Để tạo file pdf, ta dùng thư viện “pdfkit” thực cấu hình cần thiết, hàm from_string() thực chuyển đổi file html sang định dang pdf Sau đó, ta tạo respone để trả kết hiển thị lên trang web def gen(): """Video streaming generator function.""" while True: rval, frame = video.read() cv2.imwrite('t.jpg', frame) yield (b' frame\r\n' b'Content-Type: image/jpeg\r\n\r\n' + open('t.jpg', 'rb').read() + b'\r\n') @app.route('/video_feed') def video_feed(): """Video streaming route Put this in the src attribute of an img tag.""" return Response(gen(),mimetype='multipart/x-mixed-replace; boundary=frame') 99 CHƯƠNG 7: XÂY DỰNG ỨNG DỤNG PLANT DISEASE PREDICTION Ứng dụng web sử dụng thư viện “cv2” để thực video streaming File j.jpg tạo mặc định ghi lại việc trả chưa có kích hoạt từ phía trang web @app.route('/predictcam', methods=['GET', 'POST']) def predictcam(): try: with open('C:/Users/T480/Desktop/Plant_AI-master/Plant_AImaster/Flask/t.jpg', "rb") as image_file: img = image_file.read() prediction = predict_image(img) res = Markup(utils.disease_dic[prediction]) return render_template('display.html', status=200, result=res) except: pass return render_template('index.html', status=500, res="Internal Server Error") Ứng dụng web nhận hình ảnh từ webcam lưu đường dẫn Sau đó, ứng dụng web thực dự đoán tương tự hàm predict() 7.2.4 Giao diện ứng dụng Nhóm xây dựng thực nghiệm nhỏ với python với nút tải lên hình ảnh, predict hình ảnh camera cho việc nhận dạng hình ảnh thiết bị camera laptop Hình 7.2.6: Giao diện Plant Disease Prediction 100 CHƯƠNG 7: XÂY DỰNG ỨNG DỤNG PLANT DISEASE PREDICTION Hình 7.2.7: Giao diện Plant Disease Prediction Hình 7.2.6 hình 7.2.7 giao diện web đơn giản cho ứng dụng nhận dạng trồng sử dụng học sâu Hình 7.2.8: Giao diện Plant Disease Prediction Hình 7.2.8 hiển thị nút chức ứng dụng Plant Disease Prediction 7.3 THỰC NGHIỆM ĐÁNH GIÁ Sau tải hình ảnh cần dự đốn lên Chúng ta bấm nút ‘Predict Right Now”, kết sau predict hiển thị hình 7.3.1 7.3.2 101 CHƯƠNG 7: XÂY DỰNG ỨNG DỤNG PLANT DISEASE PREDICTION Hình 7.3.1: Giao diện Plant Disease Prediction Hình 7.3.2: Giao diện Plant Disease Prediction Khi click vào nút “Print PDF”, kết dự đoán hiển thị file định dạng PDF cho dễ theo dõi Như hình 7.3.3: 102 CHƯƠNG 7: XÂY DỰNG ỨNG DỤNG PLANT DISEASE PREDICTION Hình 7.3.3: Giao diện Plant Disease Prediction Chúng ta sử dụng chức webcam bấm vào nút “TEST VIA WEBCAM” ứng dụng Tuy nhiên, độ xác bị ảnh hưởng yếu tố chất lượng camera Ví dụ hình 7.3.4 Hình 7.3.4: Giao diện Plant Disease Prediction 103 KẾT LUẬN PHẦN 3: KẾT LUẬN KẾT QUẢ ĐẠT ĐƯỢC Qua thời gian thực đề tài “Ứng dụng học sâu cho tốn nhận diện ảnh”, nhóm hồn thành đồ án thời hạn kết đề tài đáp ứng số mục tiêu đề 1.1 Ý nghĩa khoa học Báo cáo trình bày sở lý thuyết deep learning, mạng nơ-ron tích chập, mơ hình VGG, MobileNet ResNet, q trình thu thập liệu từ thực tế Thơng qua đề tài, chúng tơi biết q trình xây dựng giải toán phát đối tượng deep learning biểu diễn kết toán thơng qua mơ hình Để áp dụng rộng rãi chúng tơi sử dụng ngơn ngữ Python với thư viện framework (Pytorch framework, Pandas cho phân tích liệu tính tốn,…) Bên cạnh đó, chúng tơi cịn nâng cao khả đọc hiểu tài liệu, khả làm việc nhóm khả trình bày báo cáo khoa học 1.2 Ý nghĩa thực tiễn Chúng tơi biết nhiều thuật tốn lĩnh vực deep learning, đặc biệt toán nhận dạng hình ảnh sử dụng kiến trúc VGG, ResNet dựa mạng sở MobileNet Nhóm áp dụng kiến thức tìm hiểu giảng dạy từ thầy để thu thập phân tích cho đề tài luận văn nhóm cách tốt Thông qua đề tài, đạt kết quả: • Nắm rõ sở lý thuyết deep learning mạng nơ-ron tích chập • Hiểu cách thức hoạt động kiến trúc VGG dựa mạng sở MobileNet • Đã thu thập liệu, gán dãn liệu, xây dựng huấn luyện thành công mô hình VGG – MobileNet – ResNet dựa liệu tự thu nhập 104 KẾT LUẬN Cụ thể kết chúng tơi có tập liệu thu từ hình ảnh trồng khoẻ mạnh mang bệnh hại khác Phát loại bệnh hại trồng thơng qua camera giúp người dùng việc học tập, nghiên cứu, hỗ trợ phát nhanh chóng, xác loại bệnh hại Tránh trường hợp nông dân không nhận diện tốn nhiều thời gian chi phí để nhận biết loại bệnh hại trồng, giúp đưa giải kịp thời HẠN CHẾ • Dữ liệu thu thập cịn ít, chưa đa dạng, chưa đầy đủ loại bệnh hại loại trồng khác • Khả nhận diện mơ hình cịn phụ thuộc vào chất lượng camera, chất lượng ảnh HƯỚNG PHÁT TRIỂN Nhóm tiếp tục thu thập liệu, huấn luyện mơ hình tinh chỉnh kiến trúc mạng để mơ hình nhận diện tốt hơn, nhóm nghiên cứu thuật tốn khác để cải thiện độ xác tốc độ nhận diện mơ hình Phát triển thành ứng dụng điện thoại cho người dễ dàng tiếp cận sử dụng Tìm hiểu thêm, thu thập thêm liệu loại bệnh hại khác, nhiều loại trồng khác 105 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO [1] Adrian Rosebrock, "Deep Learning for Computer Vision with Python.", PyImageSearch.com, (9/2017) [2] Nguyen Thanh Tuan, “Deep Learning bản”, Version 2, (8/2020) [3] Nawapi, “Giới thiệu tổng quan Mạng Nơron nhân tạo (Artificial Neural Network-ANN)”, http://nawapi.gov.vn/index.php?option=com_content&view=article&id=3238%3Agii-thiu-tngquan-v-mng-nron-nhan-to-artificial-neural-network-ann&catid=70%3Anhim-v-chuyen-monang-thc-hin&Itemid=135&lang=vi, (truy cập lần cuối: 24/6/2022) [4] Nguyễn Văn Chức, “Tổng quan Mạng Neuron (Neural Network)”, BIS, (12/6/2011), http://bis.net.vn/forums/t/482.aspx, (truy cập lần cuối: 24/6/2022) [5] Viet Anh Nguyen, “Các hàm kích hoạt (activation function) neural network”, AICurious, (23/9/2019), https://aicurious.io/posts/2019-09-23-cac-ham-kich-hoat-activation-function-trongneural-networks/, (truy cập lần cuối: 24/6/2022) [6] Karn Ujjwal, “An Intuitive Explanation of Convolutional Neural Networks”, The data science blog, (11/8/2016), https://ujjwalkarn.me/2016/08/11/intuitive-explanation-convnets/, (truy cập lần cuối: 24/6/2022) [7] Pham Van Chung, "[Deep Learning] Tìm hiểu mạng tích chập (CNN)", Viblo, (12/10/2020), https://viblo.asia/p/deep-learning-tim-hieu-ve-mang-tich-chap-cnn-maGK73bOKj2, (truy cập lần cuối: 24/6/2022) [8] P X Trí, N V Khoa, "Phân biệt số toán lĩnh vực Computer Vision", AI Club Tutorials, (28/04/2020), http://tutorials.mmlab.uit.edu.vn/index.php/2020/04/28/phan-biet-baitoan-trong-cv/, (truy cập lần cuối: 24/6/2022) [9] Datawow, “Interns Explain CNN”, Datawow blog, (17/6/2020), https://datawow.io/blogs/interns-explain-cnn-8a669d053f8b, (truy cập lần cuối: 24/6/2022) [10] CS231n Stanford, (2017), “Convolutional Neural Networks for Visual Recognition”, https://cs231n.github.io/convolutional-networks/, (truy cập lần cuối: 24/6/2022) [11] Trung Đức, “Transfer Learning toán Face Recognition” , (27/08/2021), https://viblo.asia/p/transfer-learning-va-bai-toan-face-recognition-3Q75w7xD5Wb, (truy cập lần cuối: 24/6/2022) [12] Dr Info Sec, “VGG-19 Convolutional Neural Network”, Machine learning blog, (6/5/2021), https://blog.techcraft.org/vgg-19-convolutional-neural-network/, (truy cập lần cuối: 24/6/2022) [13] Darkedeneurope, “Vgg16 Là Gì” , (25/4/2021), https://darkedeneurope.com/vgg16-la-gi/, (truy cập lần cuối: 24/6/2022) [14] Filegi, "Image Recognition", Filegi.com, https://filegi.com/tech-term/image-recognition-10277/, (truy cập lần cuối: 24/6/2022) [15] Hải Đăng, “Sơ lược Transfer Learning”, dlapplications, (15/7/2018), https://dlapplications.github.io/2018-07-15-Transfer-Learning-Basic/#first, (truy cập lần cuối: 24/6/2022) 106 TÀI LIỆU THAM KHẢO [16] Jason Brownlee, “A Gentle Introduction to Object Recognition with Deep Learning”, Machine Learning Mastery, (22/5/2019), https://machinelearningmastery.com/object-recognition-withdeep-learning/, (truy cập lần cuối: 24/6/2022) [17] Vinbigdata., “Phân loại hình ảnh Thị giác máy tính”, product.vinbigdata, (27/10/2021), https://product.vinbigdata.org/phan-loai-hinh-anh-trong-thi-giac-may-tinh/ [18] Chi–Feng Wang, “A Basic Introduction to Separable Convolutions”, Towards Data Science, (13/08/2018), https://towardsdatascience.com/a-basic-introduction-to-separable-convolutionsb99ec3102728, (truy cập lần cuối: 24/6/2022) [19] Andrew G Howard et al , “MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications”, arXiv, (17/04/2017), https://arxiv.org/pdf/1704.04861.pdf [20] Pham Dinh Khanh, “Bài 53 – ResNet model” , (19/12/2020), https://phamdinhkhanh.github.io/2020/12/19/Resnet.html , (truy cập lần cuối: 24/6/2022) [21] Pham Duy Tung, “Tìm hiểu mạng MobileNetV1” , (25/5/2019), https://www.phamduytung.com/blog/2019-05-26-mobilenetv1/, (truy cập lần cuối: 24/6/2022) [22] StudyIT Administrator, “[Tâm Lý AI 01 - NET of CNN] MobileNETs gì? Liệu bạn có hiểu u nó?”, blogstudyIT, (28/10/2020), https://blog.studyit.dev/2020/10/tam-ly-ai-01-net-ofcnn-mobilenets-la.html, (truy cập lần cuối: 24/6/2022) [23] To Duc Thang, “Giới thiệu mạng ResNet”, Viblo, (14/1/2020), https://viblo.asia/p/gioi-thieumang-resnet-vyDZOa7R5wj, (truy cập lần cuối: 24/6/2022) [24] Vũ Hữu Tiệp cộng sự, “Đắm vào học sâu” , (14/11/2020), https://d2l.aivivn.com/chapter_convolutional-modern/resnet_vn.html, (truy cập lần cuối: 24/6/2022) [25] Mark Sandler et al., “MobileNetV2: Inverted Residuals and Linear Bottlenecks”, In Proceedings of the IEEE conference on computer vision and pattern recognition (21/4/2019), (pp 45104520), https://arxiv.org/pdf/1801.04381.pdf [26] Bồ Xuân Hoàng cộng sự, “Xây Dựng Ứng Dụng Theo Dõi Giao Thông Qua Camera Sử Dụng Deep Learning”, khoá luận tốt nghiệp, ĐH SPKT TPHCM, (10/7/2021), https://drive.google.com/drive/u/1/folders/1hjSgFLwf9YopR4vLxsjKjqhtXLco_sAU [27] Pham Dinh Khanh, “Bài 33 – Phương pháp Transfer Learning”, (15/4/2020), https://phamdinhkhanh.github.io/2020/04/15/TransferLearning.html#3-th%E1%BB%B1ch%C3%A0nh, (truy cập lần cuối: 24/6/2022) [28] Nguyen Viet Hoai, “Hướng dẫn Pytorch để làm toán AI”, Viblo, (19/4/2020), https://viblo.asia/p/huong-dan-tat-tan-tat-ve-pytorch-de-lam-cac-bai-toan-ve-aiYWOZrNkNZQ0, (truy cập lần cuối: 24/6/2022) [29] Princy Sultania, “Malaria Detection using Transfer Learning”, (29/6/2020), Medium, https://medium.com/@princyjune66/malaria-detection-using-transfer-learning-7cb5798a7f30, (truy cập lần cuối: 24/6/2022) 107 TÀI LIỆU THAM KHẢO [30] Pablo Ruiz, “Understanding and visualizing ResNets”, Towards Data Science, (8/10//2018), https://towardsdatascience.com/understanding-and-visualizing-resnets-442284831be8, (truy cập lần cuối: 24/6/2022) 108 S K L 0