2021抖音和快手APP图像修复背后的核心技术,毫无ps痕迹(一)

简介: 2021抖音和快手APP图像修复背后的核心技术,毫无ps痕迹(一)

本文看完,相信你会对抖音和快手APP中使用的图像修复技术有一番了解和掌握。


大家好,我是对白。


由于CNN、GAN、Transformer等模型在CV与NLP领域都实现了很好的跨界,最近非常火热的Prompt也开始在多模态领域中有所应用了,因此我们有必要借鉴一些CV领域中Paper的idea,以拓宽自己的视野,那么今天就给大家分享一下图像修复(Image Inpainting)领域中值得一读的六篇顶会论文,希望能给大家带来一些不一样的灵感。


图像修复算法合集



20160906095841144.png


图像修复经典算法对比


06194319f19427a2791af6767383dbed.png

2dbbc95ec9d445d537a80c3d03f05125.png


图像修复经典论文


论文 1. Partial-conv



**P-conv:**Image Inpainting for Irregular Holes Using Partial Convolutions


Authors:NVIDIA Corporation ECCV 2018


优点:


1. 可以很好地处理任何形状、大小、位置或距离图像边界任何距离的空白。


2. 以前的深度学习方法主要集中在位于图像中心附近的矩形区域,并且通常需要依赖成本很高的后期处理。


3. 此模型能够很好地处理越来越大的空白区域。


**解决问题:**artifacts、color discrepancy、blurriness.


**适用于:**irregular masks、rectangular masks.


解决办法:将有效元素(unmask pixels)和缺失像素(mask pixels)区别对待,卷积层仅对满足条件有效像素进行卷积和规范操作,然后在根据Mask更新规则对Mask进行自动更新,直至 Mask中所有值均为 1。


网络结构:


**输入大小:**512×512 image + 512×512 mask


采用 U-net 的网络结构( 《 Globally and locally consistent image completion 》 ),将所有的卷积层替换为部分卷积层( partial convolutional layers ), 同时在decoder 部分上采样使用 nearest neighbor up-sampling,采用Skips links 连接encoder 中的feature map。在最后一个部分卷积层将输入图像(带缺失部分)和网络生成的图像结合,将网络生成的图像非缺失部分全部替换为输入图像的非缺失部分。


Partial Convolutional Layer (部分卷积):


1. Partial convolution operation


令 W 为卷积核的权重,X为当前卷积(滑动)窗口对应的特征(像素)值,M 为X相对应的二进制Mask。b为相对应的偏置值。在图像每个位置部分卷积。通过Mask和re-normalization 来保证卷积操作仅针对有效像素。


d8b9939f00ebf569045efa3c1af6dcef.png97a69ae4a920489dcea17d6709afa8b6.png




2. Mask update function


在进行部分卷积之后,进行Mask 的更新。


更新规则为:如果卷积(滑动)窗口对应的 Mask 值至少有一个对应的1,那么就更新卷积后对应 位置 Mask 为 1


mask 更新规则:


0b8b0bb9f7c0c75eba5356f2a06b6c75.png


待解决的问题:


1.Mask 更新策略为 hard-attention


2.无法解决user-guided image 问题(加入scratch)


3.invalid pixels 随着网络深度增加disappear


4.Channel 共享,可以看做 un-learnable single-channel feature hard-gating


论文 2. Deepfill V1



Deepfill V1:Generative Image Inpainting with Contextual Attention


Authors:JiaHui Yu CVPR 2018


**Coarse network:**一个编码器与解码器,在中间层运用了空洞卷积增大感受野


a6e61d5365d3907b898928becf856597.png


论文 3. Deepfill V2- Gated Conv



Deepfill V2: Free-Form Image Inpainting with Gated Convolution


Authors:Jiahui Yu, Zhe Lin, Jimei Yang, Xiaohui Shen, Xin Lu, Thomas Huang, ICCV 2019


Insight Partial Conv 回顾:


164a30e8d058d3ca8b686029c1e220e9.png


Partial Conv 缺点:


P-Conv 中Mask 更新的不合理:无论像素多少,只要存在至少一个,就将mask 设置为1;没有满足用户的意愿来进行修复(也就是没有使用 guidance);部分卷积网络的mask 在较深的层逐渐消失,并且消失的规则为只要存在一个像素为有效像素,则设置当前所对应的Mask 为1。


适用于:


irregular masks、rectangular masks、user sketch guidance.


解决办法:


提出gated convolution 来解决将所有元素都视为有效像素这一问题,通过在所有层的每个空间位置为每个通道提供一个可学习的动态特征选择机制,来扩展部分卷积。


Gated convolution :


门控卷积不是采用 hard-gating mask 的 Mask 更新规则,而是采用可学习的soft mask 更新规则。


51f5dcf7264d0266cffc59d4a1450f61.png


Gated convolution (门控卷积)


学习了每个通道和每个空间位置的动态特征选择机制。中间门控值的可视化显示,它不仅能根据背景、mask 、草图来选择特征,还能考虑到某些通道的语义分割 。即使在深层,门控卷积也会学习在不同的通道中示突出显示 mask区域和草图信息,以更好地生成修复结果。


06f9c0074b83917eab0f7d18a2134071.png


网络结构:


  • 采用了简单的encoder-decoder network,而不是采用类似 partial conv 的U-net 结构。并且作者发现partial conv 中使用的skip connections 对于本论文提出的方法并没有帮助。这主要是因为对于Mask 区域的中心,这些跳跃连接的输入几乎为零,因此无法将详细的颜色或纹理信息传播到该区域的解码器。对于Hole 边界,由于编码器结构配备了门控卷积,足以产生无缝的结果。


  • 作者将所有的门控卷积替代了传统的卷积。这一做法存在的问题就是引入了额外的参数,为了保持与baseline model 相同的效率,作者将模型的宽度缩小了 25%,在数量和质量上都没有发现明显的性能下降。


b66321905ff47e625ca1680afe1bdbe2.png


论文4. Generative Image Inpainting with Adversarial Edge Learning



源码:


https://github.com/knazeri/edge-connect


创新点:


1.一种边缘生成器,给定已知的边缘和图像的灰度像素值,能够在缺失区域产生边缘。


2.一个图像补全网络,将缺失区域的边缘与剩余图像的颜色和纹理信息结合起来,以填充缺失区


域。


3.一个端到端可训练的网络,结合了边缘生成和图像补全,以填补缺失区域的细节。


a0b9549584e228c7866f4f41ad9d5587.png


边缘生成网络 + 图像补全网络


网络结构:


Edge generator 边缘生成网络:GAN 根据各种信息生成具有指导作用的 EdgeMap


d8878f04f10d6d9dd3d39f94a7d2f431.png07902ff7ecf46b43ba6c5e220fd9491c.png


结果:


能够进行图像拼接、移除和编辑。


98620c89e67ccc8910283a193d621570.png

相关文章
|
4月前
|
JSON 搜索推荐 机器人
直播间自动发言机器人,抖音快手小红书哔哩哔哩机器人, 自动评论app机器人打字弹幕脚本
多平台支持:整合抖音、哔哩哔哩等平台的自动化操作 智能评论生成:结合视频内容动态生成个性化评论
|
3月前
|
存储 小程序 Java
热门小程序源码合集:微信抖音小程序源码支持PHP/Java/uni-app完整项目实践指南
小程序已成为企业获客与开发者创业的重要载体。本文详解PHP、Java、uni-app三大技术栈在电商、工具、服务类小程序中的源码应用,提供从开发到部署的全流程指南,并分享选型避坑与商业化落地策略,助力开发者高效构建稳定可扩展项目。
|
4月前
|
Android开发 Python
自动养手机权重脚本,抖音看广告刷金币脚本插件, 抖音自动养号脚本app
采用uiautomator2实现Android设备控制,比纯ADB命令更稳定 随机化操作参数包括:观看时长
|
5月前
|
小程序 安全 JavaScript
构建即时通讯APP内的小程序生态体系:从架构设计到技术实现-优雅草卓伊凡
构建即时通讯APP内的小程序生态体系:从架构设计到技术实现-优雅草卓伊凡
335 1
构建即时通讯APP内的小程序生态体系:从架构设计到技术实现-优雅草卓伊凡
|
5月前
|
自然语言处理 API
tiktok养号脚本, 抖音自动养号脚本app,批量起号插件脚本
该养号系统包含三大核心模块:主控程序实现自动化操作流程,内容生成器创建自然语言内容
|
5月前
|
网络协议 JavaScript Linux
抖音改ip归属地软件APP有吗?
1. 网络代理技术原理 # 示例:Python requests库通
|
5月前
|
定位技术 Android开发 数据安全/隐私保护
抖音虚拟位置软件, 修改定位位置app,抖音虚拟位置修改
这些代码展示了如何模拟GPS位置变化和Android设备上的虚拟定位功能。第一个模块模拟了城市间的移动轨迹
|
5月前
|
数据安全/隐私保护 Python
抖音私信脚本app,协议私信群发工具,抖音python私信模块
这个实现包含三个主要模块:抖音私信核心功能类、辅助工具类和主程序入口。核心功能包括登录
|
2月前
|
缓存 移动开发 JavaScript
如何优化UniApp开发的App的启动速度?
如何优化UniApp开发的App的启动速度?
514 139
|
2月前
|
移动开发 JavaScript weex
UniApp开发的App在启动速度方面有哪些优势和劣势?
UniApp开发的App在启动速度方面有哪些优势和劣势?
339 137

热门文章

最新文章