Klasifikasi Jenis Buah Mangga Menggunakan Convolutional Neural Network


Convolutional Neural Network (CNN) adalah jenis arsitektur jaringan syaraf tiruan yang umumnya digunakan dalam bidang Computer Vision. CNN digunakan untuk memproses data dengan topologi grid, seperti gambar atau video. Dalam algoritmanya, CNN menggunakan operasi matematika yang disebut konvolusi untuk menggantikan perkalian matriks umum pada setidaknya satu lapisannya. Lapisan (layer) dalam CNN yang umumnya digunakan antara lain Convolutional Layer, Batch Normalization Layer, ReLU (Rectified Linear Activation) Layer, Max Pooling Layer, Fully Connected Layer, dan Softmax Layer. CNN banyak diterapkan pada berbagai bidang pengolahan citra salah satunya untuk klasifikasi jenis buah mangga.

Buah Mangga (shutterstock/shutting)

Buah mangga adalah salah satu buah tropis yang populer dan memiliki berbagai variasi jenis. Klasifikasi jenis buah mangga memiliki peran penting dalam industri pertanian dan perdagangan. Dalam upaya untuk mengklasifikasikan jenis-jenis buah mangga tersebut, teknologi Convolutional Neural Network (CNN) telah membuka pintu bagi pendekatan yang lebih akurat dan efisien. Pada artikel ini dijelaskan tahapan klasifikasi jenis buah mangga menggunakan CNN. Jenis buah mangga yang diklasifikasi adalah mangga apel, mangga arumanis, mangga madu, dan mangga manalagi.

Dataset Sistem Klasifikasi Jenis Buah Mangga Menggunakan Convolutional Neural Network

Dataset: Dataset yang digunakan dalam penelitian ini total berjumlah 200 data citra mangga. Pada tahap pelatihan digunakan 40 data pada masing-masing kelas sehingga total data latih adalah 160 data. Sedangkan pada tahap pengujian digunakan 10 data pada masing-masing kelas sehingga total data uji adalah 40 data.

Halaman Pelatihan Sistem Klasifikasi Jenis Buah Mangga Menggunakan Convolutional Neural Network

Data latih digunakan untuk melatih model CNN, sedangkan data uji digunakan untuk menguji performa model. Data diatur agar proporsi setiap jenis buah mangga tetap seimbang.

Arsitektur Convolutional Neural Network Sistem Klasifikasi Jenis Buah Mangga

Arsitektur CNN yang diterapkan dalam penelitian ini mencakup beberapa layer yang penting:

  1. Image Input Layer: Menerima citra sebagai input.
  2. Convolutional Layer: Melakukan konvolusi pada citra dengan filter untuk mengenali fitur-fitur khas.
  3. Batch Normalization Layer: Membantu dalam normalisasi nilai piksel untuk mempercepat konvergensi.
  4. ReLU (Rectified Linear Activation) Layer: Mengaktivasi neuron dengan respons positif.
  5. Max Pooling Layer: Mengurangi dimensi citra dengan memilih nilai maksimum dari suatu wilayah.
  6. Fully Connected Layer: Menghubungkan neuron-neuron di lapisan sebelumnya.
  7. Softmax Layer: Menghasilkan distribusi probabilitas untuk masing-masing kelas.
  8. Classification Layer: Melakukan klasifikasi berdasarkan prediksi probabilitas dari softmax layer.
Lapisan Convolutional Neural Network Sistem Klasifikasi Jenis Buah Mangga

Berikut ini adalah pemrograman MATLAB untuk klasifikasi jenis buah mangga menggunakan Convolutional Neural Network (CNN):

% Load dataset
imds = imageDatastore();

% Split data into training and testing sets
[imdsTrain,imdsTest] = splitEachLabel(imds);

% Define CNN architecture
layers = [
    imageInputLayer
    convolution2dLayer
    batchNormalizationLayer
    reluLayer       
    maxPooling2dLayer 
    convolution2dLayer
    batchNormalizationLayer
    reluLayer       
    maxPooling2dLayer 
    convolution2dLayer
    batchNormalizationLayer
    reluLayer       
    fullyConnectedLayer
    softmaxLayer
    classificationLayer];

% Set training options
options = trainingOptions('sgdm', ...
    'MiniBatchSize',10, ...
    'MaxEpochs',10, ...
    'InitialLearnRate',0.001, ...
    'ValidationData',imdsTest, ...
    'ValidationFrequency',30, ...
    'Verbose',false, ...
    'Plots','training-progress');

% Train CNN
net = trainNetwork(imdsTrain,layers,options);

% Test CNN on test dataset
YPred = classify(net,imdsTest);
YTest = imdsTest.Labels;

% Calculate accuracy
accuracy = sum(YPred == YTest) / numel(YTest);
disp(['Accuracy: ', num2str(accuracy*100), '%']);
Training Progress Sistem Klasifikasi Jenis Buah Mangga Menggunakan Convolutional Neural Network

Pada tahap pelatihan, model CNN berhasil mencapai akurasi 100% pada data latih, menunjukkan bahwa model mampu dengan sempurna mempelajari data latih tersebut. Selain itu, akurasi pengujian sebesar 90% membuktikan bahwa model memiliki kemampuan yang baik dalam mengklasifikasikan jenis buah mangga yang belum pernah dilihat sebelumnya.

Halaman Pengujian Sistem Klasifikasi Jenis Buah Mangga Menggunakan Convolutional Neural Network
Halaman Pengolahan Citra Sistem Klasifikasi Jenis Buah Mangga Menggunakan Convolutional Neural Network

Penelitian ini menunjukkan bahwa penggunaan Convolutional Neural Network (CNN) memiliki potensi besar dalam mengklasifikasikan jenis buah mangga secara akurat. Dengan akurasi pelatihan mencapai 100% dan akurasi pengujian mencapai 90%, model yang dikembangkan memiliki kemampuan yang baik dalam mengenali jenis buah mangga. Namun, perlu diperhatikan bahwa penggunaan dataset yang lebih besar dan beragam dapat meningkatkan validitas dan generalisasi model.

Sistem Klasifikasi Jenis Buah Mangga Menggunakan Convolutional Neural Network

Source code beserta data lengkap pada pemrograman matlab di atas dapat diperoleh melalui halaman berikut ini: Source Code Eksklusif

Posted on September 1, 2023, in Deep Learning, Pengolahan Citra and tagged , , , , , , , , , , . Bookmark the permalink. Leave a comment.

Leave a comment