(仅以FFDNet为例,DnCNN更简单一些):
代码的链接:pytorch版本点击zip文件下载
Dataset函数中patch的处理:
原始图像image --> 通过各种范围scale改变图像尺寸 --> 图像经过处理(BGR->RGB或BGR->Gray),这里有一步transpose(2, 0, 1)目的是为了在Image_to_patch达到将numpy的 HWC --> CxHxW image --> Normalize标准化 -->利用Image_to_patch取一定大小的patch,加快处理速度,需要注意的是这里的win就是patch的size,total_num是一张image可以得到的patch的数量 --> 然后增加数据集后存入h5f文件中
函数prepare_data:对数据的进行处理后存入h5py文件中
类Dataset:用于加载数据集,注意:torch.Tensor(data)函数:numpy --> tensor,深度学习卷积一般都是处理tensor类型
部分变量表示的意义:
total_num是一张image可以得到的patch的数量
train_num:训练数据集patch数量总数
i:当前处理的图像数
item:当前处理的图像路径信息,比如第一张图片data/gray/Set12\01.png
aug_times:用于判断增加多少数据量
h5py文件:
存储image的patch,通过W写操作存储数据,R读操作读取数据