走进积木领域:发明家利用 AI 分拣 200 万块乐高积木

作者 英伟达中国

Jacques Mattheij 没想过会买两吨重的乐高积木。

但这意想不到的一幕就在某晚的 eBay 拍卖活动之后发生了,确切的说这是出价过高得到的战利品 – 一大推二手积木。他打算转卖这些积木来赚钱。但是,他赢得的积木要比预想的多,次日早上,他已经拥有 200 多万块。

现在他需要把这些积木分类,以便卖个好价钱。而他并不喜欢手动分拣这堆数量庞大的战利品。“要把这些都整理好,得花上几辈子的时间。”Mattheij 在他的博客中这样写道

因此,住在阿姆斯特丹郊外的发明家 Mattheij 把这份差事交给了计算机。他推测,既然 GPU 加速的深度学习和物体识别技术不仅能识别图像和视频中的物体,还能识别自动驾驶汽车行驶路径中的行人、自行车和其他物体,那么何不把这种 AI 技术应用到自己的乐高积木上呢?

怪物混搭

当 Mattheij 还是个孩子的时候,他就很喜欢乐高。所以,几年前他带着自己的孩子去了丹麦的乐高乐园。在游乐设施、餐馆和商店里,他都注意到狂热的粉丝们几箱几箱地购买乐高积木。

那时,他决定在蓬勃发展的乐高转售行业中试试身手。他想通过实现繁琐分类任务的自动化作业来彻底改变这个行业。就像未分类的的散装拍卖品那样,完整的乐高玩具组合和稀有的零件会出售很多次,所以如果他成功了,他就会获利。

对于乐高分拣机,Mattheij 首先用乐高积木(别的什么?)建立了一个概念验证模型。然后,他花了几个月的时间进行修补,直到拼凑成一个正常工作的分拣机 – 或者,用他的话说“这是用不着边际的零碎硬件混搭出的一个弗兰肯斯坦式的怪物机器”。

其中包括取自一台家用跑步机、一个收银机输送带、两个冰箱电机、一个氧气筒和一部相机的零件,所有这些都用“大量强力胶”紧紧粘在一起。您可以在下面的慢动作视频中看到这台分拣机是如何工作的。

乐高分拣机

训练自动分拣机来分离乐高积木并不是件容易的事。首先,Mattheij 的积木有 38,000 多种形状以及 100 多种颜色和色调。他反复编写软件来对乐高积木进行分类,但他所做的一切都无法助他完成这项庞大的工作。

“经过六个月的特征编码、测试编写和积木扫描工作后,我受够了。”他说

然后,他决定试试 GPU 加速的深度学习。在提升自己的技能后,他使用 Keras 和 TensorFlow 深度学习框架以及依靠 NVIDIA GeForce GTX 1080 Ti GPU 运行的 cuDNN 加速训练神经网络。该设置可以识别成千上万种可能的积木形状和颜色。

“在几个小时之内,我便超越了在过去几个月中逐个特征费力拼凑起来的所有结果。”Mattheij 说。

乐高分拣机现在每小时能分拣出 4000 块积木,准确率为 97%,但 Mattheij 认为他可以在不影响准确性的前提下提高速度。到目前为止,他已经分拣了超过 13 万块。

“它比人工分拣做得好,而且还能连续不断地工作。”他说。

要了解更多信息,请参阅Matthiej 的博客或者阅读他在IEEE Spectrum上发表的文章。

正在工作的乐高分拣机(以慢动作呈现)。