资料介绍
描述
介绍
警告:目前 Home Assistant 中的 Tensorflow 集成存在问题,这是由于在多个平台上支持 Tensorflow 的复杂性而出现的。除非您对调试安装问题非常有信心,否则我不建议您尝试遵循本指南。另请注意,Hassbian 不再由 Home Assistant 维护。
TensorFlow是一种流行的开源机器学习框架,可用于图像处理中的广泛应用,特别是用于对象检测。家庭自动化项目中有许多对象检测应用,例如在摄像头输入中定位车辆或宠物等对象,然后根据这些对象的存在执行操作(使用自动化)。Home-Assistant是一个流行的开源 Python 3 家庭自动化平台,可以在 Raspberry Pi 上运行。TensorFlow 对象检测在一些设置后可在 Home-Assistant 中使用,允许人们在他们的家庭自动化项目中开始使用对象检测,而无需大惊小怪。Home-Assistant 文档提供了开始使用 TensorFlow的说明对象检测,但所描述的过程比典型的家庭助手组件要复杂一些。如文档所述,此组件需要下载文件,在您的计算机上编译,并添加到 Home Assistant 配置目录。我在 GitHub 上托管了一些代码来简化设置过程,本指南将介绍熟悉的 Raspberry Pi 硬件上的简化设置过程。
家庭助理设置
我在 Raspberry Pi 4 上使用 Home-Assistant 0.98 版的 Hassbian 部署,但请注意,其他 Home-Assistant 部署的步骤应该相同(警告,Hassio 还不允许安装 TensorFlow,所以不要尝试它)。关于硬件的说明,TensorFlow 模型需要大约 1 GB 的 RAM,因此虽然可以在 RPI3 上运行,但体验太差了,我什至不建议尝试。作为最低要求,我推荐具有 > 2GB RAM 的 RPI4。
有关设置的更多信息,请参阅Hassbian 文档,但基本过程是:
您可以通过连接到 Pi 的键盘来完成整个 TensorFlow 设置,但我建议通过 Hassbian 脚本安装Cloud9 Web IDE。此 IDE 允许您从网络上的任何计算机通过 Home-Assistant 前端执行 TensorFlow 设置过程。按照此处的说明安装 Cloud9 ,然后导航到http://hassbian.local:8181您现在可以使用面板 iframe在 Home-Assistant GUI 上显示 Cloud9 IDE ,通过添加到 Home-Assistant configuration.yaml文件进行配置(通过 Cloud9 IDE 编辑):
panel_iframe:
cloud9:
title: cloud9
icon: mdi:wrench
url: http://hassbian.local:8181/ide.html
编辑文件后,最好使用配置验证工具。要使用它,从侧面板,配置 -> 常规 -> 检查配置(在配置验证下))。
如果您从配置检查工具中获得确定,则需要重新启动 Home-Assistant 以使更改生效(从侧面板配置 -> 常规 -> 重新启动(在服务器管理下))。重新启动时,您应该看到以下内容:
TensorFlow 设置
确保您正在运行 Home-Assistant 的最新版本。我建议您阅读TensorFlow 组件文档以了解设置过程,但在本指南中,我们跳过了几个步骤,因为我在 GitHub 上提供了所需的代码。
第 1 步:安装 TensorFlow。我们需要 TensorFlow 可用于 Home-Assistant。从 Cloud9 IDE 中的命令行:
-
sudo apt-get install libatlas-base-dev libopenjp2-7 libtiff5
-
从 Pi 切换到 homeassistant 用户 ->
sudo -u homeassistant -H -s
-
激活homeassistant python环境->
cd /srv/homeassistant/
然后source bin/activate
-
从 pypi -> 安装 tensorflow
pip3 install tensorflow==1.13.2
(检查当前版本要求)
第 2 步:从我的 GitHub 获取 TensorFlow 需要的文件。在任何计算机上,导航到:https ://github.com/robmarkcole/tensorflow_files_for_home_assistant_component并下载 ZIP 文件或克隆存储库。使用 Cloud9 IDE 将tensorflow/object_detection
存储库中的文件夹复制到 Home-Assistant 的配置文件夹中。生成的文件夹结构如图 2 所示。
第 3 步:为目标检测选择合适的模型。我给这个步骤一个单独的部分。
型号选择
TensorFlow“模型”是具有扩展名的二进制文件,.pb
其中包含 TensorFlow 将用于执行对象检测的神经网络的权重。这是您无需担心的细节,但需要的是选择合适的模型并将其放置在配置目录中。正如组件文档所建议的那样,互联网上有一系列可用的模型,或者您甚至可以创建自己的模型。一般来说,模型的准确性和速度之间需要权衡取舍。由于 Raspberry Pi 的 CPU 和 RAM 有限,我们应该选择轻量级的型号,例如为手机设计的型号。TensorFlow 模型动物园提供可下载模型的列表,因此请导航至动物园自述文件并选择模型。在这里,我们将遵循文档建议并选择ssd_mobilenet_v2_coco
模型。从命令行,并注意到我们仍在使用homeassistant
用户配置文件:
TENSORFLOW_DIR="/home/homeassistant/c9workspace/homeassistant/tensorflow"
cd $TENSORFLOW_DIR
curl -OL http://download.tensorflow.org/models/object_detection/ssd_mobilenet_v2_coco_2018_03_29.tar.gz
tar -xzvf ssd_mobilenet_v2_coco_2018_03_29.tar.gz
请注意,我们设置环境变量TENSORFLOW_DIR
以确保将下载的文件放在本文中配置说明所需的位置。现在我们有一个可用的模型文件,我们可以配置 TensorFlow 组件。
TensorFlow 组件配置
您将需要一个相机源来提供图像。我只是设置了一个local_file 相机,但您可以使用任何相机源。请注意您的相机的 entity_id(我的是camera.local_file
)并将以下内容添加到您的 configuration.yaml 文件中:
image_processing:
- platform: tensorflow
scan_interval: 20000
source:
- entity_id: camera.local_file
model:
graph: /home/homeassistant/c9workspace/homeassistant/tensorflow/ssd_mobilenet_v2_coco_2018_03_29/frozen_inference_graph.pb
再次检查您的配置更改是否有效并重新启动 Home-Assistant。
TensorFlow 组件使用
现在是有趣的部分,使用 TensorFlow 组件!请注意,在重新启动时 Home-Assistant 将在其日志中发出有关未安装 OpenCV 的警告,您可以忽略此,因为 TensorFlow 可以改用 Pillow。另请注意,我们进行了配置scan_interval: 20000
,这意味着 TensorFlow 图像处理不会自动执行(默认每 10 秒一次),而是仅在我们通过调用scan
服务触发它时执行,您可以从 Home-Assistant 前端的服务开发人员工具中执行此操作. 下图向您展示了 TensorFlow 组件如何显示其结果:
您现在可以在 Home-Assistant自动化中使用对象检测数据。Home-Assistant论坛是获取自动化想法的好地方,请查看。
概括
在本文中,我们介绍了设置 Home-Assistant 以使用 TensorFlow 执行对象检测的过程,然后在相机图像上执行对象检测。希望这将使您能够以最小的麻烦将尖端的 AI 技术投入到您的家庭自动化项目中的生产中。
故障排除
- 当我使用 Tensorflow 时,Home-Assistant 崩溃了,为什么?您可能没有足够的可用内存,因为模型需要约 1 GB 的 RAM。终止 pi 上的一些进程,然后重试
使用码头工人?
社区成员创建了轮子以在此处的 Alpine linux docker 容器中安装 tensorflow
- 使用Tensorflow的Raspberry Pi Covid口罩检测器
- 使用Teachable Machine和Python轻松进行对象检测
- 使用Sipeed MaiX板进行对象检测(Kendryte K210)
- 使用MTCNN和用于ESP32-S3的TensorFlow Lite进行人脸检测
- Home Assistant添加ESPHome设备(IO控制继电器)
- 使用Arduino和TensorFlow进行唤醒词检测
- 使用TensorFlow对自平衡机器人进行手势控制
- 使用MobileNet Single Shot Detector进行对象检测
- Windows下利用Anaconda安装Tensorflow教程
- 深度学习在视频对象分割中的应用及相关研究 9次下载
- 什么是TensorFlow数据流图?详细TensorFlow数据流图(动图)免费下载 9次下载
- 人工智能深度学习之TensorFlow的介绍,安装和基础的详细资料概述 25次下载
- DAQ_Assistant的使用 0次下载
- 面向对象软件自动生成在检测系统中的应用
- 一种对虚拟对象进行控制的系统设计
- OpenCV4.8 C++实现YOLOv8 OBB旋转对象检测 1108次阅读
- YOLOv8实现旋转对象检测 1342次阅读
- TensorFlow Lite实现移植到ART-Pi Smart 1927次阅读
- 如何在LiDAR点云上进行3D对象检测 2032次阅读
- 基于树莓派的TensorFlow对象检测系统设计方案 1423次阅读
- 如何用TensorFlow进行机器学习研究 1889次阅读
- TensorFlow安装手册之如何利用pip安装 TensorFlow 1.2w次阅读
- Keras和TensorFlow究竟哪个会更好? 2.1w次阅读
- TensorFlow都有哪些功能,大家是否都全部了解呢? 2.1w次阅读
- TensorFlow Lite是TensorFlow针对移动和嵌入式设备的轻量级解决方案 2.5w次阅读
- TensorFlow是什么?如何启动并运行TensorFlow? 1.6w次阅读
- TensorFlow发表推文正式发布TensorFlow v1.9 3020次阅读
- 如何结合TensorFlow目标检测API和OpenCV分析足球视频 6235次阅读
- TensorFlow的框架结构解析 7032次阅读
- tensorflow 训练模型之目标检测入门知识与案例解析 1.6w次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多