2014-02-15 76 views
3

我有兴趣使用Microsoft Kinect创建一个能像笔一样检测物体的软件。我回忆了100张正面照片和200张负面照片,以便通过人工神经网络拍摄。我的问题是:如何将这些图像转换为ANN的输入?我猜最后一层有一个神经元,因为一个输出是否是笔,我猜输入也是一个,我想总共使用3层。但我不知道我是否应该将矩阵中的正面和负面图像转换成图像,或者我能做些什么?用图像训练的人工神经网络

回答

4

首先,欢迎来到Stackoverflow!

我从来没有亲自处理使用Kinect进行图像识别,但是如果可能的话,您应该将图像缩小到相当合理的大小,例如100x100,以便它仍然可以管理。

您还应该尝试将图像转换为grayscale,因为这也有助于提高计算效率和开发时间,并且比RGB更容易开始使用。

输入层将不是是1,这是给定的。如果我们指的是尺寸为100x100的图片,则输入的总数应为10000,每个像素一个。请记住,您正试图尽可能细化数据,以便ANN可以检测数据中的模式。

输出层实际上应该有2 neurons,并有一个很好的理由。请记住,每个输出神经元正在测量输入属于相应类别的可能性。通过拥有2个神经元,每个神经元可以代表积极的类(是的,这是一支笔)或负面的类(不,这不是笔)。因此,通过拥有2个神经元,您可以获得图像属于该类的概率,然后您可以选择最高值作为答案。

3总层数应该足够了,你可能永远不需要更多。有一些非常好的文章可供您确定要使用的图层数量,例如this one 我希望这有助于您!如果您还有其他问题,请告诉我。

+0

如果我用裁剪图像训练ANN(仅包含我想识别的对象)我应该裁剪图像以测试ANN吗? – Johana

+0

你必须这样做,否则它不起作用,因为输入图层应该是像素数量的图像大小。 – Alejandro

+0

但是,如果我训练ANN的图像,我想要识别的图像是在图像的中心,当我显示的图像,该对象是在左边可以ANN认识到?因为我有一个问题,我告诉你ANN只识别对象,如果我裁剪图像留下物体,我想识别 – Johana