qidao123.com技术社区-IT企服评测·应用市场

标题: 物体检测框架YoloDotNet初体验 [打印本页]

作者: 万有斥力    时间: 2024-11-4 17:58
标题: 物体检测框架YoloDotNet初体验
一、 什么是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格式。文末可获取转换完成的模型。
  1. from ultralytics import YOLO
  2. # 加载模型
  3. model = YOLO("yolo11n.pt")
  4. # 导出模型
  5. model.export(format="onnx")
复制代码
6. 安装.net sdk
四、创建项目
  1. // 初始化yolo对象
  2. string modelPath = "e:/yolov8l.onnx";
  3. using var yolo = new Yolo(new YoloOptions
  4. {
  5.     OnnxModel = modelPath,
  6.     ModelType = ModelType.ObjectDetection,
  7.     Cuda = false,
  8.     GpuId = 0,
  9.     PrimeGpu = false,
  10. });
  11. // 加载图片数据
  12. using var image = SKImage.FromEncodedData("e:/pic/1.jpeg");
  13. // 执行检测任务
  14. var results = yolo.RunObjectDetection(image, confidence: 0.25, iou: 0.7);
  15. // 在图片上绘制检测结果
  16. using var resultImage = image.Draw(results);
  17. // 检测结果保存为新图片
  18. resultImage.Save("e:/pic/1_result.jpeg", SKEncodedImageFormat.Jpeg, 80);
复制代码
 




 
onxx模型下载:关注公众号回复"yolo"

 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 qidao123.com技术社区-IT企服评测·应用市场 (https://dis.qidao123.com/) Powered by Discuz! X3.4