环境
- windows 10 64-bit
- python 3.7
- TecoGAN
- tensorflow 1.15.0
- pytorch 1.7
简介
TecoGAN
是一个基于 GAN
的自监督学习的图像增强器,也就是能让原来模糊的图像变得清晰, Teco
是 TEmporal COherence
的缩写。原作者的介绍视频地址:https://www.youtube.com/watch?v=pZXFXtfd-Ak,论文地址: https://arxiv.org/pdf/1811.09393.pdf
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
解决方法是安装较低版本,如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
知识星球
新开的知识星球,目标每日更新。分享各种学习资源、实战项目、付费项目、私活分享、资源对接、行业资讯等,欢迎扫码加入
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% 的优异成绩, 荣获第一名。
数 据 集 开 源 ✦ Open Source: MagicData-RAMC
为了进一步丰富开源语音语料库,促进语音语言处理技术的发展, Magic Data 于4月15日在 Magichub 开源社区正式开源用于本次比赛的180小时中文对话式语音数据集 MagicData-RAMC。作为高质量且标注丰富的训练数据,可以很好地支持开发者完成语音识别和说话人日志相关的研究。
数据集下载地址 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 所示。
图1 : Conformer Block 结构
实验室团队在两个工具包的模型上分别探究了仅使用 160 小时对话语音数据、引入部分或全部 755 小时朗读语音数据、基于 Speed Perturbation 和 SpecAugment 的数据增广技术、增加注意力头数等多个不同配置对识别结果的影响。主要实验结果总结于表 1 和 2,评估准则为字错误率 (Character Error Rate, CER)。
表1 : WeNet 实验结果 (CER%)
表2 : ESPnet 实验结果(CER%)
基于语音转换的数据增广
语音转换(Voice Conversion, VC)是语音合成领域的一个重要研究方向,旨在不改变语音内容的前提下,改变语音中说话人音色的一项技术。鉴于本次竞赛无法使用集外数据,实验室团队用语音转换技术有效地扩充了对话风格的数据。具体来说,随机抽取 755 小时朗读数据中 100 个说话人,每人 400 句话,来提取目标说话人音色。使用多对多语音转换技术,建立这 100 人的音色模型。之后,针对每个目标说话人,从 160 小时对话数据中选取 4000 句生成转换音频。通过在上面效果最好的WeNet模型 (E4) 上加入转换后的 VC 数据进行模型微调,WeNet系统的识别率取得了进一步提升,具体结果如表3所示。关于语音转换技术的方案详见实验室公众号推介文章——论文推介:语音转换中的源风格到目标的迁移
表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数据集测评 | 西北工业大学冠军队分享