我正在使用反向传播神经网络(在java中)进行植物疾病图像的模式识别。我知道不同的二进制特征可以作为神经网络的输入。但我完全混淆了如何在这种情况下比较神经网络的输出。我的意思是我没有定义任何输出。而且在图像的情况下我如何定义输出,以便我可以找到网络中定义的输出和计算输出之间的误差来调整重量。我很认真,请帮助我。谢谢
答案 0 :(得分:0)
这绝不是一个完整的答案,但它不适合评论框。这也应该为您可以做什么提供一些指导。
您可以做的是将图像编码为[0,255]
范围内的一系列字节值。这应该产生一个字节向量,其大小应该与图像中的像素数量相同。
然后,您将此向量传递给神经网络,这意味着神经网络的输入层需要与向量本身一样大。
最后,您可以指定不同的矢量值来表示不同的疾病。例如,给定输入向量[1,55,201,44,258,...]
,预期向量将为[0,0,0,0,0,1]
。然后该载体将映射到特定疾病。
如果颜色对您不重要,您可以将输入矢量减少为二进制值矢量,例如,根据某个阈值,您可以将图像变为黑白。