Press "Enter" to skip to content

TecoGAN图像增强

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

windows 10 64-bit
python 3.7
TecoGAN
tensorflow 1.15.0
pytorch 1.7

TecoGAN 是一个基于 GAN 的自监督学习的图像增强器,也就是能让原来模糊的图像变得清晰, TecoTEmporal COherence 的缩写。原作者的介绍视频地址: https://www.youtube.com/watch?v=pZXFXtfd-Ak ,论文地址: https://arxiv.org/pdf/1811.09393.pdf

 

 

 

 

从官方给出的效果图来看,非常的惊艳。

 

项目体验

 

下载源码

 

git clone https://github.com/thunil/TecoGAN.git
cd TecoGAN

 

安装依赖

 

# 要求1.8以上,太高也会报错
pip install tensorflow-gpu==1.15.0
pip install -r requirements.txt

 

下载模型及数据

 

python runGAN.py 0

 

开始推理

 

python runGAN.py 1

 

默认处理文件夹 LR/calendar ,处理后的结果存放于文件夹 results/calendar

 

使用自己的素材

 

目前只支持图片,所以是视频的话,就需要将其转成图片序列,放在一个文件夹内如 test ,然后将文件夹 test 放到目录 LR 下,修改文件 runGAN.py

 

elif( runcase == 1 ): # inference a trained model
    dirstr = './results/' # the place to save the results
    # 由默认的calendar改为test
    # testpre = ['calendar'] # the test cases
    testpre = ['test'] # the test cases
    if (not os.path.exists(dirstr)): os.mkdir(dirstr)
    # run these test cases one by one:
    for nn in range(len(testpre)):
        cmd1 = ["python3", "main.py",
            "--cudaID", "0",            # set the cudaID here to use only one GPU
            "--output_dir",  dirstr,    # Set the place to put the results.
            "--summary_dir", os.path.join(dirstr, 'log/'), # Set the place to put the log.
            "--mode","inference",
            "--input_dir_LR", os.path.join("./LR/", testpre[nn]),   # the LR directory
            #"--input_dir_HR", os.path.join("./HR/", testpre[nn]),  # the HR directory
            # one of (input_dir_HR,input_dir_LR) should be given
            "--output_pre", testpre[nn], # the subfolder to save current scene, optional
            "--num_resblock", "16",  # our model has 16 residual blocks,
            # the pre-trained FRVSR and TecoGAN mini have 10 residual blocks
            "--checkpoint", './model/TecoGAN',  # the path of the trained model,
            "--output_ext", "png"               # png is more accurate, jpg is smaller
        ]
        mycall(cmd1).communicate()

 

从上面的代码片段,可以看出,其原理是通过系统调用的方式去处理每一张图片,具体的逻辑实现是在文件 main.py

 

然后执行

 

python runGAN.py

 

处理后的图片存放在目录 results/test

 

遇到的坑

 

tensorflow

 

基本上都是版本差异而引起的问题

 

问题一

 

"ImportError: cannot import name 'export_saved_model' from 'tensorflow.python.keras.saving.saved_model'"

 

这个一般是由于安装了多个版本引起,需要先卸载干净,然后安装对应版本

 

pip uninstall tensorflow-gpu
pip install tensorflow-gpu==1.15.0

 

问题二

 

ImportError: cannot import name ‘get_config’ from ‘tensorflow.python.eager.context’

 

修改文件 lib/ops.py ,将 import keras 改为 from tensorflow import keras

 

问题三

 

ModuleNotFoundError: No module named ‘tensorflow.contrib’

 

tensorflow 从 1.15版本后将 tensorflow.contrib 移除,可安装 1.14版本

 

pip install tensorflow-gpu==1.15.0

 

问题四

 

AttributeError: module 'tensorflow' has no attribute 'set_random_seed'

 

修改文件 main.py ,将 tf.set_random_seed(1234) 改为 tf.random.set_seed(1234)

 

skimage

 

ImportError: cannot import name 'compare_ssim' from 'skimage.measure'

 

这是版本更新后的 api 变化引起的

 

 

解决方法是安装较低版本,如0.16.2

 

pip install -U scikit-image==0.16.2

 

NotImplementedError: Cannot convert a symbolic Tensor (2nd_target:0) to a numpy array

 

这里要求 numpy 版本不要过高

 

pip install numpy==1.19.5

 

'wget' 不是内部或外部命令,也不是可运行的程序

 

如果是 windows 系统,默认是没有 wget 工具的,工程中会使用它来下载数据包。下载地址 https://eternallybored.org/misc/wget/ ,然后将下载后的可执行 exe 文件拷贝到目录 C:\Windows\System32

 

参考资料

https://github.com/thunil/TecoGAN

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注