关于一个使用tensorflow将黄瓜分成九个不同类的人的阅读this article我想知道这种类型的过程是否可以应用于大量的类。我的想法是用它来识别乐高部分。
目前,像Bricklink这样的网站描述的不仅仅是40,000 different parts所以它与黄瓜的例子有点不同,但我想知道它是否合适。没有简单的方法可以为每个部分获取数百张图片,但以下过程听起来是可行的:
这样,每当我们遇到一件新作品时,我们都会教授"网络的参考,以便下次更好地被识别。就像那样,经过人类监测的数百次迭代后,我们能想象出能够识别零件的张量流吗?至少最常见的那些?
我的问题可能听起来很愚蠢,但我没有进入神经网络,所以欢迎任何建议。目前我还没有找到任何方法来识别基于图片和这个"黄瓜示例的乐高部分"听起来很有希望所以我正在寻找一些反馈。
感谢。
答案 0 :(得分:3)
你可以阅读Jacques Mattheij的工作,他实际上使用了https://keras.io/上运行的Xception 1 的定制版本。
介绍是Sorting 2 Metric Tons of Lego。
在Sorting 2 Tons of Lego, The software Side中,您可以阅读:
接下来要处理的艰巨挑战是让训练集大 足以使1000多个班级成为可能。起初这个 似乎是一个不可逾越的问题。我无法弄清楚如何 制作足够的图像,并在可接受的时间内用手标记,甚至 最乐观的计算让我工作了6个月或更长时间 全职,以便制作一个允许机器的数据集 与许多类别的零件合作,而不仅仅是一对。
最后解决方案是在脸上盯着我看了至少一个星期 在我最终了解之前:没关系。重要的是这一点 机器大部分时间标记自己的图像然后我需要的所有图像 要做的就是纠正错误。随着它变得越来越好 错误。这极快地扩展了训练图像的数量。 第一天,我设法手工标记了大约500个零件。第二天 机器增加了2000多个,其中大约一半被贴上了错误。 由此产生的2500部分是下一轮的基础 3天后训练,导致4000多个部分,其中90% 被贴上了标签!所以我只需要纠正大约400个零件,冲洗, 重复...所以,到两周结束时,有一个20K图像的数据集, 所有标记都正确。
这远远不够,有些班级严重不足 所以我需要增加那些图像的数量,也许我会 只运行一个批次,只包括那些部分 机器。无需更正,它们都会被贴上标签 相同。
最近的更新是Sorting 2 Tons of Lego, Many Questions, Results。
<小时/> 1 CHOLLET, François. Xception: Deep Learning with Depthwise Separable Convolutions. arXiv preprint arXiv:1610.02357, 2016.
答案 1 :(得分:0)
我已经使用IBM Watson的Visual Recognition开始了这项工作。 我在运输带背景上有六块不同的砖块。
我实际上在考虑tensorflow,因为我可以让它在本地运行。
Codelab:TensorFlow for Poets,几乎完全描述了你想要实现的目标,
有关Watson版本的演示: https://www.ibm.com/developerworks/community/blogs/ibmandgoogle/entry/Lego_bricks_recognition_with_Watosn_lego_and_raspberry_pi?lang=en