我收集了大约一千张不同图片的交易卡片。我还有一个高分辨率扫描数据库,可以打印出这些交易卡中的每一张。我想将扫描的图像送入深度学习网络,这样如果我要将一张或多张卡片放在相机前面,它就能识别出我拿着哪一张。< / p>
看起来Jetpac可能是我开始的好地方。我有机器学习的经验,但主要是数值分析,而不是图像处理。到目前为止我看到的例子显示人们拍摄他们感兴趣的东西,然后能够识别它。但是,我能够将图像文件夹作为训练数据转储吗?
最后,我的目标是在Raspberry Pi 2系统上实现这一点,我已经联网并行工作。我不确定Jetpac是否能够明确支持分布式计算,但我想我可以将视频源分成多个源,并将每个源运行到一个单独的RPi上的Jetpac单独实例中。
我是否正确地思考这个问题?不同的方法会更实用吗?谢谢你的帮助!!
编辑:由于害怕听起来像我的问题太笼统,我的问题最终是Jetpac(或任何其他深度学习库)是否能够获得静态图像的集合并且经过训练以从中挑选出那些图像的实例。视频源。
答案 0 :(得分:0)
在撰写本文时,Yann Lecun的卷积神经网络(深度学习)是图像识别的最先进技术。如果你碰巧认识Lua,你可能想尝试Facebook的Torch @ http://torch.ch/(很可能Yann在某种程度上涉及这个深度学习库,因为他领导了Facebook的AI小组)。但是,文档有些限制,我听说有一个学习曲线......
如果您正在寻找基于Python的社区驱动的开源深度学习框架,我推荐Theano。这是卷积神经网络教程:@ http://deeplearning.net/tutorial/lenet.html。我在一个研究项目(多任务深度学习)上使用它。坦率地说,Theano的学习曲线是残酷的(它有一个奇怪的语法),但它表现良好,而且教程是我的研究小组能够在网上找到的最广泛的。
如果您决定要让事情更快地运行,那么你有现金,你可以投资Nvidia Cuda兼容的视频卡。 Theano可以在具有几千个Cuda核心的高功率Nvidia卡上很好地扩展。在我的情况下(出于研究目的),我只是在UWMadison的HTCondor系统的CPU上运行Theano(它在一个金字塔深度学习任务中表现得非常好,有40 Gigs的数据)。
另一个想法:我链接的Theano教程的当前版本使用sigmoid激活 - 这需要预训练步骤(由于消失/爆炸梯度问题)。但是,如果您切换到整流线性单位(ReLU),您可以跳过预训练步骤(ReLU不受此限制,这就是它目前在研究中很受欢迎的原因)。但是,如果你是Theano的新手,你可能只想从sigmoids开始,因为系统已经正确构建(如果你想快速获得一些工作,它更容易修改教程)