作者 | 神经小兮

来源 |  HyperAI超神经(ID:HyperAI)

【导读】乐高现在几乎已经是优质玩具的代名词,该品牌旗下最为知名的,莫过于乐高积木。其丰富的形状与多样的玩法,无论大人小孩都喜欢。但是,这些繁杂多样的零件,分类收纳起来却也是个大难题。一位软件工程师借助 AI 技术,建造了一台乐高分拣机,为广大乐高爱好者带来了福音。

如果你没有玩过乐高,也可能听过乐高。乐高集团于 1932 年诞生于丹麦,此后很快,「LEGO」这个商标就成为了优质玩具的代名词。

1934 年,创始人 Ole Kirk Christiansen 用

「LEGO」命名他的公司,图为 LEGO 的 logo 变化

LEGO 旗下最为知名的乐高积木,于 1949 年问世,距今已有 70 年历史。

论乐高分类有多难

乐高积木因复杂多样、想象空间大等特点,对儿童充满吸引力,令很多玩家痴迷,甚至成为很多教育机构的教具。

但是,部件种类的丰富,也让热爱乐高的朋友常常陷入分类归纳的困扰中。就目前而言,乐高积木共有 119 个系列,111 种颜色,而每个系列就包含几百个甚至几千个部件。

曾有一位乐高爱好者,在 eBay 上的一次拍卖活动中,收获了 2 吨的乐高积木。剁手一时爽,但面对如此规模的乐高,他傻眼了,「要把这些都整理好,得花上几辈子的时间。」他在博客中写道。

这款霍格沃兹城堡包含 6020 块积木砖块

很多玩家对乐高的归类整理问题也做了一番研究。有位对计算机视觉感兴趣的澳大利亚软件工程师 Daniel West,把这个令人「头秃」的问题交给了 AI。

一位知乎答主对 lego 分类整理颇有研究

世界上第一台通用 AI 乐高分拣机

对于人类来说,只要看一眼积木块,就能轻松识别它的形状颜色等特征,甚至即使一两岁的小孩子,在几次尝试后都可以区分例如 2×1 红色积木块、4×1 绿色积木块和那些小链子积木之间的差异。

但是如果把分类归纳的任务交给机器去做呢?似乎就并没那么简单了。

早在 2011 年,日本的一位乐高爱好者 akiyuky,就为解决这个问题发明了乐高分拣机。不过他的数据库图像较少,分拣速度也较慢。

akiyuky 2011 年设计的乐高分拣机

受到 akiyuky 的启发,同样热爱乐高与机器的澳大利亚软件工程师 Daniel West 想设计一个更智能、分拣更迅速的乐高分拣机。

于是,他便花费了两年时间,用超过 10000 块乐高积木,建成了一个通用的乐高积木分拣机,这台分拣机借助计算机视觉算法,可以分拣出任何乐高零件。设备还带有 6 个乐高电机和 9 个伺服电机,为传送乐高零件的传送带和搅拌器提供动力。

West 称,这台机器能够将 2927 种乐高积木分类到 18 个不同的归纳箱,而且每 2 秒就可以分一块积木。这效率,很可以了吧?

虽然这不是世界上第一个乐高分类机,但 West 称它为世界上第一台通用乐高分类机,「因为它使用了最先进的人工智能技术,能够识别和分类任何已经生产出来的乐高部件。」West 也计划在将来发布该代码。

分类工作,流程总共分三步

这台能干的设备具体怎么工作呢?总体来说,似乎并不复杂,总共分三步。

第一步:放入积木。

将一大堆乐高积木倒进机器顶部的滑槽中,然后将积木置于振动带,经过晃动,积木被分散成单独的积木块。

第二步:拍照分类。

积木块由 Raspberry Pi (树莓派)计算机传送。Raspberry Pi 计算机包含一个照相机,当积木经过时,它会拍下一系列照片,然后把这些照片传送到 CNN 模型 ResNet-50 上进行分类。

第三步:归类入箱。

分类结果反馈到该设备后,输送带上的不同小闸门会把积木引导到所属的箱子中。

技术实现「一波三折」

由于乐高的零部件有成千上百种类型,颜色多样,并且从不同角度看形状也不一样。因此,收集正确的训练数据集是整个工作中最难的一部分。

Daniel West 最初让设备运行了几天

收集到了约 30 万张未标记的 LEGO 图像

West 说,他起初试图对乐高积木进行模拟。他从 LDraw Part Library(一个让发烧友可以虚拟构建乐高的开源程序)中获取了乐高零件的 3D 模型,并将其用免费的动画软件 Blender 渲染。

小哥哥 Twitter 上还展示了他用于训练 AI 模型的

3D 渲染图像示例

然后他可以在不同的旋转角度和颜色下模拟 3D 模型积木。这些单独的图像被收集到一个包含了超过 2500 万张图片的合成数据集中。

但令 West 感到沮丧的是,他的 AI 乐高分拣机用假图像进行训练后,却无法识别出真正的部件。

他说:「我当时几乎完全放弃了这个项目。我花了几个月的时间来实现一种,将合成图像转换成真实图像的复杂方法,但收效甚微。」

之后,他转向了另一种常用的技术,以帮助减少仿真与现实之间的差距:域随机化。

域随机化能够训练模型识别更多的数据变化。该系统不仅学习了乐高积木的不同旋转角度和颜色,还学会了考虑各种灯光效果,纹理和噪音。

为了进一步提高乐高分类器的性能,West 还整合了一个更小的数据集,其中包含真实乐高部件的快照。

他说:「真实的数据集只包含我个人收藏中的零件,最终只有 544 种不同类型的零件。」 这些零件是在乐高系列中更常见的类型,而合成数据集则是一些较少见的类型。

Daniel West 的乐高分拣机高约 80 厘米,有 18 个分类箱

通过对这两个数据集进行训练,从理论上讲,West 的乐高分拣机上的摄像机应该能够识别出它实际上从未见过的零件。不过,模型在不同数据集上的实际表现还是有差别的:在识别真实数据集中的零件时,准确度为 93%,而识别合成数据集中的零件,准确率则为 74%。

收集训练数据集不易,West 还特地撰写了文章(原文链接:http://985.so/f5G8),详细介绍了他如何制作 10 万张的带标签乐高积木训练图片。文中提到,他主要利用样本生成法、简化流程以及使用 AI 辅助注释来完成海量图片标记的任务。

梦想借力 AI 走进现实

West 热爱乐高,他的梦想也与乐高有关,他说,他将最终实现毕生的梦想:建造一个真正能工作的乐高分拣机,同时获得设计和部署人工智能系统的现实经验。

Daniel West 在 YouTube 上发布的内容都是乐高积木相关

兴趣是最好的老师,也是最大的驱动力。同时,技术的发展,也成为兴趣、梦想的助推器,让大大小小的梦想都能够更加快速、完美地实现。如今,AI 都会帮你分拣乐高了,还有什么不能做的呢?

—— 完 ——

(*本文为AI科技大本营转载文章,转载联系作者)

精彩公开课

推荐阅读

  • 讯飞轮值总裁胡郁:大数据是人工智能产业落地的必要保障| BDTC 2019

  • 专访ClickHouse创始人:数据库竞争依旧火热,技术整合势在必行

  • 商汤联手华科:提出文字检测模型GNNets,新颖模块可解决几何分布难题

  • 20行代码发一篇NeurIPS:梯度共享已经不安全了

  • 图灵奖得主Bengio:深度学习不会被取代,我想让AI会推理、计划和想象

  • 4大主流CPU处理器技术架构,不知道就out了!

  • 阿里云上万个 Kubernetes 集群大规模管理实践

  • 公司倒闭,39 岁重新找工作,薪资不到 8000,太残酷!

  • HTML + CSS 为何得不到编程界的认可?

  • 你点的每个“在看”,我都认真当成了AI

死宅福音:乐高不怕多,智能分拣机帮你归类相关推荐

  1. 乐高太多没处放?解放女朋友双手,1 个顶 100 个的乐高智能分拣机来了!

    原创:HyperAI超神经 关键词:乐高分拣机 计算机视觉 如果你没有玩过乐高,也可能听过乐高.乐高集团于 1932 年诞生于丹麦,此后很快,「LEGO」这个商标就成为了优质玩具的代名词. 1934 ...

  2. 断网别慌,WIFI上网修复技巧:联想智能引擎帮你恢复网络

    相信大家在使用笔记本电脑时都会应用到无线WIFI上网功能.可以由于数据信号在空气中传播,有时会造成无线网络断线情况,有时出现网页无法打开.QQ掉线等问题,有时重新连接无线网络就能恢复有时却然无法上网. ...

  3. 十一来临,国内有哪些手机智能助手帮你出行?

    作者:camel 概要:手机语音助手已发展多年,随着近几年机器学习的发展,语音助手在语音识别.语义理解等方面已经有了很大的发展. 手机语音助手已发展多年,随着近几年机器学习的发展,语音助手在语音识别. ...

  4. 免费体验,阿里云智能LOGO帮你解决设计难题

    简介:超实用!零基础搞定一个高大上的智能logo设计 新年过后,往往是大家一年中士气最足的时候,散去了年末的疲惫和emo,重燃对新一年的热情和希望. 想创业的朋友们同样意气风发,趁着新年的劲头想大干一 ...

  5. 免费体验 阿里云智能LOGO帮你解决设计难题

    新年过后,往往是大家一年中士气最足的时候,散去了年末的疲惫和emo,重燃对新一年的热情和希望. 想创业的朋友们同样意气风发,趁着新年的劲头想大干一场.不过对于开新店或者初创公司来说,怎样快速让别人知道 ...

  6. 智能安防哪家强,智能摄像头帮你忙

    现如今,智能摄像头已经是智能家居的一个重要组成部分,毕竟很多的人注重点还是在智能安防上的. 那么智能摄像头和传统的监控摄像头有什么区别呢? 目前的智能摄像头相比传统的监控摄像头,在功能上有很多改进的地 ...

  7. 电脑如何自动唤醒和睡眠,联想智能引擎帮你解答

    唤醒和睡眠 此功能开启时,软件可以通过红外摄像头探测主人是否在电脑面前,实现计算机的自动睡眠与唤醒.(此功能适用于支持Windows Hello的机型) 打开自动唤醒选项,当您的电脑处于锁定和睡眠状态 ...

  8. 乐高亲子主题活动 乐高X 起亚智能

    疫情时代 情感价值更为可贵 家庭与工作兼得才是最佳选择 长路漫漫,未来可期 握好手中方向盘一路前行 情相伴,爱同行 一起抵达幸福的彼岸

  9. 百度Apollo无人车能力降维释放,打造智能汽车可以像拼乐高

    像搭积木一样在汽车中实现智能驾驶,是一种怎样的体验? 现在,只要你想,就可以试着操作起来了. 因为在第二届百度Apollo生态大会现场,百度Apollo全面展示了其在智能交通.智能汽车和自动驾驶领域的 ...

最新文章

  1. 20130710--代码技巧
  2. UA PHYS515 电磁理论II 静电场问题5 用Green函数法求解interior Dirichlet问题的例子
  3. wordcount代码_通过腾讯云 Serverless Regsitry 快速开发与部署一个 WordCount 实例
  4. 汽车车牌识别系统(六)-- 项目中的各个文件解析
  5. Maven(九)Eclipse创建Web项目(简单方式)
  6. 一些常规形几何形状的绘制和效果填充(一)
  7. 如何查询spark版本_掌握Spark SQL中的查询执行
  8. php模拟表单提交登录,PHP模拟表单的post请求实现登录
  9. 为什么调用webservice接口只有 string arg0_快速开发平台中关于支持第三方接口开发的指导
  10. 小技巧:Go怎么样获取常驻内存子进程的输出
  11. 页面URL传递中文乱码
  12. CSS3_04_弹性盒子_多媒体
  13. Minimax博弈算法设计井字棋AI(Golang)
  14. 生活随记-谋定而后动
  15. cd在linux命令意思,linux的cd .. 和cd / 命令分别是什么意思?
  16. 【应用笔记】【AN002】通过iTool2基于MinGW平台读写EEPROM
  17. 张子保:不忘初心 方得始终《原创》
  18. WIN7用键盘控制鼠标
  19. 视频编解码——编码流程介绍
  20. Swagger2.0和resful规范

热门文章

  1. 使用Bot Service创建Bot Framework
  2. STL学习系列九:Map和multimap容器
  3. no no no.不要使用kill -9.
  4. Repeater 嵌套 Repeater
  5. webbrowser1 脚本报错_c# winform程序 webBrowser 当前页面的脚本发生异常 找不到成员...
  6. Sublime Text安装与使用
  7. 1微秒等于多少皮秒_1分钟了解,1皮秒到底有多短!
  8. eclipse常用插件介绍
  9. 【bzoj1951】 Sdoi2010—古代猪文
  10. JavaScript获取当前日期,昨天,今天日期以及任意天数间隔日期