[C#]使用onnxruntime部署yolov8-onnx印章检测

【官方框架地址】

https://github.com/ultralytics/ultralytics.git
【算法介绍】

YOLOv8是目标检测领域中的一种先进算法,它是YOLO(You Only Look Once)系列算法的最新发展。YOLO算法以其高效和实时的性能而著名,而YOLOv8则进一步提升了这些特点。

YOLOv8的核心思想是将目标检测任务视为回归问题,通过单次前向传播直接在图像上预测出目标的边界框和类别概率。相比于之前的版本,YOLOv8在模型结构、训练策略和性能优化等方面进行了改进。

在模型结构方面,YOLOv8采用了更深的卷积神经网络,通过增加网络层数和引入更多的特征提取模块来提取更丰富的图像特征。这种结构的设计使得模型能够更好地捕捉目标的细节和上下文信息,从而提高了检测的准确性。

在训练策略方面,YOLOv8采用了多种技巧来提升模型的泛化能力和鲁棒性。例如,它采用了数据增强技术来扩充训练数据集,使得模型能够在各种场景下都能取得较好的检测效果。此外,YOLOv8还引入了损失函数的改进,使得模型在训练过程中能够更好地优化目标边界框的定位和分类。

总的来说,YOLOv8是一种高效且实时的目标检测算法,它在保持YOLO系列算法简洁性的同时,通过改进模型结构和训练策略,提升了检测准确性和鲁棒性。这使得YOLOv8在实际应用中具有更广泛的适用性,可以应用于各种场景下的目标检测任务。

【效果展示】


【实现部分代码】

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using OpenCvSharp;namespace FIRC
{public partial class Form1 : Form{Mat src = new Mat();Yolov8Manager ym = new Yolov8Manager();public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){OpenFileDialog openFileDialog = new OpenFileDialog();openFileDialog.Filter = "图文件(*.*)|*.jpg;*.png;*.jpeg;*.bmp";openFileDialog.RestoreDirectory = true;openFileDialog.Multiselect = false;if (openFileDialog.ShowDialog() == DialogResult.OK){src = Cv2.ImRead(openFileDialog.FileName);pictureBox1.Image = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(src);}}private void button2_Click(object sender, EventArgs e){if(pictureBox1.Image==null){return;}Stopwatch sw = new Stopwatch();sw.Start();var result = ym.Inference(src);sw.Stop();this.Text = "耗时" + sw.Elapsed.TotalSeconds + "秒";var resultMat = ym.DrawImage(src,result);pictureBox2.Image= OpenCvSharp.Extensions.BitmapConverter.ToBitmap(resultMat); //Mat转Bitmap}private void Form1_Load(object sender, EventArgs e){}}
}


【训练的数据集】

模型采用下面的数据集进行官方yolov8模型训练https://download.csdn.net/download/FL1623863129/88702554?spm=1001.2014.3001.5501
【源码下载】

https://download.csdn.net/download/FL1623863129/88703682
【测试环境】

vs2019

onnxruntime1.16.3

opencvsharp4.8.0

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

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

相关文章

mysql: 2006, ‘MySQL server has gone away‘

一、错误问题 这个问题是在迁移数据库、备份还原或数据导入时报错:2006, ‘MySQL server has gone away‘ 二、出现原因 sql操作的时间过长,或者是传送的数据太大(例如使用insert ... values的语句过长, 这种情况可以通过修改max_allowed_pac…

【论文阅读笔记】Mip-NeRF 360: Unbounded Anti-Aliased Neural Radiance Fields

目录 概述摘要引言参数化效率歧义性 mip-NeRF场景和光线参数化从粗到细的在线蒸馏基于区间的模型的正则化实现细节实验限制总结:附录退火膨胀采样背景颜色 paper:https://arxiv.org/abs/2111.12077 code:https://github.com/google-research/…

网络安全法解读之思维导图

一、出台背景 二、法律基础 三、网络安全法架构 1、第一章 总则(1-14条) 2、第二章 网络安全支持与促进(15-20条) 3、 第三章 网络运行安全(21-39条) (1)第一节 一般规定 &#xf…

Android WiFi 连接

Android WiFi 连接 1、设置中WiFi显示2、WiFi 连接流程2.1 获取PrimaryClientModeManager2.2 ClientModeImpl状态机ConnectableState2.3 ISupplicantStaNetworkCallback 回调监听 3、 简要时序图4、原生低层驱动5、关键日志 1、设置中WiFi显示 Android WiFi基础概览 packages/a…

性能分析与调优: Linux 实现 CPU剖析与火焰图

目录 一、实验 1.环境 2.CPU 剖析 3.CPU火焰图 一、实验 1.环境 (1)主机 表1-1 主机 主机架构组件IP备注prometheus 监测 系统 prometheus、node_exporter 192.168.204.18grafana监测GUIgrafana192.168.204.19agent 监测 主机 node_exporter192…

【Java】设计模式之两阶段终止

两阶段终止 两阶段终止,即Two Phase Termination。是用来终止线程的套路。 它的思想是,如何在一个线程T1中优雅地终止线程T2?这里的【优雅】指的是给T2一个料理后事的机会。 错误思路: 使用stop方法。stop 方法会真正杀死线程…

使用命令行方式搭建uni-app + Vue3 + Typescript + Pinia + Vite + Tailwind CSS + uv-ui开发脚手架

使用命令行方式搭建uni-app Vue3 Typescript Pinia Vite Tailwind CSS uv-ui开发脚手架 项目代码以上传至码云,项目地址:https://gitee.com/breezefaith/uniapp-vue3-ts-scaffold 文章目录 使用命令行方式搭建uni-app Vue3 Typescript Pinia V…

多线程执行后台任务,提供效率

场景: 大批量复制物料描述到新的物料上,多线程同时执行已提高效率 REPORT zmm316. INCLUDE zmm316_top. INCLUDE zmm316_f01. *----------------------------------------------------------------------- I N I T I A L I Z A T I O N *------------…

向量数据库:usearch的简单使用+实现图片检索应用

usearch的简单使用 usearch是快速开源搜索和聚类引擎,用于C、C、Python、JavaScript、Rust、Java、Objective-C、Swift、C#、GoLang和Wolfram 🔍中的向量和🔜字符串 // https://github.com/unum-cloud/usearch/blob/main/python/README.md …

[C#]使用sdcb.paddleocr部署v4版本ocr识别模型

【官方框架地址】 https://github.com/sdcb/PaddleSharp 【算法介绍】 PaddleOCR,全称为PaddlePaddle OCR,是PaddlePaddle深度学习平台下的一款强大的光学字符识别工具。它利用深度学习技术,实现了高精度的文字识别,可以帮助用户…

生态系统服务构建生态安全格局中的实践技术应用

生态安全是指生态系统的健康和完整情况。生态安全的内涵可以归纳为:一,保持生态系统活力和内外部组分、结构的稳定与持续性;二,维持生态系统生态功能的完整性;三,面临外来不利因素时,生态系统具…

window使用cpolar实现内网穿透

文章目录 cpolar下载和安装启动和配置cpolar卸载 cpolar下载和安装 进入spolar官网,完成注册,下载相应的cploar版本解压和运行安装文件 配置安装路径,然后选择next,完成即可 启动和配置 点击首页的快捷图标打开网页&#xf…

分布式系统架构设计之分布式消息队列基础知识

随着微服务、大数据和云计算的普及,分布式系统已经成为现代软件架构的核心。在分布式系统中,各个组件间的通信和数据交换尤其重要,而消息队列正是实现这一目标的关键技术之一。 在分布式架构设计过程中,架构师们需要对消息队列有…

StarRocks 在小红书自助分析场景的应用与实践

作者:小红书 OLAP 研发负责人 王成 近两年 StarRocks 一直是小红书 OLAP 引擎体系里非常重要的部分,过去一年,小红书的 StarRocks 使用规模呈现出翻倍的增长速度,目前整体规模已经达到 30 个集群,CPU 规模已经达到了 3…

Redis——centos7环境安装Redis6.2.14版本,make命令编译时报错:jemalloc/jemalloc.h:没有那个文件或目录

一、报错原因 在redis-6.2.14文件夹下有一个README.md文件,有如下一段话: 在构建 Redis 时,通过设置 MALLOC 环境变量来选择非默认的内存分配器。Redis 默认编译并链接到 libc malloc,但在 Linux 系统上,jemalloc 是…

图像分割-Grabcut法(C#)

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 本文的VB版本请访问:图像分割-Grabcut法-CSDN博客 GrabCut是一种基于图像分割的技术,它可以用于将图像中的…

Python | 基于Mediapipe框架的手势识别系统

一、项目要求 1、题目 本题着力于解决会商演示系统中的非接触式人机交互问题,具体而言,其核心问题就是通过计算机视觉技术实现对基于视频流的手势动作进行实时检测和识别。通过摄像头采集并识别控制者连续的手势动作,完成包括点击、平移、缩放…

小白入门基础 - Restful

一:REST与RESTful: REST:表现层状态转移,资源在网络中以某种形式进行状态转移。 RESTful是基于REST理念的一套开发风格,是具体的开发规则。 服务器端只返回数据,以json或者xml的格式。 RESTful开发规范&a…

【大数据】Spark学习笔记

初识Spark Spark和Hadoop HadoopSpark起源时间20052009起源地MapReduceUniversity of California Berkeley数据处理引擎BatchBatch编程模型MapReduceResilient distributed Datesets内存管理Disk BasedJVM Managed延迟高中吞吐量中高优化机制手动手动APILow levelhigh level流…

MySQL之视图外连接、内连接和子查询的使用

目录 一、视图 1.1 含义 1.2 操作 1.3 SQL数据 二、连接查询案例 (1)查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数 (2)查询同时存在" 01 "课程和" 02 "课程的情况 &a…