Matting Loss 总结
一些定义
损失函数用来评价模型的预测值和真实值不一样的程度,一般来说,损失函数越小,通常模型的性能越好。下面对抠图(matting)任务中常用的损失函数进行总结。
Matting 任务的本质是计算图像中每个像素的不透明度(opacity),即alpha matte. 以数学形式概括为 I = α F + ( 1 − α ) B \mathrm{I}=\alpha \mathrm{F}+(1-\alpha) \mathrm{B} I=αF+(1−α)B 其中 I I I 是输入图像, F F F 表示图像 I I I 的前景 , B B B表示图像 I I I 的背景, α \alpha α 表示该像素为前景的概率,Matting通常是指由图像内容和用户提供的先验信息来推测 α \alpha α, F F F 以及 B B B 。
matting基础损失函数
(1)alpha预测损失(alpha prediction loss)[1]
损失含义:表示每个像素的真实alpha值和预测alpha值之间的绝对差异。然而,由于绝对值的不可微性,作者使用下面的损失函数来近似它。
L α i = ( α p i − α g i ) 2 + ϵ 2 , α p i , α g i ∈ [ 0 , 1 ] . \mathcal{L}_{\alpha}^{i}=\sqrt{\left(\alpha_{p}^{i}-\alpha_{g}^{i}\right)^{2}+\epsilon^{2}}, \quad \alpha_{p}^{i}, \alpha_{g}^{i} \in[0,1] . Lαi=(αpi−αgi)2+ϵ2,αpi,αgi∈[0,1]. 其中, α p i \alpha_{p}^{i} αpi 表示在像素 i i i上的预测值, α g i \alpha_{g}^{i} αgi 表示在像素 i i i上的真实值(gt alpha), ϵ \epsilon ϵ 的设置主要为了在两值近似甚至相等时也可以反向传播(backward),通常设置为 1 0 − 6 10^{-6} 10−6。
当然,这里也可以设置为 L 2 L_2 L2格式 ( α g i − α g i + ϵ ) 2 \left(\alpha_{g}^{i}- \alpha_{g}^{i} + \epsilon\right)^{2} (αgi−αgi+ϵ)2(2)合成损失(composition loss)[1]
损失含义:是标签RGB颜色和由标签真实前景、标签真实背景和预测alpha mattes合成的预测RGB颜色之间的绝对差异。同样,作者用下面的损失函数来近似它。
L c i = ( c p i − c g i ) 2 + ϵ 2 \mathcal{L}_{c}^{i}=\sqrt{\left(c_{p}^{i}-c_{g}^{i}\right)^{2}+\epsilon^{2}} Lci=(cpi−cgi)2+ϵ2 其中 c c c 表示RGB通道, p p p 表示由预测 α \alpha α 合成的图像, g g g 表示由标签真实 α \alpha α 合成的图像。
合成损失限制网络遵循合成损失的操作,可以得到更准确的阿尔法预测。(3)拉普拉斯损失( Laplacian Loss)[2]
损失含义:拉普拉斯损失( Laplacian Loss)被用于测量拉普拉斯金字塔之间的差异。这种多尺度损失分离了局部和全局特征,因此潜在地为合成任务提供了更好的损失函数。其数学形式为。
L l a p α = ∑ i = 1 5 2 i − 1 ∥ L i ( α ^ ) − L i ( α ) ∥ 1 \mathcal{L}_{l a p}^{\alpha}=\sum_{i=1}^{5} 2^{i-1}\left\|L^{i}(\hat{\boldsymbol{\alpha}})-L^{i}(\boldsymbol{\alpha})\right\|_{1} Llapα=i=1∑52i−1∥∥Li(α^)−Li(α)∥∥1 其中 L i ( α ) L^{i}(\boldsymbol{\alpha}) Li(α) 表示alpha map的拉普拉斯金字塔(laplacian pyramid)的第 i i i层;这个损失函数采用了两个五层拉普拉斯金字塔表示之间的差异,权重依次上升。(4)结构相似性指标( Structural SIMilarity Loss)[3]
损失含义:SSIM反映了两幅图像之间的相似性,取值为[0,1],SSIM数值越高越相似;结构相似性指标衡量两幅图像的相似度。其数学形式为。
S S I M ( x , y ) = f ( l ( x , y ) , c ( x , y ) , s ( x , y ) ) = [ l ( x , y ) ] α [ c ( x , y ) ] β [ s ( x , y ) ] γ \begin{aligned} {SSIM}(x, y) &=f(l(x, y), c(x, y), s(x, y)) \\ &=[l(x, y)]^{\alpha}[c(x, y)]^{\beta}[s(x, y)]^{\gamma} \end{aligned} SSIM(x,y)=f(l(x,y),c(x,y),s(x,y))=[l(x,y)]α[c(x,y)]β[s(x,y)]γ 其中 α 、 β 、 γ > 0 \alpha 、 \beta 、 \gamma>0 α、β、γ>0 被用来调整这三个模块的重要性;假设 α 、 β 、 γ \alpha 、 \beta 、 \gamma α、β、γ 都为 1 , C 3 = C 2 / 2 1, C_{3}=C_{2} / 2 1,C3=C2/2 ,则
S S I M ( x , y ) = ( 2 μ x μ y + C 1 ) ( 2 σ x y + C 2 ) ( μ x 2 + μ y 2 + C 1 ) ( σ x 2 + σ y 2 + C 2 ) S S I M(x, y)=\frac{\left(2 \mu_{x} \mu_{y}+C_{1}\right)\left(2 \sigma_{x y}+C_{2}\right)}{\left(\mu_{x}^{2}+\mu_{y}^{2}+C_{1}\right)\left(\sigma_{x}^{2}+\sigma_{y}^{2}+C_{2}\right)} SSIM(x,y)=(μx2+μy2+C1)(σx2+σy2+C2)(2μxμy+C1)(2σxy+C2)
其中 l ( x , y ) = 2 μ x μ y + C 1 μ x 2 + μ y 2 + C 1 c ( x , y ) = 2 σ x σ y + C 2 σ x 2 + σ y 2 + C 2 s ( x , y ) = σ x y + C 3 σ x σ y + C 3 l(x, y)=\frac{2 \mu_{x} \mu_{y}+C_{1}}{\mu_{x}^{2}+\mu_{y}^{2}+C_{1}} \quad c(x, y)=\frac{2 \sigma_{x} \sigma_{y}+C_{2}}{\sigma_{x}^{2}+\sigma_{y}^{2}+C_{2}} \quad s(x, y)=\frac{\sigma_{x y}+C_{3}}{\sigma_{x} \sigma_{y}+C_{3}} l(