0

Ich versuche, ein Neuronales Netzwerk für die Formerkennung zu implementieren - eigentlich sind diese Formen Buchstaben. Ich möchte dieses Netzwerk implementieren, um an Fourier-Deskriptoren zu arbeiten, die aus Shapes abgerufen werden. Mein Problem ist, dass, was auch immer ich tue, die Anzahl der Neuronen der versteckten Schicht ändern, verschiedene Trainingsfunktionen verwenden und so weiter, ich bekomme immer Leistung von Netzwerk mehr oder weniger gleich 0.25. Ich habe jetzt seit ein paar Tagen mit diesem Problem zu kämpfen, und ich bin hier wirklich auf eine Mauer gestoßen, daher würde ich jede Hilfe in dieser Angelegenheit zu schätzen wissen.Formerkennung Neural Network schlechte Leistung

images = readImages(path, str_format); 
Tindex = 1; 

T = zeros(size(images,1),size(images,1)/4); 
[F Z] = GetLetterDescriptors(images{1}); 
descriptors = zeros(length(F),size(T,1)); 
for i = 1 : size(images,1)  
    [F, Z] = GetLetterDescriptors(images{i}); 
    descriptors(:,i) = F; 
    T(i,Tindex) = 1; 
    Tindex = Tindex + 1; 
end 


net = feedforwardnet(35); 
T = T'; 
net.layers{2}.transferFcn = 'logsig'; 
net.layers{1}.transferFcn = 'logsig'; 
net = trainscg(net,descriptors,T,nnMATLAB); 
y = sim(net,descriptors,[],[]); 
perf = perform(net,T,y); 

F sind echte Werte Fourier Deskriptoren.

+0

Mit "echte Werte Fourier Deskriptoren", meintest du echte Teile von komplexen FDs? – Kijan

+0

Ja, sie sind echte Teile komplexer FDs – Michal

Antwort

0

Ich habe dieses Problem schon vor einiger Zeit gelöst, aber ich habe diesen Beitrag völlig vergessen. Um dieses spezielle Problem zu lösen, musste ich patternet Funktion anstelle von feedforwardnet verwenden, dann konnte das Netz in einigen Epochen erfolgreich lernen.

Verwandte Themen