# C#AI系列(3):31mb单文件exe实现姿态检测-将Yolo装进口袋

news/2025/11/27 15:43:38/文章来源:https://www.cnblogs.com/luojin765/p/19278215

# C#AI系列(3):31mb单文件exe实现姿态检测-将Yolo装进口袋

C#使用Yolo其实简单。相较于Python方案,C# 31 MB单文件以可以单文件独立发布或以AOT编译彻底剥离解释器与运行时依赖,CPU推理性能良好。而且YOLO11n模型权重与原生推理代码一体嵌入,免除Python环境、版本冲突及数百兆依赖包部署,实现零配置、零维护、单文件分发,可以显著降低现场实施与售后成本,满足严肃场景对稳定性、一致性与封闭的刚性要求。

PoseEstimation

本文所有机器学习模型案例的代码已全部开源,关注 萤火初芒 公众号回复AISharp即可查看仓库地址。

一、环境准备

Nuget拉取 Microsoft.ML.OnnxRuntime.Managed 和 YoloDotNet,库内包含了完整所需的其他如Skia、OnnxRuntime等Native库文件。其中:
Microsoft.ML.OnnxRuntime.Managed: ONNX Runtime 是跨平台机器学习推理加速器,可兼容 PyTorch、TensorFlow/Keras 及 scikit-learn、LightGBM、XGBoost 等经典框架,通过图优化与硬件加速器协同,在异构操作系统与驱动环境下实现低成本、高吞吐、低延迟的统一部署。
YoloDotNet:基于 .NET 8、ONNX Runtime 的 C# 全栈库,把 YOLO 的检测、斜框、分割、分类、姿态、追踪能力一次打包,CUDA/TensorRT 双路 GPU 加速,开箱即跑;图片、视频、直播流全兼容,帧跳、可视化可定制,单库实现“模型到画面”的极速闭环。

二、模型准备

Yolo3-Yolo12预训练好的模型可以在https://docs.ultralytics.com/zh/models/yolo11/#supported-tasks-and-modes下载。
模型分为5大类:对象检测、图像分割、图像分类、姿态检测、目标检测(OBB)

所有模型下载后为.pt的格式,我们在C# 中使用的话需要在python中处理成.onnx格式。代码非常简单:


from ultralytics import YOLO# 加载.pt模型
model = YOLO("D:/yolo11n-pose.pt")# 输出.onnx模型
model.export(format="onnx") 

三、代码实现

示例代码可参考官方YoloDotNet中的demo文件夹,有各种实现的详细案例。以下是Yolo初始化的示例:

//初始化Yolo示例
using var yolo = new Yolo(new YoloOptions
{// 设定模型路径// 不同的任务需加载不同的模型OnnxModel = @"\yolo11n-pose.onnx",// 设定由CPU实现ExecutionProvider = new CpuExecutionProvider(),// 推理前应用的缩放模式。Proportional(等比缩放)会保持宽高比(必要时加填充);Stretch(拉伸缩放)则直接将图片resize到目标尺寸,不保持宽高比。该参数会直接影响推理结果。ImageResize = ImageResize.Proportional,// 缩放时可用的采样选项;会影响推理速度与质量。// 其他采样选项的对比示例,参见基准测试:SamplingOptions = new(SKFilterMode.Nearest, SKMipmapMode.None) // YoloDotNet default
});

YoloOptions的参数OnnxModel也可以改成OnnxModelBytes,从而直接加载字节数组,以便实现将模型内嵌。

在这里以姿态检测代码作为例子,非常简单,核心代码也就1-2行,其他部分可按需求增减:


// 用Skia加载目标图片
using var image = SKBitmap.Decode(args?[0] ?? @"d:\tt2.png");// 使用加载好模型的Yolo示例执行任务
var results = yolo.RunPoseEstimation(image, confidence: 0.25, iou: 0.7);// 绘制任务结果
image.Draw(results, _drawingOptions);// 保存绘制任务结果
var fileName = Path.Combine(_outputFolder, "PoseEstimation.jpg");
image.Save(fileName, SKEncodedImageFormat.Jpeg, 80);// 显示输出的图片
DisplayOutput(fileName);

四、发布选项

由于.Net平台的强大,我们可以任意选择我们的发布形式。以下比较了集中发布情况,所有发布的文件中均内嵌了一个11.2mb的小模型,发布后无需再外挂模型文件。

发布方式(内嵌模型资源) 大小 文件数量
单文件发布 47.6MB 3
单文件发布(Compression) 45.6MB 3
AOT发布 37.9MB 3
单文件发布(Compression)+Native自提取 31.0MB 1

需要注意的是。原生YoloDotNet发布Aot会报错,原因是其在某个函数传参过程中使用了Dynamic类型,我们将原库代码拔下来修改后重新编译即可支持了。

五、效果演示

Yolo的姿态模型可以识别面部头眼及四肢等多个关键点。效果展示如下(视频无加速):

output

在最后一幅图大家也发现了,有部分人物未被识别到。这其实与案例中选择的模型大小有关。当我们切换到稍大点的模型时(yolo11x-pose,224mb),主体人物均可被正常识别了。
yolo11n-pose,11.2mb:
PoseEstimation_n

yolo11x-pose,224mb:

PoseEstimation_x

六、 最后

本文借助 C# AOT 与 ONNX Runtime,可将 YOLO11 姿态模型及全部依赖压缩为 31 MB 单文件 EXE,现场部署无需 Python 环境与额外组件,显著降低实施、维护与版本漂移风险,可以将落地门槛再降一分,即插即用将AI装进了口袋。
感谢您的阅读,本案例及更加完整丰富的机器学习模型案例的代码已全部开源,关注公众号回复AISharp即可查看仓库地址。

QR

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/978555.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详细介绍:Linux远程控制Windows桌面的cpolar实战指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025 年最新钢构件源头厂家推荐排行榜:聚焦优质货源,精选 8 家实力企业助力建筑工程高效采购钢构件加工/钢构件设计/钢构件施工/结构件加工/钢构件制作公司推荐

引言 在建筑行业绿色化、工业化转型的关键阶段,钢构件凭借强度高、施工周期短、可回收利用等核心优势,已成为工业厂房、商业建筑、桥梁工程等领域的刚需建材。然而当前市场供应商资质参差不齐,部分企业存在工艺落后…

2025年窑湖小镇附近农家乐、周边亲子农家乐、附近乡村农家乐

为帮家庭、亲子、团建群体快速锁定窑湖小镇周边适配的农家乐目的地,避免踩坑,我们从场景体验丰富度(含亲子项目、田园活动)、配套设施完善度(住宿、餐饮、停车)、地理位置优势(近景区、交通便捷)、客群口碑反馈…

C 与 C++ 中 ​​inline​​ 关键字的深入解析与使用指南

inline关键字的核心目标是通过编译器将函数调用替换为函数体代码,从而减少函数调用的开销(如栈帧创建、参数传递、返回值处理等),提升程序执行效率。但 C 和 C++ 对inline的语义定义、编译器行为及使用规则存在差异…

2025 年废旧轮胎裂解加热厂家推荐 唐山金沙燃烧热能:技术赋能环保 专业设备引领行业应用温热风炉/氢气/低氮燃烧器/粉体冷固球团系统/尾气燃烧器/热风炉/烤包器/火炬推荐

行业背景 在环保政策收紧与资源循环利用需求升级的双重驱动下,废旧轮胎回收利用产业迎来快速发展期。废旧轮胎裂解作为实现资源再生的核心技术,其加热系统的稳定性、环保性与能效直接决定了项目的综合效益。当前市场…

Excel 表格提取

# -*- coding: utf-8 -*- """ Excel 数据加载模块 负责从 Excel 文件加载测试数据,处理数据转换和验证"""import json from pathlib import Path from typing import Dict, Any, List,…

活动烟花表演公司TOP5权威推荐:专业评测指南,甄选企业助力

随着商业庆典、文旅活动、节日晚会等场景对沉浸式视听体验的需求激增,高品质烟花表演已成为活动吸睛引流、品牌造势的核心载体。2024年行业数据显示,国内专业烟花表演市场规模突破120亿元,年增速达38%,但32%的客户…

详细介绍C++中inline函数的优缺点

inline 函数是 C++ 中用于优化函数调用性能的特性,但其效果并非绝对,需结合场景权衡利弊。以下从优点、缺点及使用边界三方面展开分析: 一、inline 函数的核心优点 1. 减少函数调用开销,提升执行效率 函数调用需经…

2025年下半年工业大风扇/工业大吊扇/厂家综合实力排行榜TOP5推荐

随着工业节能与通风需求的持续增长,2025年下半年工业大风扇市场呈现快速发展态势。本文基于行业调研数据与用户反馈,为您推荐五家综合实力突出的工业大风扇生产企业。榜单排名不分先后,旨在为用户提供参考选择,其中…

模拟赛 R25

T2 - 玩具质检 题目描述 小 Z 现在成为了玩具厂的厂长,为了保证出厂玩具的质量,他决定对这些玩具进行抽样检查。 具体来说,玩具厂生产的这批玩具个数为 \(n\),编号为 \(1,2,\cdots,n\)。小 Z 进行了若干次抽查,其…

2025上海的留学中介哪个机构好

2025上海的留学中介哪个机构好一、2025年上海留学中介如何选择许多上海学生在搜索“2025上海的留学中介哪个机构好”时,核心诉求是找到一家靠谱、透明且本地化服务成熟的机构。作为从业15年的国际教育规划师,我常被家…

2025年河北水利相关咨询公司权威推荐榜单:智能水务系统开发‌/住宅水电安装维护‌/水利监测源头公司精选

在河北省积极推进智慧水利与水资源集约安全利用的背景下,专业的水利相关咨询服务已成为支撑区域水资源管理、水灾害防治与水生态保护的关键力量。据行业数据显示,2024年全国水利管理业投资完成额突破1.2万亿元,其中…

2025 年 11 月红木装修品牌权威推荐榜:复古/古典/别墅/四合院高端整装设计,精选原料与工艺质量深度解析

2025 年 11 月红木装修品牌权威推荐榜:复古/古典/别墅/四合院高端整装设计,精选原料与工艺质量深度解析 红木装修作为中国传统建筑文化的重要载体,近年来在高端住宅、商业空间及文化场所中的应用日益广泛。随着消费…

清障车2025年度实力排行,口碑优良厂家精选推荐,折臂高空作业车/二手蓝牌平板拖车/蓝牌重载清障车/蓝牌清障车/清障车厂家排行榜单

行业洞察与榜单背景 随着我国道路交通网络的不断完善和汽车保有量的持续增长,清障车作为道路救援体系的重要装备,市场需求呈现稳步上升态势。据行业数据显示,2024年国内清障车市场规模已突破百亿元,预计2025年将保…

解决 Win11 启动程序卡顿以及软件打开慢的问题。

在网上查了很多资料,办法如下: 1.发现了卡顿来源,只要禁用下面开关即可解决问题。关闭 安全中心---应用和浏览器控制----智能应用控制设置

2025上海最出名的留学中介机构

2025上海最出名的留学中介机构一、2025年上海留学中介选择指南作为从事国际教育规划工作超过12年的专业顾问,我经常被学生和家长问及:2025年上海地区哪些留学中介机构值得信赖?根据《2025中国留学中介口碑调研白皮书…

2025年北京油气润滑系统制造厂哪家专业、生产厂哪家合作案例

为帮助工业制造企业精准锁定适配生产需求的油气润滑系统合作伙伴,避免因选型不当导致的设备故障、工艺波动及成本浪费,我们从技术适配性(设备-油品-工艺匹配度、参数调试能力)、案例覆盖广度(合作企业规模与行业类…

2025上海留学中介最好的是哪家

2025上海留学中介最好的是哪家一、2025上海留学中介如何选择许多计划在2025年出国深造的学生及家长,常常会提出一个核心问题:上海地区哪家留学中介机构更为可靠?作为一位拥有十年经验的国际教育规划师,笔者认为,选…

2025源头烟雾机厂家TOP5权威推荐:质量好的烟雾机优质供

舞台作为演艺、文旅、娱乐场景的核心视觉支撑,直接影响现场氛围与观众沉浸感。近年来,随着户外演出、大型文旅项目的爆发式增长,市场对防雨耐用、安全稳定、效果精准的烟雾机需求激增。但行业内存在产品同质化严重、…

2025上海留学机构有哪些

2025上海留学机构有哪些一、2025上海留学机构有哪些 随着2025年留学申请季的临近,许多上海学生和家长开始关注本地留学中介的选择。作为从业15年的上海地区留学申请规划导师,我经常被问到“上海有哪些可靠的留学机构…