Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 21 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
21
Dung lượng
2,88 MB
Nội dung
ĐỀ TÀI: HỆ THỐNG PHÂN LOẠI QUẢ CHANH SỬ DỤNG TRÍ TUỆ NHÂN TẠO Giáo viên hướng dẫn: TS Hán Trọng Thanh Thành viên nhóm: Hồng Thị Kim Phượng Nguyễn Thị Thùy Linh Nguyễn Hoàng Chung Nguyễn Tiến Vang Hà Nội, 2023 MỤC LỤC Tổng quan đề tài 1.1 Giới thiệu .3 1.2 Nhiệm vụ .3 1.3 Mục tiêu thiết kế Cơ sở lý thuyết thuật toán SSD-MobileNet 2.1 Giới thiệu .4 2.2 Thuật toán SSD (Single Shot Multibox Detector) .5 2.3 Kiến trúc model MobileNet 2.4 Mơ hình MobileNet áp dụng Huấn luyện thuật toán AI 14 3.1 Bộ liệu (Dataset) 14 3.2 Kết train model 14 Thiết kế hệ thống .15 4.1 Yêu cầu chức 15 4.2 Yêu cầu phi chức 15 4.3 Sơ đồ khối 16 4.3.1 Khối nhận hình ảnh đầu vào .16 4.3.2 Khối xử lý trung tâm 17 4.3.3 Khối triển khai hệ thống 18 Kết luận 20 Tài liệu tham khảo .21 Tổng quan đề tài 1.1 Giới thiệu Đề tài tập trung vào việc ứng dụng thuật toán SSD-Mobilenet để phân loại hình ảnh chanh Trong năm gần đây, Deep Learning mơ hình mạng nơ-ron sâu trở thành xu hướng phổ biến lĩnh vực xử lý ảnh nhận dạng đối tượng SSD-Mobilenet mơ hình phát triển đây, với khả phân loại đối tượng nhanh xác Trong đề tài này, sử dụng mơ hình SSD-Mobilenet để phân loại hình ảnh chanh thành chanh tốt chanh hỏng Việc phân loại thực thông qua việc huấn luyện mơ hình với tập liệu ảnh chanh đầy đủ đa dạng Sau mơ hình huấn luyện, áp dụng thuật toán để phân loại hình ảnh chanh đánh giá độ xác mơ hình Việc áp dụng SSD-Mobilenet để phân loại hình ảnh chanh khơng có ứng dụng lĩnh vực nơng nghiệp sản xuất, mà cịn sử dụng nhiều ứng dụng khác nhận diện đối tượng hình ảnh ứng dụng liên quan đến xử lý ảnh 1.2 Nhiệm vụ Khi thiết kế cánh tay robot ứng dụng thuật tốn SSD-Mobilenet để phân loại chanh, nhiệm vụ bao gồm: Tìm hiểu thuật tốn SSD-MobileNet: Tìm hiểu sở lý thuyết toán học cách áp dụng thuật toán với đề tài Thu thập liệu chanh tốt chanh hỏng: Chụp gán nhãn chanh từ nhiều góc độ để thu tập liệu đầy đủ xác Dùng phần mềm LabelImg để gán nhãn Xây dựng cánh tay robot băng truyền: Đây công việc quan trọng để đảm bảo cánh tay robot hoạt động cách xác hiệu Thiết kế cánh tay phải đáp ứng yêu cầu độ cứng, độ xác độ bền Huấn luyện mơ hình phân loại: Để phân loại hình ảnh hoạt động xác, cần phải huấn luyện mơ hình với tập liệu ảnh chanh đầy đủ đa dạng Quá trình huấn luyện cần có xác tốn thời gian Lập trình phần mềm: Để điều khiển cánh tay robot, cần phải xây dựng phần mềm điều khiển Phần mềm cần có khả giao tiếp với linh kiện robot, điều khiển servo lấy thông tin từ camera Đánh giá cải tiến mơ hình: Sau hồn thành việc huấn luyện mơ hình, cần đánh giá độ xác mơ hình thực cải tiến cần thiết Việc đánh giá cải tiến mơ hình giúp cải thiện khả phân loại hình ảnh robot 1.3 Mục tiêu thiết kế Mục tiêu thiết kế cánh tay robot ứng dụng phân loại chanh bao gồm: Đảm bảo độ xác độ tin cậy: Cánh tay robot phải thiết kế cho độ xác khơng gây thiệt hại cho sản phẩm Đảm bảo tính linh hoạt tương thích: Cần có tính linh hoạt cao, thích nghi với nhiều vị trí ánh sáng q trình phân loại chanh Tối ưu hóa hiệu suất tốc độ: Cánh tay robot phải thiết kế để có hiệu suất tốc độ cao để đảm bảo trình phân loại chanh thực nhanh chóng hiệu Tóm lại, mục tiêu thiết kế cánh tay robot đảm bảo robot phân loại chanh cách xác, nhanh chóng hiệu mà đảm bảo an toàn cho người sử dụng sản phẩm khác trình làm việc Cơ sở lý thuyết thuật tốn SSD-MobileNet 2.1 Giới thiệu Thuật toán SSD-MobileNet thuật toán phổ biến sử dụng toán nhận dạng phân loại đối tượng ảnh Đây thuật toán học sâu (Deep Learning Algorithm) dựa mơ hình Convolutional Neural Network (CNN) Mơ hình SSD (Single Shot Multibox Detector) sử dụng để phát phân loại đối tượng ảnh cách hiệu quả, kết hợp việc sử dụng đa lớp phân loại (multi-class classification) đa lớp phát (Multi-box Detection) SSDMobileNet sử dụng mơ hình MobileNet, mơ hình CNN tối ưu hóa để chạy thiết bị di động với tốc độ nhanh độ xác cao Hình 1: Sơ đồ tổng quan thuật tốn SSD-MobileNet V1 Các bước thuật toán SSD-MobileNet gồm: Tạo feature map từ ảnh đầu vào cách sử dụng mơ hình CNN MobileNet Tại vị trí feature map, tạo anchor box với kích thước tỷ lệ khác Dự đoán xác suất tọa độ đối tượng anchor box Sử dụng thuật toán non-maximum suppression để loại bỏ anchor box trùng lặp giữ lại anchor box có xác suất dự đoán cao Thuật toán SSD-MobileNet cho phép phân loại phát đối tượng ảnh cách nhanh chóng xác, đặc biệt sử dụng thiết bị có tài nguyên hạn chế 2.2 Thuật toán SSD (Single Shot Multibox Detector) SSD (Single Shot MultiBox Detector) thuật toán phát đối tượng ảnh (Object Detection) nhanh hiệu Nó thuật tốn sử dụng phổ biến lĩnh vực thị giác máy tính (Computer Vision) Thuật toán SSD xây dựng sở hai thành phần chính: thuật tốn MobileNet để trích xuất đặc trưng thuật tốn MultiBox để phát đối tượng MobileNet mơ hình mạng học sâu (Deep Learning Network) thiết kế đặc biệt cho thiết bị di động máy tính nhúng, nhằm đạt cân độ xác tốc độ xử lý Nó sử dụng phép tích chập (Convolutional) đặc biệt để giảm số lượng tham số, từ giảm chi phí tính tốn nhớ MultiBox phương pháp phát đối tượng dựa bounding box đề xuất đề xuất trước Nó giúp giảm đáng kể số lượng hộp cần xử lý tăng hiệu cho việc phát đối tượng Kết hợp hai thành phần, thuật tốn SSD phát đối tượng ảnh với tốc độ nhanh độ xác cao, đồng thời đáp ứng yêu cầu nhiều ứng dụng thực tế 2.3 Kiến trúc model MobileNet Hình 2: Sơ đồ kiến trúc MobileNetV1 Thuật toán MobileNet mạng học sâu (deep learning) thiết kế để giảm kích thước mơ hình tăng tốc độ tính tốn so với mơ hình truyền thống Nó phát triển Google sử dụng nhiều ứng dụng phân loại hình ảnh, phát đối tượng, nhận dạng giọng nói dịch vụ trực tuyến Depthwise Separable Convolution (DSC) phương pháp giảm kích thước mơ hình cách sử dụng hai loại convolution Depthwise Convolution Pointwise Convolution Hàm chi phí phép tích chập truyền thống (Standard Convolution): (2.3.1) Trong đó, DK * DK kích thước kernel, M số kênh đầu vào, N số kênh đầu ra, DF * DF kích thước feature map Tích chập chiều sâu (Depthwise Convolution - DW): Tương tự Convolution thông thường, nhiên DW áp dụng lọc (kernel) kênh đầu vào riêng lẻ Hàm chi phí phép tích chập Depthwise Convolution: (2.3.2) Số lượng phép tính Depthwise Convolution giảm N lần so với Standard Convolution, không phục thuộc vào số lượng kênh đầu vào Tích chập điểm (Pointwise Convolution - PW): áp dụng lọc 1x1 (kernel size = 1) tất kênh đầu vào để giảm số lượng kênh đầu PW đặt sau DW lấy đầu vào đầu DW Hàm chi phí phép tích chập Pointwise Convolution: (2.3.3) Như vậy, kết hợp (2.2) (2.3) hàm chi phí Depthwise Separable Convolution là: (2.3.4) So sánh với Standard Convolution: (2.3.5) Hàm chi phí tính tốn DSC nhiều MobileNet sử dụng 3x3 DSC, phép tốn nhiều so với phép tích chập truyền thống độ xác giảm phần nhỏ Hình 3: Kiến trúc MobileNet V1 2.4 Mơ hình MobileNet áp dụng Tổng quan: Format: ONNX v7 Producer: Pytorch 1.13.0 Input: Type: Float32[1, 3, 300, 300] Output: Scores: Float32[1, 3000, 3] Boxes: Float32[1, 3000, 4] 10 11 12 Hình 4: Sơ đồ model MobileNet áp dụng 13 Huấn luyện thuật toán AI 3.1 Bộ liệu (Dataset) Bộ liệu gồm: Qua việc thu thập liệu tay,bộ liệu dẫ thu 1002 ảnh Bộ liệu dùng 1002 ảnh để train 177 ảnh đề dùng làm validation dataset Dataset tải lên Google Colab để bắt đầu đào tạo Hình 4: Sơ đồ trình huấn luyện 3.2 Kết train model Hệ thống đào tạo thuật toán MobileNet V1-SSD với epoch 100 Epoch số lần học máy với epoch hoàn thành máy học đầy đủ hồn chình 1002 ảnh thu thập được, epoch phụ thuộc vào liệu tùy vào đặc điểm thuật tốn có epoch phù hợp Epoch xác định dựa vào hàm loss Hàm loss thang đo cho việc model có học tốt hay khơng Nếu giá trị hàm loss nhỏ model học tốt để đào tạo hệ thống phân loại chanh cần epoch 100 qua trình đào tạo đến lần epoch thứ 100 hàm loss ngừng giảm, hàm loss ngừng giảm mà vấn tiếp tục lần đào tạo dẫn đến trường hợp máy ghi nhớ không học overfiting Sau trình đào tạo thuật toán MobileNet V1-SSD kết thu model hệ thống phân loại chanh 14 Hình 5: Biểu đồ hàm mát mơ hình SSD-MobileNet V1 Ta thấy từ epoch 95 hàm mát đạt giá trị nhỏ nhất, xấp xỉ 0.4138607, ta chọn mơ hình lần học mơ hình phân loại chất lượng chanh hệ thống Thiết kế hệ thống 4.1 Yêu cầu chức Một số yêu cầu chức mà cánh tay robot phải thực để nhận diện chanh camera: Kết nối với camera: Cánh tay robot phải có khả kết nối với camera, thu thập hình ảnh từ camera Xử lý hình ảnh: Cánh tay robot cần có khả xử lý hình ảnh để phân tích nhận diện đặc trưng chanh hình ảnh thu từ camera Điều khiển cánh tay robot: Sau nhận diện vị trí chanh, cánh tay robot cần điều khiển động phận khác để di chuyển tiếp cận với chanh Tiếp gắp đưa chanh đến vị trí phân loại mong muốn 4.2 Yêu cầu phi chức Một số yêu cầu phi chức cánh tay robot nhận diện chanh camera: 15 Độ xác cao: Cánh tay robot phải có khả nhận diện chanh với độ xác cao để đảm bảo tính an tồn hiệu cho q trình sử dụng Tốc độ xử lý nhanh: Cánh tay robot cần xử lý hình ảnh nhận diện chanh với tốc độ nhanh để đáp ứng yêu cầu thời gian thực Độ tin cậy cao: Cánh tay robot cần đảm bảo tính tin cậy ổn định hệ thống để tránh lỗi không mong muốn 4.3 Sơ đồ khối Hình 6: Sơ đồ khối hệ thống 4.3.1 Khối nhận hình ảnh đầu vào Linh kiện chính: Hình 7: USB Camer (A) Auto Forcus Thơng số kĩ thuật: Cảm biến megapixel OV5648 Độ phân giải 2592x1944 Giao diện USB, giao thức UVC, tự động lấy nét, khơng có trình điều khiển, plug-and-play Kích thước nhỏ, dễ tích hợp vào dự án bạn DSP 16 - Cân trắng tự động (AWB) - Phơi sáng tự động (AEC) - Kiểm soát mức tăng tự động (AGC) Thơng số kỹ thuật camera - Kích thước CCD: / 4inch - Khẩu độ (F): 2.8 - Tiêu cự (EFL): 3,34mm - Trường nhìn (Đường chéo): 70 ° Giao diện: USB2.0 Định dạng hình ảnh: MJPEG, YUY2 Nhiệt độ hoạt động: ° C ~ 50 ° C Kích thước: 9mmx62mm Hệ điều hành hỗ trợ: Windows, Linux, Ubuntu Chức năng: Thu thập hình ảnh đầu vào Truyền liệu đến khối xử lý trung tâm 4.3.2 Khối xử lý trung tâm Linh kiện chính: Hình 8: NVIDIA Jetson Nano Thơng số kĩ thuật: 17 GPU: Maxwell 128 lõi CPU: ARM A57 lõi tứ @ 1,43 GHz Ký ức: GB 64-bit LPDDR4 25,6 GB / giây Lưu trữ: microSD (không bao gồm) Mã hóa video:4K @ 30 | 4x 1080p @ 30 | 9x 720p @ 30 (H.264 / H.265) Giải mã video: 4K @ 60 | 2x 4K @ 30 | 8x 1080p @ 30 |18x 720p @ 30 (H.264 / H.265) Hiển thị: HDMI cổng hiển thị USB: 4x USB 3.0, USB 2.0 Micro-B Chức năng: Xử lý ảnh thu Truyền tín hiệu đến khối triển khai hệ thống 4.3.3 Khối triển khai hệ thống Linh kiện chính: Hình 9: Cánh tay robot bậc tự 18 Hình 10: Động Servo MG90S Thơng số kĩ thuật: Model: MG90S servo Điện áp hoạt động: 4.8 ~ 6VDC Stall Torque: 1.8kg/cm (4.8V),2.2kg/cm(6V) OperatingSpeed: 0.1sec/60degree (4.8v), 0.08sec/60degree(6v) Bánh răng: Kim loại Độ dài dây nối: 175mm Trọng lượng: about 13.4g Kích thước: 22.8 x 12.2 x 28.5mm Chức năng: Nhận tín hiệu từ khối xử lí trung tâm Xác định hướng cho cánh tay Điều khiển cánh tay robot 19 Kết luận Trong báo cáo này, chúng tơi trình bày q trình thiết kế phát triển cánh tay robot nhằm phân loại chanh thuật tốn SSD-Mobilenet Đầu tiên, chúng tơi trình bày yêu cầu chức phi chức cánh tay robot, mô tả chi tiết kiến trúc thuật tốn SSD-Mobilenet Sau đó, chúng tơi trình bày chi tiết q trình thiết kế cánh tay robot, bao gồm việc lựa chọn phần cứng lập trình chức điều khiển động thu thập liệu từ camera Sau đó, chúng tơi huấn luyện mơ hình SSDMobilenet tập liệu chanh tích hợp thuật toán vào cánh tay robot Kết thực nghiệm cho thấy cánh tay robot chúng tơi phân loại chanh với độ xác cao, giúp tăng suất giảm tải công việc cho người trình thu hoạch chanh Tổng kết lại, tin cánh tay robot phân loại chanh đáp ứng yêu cầu chức phi chức đề ra, đồng thời bước tiến lớn việc áp dụng công nghệ vào nông nghiệp giải vấn đề tăng suất giảm chi phí 20 Tài liệu tham khảo 21