电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>使用Google Coral回收分拣机器人

使用Google Coral回收分拣机器人

2022-10-31 | zip | 0.08 MB | 次下载 | 免费

资料介绍

描述

您是否知道社区和企业的平均污染率高达 25%?这意味着您丢弃的每四件可回收物品中就有一件不会被回收。这是由于回收中心的人为错误造成的。传统上,工人会根据材料将垃圾分类到不同的垃圾箱中。人类必然会犯错误,最终无法正确分类垃圾,从而导致污染。随着污染和气候变化在当今社会变得更加重要,回收在保护我们的星球方面发挥着重要作用。通过使用机器人分拣垃圾,污染率将大幅下降,更不用说更便宜和更可持续了。为了解决这个问题,我创建了一个回收分拣机器人,它使用机器学习在不同的回收材料之间进行分类。

代码:

请克隆我的 GitHub存储库以跟随本教程

第 1 步,获取数据:

为了训练可以检测和识别不同回收材料的对象检测模型,我使用了包含 2527 张图像的垃圾网数据集

  • 501玻璃
  • 594 纸
  • 403纸板
  • 482塑料
  • 410金属
  • 137 垃圾

这是一个示例图像:

pYYBAGNYqSSAbMh_AAAf9Dbu6uk026.jpg
 

该数据集非常小,无法训练对象检测模型。只有大约 100 张垃圾图像太少而无法训练准确的模型,所以我决定将其排除在外。

您可以使用此 google drive文件夹下载数据集。确保下载 dataset-resized.zip 文件。它包含已经调整为较小尺寸的图像集,以允许更快的训练。如果您想根据自己的喜好调整原始图像的大小,请随时下载 dataset-original.zip 文件。

第 2 步,标记图像:

接下来,我们需要标记不同回收材料的几张图像,以便我们可以训练对象检测模型。为此,我使用了免费软件labelImg,它允许您在图像中标记对象边界框。

用适当的标签标记每个图像。教程向您展示如何。确保使每个边界框尽可能靠近每个对象的边界,以确保检测模型尽可能准确。将所有 .xml 文件保存到一个文件夹中。

以下是如何标记图像:

pYYBAGNYqSaATSzCAAHa_hw8ZAk592.png
 

这是一个非常乏味和令人麻木的体验。感谢您,我已经为您标记了所有图像!你可以在这里找到它

第三步,训练:

在训练方面,我决定使用 Tensorflow进行迁移学习。这使我们能够在没有大量数据的情况下训练出相当准确的模型。

我们有几种方法可以做到这一点。我们可以在云上的本地桌面计算机上完成。在我们的本地机器上进行训练将需要很长时间,具体取决于您的计算机有多强大以及您是否拥有强大的 GPU在我看来,这可能是最简单的方法,但同样存在速度的缺点。

关于迁移学习,有一些关键的事情需要注意。您需要确保用于训练的预训练模型与 Coral Edge TPU 兼容。您可以在此处找到兼容的型号我使用了 MobileNet SSD v2 (COCO) 模型。也可以随意尝试其他人。

要在本地机器上进行训练,如果在 Windows 10 上运行,我建议遵循Google 的教程或EdjeElectronics教程。就我个人而言,我已经测试了 EdjeElectronics 教程并在我的桌面上取得了成功。我无法确认 Google 的教程是否有效,但如果没有,我会感到惊讶。

要在云中训练,您可以使用 AWS 或 GCP。我找到了这个教程,你可以试试。它使用谷歌的云 TPU,可以超快速地训练你的对象检测模型。也可以随意使用 AWS。

无论您是在本地机器上还是在云端进行训练,最终都应该得到一个经过训练的 tensorflow 模型。

第 4 步,编译训练模型:

为了使您的训练模型能够与 Coral Edge TPU 一起使用,您需要对其进行编译。

这是工作流程的图表:

pYYBAGNYqSmALlGAAADDtmEOaIE100.png
 

训练后,您需要将其保存为冻结图(.pb 文件)。然后,您需要将其转换为 Tensorflow Lite 模型。请注意它是如何说“训练后量化”的。如果您在使用迁移学习时使用了兼容的预训练模型,则无需这样做。在此处查看有关兼容性的完整文档

使用 Tensorflow Lite 模型,您需要将其编译为 Edge TPU 模型。在此处查看有关如何执行此操作的详细信息

回收检测模型:

如果您不想重复训练、转换和编译对象检测模型的麻烦,请在此处查看我的回收检测模型

第 5 步,部署模型:

下一步是设置 Raspberry Pi (RPI) 和 Edge TPU 以运行经过训练的对象检测模型。

首先,使用本教程设置 RPI 。

接下来,按照本教程设置 Edge TPU 。

最后,将 RPI 摄像头模块连接到树莓派

您现在已准备好测试您的对象检测模型!

如果您已经克隆了我的存储库,您将需要导航到 RPI 目录并运行test_detection.py文件:

python test_detection.py --model recycle_ssd_mobilenet_v2_quantized_300x300_coco_2019_01_03/detect_edgetpu.tflite --labels recycle_ssd_mobilenet_v2_quantized_300x300_coco_2019_01_03/labels.txt

应该会弹出一个小窗口,如果你放一个塑料水瓶或其他回收材料,它应该像这样检测它:

poYBAGNYqS2AUIsKAAEMRz4kjYw588.png
 

按键盘上的字母“q”结束程序。

第 6 步,构建机械臂:

机械臂是我在这里找到的 3D 打印手臂只需按照教程进行设置即可。

我的手臂是这样的:

poYBAGNYqTCAR38xAAFdn1iwTTw69.jpeg
 

确保将伺服引脚连接到我的代码中根据 Arduino I/O 引脚。从下往上依次连接舵机:3、11、10、9、6、5。不按这个顺序连接会导致舵机移动错误的舵机!

通过导航到 Arduino 目录并运行basicMovement.ino文件来测试它是否正常工作。这将简单地抓住一个放在手臂前面的物体并将其放在后面。

第 7 步,连接 RPI 和机械臂:

我们首先需要将摄像头模块安装到爪子的底部:

pYYBAGNYqTSAI2_PAAJwQMxY8zc06.jpeg
 

尽量将相机对齐,以尽量减少抓取已识别回收材料时的错误。您将需要使用材料列表中显示的长相机模块带状电缆。

接下来,您需要将robotsArm.ino文件上传到 Arduino 板。

最后,我们只需在 RPI 的 USB 端口和 Arduino 的 USB 端口之间连接一根 USB 电缆。这将允许他们通过串行通信请按照本教程进行设置。

第 8 步,最后润色:

这一步是完全可选的,但我喜欢将我所有的组件放入一个漂亮的小项目框中。

这是它的外观:

pYYBAGNYqTeAQuzSAAF7GqKG7KM09.jpeg
 
poYBAGNYqTqAN1gJAAIGBPl5YyI24.jpeg
 

您可以在材料清单上找到项目框。我刚刚钻了一些孔并使用黄铜支架来安装电子设备。我还安装了 4 个冷却风扇,以在热时保持通过 RPI 和 TPU 的恒定气流。

第 9 步,运行:

您现在可以启动机械臂和 RPI!在 RPI 上,您可以简单地运行recycle_detection.py文件。这将打开一个窗口,机械臂将开始运行,就像在演示视频中一样!按键盘上的字母“q”结束程序。

随意玩弄代码并玩得开心!

未来的工作:

我希望用 ROS 来控制机械臂,动作更精确。这将能够更准确地拾取物体。

问题?

如果您有任何问题,请随时在下面发表评论!


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费