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

边界检测方法总结

1:经典的边界检测方法有sobel,拉普拉斯,canny等。
sobel:

def get_sobel(in_chan, out_chan):filter_x = np.array([[1, 0, -1],[2, 0, -2],[1, 0, -1],]).astype(np.float32)filter_y = np.array([[1, 2, 1],[0, 0, 0],[-1, -2, -1],]).astype(np.float32)filter_x = filter_x.reshape((1, 1, 3, 3))filter_x = np.repeat(filter_x, in_chan, axis=1)filter_x = np.repeat(filter_x, out_chan, axis=0)filter_y = filter_y.reshape((1, 1, 3, 3))filter_y = np.repeat(filter_y, in_chan, axis=1)filter_y = np.repeat(filter_y, out_chan, axis=0)filter_x = torch.from_numpy(filter_x)filter_y = torch.from_numpy(filter_y)filter_x = nn.Parameter(filter_x, requires_grad=False)filter_y = nn.Parameter(filter_y, requires_grad=False)conv_x = nn.Conv2d(in_chan, out_chan, kernel_size=3, stride=1, padding=1, bias=False)conv_x.weight = filter_xconv_y = nn.Conv2d(in_chan, out_chan, kernel_size=3, stride=1, padding=1, bias=False)conv_y.weight = filter_ysobel_x = nn.Sequential(conv_x, nn.BatchNorm2d(out_chan))  # 自定义修改卷积核的权重sobel_y = nn.Sequential(conv_y, nn.BatchNorm2d(out_chan))return sobel_x, sobel_ydef run_sobel(conv_x, conv_y, input):g_x = conv_x(input)  # (1,1,15,20)g_y = conv_y(input)  # (1,1,15,20)g = torch.sqrt(torch.pow(g_x, 2) + torch.pow(g_y, 2) + 1e-6).clone()return g

拉普拉斯:

        self.laplacian_kernel = torch.tensor([-1, -1, -1, -1, 8, -1, -1, -1, -1],dtype=torch.float32).reshape(1, 1, 3, 3).requires_grad_(False).type(torch.cuda.FloatTensor)

2:《Holistically-nested edge detection》,HED经典的采用CNN进行边缘检测,通过边界损失进行约束。
论文地址
backbone的每一个输出后接一个side_output,输出通道为1,上采样到原图大小,GT进过提取边界后与上采样的side_output进行损失计算。
在这里插入图片描述
3:CASENet:CASENet: Deep Category-Aware Semantic Edge Detection
相比于多标签监督,CASENet采用了多类别即(category-aware)进行监督,考虑的是一个像素点可能同时属于多个类别,因此采用的不是one-hot编码,而是按RGB三通道的bit进行编码,在模型中前几个stage输出通道为1的边缘图,最后一个stage生成通道为num_class的特征图,然后通过slice_concat,将num_class的每一个通道与其他三个通道为1的特征图进行拼接,这样就有4num_class个通道,再经过融合层。
在这里插入图片描述
4:Gated-SCNN:Gated Shape CNNs for Semantic Segmentation
模型分为两条支路,regular stream和shape stream,shape stream只学习图像的shape信息,在shape分支通过edge bce loss进行约束,在regular通过segmentation loss进行约束。将第一个stage的输出,不断的和其他分支进行融合,最后输出通道为1的边界图,计算边界损失。和CASENet不同的是,每个side_output都不断地进行特征的交互。
在这里插入图片描述
5:基于
CASENet*的结构,有很多的应用,比如SwinNet,FusionNet,BES-Net等。
在这里插入图片描述
BES-Net: Boundary Enhancing Semantic Context Network for High-Resolution Image Semantic Segmentation和Pixel Difference Networks for Efficient Edge Detection
在这里插入图片描述
在这里插入图片描述
6基于HED的有Pixel Difference Networks for Efficient Edge Detection:

Pixel Difference Networks for Efficient Edge Detection:

在这里插入图片描述
7:基于Gated-SCNN的有
Multi-scale spatial context-based semantic edge detection,通过CAM提取,通过LAM融合,其中LAM结构和Gated-SCNN的Gate-layer几乎一样。
在这里插入图片描述
Brain tumor segmentation based on the fusion of deep semantics and edge information in multimodal MRI:
因为他图片是医学的核磁共振图像,对于图片的性质和特点不太理解。他结合了sobel和卷积进行边缘的提取。
在这里插入图片描述
在这里插入图片描述
BASeg:也是两条分支,第二条分支开始是对RGB图进行Canny操作,然后和语义分支的每一个stage输出进行融合,最后和语义分支共同输入到CAM中,相当于边缘信息融合到语义信息中,使得最终的分割图可以有一个清晰的边缘。
在这里插入图片描述

相关文章:

边界检测方法总结

1:经典的边界检测方法有sobel,拉普拉斯,canny等。 sobel: def get_sobel(in_chan, out_chan):filter_x np.array([[1, 0, -1],[2, 0, -2],[1, 0, -1],]).astype(np.float32)filter_y np.array([[1, 2, 1],[0, 0, 0],[-1, -2, -…...

Softing dataFEED OPC Suite Extended新版本支持从XML文件中读取生产数据

Softing dataFEED OPC Suite Extended V5.25的新功能——“文件读取(File Read)”,支持访问XML文件中可用的过程数据。 (文件读取功能支持获取由XML文件提供的过程数据)dataFEED OPC Suite Extended是用于OPC通信和云连…...

央行罚单!金融机构被罚原因揭秘

近日,人民银行公布了2023年首批行政处罚罚单,引发业内广泛关注。 顶象防御云业务安全情报中心统计了人民银行官网,2020年1月至2023年2月10日期间,公布的101份行政处罚。 统计显示,16家金融机构被罚27066.9万元&#…...

js中var、let、const详解

首先 var、let、const 在项目开发中都是用来声明变量的,在ES5中只有两种声明变量的方法:var和function,在ES6中新增了 let、const、class、import 四种声明变量的方法,本文主要讲解 var、let 与 const 的语法,其他的大…...

【数据库】MySQL概念知识语法-基础篇(DCL),真的很详细,一篇文章你就会了

目录通用语法及分类DCL(数据控制语言)管理用户查询用户权限控制函数字符串函数数值函数日期函数流程函数约束外键约束多表查询一对多多对多一对一通用语法及分类 ● DDL: 数据定义语言,用来定义数据库对象(数据库、表、字段&…...

Blender骨骼动画快速教程

有关创建模型的更多详细信息,请参阅在 Blender 中创建模型。 我们将为这个例子做一个非常简单的模型——蠕虫! 从我们的初始立方体开始,进入编辑模式,切换到面选择,然后选择任何面: 推荐:将 NSD…...

【C++算法】dfs深度优先搜索(下) ——【全面深度剖析+经典例题展示】

💃🏼 本人简介:男 👶🏼 年龄:18 🤞 作者:那就叫我亮亮叭 📕 专栏:关于C/C那点破事 文章目录0.0 写在前面1. 中国象棋1.1 题干信息① 背景说明概述② 问题描述…...

HIVE 基础(三)

目录 建表语句 表数据 Hive建表高阶语句 - CTAS and WITH CTAS – as select方式建表 CTE (CTAS with Common Table Expression) LIKE 创建临时表 清空表数据 修改表(Alter针对元数据) 改名 修正表文件格式 修改列名 添加列 替换列 动态分…...

redis-cluster集群搭建

安装redis所需环境 yum install -y gcc-c yum install -y wget 创建文件夹 cd / mkdir redis/redis-cluster/7001 cd redis/redis-cluster mkdir 7002 7003 7004 7005 7006 7007 7008下载redis压缩包并解压安装 wget https://download.redis.io/redis-stable.tar.gz tar -…...

【C语言】可变参数列表va_list

本篇博客让我们来认识一下C语言学习过程中往往被忽略的可变参数列表 所谓可变参数&#xff0c;就是一个不限定参数数量的函数&#xff0c;我们可以往里面传入任意个数的参数&#xff0c;以达成某些目的。 关联&#xff1a;C11可变模板参数 1.函数 #include <stdarg.h>…...

CentOS7.6 MySQL8安装

1 检查是否安装过 MySQL rpm -qa | grep -i mysqlmariadb rpm -qa | grep mariadb2 卸载之前的安装 MySQL rpm -e --nodeps 软件名 //强力删除&#xff0c;对相关依赖的文件也进行强力删除卸载 rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_643 官网下载 MySQL :: D…...

安装Tomcat的步骤?

首先先完成JDK配置&#xff0c;javac -version 检测 1.把tomcat下载到本地硬盘 2.创建tomcat8.0文件夹&#xff0c;完成解压&#xff08;免安装&#xff09;4.打开解压之后的目录,进入bin目录,双击startup.bat,启动tomcat5.可以看到弹出一个黑色的窗口,不要关闭,如果关闭意味着…...

Redis之分布式锁

随着业务发展的需要&#xff0c;原单体单机部署的系统被演化成分布式集群系统后&#xff0c;由于分布式系统多线程、多进程并且分布在不同机器上&#xff0c;这将使原单机部署情况下的并发控制锁策略失效&#xff0c;单纯的 Java API并不能提供分布式锁的能力。为了解决这个问题…...

2022年中国前10电商GMV总结

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 1&#xff0c;阿里8万亿;2&#xff0c;京东3万亿;3&#xff0c;拼多多3万亿;4&#xff0c;小程序私域电商3万亿;5&#xff0c;抖音电商1.4万亿。6&#xff0c;抖音本地生活服务电商600亿。7&#xf…...

ES6新增扩展:字符串-数值-数组-函数-对象

ES6新增扩展字符串的扩展判断字符串是否包含在另一个字符中字符串补全字符串重复消除字符串空格replaceAll()替换全部字符串at字符串匹配输出数值的扩展数值分隔符检测数值是否有限检测是否为NaNNumber.parseInt()、Number.parseFloat()isInteger()判断是否为整数Math.sign()判…...

python中import原理

0. 前言 在 python 中引入 Module 是再常见不过了&#xff0c;那么当我们 import 时它做了什么事情呢&#xff1f;它是如何加载 Module 使用的呢&#xff1f; 1. 什么是 module&#xff1f; 一般&#xff0c;Module 是一个后缀为 .py 的文件&#xff0c;其 module 名称一般…...

《Qt6开发及实例》6-4 显示SVG格式图片

目录 一、简介与设计 1.1 简介 1.2 设计 二、SvgWidget 2.1 鼠标滚轮事件 三、svgwindow 四、MainWindow 一、简介与设计 1.1 简介 1、SVG 的英文全称是 Scalable Vector Graphics&#xff0c;即可缩放的矢量图形。它是由万维网联盟&#xff08;W3C&#xff09;在 200…...

OpenGL ES 绘制一张图片

GLSL 语法与内建函数 GLSL 的修饰符与数据类型 GLSL 中变量的修饰符 const&#xff1a;修饰不可被外界改变的常量attribute&#xff1a;修饰经常更改的变量&#xff0c;只可以在顶点着色器中使用uniform&#xff1a;修饰不经常更改的变量&#xff0c;可用于顶点着色器和片段…...

Python 之 Pandas DataFrame 数据类型的行操作和常用属性和方法汇总

文章目录一、DataFrame 行操作1. 标签选取2. 数值型索引和切片3. 切片操作多行选取4. 添加数据行4.1 追加字典4.2 追加列表5. 删除数据行二、常用属性和方法汇总1. 转置2. axes3. dtypes4. empty5. columns6. shape7. values8. head() & tail()9. 修改列名 rename()10. inf…...

MacOS下载钉钉直播回放视频的Python最新解决方案

tags: Python MacOS Tips 写在前面 之前写过一篇关于用Charles抓包下载钉钉直播回放视频的方法, 那会还是可以直接通过FFmpeg下载m3u8链接并且直接合并的, 但是现在直接上FFmpeg会出现403, 所以还是用别的方法来做吧. 后来发现抓包找到的m3u8不是加密视频流, 那就直接下载ts…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一&#xff0c;概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本&#xff1a;2014.07&#xff1b; Kernel版本&#xff1a;Linux-3.10&#xff1b; 二&#xff0c;Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01)&#xff0c;并让boo…...

网站指纹识别

网站指纹识别 网站的最基本组成&#xff1a;服务器&#xff08;操作系统&#xff09;、中间件&#xff08;web容器&#xff09;、脚本语言、数据厍 为什么要了解这些&#xff1f;举个例子&#xff1a;发现了一个文件读取漏洞&#xff0c;我们需要读/etc/passwd&#xff0c;如…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用

文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么&#xff1f;1.1.2 感知机的工作原理 1.2 感知机的简单应用&#xff1a;基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...