Roboflow 如何帮助数千名开发者使用 TensorFlow.js 进行计算机视觉
2022 年 7 月 27 日

来自 Roboflow 联合创始人兼 CTO Brad Dwyer 的客座文章

Roboflow 允许开发者构建自己的计算机视觉应用程序,从数据准备和模型训练到部署和主动学习。通过构建 我们自己的应用程序,我们亲身体会到训练和部署计算机视觉模型是多么繁琐。这就是为什么我们在 2020 年 1 月推出 Roboflow 的原因 - 我们相信每个开发者都应该在他们的工具箱中拥有计算机视觉。我们的使命是消除任何可能阻碍他们成功的障碍。

我们的端到端计算机视觉平台简化了收集图像、创建数据集、训练模型以及将它们部署到生产环境的过程。超过 100,000 名开发者使用 Roboflow 的工具进行开发。TensorFlow.js 是 Roboflow 部署堆栈 的核心部分,它 现在已经为来自世界各地的开发者创建的超过 10,000 个项目提供支持

作为一项早期的设计决策,我们决定为了提供最佳的用户体验,我们需要能够直接在用户的网络浏览器中运行用户的模型(以及我们的 API、边缘设备和本地设备),而不是要求与我们的服务器进行往返。促使我们做出这一决定的三个主要因素是延迟、带宽和成本。

例如,Roboflow 为 SpellTableCodex 功能提供支持,该功能使用计算机视觉模型来识别《万智牌》卡片。

来自 Twitter

Roboflow 如何使用 TensorFlow.js

每当用户的模型完成 在 Roboflow 的后端进行训练 时,该模型就会被转换为支持多个不同部署目标的格式;其中一个目标是 TensorFlow.js。虽然 TensorFlow.js 不是使用 Roboflow 部署计算机视觉模型 的唯一方式,但 TensorFlow.js 在 Roboflow 中支持的功能包括

roboflow.js

roboflow.js 是一个 JavaScript SDK,开发者可以使用它将他们训练的模型集成到 Web 应用程序或 Node.js 应用程序中。观看此视频以了解快速介绍

推理服务器

Roboflow 推理服务器 是一种跨平台微服务,允许开发者在本地自行托管和提供模型服务。(注意:并非 Roboflow 的所有推理服务器都是基于 TFjs 的,但它是一种支持的模型部署方式。)

tfjs-node 容器通过 Docker 运行,并在任何具有 CUDA 和兼容 NVIDIA 图形卡的机器上进行 GPU 加速,或者在任何 Linux、Mac 或 Windows 设备上使用 CPU 进行加速。

预览

预览是一个 浏览器内小部件,允许开发者无缝地在图像、视频和网络摄像头流上测试他们的模型。

标签助手

标签助手是一个 模型辅助图像标记工具,允许开发者使用他们之前模型的预测作为标记更多图像的起点。

用户利用标签助手的一种方式是浏览器内预测

我们选择 TensorFlow.js 的原因

一旦我们决定需要在浏览器中运行,TensorFlow.js 就成为一个明确的选择。

由于 TFJS 在我们的用户浏览器和他们自己的计算环境中运行,我们能够为超过 100,000 名开发者(包括使用 我们的免费公共计划 的开发者)提供 ML 支持的功能。如果我们必须建立一个云托管 GPU 集群,这是不可行的。

幕后

使用 TensorFlow.js 实现 roboflow.js 相对简单。

我们必须更改神经网络中的几层,以 确保我们想要使用的运行时支持所有操作,将 tfjs-converter 整合到我们的训练管道中,并将我们的预处理和后处理代码从 Python 移植到 JavaScript。从那以后,一切都非常顺利。

一旦我们为客户构建了 roboflow.js,我们就内部使用它来支持预览、标签助手 和推理服务器的一种实现。

试一试

尝试 roboflow.js 最简单的方法是使用 Roboflow Universe 上的预览,我们在那里托管了超过 7,000 个用户共享的预训练模型。这些模型中的任何一个都可以轻松地构建到您的应用程序中,用于例如 查看扑克牌统计冲浪者读取车牌 以及 在显微镜下发现细菌 等更多功能。

任何具有训练模型的项目的“部署”选项卡 上,您可以拖放视频或使用您的网络摄像头直接在浏览器中运行推理。要查看浏览器内的实时示例,请尝试点击“网络摄像头”图标,尝试这个由社区创建的 口罩检测器

要为自定义用例训练您自己的模型,您可以 创建一个免费的 Roboflow 帐户 来收集和标记数据集,然后以单击的方式训练和部署它以供 roboflow.js 使用。这使您能够在任何需要的地方使用您的模型。

关于 Roboflow

Roboflow 使开发者能够轻松地在他们的应用程序中使用计算机视觉。超过 100,000 名用户已经使用该公司的端到端平台构建了图像和视频收集、组织、标注、预处理、模型训练和模型部署。Roboflow 提供了工具,使公司能够改进他们的数据集并更快地构建更准确的计算机视觉模型,以便他们的团队可以专注于他们的领域问题,而无需重新发明视觉基础设施方面的轮子。

在 Roboflow Universe 上浏览数据集

在 Roboflow 文档中开始使用

查看所有可用的 Roboflow 功能

下一篇
How Roboflow enables thousands of developers to use computer vision with TensorFlow.js

来自 Roboflow 联合创始人兼 CTO Brad Dwyer 的客座文章Roboflow 允许开发者构建自己的计算机视觉应用程序,从数据准备和模型训练到部署和主动学习。通过构建 我们自己的应用程序,我们亲身体会到训练和部署计算机视觉模型是多么繁琐。这就是为什么我们在 2020 年 1 月推出 Roboflow 的原因 - 我们相信每个开发者都应该在他们的工具箱中拥有计算机视觉。我们的使命是消除任何可能阻碍他们成功的障碍。