TensorFlow


TensorFlow图像处理平台使您可以使用相机图像中检测和识别对象TensorFlow。实体的状态是检测到的对象的数量,并且在概括属性与数量一起。这火柴属性提供了信心分数识别和边界盒子每个检测类别的对象。

此集成仅在家庭助理核心安装类型上可用。必威是什么不幸的是,它不能与家庭助理操作系统,监督或容器一起使用。必威是什么

先决条件

在遵循设置以进行集成工作之前,必须在Debian上安装以下软件包:

sudo apt-get安装libatlas-base-dev libopenjp2-7 libtiff5

家庭助理可能无法安装Python Ten必威是什么sorflow绑定。如果是这样,您需要使用以下方式手动安装这些方法:PIP安装TensorFlow == 2.2.0,由于所有平台都不适用于Python轮。

官方安装指南对于其他选项。

此外,Google的官方Python Tensorflow Wheels要求您的CPU支持avx扩大。如果您的CPU缺乏这些功能,则在使用TensorFlow时,家庭助理将崩溃,必威是什么而无需任何消息。

准备

此集成需要下载文件,在计算机上编译并添加到家庭助理配置目录中。必威是什么这些步骤可以通过克隆执行这个存储库进入您的配置目录。另外,如果您想手动执行该过程,则该过程如下:

在您的配置目录中创建以下文件夹结构。

|  -{config_dir}|  -  TensorFlow/ |  - 型号/

按照以下步骤(Linux)编译对象检测库。

#克隆TensorFlow/型号git克隆https://github.com/tensorflow/models.git#编译Protobuf(APT-GET安装Protobuf-Compiler)光盘模型/研究Protoc Object_detection/Protos/*.proto-  python_out=#将Object_detection复制到{config_dir}CP-robject_detection{config_dir}/TensorFlow

您的最终文件夹结构应如下

|  -{config_dir}|  -  tensorflow/ |  - 型号/ |  -  object_detection/ |  -  ...

模型选择

最后,是时候选择模型了。建议首先从可可模型检测动物园

不同模型之间的权衡是准确性与速度。具有不错的CPU的用户应从其中之一开始有效的电脑楷模。如果您正在像Raspberry Pi这样的手臂设备上运行,请从SSD Mobilenet V2 320x320模型。

您选择哪种型号,下载并提取到TensorFlow/型号配置目录中的文件夹。

配置

要在安装中启用此平台,请添加以下内容configuration.yaml文件:

#示例Configuration.yaml条目图像处理-平台TensorFlow资源-ENTITY_IDcamera.local_file模型图形/config/tensorflow/models/foriditeddet_d0_coco17_tpu-32/

配置变量

资源 地图 必需的

图像源列表。

ENTITY_ID 细绳 必需的

相机实体ID可以从中获取图片。

姓名 细绳 ((可选的

此参数使您可以覆盖您的名称图像处理实体。

file_out 列表 ((可选的

一个模板对于集成,保存处理的图像,包括边界框。camera_entity可作为ENTITY_ID触发源相机的字符串。

模型 地图 必需的

有关TensorFlow模型的信息。

图形 细绳 必需的

基本模型目录的完整路径。

标签 细绳 ((可选的

通往*label_map.pbtext

默认:

tensorflow/object_detection/data/mscoco_label_map.pbtxt

label_offset 整数 ((可选的,默认:1

将标签ID映射到名称的偏移(仅用于自定义模型)

model_dir 细绳 ((可选的

TensorFlow模型目录的完整路径。

默认:

/TensorFlow内部配置

区域 地图 ((可选的

自定义检测区。仅报告该框中的对象。图像的顶部为0,底部为1。从左到右。

最佳 漂浮 ((可选的,默认:0

顶线定义为图像顶部的%。

剩下 漂浮 ((可选的,默认:0

左线定义为图像左的%。

底部 漂浮 ((可选的,默认:1

底线定义为图像顶部的%。

正确的 漂浮 ((可选的,默认:1

右线定义为图像左的%。

类别 列表 ((可选的

在对象检测中包括的类别列表。可以在提供给的文件中看到标签

类别也可以定义为词典提供区域对于下面的高级配置中所示的每个类别:

#示例高级配置.yaml条目图像处理-平台TensorFlow资源-ENTITY_ID摄像头-ENTITY_ID摄像头file_out-/tmp/{{{camera_entity.split('。')[1]}} _最新.jpg“-/tmp/{{{camera_entity.split('。')[1]}} _ {{{现在()。strftime('%y%m%d_%h%m%s')}}。jpg”模型图形/config/tensorflow/models/foriditeddet_d0_coco17_tpu-32/类别-类别区域#排除图像的前10%最佳0.1#排除右图15%的图像正确的0.85--卡车

优化资源

图像处理组件在固定时期内从相机处理图像scan_interval。如果相机上的图像没有更改,则会导致过度处理,如默认scan_interval是10秒。您可以通过添加到配置来覆盖此内容scan_interval:10000(将间隔设置为10,000秒),然后致电image_processing.scan当您实际想执行处理时服务。

#示例高级配置.yaml条目图像处理-平台TensorFlowscan_interval10000资源-ENTITY_ID摄像头-ENTITY_ID摄像头
#示例高级Automations.yaml条目-别名TensorFlow扫描”扳机-平台状态ENTITY_ID-binary_sensor.driveway行动-服务image_processing.scan目标ENTITY_ID摄像头