FLW
1、np.ndarray
# 将data_lowlight结构数据转化为nsarray float 再将图片进行归一化 data_lowlight = (np.asarray(data_lowlight) / 255.0)
2、np.histogram 直方图
提取直方图的思路是:统计图像中像素点为某个值的个数,RGB彩色图像的提取就是将R\G\B三种颜色分别的0-255像素统计出来,然后绘制直方图。
3、Pytorch里一般小写的都是函数式的接口,相应的大写的是类式接口。函数式的更加low-level一些,如果不需要做特别复杂的配置只需要用类式接口就够了。
可以这样理解:nn.ConV2d是2D卷积层,而F.conv2d是2D卷积操作。
4、torch.min(tensorA,dim):dim表示指定的维度,返回指定维度的最大数和对应下标
import torch x = torch.randn(1,1,4,4) B, C, H, W = x.shape print(x) d = x.min(2, keepdim=True) print('x.min(2, keepdim=True)', d) print('\n') f = d[0] print('d[0]', f) print('\n') g = x.min(2, keepdim=True)[0].min(3, keepdim=True) print('x.min(2, keepdim=True)[0].min(3, keepdim=True)', g) print('\n') b = x.min(2, keepdim=True)[0].min(3, keepdim=True)[0] print(b)
5、numpy.max中参数axis的取值问题
大佬链接:(5条消息) numpy.max中参数axis的取值问题_.max(axis=0)_Zpadger的博客-CSDN博客
6、PIL读取图像的格式是(H,W,C)
rgb和HSV之间的转换
大佬链接:(5条消息) RGB 和 HSV 互相转换算法_rgb转hsv公式_lly_3485390095的博客-CSDN博客
损失
1、L1损失:
大佬链接:https://blog.csdn.net/gy_Rick/article/details/107222045
L1 = torch.abs(R_low - high).mean()
2、SSIM损失
class L_recon(nn.Module): def __init__(self): super(L_recon, self).__init__() self.ssim_loss = pytorch_ssim.SSIM() def forward(self, R_low, high): L2 = (1 - self.ssim_loss(R_low, high)).mean() return L2
3、梯度损失
大佬链接:https://blog.csdn.net/fovever_/article/details/105780517