Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 71 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
71
Dung lượng
2,65 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC LẠC HỒNG *** XÂY DỰNG HỆ THỐNG HỖ TRỢ KIỂM TRA XE TẢI THEO QUY ĐỊNH VẬN CHUYỂN HEO ĐẾN TRẠI LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Đồng Nai, Năm 2023 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC LẠC HỒNG *** XÂY DỰNG HỆ THỐNG HỖ TRỢ KIỂM TRA XE TẢI THEO QUY ĐỊNH VẬN CHUYỂN HEO ĐẾN TRẠI Chuyên ngành: Công nghệ thông tin Mã số: 8480201 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Đồng Nai, Năm 2023 i LỜI CẢM ƠN Em xin gửi lời cảm ơn đến Ban Giám Hiệu trường Đại học tạo điều kiện để em học tập tiếp thu kiến thức quý báu năm học qua Em xin gửi lời cảm ơn sâu sắc đến giảng viên hướng dẫn TS tận tình hướng dẫn, định hướng, hỗ trợ em suốt q trình thực luận văn Để hồn thành luận văn này, em xin chân thành cảm ơn giảng viên tận tình hướng dẫn, giảng dạy suốt trình học tập, nghiên cứu rèn luyện Trường Đại học Xin chân thành cảm ơn đến người thân gia đình động viên, anh chị với bạn bè lớp, đồng nghiệp Công Ty Cổ Phần Chăn Nuôi C.P Việt Nam động viên, tạo điều kiện giúp đỡ tơi suốt q trình thực hồn thành luận văn Mặc dù có nhiều cố gắng để thực đề tài cách hoàn chỉnh nhất, nhiên tránh khỏi hạn chế thiếu sót Rất mong nhận đóng góp quý thầy cô đồng nghiệp Xin chân thành cảm ơn./ Đồng Nai, ngày 07 tháng 01 năm 2023 Người thực ii LỜI CAM ĐOAN Tôi xin cam đoan cơng trình nghiên cứu riêng tơi, kiến thức trình bày luận văn tơi tìm hiểu, nghiên cứu trình bày lại Trong trình làm luận văn tơi tham khảo tài liệu có liên quan ghi rõ nguồn tài liệu tham khảo Các tài liệu, kết nghiên cứu nêu luận văn trung thực chưa cơng bố cơng trình khoa học khác Nếu có điều khơng trung thực, tơi xin hồn tồn chịu trách nhiệm./ Đồng Nai, ngày 07 tháng 01 năm 2023 Học viên iii TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA SAU ĐẠI HỌC ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ TÓM TẮT LUẬN VĂN (Dùng cho luận văn người hướng dẫn) Đề tài: Xây dựng hệ thống hỗ trợ kiểm tra xe tải theo quy định vận chuyển heo đến trại Ngành: Công nghệ thông tin Mã số: 8480201 Học viên: Người hướng dẫn: TS NỘI DUNG TÓM TẮT Nội dung giao kết mong đợi người hướng dẫn - Nghiên cứu phương pháp sử dụng học máy, học sâu mà cụ thể mạng LSTM - Thu thập liệu liên quan nằm phạm vi nghiên cứu luận văn như: Video hình ảnh xe tải khơng - Phân tích kết đạt - Thực nghiệm đánh giá chương trình - Viết báo cáo luận văn Cách thức giải vấn đề Trong nơng nghiệp hướng tới việc sử dụng trí tuệ nhân tạo nhằm nâng cao xuất, giảm thời gian truy vết sản phẩm an toàn Vấn đề an toàn sinh học chăn nuôi để cao, luận văn áp dụng học máy với toán phân lớp để hỗ trợ kiểm tra xe vận chuyển heo đến trại có hay khơng tốn thực tế cần giải Bước đầu xây dựng tập liệu mẫu (T_xe) để xác định xe tải hay không sạch, đạt tiêu chuẩn vệ sinh theo quy định iv Tiếp theo dùng học máy để phân lớp hình ảnh video xe tải hay không so với quy định xe vận chuyển heo đến trại Tạo mơ hình huấn luyện huấn luyện liệu mạng LSTM viết ngôn ngữ Python, sử dụng thư viện OpenCV, Keras thư viện học máy Đánh giá mặt khoa học kết Xây dựng hệ thống phân lớp xe tải không dựa mơ hình huấn luyện sở liệu T_xe mạng LSTM Xác thực đối tượng cần phân loại (sạch hay khơng sạch) Những vấn đề cịn tồn so với nội dung giao (nếu có) Đồng Nai, Ngày 07 tháng 01 năm 2023 NGƯỜI HƯỚNG DẪN HỌC VIÊN v MỤC LỤC LỜI CẢM ƠN i LỜI CAM ĐOAN ii TÓM TẮT LUẬN VĂN iii MỤC LỤC v DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT viii DANH MỤC HÌNH ẢNH ix DANH MỤC BẢNG xi CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI 1.1 Giới thiệu sơ lược thị giác máy tính [17] .1 1.2 Lý chọn đề tài [19] .1 1.3 Mục tiêu luận văn .5 1.4 Phạm vi đối tượng nghiên cứu .5 1.5 Nội dung thực 1.6 Phương pháp thực .6 1.7 Đóng góp luận văn .6 1.8 Kết cấu luận văn .6 CHƯƠNG 2: CÁC PHƯƠNG PHÁP SỬ DỤNG PHÂN LỚP TRONG NHẬN DẠNG MẪU .8 2.1 Hệ thống phân lớp nhận dạng mẫu 2.2 Mỗi quan hệ giữ AI, ML DL .9 2.2.1 Trí tuệ nhân tạo (AI - Artificial Intelligence) 2.2.2 Học máy (ML - Machine Learning) 2.2.3 Học sâu (DL - Deep Learning) 10 2.3 Thuật toán mạng nơ-ron nhân tạo (Artificial Neural Network Algorithm) 11 2.3.1 Mạng thần kinh người .11 2.3.2 Mạng nơ-ron nhân tạo .12 2.3.3 Các hàm kích hoạt thường dùng [7] 14 2.3.4 Hàm mát [8] 18 vi 2.4 Mạng nơ-ron hồi quy (Recurrent Neural Networks – RNN) [6] 21 2.4.1 Recurrent Neural Network (RNN) gì? 21 2.4.2 Dữ liệu Sequence Ứng dụng RNN 22 2.4.3 Phân loại toán RNN (hình 2.11) 22 2.4.4 Mơ hình tốn RNN 23 2.5 Mạng Long Short-Term Memory (LSTM) .26 2.5.1 Giới thiệu LSTM 26 2.5.2 Mơ hình LSTM 27 2.5.3 LSTM chống gradient .29 2.5.4 Thứ tự bước LSTM .30 2.6 Mạng nơ-ron tích chập (Convolutional Neural Network – CNN) [9] 32 2.6.1 Lớp tích chập (CONV – convolution layer) 33 2.6.2 Lớp gộp chung (Pooling) 35 2.6.3 Lớp kết nối đầy đủ (Full connected) 36 2.7 Các công cụ hỗ trợ học máy 37 2.7.1 Tensorflow [12] 37 2.7.2 Open-Source Computer Vision Library (OpenCV) [13] 37 2.7.3 Scikit-learn [14] 37 2.7.4 Keras [15] 38 CHƯƠNG 3: ỨNG DỤNG PHÂN LỚP XE TẢI 40 3.1 Mơ tả tốn phân lớp [20] 40 3.2 Một hệ thống phân lớp .41 3.3 Video hình ảnh đầu vào 43 3.3.1 Xây dựng liệu 43 3.3.2 Ứng dụng liệu 43 3.4 Tiền xử lý video hình ảnh .43 3.5 Rút trích đặc trưng 43 3.6 Phân lớp 45 3.7 Đánh giá mô hình 45 vii CHƯƠNG 4: THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ .48 4.1 Cài đặt môi trường 48 4.1.1 Ngơn ngữ lập trình Python 48 4.1.2 Cấu hình máy .48 4.1.3 Kiến trúc mạng 48 4.2 Thử nghiệm .49 4.2.1 Hình ảnh video đầu vào .49 4.2.2 Giới thiệu kết dự đoán 49 4.2.3 So sánh kết độ xác .49 4.2.4 Kết thử nghiệm đạt [16] 50 CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 53 5.1 Kết luận 53 5.2 Hướng phát triển đề tài 53 TÀI LIỆU THAM KHẢO PHỤ LỤC viii DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT Ký hiệu Thuật ngữ (ENG) Thuật ngữ (VNI) AI Artificial Intelligence Trí tuệ nhân tạo AUC Area Under the ROC curve Diện tích bên ROC curve CNN Convolutional Neural Network Mạng thần kinh tích chập CONV Convolutional Tích chập DL Deep Learning Học sâu FAR False Accept Rate Tỉ lệ chấp nhận sai FNR False Negative Rate Tỉ lệ sai tiêu cực FPS Frame Per Second Ảnh giây FPR False Positive Rate Tỉ lệ sai tích cực FRR False Reject Rate Tỉ lệ từ chối sai GD Gradient Descent LSTM Long Short-Term Memory ML Machine Learning Giảm độ dốc Nhớ ngắn hạn định hướng dài hạn Học máy OCR Optical Character Recognition Nhận dạng ký tự quang học OpenCV Opensource Computer Vision Mã nguồn mở thị giac máy tính ReLU Rectified Linear Unit RMSProp Root Mean Square Propagation RNN SGD Recurrent Neural Network Receiver Operating Characteristic Stochastic Gradient Descent Đơn vị tuyến tính chỉnh lưu Truyền bình phương trung bình gốc Mạng hồi quy Đường cong đặc tính hoạt động nhận Giảm độ dốc ngẫu nhiên TAR True Accept Rate Tỉ lệ chấp nhận TPR True Positive Rate Tỉ lệ tích cực TSR Total Success Rate Tổng tỉ lệ thành công ROC 44 Bảng 3.1 Giá trị tham số dùng cho LSTM Tham số Chuỗi (sequence) ảnh(frame) dùng cho LSTM: Kích thước ảnh đầu vào: Đường viền (Padding): Độ trượt (Stride): Bộ lọc (filter) Gộp (pooling): Hàm kích hoạt cell state: Giá trị 30 ảnh Ảnh màu kích thước 144x144 pixel Gán giá trị cho cạnh Ma trận kích thước 3x3 Ma trận kích thước 2x2; Sử dụng Max Pooling - hàm Sigmoid - hàm Tanh - tích chập - cộng ma trận Ở giai đoạn huấn luyện hình ảnh video đầu vào chuyển đổi thành vectơ đặc trưng tạo mơ hình phân lớp Sau hồn tất giai đoạn huấn luyện, ta mơ hình phân lớp để thực giai đoạn phân lớp Tập sở liệu T_xe dùng cho thực nghiệm chia sau (hình 3.4): Tập sở liệu T_xe Huấn luyện Huấn luyện Kiểm tra Đánh giá Kiểm tra Hình 3.4 Mơ hình tập sở liệu phân chia - Tập kiểm tra (testing): chiếm 10% tổng số ảnh video, 90% ảnh video lại chia thành: o Tập huấn luyện (training): chiếm 80% số 90% ảnh cịn lại dùng cho q trình huấn luyện o Tập đánh giá (validation): chiếm 20% số 90% ảnh video cỏn lại dùng cho trình kiểm tra 45 Trong sở liệu T_xe dùng để thực nghiệm, liệu chia thành tập: Tập liệu huấn luyện chiếm 90% tập liệu kiểm tra chiếm 10% Tập liệu huấn luyện tiếp tục chia thành tập con, tập chiếm 20% liệu tập huấn luyện Trong tập dùng để huấn luyện tập dùng đánh giá Tác giả thực đánh giá chéo lần cách thay tập liệu huấn luyện tập liệu đánh giá 3.6 Phân lớp Một mơ hình phân lớp mơ hình Machine Learning dùng để phân loại vật mẫu dựa đặc tính xác định Mơ hình phân lớp Trong giai đoạn huấn luyện, vec-tơ đặc trưng sau rút trích tạo mơ hình dùng cho giai đoạn phân lớp Phân lớp Hình ảnh video đầu vào sau qua mơ hình LSTM phân thành hai lớp không 3.7 Đánh giá mơ hình Các thuật tốn học máy thường sử dụng ma trận nhầm lẫn (confusion matrix) (Bảng 3.2) để đánh giá tính hiệu thuật tốn.[18] Bảng 3.2 Ma trận nhầm lẫn Predicted class Confusion matrix Actual class Sạch Không Sạch TN FP Không FN TP Trong thực toán phân loại, trường hợp dư đoán (Bảng 3.3): 46 Bảng 3.3 Các trường hợp dự đoán True Negative (TN): False Positive (FP): Đối tượng lớp Negative, mơ hình phân Đối tượng lớp Negative, mơ hình phân đối tượng vào lớp Negative (dự đoán đối tượng vào lớp Positive (dự đoán sai) đúng) – Sai loại False Negative (FN): True Positive (TP): Đối tượng lớp Positive, mơ hình phân Đối tượng lớp Positive, mơ hình phân đối tượng vào lớp Negative (dự đoán đối tượng vào lớp Positive (dự đoán sai) – Sai loại đúng) Để kiểm thử mơ hình xây dựng có thực hiệu quả, ta sử dụng vài khái niệm accuracy, precision Accuracy độ xác Hay tất dự đốn có dự đốn 𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = 𝑇𝑃+𝑇𝑁 𝑇𝑃+𝑇𝑁+𝐹𝑃+ 𝐹𝑁 × 100% (3.2) Precision tỉ lệ phát xác Hay tất dự đốn tích cực có dự đốn 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑇𝑃 𝑇𝑃+𝐹𝑃 × 100% (3.3) FNR tỉ lệ sai tiêu cực 𝐹𝑁𝑅 = 𝐹𝑁 𝐹𝑁+𝑇𝑃 × 100% (3.4) Trong tốn phân lớp, thuật toán phân lớp thường dự đoán điểm số hay xác suất thuộc lớp liệu đầu vào Điều giúp ta biết mức độ chắn mơ hình phân lớp Sau dự đoán xác suất hay điểm số, cần phải chuyển giá trị nhãn lớp Việc chuyển từ xác suất, điểm số sang nhãn định “ngưỡng” (threshold) ROC curve công cụ để chọn ngưỡng phù hợp cho mơ hình (hình 3.5) 47 Hình 3.5 Đường ROC Curve Với giá trị threshold, ta thu giá trị ROC curve: • True Positive Rate (hay Sensitivity – Recall): độ nhạy mơ hình, cho biết mức độ dự đốn xác lớp positive TPR thương số điểm liệu dự đoán thuộc lớp positive với số điểm liệu thuộc lớp positive • False Positive Rate: xác suất mắc Type II Error • Trong đó, Specificity cho biết mức độ dự đốn xác lớp negative Các điểm màu cam đại diện cho threshold, ứng với trục tung giá trị TPR trục hoành giá trị FPR Tùy thuộc vào toán để lựa chọn điểm – ứng với threshold phù hợp Area Under the ROC curve (AUC): phần diện tích bên đường cong ROC, dùng để đánh giá hiệu phân loại mơ hình với Mơ hình có AUC lớn (đường cong ROC gần góc cao bên trái) cho kết xác Ngược lại, mơ hình có đường cong ROC tiến tới đường chéo 45 độ (đường gạch đứt màu xanh hình 3.5), tức AUC thấp kết tệ AUC cao mơ hình dễ phân loại cho lớp positive negative 48 CHƯƠNG 4: THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ 4.1 Cài đặt môi trường 4.1.1 Ngôn ngữ lập trình Python Python ngơn ngữ lập trình bậc cao cho mục đích lập trình đa năng, Guido van Rossum tạo lần đầu mắt vào năm 1991 Python thiết kế với ưu điểm mạnh dễ đọc, dễ học dễ nhớ Python ngơn ngữ có hình thức sáng sủa, cấu trúc rõ ràng, thuận tiện cho người học lập trình Cấu trúc Python cịn cho phép người sử dụng viết mã lệnh với số lần gõ phím tối thiểu Python sử dụng nhiều lĩnh vực: lập trình web, viết đoạn script, tính tốn khoa học đặc biệt lĩnh vực trí tuệ nhân tạo Các thuật toán đề tài cài đặt ngơn ngữ Python phiên 3.10, trình biên dịch PyCharm 4.1.2 Cấu hình máy Bảng 4.1 Cấu hình máy tính CPU Intel Core i7- 8650U CPU @ 1.90GHz 2.11 GHz RAM 16 GB DDR4, bus 2400 MHz GPU Intel(R) UHD Graphics 620 SSD 500GB Sata 4.1.3 Kiến trúc mạng Bảng 4.2 Kiến trúc mạng dùng luận văn Layer (type) Output Shape Param # ================================================================= lstm (LSTM) (None, 2048) 33562624 dense (Dense) dropout (Dropout) dense_1 (Dense) (None, 512) (None, 512) (None, 2) 1049088 1026 ================================================================= Total params: 34,612,738 Trainable params: 34,612,738 Non-trainable params: 49 4.2 Thử nghiệm 4.2.1 Hình ảnh video đầu vào Hình 4.1 Video đầu vào 4.2.2 Giới thiệu kết dự đốn Hình 4.2 Kết dự đốn 4.2.3 So sánh kết độ xác Hình 4.3 So sánh độ xác 50 4.2.4 Kết thử nghiệm đạt [16] Giao diện chương trình: Hình 4.4 Giao diện chương trình phân loại xe Kết thử nghiệm đạt biểu diển đường cong đặc tính hoạt động nhận ROC (Receiver Operating Characteristic) với giá trị trung bình giá trị tỷ lệ chấp nhận (TAR) tất 10 thử nghiệm thực giá trị tỉ lệ chấp nhận sai (FAR) sở liệu T_xe, hệ thống xác thực đề xuất 𝑇𝑆𝑅 = (1 − 𝐹𝐴𝑅+𝐹𝑅𝑅 𝑡ổ𝑛𝑔 𝑠ố 𝑙ầ𝑛 ) × 100% (4.1) 51 Hình 4.5 Đường cong ROC tập liệu T_xe Bảng 4.3 Tỉ lệ xác phương pháp phân lớp LSTM Kiểm tra Tỉ lệ 97.25% 96.30% 94.35% 94.50% 94.20% Trung bình 95.32% 52 Bảng 4.4 Ma trận nhầm lẫn thực tế dự báo Dự báo Ma trận nhầm lẫn Thực tế Sạch Không Sạch 250 15 Không 10 150 53 CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1 Kết luận Luận văn đạt kết sau đây: - Nghiên cứu kiến thức về: trí tuệ nhân tạo, học máy, mạng nơ-ron nhân tạo phương pháp học sâu mạng LSTM - Tạo liệu T_xe từ ảnh video - Tạo mơ hình huấn luyện huấn luyện liệu mạng LSTM viết ngôn ngữ Python, sử dụng thư viện OpenCV, Keras thư viện học máy - Xây dựng hệ thống phân lớp xe tải không dựa mơ hình huấn luyện sở liệu T_xe mạng LSTM - Xác thực đối tượng cần phân loại (sạch hay không sạch) 5.2 Hướng phát triển đề tài Trong tương lai, luận văn tiếp tục hoàn thiện hạn chế, cụ thể luận văn điều chỉnh sau: - Cải tiến, ứng dụng kỹ thuật xử lý ảnh kết xác - Thu thập nhiều liệu xe không để huấn luyện mô hình TÀI LIỆU THAM KHẢO [1] SALIBA, Elie; DIPANDA, A An overview of pattern recognition wikiprogress org, 2013 [2] MOHAMED ALI HABIB, Brain Tumor Detector, 2019 https://github.com/MohamedAliHabib/Brain-Tumor-Detection [3] AUSAWALAITHONG, Worawate, et al Automatic lung cancer prediction from chest X-ray images using the deep learning approach In: 2018 11th Biomedical Engineering International Conference (BMEiCON) IEEE, 2018 p 1-5 [4] Lei Zhang, Fan Yang, Yimin Daniel Zhang, and Y J Z., Zhang, L., Yang, F., Zhang, Y D., & Zhu, Y J (2016) Road Crack Detection Using Deep Convolutional Neural Network In 2016 IEEE International Conference on Image Processing (ICIP) http://doi.org/10.1109/ICIP.2016.7533052 [5] KHAN, Maleika Heenaye–Mamode; HEERAH, Mohammad Zafir Hussein Sk; BASGEETH, Zuhairah Automated Detection of Multi-class Vehicle Exterior Damages using Deep Learning In: 2021 International Conference on Electrical, Computer, Communications and Mechatronics Engineering (ICECCME) IEEE, 2021 p 01-06 [6] Sách Deep Learning – Tác giả: Nguyễn Thanh Tuấn – website: https://nttuan8.com/ - Version 2, last update, August 2020 [7] VIET ANH, Các hàm kích hoạt mạng nơ-ron nhân tạo, 2019 https://aicurious.io/posts/2019-09-23-cac-ham-kich-hoat-activation-function-trongneural-networks/ [8] Đoàn Võ Duy Thanh, Nguyễn Văn Cường, Lê Khắc Hồng Phúc, Phạm Hồng Vinh, Phạm Minh Đức, Đắm trìm vào Học sâu – Thuật tốn tối ưu, 2022 https://d2l.aivivn.com/chapter_optimization/index_vn.html [9] LUNSCHER, Nolan Deep learning 3d scans for footwear fit estimation from a single depth map 2018 Master's Thesis University of Waterloo [10] Alex Krizhevsky, Ilya Sutskever, Geoffrey E Hinton (2012), “ImageNet Classification with Deep Convolutional Neural Networks” [11] SIMONYAN, Karen; ZISSERMAN, Andrew Very deep convolutional networks for large-scale image recognition arXiv preprint arXiv:1409.1556, 2014 [12] TensorFlow, Giới Thiệu https://www.tensorflow.org/about?hl=vi [13] OpenCV, Giới Thiệu https://opencv.org/about/ [14] Scikit-Learn, Giới Thiệu https://scikit-learn.org/stable/about.html [15] Karas, Giới Thiệu https://keras.io/about/ [16] HARAKANNANAVAR, Sunil Swamilingappa, et al Performance Evaluation of Face Recognition based on Multiple Feature Descriptors using Euclidean Distance Classifier International Journal of Advanced Networking and Applications, 2018, 10.3: 3864-3879 [17] Phạm Đình Khánh, Thị Giác Máy Tính, 2019 https://phamdinhkhanh.github.io/ [18] HƯƠNG, Trần Thị; HẠNH, Phạm Văn AN APPROACH HYBRID RECURRENT NEURAL NETWORK AND RULE-BASE FOR INTRUSION DETECTION SYSTEM Dalat University Journal of Science, 2019, 9.2: 20-33 [19] Lê Quang Hiếu, 2022 http://khuyennong.quangtri.gov.vn/tai-lieu-khuyennong/an-toan-sinh-hoc-trong-chan-nuoi-428.html [20] Nguyễn Nghĩa, 2020 https://www.iostream.vn/ai-ml/bai-toan-phan-lop-trongmachine-learning-classification-in-machine-learning-515OIh PHỤ LỤC