Trong nghiên cứu này, một hệ thống phân loại độ chín quả cà chua được phát triển dựa trên kỹ thuật thị giác máy tính. Các hình ảnh quả cà chua với độ chín khác nhau được lấy bằng máy ảnh màu. Mô hình Mask RCNN được phát triển được dùng để phân loại từng mức độ chín quả cà chua.
Trang 1HỆ THỐNG PHÂN LOẠI ĐỘ CHÍN QUẢ CÀ CHUA DỰA TRÊN KỸ
THUẬT THỊ GIÁC MÁY TÍNH
Bùi Công Thịnh*
Viện Kỹ thuật HUTECH, Trường Đại học Công nghệ TP.Hồ Chí Minh (HUTECH)
GVHD: TS Phạm Quốc Thiện
TÓM TẮT
Trong nghiên cứu này, một hệ thống phân loại độ chín quả cà chua được phát triển dựa trên kỹ thuật thị giác máy tính Các hình ảnh quả cà chua với độ chin khác nhau được lấy bằng máy ảnh màu Mô hình Mask RCNN được phát triển được dùng để phân loại từng mức độ chin quả cà chua Chương trình LabVIEW được phát triển với mô hình Mask RCNN được tích hợp bằng việc sử dụng thư viện Python Node để thực hiện phân loại trực tuyến Tổng số 40 ảnh thử nghiệm với độ chính xác của các giai đoạn chin 1, 2 và 3 lần lượt là 95%, 92.5% và 97.5% Hệ thống và mô hình Mask RCNN có thể được sử dụng để phân loại các loại trái cây có kích thước tương tự
Từ khóa: Mask RCNN, cà chua, thị giác máy tính, độ chín
1 GIỚI THIỆU
Cà chua (Solanum lycopersicum) là cây rau quan trọng thứ hai trên thế giới sau khoai tây Sản lượng hiện tại trên toàn thế giới là khoảng 170,75 triệu tấn quả tươi được sản xuất trên 5,02 triệu ha ở hơn 150 quốc gia [1]
Cà chua với nhiều chất dinh dưỡng và các chất chuyển hóa thứ cấp quan trọng đối với sức khỏe con người: chất khoáng, vitamin B, C, E, và axit hữu cơ Cà chua là loại quả hô hấp đột biến, có thể thu hoạch ở các giai đoạn chín khác nhau và tiếp tục chín trong quá trình vận chuyển, xử lý, bảo quản, tiêu thụ Do vậy, độ chín thu hoạch có mối liên quan chặt chẽ với chất lượng quả khi chín Việc phân loại độ chín cà chua là rất qua trọng trong quá trình xử lý sau thu hoạch để cung cấp cà chua chất lượng tốt và đồng đều cho tiêu dùng Việc thu hoạch bằng thủ công khiến người lao động dễ mệt mỏi thị giác và thần kinh trong thời gian dài, dễ dẫn đến sai sót Hệ thống phân loại tự động có thể khắc phục những hạn chế của người lao động đó là hoạt động liên tục, đảm bảo năng suất, chất lượng công việc
Trong thập kỷ qua, các nhà nghiên cứu đã cố gắng phát triển các hệ thống tự động dựa trên thị giác máy tính
để giải quyết việc phân loại hoa quả thủ công tốn nhiều thời gian Nhìn chung, một hệ thống thị giác máy tính
Trang 2với độ chính xác 73-96% Abdul Wajid và các cộng sự [3] đã trích xuất không gian màu RGB và các giá trị xám dựa trên Border/Interior pixel Classification (BIC) để phân biệt tình trạng cam (chín, chưa chín và đóng vảy hoặc thối) với kết quả đạt được về độ chính xác là 93,13% Phương pháp phát hiện và phân loại là vô cùng quan trọng trong hệ thống phân loại cà chua tự động Với sự phát triển của công nghệ máy học gần đây, thị giác máy tính trở nên mạnh mẽ hơn và hữu ích hơn cho việc kiểm soát chất lượng trái cây Region-based Convolutional Neural Network (RCNNs) là một tập hợp con chuyên biệt trong máy học đã trở thành kỹ thuật phổ biến trong việc phát hiện và phân đoạn hình ảnh trái cây trong những năm gần đây Sapan Naik và Bankim Patel đã xây dựng một mô hình phân loại trái xoài [4], Hamid và cộng sự phát triển một mô hình phân loại trái cây với CNN [5] RCNN và các phiên bản cải tiến (Fast R-CNN, Faster R-CNN, Mask R-CNN) trích xuất nhiều đề xuất từ hình ảnh đầu vào, sau đó CNN được sử dụng để dự đoán lớp và hộp giới hạn của vùng đề xuất Faster R-CNN tạo ra kết quả với nhãn lớp và một hộp giới hạn với tốc độ nhanh hơn Fast R-CNN nhờ tích hợp thuật toán đề xuất các region Mask R-CNN là phiên bản mở rộng của Faster R-CNN, có thêm một nhánh để
dự đoán mask của đối tượng Yang Yu và cộng sự đã xây dựng mô hình phát hiện dâu tây cho robot thu hoạch dựa trên mô hình Mask R-CNN với tỉ lệ phát hiện trung bình 95.78% [6] LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench) là một môi trường lập trình đồ họa có thể dễ dàng phát triển các giao diện người dùng cho các ứng dụng kỹ thuật Thị giác máy tính kết hợp với LabVIEW đã được sử dụng rộng rãi trong việc kiểm tra chất lượng của trái cây Yi Chiu và Suming Chen đã nghiên cứu hệ thống hái trái cây tự động trong nhà kính bằng việc sử dụng LabVIEW và module NI Vision Development để phát triển hệ thống điều khiển và xử lý hình ảnh [7] Mục tiêu của nghiên cứu là phát triển một hệ thống phân loại độ chín dựa trên thị giác máy tính Một giao diện người dùng được thực hiện trong môi trường Labview để vận hành hệ thống phân loại này Mô hình Mask RCNN được phát triển trong môi trường Python để phát hiện độ chín của quả cà chua cho hệ thống phân loại
2 MẪU VÀ PHƯƠNG PHÁP
2.1 Mẫu cà chua
Các mẫu cà chua được lấy hai lần tại Uông Bí, tỉnh Quảng Ninh vào tháng 1 năm 2022 và Thủ Đức, tp HCM vào tháng 2 năm 2022 Cà chua được thu hoạch, sơ chế và lấy mẫu ngay trong ngày ở nhiệt độ 25oC Trong giai đoạn cà chua còn non đến khi trưởng thành được thể hiện rõ với sự thay đổi màu sắc và có thể được chia làm ba giai đoạn độ chín 1, 2, 3 lần lượt tương ứng với quả xanh, quả chín vừa, quả chín (Hình 1)
Trang 3Hình 1 Các giai đoạn độ chín khác nhau dùng trong nghiên cứu này
2.2 Hệ thống thực nghiệm
Hệ thống phân loại gồm ba phần: phần băng tải, phần xử lý và phần phân loại Phần băng tải gồm động cơ giảm tốc dc và dây băng tải, phần xử lý gồm camera và máy tính, phần phân loại gồm rc servo và board Arduino Uno Quy trình phân loại độ chín cà chua như sau: (1) Cà chua được đưa từ nguồn cấp tới vị trí đặt camera trong phần phân loại (2) Camera chuyển hình ảnh của trái cà chua về máy tính Chương trình phân loại xử lý hình ảnh, đưa ra kết quả phân loại ra giao diện người dung và đồng thời gửi nó tới phần phân loại bằng giao tiếp serial (3) Phần phân loại với Arduino Uno sẽ điều chỉnh góc quay rc servo theo kết quả phân loại được gửi từ chương trình xử lý
Hình 2 Hệ thống phân loại cà chua
2.3 Mask RCNN
Để xây dựng, huấn luyện và đánh giá mô hình Mask R-CNN, 300 hình ảnh trái cà chua đã được sử dụng Hình ảnh được dán nhãn loại 1, 2 và 3 theo cách thủ công Với 222 hình ảnh cà chua cho huấn luyện và 38 hình ảnh
Trang 4cảnh (COCO), các tệp mask_definitions.json và dataset_info.json đã được tạo Hai tệp này chứa thông tin mỗi hình ảnh trong tập huấn luyện và tập xác nhận Sau đó, một chương trình python (coco_json_utils.py) được sử dụng, chương trình này có thể được tìm thấy trong kho lưu trữ Cocosynth [8] Mask R-CNN là mô hình hiện đại để giải quyết việc phân đoạn phiên bản trong thị giác máy tính Nó có thể phát hiện và phân loại đối tượng mục tiêu một cách đáng tin cậy Framework Mask R-CNN đã được áp dụng cho đơn vị xử lý của hệ thống phân loại Trong nghiên cứu này, kiến trúc mạng ResNet50 (Residual Network 50) được sử dụng làm xương sống
để tạo ra một bản đồ đặc trưng của toàn bộ hình ảnh đầu vào Mạng RPN (Region Proposal Network) được sử dụng để trích rút các vùng RoI (Region of Interest) có khả năng chứa đối tượng từ feature map của ảnh Faster R-CNN được sử dụng với mục đích giúp mô hình dự đoán gián tiếp qua các anchors (pre-defined boxes) Lớp
cà chua trong RoI và mask là kết quả của việc sử dụng Faster R-CNN và nhánh mặt nạ cùng nhau Để triển khai Matterport, mô hình đề xuất đầu tiên được khởi tạo với trọng số được đào tạo trên MS COCO thay vì đào tạo mạng từ đầu Sau đó, các weight đã được huấn luyện được sử dụng để chạy các suy luận trên một tập thử nghiệm Một số tham số như NUM_CLASSES, IMAGE_MIN_DIM, IMAGE_MAX_DIM đã được sửa đổi để phù hợp với nghiên cứu này và các tham số còn lại giống với các thông số của mã gốc Mô hình được đào tạo trong 20 eporch dưới Python 3.6 Hiệu suất của mô hình đề xuất được đánh giá dựa trên bốn chỉ số: accuracy, precision, recall và điểm F1
Hình 3 Khung tổng thể của mô hình Mask R-CNN
3 KẾT QUẢ VÀ THẢO LUẬN
Giao diện đồ họa người dùng (GUI) được thiết kế trên phần mềm LabVIEW, được sử dụng để vận hành hệ thống phân loại trái cà chua (hình 4) Các thư viện chính được sử dụng để phát triển là NI-IMAQdx và Python Node NI-IMAQdx hỗ trợ thiết lập các thông số và thu thập hình ảnh của máy ảnh Python Node cho phép LabVIEW gọi các hàm Python, các mô hình ML được đào tạo trong môi trường Python có thể tích hợp vào một chương trình LabVIEW GUI có cửa sổ để hiển thị hình ảnh đã được suy luận, loại cà chua và các ô hiển thị nguồn ảnh, đường dẫn mô hình ML
Trang 5Hình 4 Giao diện người dùng của hệ thống
Thực tế
Dự đoán
Loại 1 Loại 2 Loại 3
Bảng 1 Confusion matrix của mô hình Mask R-CNN Tổng cộng 40 hình ảnh cà chua của tập dữ liệu (13 trái loại 1, 12 trái loại 2, 15 trái loại 3) được sử dụng để kiểm tra độ chính xác của mô hình, được thể hiện trong bảng 1 Kết quả thực nghiệm với quả loại 1, accuracy, precision, recall và F1 score lần lượt là 95%, 92.3%, 92.3%, 92.3% Với quả loại 2, accuracy, precision, recall
và F1 score lần lượt là 92.5%, 90%, 83.3%, 86.5% Với quả loại 3, accuracy, precision, recall và F1 score lần lượt là 97.5%, 93.7%, 100%, 96.7% Từ kết quả thực nghiệm, có một tỉ lệ nhầm lẫn giữa loại 1 với loại 2 và loại 2 với loại 3 Nguyên nhân xuất phát từ số lượng mẫu sử dụng trong huấn luyện còn ít và chưa đa dạng Màu sắc của loại 2 có sự phân bố giữa loại 1 và loại 3 có thể dẫn đến sự nhầm lẫn này Sự nhầm lẫn này có thể được cải thiện qua việc bổ sung thêm dữ liệu hình ảnh về các trạng thái chín của trái cà chua và chia nhỏ độ chin thành nhiều giai đoạn hơn Nhìn chung, mô hình Mask R-CNN có thể đạt kết quả tốt về phân loại quả và
có thể áp dụng cho một hệ thống phân loại tự động, như kết quả hình 6
Trang 6Hình 5 Kết quả phân loại
Mô hình phân loại Mask RCNN đóng vai trò quan trọng trong hệ thống phân loại Phương pháp này có thể phát hiện và phân loại tương đối chính xác loại trái cà chua, tuy nhiên chương trình LabVIEW còn chậm Chương trình LabVIEW chậm có thể là quá trình gọi hàm Python bằng Python Node Việc cải thiện thời gian xử lý của
mô hình hiện tại bằng việc sử dụng bộ công cụ học sâu (Deep Learning Toolkit for LabVIEW) có thể tiết kiệm được thời gian để Python Node gọi các hàm bên ngoài môi trường LabVIEW và trả kết quả trở lại LabVIEW
4 KẾT LUẬN
Bài báo này trình bày ứng dụng của mô hình Mask R-CNN để phân loại độ chín quả cà chua Mô hình được đào tạo trong môi trường Python và được tích hợp vào LabVIEW bằng cách sử dụng thư viện Python Node Kết quả phân loại 40 ảnh thử nghiệm cho kết quả: quả loại 1 với accuracy, precision, recall và F1 score lần lượt
là 95%, 92.3%, 92.3%, 92.3%; quả loại 2: accuracy, precision, recall và F1 score lần lượt là 92.5%, 90%, 83.3%, 86.5%; quả loại 3: accuracy, precision, recall và F1 score lần lượt là 97.5%, 93.7%, 100%, 96.7% Hệ thống và mô hình Mask RCNN có thể được sửa đổi và sử dụng để phân loại các loại trái cây có kích thước tương tự
TÀI LIỆU THAM KHẢO
1 Khan, I.A., Foreword, in Sustainable Management of Arthropod Pests of Tomato, W Wakil, G.E Brust,
and T.M Perring, Editors 2017, Academic Press: San Diego p xv
2 Sofu, M.M., et al., Design of an automatic apple sorting system using machine vision 2016 127: p
395-405
3 Wajid, A., et al Recognition of ripe, unripe and scaled condition of orange citrus based on decision tree classification in 2018 International Conference on Computing, Mathematics and Engineering Technologies (iCoMET) 2018 IEEE
Trang 74 Naik, S and B.J.I.J.o.C.A Patel, Machine vision based fruit classification and grading-a review 2017 170(9): p 22-34
5 Hamid, N., et al., Comparing bags of features, conventional convolutional neural network and AlexNet for fruit recognition 2019 14(1): p 333-339
6 Yu, Y., et al., Fruit detection for strawberry harvesting robot in non-structural environment based on Mask-RCNN 2019 163: p 104846
7 Chiu, Y.-C., et al., Study of an autonomous fruit picking robot system in greenhouses 2013 6(3): p
92-98
8 Kelly, A., COCO Synth provides tools for creating synthetic COCO datasets [cited 2021 29 July]; Available from: https://github.com/akTwelve/cocosynth 2021