Phân loại hình ảnh là một trong những ứng dụng phổ biến nhất của học sâu (Deep Learning) trong thị giác máy tính (Computer Vision). Một trong những ví dụ điển hình là nhận diện và phân loại các loại trái cây từ hình ảnh, với ứng dụng thực tế trong nông nghiệp thông minh, siêu thị tự động và hệ thống kiểm tra chất lượng sản phẩm.
Trong bài viết này, chúng ta sẽ cùng xây dựng một mô hình mạng nơ-ron tích chập (Convolutional Neural Network – CNN) đơn giản để phân loại các loại trái cây từ hình ảnh. Bài viết này đặc biệt phù hợp cho người mới bắt đầu vì từng bước đều được giải thích kỹ lưỡng và kèm theo ví dụ thực tế.
Mô tả bài toán
Bài toán đặt ra là: xây dựng một mô hình học sâu có khả năng phân loại hình ảnh thành các loại trái cây khác nhau (ví dụ: táo, chuối, cam, dâu…). Bộ dữ liệu được sử dụng là Fruit Images Dataset gồm hơn 10.000 ảnh của nhiều loại trái cây với kích thước 100×100 pixel.
Pipeline thực hiện bao gồm: tải dữ liệu, tiền xử lý ảnh, xây dựng mô hình CNN, huấn luyện, đánh giá, và thử nghiệm dự đoán trên ảnh mới.
Cài đặt thư viện cần thiết
Để làm việc với hình ảnh và xây dựng CNN, chúng ta cần một số thư viện quan trọng: TensorFlow/Keras để tạo mô hình, Pandas để xử lý dữ liệu, và Matplotlib để trực quan hóa.
Cài đặt các thư viện qua pip:
pip install tensorflow pandas matplotlib numpy
Import các thư viện:

