CycleISP环境配置

配置

环境:AutoDL GPU服务器

https://github.com/swz30/CycleISP

git clone https://github.com/swz30/CycleISP.git

sudo apt-get install cmake build-essential libjpeg-dev libpng-dev

pip install matplotlib scikit-image yacs lycon natsort h5py tqdm

pip install opencv-python opencv-contrib-python -i https://pypi.tuna.tsinghua.edu.cn/simple

问题:

*.Ubuntu ModuleNotFoundError: No module named 'skimage.measure.simple_metrics'

--->pip install scikit-image==0.16.2

python debug:cannot import name ‘compare_psnr‘& cannot import name ‘compare_ssim‘_呆呆象呆呆的博客-CSDN博客

*.Ubuntu python generate_rgb_data.py报错

--->

*.Win10 numpy报错:Original error was: DLL load failed: 找不到指定的模块。

--->pip install --upgrade numpy(或者卸载重新安装)

*.Win10  lycon安装报错

--->cv2替换lycon操作

*.Win10  加载数据使用多线程报错

 --->

 

代码+原理

*.torch实现高斯核

二维高斯核公式如下:\frac{1}{2\pi \sigma ^{^{2}}}*e^{-\frac{x^{^{2}+y^{2}}}{2\sigma ^{2}}}

C语言实现便于理解,可以debug打印直观的看下高斯核

/*************************************************************
*Function: Gauss mask compute
*Params:
*      r-radius of gauss filter
*      sigma-sigma of gauss filter
*      gaussMask-gauss weight to compute with size of (2r+1)*(2r+1)
*Return NULL
************************************************************/
void GaussMask(int r, double sigma, double gaussMask[])
{
	double PI = 3.1415926;
	double sum = 0;
	int stride = 2 * r + 1;
    for (int y = -r, h = 0; y <= r; y++, h++)
    {
        for (int x = -r, w = 0; x <= r; x++, w++)
        {
            gaussMask[w + h * stride] = (1.0 / (2.0 * PI * sigma * sigma)) * (exp(-((double)x * (double)x + (double)y * (double)y) / (2.0 * sigma * sigma)));
			sum += gaussMask[w + h * stride];
        }
    }
	for (int i = 0; i < stride * stride; i++)
    {
        gaussMask[i] = gaussMask[i] / sum;
    }
};

*.噪声模型

*.模型结构

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
CycleISP是一种基于循环一致性学习的图像处理方法,其目的是将低质量图像转换为高质量图像。下面是对CycleISP代码的解读: 1.导入必要的库和模型 首先,需要导入一些必要的库和模型,如TensorFlow、NumPy、OpenCV、ResNet等。 2.定义生成器模型 CycleISP使用了两个生成器模型,一个用于将低质量图像转换为高质量图像,另一个则用于将高质量图像转换为低质量图像。这里定义了第一个生成器模型,即将低质量图像转换为高质量图像的模型。 3.定义判别器模型 CycleISP使用了两个判别器模型,一个用于判断生成的高质量图像是否真实,另一个则用于判断生成的低质量图像是否真实。这里定义了第一个判别器模型,即用于判断生成的高质量图像是否真实的模型。 4.定义损失函数 CycleISP使用了四种损失函数,分别为生成器的循环一致性损失、对抗损失、内容损失和总变差损失。这里定义了其中的循环一致性损失函数。 5.定义优化器 定义了Adam优化器,并为生成器和判别器分别定义不同的学习率。 6.定义训练循环 定义了训练循环,其中包含了生成器和判别器的训练过程,以及每一轮训练后的模型保存过程。 7.预处理和后处理 定义了预处理和后处理的函数,其中预处理函数将图像归一化并裁剪为指定大小,后处理函数则将图像反归一化并还原为原始大小。 总的来说,CycleISP代码实现了基于循环一致性学习的图像处理方法,其中包含了生成器模型、判别器模型、损失函数、优化器和训练循环等。通过该代码可以将低质量图像转换为高质量图像,从而达到图像增强的目的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值