当前位置: 首页 > news >正文

[C#]使用ONNXRuntime部署一种用于边缘检测的轻量级密集卷积神经网络LDC

源码地址:

github.com/xavysp/LDC

LDC: Lightweight Dense CNN for Edge Detection算法介绍:

由于深度学习方法的快速发展,近年来,用于执行图像边缘检测的卷积神经网络(CNN)模型爆炸性地传播。但边缘检测的大多数工作都致力于通过设计非常深入的网络来实现更高的度量(即ODS、OIS、AP),这导致了计算操作数量的增加。遗憾的是,这些边缘检测方法对于低容量设备和现实世界的应用都不实用。考虑到上述缺点,本文提出了一种新的轻量级结构LDC——用于边缘检测的轻量级密集CNN模型。它旨在成为现实世界应用程序的实用网络,它可以自适应地学习关注高频信息的最有价值的特征。所提出的体系结构基于DexiNed,但为了在性能和适用性之间寻求更好的折衷,考虑了较小的滤波器尺寸和紧凑的模块。作为所提出的修改的结果,获得了一个参数小于1M的模型,并且比大多数最先进的方法轻。

贡献可以总结如下:

• 提出了一种轻量级 CNN 架构,它只有 674K 个参数,而 DexiNed 中有 35M 个参数。

 • 与最先进的边缘检测器(参数少于1M)进行了广泛的比较研究。本文完全致力于边缘检测,即所有考虑进行定量比较的模型都使用 BIPED、MDBD 和新的 BRIND 数据集来训练和验证模型。此外,每个模型都使用其他数据集进行交叉验证。

• 进行深入的消融研究,直至达到稳健的LDC。

效果:

部分实现代码:

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();LDCManager ld = new LDCManager();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;}var resultMat = ld.Inference(src);pictureBox2.Image= OpenCvSharp.Extensions.BitmapConverter.ToBitmap(resultMat); //Mat转Bitmap}private void Form1_Load(object sender, EventArgs e){ld.LoadWeights(Application.StartupPath+ "\\weights\\LDC_640x360.onnx");}private void btn_video_Click(object sender, EventArgs e){}}
}

测试环境:

vs2019

opencvsharp4.8.0
onnxruntime1.16.3

视频演示:

源码下载地址:

 参考文献:

1、blog.csdn.net/weixin_49183141/article/details/134377040

http://www.lryc.cn/news/270951.html

相关文章:

  • ZigBee案例笔记 - 无线点灯
  • Debezium日常分享系列之:向 Debezium 连接器发送信号
  • 《C#程序设计教程》总复习
  • 为什么ChatGPT选择了SSE,而不是WebSocket?
  • appium入门基础
  • jsp介绍
  • Debian安装k8s记录
  • 第6课 用window API捕获麦克风数据并加入队列备用
  • 图片预览 element-plus 带页码
  • 【小白专用】winform启动界面+登录窗口 更新2024.1.1
  • 自动化网络故障修复管理
  • Git:常用命令(二)
  • Oracle 12c rac 搭建 dg
  • Cisco模拟器-交换机端口的隔离
  • zdppy_api框架快速入门
  • https证书配置过程
  • 如何用C语言程序生成任意手性(即具有任意m和n值),任意长度的碳纳米管,并输出三维空间坐标呢?
  • C++每日一练(8):图像相似度
  • C++面试宝典第12题:数组元素相除
  • oCPC实践录 | 目标ROI的出价与转化回传调控算法
  • 百倍量化之Dbcd-v2中性策略
  • 系统学习Python——装饰器:函数装饰器-[装饰器状态保持方案:函数属性]
  • 逻辑卷学习后续----------缩容
  • 15-网络安全框架及模型-BLP机密性模型
  • [C#]OpenCvSharp结合yolov8-face实现L2CS-Net眼睛注视方向估计或者人脸朝向估计
  • [2024区块链开发入门指引] - 比特币与区块链诞生
  • 【大数据面试知识点】Spark中的累加器
  • 深度学习核心技术与实践之深度学习基础篇
  • Kafka安装及简单使用介绍
  • 20231229在Firefly的AIO-3399J开发板的Android11使用挖掘机的DTS配置单前后摄像头ov13850