使用张量流来识别乐高积木?

时间:2016-09-14 08:55:00

标签: tensorflow lego

关于一个使用tensorflow将黄瓜分成九个不同类的人的阅读this article我想知道这种类型的过程是否可以应用于大量的类。我的想法是用它来识别乐高部分。

目前,像Bricklink这样的网站描述的不仅仅是40,000 different parts所以它与黄瓜的例子有点不同,但我想知道它是否合适。没有简单的方法可以为每个部分获取数百张图片,但以下过程听起来是可行的:

  • 拍摄部分照片;
  • 尝试使用tensorflow识别部件;
  • 如果它没有识别出正确的部分,请拍摄更多照片并随身携带神经网络;
  • 继续下一部分。

这样,每当我们遇到一件新作品时,我们都会教授"网络的参考,以便下次更好地被识别。就像那样,经过人类监测的数百次迭代后,我们能想象出能够识别零件的张量流吗?至少最常见的那些?

我的问题可能听起来很愚蠢,但我没有进入神经网络,所以欢迎任何建议。目前我还没有找到任何方法来识别基于图片和这个"黄瓜示例的乐高部分"听起来很有希望所以我正在寻找一些反馈。

感谢。

2 个答案:

答案 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