Jaringan Syaraf Tiruan untuk Klasifikasi Citra Daun


Salah satu penerapan dari algoritma jaringan syaraf tiruan adalah untuk proses klasifikasi citra. Berikut ini merupakan pemrograman matlab untuk melakukan klasifikasi terhadap citra daun. Citra daun dikelompokkan ke dalam 4 kelas spesies yaitu Bougainvillea sp, Geranium sp, Magnolia soulangeana, dan Pinus sp. Pada contoh ini digunakan 40 citra daun yang terdiri dari 10 citra pada masing-masing kelas. Contoh dari citra daun yang digunakan ditunjukkan pada gambar di bawah ini:

Langkah-langkah pemrogramannya adalah sebagai berikut:
1. Mempersiapkan citra latih dan citra uji. Pada contoh ini 40 citra daun dibagi menjadi dua bagian yaitu 24 citra untuk citra latih dan 16 citra untuk citra uji.

a. Citra latih berjumlah 24 citra yang terdiri dari 6 citra pada masing-masing kelas

b. Citra uji berjumlah 16 citra yang terdiri dari 4 citra pada masing-masing kelas

2. Melakukan pelatihan jaringan dengan tahapan-tahapan sebagai berikut:
a. Membaca citra latih
b. Segmentasi citra dengan metode thresholding pada kanal merah
c. Operasi morfologi untuk memperbaiki hasil segmentasi
d. Ekstraksi ciri bentuk berdasarkan parameter metric dan eccentricity
e. Menetapkan target latih (kelas Bougainvillea sp disimbolkan dengan angka 1, kelas Geranium sp dengan angka 2, kelas Magnolia soulangeana dengan angka 3, dan kelas Pinus sp dengan angka 4)
f. Membangun arsitektur jaringan syaraf tiruan propagasi balik
g. Melatih jaringan dengan hasil ekstraksi ciri sebagai masukannya
h. Menghitung akurasi hasil pelatihan

Source code proses pelatihan jaringan adalah sebagai berikut:

clc;clear;close all;

image_folder = 'Citra Latih';
filenames = dir(fullfile(image_folder, '*.jpg'));
total_images = numel(filenames);

for n = 1:total_images
    full_name= fullfile(image_folder, filenames(n).name);
    I = imread(full_name);
    J = I(:,:,1);
    K = im2bw(J,.6);
    L = imcomplement(K);
    str = strel('disk',5);
    M = imclose(L,str);
    N = imfill(M,'holes');
    O = bwareaopen(N,5000);
    stats = regionprops(O,'Area','Perimeter','Eccentricity');
    area(n) = stats.Area;
    perimeter(n) = stats.Perimeter;
    metric(n) = 4*pi*area(n)/(perimeter(n)^2);
    eccentricity(n) = stats.Eccentricity;
end

input = [metric;eccentricity];
target = zeros(1,24);
target(:,1:6) = 1;
target(:,7:12) = 2;
target(:,13:18) = 3;
target(:,19:24) = 4;

net = newff(input,target,[10 5],{'logsig','logsig'},'trainlm');
net.trainParam.epochs = 1000;
net.trainParam.goal = 1e-6;
net = train(net,input,target);
output = round(sim(net,input));
save net.mat net

[m,n] = find(output==target);
akurasi = sum(m)/total_images*100

Salah satu tampilan citra hasil pengolahan ditunjukkan pada gambar di bawah ini:

Sedangkan tampilan proses pelatihan jaringan yaitu:

Hasil klasifikasi proses pelatihan ditunjukkan pada tabel berikut:

Berdasarkan pada tabel tersebut, akurasi yang dihasilkan sistem dalam proses pelatihan adalah 24/24*100% = 100%.

3. Melakukan pengujian jaringan dengan tahapan-tahapan sebagai berikut:
a. Membaca citra uji
b. Segmentasi citra dengan metode thresholding pada kanal merah
c. Operasi morfologi untuk memperbaiki hasil segmentasi
d. Ekstraksi ciri bentuk berdasarkan parameter metric dan eccentricity
e. Menetapkan target uji (kelas Bougainvillea sp disimbolkan dengan angka 1, kelas Geranium sp dengan angka 2, kelas Magnolia soulangeana dengan angka 3, dan kelas Pinus sp dengan angka 4)
f. Memanggil jaringan syaraf tiruan propagasi balik yang telah dibuat pada proses pelatihan
g. Menguji jaringan dengan hasil ekstraksi ciri sebagai masukannya
h. Menghitung akurasi hasil pengujian

Source code proses pengujian jaringan adalah sebagai berikut:

clc;clear;close all;

image_folder = 'Citra Uji';
filenames = dir(fullfile(image_folder, '*.jpg'));
total_images = numel(filenames);

for n = 1:total_images
    full_name= fullfile(image_folder, filenames(n).name);
    I = imread(full_name);
    J = I(:,:,1);
    K = im2bw(J,.6);
    L = imcomplement(K);
    str = strel('disk',5);
    M = imclose(L,str);
    N = imfill(M,'holes');
    O = bwareaopen(N,5000);
    stats = regionprops(O,'Area','Perimeter','Eccentricity');
    area(n) = stats.Area;
    perimeter(n) = stats.Perimeter;
    metric(n) = 4*pi*area(n)/(perimeter(n)^2);
    eccentricity(n) = stats.Eccentricity;
end

input = [metric;eccentricity];
target = zeros(1,16);
target(:,1:4) = 1;
target(:,5:8) = 2;
target(:,9:12) = 3;
target(:,13:16) = 4;

load net
output = round(sim(net,input));

[m,n] = find(output==target);
akurasi = sum(m)/total_images*100

Hasil klasifikasi proses pengujian ditunjukkan pada tabel berikut:

Pada tabel di atas terdapat satu kelas citra daun yang diklasifikasikan dengan salah sehingga akurasi yang dihasilkan jaringan dalam proses pengujian adalah sebesar 15/16*100% = 93,75%.

Akurasi yang dihasilkan sistem baik pada proses pelatihan maupun pengujian menunjukkan bahwa metode yang digunakan dapat mengklasifikasikan citra daun dengan baik.

4. Membuat tampilan GUI Matlab
Source code GUI Matlab untuk proses klasifikasi citra daun adalah sebagai berikut:

function varargout = Klasifikasi_daun(varargin)
% KLASIFIKASI_DAUN MATLAB code for Klasifikasi_daun.fig
%      KLASIFIKASI_DAUN, by itself, creates a new KLASIFIKASI_DAUN or raises the existing
%      singleton*.
%
%      H = KLASIFIKASI_DAUN returns the handle to a new KLASIFIKASI_DAUN or the handle to
%      the existing singleton*.
%
%      KLASIFIKASI_DAUN('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in KLASIFIKASI_DAUN.M with the given input arguments.
%
%      KLASIFIKASI_DAUN('Property','Value',...) creates a new KLASIFIKASI_DAUN or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before Klasifikasi_daun_OpeningFcn gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to Klasifikasi_daun_OpeningFcn via varargin.
%
%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
%      instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help Klasifikasi_daun

% Last Modified by GUIDE v2.5 23-Oct-2016 15:06:14

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @Klasifikasi_daun_OpeningFcn, ...
                   'gui_OutputFcn',  @Klasifikasi_daun_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT


% --- Executes just before Klasifikasi_daun is made visible.
function Klasifikasi_daun_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to Klasifikasi_daun (see VARARGIN)

% Choose default command line output for Klasifikasi_daun
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);
movegui(hObject,'center');

% UIWAIT makes Klasifikasi_daun wait for user response (see UIRESUME)
% uiwait(handles.figure1);


% --- Outputs from this function are returned to the command line.
function varargout = Klasifikasi_daun_OutputFcn(hObject, eventdata, handles) 
% varargout  cell array for returning output args (see VARARGOUT);
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles.output;


% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
[nama_file,nama_path] = uigetfile({'*.*'});

if ~isequal(nama_file,0)
    I = imread(fullfile(nama_path,nama_file));
    axes(handles.axes1)
    imshow(I)
    handles.I = I;
    guidata(hObject,handles)
else
    return
end


% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
I = handles.I;
J = I(:,:,1);
K = im2bw(J,.6);
L = imcomplement(K);
str = strel('disk',5);
M = imclose(L,str);
N = imfill(M,'holes');
O = bwareaopen(N,5000);
stats = regionprops(O,'Area','Perimeter','Eccentricity');
area = stats.Area;
perimeter = stats.Perimeter;
metric = 4*pi*area/(perimeter^2);
eccentricity = stats.Eccentricity;

input = [metric;eccentricity];

load net
output = round(sim(net,input));

axes(handles.axes2)
imshow(O)

if output == 1
    kelas = 'Bougainvillea';
elseif output == 2
    kelas = 'Geranium';
elseif output == 3
    kelas = 'Magnolia soulangeana';
elseif output == 4
    kelas = 'Pinus';
end

set(handles.edit1,'String',kelas)
    

function edit1_Callback(hObject, eventdata, handles)
% hObject    handle to edit1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit1 as text
%        str2double(get(hObject,'String')) returns contents of edit1 as a double


% --- Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject    handle to edit1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end

Tampilan GUI Matlab ditunjukkan pada gambar-gambar berikut ini:
1. Tampilan awal

2. Pengolahan citra daun untuk kelas Bougainvillea sp

3. Pengolahan citra daun untuk kelas Geranium sp

4. Pengolahan citra daun untuk kelas Magnolia soulangeana

5. Pengolahan citra daun untuk kelas Pinus sp

Source code dan citra daun untuk proses klasifikasi pada pemrograman di atas dapat diperoleh pada halaman berikut ini: Source Code

Posted on October 24, 2016, in Data mining, Pengenalan Matlab, Pengenalan Pola, Pengolahan Citra and tagged , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , . Bookmark the permalink. 123 Comments.

  1. permisi mas mau tanya
    ??? Undefined function or variable
    ‘metric’.

    Error in ==> pelatihanjaringan at 24
    input = [metric ; eccentricity];
    metric nya ga ke ditek mas , itu kenapa ya? padahal saya download langsung punya mas adi.

  2. munculin hasilnya di tabel gimana mas?

  3. menentukan target ini gmana ya mas,, mohon penjelasannya …

    target(:,1:6) = 1;
    target(:,7:12) = 2;
    target(:,13:18) = 3;
    target(:,19:24) = 4;

    • dalam pemrograman matlab, nilai target harus direpresentasikan dengan angka
      oleh karena itu, untuk jenis daun pada kelas Bougainvillea sp disimbolkan dengan angka 1, kelas Geranium sp dengan angka 2, kelas Magnolia soulangeana dengan angka 3, dan kelas Pinus sp dengan angka 4

  4. tanya lagi mas,, maksud dari angka ‘[10 5]’ dari script ini apa ya ?
    net = newff(input,target,[10 5],{‘logsig’,’logsig’},’trainlm’);

    dan ketika programnya saya jalankan kok akurasinya berubah-ubah ya?

  5. mas mau tanya kalo klasifikasinya pake JST SOM menggunakan perintah apa ya?
    saya menggunakan net = newsom(input,target,[8,8],’hextop’,’linkdist’); tapi error. Terimakasih

  6. maaf mau nannya lagi mas kalo errornya seperti ini kenapa ya? untuk menyesuaikan matriknya bagaimana ya mas?

    Operands to the || and && operators must be convertible to
    logical scalar values.

    Error in newsom>create_network (line 83)
    v51 = (size(varargin{1},2)==2) || …

    Error in newsom (line 63)
    out1 = create_network(varargin{:});

    Error in Pelatihan (line 55)
    net = newsom(input,target,[10 5],’hextop’,’linkdist’);

    Terimakasih mas

  7. Maaf mas adi mau tanya, pada contoh diatas di nntraintool ada 1 neuron pada ouput layernya. klu mau ganti jumlah output layernya itu kodingnya dibagian mana ya mas? terima kasih sebelumnya mas

    • #jumlah neuron maksudnya mas

    • untuk gambaran terlebih dahulu
      pada materi di atas, keluaran dari jaringan syaraf tiruan berjumlah satu yaitu jenis daun
      jenis daun sendiri memiliki empat kategori yaitu Bougainvillea sp, Geranium sp, Magnolia soulangeana, dan Pinus sp.
      untuk kasus tersebut maka jumlah keluaran jst adalah satu
      sedangkan untuk kasus dengan jumlah keluaran jst lebih dari satu, contoh kasusnya adalah seperti ini:
      misalnya ciri masukan yaitu metric dan eccentricity dapat membedakan jenis daun (4 kategori) dan jenis batang (misal 3 kategori)
      maka keluaran jst yang digunakan adalah berjumlah dua
      untuk pemrogramannnya, ukuran matriks target yang semula berukuran 1 x n diganti dengan matriks berukuran 2 x n
      di mana baris pertama adalah nilai keluaran pertama dan baris kedua adalah nilai keluaran kedua
      n adalah banyaknya data latih

  8. toolong saya diberi instruksi matlab untuk histogram Citra HSV tks

  9. Oke, terimakasih mas adi

  10. mas adi mau nanya…kalo ekstraksi fitur invariant moment itu ikutnya kategori bentuk,tesktur ataau ikut apa ya??terimaksih

  11. mas mau tanya, saya ada projek tentang klasifikasi jst pengenalan pola tenun dengan deteksi tepi di matlab, apakah bisa mempraktekkan dengan contoh diatas, atau ada perbedaannya? terima kasih

  12. Mas Adi, untuk program itu pakai neural networknya yg neural network biasa atau pakai yg backpropagation? Lalu untuk akurasi lebih bagus mana, neural network yg biasa atau backpropagation neural network. Thx

  13. mas, adi mau nanya lagi…saya kan membandingkan nilai ekstraksi fitur dengan metode deteksi tepi robet dan laplacian…hasil nilainya q1 – q7 dari robert lebih tinggi dari pada laplacian… itu analisisnya gmana ya mas??cari materi tentang ekstraski fitur invariant momentnya sulit

  14. Assalamu’alaikum, maaf, mas mau tanya.. algoritma yang dipakai ini backpropagation atau bukan ya?

    terima kasih

  15. terimakasih atas jawabannya mas adi, maaf saya mau tanya lagi, pada contoh diatas tidak menyertakan parameter learning rate, momentum, bobot dan bias..padahal dari beberapa literatur yang saya baca ada tahap pembobotan pada algoritma backpropagation,
    mohon penjelasannya mas,

  16. maaf mas,saya mau tanya lagi.. pada contoh JST untuk klasifikasi anda tidak menyertakan momentum dan inisialisasi bobot, namun pada contoh prediksi anda menyertakan kedua parameter tersebut. Apakah dalam klasifikasi memang dilakukan tanpa parameter bobot dan momentum ? dan mohon penjelasannya mengenai perbedaan JST untuk klasifikasi dan prediksi, terima kasih

    • dalam proses pengkodingan jaringan syaraf tiruan, apabila parameter2 tsb tidak diset, maka nilai dari parameter2 tsb akan secara otomatis menggunakan nilai default

  17. Mas Adi, kan disitu ada syntax “save net.mat net”, saya mau tanya, yg disimpan di dalam .mat itu sebenernya data apa ? Apa data bobot dan biasnya ? Thx

  18. terima kasih atas jawabannya, maaf mas saya mau tanya lagi, pada pembagian data JST terdapat data training, data validasi dan data testing,,,
    bedanya validasi sama testing itu bagaimana kalau di kasus JST untuk citra?

  19. Mas adi, dari metode jst kodingan ini klasifikasi daunnya bisa di terapkan buat identifikasi kematangan buah gak ya?

  20. selain pakai metode jst yang lebih mudah menggunakan metode apa yaa mas adi? untuk deteksi kematangan buah bisa dari struktur buah atau cuma dgn ekstraksi warna aja?

  21. maaf, mas adi saya mau bertnya . kalau input yang kita gunakan adalah nilai hasil ekstraksi warna misal RGB dan HSI, nilai range untuk RGB kan 0-255, H 0-360, dan S juga I 0-1. jilai-nilai tersebut perlu dinormalisai atau tidak ya?
    terima kasih

  22. Selamat malam Mas Adi,

    Saya sedang menyelesaikan tugas akhir saya yang bertema idenfitikasi finger veins.
    Setelah pola pembuluh darah dapat diekstraksi ke citra biner, selanjutnya saya tidak paham fitur apa saja yang dapat saya gunakan untuk dimasukan ke dalam training.
    Melihat tutorial Mas Adi soal klasifikasi daun di bagian daun pinus yang sepertinya tidak jauh berbeda dengan pola finger veins.

    Apakah ekstraksi ciri bentuk berdasarkan parameter metric dan eccentric ditambah JST ini tepat diterapkan ke dua pola finger veins bertipe citra biner dan citra biner setelah mengalami thinning?

    Jika tidak apa alternatif yang cocok?

    citra binner sebelum thinning: https://drive.google.com/file/d/0B90JbsDjR7tyZDVkbDJvTmxQbzQ/view?usp=sharing

    citra binner setelah thinning: https://drive.google.com/file/d/0B90JbsDjR7tydDZ5bmNySWh3cU0/view?usp=sharing

    Saya sangat menunggu jawaban dari Mas Adi.

    Terimakasih

    • selamat malam ardian
      untuk ekstraksi ciri citra biner pada kasus pola finger veins saya rasa akan lebih cocok untuk menggunakan metode ekstraksi ciri momment invariant atau chain code

  23. selamat sore mas adi.. saya mau tanya penelitian saya tentang klasifikasi buah.. data pelatihan saya ketika diuji sudah 100% tetapi pas data uji akurasinya hanya 22% kira2 yang kurang bener apanya ya mas adi? Mohon bantuannya.terimakasih

  24. mas itu yang contoh diatas pakai metode backpropagasi bukan ?

  25. programnya masih eror mas yang pengujian.m pada line 18 @area(n) = stats.Area;

  26. assalamualaikum..
    maf mau nanya, coding untuk citra suara ada tidak ya?

  27. Mhd Haluan Rangkuti

    Assalamualikum bg adi…
    saya mau bertanya, kalau misalnya kita ingin menambahkan satu jenis daun lagi gimana caranya bg?

  28. Mhd Haluan Rangkuti

    jadi pada koding nya kita menambahkan perintah apa bg ? dan di bagian mana?

  29. Assalamualaikum bg Adi,mau nanya apa saja yang digunakan kalau mau buat aplikasi klasifikasi tingkat kematangan buah, ada contoh program yang sudah jadinya bg ?

  30. assalamu’alaikum mau tanya..
    bisa tidak project di atas di inputkan foto seperti face recognitions dan akan menampilkan nama dari foto yang di inputkan? Terimakasih

  31. Assalamualaikum mas, maaf sebelumnya, saya ingin bertanya, sebelum masuk ke pengklasifikasian daun, sebelumnya ada praproses dan ekstraksi citra. Nah, disini praproses yang mas lakukan berupa apa ya? dan apakah ekstraksi yang digunakan adalah ekstraksi bentuk? Terima kasih mas.

    • waalaikumsalam dhea
      praproses merupakan tahapan yg bersifat opsional, bisa dilakukan, bisa tidak
      pada materi ini tidak dilakukan praproses
      ekstraksi ciri dilakukan berdasarkan analisis bentuk daun

  32. kalo mw bikin push button untuk meload nntraintool / newff gmn min? terima kasih bantuannya

  33. saya sudah bikin seperti ini:

    function train_Callback(hObject, eventdata, handles)
    data_latih=handles.data_latih;
    target_latih=handles.target_latih;
    netbantuan=newff(data_latih,target_latih,[15],{‘tansig’,’purelin’},’traingd’);

    namun nntraintool nya g bisa running

  34. Assalamualaikum mas Adi, saya ingin bertanya, terkait kodingan maksud dari angka ‘[10 5]’ dari script ini apa ya ? Pada kodingan ini
    net = newff(input,target,[10 5],{‘logsig’,’logsig’},’trainlm’);
    Terkait nilai akurasi, mengapa setiap dilakukan test nilai akurasi selalu berbeda ya mas? Terima kasih mas, materi ini sangat membantu 🙂

    • waalaikumsalam reva
      nilai tersebut merupakan jumlah neuron pada hidden layer
      nilai akurasi berbeda karena bobot awal diinisialisasi secara acak
      supaya tidak berbeda, maka bobot awal harus diinisialisasi dengan memberikan nilai yg tetap terlebih dahulu

  35. Selamat sore mas Adi, saya ingin bertanya untuk JST propagasi balik ini bisa untuk mengelompokkan lebih dari 5 kelas tidak mas? terima masih mas

  36. slamat sore mas, saya ingin bertanya jika menjalankan file pelatihan apakah harus membangun gui nya terlebih dahulu?
    jika pesan error seperti ini: Matrix dimensions must agree. [m,n] = find(output==target);
    bagian apa yg perlu di perbaiki?
    Trimakasi mas Adi

  37. Assalamualaikum mas, saya ingin bertanya lagi, apakah dalam klasifikasi citra daun ini, ekstraksi ciri citra yang dilakukan bisa hanya dengan melakukan ekstraksi ciri bentuk tanpa ciri morfologi dan tekstur, dan juga tidak melakukan kontur?
    dan juga mas, dimakah saya bisa mendapatkan materi yang lengkap mengenai ekstraksi ciri bentuk daun mengenai materi dan perhitungan manualnya?
    terima kasih banyak ya mas..

  38. slamat siang mas kalo pesan errornya seperti ini gimana mas?
    Error using ==
    Matrix dimensions must agree.

    Error in Pengujian (line 39)
    [m,n] = find(output==target);

    trimkasi mas

  39. selamat sore mas adi mau tanya saya kan sedang mengerjakan TA saya mengenai klasifikasi tutupan lahan menggunakan JST, disini kan saya inputan menggunakan nilai pixel pada citra. untuk targetnya ada 4 kelas dan di targetnya sendiri saya pakai pixel jga dri masing-masing kelas untuk proses klasifikasi, kira-kira kalo semisal menggunakan source code diatas bisa diterapkan tidak ya. trmksh

  40. mas mau tanya lagi semisal untuk pembacaan citra latih jika menggunakan fungsi imread apakah source codenya sama dengan pembacaan citra diatas mas

  41. Slamat siang mas, mau tanya kalo menambahkan data latih dalam jumlah yg besar apakah masih bisa menggunakan coding di atas? saya menggunakan data latih sebesar 15 tiap target. namun saat saya tambahkan data latih nya mulai error. saya sudah mengubah jumlah pada target tapi masih error. selalu error pada area(n) = stats.Area
    Trimakasi mas

  42. kak, kok saya nyoba data untuk UJI ada yang nggak kebaca ya? jadi masukan misal y=62,3 ketika di window comand ketik y=NAN. NAN artinya not a number knp ya kak?

    kalau data y=70 (bilangan bulat), keluarannya ketika ketik y (di windows comman) keluarannya bener y=70

    apakah inputan bilangan tidak bulat nggak kebaca?

  43. Mas mau nanya untuk melakukan cara pelatihan itu prosesnya seperti gimana?

  44. Assalamualaikum mas adi. Materi nya sangat membantu sekali mas. tapi ada beberapa pertanyaan yg saya ingin tanyakan karena masih agak bingung

    1. bagaimana cara menampilkan tabel Hasil Proses Klasifikasi dari pengujian dan pelatihan pada gambar diatas ?

    2. saya sudah mencoba klasifikasi dengan metode sperti ini, saat dicoba untuk pelatihannnya akurasi = 100 tapi untuk pengujiannya akurasi = 50. kenapa saat diuji hasilnya hanya 50 saja ? bagaimana caranya untuk meningkatkan akurasinya menjadi > 50 ?

    Terima Kasih, Semoga mas adi ada waktu untuk menjawabnya

  45. saya mau nanya, kelas 1 dan 2 saat dirunning kok nama klasifikasinya sama kaya kelas ke 3 ya?
    mohon bantuannya.

  46. Sayakan menggunakan 4 jenis cabai, rawit, tiung, merah kriting, & merah besar. Tapi hasil klasifikasi hanya cabai merah kriting dan tiung yg berhasil, sedangkan yang cabai rawit dan merah besar, nama klasifikasinya malah menjadi cabai tiung, itu karena apa ya?

  47. mas saya mau tanya , kan ada yg nanya kenapa kelas 1 dan 2 saat di running nama klasifikasi nya sama seperti kelas 3,, trus mas jawab “coba di ubah ubah parameter dan arsitektur jst agar diperoleh akurasi yg tinggi dlam klasifikasi” mksd saya di mana mengubah ngubah para meter dan arsitektur nya, dirubah seperti apa
    thanks

  48. emilfitranshah

    mas adi jika koding ini di terapkan pada pengenalan wajah bisa kan?

  49. Mas ini kenapa fitur regionprops makek Area’,’Perimeter’,’Eccentricity ya? kenapa gak pakek ConvexArea MajorAxisLength MinorAxisLength atau lainya? makasih mas..

    dan ada gak fe tambahan selain are perimeter dan ecc biar akurasi naik?

    makasih mas

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: