2024年7月23日~2024年7月29日周报
目录
一、前言
二、完成情况
2.1 一种具有边缘增强特点的医学图像分割网络
2.2 融合边缘增强注意力机制和 U-Net 网络的医学图像分割
2.3 遇到的困难
三、下周计划
一、前言
上周参加了一些师兄师姐的论文讨论会议,并完成了初稿。
本周继续修改论文,阅读了两篇医学图像分割方向的论文,学习他们的表达与创新点,并尝试复现。
二、完成情况
2.1 一种具有边缘增强特点的医学图像分割网络
期刊:电子与信息学报 Journal of Electronics & Information Technology
时间:2022年5月
DOI:10.11999/JEIT210784
痛点:传统医学图像分割缺失值大、边缘不清 晰、模型参数冗余等问题。
解决方案(创新点):本文提出一种具有边缘增强特点的医学图像分割网络(AS-UNet)。利用掩膜边缘提取算法得到掩膜边缘图,在UNet扩张路径的最后3层引入结合多 尺度特征图的边缘注意模块(BAB),并提出组合损失函数来提高分割精度;测试时通过舍弃BAB来减少参数。
具体实现如下:本文所提具有边缘增强特点的医学图像分割网络AS-UNet结构如图1所示。

图1 AS-UNet网络结构
注意力模块:
BAB的引入提高了模型的分割精度,但也不可避免地增加了网络参数,本文方法AS-UNet在测试时利用神经网络结构的冗余性进行模型精简,只需要选择模型的输出1,达到不增加网络参数的目的。
本文所提BAB具有可迁移性,可应用于多种网络。

图2 BAB结构

图3 图像掩模与对应边缘图
受空间通道压缩与激励(spatial-channel Sequeeze & Excitation, scSE) 注意力模块的启发, 本文提出一种新的注意力模块,具体结构如图4所示。对于输入特征图 ,分别在通道和空间上进行压缩得到特征图
和向量
,两者相乘得到新的权重
, 再将其与输入特征图
逐像素相乘得到最终输出
。整个过程如下式所示:
其中, 代表两图扩展维度后直接相乘,
代表逐像素相乘。
cSE和sCE顺着空间和通道维度分别进行特征压缩,将得到的特征权重向量分别加权到输入特征图上,完成不同维度上对原始特征的重标定。而 scSE的工作仅仅是将cSE和sCE的输出结果逐像素 相加,同时完成空间以及通道上的压缩与激励。
本文所提出的注意力模块首先将空间和通道上压缩得到的特征图进行相乘,得到与输入相同大小的权重W,如此便可以为输入特征图的每个像素都提供各自的权重,且相乘能够让重要的位置更加突出, 而价值较小的位置则可以被抑制。随后再将这一权重与输入逐像素相乘得到最终输出。
此方法相较于scSE同样简单且不增加任何参数,但能够更多地关注重要位置的信息,获取感兴趣区域及边缘特征信息。
本文将其应用于边缘注意模块3×3的卷积层之后,帮助模型取得更好的分割效果。

图4 注意力模块
思考:这篇文章提供了基于TensorFlow实现的代码,可以从中学习并复现为基于pytorch的代码。其中:
- ①可以将这里面的注意力机制替换为其他注意力机制,然后将速度模型的边缘图像处理为相应层的图像大小,接着融合到代码中去;
- ②可以将这个网络架构变为多任务学习的网络架构;
部分复现情况如下:



2.2 融合边缘增强注意力机制和 U-Net 网络的医学图像分割
期刊:医学学报 Journal Of Graphics 图像处理与计算机视觉
时间:2022年4月
DOI:10.11996/JG.j.2095-302X.2022020273
痛点:现有方法不能充分利用特征位置信息;医学图像分割过程中,病灶特征的边缘像素点划分不准确,进而 导致边界模糊、图像分割效果不理想的问题。
解决方案(创新点):本文提出一种边缘增强的注意力模块(CEA),分别进行水平和垂直 2 个不同方向的特征编码捕获位置信息,并通过计算位置特征和输入特征之间的偏移量加强边缘信息。
优势:将该模块应用基于 U-Net 的医学图像分割网络中,可突破卷积核的空间限制,捕获具有位置感知的跨通道信息及更加明确的边缘轮廓信息,从而提高分割的准确性。
具体实现如下:整体网络结构设计如图 1 所示,其中左半支为编码器阶段,进行下采样操作,提取目标的特征信息。右半支为解码器阶段,进行上采样操作完成特征信息的解码过程。在上采样过程中引入CEA,加强对特征位置信息利用的同时有效捕捉边界的轮廓信息,帮助网络提取到边缘信息更加明确的病灶特征,提高分割结果的准确性。

图1 整体网络架构
在解码器网络中,CEA 的整体设计如图 2 所示,将经过上采样的每一层输入该模块。首先对 输入特征进行 2 个方向的特征编码,让其充分获取病灶的位置信息,并在此基础上加强边界差异, 最终输出的特征图包含丰富的位置感知和较强的边界轮廓,改善医学图像的最终分割效果。
具体步骤实现包含五个步骤:
- 步骤一:初始化。给定尺寸大小为 h×w 的输入特征 x,分别沿着水平方向和垂直方向进行平均池化操作,获得输入特征垂直结构和水平结构上的信息编码;
- 步骤二:特征压缩。将 2 个方向的特征进行拼接操作后,送入卷积 F 中,得到 2 个方向空间信息的特征图;为加快模型的收敛速度并且提高对目标区域的关注度,对融合后的特征图进行非线性归一化操作;
- 步骤三:特征激励。将融合后的特征划分为 2 个方向的特征向量,利用 1×1 的卷积得到激励后 的分方向特征,并通过 Sigmoid 函数将特征值映射为[0,1]之间的权重值;
- 步骤四:计算加权特征图。计算加权特征图。通过矩阵相乘操作, 综合水平垂直方向权重信息,获得空间中每一个位置的权重;将其作用于原始图像中,以获得空间加权后特征注意力;
- 步骤五:计算边缘特征图。计算边缘增强特征。为捕捉差异、加强边缘特征信息,进一步地计算原始特征图 x 和加权特征注意力图 y 之间的差值,得到边界偏移量。

图2 边缘增强注意力模块
疑问:在这篇文章中,我有理解为什么整体网络架构中出现了 TSCA 多尺度上下文细节感知提取模块,但是后续没有介绍该模块的相关内容。然后,我进行搜索也没有查询到。
2.3 遇到的困难
① 报错提示:在计算InversionNet参数量的时候突然出现下述报错,在之前可以正常运行并计算,疑惑......
百度提示可以查看torch的版本号是否为最新版本、检查代码书写情况等,但是并没有解决这个问题。
- x = F.pad(x, [-5, -5, -5, -5], mode="constant", value=0) # (None, 32, 70, 70) 125, 100 TypeError: pad() got an unexpected keyword argument 'mode'
②报错提示:py文件忘记声明使用的编码方式。
因此,为了解决这个问题,需要在文件的第一行添加注释,声明正确的编码方式:
- SyntaxError: Non-UTF-8 code starting with '\xcf' in file D:/Wang-Yumei/TU_Net/test.py on line 119, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
# -*- coding: utf-8 -*-
三、下周计划
- 总结当前全波形反演的相关文献,并分类;
- 思考组会内容;
相关文章:
2024年7月23日~2024年7月29日周报
目录 一、前言 二、完成情况 2.1 一种具有边缘增强特点的医学图像分割网络 2.2 融合边缘增强注意力机制和 U-Net 网络的医学图像分割 2.3 遇到的困难 三、下周计划 一、前言 上周参加了一些师兄师姐的论文讨论会议,并完成了初稿。 本周继续修改论文࿰…...
M3U8流视频数据爬虫
M3U8流视频数据爬虫 HLS技术介绍 现在大部分视频客户端都采用HTTP Live Streaming(HLS,Apple为了提高流播效率开发的技术),而不是直接播放MP4等视频文件。HLS技术的特点是将流媒体切分为若干【TS片段】(比如几秒一段…...
保护您的数字财富:模块化沙箱在源代码防泄露中的突破
在数字化浪潮中,企业面临着前所未有的数据安全挑战。源代码、商业机密、客户数据……这些宝贵的数字资产一旦泄露,后果不堪设想。SDC沙盒防泄密系统,以其卓越的技术实力和创新的解决方案,为企业提供了一个坚不可摧的安全屏障。 核…...
FFmpeg源码:avio_r8、avio_rl16、avio_rl24、avio_rl32、avio_rl64函数分析
一、引言 AVIOContext是FFmpeg(本文演示用的FFmpeg源码版本为5.0.3)中的字节流上下文结构体,用来管理输入输出数据。打开一个媒体文件的时候,需要先把数据从硬盘读到缓冲区,然后会用到AVIOContext中的如下成员&#x…...
如何使用 API 查看极狐GitLab 镜像仓库中的镜像?
GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab :https://gitlab.cn/install?channelcontent&utm_sourcecsdn 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署…...
软件-vscode-plantUML-IDEA
文章目录 vscode基础命令 实操1. vscode实现springboot项目搭建 (包括spring data jpa和sqlLite连接) PlantUMLIDEA下载及安装Eval Reset插件配置修改IDEA创建项目的默认目录IDEA配置gitIDEA翻译插件translationIDEA断点调试IDEA全局搜索快捷键不能使用代…...
ES6语法详解,面试必会,通俗易懂版
目录 Set的基本使用WeakSet 使用Set 和 WeakSet 区别内存泄漏示例:使用普通 Set 保存 DOM 节点如何避免这个内存泄漏MapWeakMap 的使用 Set的基本使用 在ES6之前,我们存储数据的结构主要有两种:数组、对象。 在ES6中新增了另外两种数据结构&a…...
CTFshow--Web--代码审计
目录 web301 web302 web303 web304 web305 web306 web307 web308 web309 web310 web301 开始一个登录框, 下意识sql尝试一下 发现 1 的时候会到一个 checklogin.php 的路径下, 但啥也没有 好吧, 这是要审计代码的 ,下载好源码, 开始审计 看了一下源码 , 应该就是sql…...
Java语言程序设计——篇十(1)
🌿🌿🌿跟随博主脚步,从这里开始→博主主页🌿🌿🌿 接口介绍 接口概述接口定义接口的实现实战演练 👅接口的继承实战演练实战演练 接口的类型常量实战演练 静态方法默认方法解决默认方…...
Qt对比MFC优势
从Qt小白到现在使用了有四年的时间,之前也搞过MFC,WinForm,基本上都是桌面的框架, 从难易程度看MFC>QT>WinForm; 运行的效率上来看MFC>QT>WinForm; 开发效率上WinForm>QT>MFC; 跨平台Qt首选; 界面的美观难易程度Qt>…...
RuntimeError: No CUDA GPUs are available
RuntimeError: No CUDA GPUs are available 目录 RuntimeError: No CUDA GPUs are available 【常见模块错误】 【解决方案】 解决步骤如下: 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科…...
URL参数中携带中文?分享 1 段优质 JS 代码片段!
本内容首发于工粽号:程序员大澈,每日分享一段优质代码片段,欢迎关注和投稿! 大家好,我是大澈! 本文约 800 字,整篇阅读约需 1 分钟。 今天分享一段优质 JS 代码片段,在发送 ajax 请…...
sass的使用
一、变量 //声明一个变量 $highlight-color: #F90; .selected {border: 1px solid $highlight-color; }//编译后 .selected {border: 1px solid #F90; }二、导入 import "xxx.scss"三、混合器简单定义 通过mixin定义,通过include调用 // mixin.scss /…...
【足球走地软件】走地数据分析预测【大模型篇】走地预测软件实战分享
了解什么是走地数据? 走地数据分析,在足球赛事的上下文中,是一种针对正在进行中的比赛进行实时数据分析的方法。这种方法主要用于预测比赛中的某些结果或趋势,如总进球数、比分变化、球队表现等。 在足球走地数据分析中…...
现在有什么赛道可以干到退休?
最近,一则“90后无论男女都得65岁以后退休”的消息在多个网络平台流传,也不知道是真是假,好巧不巧今天刷热点的时候又看到一条这样的热点:现在有什么赛道可以干到退休? 点进去看了几条热评,第一条热评说的…...
c程序杂谈系列(职责链模式与if_else)
从处理器的角度来说,条件分支会导致指令流水线的中断,所以控制语句需要严格保存状态,因为处理器是很难直接进行逻辑判断的,有可能它会执行一段时间,发现出错后再返回,也有可能通过延时等手段完成控制流的正…...
前端开发技术之CSS(层叠样式表)
盒模型(Box Model) CSS盒模型描述了如何计算一个元素的总宽度和高度。 它包括以下几个部分: 1. 内容(Content):元素的实际内容,比如文本或图片。 2. 内边距(Padding)&…...
go语言day20 使用gin框架获取参数 使用自定义的logger记录日志
Golang 操作 Logger、Zap Logger 日志_golang zap-CSDN博客 目录 一、 从控制器中获取参数的几种形式 1) 页面请求url直接拼接参数。 2) 页面请求提交form表单 3) 页面请求发送json数据,使用上下文对象c的BindJSON()方法接…...
DHCP笔记
DHCP---动态主机配置协议 作用:为终端动态提供IP地址,子网掩码,网关,DNS网址等信息 具体流程 报文抓包 在DHCP服务器分配iP地址之间会进行广播发送arp报文,接收IP地址的设备也会发送,防止其他设备已经使用…...
TCP为什么需要四次挥手?
tcp为什么需要四次挥手? 答案有两个: 1.将发送fin包的权限交给被动断开发的应用层去处理,也就是让程序员处理 2.接第一个答案,应用层有了发送fin的权限,可以在发送fin前继续向对端发送消息 为了搞清楚这个问题&…...
未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...
(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果 {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现指南针功能
指南针功能是许多位置服务应用的基础功能之一。下面我将详细介绍如何在HarmonyOS 5中使用DevEco Studio实现指南针功能。 1. 开发环境准备 确保已安装DevEco Studio 3.1或更高版本确保项目使用的是HarmonyOS 5.0 SDK在项目的module.json5中配置必要的权限 2. 权限配置 在mo…...
Java数组Arrays操作全攻略
Arrays类的概述 Java中的Arrays类位于java.util包中,提供了一系列静态方法用于操作数组(如排序、搜索、填充、比较等)。这些方法适用于基本类型数组和对象数组。 常用成员方法及代码示例 排序(sort) 对数组进行升序…...
