我为了不让松鼠抢鸟食,造了个AI驱赶系统

简介: 我为了不让松鼠抢鸟食,造了个AI驱赶系统

这是一个典型的美国故事,主人公过上了红酒牛排大 house 的生活,但又遇到了新的烦恼:后院里为鸟儿准备的食盘总是被松鼠光顾。

卑鄙的松鼠正在偷鸟食,让精心布置的喂鸟器成了摆设。

这不是什么新鲜事了:传统的解决方案是将辣椒粉混入鸟食中,然而这并没有奏效。超市里也没有带松鼠挡板的喂鸟器。大多数人可能会在网店购买一个合适形状的挡板——但 Jeremy Merrill 这个人比较头铁,毕竟他是搞机器学习的。

于是一个名叫 Squirrel Soaker 9000 的装置出炉了。

这人使用大约 50 美元成本的零件建造了一个机器,借助人工智能来查看喂食器上面是否有松鼠——当识别到松鼠时,就用花园喷水软管驱赶它。

当然,此处需要一段惊慌失措的松鼠逃跑的视频:

image.png

,时长00:46

看看这效果,自从 Jeremy 的 Squirrel Soaker 9000 上线以来,喂食器上的松鼠数量下降了——所有这些都没有伤害到松鼠。Jeremy 表示,这比他的曾祖父——来自加拿大萨斯喀彻温省、俄罗斯的北佛罗里达红脖 60 年前建造的解决方案要安全得多:当年他是直接用 120V 电线串在他的果树上。


那么它是如何工作的呢?

其实很简单,每隔 30 秒钟,摄像头拍摄的图片就会交由 Python 写的软件进行处理。它将图片发送到 AWS Lambda 端点,该端点根据 Jeremy 训练的 fast.ai 模型对照片进行分类,以检测喂食器上是否有松鼠。

如果 AI 模型报告说有松鼠,则摄像头开始录视频,将信号发送到称为 MOSFET 的电子控制开关,它会依次打开电磁阀的 12V 电源几秒钟,这是一个电控水龙头,它连接到一个用拉链系在番茄笼上的花园喷雾器。


松鼠跑了吗?

松鼠驱赶器看起来不错。如果简单统计的话,这个简单的装置平均每三天驱赶一次松鼠,效果看起来还有提升的空间。

image.gif

image.png

在 10 月的某几天,松鼠完全放弃了前来偷吃食物。它们是被松鼠驱赶器击退了,还是被其他什么秋季美食吸引走了?我们不得而知。

到了冬天怎么办?在水会结冰以后,Jeremy Merrill 就把整套系统关闭了,毕竟水管爆裂不是闹着玩的。


它能驱赶鸟吗?

众所周知,AI 模型的图像识别是看概率的,它在松鼠上的准确率是 86.6%,这意味着当 Squirrel Soaker 9000 启动喷洒时,86.6% 的时间里真的有一只松鼠。13.4% 的时间里这是另一回事,通常是一只鸟,有时什么都没有…… 或者有时候是发明家本人。

这个数字是在 15 天内 321 次启动样本中计算得出的,其中 43 起是错误的。人工智能很容易把哀鸽(mourning dove)误认为是松鼠,原因估计是它们和北美啮齿类动物一样又大又灰。不过这也是因为哀鸽是在 Jeremy 收集完训练数据之后才出现的,所以本质上我们是在问一个从未见过哀鸽的愚蠢 AI,哀鸽是麻雀还是松鼠——偶尔人工智能会说它是松鼠。

所以这个 AI 模型还缺点在线更新算法的能力。

image.png

image.gif

松鼠还是鸽子,对于 AI 来说,这是个问题。

事实证明,一株番茄植物在摄像头旁长了个树枝,挡住了松鼠经常出没的喂食器底部。如果你问一个只知道松鼠和喂鸟器的模型,番茄植物是否是松鼠…… 好吧,它认为是的。于是第二天,这株植物长大了,不碍事了。(召回率是 99%,这意味着如果喂食器上有松鼠,它会被弄湿。)


如何让 AI 模型命令水枪喷水?

首先,按照说明书组装电源和 MOSFET 板,确保你的树莓派(Raspberry Pi)已启动并运行并连接到 wifi。

电源连接器输出 12V、5V 和接地线。12V 线和地线连接到 MOSFET「系统」侧的 + 和 - 输入端。或者你也可以通过将 5V 输出连接到 Pi 相机的 5V 引脚并将接地连接到 Pi 的接地引脚,从同一电源为树莓派供电。

然后,将 GPIO 引脚从树莓派连接到 MOSFET 的 C(用于「控制」)输入。当这条线发送 HIGH 电压时,MOSFET 打开,向输出端(「设备」端)发送 12V 电压;当发送 LOW 电压时,MOSFET 关闭,设备没有供电。

此外,你需要使用非常长的电线将设备侧连接到电磁阀,这样才能让电子设备保持在屋内,而软管在花园里。极性无关紧要,因此将正极线连接到任一侧,但请务必并联一个续流二极管以避免突波电压。

现在,你已经完成了电子设备,上管道!

将你的花园软管连接到母对母软管适配器,然后连接到螺线管。螺线管有一个箭头指示水流方向,因此箭头应指向远离供水的方向。你可能需要将管道工胶带粘贴到螺线管的输入螺纹上。螺线管的螺纹是英国标准管,平行螺纹(又名 BSPP,或 G),与美国的花园软管螺纹形成对比。它们大多能用,但并不完美——水管工胶带将有助于阻止漏税。

喷射喷嘴也是一样,记得用胶带。

不要一直让软管保持开启状态。这可能会施加太大的压力,导致泄漏——甚至导致接头爆炸(这里有血的教训)。

现在我们完成了管道。

上软件。你可以通过任何方式向 MOSFET 的控制输入端发送 HIGH 电压。除了用软件控制它之外,作者还设置了一个按钮来手动操作。

模型训练完成后,我们可以按照以下两个 AWS 教程将模型部署到 AWS Lambda:

设备上的软件是一个简单的 Python 脚本,带有一个 while 循环,在白天每 30 秒拍摄一张照片,然后将其发送给机器学习模型,如果它认为是松鼠的置信度超过 70%,则拍摄一张照片( 所以我们可以后期验证是否真的存在松鼠),录制视频(用于 lulz),将时间点记录到数据库中,然后打开水管。

作者还使用了一个很小的 Flask 应用程序,它显示最近的照片和一个 HTML 按钮,用于网络远程手动控制水管。


如何训练 AI 模型

Fastai 通过给 AI 模型提供正负两种图片样本,让 AI 模型学习图像识别的过程变得非常简单——真只用 13 行代码。在识别松鼠的问题上,作者通过在几天内每分钟从窗外拍一张照片来生成训练数据(示例)。随后下载这些图片,并使用 Mac Finder 的幻灯片视图将它们分类到「squirrel」和「not squirrel 文件夹中。

然后,只需要在 Google Colab 上训练这个模型(免费,13 行代码,大约 45 分钟)。

物料列表

  • 12V 电磁阀,7.95 美元
  • ATX 电源连接器分线套件 - 12V/5V(4 针),15.95 美元
  • MOSFET 电源控制套件,5.25 美元
  • Melnor Hi-Visibility 可调喷嘴,4.98 美元
  • Melnor 金属双母适配器,2.49 美元
  • Arducam 自动对焦 Pi 相机,14.99
  • 一个二极管
  • 水管工胶带
  • 蓝色胶带
  • 两股十英尺左右的编织线
  • 一个树莓派,带一张 SD 卡
  • 根据需要分类其他电子零件(焊料、LED、按钮、电阻器、二极管等)

工具列表:

  • 烙铁、焊锡
  • 万用表
  • Google Colab,免费
  • Fast.ai / Python
  • AWS Lambda

参考教程:

参考内容:https://jeremybmerrill.com/blog/2022/01/squirrel-soaker-9000-repelling-squirrels-with-ai.htmlhttps://www.reddit.com/r/MachineLearning/comments/sctxqh/p_i_built_a_robot_to_protect_my_birdfeeder_from/


相关文章
|
9天前
|
人工智能 图形学
【制作100个unity游戏之24】unity制作一个3D动物AI生态系统游戏2(附项目源码)
【制作100个unity游戏之24】unity制作一个3D动物AI生态系统游戏2(附项目源码)
11 1
【制作100个unity游戏之24】unity制作一个3D动物AI生态系统游戏2(附项目源码)
|
9天前
|
人工智能 图形学
【制作100个unity游戏之24】unity制作一个3D动物AI生态系统游戏1(附项目源码)
【制作100个unity游戏之24】unity制作一个3D动物AI生态系统游戏1(附项目源码)
12 2
|
14天前
|
机器学习/深度学习 人工智能 自然语言处理
AI智能家居系统
【6月更文挑战第23天】AI智能家居系统
39 7
|
14天前
|
传感器 人工智能 自然语言处理
AI智能家居系统如何实现自动化控制?
【6月更文挑战第23天】AI智能家居系统如何实现自动化控制?
34 7
|
10天前
|
人工智能 监控 供应链
|
15天前
|
机器学习/深度学习 人工智能 运维
智能化运维:利用AI和机器学习提升系统稳定性与效率
【6月更文挑战第21天】在数字化浪潮下,企业对IT系统的依赖程度日益加深。传统运维模式已难以满足现代业务需求,智能化运维应运而生。本文将探讨如何通过集成人工智能(AI)和机器学习(ML)技术,实现预测性维护、自动化故障处理和优化资源配置,以提升系统的稳定性和运行效率,同时降低运维成本。
225 5
|
23天前
|
机器学习/深度学习 人工智能 运维
智能化运维:AI在故障预测与自愈系统中的应用
【6月更文挑战第13天】本文探讨了人工智能技术在现代IT运维领域的应用,着重分析了AI如何通过数据分析和机器学习算法实现故障预测和自动化修复。文章将揭示智能运维系统的工作机制,以及它如何帮助企业减少停机时间,提高服务稳定性,并最终推动业务连续性和增长。
|
26天前
|
人工智能 自然语言处理 决策智能
超长小说可以用AI翻译了,新型多智能体协作系统媲美人工翻译
【6月更文挑战第11天】研究人员开发了一种基于大型语言模型的多智能体协作系统TransAgents,用于文学翻译,挑战复杂的文学文本翻译。通过单语人类偏好和双语LLM偏好评估,系统在保留文学风格和表达上表现出色,尤其在需要领域知识的文本中。然而,系统在捕捉文学翻译的细微差别、文化特定元素和长文本翻译效率上仍有局限性。相关论文链接:https://arxiv.org/abs/2405.11804
61 1
|
1月前
|
机器学习/深度学习 人工智能 算法
基于AI的图像风格转换系统:技术探索与实现
【6月更文挑战第7天】本文探讨了基于AI的图像风格转换系统的原理与实现,采用神经风格迁移技术,利用CNN分离并结合内容与风格。实现过程包括数据准备、构建模型(如VGG19和生成器网络)、定义内容及风格损失函数、训练模型、评估与调优,最终部署应用。尽管面临训练数据需求、计算复杂度和特定场景适应性的挑战,未来的研究将聚焦于技术提升、减少数据依赖及解决伦理隐私问题,以实现更高效智能的风格转换系统。
|
9天前
|
机器学习/深度学习 人工智能 物联网
AI智造系统
6月更文挑战第23天
16 0