每日Attention学习3——Cross-level Feature Fusion

模块出处

[link] [code] [PR 23] Cross-level Feature Aggregation Network for Polyp Segmentation


模块名称

Cross-level Feature Fusion (CFF)


模块作用

双级特征融合


模块结构

在这里插入图片描述


模块代码
import torch
import torch.nn as nnclass BasicConv2d(nn.Module):def __init__(self, in_planes, out_planes, kernel_size, stride=1, padding=0, dilation=1):super(BasicConv2d, self).__init__()self.conv = nn.Conv2d(in_planes, out_planes,kernel_size=kernel_size, stride=stride,padding=padding, dilation=dilation, bias=False)self.bn = nn.BatchNorm2d(out_planes)self.relu = nn.ReLU(inplace=True)def forward(self, x):x = self.conv(x)x = self.bn(x)return xclass CFF(nn.Module):def __init__(self, in_channel1, in_channel2, out_channel):self.init__ = super(CFF, self).__init__()act_fn         = nn.ReLU(inplace=True)self.layer0    = BasicConv2d(in_channel1, out_channel // 2, 1)self.layer1    = BasicConv2d(in_channel2, out_channel // 2, 1)self.layer3_1  = nn.Sequential(nn.Conv2d(out_channel, out_channel // 2, kernel_size=3, stride=1, padding=1),  nn.BatchNorm2d(out_channel // 2),act_fn)self.layer3_2  = nn.Sequential(nn.Conv2d(out_channel, out_channel // 2, kernel_size=3, stride=1, padding=1),  nn.BatchNorm2d(out_channel // 2),act_fn)self.layer5_1  = nn.Sequential(nn.Conv2d(out_channel, out_channel // 2, kernel_size=5, stride=1, padding=2),  nn.BatchNorm2d(out_channel // 2),act_fn)self.layer5_2  = nn.Sequential(nn.Conv2d(out_channel, out_channel // 2, kernel_size=5, stride=1, padding=2),  nn.BatchNorm2d(out_channel // 2),act_fn)self.layer_out = nn.Sequential(nn.Conv2d(out_channel // 2, out_channel, kernel_size=3, stride=1, padding=1), nn.BatchNorm2d(out_channel),act_fn)def forward(self, x0, x1):x0_1  = self.layer0(x0)x1_1  = self.layer1(x1)x_3_1 = self.layer3_1(torch.cat((x0_1,  x1_1),  dim=1))    x_5_1 = self.layer5_1(torch.cat((x1_1,  x0_1),  dim=1))x_3_2 = self.layer3_2(torch.cat((x_3_1, x_5_1), dim=1))x_5_2 = self.layer5_2(torch.cat((x_5_1, x_3_1), dim=1))out   = self.layer_out(x0_1 + x1_1 + torch.mul(x_3_2, x_5_2))return outif __name__ == '__main__':x1 = torch.randn([1, 256, 16, 16])x2 = torch.randn([1, 512, 16, 16])cff = CFF(in_channel1=256, in_channel2=512, out_channel=64)out = cff(x1, x2)print(out.shape)  # 1, 64, 16, 16

原文表述

利用特征提取网络可以获得不同分辨率的多级特征。因此,有效整合多级特征非常重要,这可以提高不同尺度特征的表示能力。因此,我们提出了一个 CFF模块来融合相邻的两个特征,然后将其输入分割网络。

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

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

相关文章

产品评测:SmartX 与 Nutanix 超融合在数据库场景下的性能表现

重点内容 SmartX 与 Nutanix 超融合分布式存储设计差异如何影响数据库性能表现。重点测试结论:数据库场景下,SmartX 超融合基于单卷部署的性能,依旧优于 Nutanix 超融合基于多卷部署最佳配置的性能。更多 SmartX、VMware、Nutanix 超融合技术…

【python】基于岭回归算法对学生成绩进行预测

前言 在数据分析和机器学习领域,回归分析是一种预测连续数值的监督学习技术。当数据特征与目标变量之间存在线性关系时,线性回归模型尤其有用。然而,当特征数量多于样本数量,或者特征之间存在多重共线性时,普通最小二…

vue3 自定义国际化、elementPlus国际化

自定义国际化 1. 引入 vue-i18n 插件 pnpm install vue-i18nnext 2. 页面添加语言文件目录,添加自定义的语言文件 3.语言目录里添加 index.ts, 内容如下 import { createI18n } from "vue-i18n";// 自定义语言文件 import zhCN from "…

服务器端口怎么查,服务器端口查看方法详解

服务器端口是网络通信的关键组件,对于网络管理员和系统管理员来说,了解和掌握如何查看服务器端口是非常重要的。接下来介绍两种常用的方法来查看服务器端口。 方法一:使用命令提示符(CMD) 1. 首先,点击电脑…

本地搭建springboot服务并实现公网远程调试本地接口

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

漫威争锋Marvel Rivals锁区怎么办 锁区怎么搜索教程

即将面世的《漫威争锋》(Marvel Rivals),一款备受瞩目的PvP射击游戏,是与漫威官方携手的杰作,并将于5月11日早上9点正式启动其封闭Alpha测试环节,这一测试阶段将持续整整十天。在初次测试的盛宴中&#xff…

单位圆内的正交向量多项式,第一部分:由Zernike多项式的梯度导出的基组

clear all; close all; clc; %% I1=double(imread(E:\zhenlmailcom-E8E745\华为家庭存\image\imgs\right\0.bmp)); I2=double(imread(E:\zhenlmailcom-E8E745\华为家庭存储\.法\image\imgs\right\1.bmp)); I3=double(imread(E:\zhenlmailcom-E8E745\华为家庭存储\.p\image\imgs…

笔记本【记录每日坑点】

用来记录工作中遇到的问题 目录 引用数据类型的相互影响事件捕获导致的错误触发事件 引用数据类型的相互影响 类似如下代码&#xff1a; const obj {a: 1, b: 2};const array [];for(let i 0; i<4; i){array.push(obj)}array[0].a fixconsole.log(array);将已定义的对象…

PyQt5 解决界面无响应方案

文章目录 前言版本案例解决方案QThreadQTimer 局部变量创建异步线程导致 UI 未响应如果 QTimer 不使用 self.time 写法 个人简介 前言 在PyQt5中&#xff0c;GUI线程通常指的是Qt的主事件循环线程&#xff0c;也称为主线程。主线程负责处理GUI事件、更新UI界面等任务。在PyQt5…

【ETAS CP AUTOSAR工具链】RTA-OS基本概念与开发流程

RTA-OS基于早期ETAS操作系统的成熟技术&#xff0c;迄今为止&#xff0c;已在全球超过3.5亿个ECU中使用。RTA-OS是一个可静态配置的抢占式实时操作系统(RTOS)&#xff0c;它常被用于资源受限但有着高性能要求的方案中。内核的实现不仅遵循了AUTOSAR R3.x、R4.0、R4.1、R4.2、R4…

科学碳目标(SBTI)认证是什么?

科学碳目标&#xff08;SBTI&#xff09;认证是一种基于科学的减排目标认证和监测体系&#xff0c;旨在确保企业和国家制定的减排目标符合科学标准&#xff0c;并且能够实现全球气候目标的减缓效应。这个认证体系由全球碳项目和世界资源研究所&#xff08;WRI&#xff09;共同开…

视频号小店怎么做?店铺运营详细步骤讲解,全网独家

大家好&#xff0c;我是电商笨笨熊 视频号小店作为今年的电商黑马&#xff0c;下一个站在风口的项目&#xff0c;自是吸引了不少的玩家&#xff1b; 先不说视频号自身庞大的流量体系&#xff0c;单单是高客单的市场就值得尝试一把&#xff1b; 且当前视频号小店刚刚推出不久…