用SRCNN对眼底图像进行超分重建【保姆级教程】

本文是关于使用SRCNN进行眼底图像超分辨率重建的保姆级教程,详细介绍了数据集制作、模型搭建、评价指标(PSNR和SSIM)以及训练与评估过程。在数据集制作中,通过prepare.py脚本处理图片,模型搭建部分讲解了SRCNN的简单结构,同时分享了在计算SSIM时遇到的困难与解决方案。
摘要由CSDN通过智能技术生成

目录

一、数据集的制作

二、模型的搭建

三、评价指标

四、训练与评估

       由于代码能力较弱,以及对Super-resolution(SR)领域的模型理解不够深刻,打算从SR最基本的模型开始逐个学习,通过工程项目的学习来强化对知识的理解。我是做图像超分辨率重建方向的,主要用的是眼底图像。此篇文章是对本次学习的记录以及复盘。

  1.  数据集的制作

最开始上来就给我整蒙了,因为我理解的是直接把图片下载至文件夹,然后遍历文件夹即可,但是由于使用的代码是用图片制作成的h5文件。这里我们用了一个prepare.py来准备制作Train以及Test数据集的h5文件。

模块的引用:

import argparse
import glob
import h5py
import numpy as np
import PIL.Image as pil_image
from utils import convert_rgb_to_y

Train.h5的制作: 首先遍历原始图片的文件夹,转化为RGB格式,用scale参数去制作出一对高低分辨率的图像对,并将之转换为亮度通道(YCrCb中的Y),  Y通道可以被认为是对人类视觉最为重要的,因为它包含了图像的亮度信息,而人类视觉系统对亮度的敏感度要高于颜色. 

def train(args):
    h5_file = h5py.File(args.output_path, 'w')

    lr_patches = []
    hr_patches = []

    for image_path in sorted(glob.glob('{}/*'.format(args.images_dir))):
        hr = pil_image.open(image_path).convert('RGB')
        hr_width = (hr.width // args.scale) * args.scale
        hr_height = (hr.height // args.scale) * args.scale
        hr = hr.resize((hr_width, hr_height), resample=pil_image.BICUBIC)
        lr = hr.resize((hr_width // args.scale, hr_height // args.scale), resample=pil_image.BICUBIC)
        lr = lr.resize((lr.width * args.scale, lr.height * args.scale), resample=pil_image.BICUBIC)
        hr = np.array(hr).astype(np.float32)
        lr = np.array(lr).astype(np.float32)
        hr = convert_rgb_to_y(hr)
        lr = convert_rgb_to_y(lr)

        for i in range(0, lr.shape[0] - args.patch_size + 1, args.stride):
        '''这行代码遍历低分辨率图像的高度维度。range 函数从 0 开始,到 lr.shape[0] - args.patch_size + 1 结束(不包括后者),每次增加 args.stride。这意味着每次循环 i 的值会增加 args.stride,直到达到图像高度的边缘。args.patch_size 是想要提取的 patch 的大小,而 args.stride 是提取 patch 时每次移动的步长。'''
          
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值