YoloSharp

GitHub
545 91 简单 1 次阅读 4天前AGPL-3.0开发框架图像
AI 解读 由 AI 自动生成,仅供参考

YoloSharp 是一款专为 .NET 开发者打造的高性能实时目标检测解决方案。它基于最新的 YOLO11 架构,并依托 ONNX Runtime 引擎,让 C# 应用也能轻松拥有顶尖的视觉识别能力。

在开发中,将强大的 AI 模型集成到 .NET 生态往往面临环境配置复杂或运行效率低下的挑战。YoloSharp 通过深度优化内存管理、复用内存块以减轻垃圾回收(GC)压力,有效解决了高性能推理与资源占用之间的矛盾。它不仅支持检测、姿态估计、实例分割、旋转框检测及图像分类等全套 YOLO 视觉任务,还兼容从 YOLOv8 到 YOLO26 等多个主流版本。

该工具特别适合需要在 Windows、Linux 或 macOS 上构建计算机视觉应用的 .NET 工程师和研究人员。无论是进行原型验证还是部署生产级服务,YoloSharp 都提供了灵活的 NuGet 包选择:既包含开箱即用的 CPU/GPU 推理版本,也提供无依赖的核心库供高级用户定制。此外,它还内置了便捷的绘图功能,可直接在图像上可视化预测结果,极大简化了调试与演示流程。只需将 PyTorch 模型导出为 ONNX 格式,即可在 C# 项目中通过几行代码实现高效的异步推理。

使用场景

某智能仓储团队正在开发一套基于 .NET 的实时包裹分拣系统,需要在传送带高速运行中精准识别包裹位置、姿态及分类。

没有 YoloSharp 时

  • 推理延迟高:调用外部 Python 服务进行 YOLO 推理,进程间通信导致每帧处理耗时超过 200ms,无法满足高速分拣需求。
  • 内存压力巨大:频繁创建图像对象引发 .NET 垃圾回收(GC)卡顿,导致系统在长时间运行后出现间歇性停顿。
  • 功能集成困难:仅支持基础检测,难以在 C# 原生环境中直接实现旋转框(OBB)或关键点姿态估计,需额外编写复杂桥接代码。
  • 部署依赖繁琐:生产环境必须捆绑庞大的 Python 运行时和 PyTorch 库,增加了容器体积和维护成本。

使用 YoloSharp 后

  • 毫秒级实时响应:利用 ONNX Runtime 加速及 C# 原生优化,单帧推理压缩至 30ms 以内,完美匹配传送带速度。
  • 内存占用极低:通过复用内存块大幅减少 GC 压力,系统可连续稳定运行数周无卡顿。
  • 全任务原生支持:直接在 C# 中调用 Detect、OBB、Pose 等所有 YOLO 视觉任务,并内置绘图功能即时预览结果。
  • 轻量化部署:仅需引入 NuGet 包即可运行,无需安装 Python 环境,显著简化了服务器与边缘设备的交付流程。

YoloSharp 将高性能 AI 推理无缝融入 .NET 生态,让开发者无需跨越语言鸿沟即可构建低延迟、高稳定的工业级视觉应用。

运行环境要求

操作系统
  • Windows
  • Linux
  • macOS
GPU
  • 可选
  • 若使用 'YoloSharp.Gpu' 包进行 GPU 推理,需安装对应平台的 ONNX Runtime GPU 依赖(通常指 NVIDIA GPU 及相应 CUDA/cuDNN 环境,具体版本由 ONNX Runtime 决定)
  • 若使用 'YoloSharp' 包则仅支持 CPU
内存

未说明(文档提及通过重用内存块减少 GC 压力以优化内存使用,但未给出具体数值)

依赖
notes1. 该工具主要作为 .NET (C#) 库运行,推理阶段不需要 Python 环境。2. 使用前需先通过 Python (ultralytics 库) 将 PyTorch 模型 (.pt) 导出为 ONNX 格式 (.onnx)。3. 提供三个 NuGet 包:'YoloSharp' (CPU)、'YoloSharp.Gpu' (GPU) 和 'YoloSharp.Core' (无运行时依赖)。4. 不支持批量处理(需逐张预测)和动态输入尺寸(图像会根据 imgsz 调整大小)。5. 注意 ImageSharp 的许可证细节。
python用于模型导出阶段(将 PyTorch 模型转为 ONNX),需安装 ultralytics 库;C# 推理阶段无需 Python 环境。
.NET SDK
ONNX Runtime
SixLabors.ImageSharp
ultralytics (仅模型导出用)
YoloSharp hero image

快速开始

YoloSharp

🚀 一款基于 YOLO11 和 ONNX-Runtime 的高性能实时目标检测解决方案 ⚡️

特性

  • YOLO 任务 🌟 支持所有 YOLO 视觉任务( 检测 | OBB | 姿态估计 | 分割 | 分类
  • 高性能 🚀 采用多种技术并充分利用 .NET 特性以最大化性能
  • 降低内存占用 🧠 通过复用内存块和减少垃圾回收压力来实现
  • 绘图选项 ✏️ 将预测结果绘制到目标图像上,以便预览模型效果
  • YOLO 版本 🔧 包含对以下版本的支持: YOLOv8 YOLOv10 YOLO11 YOLO12 YOLO26

安装

该项目提供了以下 NuGet 包:

描述 依赖项
YoloSharp 基于 CPU 的推理 包含所有运行时依赖(跨平台)
YoloSharp.Gpu 基于 GPU 的推理 包含所有运行时依赖(跨平台)
YoloSharp.Core 核心库,不含运行时依赖 无 – 适用于轻量级生产环境或使用替代运行时环境

使用方法

1. 将模型导出为 ONNX 格式:

要将预训练的 PyTorch 模型转换为 ONNX 格式,请运行以下 Python 代码:

from ultralytics import YOLO

# 加载模型
model = YOLO('path/to/best.pt')

# 导出模型为 ONNX 格式
model.export(format='onnx')

2. 使用 C# 加载 ONNX 模型:

在项目中添加 YoloSharp(或 YoloSharp.Gpu)包:

dotnet add package YoloSharp

然后使用以下 C# 代码加载模型并进行基本预测:

using Compunet.YoloSharp;

// 加载 YOLO 预测器
using var predictor = new YoloPredictor("path/to/model.onnx");

// 运行模型
var result = predictor.Detect("path/to/image.jpg");
// 或
var result = await predictor.DetectAsync("path/to/image.jpg");

// 将结果摘要输出到终端
Console.WriteLine(result);

绘图

您可以绘制目标图像以预览模型结果。以下代码演示如何执行推理、将结果绘制到图像上并保存到文件:

using Compunet.YoloSharp;
using Compunet.YoloSharp.Plotting;
using SixLabors.ImageSharp;

// 加载 YOLO 预测器
using var predictor = new YoloPredictor("path/to/model.onnx");

// 加载目标图像
using var image = Image.Load("path/to/image");

// 运行模型
var result = await predictor.PoseAsync(image);

// 根据模型结果创建绘制后的图像
using var plotted = await result.PlotImageAsync(image);

// 将绘制后的图像保存到文件
plotted.Save("./pose_demo.jpg");

您也可以在一个操作中完成预测并保存到文件:

using Compunet.YoloSharp;
using Compunet.YoloSharp.Plotting;
using SixLabors.ImageSharp;

// 加载 YOLO 预测器
using var predictor = new YoloPredictor("path/to/model.onnx");

// 运行模型、绘制预测结果并保存到文件
predictor.PredictAndSaveAsync("path/to/image");

示例图片:

检测 姿态估计
detect pose
分割 OBB
seg obb

不支持的功能:

以下功能目前暂不支持,未来可能会添加:

  • 批量处理: 必须逐个进行预测
  • 动态尺寸: 图像会根据 imgsz 调整大小

许可证

AGPL-3.0 许可证

重要提示: 本项目依赖于 ImageSharp,您应查看其许可证详情 此处

版本历史

6.1.02026/02/01
6.0.72026/01/04
6.0.62025/09/10
6.0.52025/06/09
6.0.42025/06/08
6.0.32025/04/04
6.0.22025/01/14
6.0.12024/11/19
6.0.02024/10/31
5.3.02024/10/30
5.2.02024/10/16
5.1.12024/10/15
5.1.02024/10/08
5.0.42024/09/29
5.0.32024/09/26
5.0.22024/09/24
5.0.12024/09/15
5.0.02024/09/15
4.2.02024/08/23
4.1.72024/06/27

常见问题

相似工具推荐

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|昨天
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

140.4k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.7k|★★☆☆☆|3天前
开发框架图像Agent

Deep-Live-Cam

Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具,用户仅需一张静态照片,即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点,让高质量的数字内容创作变得触手可及。 这款工具不仅适合开发者和技术研究人员探索算法边界,更因其极简的操作逻辑(仅需三步:选脸、选摄像头、启动),广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换,还是制作趣味短视频和直播互动,Deep-Live-Cam 都能提供流畅的支持。 其核心技术亮点在于强大的实时处理能力,支持口型遮罩(Mouth Mask)以保留使用者原始的嘴部动作,确保表情自然精准;同时具备“人脸映射”功能,可同时对画面中的多个主体应用不同面孔。此外,项目内置了严格的内容安全过滤机制,自动拦截涉及裸露、暴力等不当素材,并倡导用户在获得授权及明确标注的前提下合规使用,体现了技术发展与伦理责任的平衡。

88.9k|★★★☆☆|今天
开发框架图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|昨天
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|昨天
图像数据工具视频