TecoGAN图像增强

人工智能72

环境

  • 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

TecoGAN图像增强

TecoGAN

TecoGAN图像增强

TecoGAN

TecoGAN图像增强

TecoGAN

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

项目体验

下载源码

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 变化引起的

TecoGAN图像增强

tecogan

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

pip install -U scikit-image==0.16.2

numpy

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

这里要求 numpy 版本不要过高

pip install numpy==1.19.5

wget

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

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

参考资料

  • https://github.com/thunil/TecoGAN

知识星球

新开的知识星球,目标每日更新。分享各种学习资源、实战项目、付费项目、私活分享、资源对接、行业资讯等,欢迎扫码加入

TecoGAN图像增强

Original: https://blog.csdn.net/djstavaV/article/details/121987672
Author: 迷途小书童的Note
Title: TecoGAN图像增强



相关阅读

Title: MagicData-RAMC数据集测评 | 西北工业大学冠军队分享

作为2021年第十六届全国人机语音通讯学术会议 (NCMMSC 2021) 特殊议题, 由Magic Data (北京爱数智慧科技有限公司) 和江苏师范大学主办,MagicHub开源社区、上海白玉兰开源开放研究院、华为MindSpore社区和英特尔Open VINO中文社区协办的"对话式AI语音识别及说话人识别 (ASR&SD) 挑战赛"收到了四十多个来自国内各大高校和企业参赛队伍注册报名。

其中, 西工大音频语音与处理研究组 (ASLP@NPU)同学们组建的 "要锅好鱼" 队在本挑战赛 "对话场景下的语音识别 (ASR)"赛道 中,以测试集字准确率 87.3% 的优异成绩, 荣获第一名

TecoGAN图像增强

数 据 集 开 源 ✦ Open Source: MagicData-RAMC

为了进一步丰富开源语音语料库,促进语音语言处理技术的发展, Magic Data 于4月15日在 Magichub 开源社区正式开源用于本次比赛的180小时中文对话式语音数据集 MagicData-RAMC。作为高质量且标注丰富的训练数据,可以很好地支持开发者完成语音识别和说话人日志相关的研究。

TecoGAN图像增强

数据集下载地址 https://magichub.com/datasets/magicdata-ramc/

论文地址 https://arxiv.org/abs/2203.16844

基线地址 https://github.com/MagicHub-io/MagicData-RAMC-Challenge

MagicData-RAMC 包括351组多轮普通话对话,时长共计180小时。每组对话的标注信息包括转录文本、语音活动时间戳、说话人信息、录制信息和话题信息。说话人信息包括了性别、年龄和地域,录制信息包括了环境和设备。

同时,Magic Data 联合中科院声学研究所、上海交通大学和西北工业大学基于 MagicData-RAMC 完成了语音识别、说话人日志和关键词检索的相关研究,该工作已投稿语音领域顶级会议 Interspeech 2022。

查找更多开源数据集:www.magichub.com

冠 军 队 分 享 ✦ 西工大音频语音与处理研究组

在本次比赛中,西工大音频语音与处理研究组(ASLP@NPU)团队参加的实验室成员包括郭鹏程、梁宇颢、魏坤、姚卓远、王智超、俞帆。以下将对实验室提交的系统进行详细介绍。

对话语音识别的挑战

对话语音识别(Conversational ASR)是语音识别领域的一个挑战性研究课题。自然口语对话不同于朗读式语音,其重要特点和难点主要在于:

・对话语音通常在一段时间内围绕固定主题开展

・口语化语音包含结巴、吞字、不规范语法等情况

・由于录音设备或录音环境导致的噪声和房间混响

此次竞赛语音识别赛道属于受限数据条件。训练集为 Magic Data 开源的 755 小时 ASR 中文朗读数据与为竞赛提供的 160 小时中文对话数据。比赛阶段的测试集为两个 10 小时数据集,分别是朗读风格(以下记为 755h_test)与对话风格(以下记为 160h_test)。竞赛队伍提交的系统只能基于以上这些数据的音频和抄本进行构建,不允许使用集外数据。

多种模型和工具探索

实验室团队分别使用了 ESPnet [1] 和 WeNet [2] 两个语音识别工具包,模型采用 Conformer Encoder [3] + Transformer Decoder 的结构。关于WeNet端到端语音识别工具包,敬请关注「WeNet步行街」公众号。

Conformer Encoder 由多个 Conformer Block 堆叠而成。它的核心想法是将 Multiheaded Self-attention 网络和 Convolution 网络进行结合。Multiheaded Self-attention 网络主要用于建模语音信号的全局依赖信息,同时 Convolution 网络用于学习局部信息。Conformer Encoder 的具体结构如图 1 所示。

TecoGAN图像增强

图1 : Conformer Block 结构

实验室团队在两个工具包的模型上分别探究了仅使用 160 小时对话语音数据、引入部分或全部 755 小时朗读语音数据、基于 Speed Perturbation 和 SpecAugment 的数据增广技术、增加注意力头数等多个不同配置对识别结果的影响。主要实验结果总结于表 1 和 2,评估准则为字错误率 (Character Error Rate, CER)。

TecoGAN图像增强

表1 : WeNet 实验结果 (CER%)

TecoGAN图像增强

表2 : ESPnet 实验结果(CER%)

基于语音转换的数据增广

语音转换(Voice Conversion, VC)是语音合成领域的一个重要研究方向,旨在不改变语音内容的前提下,改变语音中说话人音色的一项技术。鉴于本次竞赛无法使用集外数据,实验室团队用语音转换技术有效地扩充了对话风格的数据。具体来说,随机抽取 755 小时朗读数据中 100 个说话人,每人 400 句话,来提取目标说话人音色。使用多对多语音转换技术,建立这 100 人的音色模型。之后,针对每个目标说话人,从 160 小时对话数据中选取 4000 句生成转换音频。通过在上面效果最好的WeNet模型 (E4) 上加入转换后的 VC 数据进行模型微调,WeNet系统的识别率取得了进一步提升,具体结果如表3所示。关于语音转换技术的方案详见实验室公众号推介文章——论文推介:语音转换中的源风格到目标的迁移

TecoGAN图像增强

表3 : WeNet VC Finetune 结果(CER%)

基于长上下文建模的语言模型

考虑到语言模型在对话语音识别中的重要作用,实验室团队采用了基于 Transformer 的语言模型重打分(Rescore)方案。对话语音通常会在一段时间内维持一个主题,即上文出现过的信息,当前句中可能会再次出现。因此语言模型如果能建模更长的上下文历史信息,将训练时的语料扩展成为更长的输入,就有可能提高识别准确率[5][6] 。借鉴实验室先前发表论文[6]中的方案,实验室团队随机将处理后的相同话题中的 n (n

Original: https://blog.csdn.net/weixin_47718443/article/details/124499672
Author: Magic Data
Title: MagicData-RAMC数据集测评 | 西北工业大学冠军队分享