西安人的城墙下,是西安人的生活
不积跬步无以至千里,不积小流无以成江海

DeploySharp 2.0.0 正式发布:多后端、多模型,让 C# 模型部署更简单

全球AI热点

DeploySharp 2.0.0 正式发布:多后端、多模型,让 C# 模型部署更简单

DeploySharp 2.0.0 正式发布:多后端、多模型,让 C# 模型部署更简单 – 椒颜皮皮虾 – 博客园

DeploySharp 2.0.0 正式发布:多后端、多模型,让 C# 模型部署更简单

使用 C# 做模型部署,除了让模型跑起来,还要处理图像缩放、归一化、输出解析、坐标还原,以及不同推理引擎的接口和运行环境。一个检测模型需要这些工作,换成 OCR,又要把检测、裁剪、方向分类和识别重新组织起来。

DeploySharp 2.0.0 正式发布:多后端、多模型,让 C# 模型部署更简单

使用 C# 做模型部署,除了让模型跑起来,还要处理图像缩放、归一化、输出解析、坐标还原,以及不同推理引擎的接口和运行环境。一个检测模型需要这些工作,换成 OCR,又要把检测、裁剪、方向分类和识别重新组织起来。

我开发 DeploySharp,就是希望把这些重复的接入工作整理好,让大家能够在熟悉的 C# 项目中,更方便地使用模型、选择推理引擎,并继续开发自己的业务功能。

目前,DeploySharp 2.0.0 正式版已经发布! 这一版带来了更完整的多模型、多引擎部署能力,扩展了 OCR 和文档处理流程,也加入了面向批量图片、视频和大图的处理功能。下面先带大家了解项目和本次更新的主要内容,具体部署案例会在后续文章中逐步展开。

DeploySharp 是一个专为 C#/.NET 开发者 设计的模型部署框架,由「椒颜皮皮虾」开发并开源,项目源码遵循 Apache License 2.0 。它基于 ONNX Runtime、OpenVINO、TensorRT、OpenCV DNN 等推理引擎,提供模型加载、参数配置、图像前处理、推理执行和结果后处理的配套接口,帮助开发者将模型接入自己的应用。

目前,项目已经接入了目标检测、图像分类、分割、姿态估计、旋转框、工业异常检测、背景移除等视觉任务,以及 PP-OCRv4/v5/v6 文字识别和 PP-Structure 文档处理 ;同时提供 SAM 提示分割、CLIP 图文匹配、BLIP 图像描述和 Qwen2.5 本地文本生成的相应模型入口。

多模型、多引擎、简洁调用和灵活扩展,是这个项目的主要特点。 常用模型可以直接使用配套前后处理;自己的模型也可以自定义输入处理、输出解码和结果类型。模型按需下载、批量推理、多推理器调度、异步预取、ROI 和大图切片,则为实际项目提供了进一步组合与优化的空间。

https://github.com/guojin-yan/DeploySharp/tree/DeploySharpV2.0

NuGet 包: 搜索 JYPPX.DeploySharp ,按任务选择所需组件。

https://www.nuget.org/packages?q=JYPPX.DeploySharp

当前 2.0.0 正式版主要验证 Windows 10/11 x64 ;新项目建议使用 .NET 10,也可根据现有工程选择 .NET 8 等兼容目标框架。不同组件、模型和后端的支持范围有所差异,后文提供详细文档与验证矩阵入口。

本系列也提供 Ubuntu 22.04 x64 上的 PP-OCRv5 Mobile 完整流程与多后端实跑 ,展示同一份 C# 基础代码在不同系统中的使用方式。跨平台组合以对应教程和验证矩阵中的具体记录为准。

DeploySharp 将视觉任务与推理引擎分开组织。对于已验证的模型,可以根据设备和部署环境选择 ONNX Runtime、OpenVINO、TensorRT 或 OpenCV DNN,应用代码继续围绕图像和任务结果展开。

GPU 路径可选: 支持已验证模型的 ONNX Runtime CUDA、TensorRT,以及相应的 CUDA 视觉处理路径。

依赖按需组合: 图像适配器与推理后端分开选择,例如 OpenCV 负责读图、ONNX Runtime 负责推理。

本地语言模型使用单独的 LlamaSharp 适配器,目前已验证 Qwen2.5 GGUF 的 CPU 文本生成。图中四种引擎主要面向视觉模型部署。

模型部署的工作量,常常集中在模型前后的处理。DeploySharp 为已接入模型提供配套的输入准备、输出解码和任务结果,让应用直接处理框、掩码、关键点、文字等信息。

目标检测 YOLO26n,以及 YOLOv5/v6/v7/v8/v9/v10、YOLO11/12/13 的具体型号;DEIMv2、RF-DETR、PP-YOLOE、RT-DETR

分类、实例分割、关键点、旋转框 YOLO 的相应任务模型,以及 RF-DETR Segment

工业异常与背景移除 PaDiM MVTec AD Bottle、BRIA RMBG 1.4/2.0

版面、表格与文档区域 PP-DocLayout、SLANeXt、UVDoc、PP-FormulaNet、UniMERNet、印章检测、PP-Chart2Table 等

提示分割、图文匹配与描述 SAM ViT-B、CLIP ViT-B/32、BLIP Caption Base

上表列出代表模型,精确型号、模型 ID 和支持状态在模型支持指南中列出。同一系列的不同型号、导出图和后端,仍需要分别确认。

OCR 需要把文字检测、文本行裁剪、方向处理、识别和结果合并串起来。PP-Structure 还会面对页面里的表格、公式、印章和图表。

2.0 提供这些阶段的任务接口与组合流程,并为识别阶段加入 Batch 和独立 Session 调度。

对普通 OCR, 你可以选择 Mobile、Server,或 v6 的 Tiny/Small/Medium 等具体组合,获得文字、区域坐标和置信度。

对文档处理, 可以按需要组合页面准备、版面定位和区域任务。仓库已有区域 OCR、有线表格到 HTML 等案例,后续文章会展开完整过程。

第三篇已经用一张包含大标题、多栏正文、照片和图注的中文报纸页面,展示了完整 OCR、文字框绘制和 TXT/JSON 导出。通用 OCR 提供逐区域文字;跨栏阅读顺序和标题、正文等区域划分,需要进一步结合版面分析。

当前 v6 OCR 组合复用 v5 Mobile CLS;文档模块各自的后端范围独立。PP-Structure 专题会在此基础上继续展开区域 OCR、表格与其他文档任务。

以 YOLO26 检测为例,完成模型 Profile 和后端初始化后,核心调用可以保持得很短:

using var input = new OpenCvVisualInputFactory() .CreateFromFile(imagePath, profile); var result = pipeline.Run(input).GetValue<DetectionResult>(); foreach (var item in result.Detections) Console.WriteLine($"{item.Label.Label}: {item.Label.Score:F3}");

这里的 profile 是描述输入输出与前……

出处:https://www.cnblogs.com/guojin-blogs/p/23490160(Hacker News 热度榜第 6 名 · 热度 94 · 讨论 0)

原创文章如转载,请注明本文链接:西秦记 » DeploySharp 2.0.0 正式发布:多后端、多模型,让 C# 模型部署更简单
分享到: 更多 (0)

IT信息化解决方案设计咨询

联系我们