Command Palette
Search for a command to run...
死宅福音:乐高不怕多,智能分拣机帮你归类

乐高现在几乎已经是优质玩具的代名词,该品牌旗下最为知名的,莫过于乐高积木。其丰富的形状与多样的玩法,无论大人小孩都喜欢。但是,这些繁杂多样的零件,分类收纳起来却也是个大难题。一位软件工程师借助 AI 技术,建造了一台乐高分拣机,为广大乐高爱好者带来了福音。
如果你没有玩过乐高,也可能听过乐高。乐高集团于 1932 年诞生于丹麦,此后很快,「LEGO」这个商标就成为了优质玩具的代名词。

论乐高分类有多难
乐高积木因复杂多样、想象空间大等特点,对儿童充满吸引力,令很多玩家痴迷,甚至成为很多教育机构的教具。但是,部件种类的丰富,也让热爱乐高的朋友常常陷入分类归纳的困扰中。就目前而言,乐高积木共有119 个系列,111 种颜色,而每个系列就包含几百个甚至几千个部件。
曾有一位乐高爱好者,在 eBay 上的一次拍卖活动中,收获了 2 吨的乐高积木。剁手一时爽,但面对如此大规模的乐高,他傻眼了,「要把这些都整理好,得花上几辈子的时间。」他在博客中写道。


世界上第一台通用 AI 乐高分拣机
对于人类来说,只要看一眼积木块,就能轻松识别它的形状颜色等特征,甚至即使一两岁的小孩子,在几次尝试后都可以区分例如 2×1 红色积木块、 4×1 绿色积木块和那些小链子积木之间的差异。
但是如果把分类归纳的任务交给机器去做呢?似乎就并没那么简单了。
早在2011 年,日本的一位乐高爱好者akiyuky,就为解决这个问题发明了乐高分拣机。不过他的数据库图像较少,分拣速度也较慢。

于是,他便花费了两年时间,用超过 10000 块乐高积木,建成了一个通用的乐高积木分拣机,这台分拣机借助计算机视觉算法,可以分拣出任何乐高零件。设备还带有 6 个乐高电机和 9 个伺服电机,为传送乐高零件的传送带和搅拌器提供动力。
West 称,这台机器能够将 2927 种乐高积木分类到 18 个不同的归纳箱,而且每 2 秒就可以分一块积木。这效率,很可以了吧?
虽然这不是世界上第一个乐高分类机,但 West 称它为世界上第一台通用乐高分类机,「因为它使用了最先进的人工智能技术,能够识别和分类任何已经生产出来的乐高部件。」West 也计划在将来发布该代码。
分类工作,流程总共分三步
这台能干的设备具体怎么工作呢?总体来说,似乎并不复杂,总共分三步。
第一步:放入积木。
将一大堆乐高积木倒进机器顶部的滑槽中,然后将积木置于振动带,经过晃动,积木被分散成单独的积木块。
第二步:拍照分类。
积木块由 Raspberry Pi(树莓派)计算机传送。 Raspberry Pi 计算机包含一个照相机,当积木经过时,它会拍下一系列照片,然后把这些照片传送到 CNN 模型ResNet-50 上进行分类。
第三步:归类入箱
分类结果反馈到该设备后,输送带上的不同小闸门会把积木引导到所属的箱子中。
技术实现「一波三折」
由于乐高的零部件有成千上百种类型,颜色多样,并且从不同角度看形状也不一样。因此,收集正确的训练数据集是整个工作中最难的一部分。


但令 West 感到沮丧的是,他的 AI 乐高分拣机用假图像进行训练后,却无法识别出真正的部件。他说:「我当时几乎完全放弃了这个项目。我花了几个月的时间来实现一种,将合成图像转换成真实图像的复杂方法,但收效甚微。」
之后,他转向了另一种常用的技术,以帮助减少仿真与现实之间的差距:域随机化。
域随机化能够训练模型识别更多的数据变化。该系统不仅学习了乐高积木的不同旋转角度和颜色,还学会了考虑各种灯光效果,纹理和噪音。
为了进一步提高乐高分类器的性能,West 还整合了一个更小的数据集,其中包含真实乐高部件的快照。他说:「真实的数据集只包含我个人收藏中的零件,最终只有 544 种不同类型的零件。」这些零件是在乐高系列中更常见的类型,而合成数据集则是一些较少见的类型。

收集训练数据集不易,West 还特地撰写了文章 *(原文链接:http://985\.so/f5G8)*,详细介绍了他如何制作 10 万张的带标签乐高积木训练图片。文中提到,他主要利用样本生成法、简化流程以及使用 AI 辅助注释来完成海量图片标记的任务。
梦想借力 AI 走进现实
West 热爱乐高,他的梦想也与乐高有关,他说,他将最终实现毕生的梦想:建造一个真正能工作的乐高分拣机,同时获得设计和部署人工智能系统的现实经验。

—— 完 ——