Java 如何将图像输入神经网络进行模式识别

Java 如何将图像输入神经网络进行模式识别,java,neural-network,pattern-recognition,Java,Neural Network,Pattern Recognition,我正在使用反向传播神经网络(java)对植物病害图像进行模式识别。我知道不同的二进制特征可以作为神经网络的输入。但我完全搞不懂在这种情况下如何比较神经网络的输出。我的意思是我没有定义任何输出。对于图像,我如何定义输出,以便找到定义输出和网络计算输出之间的误差,以调整权重。我很严重,请帮助我。谢谢这绝不是一个完整的答案,但它不适合放在评论框中。这也应该为你能做什么提供一些指导 您可以将图像编码为一系列字节值,范围为[0255]。这将产生一个字节向量,其大小应与图像中的像素量相同 然后将这个向量传递

我正在使用反向传播神经网络(java)对植物病害图像进行模式识别。我知道不同的二进制特征可以作为神经网络的输入。但我完全搞不懂在这种情况下如何比较神经网络的输出。我的意思是我没有定义任何输出。对于图像,我如何定义输出,以便找到定义输出和网络计算输出之间的误差,以调整权重。我很严重,请帮助我。谢谢

这绝不是一个完整的答案,但它不适合放在评论框中。这也应该为你能做什么提供一些指导

您可以将图像编码为一系列字节值,范围为
[0255]
。这将产生一个字节向量,其大小应与图像中的像素量相同

然后将这个向量传递给神经网络,这意味着神经网络的输入层需要和向量本身一样大

最后,您可以指定不同的向量值来表示不同的疾病。例如,给定输入向量
[1,55201,44258,…]
预期向量将是
[0,0,0,0,1]
。然后,该载体将映射到一种特定的疾病


如果颜色对您不重要,您可以将输入向量减少为二进制值向量,例如,您可以根据某个阈值将图像转换为黑白。

当您说植物疾病识别时,是指不同类型的疾病还是同一疾病的不同阶段?不同类型的疾病。你知道吗?请回答。谢谢。但是,由于像素的数量很大,因此很难进行输入。请给出明确的愿景,使向量和映射具有特定的disease@user3763077:我上面的回答应该能让你开始。如果你有一个特定的问题,那么打开一个新的问题,在其中你陈述你的问题是什么,你期望什么,你得到什么。你不能期望这里的用户为你做工作。实际上我有一个输入向量,例如对于disease1,向量类似于[1245,45,…,n],对于disease2[240,30,25,15,65,…..n],对于disease3[13,54,56,87,98,56,48,…..n]。现在,当我向网络提供输入时,我应该如何计算预期的输出向量,以便计算误差并将向量与特定疾病进行映射。@user3763077:网络将通过各个层向前反馈输入,直到网络发出结果,这是一个向量本身。你将得到的向量与你期望的向量进行比较,然后开始反向传播过程。对不起,但是我应该如何猜测每种疾病的期望向量。请帮帮我。