【问题标题】:Possible to use a deep learning network on a collection of still images?可以在一组静止图像上使用深度学习网络吗?
【发布时间】:2015-09-18 10:40:03
【问题描述】:

我收集了大约一千张带有不同图片的集换式卡片。我还有一个高分辨率扫描的数据库,其中包含曾经打印过的每一张交易卡。我想将扫描的图像输入深度学习网络,这样如果我将一张或多张卡片放在相机前,它就能够识别出我拿着哪张卡片。

看起来Jetpac 可能是我开始的好地方。我有机器学习的经验,但主要是数值分析,而不是图像处理。到目前为止,我看到的例子表明人们拍摄他们有兴趣识别的东西,然后能够识别它。但是,我是否可以只转储一个图像文件夹作为训练数据?

最后,我的目标是在 Raspberry Pi 2 系统上实现此功能,我已将其联网以并行工作。我不确定 Jetpac 是否能够明确支持分布式计算,但我认为我可以将视频馈送分成多个馈送,并将每个馈送运行到单独 RPi 上的单独 Jetpac 实例中。

我是否以正确的方式思考这个问题?不同的方法会更实用吗?感谢您的帮助!

编辑:由于担心我的问题听起来过于笼统,我的问题最终是 Jetpac(或任何其他深度学习库)是否能够获得一组静止图像并接受训练以从中挑选出这些图像的实例视频源。

【问题讨论】:

    标签: machine-learning computer-vision raspberry-pi2 deep-learning


    【解决方案1】:

    您可以在此任务中使用深度学习,但除非您处理一些非常具体的情况,否则不建议这样做。对于您的任务,您希望在另一个图像中找到特定图像,而不是像通常在学习任务中所做的那样从一组图像中学习抽象类(例如狗的样子)。

    有很多众所周知的快速准确的图像处理算法可以解决这个问题,这些算法都是基于从原始图像中提取特征,以及在看不见的图像中进行特征检测。您可以使用 OpenCV here 查看此解决方案的具体实现,或通过阅读特征检测了解更多信息。

    【讨论】:

      【解决方案2】:

      在撰写本文时,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 开始,因为系统已经正确构建(如果您想快速让某些东西工作,修改教程会更容易)

      【讨论】:

        猜你喜欢
        • 2018-09-25
        • 1970-01-01
        • 1970-01-01
        • 2014-05-16
        • 2020-05-15
        • 2018-10-05
        • 1970-01-01
        • 2017-11-14
        • 2021-01-13
        相关资源
        最近更新 更多