C# 神经网络分类

C# 神经网络分类,c#,artificial-intelligence,emgucv,C#,Artificial Intelligence,Emgucv,您好,我正在做一个项目,使用安和emgucv C#visual studio 2010识别一支钢笔。我有一个关于安的问题。为了认笔,我必须训练安。所以我在输出层有一个神经元用于两种分类(一支笔或非笔),所以我用1100支笔的图像训练ANN,我的问题是:我是否需要用任何不是第二类笔的图像训练ANN(第一类是笔),或者如果我显示的图像ANN没有经过训练,ANN会认为那不是笔?,正如@bicker所指出的,它会假设一切都是笔。但是,您可以使用输出的级别来预测它成为笔的可能性。但你真正想做的是训练它使用

您好,我正在做一个项目,使用安和emgucv C#visual studio 2010识别一支钢笔。我有一个关于安的问题。为了认笔,我必须训练安。所以我在输出层有一个神经元用于两种分类(一支笔或非笔),所以我用1100支笔的图像训练ANN,我的问题是:我是否需要用任何不是第二类笔的图像训练ANN(第一类是笔),或者如果我显示的图像ANN没有经过训练,ANN会认为那不是笔?

,正如@bicker所指出的,它会假设一切都是笔。但是,您可以使用输出的级别来预测它成为笔的可能性。但你真正想做的是训练它使用钢笔和非钢笔。使用两个输出节点,一个用于pen,另一个用于not pen,您可能会看到更好的性能。这通常是人们进行NN分类的方式,尽管使用单一的NN分类应该是可行的。请注意,您选择的激活函数将引导节点之间的输入和输出范围(sigmoid预期为0-1,tanh-1到1)。此外,网络的层级数量和每个隐藏层中的神经元数量也会产生很大的差异。确保至少有一个隐藏层。如果您只有一个输入和输出层,那么它不太可能做得很好


我会使用一些随机对象的在线图像来训练负面案例,如果你没有。但是,由于您似乎已经记住了如何使用此功能,因此,将图像与培训后使用时看到的图像进行比较,可以获得更好的性能。

如果您只对ANN进行笔图像培训,它会假设每个图像都是笔的图像。是的,首先我将图像转换为灰度,然后应用高斯模糊消除噪声,然后转换为二进制图像,这样好吗??所以我有一个想法,我想用钢笔一样的底片图像作为背景,这是个好主意吗?嗯,例如,如果安认出一支钢笔,我怎么能在钢笔不确定的地方画一个矩形呢。这真是另一种问题。你可以用一个人工神经网络来解决这个问题。我可能会尝试一种聚类方法来分割图像,因为你的ANN认为这是一支钢笔。但我认为这是另一个问题。我读到关于将0-1之间的值标准化的文章。灰度图像的值0-255是否有任何问题,以便提供类似ANN的输入??如果它们是标准化的,理论上没有。但是,对它们进行二值化以便将它们转换为简单的0,1(使用阈值)可能会更好。我听说人们在解决这个问题时经常使用美白。