图像修复:Object Removal by Exemplar-Based Inpainting 学习笔记
Overview
這是一篇比較經(jīng)典的exemplar-based的inpainting算法,算法思路比較簡單,是一種貪心算法,主要分為以下幾步:
1、在需要填充區(qū)域的輪廓上計算權(quán)重,選擇權(quán)重最大的輪廓點作為待填充點
2、在該點周圍領(lǐng)域取一個一定大小的patch塊,在圖像其他區(qū)域內(nèi)找該patch快的最近鄰patch
3、將最近鄰patch塊對應(yīng)到需要填充區(qū)域的部分復(fù)制到等待填充的區(qū)域,再重復(fù)上述步驟,直至所有點都填充完畢。
從上述算法流程來看,算法比較簡單,是一個基于填充區(qū)域輪廓優(yōu)先級的算法,算法是一個貪心算法。存在的一個明顯弊端就是無法保證最終整體填充效果。
Impletion Detail
1. filling order
paper中著重講述了填充順序的關(guān)鍵性,也是本片paper的主要創(chuàng)新點,輪廓點上的優(yōu)先級由兩部分組成,其中C(p)是confidence term, D§是data term.
P(p)=C(p)D(p)P(p) = C(p)D(p) P(p)=C(p)D(p)
1、confidence term: 表明該點的可靠度
2、data term: 根據(jù)patch周圍數(shù)據(jù)進(jìn)行計算的項
1.1 confidence term
condidence 項可視為圍繞在點ppp周圍點的可信度,目的是優(yōu)先填充那些周圍有更多已知點的patch快。
其計算公式如下,Ψp\Psi_pΨp?表示以ppp點為中心的patch快,其中∣Ψp∣|\Psi_p|∣Ψp?∣ 是整個patch的面積,
C(p)=∑q∈ΨpC(q)∣Ψp∣C(p) = \frac{\sum_{q \in \Psi_p}C(q)}{|\Psi_p|} C(p)=∣Ψp?∣∑q∈Ψp??C(q)?
1.2 data term
數(shù)據(jù)項的目的是優(yōu)先填充有較強(qiáng)紋路結(jié)構(gòu)的點,其計算方式如下
D(p)=∣▽Ip⊥?np∣αD(p) = \frac{|\triangledown I^{\bot}_p \cdot n_p|}{\alpha} D(p)=α∣▽Ip⊥??np?∣?
其意義如下圖,在點ppp處獲得待填充輪廓的法線方向npn_pnp?, ▽Ip⊥\triangledown I^{\bot}_p▽Ip⊥? 則表示其梯度方向旋轉(zhuǎn)90度,從而可以找到具有比較強(qiáng)結(jié)構(gòu)特征的點。從該項可以看出那些梯度方向和輪廓垂直,且梯度比較大的點,擁有更高的優(yōu)先級。
propagate texture and structure information
在找到優(yōu)先級最高的點后,以ppp為中心的patch塊Ψp\Psi_pΨp?, 在已知圖像區(qū)域中尋找一個相似的最高的patch塊Ψq^\Psi_{\hat{q}}Ψq^??。
Updating confidence values
使用Ψq^\Psi_{\hat{q}}Ψq^?? 填充Ψp^\Psi_{\hat{p}}Ψp^??后,confidence的值也需要進(jìn)行更新,對于新填充的點,統(tǒng)一使用點p^\hat{p}p^?處的confidence值進(jìn)行填充。
C(q)=C(p^),C(q) = C(\hat{p}), C(q)=C(p^?),
更新confidence從而可以動態(tài)的評估邊界上各個patch塊的相對優(yōu)先級,而不需要和圖像相關(guān)的參數(shù)。隨著填充的進(jìn)行,confidence值會不斷減少,表明我們對于目標(biāo)中心區(qū)域的像素點更不確定。
review of the algorithm
下表為整個算法的流程,正如先前所說,該算法是一個貪心算法,每次尋找邊界上的一個最優(yōu)點進(jìn)行patch塊的生長,直到所有點都被填充。
缺點
some improvement method
filling order
填充次序?qū)τ谠撍惴▉碚f至關(guān)重要,是該算法能work的重要條件.也有一些對于填充順序進(jìn)行改良的算法,如下一個是基于樣例稀疏性的。
本算法中data term 是利用輪廓的法線方向和梯度垂直向量的點積作為其數(shù)據(jù)項,[1]的算法則使用了patch塊的稀疏性作為度量,提出優(yōu)先填充稀疏性更高的patch塊,從而改善一些情況下填充的效果。
Result
其算法實際運(yùn)行圖例如下面gif所示,對于需要填充的建筑物,沿著其輪廓線尋找優(yōu)先級高的點,依次不斷填充,最終獲得了不錯的一個效果。
對于圖像中有較多可以copy的patch塊的場景,修復(fù)效果都還不錯,但是無法保證最終整體填充效果,容易出現(xiàn)到最后怎么找patch塊都會出現(xiàn)不連續(xù)的問題,所以后來大牛們又提出了很多基于全局優(yōu)化的inpainting/Image completion算法。
總結(jié)
以上是生活随笔為你收集整理的图像修复:Object Removal by Exemplar-Based Inpainting 学习笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【STM32】一次F105 USB OT
- 下一篇: canal