|
一、 什么是Yolo
You Only Look Once是基于深度学习的一种实时目标检测算法。有速度快、实时性好的特点。Yolo依赖Python和相关深度学习框架。
二、 什么是YoloDotNet
YoloDotNet是Yolo在.NET平台的实现,基于C# .NET8,开发者可以使用熟悉的C#语开发部署。YoloDotNet能够在图像和视频中进行实时物体检测。支持分类、物体检测、OBB检测、分割检测出的物体、姿态估计等任务。另外还提供了自定义关键点配置、开放词汇检测、零样本物体检测等功能。
三、运行环境准备
1. 安装 CUDA v12.x,下载地址:https://developer.nvidia.com/cuda-downloads
2. 安装 cuDNN v9.x,下载地址:https://developer.nvidia.com/cudnn-downloads
3. 配置环境变量,将cuDNN库目录添加到Path环境变量中,cuDNN库目录默认为C:\Program Files\NVIDIA\CUDNN\v9.5\bin\12.6。
4. 下载yolo模型,https://docs.ultralytics.com/models/yolov8/#supported-tasks-and-modes
5. 模型转换为onxx格式。文末可获取转换完成的模型。
- 安装python环境。
- windows上直接安装参考:python环境搭建
- conda方式安装:conda install Python=3.10
- 安装pytorch
- conda方式安装:conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch-nightly -c nvidia
- 安装其它依赖包
- pip install ultralytics
- pip install onnx
- pip install onnxruntime
- pip install onnxslim
- 执行转换
- 切换到模型所在目录,创建convert.py程序文件:
- from ultralytics import YOLO
- # 加载模型
- model = YOLO("yolo11n.pt")
- # 导出模型
- model.export(format="onnx")
复制代码 6. 安装.net sdk
- 下载地址:https://dotnet.microsoft.com/zh-cn/download/dotnet/8.0。
- 验证安装:dotnet --version
四、创建项目
- 新建控制台应用程序项目:dotnet new console -n demo
- 添加YoloDotNet依赖
- 切换到demo目录执行:dotnet add package YoloDotNet
- Program.cs核心代码
- // 初始化yolo对象
- string modelPath = "e:/yolov8l.onnx";
- using var yolo = new Yolo(new YoloOptions
- {
- OnnxModel = modelPath,
- ModelType = ModelType.ObjectDetection,
- Cuda = false,
- GpuId = 0,
- PrimeGpu = false,
- });
- // 加载图片数据
- using var image = SKImage.FromEncodedData("e:/pic/1.jpeg");
- // 执行检测任务
- var results = yolo.RunObjectDetection(image, confidence: 0.25, iou: 0.7);
- // 在图片上绘制检测结果
- using var resultImage = image.Draw(results);
- // 检测结果保存为新图片
- resultImage.Save("e:/pic/1_result.jpeg", SKEncodedImageFormat.Jpeg, 80);
复制代码
onxx模型下载:关注公众号回复"yolo"
来源:https://www.cnblogs.com/cy2011/p/18526002
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|