Jaringan Syaraf Tiruan untuk Identifikasi Jenis Bunga
Jaringan syaraf tiruan (neural network) merupakan algoritma yang mampu melakukan identifikasi suatu kelas berdasarkan ciri masukan yang diberikan. Algoritma ini akan melatihkan ciri masukan yang diberikan pada masing-masing kelas sehingga diperoleh suatu arsitektur jaringan dan bobot-bobot awal yang mampu memetakan ciri masukan ke dalam kelas keluaran.
Terdapat banyak jenis jaringan syaraf tiruan, di antaranya adalah backpropagation, perceptron, probablistik neural network, radial basis network, dll.
Berikut ini merupakan contoh aplikasi pemrograman matlab (menggunakan matlab r2015b) untuk mengidentifikasi jenis bunga menggunakan algoritma jaringan syaraf tiruan radial basis function (rbfnn). Pada proses pelatihan jaringan digunakan 100 citra latih yang terdiri dari 50 citra bunga dengan jenis kansas state flower dan 50 citra bunga berjenis marguerite daisy. Sedangkan pada proses pengujian digunakan 60 citra uji yang terdiri dari 30 citra bunga kansas state flower dan 50 citra bunga marguerite daisy.
Contoh citra bunga yang digunakan ditunjukkan pada gambar berikut.
Ciri yang digunakan untuk membedakan kedua jenis bunga tersebut adalah ciri warna RGB berdasarkan nilai rata-rata R, G, dan B, dan ciri tekstur filter gabor berdasarkan nilai mean (rata-rata), entropy, dan varians dari citra magnitude.
Langkah-langkah pemrogramannya adalah:
1. Mempersiapkan data latih dan data uji
Data latih
2. Melakukan ekstraksi ciri warna RGB dan ekstraksi ciri tekstur filter gabor
clc; clear; close all; warning off all; image_folder = 'data latih'; filenames = dir(fullfile(image_folder, '*.jpg')); total_images = numel(filenames); data_latih = zeros(6,total_images); for n = 1:total_images full_name= fullfile(image_folder, filenames(n).name); Img = imread(full_name); % Ekstraksi Ciri Warna RGB R = Img(:,:,1); G = Img(:,:,2); B = Img(:,:,3); CiriR = mean(R); CiriG = mean(G); CiriB = mean(B); % Ekstraksi Ciri Tekstur Filter Gabor I = rgb2gray(Img); wavelength = 4; orientation = 90; [mag,phase] = gaborfilt(I,wavelength,orientation); H = imhist(mag)'; H = H/sum(H); I = [0:255]/255; CiriMEAN = mean(mag); CiriENT = -H*log2(H+eps)'; CiriVAR = (I-CiriMEAN).^2*H'; % Pembentukan data latih data_latih(1,n) = CiriR; data_latih(2,n) = CiriG; data_latih(3,n) = CiriB; data_latih(4,n) = CiriMEAN; data_latih(5,n) = CiriENT; data_latih(6,n) = CiriVAR; end
sehingga diperoleh data ciri proses pelatihan seperti ditunjukkan pada gambar berikut
3. Melakukan pelatihan jaringan menggunakan data ciri tersebut
% Pembentukan target latih target_latih = ones(1,total_images); target_latih(1:total_images/2) = 0; % performance goal (MSE) error_goal = 1e-6; % choose a spread constant spread = 1; % choose max number of neurons K = 5; % number of neurons to add between displays Ki = 20; % create a neural network net = newrb(data_latih,target_latih,error_goal,spread,K,Ki); % Proses training [net_keluaran,tr,~,E] = train(net,data_latih,target_latih); save net_keluaran net_keluaran % Hasil identifikasi hasil_latih = sim(net_keluaran,data_latih); [m,n] = find(hasil_latih==target_latih); akurasi = sum(m)/total_images*100
sehingga diperoleh tampilan proses pelatihan
Pada hasil pelatihan diperoleh informasi bahwa dari 100 data latih terdapat 18 data yang diidentifikasi secara salah sehingga akurasi yang dihasilkan pada proses pelatihan adalah sebesar 92%. Jaringan yang telah dihasilkan kemudian disimpan agar dapat digunakan untuk proses pengujian.
4. Langkah berikutnya adalah melakukan pengujian jaringan menggunakan data uji. Sama seperti pada proses pelatihan, pada pengujian juga dilakukan ekstraksi ciri yang sama yaitu ekstraksi ciri warna dan ekstraksi ciri tekstur.
Data ciri proses pengujian yang diperoleh yaitu:
5. Melakukan pengujian jaringan menggunakan data ciri pengujian tersebut. Pengujian dilakukan terhadap jaringan telah dibentuk sebelumnya pada proses pelatihan.
clc; clear; close all; image_folder = 'data uji'; filenames = dir(fullfile(image_folder, '*.jpg')); total_images = numel(filenames); data_uji = zeros(6,total_images); for n = 1:total_images full_name= fullfile(image_folder, filenames(n).name); Img = imread(full_name); % Ekstraksi Ciri Warna RGB R = Img(:,:,1); G = Img(:,:,2); B = Img(:,:,3); CiriR = mean(R); CiriG = mean(G); CiriB = mean(B); % Ekstraksi Ciri Tekstur Filter Gabor I = rgb2gray(Img); wavelength = 4; orientation = 90; [mag,phase] = gaborfilt(I,wavelength,orientation); H = imhist(mag)'; H = H/sum(H); I = [0:255]/255; CiriMEAN = mean(mag); CiriENT = -H*log2(H+eps)'; CiriVAR = (I-CiriMEAN).^2*H'; % Pembentukan data uji data_uji(1,n) = CiriR; data_uji(2,n) = CiriG; data_uji(3,n) = CiriB; data_uji(4,n) = CiriMEAN; data_uji(5,n) = CiriENT; data_uji(6,n) = CiriVAR; end % Pembentukan target uji target_uji = ones(1,total_images); target_uji(1:total_images/2) = 0; load net_keluaran hasil_uji = sim(net_keluaran,data_uji); [m,n] = find(hasil_uji==target_uji); akurasi = sum(m)/total_images*100
Dari hasil proses pengujian diperoleh informasi bahwa dari 60 data citra uji terdapat 16 data yang diidentifikasi secara salah sehingga akurasi yang dihasilkan pada proses pengujian adalah sebesar 73%.
Nilai akurasi pelatihan dan pengujian yang cukup tinggi menunjukkan bahwa jaringan syaraf tiruan radial basis yang dirancang mampu untuk mengidentifikasi jenis bunga dengan cukup baik.
6. Membuat tampilan GUI agar proses identifikasi jenis bunga dapat lebih interaktif. Tampilan awal GUI ditunjukkan pada gambar di bawah ini.
7. Membuka salah satu citra bunga berjenis Kansas state flower
8. Melakukan ekstraksi ciri warna dan ciri tektur
9. Melakukan identifikasi jenis bunga
10. Membuka salah satu citra bunga berjenis Marguerite daisy
11. Melakukan ekstraksi ciri warna dan ciri tektur
12. Melakukan identifikasi jenis bunga
Tampilan source code GUI nya adalah sebagai berikut:
function varargout = identifikasi_bunga(varargin) % IDENTIFIKASI_BUNGA MATLAB code for identifikasi_bunga.fig % IDENTIFIKASI_BUNGA, by itself, creates a new IDENTIFIKASI_BUNGA or raises the existing % singleton*. % % H = IDENTIFIKASI_BUNGA returns the handle to a new IDENTIFIKASI_BUNGA or the handle to % the existing singleton*. % % IDENTIFIKASI_BUNGA('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in IDENTIFIKASI_BUNGA.M with the given input arguments. % % IDENTIFIKASI_BUNGA('Property','Value',...) creates a new IDENTIFIKASI_BUNGA or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before identifikasi_bunga_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to identifikasi_bunga_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 identifikasi_bunga % Last Modified by GUIDE v2.5 05-Jun-2017 01:28:31 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @identifikasi_bunga_OpeningFcn, ... 'gui_OutputFcn', @identifikasi_bunga_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 identifikasi_bunga is made visible. function identifikasi_bunga_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 identifikasi_bunga (see VARARGIN) % Choose default command line output for identifikasi_bunga handles.output = hObject; % Update handles structure guidata(hObject, handles); movegui(hObject,'center'); % UIWAIT makes identifikasi_bunga wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = identifikasi_bunga_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) try [nama_file,nama_path] = uigetfile({'*.*'}); if ~isequal(nama_file,0) Img = imread(fullfile(nama_path,nama_file)); axes(handles.axes1) imshow(Img) handles.Img = Img; guidata(hObject,handles) axes(handles.axes2) cla reset set(gca,'XTick',[]) set(gca,'YTick',[]) axes(handles.axes3) cla reset set(gca,'XTick',[]) set(gca,'YTick',[]) axes(handles.axes4) cla reset set(gca,'XTick',[]) set(gca,'YTick',[]) axes(handles.axes5) cla reset set(gca,'XTick',[]) set(gca,'YTick',[]) set(handles.uitable1,'Data',[]) set(handles.edit1,'String','') else return end catch 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) try Img = handles.Img; % Ekstraksi Ciri Warna RGB R = Img(:,:,1); G = Img(:,:,2); B = Img(:,:,3); Red = cat(3,R,G*0,B*0); Green = cat(3,R*0,G,B*0); Blue = cat(3,R*0,G*0,B); axes(handles.axes2) imshow(Red) title('Red') axes(handles.axes3) imshow(Green) title('Green') axes(handles.axes4) imshow(Blue) title('Blue') CiriR = mean(R); CiriG = mean(G); CiriB = mean(B); % Ekstraksi Ciri Tekstur Filter Gabor I = rgb2gray(Img); wavelength = 4; orientation = 90; [mag,~] = gaborfilt(I,wavelength,orientation); axes(handles.axes5) imshow(mag,[]) title('Magnitude') H = imhist(mag)'; H = H/sum(H); I = [0:255]/255; CiriMEAN = mean(mag); CiriENT = -H*log2(H+eps)'; CiriVAR = (I-CiriMEAN).^2*H'; data2 = cell(6,2); data2{1,1} = 'Red'; data2{2,1} = 'Green'; data2{3,1} = 'Blue'; data2{4,1} = 'Mean'; data2{5,1} = 'Entropy'; data2{6,1} = 'Varians'; data2{1,2} = CiriR; data2{2,2} = CiriG; data2{3,2} = CiriB; data2{4,2} = CiriMEAN; data2{5,2} = CiriENT; data2{6,2} = CiriVAR; set(handles.uitable1,'Data',data2,'ForegroundColor',[0 0 0]) ciri_bunga = [CiriR; CiriG; CiriB; CiriMEAN; CiriENT; CiriVAR]; handles.ciri_bunga = ciri_bunga; guidata(hObject, handles) set(handles.edit1,'String','') catch end % --- Executes on button press in pushbutton3. function pushbutton3_Callback(hObject, eventdata, handles) % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) try ciri_bunga = handles.ciri_bunga; load net_keluaran hasil_uji = sim(net_keluaran,ciri_bunga); if hasil_uji == 0 kelas = 'Kansas state flower'; elseif hasil_uji == 1 kelas = 'Marguerite daisy'; else kelas = 'Unknown'; end set(handles.edit1,'String',kelas); catch end % --- Executes on button press in pushbutton4. function pushbutton4_Callback(hObject, eventdata, handles) % hObject handle to pushbutton4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) axes(handles.axes1) cla reset set(gca,'XTick',[]) set(gca,'YTick',[]) axes(handles.axes2) cla reset set(gca,'XTick',[]) set(gca,'YTick',[]) axes(handles.axes3) cla reset set(gca,'XTick',[]) set(gca,'YTick',[]) axes(handles.axes4) cla reset set(gca,'XTick',[]) set(gca,'YTick',[]) axes(handles.axes5) cla reset set(gca,'XTick',[]) set(gca,'YTick',[]) set(handles.uitable1,'Data',[]) set(handles.edit1,'String','') 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
File source code lengkap beserta citra pada pemrograman di atas dapat diperoleh melalui halaman berikut ini: Source Code
Posted on June 5, 2017, in Data mining, Pengenalan Pola, Pengolahan Citra and tagged aplikasi jaringan syaraf tiruan matlab, aplikasi pengolahan citra menggunakan matlab, aplikasi program matlab pengolahan citra, cara membuat aplikasi pengolahan citra digital menggunakan matlab, contoh aplikasi jst matlab, contoh koding jst matlab, contoh koding jst rbf matlab, contoh program jst matlab, contoh program matlab sederhana, Data mining, ekstraksi ciri, ekstraksi ciri rgb, ekstraksi ciri tekstur, filter gabor, identifikasi citra bunga, jaringan syaraf tiruan, jaringan syaraf tiruan radial basis function, jst adalah, jst matlab, jst rbf, Pengenalan Pola, pengolahan citra, radial basis function matlab, rbfnn matlab. Bookmark the permalink. 96 Comments.
Itu pake fungsi aktivasinya apa ya mas untuk pelatihan ? Atau di rbf ga perlu fungsi aktivasi ? Thx
fungsi aktivasi yang digunakan dalam pelatihan jaringan radial basis network adalah radial basis function (rbf)
mas mau tanyak, kan diketahui ada 18 data yang diidentifikasi salah dari 100 data latih, cara melahtnya itu gimana mas,. . .
Bisa dilihat dg cara membandingkan variabel hasil latih dan target latih
Serta hasil uji dan target uji
file net_keluaran itu fungsinya untuk apa gan? thx
net_keluaran merupakan arsitektur jaringan syaraf tiruan hasil dari proses pelatihan yg berisi bobot-bobot dan parameter lainnya
mas saat saya coba mengganti data latihnya, nilai hasilnya jadi gak beraturan gitu gimana yaa mas?
mas ini knp ya??
Undefined function or method ‘imgaborfilt’ for input arguments of type ‘double’.
Koding tsb dapat dijalankan minimal menggunakan matlab r2015b
Mas adi, saya mau bertanya,
Apakah bisa menggunakan metode JST untuk sistem yang bersifat REALTIME dan sistem yang bersifat REALTIME, apakah harus membuat Data Latih dan Data Uji dahulu ?
Contohnya : Saya akan membuat sistem identifikasi penyakit lidah dengan metode RGB, apakah saya harus membuat Data latih dan Data Uji atau ciri-cici RGB objek1 dan objek2 saya masukkan melalui Syntax tanpa membuat Data latih dan Data Uji?
Apakah menurut mas adi, sistem yang bersifat realtime yang dapat mengidentifikasi, dapat dilakukan tanpa harus membuat Data latih dan Data Uji ?
Dan kalau mau menghitung tingkat KETEPATAN prediksi, berarti saya harus membuat Data Latih dan Data Uji ?
Maaf sekali mas, jika saya banyak pertanyaan.
Mohon bimbingan serta masukkan dari mas adi.
jst dapat diimplementasikan secara real time dengan terlebih dahulu melakukan pelatihan dan pengujian secara offline kemudian baru dapat diimplementasikan secara real time dengan memanggil arsitektur jaringan yang sebelumnya telah dibangun
Terima kasih untuk masukkan dari mas.
Pertanyaan terakhir mas,
Cara untuk memanggil Arsitektur bagaimana mas ?
Boleh share referensi dari mas.
Atau ada kasus-kasus pada Web Internal ini, yang bisa saya pelajari ?
untuk memanggil arsitektur jaringan yang sudah dibangun bisa menggunakan perintah load net
Mas adi,
wavelength = 4;
orientation = 90;
4 dan 90 itu didapat darimana mas pada syntax di atas ?
Nilai-nilai tersebut merupakan salah satu contoh, abed
Bisa divariasikan dengan nilai-nilai yang lain
Ok..ok mas adi.. terima kasih banyak mas.
Saya pikir, angka 4 tersebut, merupakan jumlah Bunga / Objek.
Sekali lagi terima kasih mas buat masukkan nya mas..
sama sama abed
mas adi.
syntax di atas : target_latih(1:total_images/2) = 0;
total image / 2 karena citra mempunyai 2 jenis ya mas ?
kalau citra hanya 1 jenis saja gimana mas ?
mohon masukkan nya mas adi.
dalam pengenalan citra, kelas yg ingin dibedakan minimal adalah dua kelas
siap mas. mas satu pertanyaan lagi mas.
Pada jaringan syaraf tiruan,
Adakah hal yang dapat dilakukan untuk meningkatkan nilai akurasi tahap pengujian mas ?
Atau menambah Karakateristik citra dapat menambah nilai akurasi ya mas ?
Mohon bimbingannya mas adi.
banyak faktor yg menyebabkan tingkat akurasi pengujian rendah
di antaranya adalah
adanya perbedaan kondisi proses akusisi citra saat pelatihan dan pengujian
fitur yg digunakan kurang cocok untuk membedakan antar kelas
algoritma segmentasi, pemilihan fitur, dan algoritma identifikasi yg kurang cocok
Mas saya mau nanya nentuin ” 0 = Kansas state flower”, ” 1 = Marguerite daisy” itu dari mana ya?
Terus hasil nya itu apakan di tentukan dari jarak nilai terdekat ?
Terima Kasih
Penentuan nilai target dapat dilakukan secara bebas
% performance goal (MSE)
error_goal = 1e-6;
% choose a spread constant
spread = 1;
% choose max number of neurons
K = 5;
% number of neurons to add between displays
Ki = 20;
Mas bisa jelasin maksud bagian diatas?
Maaf saya kurang paham
Koding di atas merupakan parameter-parameter yg mempengaruhi performansi dari jaringan syaraf tiruan
mas adi, salam kenal, maaf saya mau tanya jika yang identifikasi ada 5 jenis buka, apakah dengan mengubah
target_latih(1:total_images/2) = 0;
menjadi
target_latih(1:total_images/5) = 0;
mohon pencerahan nya terimakasih
5 jenis bunga maksudnya mas
salam kenal meiki
iya betul
target latih diberi angka misal 0 s.d 4 atau 1 s.d 5
baik berati untuk mengubah nya untuk 5 bunga menjadi :
target_latih(1:total_images/5) = 0;
arti dari kode ini berarti langsung membagi dalam 5 klasifikasi ya mas adi?
iya meiki
mas untuk jaring syaraf tiruan untuk identifikasi jenis bunga ada beberapa pertanyaan mohon bantuannya mas
1. file sudah saya coba sudah sukses tapi pada identifikasi saya tekan tidak sesuai harapan, saya masukkan file gambar ‘Kansas state flower’ dan saya ganti “Marguerite daisy” hasilnya tetap salah satunya alias tidak terubah saya menggunakan matlab 2017a.
2. jika saya ingin menambahkan/mengganti dengan variabel yang lain seperti apa mas mohon pencerahannya.. Makasih mas
Akurasi sistem tidak selalu 100%
maaf mas mau tanya, saya kan sudah melakukan klasifikasi citra menggunakan metode rbf. untuk citra latihnya saya ambil dari citra uji yang di crop per kelasnya. outputnya sudah keluar tapi pada saat dilakukan uji akurasi (confusion matrix) nilai akurasi hanya menghasilkan sekitar 40 %.nan itu kira-kira knp mas
Bisa divariasikan parameter2 jst rbf terlebih dahulu
selamat malam mas adi, salam kenal. saya ingin bertanya, jika sata menggunakan objeknya jenis hewan apakah saya juga bisa menggunakan ciri warna RGB berdasarkan nilai rata-rata R, G, dan B, dan ciri tekstur filter gabor dll. untuk membedakan jenis hewan tersebut seperti membedakan jenis bunga seperti contoh program diatas? mohon penjelasannya mas, terima kasih
Selamat malam angel
Bisa diterapkan, bisa dianalisis terlebih dahulu ciri apakah yg membedakan antara hewan yg satu dg hewan lainnya, apakah warnanya, apakah bentuknya, apakah tekstur kulitnya
Setelah itu bisa dicoba diimplementasikan metode yg cocok utk mengekstrak ciri pada masing2 hewan
selamat siang mas adi saya mau tanya saya ingin membuat menjadi 3 klasifikasi dengan mengubah
target_latih(1:total_images/2) = 0;
menjadi
target_latih(1:total_images/3) = 0;
namun saya masih bingung dengan hasil latihnya hanya bernilai 1 dan 0. tidak terbagi jadi 3 bagian, itu bagaimana ya ya mas
Selamat siang wisnu
Bisa dibuat nilai target utk kelas yg pertama dengan nilai 1
Nilai target utk kelas yg kedua dengan nilai 2
Nilai target utk kelas yg ketiga dengan nilai 3
ok baik mas adi.
oh iya mas kalau untuk nilai Maximum number of neurons dan Number of neurons to add between displays fungsinya untuk apa ya mas pada neural network radial basic ?
Nilai tsb merupakan jumlah neuron maksimum dan jumlah kelipatan neuron yg ditambahkan saat ditampilkan
maaf mas saya mau tanya, ini metode pencocokkannya pakai apa ya? lalu tahap pengujian itu memang harus ada ya? terima kasih
metode pencocokan menggunakan algoritma jaringan syaraf tiruan
maaf mas mau tanya lagi, kan diatas sudah ada yang tanya gimana caranya membagi kelas-kelas targetnya. maksudnya itu membagi kelas target latih bagaimana ya? apa ada contohnya?
pembagian kelas target latih selalu disesuaikan dengan kelas sebenarnya
misalnya ada 2 kelas maka pada target latih dibuat 2 kelas, misalnya ada 3 kelas maka pada target latih dibuat 3 kelas, dst
Assalamu’alaikum mas saya mau tanya
Apakah ada ekstraksi ciri lain yg cocok untuk identifikasi jenis bunga ini selain ekstraksi ciri diatas?
Bagaimana dengan ekstraksi ciri rgb dgn glcm untuk identifikasi jenis bunga ini apakah cocok?
Kelebihan glcm dibandingkan yg ciri tekstur lain apa ya?
Maaf kalo saya banyak tanya
Waalaikumsalam harfi
Ekstraksi ciri rgb dan glcm bisa dicoba diimplementasikan utk identifikasi jenis bunga
jaringan rbf diatas itu pakai fungsi gaussian?
Iya betul harfi
Untuk image kenapa di konversi dg im2double dulu sebelum melakukan ekstraksi ciri?bedanya apa kalo tidak di im2double?
Untuk MSE itu fungsinya apa di performance?
im2double untuk mengkonversi kelas data menjadi double
Materi mengenai mse bisa dilihat pada halaman berikut ini
https://pemrogramanmatlab.com/2017/06/04/cara-menghitung-nilai-mse-rmse-dan-psnr-pada-citra-digital/
Di [net_keluaran, tr, ~, E] yg ~ itu maksdnya apa ya? Kalo saya ganti ~ jadi Y seperti ini [net_keluaran, tr, Y, E] hasilnya tetep sama, apa cuma beda penamaan parameter tp fungsinya tetep sama (network outputs)?
Selamat malam mas adi. mau tanya mengenai code dibawah tr dan E itu apa ya mas ?
[net_keluaran,tr,~,E]
assalamualaikum Selamat siang mas adi. mau tanya mengenai code dibawah tr dan E itu apa ya mas ?
[net_keluaran,tr,~,E]
mas, mau tanya
ada rekomendasi buku yang membahasan tentang radial basis gak ya?
Mudah2an ke depan saya ada rekomendasi buku yg membahas tentang radial basis
saya sudah melakukan pelatihan dan pengujian mas, hasil akurasinya sudah keluar, saya mau buat tampilan GUI nya, saya bingung yg dimasukin kedalam GUI untuk klasifikasinya.
Nilai akurasi bisa ditampilkan di edit text dengan perintah set(handles.edit1,’String’,[num2str(akurasi),’ %’])
Punten bang kira2 abang punya judul yg pas buat judul skripsi. Mks bang
H = imhist(mag)’;
H = H/sum(H);
I = [0:255]/255;
CiriMEAN = mean2(mag);
CiriENT = -H*log2(H+eps)’;
CiriVAR = (I-CiriMEAN).^2*H’;
Maaf mas bisa dijelaskan ini untuk apa ya? Terima kasih
mas saya mau nanya, letak bobot pada program bisa dilihat dimana ya?
Bobot pada program bisa dilihat pada variabel net yang merupakan arsitektur jaringan syaraf tiruan
Misi mas, mau tanya
Saya ingin coba menambahkan menjadi 4 kelas. Namun ketika saya mengganti
target(1:total_images/2= 0; menjadi target(1:total_images/4) = 0;
Hasilnya tetap 2 kelas yang terbaca. Selain kelas yang diganti apa ada variabel atau parameter yang diganti? Terima kasih sebelumnya mas
target_latih(1:total_images/2) = 0; menjadi target_latih(1:total_images/4) = 0; maksudnya mas
Permisi mas mau nanya, nilai error goal, spread ki dan k itu ketetapan atau gimana mas? Berdasarkan apa kita bisa mengubahnya? Terima kasih mas
Nilai tersebut bisa dicoba divariasikan
Okee mas, untuk memvariasikannya ada aturannya ndak mas?
Bisa dicoba divariasikan
Terima kasih mas, kalau untuk ekstraksi ciri filter gabor rumus asal programnya apa yaa mas?
Persamaan filter gabor bisa dicari referensinya pada jurnal terkait
mau nanya ni mas Adi, saya kan dah beli buku mas adi terus untuk klasifikasi bunga lebih dari 2 jenis semisal 3 bunga itu gimana ya caranya dengan data latih utuk satu bunga itu 6 data latih, jadi totalnya 18 data latih saya udah buka sorce kodenya tapi ko tidak bisa ya mas ? mohon bantuannya?
bisa dipelajari kembali teknik koding untuk pelatihan jaringan syaraf tiruan
mas adi mau tanya, saya udah mengikuti semua tutorial dan source codenya tp ketika saya tekan tombol identifikasi nama dari bunga tidak muncul sama sekali mas. apa source code nya ada yg kurang?? mohon penjelasanya mas
Source code di atas tidak bisa dijalankan jika hanya dicopypaste saja
Source code lengkap bisa diperoleh melalui tokopedia sehingga bisa langsung dirunning dan dikembangkan
Selamat siang mas,saya ingin bertanya apabila saya mau membuat dengan 3 kelas keluaran bagaimana ya codingnya yang disini
%pembentukan target latih
Target_latih = ones(1,total_images);
Target_latih(1:total_image/2)=0;
Makasih mas
Selamat malam Mas Adi, saya ingin bertanya berkaitan penambahan kelas (klasifikasi bunga), semisal saya ingin membuat 3 klasifikasi bunga. Penambahan codingnya seperti apa ya mas ?
Saya coba-coba masih belum bisa
Selamat malam
Source code lengkap bisa diperoleh melalui tokopedia sehingga bisa langsung dirunning dan dikembangkan
mas mau tanya untuk varians source kodenya gimana yaa ?
Bisa menggunakan fungsi var
Terima kasih banyak mas
Baik sama sama
Unable to read file ‘net_keluaran’. No such file or directory. ini kenapa ya mas ?
maaf mas izin bertanya mohon maaf lupa mengenalkan diri nama saya fadel amss
source code lengkap beserta data bisa dibeli melalui tokopedia
sehingga bisa langsung dirunning di matlab tanpa error
mohon maaf mas menanya lagi bagaimana cara menampilkan tabel variable data uji ya mas ?
okok mas makasih mas
Mas untuk lebih dari 2 jenis atau 2 spesies gitu apa saja yang harus diganti supaya hasilnya benar ya?
mas saya mau nanya saat extraksi ciri warna masukin kode nya trus run nya gimana ya?
Cara menampilkan tingkat akurasinya bagimana pak?
Mas mau tanya, kan kmrn saya sudah order source code dan ada beberapa hal yang ingin saya tanyakan boleh kah saya WA mas nya sesuai dengan nmr yang tertera ?
Maaf sebelumnya saya ijin dulu sebelum mau mengganggu hehehe :3
Boleh silakan
Cara menampilkan tingkat akurasinya bagainana ini
Cara menampilkan tingkat akurasinya bagainana ya pak agarvdaya tahu dti hasil klasifikasinya dalam indentifikasi jenia bunga berapa persen
Salam kenal bapak, izin bertanya
target_latih = ones(1,total_images);
target_latih(1:total_images/5) = 0;
pak izin beranya, data saya ada 5 jenis, sudah seperti ini, tetapi kenapa yang mau munvul hanya hasil uji 0 dan 1, sedangkan 2, 3, 4 tidak mau, malah terklasifikasi ke yang hasil uji 1, terimakasih
Assalamualaikum Mas. Saya sudah order source codenya. Saya mau bertanya tentang bagian ini Mas.
kan diatas menggunakan datasetnya hanya 2 saja. jadi hasil dari outputnya nilainya hanya 0 dan 1. Nah, misalkan saya tambah datasetnya menjadi 10 itu caranya bagaimana Mas?. saya mencoba mencari-cari referensi masih gagal dan kebingungan. bahkan sampai error. sekiranya klo boleh. apakah saya bisa menanyakan langsung lewat WA? Terima kasih.
Pingback: Pengertian Jaringan Syaraf Tiruan, Fuzzy Logic dan Algoritma Genetika – andre
Pingback: Kecerdasan Komputasional – Judul Situs