WebAI.js 开源项目教程

WebAI.js 开源项目教程

WebAI.js A simple Web AI model deployment tool using JavaScript based on OpenCV.js and ONNXRuntime WebAI.js 项目地址: https://gitcode.com/gh_mirrors/we/WebAI.js

1. 项目介绍

1.1 项目概述

WebAI.js 是一个基于 OpenCV.js 和 ONNXRuntime 开发的 Web 前端 AI 模型部署工具。它允许开发者通过简单的 HTML 脚本标签或 Node.js 环境,快速部署和使用各种计算机视觉(CV)模型,如目标检测、图像分类和图像分割等。

1.2 主要特性

  • 支持多种模型类型:包括目标检测(如 Yolo、ssd)、图像分类(如 MobileNet、EfficientNet)和图像分割(如 BiseNet、PPSeg)。
  • 兼容多个套件:支持 PaddleDetection、PaddleClas 和 PaddleSeg 等套件的部分导出模型。
  • 灵活的部署方式:支持 HTML 脚本标签引入和 Node.js 环境部署。
  • 丰富的预处理配置:通过配置文件对模型的预处理进行详细配置。

2. 项目快速启动

2.1 安装

2.1.1 HTML 脚本标签引入
<script type="module" src="https://cdn.jsdelivr.net/gh/AgentMaker/WebAI.js@dev_v3/dist/webai.min.mjs"></script>
2.1.2 Node.js 安装
$ npm install webai-js

2.2 模型加载与推理

2.2.1 加载模型
// 加载基础模型
const model = new WebAI.Model(modelURL, sessionOption, init, preProcess, postProcess);

// 加载CV模型
const modelCV = new WebAI.CV(modelURL, inferConfig, sessionOption, getFeeds, postProcess);

// 加载检测模型
const modelDet = new WebAI.Det(modelURL, inferConfig, sessionOption, getFeeds, postProcess);

// 加载分类模型
const modelCls = new WebAI.Cls(modelURL, inferConfig, sessionOption, getFeeds, postProcess);

// 加载分割模型
const modelSeg = new WebAI.Seg(modelURL, inferConfig, sessionOption, getFeeds, postProcess);
2.2.2 模型推理
// 基础模型推理
model.infer(args);

// CV模型推理
modelCV.infer(args);

// 检测模型推理
modelDet.infer(imgRGBA, drawThreshold);

// 分类模型推理
modelCls.infer(imgRGBA, topK);

// 分割模型推理
modelSeg.infer(imgRGBA);

3. 应用案例和最佳实践

3.1 目标检测应用

使用 WebAI.js 部署一个目标检测模型,实时检测视频流中的物体。

const modelDet = new WebAI.Det('model.onnx', 'config.json');

function detectObjects(videoFrame) {
    const result = modelDet.infer(videoFrame);
    // 处理检测结果
}

3.2 图像分类应用

使用 WebAI.js 对上传的图像进行分类,返回置信度最高的前 K 个类别。

const modelCls = new WebAI.Cls('model.onnx', 'config.json');

function classifyImage(image) {
    const result = modelCls.infer(image, 5);
    // 处理分类结果
}

4. 典型生态项目

4.1 OpenCV.js

OpenCV.js 是一个用于图像处理的 JavaScript 库,WebAI.js 基于 OpenCV.js 提供了图像预处理功能。

4.2 ONNXRuntime

ONNXRuntime 是一个高性能的推理引擎,支持多种硬件加速,WebAI.js 使用 ONNXRuntime 进行模型推理。

4.3 PaddlePaddle

PaddlePaddle 是一个深度学习框架,WebAI.js 支持 PaddleDetection、PaddleClas 和 PaddleSeg 等套件的模型部署。

通过以上模块的介绍和示例代码,开发者可以快速上手并应用 WebAI.js 进行 AI 模型的前端部署。

WebAI.js A simple Web AI model deployment tool using JavaScript based on OpenCV.js and ONNXRuntime WebAI.js 项目地址: https://gitcode.com/gh_mirrors/we/WebAI.js

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虞亚竹Luna

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值