首页 > 其他分享 >Multi-Scale and Detail-Enhanced Segment Anything-1-MEEM-差分边缘增强模块

Multi-Scale and Detail-Enhanced Segment Anything-1-MEEM-差分边缘增强模块

时间:2024-11-08 17:10:47浏览次数:3  
标签:MEEM dim Multi Scale nn self mid hidden out

`
import torch.nn as nn
import torch
class MEEM(nn.Module):
def init(self, in_dim, hidden_dim, width=4, norm=nn.BatchNorm2d, act=nn.GELU):
super().init()
self.in_dim = in_dim
self.hidden_dim = hidden_dim
self.width = width
self.in_conv = nn.Sequential(
nn.Conv2d(in_dim, hidden_dim, 1, bias=False),
norm(hidden_dim),
nn.Sigmoid()
)

    self.pool = nn.AvgPool2d(3, stride=1, padding=1)

    self.mid_conv = nn.ModuleList()
    self.edge_enhance = nn.ModuleList()
    for i in range(width - 1):
        self.mid_conv.append(nn.Sequential(
            nn.Conv2d(hidden_dim, hidden_dim, 1, bias=False),
            norm(hidden_dim),
            nn.Sigmoid()
        ))
        self.edge_enhance.append(EdgeEnhancer(hidden_dim, norm, act))

    self.out_conv = nn.Sequential(
        nn.Conv2d(hidden_dim * width, in_dim, 1, bias=False),
        norm(in_dim),
        act()
    )

def forward(self, x):
    # 先降维  将降维之后的直接放入out  用总的组数-1得到少的组 循环补齐其他的组
    mid = self.in_conv(x)

    out = mid


    for i in range(self.width - 1):  # self.width-1是因为out里面已经有了一个经过卷积的值
        mid = self.pool(mid)
        mid = self.mid_conv[i](mid)

        out = torch.cat([out, self.edge_enhance[i](mid)], dim=1)

    out = self.out_conv(out)

    return out

class EdgeEnhancer(nn.Module):
def init(self, in_dim, norm=nn.BatchNorm2d, act=nn.GELU):
super().init()
self.out_conv = nn.Sequential(
nn.Conv2d(in_dim, in_dim, 1, bias=False),
norm(in_dim),
nn.Sigmoid()
)
self.pool = nn.AvgPool2d(3, stride=1, padding=1)

def forward(self, x):
    '''
    经过平均池化  降低细节
    原图减去 弱化细节的图  突出细节
    再将这些细节加到原图上 就增签了原图的细节
    '''
    edge = self.pool(x)
    edge = x - edge
    edge = self.out_conv(edge)
    return x + edge

if name == 'main':
in_dim=128
width=4
hidden_dim=in_dim//width

block = MEEM(in_dim,hidden_dim,width).cuda()
input = torch.randn(3,128,64,64).cuda() #输入 B C H W
output = block(input)

print(input.size())
print(output.size())`

标签:MEEM,dim,Multi,Scale,nn,self,mid,hidden,out
From: https://www.cnblogs.com/plumIce/p/18535457

相关文章

  • 106_api_intro_ai_multilingual-translation
    多语言AI翻译API数据接口ai/翻译基于AI多语言模型支持多语言/基于模型。1.产品功能基于自有专业模型进行AI多语言翻译高效的文本翻译性能全接口支持HTTPS(TLSv1.0/v1.1/v1.2/v1.3);全面兼容AppleATS;全国多节点CDN部署;接口极速响应,多台服务器构......
  • Multi-Scale and Detail-Enhanced Segment Anything-1-LMSA-轻量级多尺度适配器
    `importtorch.nnasnnimporttorchimporttorch.nn.functionalasFclassModifyPPM(nn.Module):definit(self,in_dim,reduction_dim,bins):super(ModifyPPM,self).init()self.features=[]forbininbins:self.features.append(nn.Sequential(nn.Adaptive......
  • CrewAI-Multimodal-Agent
    CrewAI-Multimodal-Agenthttps://github.com/mdwoicke/CrewAI-Multimodal-Agent #AICrewforReviewingMarkdownSyntax##IntroductionThisprojectisanexampleusingtheCrewAIframeworktoautomatetheprocessreviewingamarkdownfileforsyntaxiss......
  • 【YOLOv11改进 - 注意力机制】EMA(Efficient Multi-Scale Attention):基于跨空间学习的高
    介绍摘要通道或空间注意力机制在许多计算机视觉任务中表现出显著的效果,可以生成更清晰的特征表示。然而,通过通道维度缩减来建模跨通道关系可能会对提取深度视觉表示带来副作用。本文提出了一种新颖高效的多尺度注意力(EMA)模块。该模块着重于保留每个通道的信息并减少计算开销,我......
  • 【漏洞复现】灵当CRM multipleUpload.php 任意文件上传漏洞
    免责声明:        本文旨在提供有关特定漏洞的信息,以帮助用户了解潜在风险。发布此信息旨在促进网络安全意识和技术进步,并非出于恶意。读者应理解,利用本文提到的漏洞或进行相关测试可能违反法律或服务协议。未经授权访问系统、网络或应用程序可能导致法律责任或严......
  • CDDFuse: Correlation-Driven Dual-Branch Feature Decomposition for Multi-Modality
    文章信息标题CDDFuse:Correlation-DrivenDual-BranchFeatureDecompositionforMulti-ModalityImageFusion会议及时间CVPR2023主要内容为了解决建模跨模态特征和分解期望模态特有和模态共有特征的挑战,本文提出了一种用于多模态图像融合的双分支Transformer-CNN架构CDD......
  • 基于Multisim篮球比赛24S倒计时电路(含仿真和报告)
    【全套资料.zip】篮球比赛24S倒计时电路设计Multisim仿真设计数字电子技术文章目录功能一、Multisim仿真源文件二、原理文档报告资料下载【Multisim仿真+报告+讲解视频.zip】功能篮球比赛24S倒计时功能:1.具有数码管显示24S计时功能。2.设置外部开关,可以直接启动......
  • 基于Multisim光控夜灯LED电路(含仿真和报告)
    【全套资料.zip】光控夜灯LED电路设计Multisim仿真设计数字电子技术文章目录功能一、Multisim仿真源文件二、原理文档报告资料下载【Multisim仿真+报告+讲解视频.zip】功能光控夜灯LED电路1.采用纯数字电路,非单片机。2.通过检测周围光线,光线暗自动开灯,光线亮自......
  • 【文献阅读】Multi-region radiomics for artificially intelligent diagnosis of bre
    题目:基于多模态超声的人工智能诊断乳腺癌的多区域放射组学研究摘要:目的:乳腺癌的超声(US)诊断通常是基于单一的超声方式对整个乳腺肿瘤的单一区域,这限制了诊断性能。在乳腺肿瘤的多模态超声图像上的多个区域都可能对诊断有有用的信息。本研究旨在提出一种多模态放射组学多模式......
  • 【文献阅读】Multimodal feature learning and fusion on B-mode ultrasonography and
    题目:基于点门控深度网络的b型超声和超声弹性成像的多模态特征学习与融合诊断摘要:b型超声和超声弹性成像可用于前列腺癌(PCa)的临床诊断。两种超声(US)模式的结合使用计算机辅助可能有助于提高诊断性能。提出了一种基于多模态超声的计算机辅助诊断(CAD)技术。首先,从b型US图像和超声......