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