【深度学习】揭秘2021抖音和快手APP图像修复背后的核心技术,毫无ps痕迹
作者 | 對白
出品 | 對白的算法屋
編者寄語:
本文看完,相信你會對抖音和快手APP中使用的圖像修復(fù)技術(shù)有一番了解和掌握。
大家好,我是對白。
由于CNN、GAN、Transformer等模型在CV與NLP領(lǐng)域都實(shí)現(xiàn)了很好的跨界,最近非常火熱的Prompt也開始在多模態(tài)領(lǐng)域中有所應(yīng)用了,因此我們有必要借鑒一些CV領(lǐng)域中Paper的idea,以拓寬自己的視野,那么今天就給大家分享一下圖像修復(fù)(Image Inpainting)領(lǐng)域中值得一讀的六篇頂會論文,希望能給大家?guī)硪恍┎灰粯拥撵`感。
圖像修復(fù)算法合集
圖像修復(fù)經(jīng)典算法對比
圖像修復(fù)經(jīng)典論文
論文 1. Partial-conv
P-conv:Image Inpainting for Irregular Holes Using Partial Convolutions
Authors:NVIDIA Corporation ECCV 2018
優(yōu)點(diǎn):
1. 可以很好地處理任何形狀、大小、位置或距離圖像邊界任何距離的空白。
2. 以前的深度學(xué)習(xí)方法主要集中在位于圖像中心附近的矩形區(qū)域,并且通常需要依賴成本很高的后期處理。
3. 此模型能夠很好地處理越來越大的空白區(qū)域。
解決問題:artifacts、color discrepancy、blurriness.
適用于:irregular masks、rectangular masks.
解決辦法:將有效元素(unmask pixels)和缺失像素(mask pixels)區(qū)別對待,卷積層僅對滿足條件有效像素進(jìn)行卷積和規(guī)范操作,然后在根據(jù)Mask更新規(guī)則對Mask進(jìn)行自動更新,直至 Mask中所有值均為 1。
網(wǎng)絡(luò)結(jié)構(gòu):
輸入大小:512×512 image + 512×512 mask
采用 U-net 的網(wǎng)絡(luò)結(jié)構(gòu)( 《 Globally and locally consistent image completion 》 ),將所有的卷積層替換為部分卷積層( partial convolutional layers ), 同時在decoder 部分上采樣使用 nearest neighbor up-sampling,采用Skips links 連接encoder 中的feature map。在最后一個部分卷積層將輸入圖像(帶缺失部分)和網(wǎng)絡(luò)生成的圖像結(jié)合,將網(wǎng)絡(luò)生成的圖像非缺失部分全部替換為輸入圖像的非缺失部分。
Partial Convolutional Layer (部分卷積):
1. Partial convolution operation
令 W 為卷積核的權(quán)重,X為當(dāng)前卷積(滑動)窗口對應(yīng)的特征(像素)值,M 為X相對應(yīng)的二進(jìn)制Mask。b為相對應(yīng)的偏置值。在圖像每個位置部分卷積。通過Mask和re-normalization 來保證卷積操作僅針對有效像素。
2. Mask update function
在進(jìn)行部分卷積之后,進(jìn)行Mask 的更新。
更新規(guī)則為:如果卷積(滑動)窗口對應(yīng)的 Mask 值至少有一個對應(yīng)的1,那么就更新卷積后對應(yīng) 位置 Mask 為 1
mask 更新規(guī)則:
待解決的問題:
1.Mask 更新策略為 hard-attention
2.無法解決user-guided image 問題(加入scratch)
3.invalid pixels 隨著網(wǎng)絡(luò)深度增加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:一個編碼器與解碼器,在中間層運(yùn)用了空洞卷積增大感受野
論文 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 回顧:
Partial Conv 缺點(diǎn):?
P-Conv 中Mask 更新的不合理:無論像素多少,只要存在至少一個,就將mask 設(shè)置為1;沒有滿足用戶的意愿來進(jìn)行修復(fù)(也就是沒有使用 guidance);部分卷積網(wǎng)絡(luò)的mask 在較深的層逐漸消失,并且消失的規(guī)則為只要存在一個像素為有效像素,則設(shè)置當(dāng)前所對應(yīng)的Mask 為1。
適用于:
irregular masks、rectangular masks、user sketch guidance.
解決辦法:
提出gated convolution 來解決將所有元素都視為有效像素這一問題,通過在所有層的每個空間位置為每個通道提供一個可學(xué)習(xí)的動態(tài)特征選擇機(jī)制,來擴(kuò)展部分卷積。
Gated convolution :
門控卷積不是采用 hard-gating mask 的 Mask 更新規(guī)則,而是采用可學(xué)習(xí)的soft mask 更新規(guī)則。
Gated convolution (門控卷積)
學(xué)習(xí)了每個通道和每個空間位置的動態(tài)特征選擇機(jī)制。中間門控值的可視化顯示,它不僅能根據(jù)背景、mask 、草圖來選擇特征,還能考慮到某些通道的語義分割 。即使在深層,門控卷積也會學(xué)習(xí)在不同的通道中示突出顯示 mask區(qū)域和草圖信息,以更好地生成修復(fù)結(jié)果。
網(wǎng)絡(luò)結(jié)構(gòu):
采用了簡單的encoder-decoder network,而不是采用類似 partial conv 的U-net 結(jié)構(gòu)。并且作者發(fā)現(xiàn)partial conv 中使用的skip connections 對于本論文提出的方法并沒有幫助。這主要是因?yàn)閷τ贛ask 區(qū)域的中心,這些跳躍連接的輸入幾乎為零,因此無法將詳細(xì)的顏色或紋理信息傳播到該區(qū)域的解碼器。對于Hole 邊界,由于編碼器結(jié)構(gòu)配備了門控卷積,足以產(chǎn)生無縫的結(jié)果。
作者將所有的門控卷積替代了傳統(tǒng)的卷積。這一做法存在的問題就是引入了額外的參數(shù),為了保持與baseline model 相同的效率,作者將模型的寬度縮小了 25%,在數(shù)量和質(zhì)量上都沒有發(fā)現(xiàn)明顯的性能下降。
論文4. Generative Image Inpainting with Adversarial Edge Learning
源碼:
https://github.com/knazeri/edge-connect
創(chuàng)新點(diǎn):
1.一種邊緣生成器,給定已知的邊緣和圖像的灰度像素值,能夠在缺失區(qū)域產(chǎn)生邊緣。
2.一個圖像補(bǔ)全網(wǎng)絡(luò),將缺失區(qū)域的邊緣與剩余圖像的顏色和紋理信息結(jié)合起來,以填充缺失區(qū)
域。
3.一個端到端可訓(xùn)練的網(wǎng)絡(luò),結(jié)合了邊緣生成和圖像補(bǔ)全,以填補(bǔ)缺失區(qū)域的細(xì)節(jié)。
邊緣生成網(wǎng)絡(luò) + 圖像補(bǔ)全網(wǎng)絡(luò)
網(wǎng)絡(luò)結(jié)構(gòu):
Edge generator 邊緣生成網(wǎng)絡(luò):GAN 根據(jù)各種信息生成具有指導(dǎo)作用的 EdgeMap
結(jié)果:
能夠進(jìn)行圖像拼接、移除和編輯。
?????????????????論文5. TTA-Net - Texture Transform Attention for Realistic Image Inpainting??????????????
根據(jù)紋理特征和語義特征的相似度計算attention weight,作用到紋理特征上,生成一個reassembled 的紋理。生成的紋理細(xì)節(jié)非常好。
提出了一種新的網(wǎng)絡(luò),利用U-Net 結(jié)構(gòu),通過在已經(jīng)驗(yàn)證過的編碼解碼圖像修復(fù)網(wǎng)絡(luò)中添加跳躍連接,直接將編碼的紋理傳輸?shù)浇獯a器。
為了更有效的紋理轉(zhuǎn)移,我們提出了紋理轉(zhuǎn)換注意力模塊(TTA),搜索最相似的patch。TTA 模塊查找patch 的索引和相似度權(quán)重,并將紋理進(jìn)行相應(yīng)的重組,并將其傳遞給解碼器。
TTA-Net 可以使用特征合成模塊,通過深層和淺層紋理的迭代應(yīng)用來合成紋理更細(xì)的圖像。
這個前向生成網(wǎng)絡(luò)在各種數(shù)據(jù)集上實(shí)現(xiàn)了高質(zhì)量的修復(fù)結(jié)果,包括 CelebA faces ,CelebA- hq faces, DTD textures 和Places2。
TTA 模塊:
首先,將上下文特征(contextual feature Q)和精細(xì)紋理特征(Fine texture feature P)展開到相同大小,計算相似度權(quán)重(作為卷積過濾器)。將所有patch 的相似度權(quán)重按通道進(jìn)行比較,找出最相似的patch 的索引和權(quán)重。然后根據(jù)索引圖折疊紋理特征,生成重構(gòu)的紋理圖(Reassembled texture map T)。紋理圖和權(quán)重圖會送到特征合成模塊,與上下文特征融合,最終生成Fusion ration map R。
結(jié)論:
確實(shí)在紋理細(xì)節(jié)上面,生成的細(xì)節(jié)非常豐富 。實(shí)驗(yàn)也證明了加入正則化能夠有效的減少斑駁的棋盤狀偽影。
論文 6. VQ - GAN:Taming Transformers for High-Resolution Image Synthesis
源碼:
https://github.com/CompVis/taming-transformers
項(xiàng)目主頁:
https://compvis.github.io/taming-transformers/
是基于Transformer 的高分辨率圖像合成方法。解決了之前 Transformer 局限于低分辨率圖像的基本挑戰(zhàn)。VQ-GAN 將圖像表示為感知上豐富的圖像成分的合成形式,避免了直接在像素空間對圖像建模的二次復(fù)雜度。用CNN 架構(gòu)對合成成分進(jìn)行建模,用Transformer 架構(gòu)對成分進(jìn)行合成,充分挖掘了二者的互補(bǔ)潛力。
Inpainting 常用損失函數(shù):
Inpainting 量化評價指標(biāo):
Video Inpainting 數(shù)據(jù)集:
往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載機(jī)器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印機(jī)器學(xué)習(xí)在線手冊深度學(xué)習(xí)筆記專輯《統(tǒng)計學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專輯 AI基礎(chǔ)下載機(jī)器學(xué)習(xí)的數(shù)學(xué)基礎(chǔ)專輯黃海廣老師《機(jī)器學(xué)習(xí)課程》視頻課
本站qq群851320808,加入微信群請掃碼:
總結(jié)
以上是生活随笔為你收集整理的【深度学习】揭秘2021抖音和快手APP图像修复背后的核心技术,毫无ps痕迹的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql数据库赋予权限 版本语法差异
- 下一篇: 梳理百年深度学习发展史-七月在线机器学习