打码原理
本文仅讨论方格马赛克的生成与恢复
![图片[1]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img1.png)
那么,方格马赛克是怎么生成的呢?其实很简单:将打码区域划分成一个个的格子,然后取每个格子的颜色平均值生成
![图片[2]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img2.png)
PULSE 算法
演示效果
官方效果
![图片[3]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img1.jpeg)
![图片[4]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img2.jpeg)
![图片[5]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img3.jpeg)
原理介绍
PULSE 是一种图片超分辨率的新样式,使用的是 StyleGAN 模型:可以用它不断生成栩栩如生的但不存在的人脸,我们可以在这个网站进行体验:Random Face Generator (This Person Does Not Exist)
![图片[6]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img012.png)
我们给 PULSE 输入一张小图,它会用 StyleGAN 生成一张大的人脸图,差值缩小后与输入图比较差距;然后通过算法不断修正、生成新的人脸图,直到与输入图无差距,最后输出大图
![图片[7]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img32.png)
所以,要达到去马赛克的效果,我们可以曲线救国:先将马赛克图片缩小,通过 PULSE 超分辨率放大
![图片[8]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img33.png)
不难看出,PULSE 是有缺点的:
- It will not help identify or reconstruct the original image
这无助于识别或重建原始图像 - StyleGAN 只能生成人脸,而且绝大多数是白种人,所以效果不会很好
- 要想超分其他类型的图片,就需要自己找模型训练
使用教程(Windows)
我会在以后尝试 Linux 系统安装
下载代码
打开 PULSE 的 GitHub 项目,下载代码即可
![图片[9]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img30.png)
安装 Python
- 打开 Python 官网,下载 python
![图片[10]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img12.png)
- 安装即可
![图片[11]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img13.png)
安装 CMake
- 按下 Win + R,输入
cmd
确定
![图片[19]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img10.png)
- 输入命令↓,回车
pip install cmake
![图片[20]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img14.png)
- 右键此电脑 → 属性
![图片[21]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img15.png)
- 点击高级系统设置
![图片[22]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img16.png)
- 点击环境变量
![图片[23]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img17.png)
- 点击 Path ,编辑
![图片[24]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img18.png)
- 新建,填入该地址:C:\Users\你的用户名\AppData\Local\Programs\Python\Python310\Lib\site-packages\cmake\data\bin
![图片[25]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img19.png)
- 一路确定即可
检查是否安装成功:
- (重启电脑后),按下 Win + R ,输入
cmd
确定
![图片[19]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img10.png)
- 输入
cmake
,回车,若显示类似下图所示内容,则表示安装成功
![图片[27]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img11.png)
安装 Anaconda 管理器
- 打开 Anaconda 官网,点击中间按钮下载软件
![图片[28]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img20.png)
- 安装软件
![图片[29]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img21.png)
![图片[30]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img22.png)
![图片[31]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img23.png)
![图片[32]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img24.png)
![图片[33]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img25.png)
![图片[34]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img26.png)
![图片[35]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img27.png)
![图片[36]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img28.png)
- 打开 Anaconda Powershell Prompt (Anaconda3) 软件
![图片[37]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img31.png)
- 输入命令↓
conda env create -n pulse -f 你的PULSE路径/pulse.yml
例如:conda env create -n pulse -f G:/pulse/pulse.yml
- 打开 你的PULSE路径/pulse.yml 文件,将 ResolvePackageNotFound 提示的所有包修改
比如:- openssl==1.1.1g=h1de35cc_0
改成:- openssl==1.1.1g
![图片[38]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img29.png)
In some environments (e.g. on Windows), you may have to edit the pulse.yml to remove the version specific hash on each dependency and remove any dependency that still throws an error after running conda env create...
(such as readline)
dependencies
- blas=1.0=mkl
...
to
dependencies
- blas=1.0
...
- 剩下的请到网站↓搜索并运行代码
![图片[39]-2022年了,去马赛克能实现吗?-JACK小桔子的小屋](https://jackxjz-img.oss-cn-guangzhou.aliyuncs.com/blog/demosaicing/img34.png)
- 在输入命令↓
conda activate pulse
运行程序
- 按下 Win + R ,输入
cmd
确定 - 输入
cd /d 你的PULSE路径
,回车 - 输入
python run.py
,回车
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
3 本站资源大多存储在网盘,如发现链接失效,请联系我们我们会第一时间更新
暂无评论内容