形状识别神经网络性能差

时间:2016-04-11 13:47:19

标签: matlab neural-network shape-recognition fourier-descriptors

我正在尝试实现神经网络以进行形状识别 - 实际上这些形状是字母。我想实现这个网络来处理从形状中检索的傅立叶描述符。我的问题是,无论我做什么,改变隐藏层神经元的数量,使用不同的训练功能等等,我总是得到网络的性能或多或少等于0.25。我已经在这里挣扎了几天了,而且我真的在这里打了一堵砖墙,所以我很感激你在这方面的任何帮助。

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是实数值傅立叶描述符。

1 个答案:

答案 0 :(得分:0)

我很久以前设法解决了这个问题,但我完全忘记了这篇文章。要解决这个特殊问题,我必须使用patternet函数而不是feedforwardnet,然后网络可以成功学习几个时代。