TensorFlow.js 和 Node-RED 图像识别应用程序

在本文中,我们将看看您可以将这两种流行的开源软件工具组合起来做什么。

使用 Node-RED 创建示例图像识别流程

我们的目标是在 Node-RED 中创建一个流来识别图像中的对象,如下面的屏幕截图所示。

使用黄色节点组件从浏览器上传文件后,可以观察到此流程。 用户界面的左下角在“原始图像”节点中显示上传的图像。 在橙色的“图像识别”节点中,TensorFlow.js 训练模型用于对上传的图像(一架飞机)中的内容运行分析。 最后,我们将使用右上角的绿色“输出结果”节点输出在右侧调试选项卡中看到的内容。 另外,在[Image with annotation]节点下会显示一个用橙色方块标注的图像,很容易看出识别了图像的哪一部分。

在以下部分中,我们将解释创建此流程的步骤。 对于此演示,Node-RED 可以在本地环境(在本例中为 Raspberry Pi)和云环境中运行——无论平台选择如何,它都可以运行。 在我们的测试中,Google Chrome 被选择用于 Node-RED Web 用户界面。

安装 TensorFlow.js 节点

我们将从在 Node-RED 中安装 TensorFlow.js 节点开始。 要安装节点,请转到流程编辑器的右上角菜单。 单击“管理调色板”-> 转到“调色板”选项卡-> 选择“安装”选项卡。

如上图所示,搜索结果中显示了要使用的TensorFlow.js节点。 单击“安装”按钮安装 TensorFlow.js 节点。 安装完成后,橙色 TensorFlow.js 节点将出现在左侧面板的分析类别中。

下表描述了每个 TensorFlow.js 节点。 这些都是图像识别节点,但它们也可以生成带有注释的图像数据并执行其他功能,例如图像识别或离线,这是边缘分析所必需的。

# 名称 描述 注释图片 离线使用
1 cocossd 返回图像中对象名称的节点 可以
2 handpose 从手部图像估计手指和关节位置的节点 不是 不可以
3 mobilenet 返回图像中对象名称的节点 不是 可以
4 posenet 根据人的图像估计手臂、头部和腿部位置的节点 可以

此外,在 Node-RED 中处理图像数据所需的以下节点应该以相同的方式安装。

创建流

如图所示,在“Image with annotation”节点下显示了飞行器上带有橙色注释的图像。此外,您可以看到右侧的调试选项卡正确显示了“飞机”。

随意使用您可以使用的图像,看看它们是否可以被正确识别。

详情参阅 亚图跨际

你可能感兴趣的:(机器学习,tensorflow,Node-RED,图像识别)