1.上采样和下采样
UNet 网路结构左半部分是下采样:图片尺寸变小,图片变得模糊;
UNet 网路结构右半部分是上采样:图片尺寸变大,图片变得清晰。
下采样:将高分辨率图像降维到低分辨率图像的过程,常见的方法包括平均池化、最大池化和卷积池化等。
上采样:将低分辨率图像放大到高分辨率图像的过程,常见的方法包括最近邻插值、双线性插值和三次插值等。
上采样和下采样的目的是为了适应不同的任务需求,例如:
在特征提取、图像压缩和迁移学习中,需要将高分辨率图像下采样到低分辨率图像。(UNet 左半部分就是在进行特征提取、图像压缩)
在目标检测、图像分割和超分辨率重建等任务中,需要将低分辨率图像上采样到高分辨率图像。(UNet 右半部分就是在进行图像分割)
# 我们首先导入了PyTorch的nn模块,然后定义了一个上采样函数upsample,设置了尺度因子为2,插值模式为双线性插值,不进行像素对齐。
# 接着我们生成了一个大小为128x128的随机输入图像input_image,将其传递给上采样函数upsample后,得到了大小为256x256的输出图像output_image。
import torch
import torch.nn as nn
# 定义上采样函数
upsample = nn.Upsample(scale_factor=2, mode='bilinear', align_corners=False)
# 假设输入图像大小为128x128,输出图像大小为256x256
input_image = torch.randn(1, 3, 1