Image Matting 客觀評價指標、資料集及主觀評價
技術標籤:計算機視覺# image mattingmatting影象分割
Image Matting 客觀評價指標、資料集及主觀評價
客觀評價指標
1. 精度
目前常用的幾個指標來自於這篇論文[1],SAD, MSE, Gradient error, Connectivity error.
1.1 SAD
SAD(Sum of Absolute Difference)絕對誤差和,
S
A
D
=
∑
i
∣
α
i
−
α
i
∗
∣
SAD = \sum_i |\alpha_i - \alpha_i^*|
SAD=i∑∣αi−αi∗∣
def matte_sad(pred_matte, gt_matte):
'''
Sum of Absolute Differences
pred_matte : np.array, shape : [h,w]
gt_matte : np.array, shape : [h,w]
'''
assert(len(pred_matte.shape) == len(gt_matte.shape))
error_sad = np.sum(np.abs(pred_matte - gt_matte))
return error_sad
1.2 MSE 均方誤差
mean squared error (MSE)
def matte_mse(pred_matte, gt_matte):
''' Mean Squared Error '''
assert(len(pred_matte.shape) == len(gt_matte.shape))
error_mse = np.mean(np.power(pred_matte-gt_matte, 2))
return error_mse
1.3 Gradient error
主要計算的是預測的
∇
α
i
\nabla \alpha_i
∇αi 和
∇
α
i
∗
\nabla \alpha^*_i
∇αi∗的之間的梯度差異, 定義如下:
∑
(
∇
α
i
−
∇
α
i
∗
)
q
\sum (\nabla \alpha_i - \nabla \alpha^*_i)^q
∑(∇αi−∇αi∗)q
q q q為自定義函式,論文裡設為2.
這裡的
∇
α
i
\nabla \alpha_i
∇αi 和
∇
α
i
∗
\nabla \alpha^*_i
∇αi∗表示的是對應的alpha matte
的歸一化梯度, 這是通過將matte
與具有方差
s
i
g
m
a
sigma
sigma的一階Gaussian導數濾波器進行卷積計算得到的. 二者計算差異, 進而累計損失. 總體越相似, 指標值越小.
def matte_grad(pred_matte, gt_matte):
''' Error measure with Gradient '''
assert(len(pred_matte.shape) == len(gt_matte.shape))
predict_grad = scipy.ndimage.filters.gaussian_filter(pred_matte, 1.4, order=1) # alpha matte的歸一化梯度,標準差=1.4,1階高斯導數的卷積
gt_grad = scipy.ndimage.filters.gaussian_filter(gt_matte, 1.4, order=1)
error_grad = np.sum(np.power(predict_grad - gt_grad, 2))
return error_grad
這裡呼叫的是SciPy模組,高斯濾波器用於高斯模糊是比較經典的影象卷積例子,這裡使用高斯濾波器filters.gaussian_filter()
來進行1階高斯導數卷積計算。分別計算兩者梯度,作差,然後累計其平方。兩者越相似,Gradient error越小。
1.4 Connectivity error
connectivity error定義如下:
∑
i
(
φ
(
α
i
,
Ω
)
−
φ
(
α
i
∗
,
Ω
)
)
\sum_{i}(\varphi(\alpha_i,\Omega) - \varphi(\alpha_i^*,\Omega))
i∑(φ(αi,Ω)−φ(αi∗,Ω))
該公式給出了連通性誤差的計算方法, 這裡是對整個預測出來的alpha matte
圖和相應的Ground truth的對應的差異的累和. 這裡的關鍵是裡面的
φ
(
α
i
,
Ω
)
\varphi(\alpha_i,\Omega)
φ(αi,Ω)函式,。源域(source region)
Ω
\Omega
Ω由最大連通域定義,最大連通域是指alpha matte和它對應的Ground truth都完全不透明的部分(即
α
\alpha
α都為1),如上圖紅線區域大致表示。
連線程度由距離
d
i
d_i
di決定,
d
i
=
α
i
−
l
i
d_i=\alpha_i - l_i
di=αi−li,其中
l
i
l_i
li是畫素
i
i
i 能4連通到
Ω
\Omega
Ω的最大閾值,也就是上圖中的虛線,閾值大於這個,畫素i就與$ \Omega
不
連
通
了
。
用
它
對
‘
a
l
p
h
a
m
a
t
t
e
‘
進
行
二
值
化
,
正
好
處
於
使
像
素
i
與
源
域
連
通
(
實
際
需
要
四
連
通
)
/
不
連
通
的
臨
界
.
若
是
對
於
一
個
像
素
而
言
,
它
的
不連通了。用它對`alpha matte`進行二值化, 正好處於使畫素i與源域連通(實際需要四連通)/不連通的臨界. 若是對於一個畫素而言, 它的
不連通了。用它對‘alphamatte‘進行二值化,正好處於使像素i與源域連通(實際需要四連通)/不連通的臨界.若是對於一個像素而言,它的l_i=\alpha_i$, 那麼就可以認為它與源域是全連通的.
i
i
i點連通度
φ
\varphi
φ的定義公式如下所示:
φ
(
α
i
,
Ω
)
=
1
−
(
λ
i
⋅
δ
(
d
i
≥
θ
)
⋅
d
i
)
\varphi(\alpha_i,\Omega) = 1- (\lambda_i \cdot \delta(d_i \geq \theta) \cdot d_i)
φ(αi,Ω)=1−(λi⋅δ(di≥θ)⋅di)
這裡的
θ
\theta
θ是自定義引數, 文章[1]中取了0.15. 它用在指示函式
δ
\delta
δ裡作為一個閾值, 來忽略小於它的
d
i
d_i
di的情況, 認為小於它就已經是全連通了, 使得誤差計算更為靈活.
其中的 λ i = 1 K ∑ k ∈ K d i s t k ( i ) \lambda_i=\frac{1}{K}\sum_{k\in K}dist_k(i) λi=K1∑k∈Kdistk(i)用來對 d i d_i di進行加權, 這裡的K表示 l i l_i li到 α i \alpha_i αi之間的離散 α \alpha α值的集合, d i s t k dist_k distk計算了設定為閾值k時, 對於畫素i距離最近的連通到源域的畫素, 與畫素i之間的標準化歐式距離. 實際情況中, 遠離連通區域的畫素, 獲得的權重 λ \lambda λ也應該相應會更大些, 這樣導致得到的 φ \varphi φ會更小些, 也就是認為連通度更小.
因為按照公式定義的 λ \lambda λ的計算量太大,在實際應用中計算開銷太大,為了減小計算[1]在公式中把 λ i \lambda_i λi直接取為了1。
1.5 MAD
Mean Absolute Difference(MAD) 平均絕對差值
M
A
D
=
1
n
∑
i
∣
α
i
−
α
i
∗
∣
MAD = \frac{1}{n} \sum_i |\alpha_i - \alpha_i^*|
MAD=n1i∑∣αi−αi∗∣
MAD和SAD類似,這兩指標選擇一個即可。
1.6 小結
[2],[3],[4] 等以上4個指標全都使用了, background matting[5]僅使用了SAD,MSE這兩個指標, MODNet[6]主要使用了MSE,MAD這兩個指標。
所以綜合以上,我們的指標先選取MSE,MAD這兩項,Gradient和Connectivity看結果最後再決定是否取用。
2. 資料集
2.1愛分割matting_human_datasets
該資料集包含34427張影象和對應的matting結果圖。該資料集是公開資料集,且包含的資料量很大。
缺點:標註較為粗糙
2.2 Adobe Image Matting
該資料為非公開資料集,但是可以聯絡作者獲取該資料集。431張訓練圖片,50張測試圖片。通常按照一定比例和背景圖片合成來擴充資料。
2.3 alphamatting
公開matting評估網http://www.alphamatting.com上的測試資料。
缺點: 資料量實在太少35object,包含各種object,人像極少。
2.4 PPM-100
由MODNet提出,尚未公開,預計2021.2公開。
**優點:**高質量標註,更加多樣化,可以作為benchmark data
2.5 小結
最終還是選擇Adobe Image Matting資料集來評估,一是資料集便於獲得,使用該資料集比較的論文較多;二是該資料集相較alphamatting更多更全面,且質量較好。
後續PPM-100如果放出來,且質量較好,可以考慮選用。
3. 主觀評價
選取一些圖片,用多種方法進行摳圖,將原圖,Ground Truth和多種方法的matting結果放在一起做比較,觀察其毛髮邊緣,感受matting效果。
Reference:
[1] Christoph Rhemann, Carsten Rother, Jue Wang, Margrit Gelautz, Pushmeet Kohli, and Pamela Rott. 2009. A perceptually motivated online benchmark for image matting. In Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on. IEEE, 1826–1833.
[2] Chen Q, Ge T, Xu Y, et al. Semantic human matting[C]//Proceedings of the 26th ACM international conference on Multimedia. 2018: 618-626.
[3] Liu J, Yao Y, Hou W, et al. Boosting Semantic Human Matting with Coarse Annotations[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020: 8563-8572.
[4] Xu N, Price B, Cohen S, et al. Deep image matting[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017: 2970-2979.
[5] Sengupta S, Jayaram V, Curless B, et al. Background Matting: The World is Your Green Screen[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020: 2291-2300.
[6] Ke Z, Li K, Zhou Y, et al. Is a Green Screen Really Necessary for Real-Time Human Matting?[J]. arXiv preprint arXiv:2011.11961, 2020.
[7] Matting任務裡的Gradient與Connectivity指標
[8] https://blog.csdn.net/On_theway10/article/details/102860040
[9] https://www.cnblogs.com/king-lps/p/6374916.html