1

我使用前馈神经网络训练了古代硬币图像。现在,我想使用经过训练的网络来测试图像。我做了如下;

load net.mat;
load Features.mat; %this is the test image's features file
testInputs = features_set';
out = sim(net,testInputs);

[dummy, I]=max(out);
if (I == 1)
    h = msgbox('type 1','Description','none');
elseif (I == 2)
    h = msgbox('type 2','Description','none');
else
    h = msgbox('unclassified','Description','none');
end;

问题是,即使我输入另一张图像,比如一个人的脸,它会显示类型 1 或类型 2。它不会显示未分类。始终为任何图像提供类型 1 或类型 2,而不仅仅是硬币图像。

有人可以帮帮我吗?

4

1 回答 1

1

我猜你只用硬币训练了你的神经网络。

那就是问题所在。如果您希望您的神经网络对非硬币的事物进行分类。你必须用不是硬币的图像来训练它。这是一个大问题,因为有无限多的图像不是硬币。神经网络尽管名称具有误导性,但它的智能程度取决于您的训练数据。

更简单的方法是在使用神经网络之前提出一些算法来对非硬币的事物进行分类。(例如,您可以检测图像中是否有圆圈)

于 2011-04-14T16:34:00.410 回答