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月前
|
XML 前端开发 Java
Android App开发图像加工中卡片视图CardView和给图像添加装饰的讲解以及实战(附源码 简单易懂)
Android App开发图像加工中卡片视图CardView和给图像添加装饰的讲解以及实战(附源码 简单易懂)
51 0
|
自然语言处理 前端开发 JavaScript
国际版抖音点赞系统开发【TikTok 点赞 APP 搭建教程】
国际版抖音点赞系统开发【TikTok 点赞 APP 搭建教程】
531 0
|
XML 移动开发 小程序
抖音小程序开发 唤起收银台支付(可以选择支付宝APP支付或微信H5支付)
字节跳动也开放了小程序给商家接入,可以在旗下APP如抖音、今日头条、今日头条极速版等应用中即点即用,基于庞大的数亿用户量为其引流,帮助商家获取用户流量,销售商品,其模式和微信小程序差不多。
1752 0
抖音小程序开发 唤起收银台支付(可以选择支付宝APP支付或微信H5支付)
|
1月前
|
机器学习/深度学习 人工智能 搜索推荐
抖音上线AI社交APP“话炉”
【2月更文挑战第16天】抖音上线AI社交APP“话炉”
85 2
抖音上线AI社交APP“话炉”
|
4月前
|
XML Java Android开发
Android App开发之图像加工中给图像添加水波动态特效(附源码和演示视频 简单易懂)
Android App开发之图像加工中给图像添加水波动态特效(附源码和演示视频 简单易懂)
40 0
|
4月前
|
XML 算法 Java
Android Studio App开发之利用图像解码器ImageDecoder播放GIF动图、Webp、HEIF图片(附源码 简单实用)
Android Studio App开发之利用图像解码器ImageDecoder播放GIF动图、Webp、HEIF图片(附源码 简单实用)
112 0
|
4月前
|
XML 安全 Java
Android Studio App开发之绘制简单的动画图像(附源码,简单易懂)
Android Studio App开发之绘制简单的动画图像(附源码,简单易懂)
52 1
|
XML 缓存 API
Android 垃圾分类APP(四)垃圾分类之图像输入
Android 垃圾分类APP(四)垃圾分类之图像输入
243 0
Android 垃圾分类APP(四)垃圾分类之图像输入
|
XML 缓存 API
Android 天气APP(十四)修复UI显示异常、优化业务代码逻辑、增加详情天气显示
Android 天气APP(十四)修复UI显示异常、优化业务代码逻辑、增加详情天气显示
187 0
Android 天气APP(十四)修复UI显示异常、优化业务代码逻辑、增加详情天气显示
|
算法 数据挖掘 Java
App基于手机壳颜色换肤?先尝试一下用 KMeans 来提取图像中的主色
App基于手机壳颜色换肤?先尝试一下用 KMeans 来提取图像中的主色
121 0
App基于手机壳颜色换肤?先尝试一下用 KMeans 来提取图像中的主色