Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh nền nông nghiệp Việt Nam đang đẩy mạnh ứng dụng khoa học kỹ thuật theo định hướng tự động hóa, việc phân loại nông sản sau thu hoạch giữ vai trò quan trọng nhằm phân chia chất lượng, phục vụ khâu đóng gói hoặc loại bỏ các sản phẩm không đạt tiêu chuẩn. Trước đây, nhiều nghiên cứu thực nghiệm đã áp dụng xử lý ảnh để nhận dạng vật thể dựa trên thông số màu sắc hoặc kích thước cơ bản được lập trình bằng tay. Tuy nhiên, các giải pháp này còn hạn chế về khả năng tùy biến khi đối tượng nông sản có hình dáng không cố định và màu sắc biến thiên phức tạp. Đề tài "Thiết kế và thi công hệ thống phân loại trái cây dùng mạng Neural" được thực hiện tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh nhằm giải quyết bài toán phân loại tự động kết hợp giữa thị giác máy tính và các giải thuật học sâu.
Mục tiêu của đề tài là thiết kế và thi công hoàn chỉnh mô hình dây chuyền phân loại 3 loại trái cây (táo, cà chua, chuối) bằng phương pháp xử lý ảnh, ứng dụng mạng nơ-ron để nhận dạng thông qua hình ảnh thu thập trực tiếp từ camera. Các nhiệm vụ nghiên cứu được xác định cụ thể gồm 9 nội dung:
- Đọc tài liệu, thu thập thông tin làm cơ sở lý thuyết.
- Thu thập tập dữ liệu ảnh đủ lớn của 3 loại trái cây: táo, cà chua, chuối.
- Nghiên cứu các bước xử lý ảnh: chuẩn hóa ảnh, chuyển đổi ảnh xám, chuyển đổi ảnh nhị phân và tính toán kích thước.
- Xây dựng và thực hiện nhận dạng bằng hai mô hình mạng nơ-ron: mạng nơ-ron nhân tạo (ANN) và mạng nơ-ron tích chập (CNN).
- Thiết kế và thi công mô hình dây chuyền phần cứng hoàn chỉnh.
- Chạy thử nghiệm, kiểm tra và hiệu chỉnh hệ thống.
- Hoàn thiện mô hình tích hợp gồm băng chuyền, camera, máy tính, vi điều khiển và các thiết bị ngoại vi.
- Đánh giá chất lượng và hiệu suất phân loại của hệ thống.
- Viết báo cáo tổng kết đồ án tốt nghiệp.
Đối tượng và phạm vi nghiên cứu của đề tài tập trung vào việc nhận dạng và phân loại các loại quả gồm táo, cà chua, chuối (và mở rộng thử nghiệm với mận). Hệ thống được giới hạn trong các thông số kỹ thuật:
- Trọng lượng trái cây nhẹ dưới 200 gram.
- Kích thước tiếp xúc của trái cây đặt lên băng tải không vượt quá 100 $\text{cm}^2$.
- Dữ liệu thử nghiệm và nhận dạng được thực hiện với các mẫu trái cây trong cùng một khoảng thời gian khảo sát.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết của đề tài được xây dựng trên nền tảng kỹ thuật xử lý ảnh số và lý thuyết mạng nơ-ron nhân tạo. Đối với kỹ thuật xử lý ảnh, đồ án sử dụng mô hình toán học để tổng hợp 3 ma trận màu Red, Green, Blue từ ảnh màu RGB sang một ma trận ảnh xám duy nhất $Y$ theo công thức:
$$Y = 0.299 \cdot R + 0.587 \cdot G + 0.114 \cdot B$$
Sau đó, ảnh xám được chuyển đổi sang ảnh nhị phân với 2 mức giá trị 0 và 1 (tương ứng mức xám 0 cho nền đen và 255 cho vùng đối tượng) dựa trên ngưỡng phân tách giá trị điểm ảnh lớn hơn 64 để tách phần trái cây khỏi phông nền. Kỹ thuật này cho phép trích xuất 2 thông số đặc trưng hình thái gồm kích thước vùng ảnh $n$ (tổng số pixel hiển thị của trái cây) và mức xám trung bình $K$ của trái cây theo công thức:
$$K = \frac{\sum_{x=1}^{100} \sum_{y=1}^{75} a(x,y)}{n} \quad (\text{với } a(x,y) > 64)$$
Về phương pháp học máy, đề tài nghiên cứu và ứng dụng đồng thời 2 cấu trúc mạng:
- Mạng nơ-ron nhân tạo (Artificial Neural Network - ANN): Mô hình truyền thẳng nhiều lớp với 2 ngõ vào là véc-tơ đặc trưng kích thước ($P_{kt}$) và mức xám trung bình ($P_{mx}$), sử dụng các hàm kích hoạt phi tuyến
logsig ($a = \frac{1}{1 + e^{-n}}$) và tansig ($a = \frac{e^n - e^{-n}}{e^n + e^{-n}}$).
- Mạng nơ-ron tích chập (Convolutional Neural Network - CNN): Mô hình học sâu xử lý ảnh trực tiếp qua 3 khối lớp tích chập (Convolution) kết hợp lớp gộp cực đại (Max-pooling) mà không cần qua khâu trích xuất đặc trưng thủ công.
Phương pháp nghiên cứu thực tế là phương pháp thực nghiệm kết hợp thiết kế hệ thống cơ - điện tử và lập trình giải thuật trên máy tính. Nguồn dữ liệu huấn luyện do nhóm tác giả tự thu thập bằng hệ thống buồng chụp tự động trên băng chuyền, bao gồm 1.200 ảnh (400 ảnh cho mỗi loại trái cây) được chụp ở nhiều góc độ và hướng xoay khác nhau.
Thiết kế và triển khai
Hệ thống được thiết kế theo cấu trúc phần cứng phân tán kết hợp phần mềm điều khiển trung tâm trên máy tính PC (Laptop Acer Nitro 5 chạy phần mềm MATLAB), giao tiếp với bo mạch vi điều khiển Arduino Uno R3 thông qua cổng giao tiếp UART bằng cáp kết nối USB Type-B.
| Khối chức năng |
Linh kiện / Thiết bị chính |
Thông số kỹ thuật và vai trò trong hệ thống |
| Xử lý trung tâm & Giao diện |
Laptop Acer Nitro 5 (MATLAB) |
Thu nhận ảnh từ camera, xử lý ảnh, huấn luyện/nhận dạng mạng neural, hiển thị GUI và gửi lệnh điều khiển xuống vi điều khiển qua cổng COM/UART. |
| Điều khiển ngoại vi |
Board Arduino Uno R3 (AVR Atmel 8-bit) |
Nhận dữ liệu điều khiển từ PC (5VDC - 500mA từ cổng USB), xuất tín hiệu kích relay và phát xung điều khiển góc quay cho 2 động cơ servo. |
| Thu nhận hình ảnh |
Webcam Logitech C270p |
Độ phân giải chụp 480x640 pixel, video 720p, lắp cách mặt băng tải 22 cm trong buồng chụp kín có đèn LED trợ sáng ($U_{Led} = 3\text{V}$, $I = 20\text{mA}$, điện trở $R = 100,\Omega$). |
| Truyền động băng tải |
Động cơ giảm tốc DC 9–12VDC, Module Relay 1 kênh 5V |
Băng tải kích thước $60 \times 25 \times 35\text{ cm}$, khung nhôm; module relay cách ly quang đóng ngắt nguồn động cơ (nguồn adapter ngoài 9V - 2A). |
| Cơ cấu phân loại |
2 Động cơ RC Servo MG996R (nhông kim loại) |
Servo 1 (chân D9) gạt cà chua sang khay phải; Servo 2 (chân D10) gạt táo sang khay trái; chuối chạy thẳng về giỏ cuối băng chuyền ($P_{Max} = 0.1\text{W}$). |
Về mặt phần mềm, giao diện điều khiển đồ họa (GUI) được xây dựng trên nền tảng MATLAB gồm 3 khu vực chức năng:
- Khu vực điều khiển: Chứa các nút bấm
START, STOP và nút TRAINING để tái huấn luyện mạng khi cập nhật tập mẫu mới.
- Khu vực hiển thị: Trực tiếp hiển thị luồng video từ webcam, hình ảnh phân tích và trạng thái nhận diện loại trái cây khi vật thể đi vào buồng chụp.
- Khu vực thống kê kết quả: Hiển thị hình ảnh mẫu và bộ đếm số lượng tích lũy của từng loại trái cây được phân loại thành công.
Cấu trúc mạng ANN được thiết lập với 2 nút ngõ vào ($P_{kt}$ và $P_{mx}$), 1 lớp ẩn chứa 60 nơ-ron, 6 ngõ ra phân loại, tổng bình phương lỗi mục tiêu (sse) đạt $10^{-5}$ và số chu kỳ huấn luyện tối đa là 8.000 chu kỳ.
Cấu trúc mạng CNN nhận ảnh đầu vào chuẩn hóa kích thước $50 \times 50$ pixel, đi qua 3 lớp tích chập lần lượt sử dụng 32 bộ lọc ($3 \times 3$), 64 bộ lọc ($2 \times 2$) và 128 bộ lọc ($3 \times 3$). Các tham số huấn luyện mạng CNN gồm: số chu kỳ học (epochs) bằng 15, tốc độ học ban đầu (Initial learning rate) là $10^{-4}$, và tần suất kiểm tra xác thực (validation frequency) lặp lại sau mỗi 10 lần lặp.
Nội dung chính theo từng chương
Chương 1: Tổng quan
Chương này trình bày lý do chọn đề tài dựa trên nhu cầu tự động hóa khâu phân loại sản phẩm nông nghiệp tại Việt Nam. Tác giả khảo sát các công trình tiền nhiệm về phân loại màu sắc và hình dạng, xác định rõ mục tiêu chế tạo hệ thống phân loại 3-5 loại trái cây, lập danh sách 9 nội dung nghiên cứu chi tiết và đặt ra các giới hạn kỹ thuật về khối lượng (< 200g), diện tích đặt trên băng tải (< 100 $\text{cm}^2$) và thời gian lấy mẫu.
Chương 2: Cơ sở lý thuyết
Chương 2 tổng hợp cơ sở lý thuyết chuyên sâu về xử lý ảnh số và học máy. Tác giả phân tích các phương pháp chuyển đổi không gian màu RGB sang HSV hoặc ảnh xám, đánh giá hạn chế của việc phân tích hình học cơ bản (như đường bao elip ngoại tiếp) khi áp dụng cho trái cây có hình dạng bất định. Đồng thời, chương này giới thiệu cấu trúc toán học của mạng nơ-ron nhân tạo (ANN) và mạng nơ-ron tích chập (CNN), kèm theo các ví dụ mẫu trên MATLAB như bài toán phân tích lượng mỡ cơ thể và nhận dạng chữ số viết tay.
Chương 3: Tính toán và thiết kế
Nội dung chương tập trung vào việc tính toán, lựa chọn linh kiện và thiết kế sơ đồ nguyên lý toàn hệ thống. Tác giả trình bày sơ đồ khối 5 thành phần (Máy tính, Vi điều khiển, Camera, Băng tải, Nguồn cấp), tính toán thông số sụt áp và công suất cho đèn LED ($U_{Led} = 3\text{V}$, $R = 100,\Omega$) và động cơ servo MG996R ($P_{Max} = 0.1\text{W}$, $P_{Min} = 0.03\text{W}$). Đồng thời, chương 3 thiết lập các công thức toán học tính ma trận ảnh xám $Y$, thuật toán phân ngưỡng ảnh nhị phân, quy trình trích xuất 2 ma trận đặc trưng $P_{kt}$, $P_{mx}$ cho ANN và xác lập cấu trúc 3 lớp tích chập cho CNN.
Chương 4: Thi công hệ thống dây chuyền phân loại trái cây
Chương 4 mô tả chi tiết quá trình gia công và lắp ráp mô hình vật lý kích thước $60 \times 25 \times 35\text{ cm}$. Tác giả thiết kế buồng chụp có màn vải đen che sáng ở hai đầu vào - ra nhằm triệt tiêu ảnh hưởng của ánh sáng môi trường. Điểm nổi bật của chương là giải thuật lấy mẫu tự động: băng tải tự đưa trái cây qua buồng chụp, hệ thống kiểm tra ngưỡng nhị phân ở trung tâm ảnh và tự động lưu 400 tệp ảnh $s1(x)$ cho mỗi loại. Chương này cung cấp lưu đồ thuật toán chính của hệ thống, lưu đồ vi điều khiển Arduino, quy trình huấn luyện/nhận dạng của 2 mạng và tài liệu hướng dẫn vận hành 5 bước.
Chương 5: Kết quả, nhận xét và đánh giá hệ thống
Chương 5 trình bày toàn bộ kết quả thực nghiệm đạt được sau hơn 3 tháng nghiên cứu. Hệ thống đã thi công hoàn chỉnh phần cứng, thu thập bộ dữ liệu thực tế gồm 4 loại quả (mận, cà chua, táo, chuối), hoàn thiện giao diện điều khiển MATLAB và vận hành phân loại tự động 3 loại trái cây trên băng chuyền. Tác giả phân tích các trường hợp nhận dạng sai sót trên thực tế, chỉ ra sự nhầm lẫn giữa trái táo và trái cà chua do sự tương đồng về kích thước và màu sắc trong một số góc chụp.
Chương 6: Kết luận, hướng phát triển
Chương cuối tổng kết các ưu điểm về tính gọn nhẹ, khả năng phân loại và đếm sản phẩm chính xác trong điều kiện buồng chụp ổn định, đồng thời chỉ ra nhược điểm về tốc độ xử lý và giới hạn phân loại cơ khí. Tác giả đề xuất các hướng mở rộng nhằm nâng cấp hệ thống trong tương lai.
Kết quả và đóng góp
Về mặt kết quả định lượng và kỹ thuật, đề tài đã đạt được các nội dung sau:
- Chế tạo thành công mô hình băng tải kích thước $60 \times 25 \times 35\text{ cm}$ hoạt động ổn định, tích hợp camera Logitech C270p, buồng chụp có màn chắn sáng hai đầu, đèn LED trợ sáng 3V, vi điều khiển Arduino Uno R3, 2 động cơ servo MG996R và 1 động cơ kéo băng tải qua relay.
- Xây dựng quy trình tự động hóa khâu thu thập dữ liệu trên băng tải, lưu trữ tập dữ liệu chuẩn gồm 1.200 ảnh cho 3 loại trái cây mục tiêu (400 ảnh/loại) và ảnh thử nghiệm bổ sung đối với trái mận.
- Triển khai và so sánh thành công 2 cấu trúc học máy trên MATLAB:
- Mạng ANN với 2 ngõ vào đặc trưng kích thước và mức xám trung bình, 1 lớp ẩn 60 nơ-ron, hội tụ với sai số $sse = 10^{-5}$.
- Mạng CNN với 3 lớp tích chập ($32 \times 3 \times 3$, $64 \times 2 \times 2$, $128 \times 3 \times 3$), huấn luyện qua 15 chu kỳ với tốc độ học $10^{-4}$.
- Xây dựng giao diện đồ họa trực quan, thực hiện phân loại 3 loại trái cây và đếm chính xác số lượng từng loại theo thời gian thực.
Về mặt đóng góp so với các nghiên cứu trước:
- Khắc phục nhược điểm của các đồ án cũ (chỉ phân loại sản phẩm có hình học cố định như vỉ thuốc, bút chì hoặc chỉ dùng màu sắc cơ bản) bằng cách ứng dụng mạng nơ-ron để nhận dạng vật thể nông sản có hình dạng và màu sắc phi tuyến.
- Thiết kế buồng chụp khép kín tích hợp màn chắn sáng và LED định dòng giúp triệt tiêu nhiễu ánh sáng bên ngoài, tạo môi trường thu nhận ảnh đồng nhất giữa giai đoạn huấn luyện và giai đoạn nhận dạng thực tế.
- Đề xuất phương pháp lấy mẫu tự động ngay trên băng chuyền, giảm thiểu thời gian và công sức xây dựng tập dữ liệu so với phương pháp chụp thủ công.
Hạn chế và hướng nghiên cứu tiếp
Dựa trên các phân tích trong văn bản đồ án, hệ thống còn tồn tại một số hạn chế:
- Quy mô hệ thống mới dừng lại ở mức mô hình mô phỏng phòng thí nghiệm, thời gian và tốc độ xử lý phân loại còn chậm, chưa đáp ứng được yêu cầu của dây chuyền công nghiệp tốc độ cao.
- Thiết bị camera Logitech C270p có độ phân giải và khả năng thích ứng ánh sáng ở mức trung bình, bắt buộc hệ thống phải vận hành trong buồng chụp che kín hoàn toàn bằng vải đen và chiếu sáng cưỡng bức bằng đèn LED.
- Tập dữ liệu 400 ảnh cho mỗi loại chưa đủ lớn và chưa bao quát hết mọi biến thể hình thái, dẫn đến hiện tượng nhận diện nhầm lẫn giữa trái táo và trái cà chua khi chúng có kích thước và mức xám tương đương.
- Cơ cấu cơ khí chỉ hỗ trợ phân loại 3 luồng sản phẩm bằng 2 cánh tay gạt servo và giới hạn trọng lượng trái cây dưới 200 gram.
Hướng phát triển tiếp theo được tác giả đề xuất bao gồm:
- Nâng cấp phần cứng máy tính và camera có độ phân giải cao hơn để tăng tốc độ xử lý và chất lượng ảnh đầu vào.
- Thu thập thêm tập ảnh mẫu lớn hơn, đa dạng hơn về độ chín và kích thước để nâng cao độ chính xác của mạng nơ-ron.
- Thiết kế mở rộng cơ cấu chấp hành cơ khí để phân loại được từ 5 loại trái cây trở lên và tải được các loại quả có kích thước, khối lượng lớn hơn.
Giá trị tham khảo
Đồ án là tài liệu tham khảo chuyên ngành hữu ích cho sinh viên và người nghiên cứu thuộc các ngành Công nghệ Kỹ thuật Điện tử Truyền thông, Cơ điện tử, Kỹ thuật Điều khiển và Tự động hóa, và Kỹ thuật Máy tính. Cụ thể:
- Phương pháp thiết kế buồng chụp ảnh và chương trình chụp ảnh mẫu tự động trên băng tải (Chương 4) có giá trị ứng dụng cao cho các đề tài thị giác máy tính cần xây dựng tập dữ liệu thực tế.
- Quy trình toán học chuyển đổi ảnh xám, phân ngưỡng nhị phân để trích xuất véc-tơ đặc trưng kích thước và mức xám trung bình (Chương 3) là tài liệu tham khảo rõ ràng cho các bài toán phân loại dùng mạng ANN truyền thống.
- Cấu hình mạng CNN 3 khối tích chập và phương thức truyền thông UART giữa phần mềm MATLAB và kit vi điều khiển Arduino Uno R3 (Chương 3 và Chương 4) cung cấp mã nguồn thuật toán và sơ đồ kết nối trực quan cho các dự án tích hợp phần cứng - phần mềm tương tự.
Câu hỏi thường gặp
1. Đồ án áp dụng những kiến trúc mạng nơ-ron nào và thông số cụ thể của từng mạng là gì?
Đồ án sử dụng 2 kiến trúc mạng: Mạng nơ-ron nhân tạo (ANN) với 2 ngõ vào (kích thước và mức xám trung bình), 1 lớp ẩn 60 nơ-ron (dùng hàm logsig, tansig), 6 ngõ ra, sai số huấn luyện $sse = 10^{-5}$, tối đa 8.000 chu kỳ; và Mạng nơ-ron tích chập (CNN) gồm 3 lớp tích chập (lần lượt dùng 32 bộ lọc $3 \times 3$, 64 bộ lọc $2 \times 2$, 128 bộ lọc $3 \times 3$), xử lý ảnh đầu vào kích thước $50 \times 50$ pixel với tốc độ học ban đầu $10^{-4}$ qua 15 chu kỳ học.
2. Cơ cấu chấp hành cơ khí thực hiện phân chia 3 loại trái cây trên băng tải như thế nào?
Hệ thống sử dụng 2 động cơ servo MG996R và 1 khay chứa cuối băng chuyền: Khi camera nhận diện được trái cà chua, Arduino điều khiển Servo 1 gạt sang khay đựng bên phải; khi nhận diện được trái táo, Arduino điều khiển Servo 2 gạt sang khay đựng bên trái; khi nhận diện được trái chuối, cả 2 servo giữ nguyên vị trí để băng tải đưa trái chuối chạy thẳng rơi vào giỏ ở cuối dây chuyền.
3. Kỹ thuật trích xuất đặc trưng cho mạng ANN được thực hiện qua các bước toán học nào?
Ảnh màu $480 \times 640$ được thu nhỏ về $75 \times 100$, chuyển sang ảnh xám theo công thức $Y = 0.299R + 0.587G + 0.114B$, rồi chuyển sang ảnh nhị phân với ngưỡng điểm ảnh $> 64$ để tách nền. Từ đó, thuật toán tính kích thước $n$ (tổng số pixel vùng trái cây) và mức xám trung bình $K$ bằng cách chia tổng mức xám của các điểm ảnh trái cây cho $n$, tạo thành 2 ma trận đặc trưng $P_{kt}$ và $P_{mx}$ đưa vào ngõ vào của mạng ANN.
4. Giải pháp nào được áp dụng để đảm bảo độ ổn định của ảnh chụp trong điều kiện ánh sáng biến đổi?
Tác giả thiết kế buồng chụp kín có kích thước vừa vặn trên băng chuyền, hai đầu vào và ra đều được trang bị màn che bằng vải đen nhằm ngăn chặn ánh sáng nhiễu từ môi trường ngoài. Phía trong buồng chụp, hệ thống lắp đặt 1 đèn LED trợ sáng cấp nguồn 3V qua điện trở $100,\Omega$ được che chắn hợp lý để không chiếu trực tiếp gây lóa băng tải, đảm bảo không gian màu đồng nhất cho mọi mẫu chụp.
5. Nguyên nhân kỹ thuật dẫn đến sai sót khi nhận dạng nhầm lẫn giữa trái táo và trái cà chua là gì?
Nguyên nhân xuất phát từ việc trái táo và trái cà chua có kích thước hình học tương đương nhau trên một số góc chụp, đồng thời độ phân giải camera Logitech C270p còn hạn chế và tập dữ liệu huấn luyện (400 ảnh/loại) chưa đủ lớn để mạng nơ-ron bao quát hết sự biến thiên màu sắc, dẫn đến việc tính toán mức xám trung bình và kích thước bị trùng lặp giữa hai loại quả này.
Kết luận
Đồ án đã hoàn thành toàn diện mục tiêu thiết kế và thi công mô hình hệ thống phân loại trái cây tự động, tích hợp thành công giữa xử lý ảnh trên MATLAB, giải thuật mạng nơ-ron (ANN và CNN) và bo mạch điều khiển Arduino Uno R3. Mô hình phần cứng vận hành ổn định trên băng tải thực tế, tự động hóa quy trình thu thập dữ liệu mẫu và phân loại chính xác 3 loại trái cây kết hợp đếm số lượng thời gian thực. Mặc dù còn hạn chế về tốc độ xử lý và độ phân giải hình ảnh, kết quả nghiên cứu là nền tảng kỹ thuật hoàn chỉnh cho việc ứng dụng thị giác máy tính vào tự động hóa phân loại nông sản trong thực tiễn.