Bracketing Image Restoration and Enhancement with High-Low Frequency Decomposition-高频分解
paper
通过密集连接的小卷积核实现细节特征(高频特征提取)提取
import torch.nn as nn
class Dense(nn.Module):
def __init__(self, in_channels):
super(Dense, self).__init__()
# self.norm = nn.LayerNorm([in_channels, 128, 128]) # Assuming input size is [224, 224]
self.conv1 = nn.Conv2d(in_channels, in_channels, kernel_size=3, padding=1,stride=1)
self.conv2 = nn.Conv2d(in_channels, in_channels, kernel_size=3, padding=1,stride=1)
self.conv3 = nn.Conv2d(in_channels, in_channels, kernel_size=3, padding=1,stride=1)
self.conv4 = nn.Conv2d(in_channels, in_channels, kernel_size=3, padding=1,stride=1)
self.conv5 = nn.Conv2d(in_channels, in_channels, kernel_size=3, padding=1,stride=1)
self.conv6 = nn.Conv2d(in_channels, in_channels, kernel_size=3, padding=1, stride=1)
self.gelu = nn.GELU()
def forward(self, x):
x1 = self.conv1(x)
x1 = self.gelu(x1+x)
x2 = self.conv2(x1)
x2 = self.gelu(x2+x1+x)
x3 = self.conv3(x2)
x3 = self.gelu(x3+x2+x1+x)
x4 = self.conv4(x3)
x4 = self.gelu(x4+x3+x2+x1+x)
x5 = self.conv5(x4)
x5 = self.gelu(x5+x4+x3+x2+x1+x)
x6= self.conv6(x5)
x6 = self.gelu(x6+x5+x4+x3+x2+x1+x)
return x6
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端