「树莓派+1万块乐高」打造乐高分类器

「树莓派+1万块乐高」打造乐高分类器

拼乐高最头疼的问题是什么?当然是苦苦寻找某个形状的积木却找不到。
ai
当你兴致勃勃地打开包装时,眼前的一切却是这样,内心会作何感想?



现在好了,国外一位乐高爱好者Daniel West用AI解决了这个难题。他使用自己开发的“乐高分类器”,不到2秒时间就能给一块积木归类。



(注:实际分类速度快一倍,为了方便展示,作者将动图速度减半。)

这个分类器由树莓派和1万块乐高积木组成,耗时2年打造,真的是“用乐高搞定乐高”,堪称最硬核的“套娃”。

我们先来感受一下它庞大的外形:



最近,如此硬核的设备也得到了树莓派官方转发。

Daniel的技术是在前人的基础上完成,但更加先进:它可以识别出所有曾经使用过的乐高积木,甚至是从未见过的积木。

因此Daniel把它叫做世界上第一台“通用乐高分类器”(universal LEGO sorting machine)。

工作过程


首先把一桶乐高积木倒入分类器中,在履带的传送下,积木分批少量地落入V形槽。



在V形槽的抖动下,积木又被一块块分别抖入传送带中。



传送带上方的摄像头会拍下多帧画面,并在此过程中完成积木种类的识别。



而后,不同形状的积木分装在不同的桶里。



最后再根据拼装的设定,将积木按照需要装入各个物料盒中。



看完这套设备后,有网友表示:能不能借我回去用几天?



技术实现


其实Daniel所用的技术并不复杂,他甚至还为此写过两篇教程。

这台机器用到的硬件有:树莓派3B+,树莓派摄像头模块V2,9台伺服电机,6台乐高电机。不过,最复杂的硬件应该是Daniel设计的1万块积木的拼装。



首先开始的是图像数据标注工作,Daniel先让机器运行了几天,收集了大约30万张未标记的乐高积木图像。

用手工给30万张图片一一打上标签显然是不切实际的,而相机会给一块积木拍摄10~20张照片,通过打包标注的方法,可以将效率提高10~20倍。

 

但即便如此,也有上万组照片需要标记。一次次将标签内容填入csv文件显然是个笨办法。而且乐高种类繁多,比如2×2的方块种类就有很多,没必要分得太细。



因此,Daniel决定利用自己的Web开发经验,花几个小时来编写了一个简单的Web应用程序。速度又提高了2~5倍。

即便如此,效率仍然太低。Daniel再次想到用AI“打辅助”,让AI给出TOP-5,自己在App里选中正确的选项,这样每秒5就能标记10张图片,整体效率提升了40~1000倍。



在软件的设计上,Daniel遇到了更大的挑战,那就是树莓派的AI运算能力并不强,如何实现实时的目标检测。

最初,他想到使用YOLO或Faster R-CNN,然而很难在树莓派上达到90fps的处理速度,如果将图像流式传输到PC上处理,网络带宽又会成为性能瓶颈。

Daniel不得不使用“老式”计算机视觉技术——OpenCV库里的MOG2背景扣除器,即使在树莓派3B+上它也能快速处理数据。



但是,直接将视频帧发送到MOG2并不能正常工作。浅灰色和白色积木的亮度与传送带背景过于相似,难以识别。需要做的是在图像传递给MOG2之前增加图像的饱和度。

另外,RGB图像的传输带宽也太高,Daniel只好使用YUV格式将图像带宽压缩一半,并把目标检测框外的像素裁剪掉。



经过重重简化,这套系统达到了70~80fps的处理速度。

最后,在树莓派的官方博客下面的回复中,还有一位高人。他在4年前就设计过一款分类器,给两吨的乐高积木进行分类。



这年头,不懂点AI技术都不敢玩乐高了。

参考链接:
https://www.raspberrypi.org/blog/raspberry-pi-lego-sorter/
https://towardsdatascience.com/how-i-created-over-100-000-labeled-lego-training-images-ec74191bb4ef
https://towardsdatascience.com/a-high-speed-computer-vision-pipeline-for-the-universal-lego-sorting-machine-253f5a690ef4


评论:
相关文章
树莓派Build HAT

Raspberry Pi Build HAT 是一个扩展板,可连接到 Raspberry Pi 的 40 针 GPIO 接头,该接头是与 LEGO® Education 合作设计的,旨在使用 Raspberry Pi 计算机轻松控制 LEGO® Technic™ 电机和传感器。


树莓派超算和科学计算教程(全)

我们将用 Raspberry Pi 开始我们探索超级计算和科学编程科学领域的激动人心的旅程。


全球首款桌面级树莓派双轮足机器人问世!哈工大创业团队出品

近日,全球规模最大、最具影响力的众筹平台Kickstarter就发售了这样一种全新形态的桌宠机器人——全球首款桌面级树莓派双轮足机器人XGO-Rider。


树莓派如何设计3D打印外壳

这篇文章将为大家讲解有关树莓派如何设计3D打印外壳。


树莓派 5 发布,新特性细节公布

树莓派5 具有一些新特性,速度是树莓派 4B 的两倍多,并且是英国剑桥第一台自主设计芯片的树莓派计算机。


香橙派推出对标树莓派3B、CM4和Zero2W开发板

最近香橙派推出了它们的香橙派3B、香橙派CM4、香橙派Zero2W,代号和树莓派一模一样。分别对标树莓派的树莓派3B、树莓派CM4、以及树莓派Zero2W。


RaspberryPi HAT树莓派电机驱动板

这款电机驱动板足够强大,可以驱动4个直流电机或2个步进电机,并且额外提供4路全速PWM控制,可以控制4路舵机。


只需一枚树莓派,轻松造个游戏机

你怀恋小时候玩过的小霸王和街机游戏吗?使用RetroPie软件、树莓派和USB游戏控制器,不到一个小时,你就能重新捡起小时候玩过的游戏了:那些小时候没有打通的关,现在还有兴趣吗?


Emo:基于树莓派 4B DIY 能笑会动的桌面机器人

Emo 是一款个人伴侣机器人,集时尚与创新于一身。他的诞生离不开最新的树莓派 4 技术和先进的设计。他不仅仅是一款机器人,更是一个活生生的存在。


将Arduino和Raspberry Pi硬件设备与Minecraft游戏连接

Minecraft Link使您能够通过 MCreator 程序、命令和 Minecraft mod 开发人员的通用 API 将 Arduino 和Raspberry Pi 等硬件设备与 Minecraft 游戏连接起来。

相关创作
AI也会查水表啦!德国小哥开发水表读取器,可OTA升级,成本不到80元。
热度:119
小鹏STEM教研服务

专属教研服务系统,助您构建STEM课程体系,打造一站式教学环境。