项目介绍

YoloDotNet v2.1 是一个基于 C# 和 .NET 8 的实时物体检测框架,专为图像和视频中的物体检测而设计。它集成了 Yolov8 ~ Yolov11 模型,通过 ML.NET 和 ONNX 运行时实现高效的物体检测,并支持 GPU 加速(使用 CUDA)。YoloDotNet 不仅支持传统的物体检测,还涵盖了分类、OBB 检测、分割和姿态估计等多种功能,适用于各种复杂的视觉任务。

项目技术分析

YoloDotNet 2.1 现已推出,比以往任何时候都更强大!此版本建立在之前的“Speed Demon”v2.0 更新的基础上,并添加了一些令人兴奋的新功能,同时保持一切顺利。与旧版本的兼容性已得到保证,并且进行了一些调整以获得更好的对象检测性能。查看新增功能:

  • Yolov11 支持:最新、最出色的对象检测模型的支持,为用户提供了更先进的物体检测能力。
  • Yolov9 的向后兼容性:现在您可以在 Yolov8-v11 版本之间切换。
  • 小优化:为了更快地检测对象,这里和那里有一些调整,速度越快越好!
  • OnnxRuntime 更新:现在支持 CUDA 12.x 和 cuDNN 9.x。GPU 肯定会对这个感到满意!

YoloDotNet v2.1 – 更快、更智能,并包含更多 Yolo 优点;

项目及技术应用场景

YoloDotNet v2.1 的应用场景非常广泛,包括但不限于:

  • 智能监控:实时检测监控视频中的异常行为或物体。
  • 自动驾驶:实时识别道路上的行人、车辆和其他障碍物。
  • 工业检测:自动化检测生产线上的产品缺陷或异常。
  • 医疗影像分析:辅助医生快速识别医学影像中的病变区域。
  • 体育分析:实时分析运动员的动作和姿态,用于训练和比赛分析。

项目特点

YoloDotNet v2.1 具有以下显著特点:

  • 高性能:通过多项优化措施,YoloDotNet v2.1 在速度和效率上达到了新的高度,尤其在 GPU 加速下表现出色。
  • 多功能:支持分类、物体检测、OBB 检测、分割和姿态估计等多种视觉任务,满足不同应用需求。
  • 易用性:提供了简洁的 API 和丰富的示例代码,方便开发者快速上手。
  • 跨平台:基于 .NET 8,支持 Windows、Linux 和 macOS 等多种操作系统。
  • 开源免费:完全开源,用户可以自由使用、修改和分发。

结语

YoloDotNet v2.1 不仅在技术上实现了重大突破,还为用户提供了强大的工具来应对各种复杂的视觉任务。无论你是开发者、研究人员还是企业用户,YoloDotNet v2.1 都能为你提供高效、可靠的解决方案。立即体验 YoloDotNet v2.1,开启你的智能视觉之旅!


项目地址YoloDotNet GitHub

安装指南

dotnet add package YoloDotNet

注意:使用 GPU 加速需要安装 CUDA 和 cuDNN,请确保 ONNX 运行时与这些组件的兼容性。

项目的包含一个示例项目,启动文件位于 ConsoleDemo/Program.cs。该文件包含了项目的入口点,用于启动和运行 YoloDotNet 的控制台应用程序。

Program.cs 文件内容概述
using System;
using YoloDotNet; namespace ConsoleDemo
{
class Program
{
static void Main(string[] args)
{
// 初始化 Yolo 对象
var yolo = new Yolo(@"path\to\model.onnx"); // 加载图像
var image = Image.Load<Rgba32>(@"path\to\image.jpg"); // 运行对象检测
var results = yolo.RunObjectDetection(image, confidence: 0.25, iou: 0.7); // 处理结果
image.Draw(results);
image.Save(@"path\to\save\image.jpg");
}
}
}
启动文件功能
  • 初始化 Yolo 对象: 加载 ONNX 模型。
  • 加载图像: 使用 SixLabors.ImageSharp 加载图像。
  • 运行对象检测: 调用 Yolo 对象的 RunObjectDetection 方法进行对象检测。
  • 处理结果: 在图像上绘制检测结果并保存。

3. 项目配置文件介绍

YoloDotNet 项目没有传统的配置文件(如 .config.yaml 文件),但可以通过代码中的配置选项来调整项目的行为。

配置选项示例
var yolo = new Yolo(new YoloOptions
{
OnnxModel = @"path\to\model.onnx",
ModelType = ModelType.ObjectDetection,
Cuda = true,
GpuId = 0,
PrimeGpu = false
});
配置选项说明
  • OnnxModel: 指定 ONNX 模型的路径。
  • ModelType: 指定模型类型,如 ObjectDetection
  • Cuda: 是否启用 CUDA 加速。
  • GpuId: 指定使用的 GPU ID。
  • PrimeGpu: 是否预分配 GPU 内存。

通过这些配置选项,可以在代码中灵活地调整 YoloDotNet 的行为,以适应不同的应用场景。

YoloDotNet v2.1:实时物体检测的利器的更多相关文章

  1. Yolo:实时目标检测实战(上)

    Yolo:实时目标检测实战(上) YOLO:Real-Time Object Detection 你只看一次(YOLO)是一个最先进的实时物体检测系统.在帕斯卡泰坦X上,它以每秒30帧的速度处理图像, ...

  2. 手把手教你用深度学习做物体检测(五):YOLOv1介绍

    "之前写物体检测系列文章的时候说过,关于YOLO算法,会在后续的文章中介绍,然而,由于YOLO历经3个版本,其论文也有3篇,想全面的讲述清楚还是太难了,本周终于能够抽出时间写一些YOLO算法 ...

  3. 快速上手百度大脑EasyDL专业版·物体检测模型(附代码)

    作者:才能我浪费991.    简介:1.1.    什么是EasyDL专业版EasyDL专业版是EasyDL在2019年10月下旬全新推出的针对AI初学者或者AI专业工程师的企业用户及开发者推出的A ...

  4. Tensorflow物体检测(Object Detection)API的使用

    Tensorflow在更新1.2版本之后多了很多新功能,其中放出了很多用tf框架写的深度网络结构(看这里),大大降低了吾等调包侠的开发难度,无论是fine-tuning还是该网络结构都方便了不少.这里 ...

  5. 手把手教你用深度学习做物体检测(六):YOLOv2介绍

    本文接着上一篇<手把手教你用深度学习做物体检测(五):YOLOv1介绍>文章,介绍YOLOv2在v1上的改进.有些性能度量指标术语看不懂没关系,后续会有通俗易懂的关于性能度量指标的介绍文章 ...

  6. 使用SlimYOLOv3框架实现实时目标检测

    介绍 人类可以在几毫秒内在我们的视线中挑选出物体.事实上,你现在就环顾四周,你将观察到周围环境并快速检测到存在的物体,并且把目光回到我们这篇文章来.大概需要多长时间? 这就是实时目标检测.如果我们能让 ...

  7. 【YOLOv5】LabVIEW+YOLOv5快速实现实时物体识别(Object Detection)含源码

    前言 前面我们给大家介绍了基于LabVIEW+YOLOv3/YOLOv4的物体识别(对象检测),今天接着上次的内容再来看看YOLOv5.本次主要是和大家分享使用LabVIEW快速实现yolov5的物体 ...

  8. 【YOLOv5】手把手教你使用LabVIEW ONNX Runtime部署 TensorRT加速,实现YOLOv5实时物体识别(含源码)

    前言 上一篇博客给大家介绍了LabVIEW开放神经网络交互工具包[ONNX],今天我们就一起来看一下如何使用LabVIEW开放神经网络交互工具包实现TensorRT加速YOLOv5. 以下是YOLOv ...

  9. OpenCV学习 物体检测 人脸识别 填充颜色

    介绍 OpenCV是开源计算机视觉和机器学习库.包含成千上万优化过的算法.项目地址:http://opencv.org/about.html.官方文档:http://docs.opencv.org/m ...

  10. opencv,关于物体检测

    关于物体检测 环境:opencv 2.4.11+vs2013 参考: http://www.cnblogs.com/tornadomeet/archive/2012/06/02/2531705.htm ...

随机推荐

  1. 代码随想录Day2

    209.长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target . 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 $ [nums_l, nums_{l+1} ...

  2. 【SpringMVC】01 快速上手

    环境搭建 EvBuild 环境组成: - JDK 1.8 + - IDEA 2018 + - Maven 3.0 + - Tomcat 8.0 + 搭建步骤: 1.创建Maven - SpringMV ...

  3. 【Git】04 文件删除

    版本分支的概念提示: 工作区就是我们的Git本地仓库,也就是一个很普通的目录 . 通过ADD指令添加文件到暂存区中, 在通过COMMIT指令提交到版本分支, 所谓的版本分支,就是就是这个蓝色的Mast ...

  4. 【分享】java精品实战教程

    1.背景 大家好,我是一名地地道道的码农,平时在工作喜欢写博客, 一方面可以梳理技术点提升自己的技术,在遇到同样的问题时可以快速解决; 另一方面也想贡献自己的微博力量帮助其他遇到同样问题的人 后来觉得 ...

  5. blender-点线面操作

  6. java汉字占用字节

    若使用utf-8编码,中文占3个字节,英文的话只占一个字节 System.out.println("人".getBytes().length); 输出3 若使用unicode编码, ...

  7. fofa开放免费教育账号类比专业账号!

    用户须知 1.免责声明:本教程作者及相关参与人员对于任何直接或间接使用本教程内容而导致的任何形式的损失或损害,包括但不限于数据丢失.系统损坏.个人隐私泄露或经济损失等,不承担任何责任.所有使用本教程内 ...

  8. Django集成腾讯COS对象存储

    前言 最近遇到一个场景需要把大量的资源文件存储到 OSS 里,这里选的是腾讯的 COS 对象存储 (话说我接下来想搞的 SnapMix 项目也是需要大量存储的,我打算搭个 MinIO 把 24T 的服 ...

  9. java_Web

    开始进入学习java web部分 一.Socket技术 字节流传输 使用bytes[] 封装字节进行传输数据 文件传输 浏览器访问 使用http协议进行访问 二.MySQL数据库 环境 Phpstyd ...

  10. 啥是Session?

    什么是 Session 会话? 1.Session 就一个接口(HttpSession). 2.Session 就是会话.它是用来维护一个客户端和服务器之间关联的一种技术. 3.每个客户端都有自己的一 ...