【瑞兔呈祥】简易的ESRGAN使用教程
本帖最后由 水银之羽 于 2023-1-25 09:01 编辑ESRGAN是一种可以提升图片分辨率的AI图像处理工具,能让低质量的图片变得清晰
该项目的开发者为:xinntao
该项目的Github网址:REAL-ESRGAN
我们选择较为方便的版本:Real-ESRGAN-ncnn-vulkan
该版本的体积较小(不到50M),解压即用,可以随意移动,缺点是没有可视化窗口,需要利用到PowerShell或CMD
1 配置
1.1 将压缩包中的文件解压,并将他移动到你熟悉的路径,这里选择放在D盘根目录
1.2.1 若电脑安装了PowerShell,按下Shift键,在文件夹的空白处右键,选择在此处打开PowerShell窗口
1.2.2 若电脑未安装PowerShell,可以使用CMD,但需要一部分额外的步骤,根据解压路径输入下列指令来帮助CMD定位ESRGAN的位置,输入完成后按下回车
cd /d </*realesrgan的路径*/>
/*如果将ESRGAN解压到D盘根目录,则*/
cd /d D:\realesrgan-ncnn-vulkan-20220424-windows
若输入无误,则应显示
2 图片处理
2.1 模型
该版本的ESRGAN提供了3个模型
realesr-animevideov3 对动画分割出的图片进行处理
realesrgan-x4plus-anime 对动漫插图进行处理
realesrgan-x4plus 只要是张图片都能处理
2.2.1 命令行-PowerShell
假设对一张位于ESRGAN所在文件夹中的动漫插图(test.png)(使用realesrgan-x4plus-anime模型)进行处理,需要在PowerShell中输入
./realesrgan-ncnn-vulkan.exe -i test.png -o test_re.png -n realesrgan-x4plus-anime
-i待处理图片的路径及其文件名(这里指test.png,由于会自动检测当前目录中的文件,可以只声明文件名,也可以使用绝对路径:D:\realesrgan-ncnn-vulkan-20220424-windows\test.png)
-o图片的输出路径及其文件名(这里指test_re.png,同样可以使用绝对路径:D:\realesrgan-ncnn-vulkan-20220424-windows\test_re.png)
-s设置分辨率的放大倍数(这里没有设置,可以写入2/3/4,默认为4)
-m设置模型路径(这里没有设置,默认使用目录下的"models"中的模型)
-n设置使用的模型(这里使用的是realesrgan-x4plus-anime),如果需要使用realesrgan-x4plus,则需改为
./realesrgan-ncnn-vulkan.exe -i test.png -o test_re.png -n realesrgan-x4plus
-g设置GPU(这里没有设置,若电脑搭载了多张显卡,可以从任务管理器中查询到编号)
-f设置图片输出格式(这里没有设置,默认输出为png格式)
假设对一些不位于ESRGAN所在文件夹中的图片进行处理(假设这些图片在E盘根目录)(使用realesrgan-x4plus模型),也就是批量处理,我们需要先创建两个新文件夹,例如input和output,将需要处理的图片拖入input文件夹中,然后在PowerShell中输入
./realesrgan-ncnn-vulkan.exe -i E:\input -o E:\output -n realesrgan-x4plus
2.2.2 命令行-CMD
把"./"去掉就行
realesrgan-ncnn-vulkan.exe -i test.png -o test_re.png -n realesrgan-x4plus-anime
realesrgan-ncnn-vulkan.exe -i E:\input -o E:\output -n realesrgan-x4plus
2.2.3 编写.bat批处理文件
在学会命令行的编写后,可以通过编写.bat文件使处理过程更加轻松
在ESRGAN目录下新建TXT格式文本,input与output文件夹,在TXT中写入
cd /d D:\realesrgan-ncnn-vulkan-20220424-windows
realesrgan-ncnn-vulkan.exe -i input -o output -n realesrgan-x4plus-anime保存,并将.txt修改为.bat,之后仅需将要处理的图片放入input文件夹中,执行.bat后,图片将被自动处理
今后若因磁盘空间问题需要移动ESRGAN,也只需要将.bat文件中的D盘符修改为对应盘符后即可正常使用
3.视频处理(对显卡有一定要求,配置过低视频效果会很糟糕)
ESRGAN或WAIFU2X其实都无法直接对视频进行处理,这里需要使用FFMPEG程序将视频分割为帧图片,ESRGAN或WAIFU2X对这些图片进行处理,FFMPEG将这些处理好的高清图片还原成视频
该项目的官网:FFMPEG
很可惜,FFMPEG并不提供Windows版本的编译文件,我们需要移步至GitHub下载
提供编译项目的开发者:BtbN
编译后的项目:FFMPEG
3.1 配置ffmpeg
将压缩包解压在任意位置,并记录解压文件中ffmpeg.exe所在的文件夹路径(若解压在D盘根目录则为:D:\ffmpeg-N-109649-gab8cde6efa-win64-gpl\bin)
右键此电脑,点击属性,找到高级系统设置(使用windows自带的搜索功能也可以),在弹出的设置页面中点击环境变量
在页面上方的用户变量中找到Path,选中,并点击下方的编辑
在弹出的页面右侧点击新建,黏贴上面记录的路径(D:\ffmpeg-N-109649-gab8cde6efa-win64-gpl\bin),单击下方的确定,保存所有设置
打开CMD或PowerShell,输入ffmpeg,出现软件信息则安装成功
3.2.1 命令行-PowerShell
假设对一个位于ESRGAN所在文件夹中的视频进行处理(这里指test.mp4)
首先在ESRGAN所在目录中建立input及output文件夹
使用ffmpeg将视频拆分为帧图片
ffmpeg -i test.mp4 -qscale:v 1 -qmin 1 -qmax 1 -vsync 0 input/f%06d.jpg
使用ESRGAN处理这些图片至output文件夹
./realesrgan-ncnn-vulkan.exe -i input -o output -n realesr-animevideov3 -s 2 -f jpg使用ffmpeg将处理好的帧图片还原为视频(test_re.mp4)
ffmpeg -i output/f%06d.jpg -i test.mp4 -map 0:v:0 -map 1:a:0 -c:a copy -c:v libx264 -r 20 -pix_fmt yuv420p test_re.mp4
3.2.2 命令行-CMD
ffmpeg -i test.mp4 -qscale:v 1 -qmin 1 -qmax 1 -vsync 0 input/f%06d.jpg
realesrgan-ncnn-vulkan.exe -i input -o output -n realesr-animevideov3 -s 2 -f jpg
ffmpeg -i output/f%06d.jpg -i test.mp4 -map 0:v:0 -map 1:a:0 -c:a copy -c:v libx264 -r 20 -pix_fmt yuv420p test_re.mp4
GITHUB因某些特殊原因可能难以连入,这里帮大家把需要用到的文件上传到了蓝z云,没有速度限制可以即下即用
文件链接:ESRGAN+FFMPEG
密码:9ca2
如果完全按照上述步骤放置文件则可以使用下方提供的批处理文件
感谢分享,以前就在找把图片质量提高的工具,一直没找到 平常是用waifu來處理 , 之後嘗試看看樓主推薦:loveliness: 很实用的工具,我倒是用的不多,先收藏一下,谢谢分享 这教程很厉害呀,感谢分享 实用的工具,先收藏了,这种工具都是平常用的不多,但是一旦要用就好头疼,感谢详细教程:loveliness: 看起來很複雜呢,不知比起waifu效果如何 先放进收藏夹里,平常用到的机会不多 先放进收藏夹里,平常用到的机会不多 挺详细的教程呢,谢谢分享。 技术向已收藏~对付某些情况应该很有用~ 是可能以后会有用的教程,收藏一下 感谢分享提升分辨率的工具,可以提高上古资源的图片质量了 渣电脑不配做修复…先马一下 谢谢楼主纯干货分享 先收藏一个,没想到现在也有专门做动漫的超分了,AI真的很卷了。 {:6_188:}不知道这个修复的效果如何,是基于什么算法 技术帖耶,先码住,到时候以后可能用到 哇好硬核啊,翻下来一点没看懂。坛除我佬,谢谢分享 感谢楼主分享!~很实用。如果能有例图展示,提前分辨率前后的对比,更好更直观 好硬核的帖子,要是有个效果图就好了。