我刚开始从事图像识别项目,并希望为其添加神经网络。现在我可以将图像转换为重要的点位置列表。我想将该清单传递给ANN。 现在我已经阅读了几篇关于人工神经网络的文章,我总是看到输入层是不变的。问题是点的数量可能根据输入图像而变化。是否存在与此任务相对应的特殊类型的ANN? (对不起,如果英文不好:)
答案 0 :(得分:1)
如果存在有限数量的可能图像尺寸(即500x500,640x480和1200x1000-3种可能性),那么您可以为这些可能的尺寸类别中的每一个设置自动编码器,以将图像转换为最小尺寸(即500x500) 。 Autoencoder应该能够使用局部相关性来提供更简洁的图像表示。请注意,CNN基本上是这样做的,但它并没有完全解决您的输入大小可变的问题。即使在CNN中,您也必须拥有恒定数量的输入节点。
一旦你有一个较小的图像表示,你可以自由使用任何方法,因为通过编码器后的所有图像具有相同的尺寸。这种方法的可能缺点是你需要有足够的训练样本来训练编码器。
或者你可以做相反的事情:拍摄所有较小的图像尺寸,并根据需要在每个轴上复制它们的像素,并将它们转换为最大的图像尺寸。例如,如果最大尺寸为1000x1000并且您获得500x500图像,则只需复制其行和列以获得1000x1000版本。然后使用对此本地相关/冗余不变的方法。
答案 1 :(得分:0)
我可能误解了你
使用神经网络进行图像识别的首选方法是从图像中提取像素值,让神经网络自己决定图像中哪些特征是重要的。然后将这些功能存储在"在神经网络的权重。因此,您应该只从图像中提供像素数据,然后让网络对输入数据进行分类。
示例
答案 2 :(得分:0)
简单地说,你可以向没有数据的神经元输入零。
请注意,零输入不会改变神经元的重量,因此不会对学习产生任何影响。