当前位置:首页 » 《我的小黑屋》 » 正文

WebAI.js 开源项目教程

12 人参与  2024年09月24日 18:01  分类 : 《我的小黑屋》  评论

点击全文阅读


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


点击全文阅读


本文链接:http://zhangshiyu.com/post/164117.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1