在本文中,我们提出了一种基于迭代自训练(self-training)过程的新型UDA框架.该问题被形式化为潜在变量损失最小化,并且可以通过生成目标数据的伪标签和通着这些伪标签再训练来解决这些问题。在ST之上,我们还提出了一种新颖的类平衡自训练(CBST)框架,以避免大类在伪标签生成上的逐渐优势,并引入空间先验来细化生成的标签。综合实验表明,所提出的方法在多个主要UDA设置下实现了最先进的语义分割性能。
min w , y ^ L S , P ( w , y ^ ) = − ∑ s = 1 S ∑ n = 1 N y s , n T log ( p n ( w , I s ) ) − ∑ t = 1 T ∑ n = 1 N ∑ c = 1 C [ y ^ t , n ( c ) log ( q n ( c ) p n ( c ∣ w , I t ) ) + k c y ^ t , n ( c ) ] \min_{\mathbf{w},\hat{\mathbf{y}}}\mathcal{L}_{S,P}(\mathbf{w},\hat{\mathbf{y}})=- \sum_{s=1}^S \sum_{n=1}^N \mathbf{y} ^T_{s,n} \log(\mathbf{p}_n(\mathbf{w},\mathbf{I}_s)) -\sum_{t=1}^T\sum_{n=1}^N \sum_{c=1}^C [\hat{y}_{t,n}^{(c)} \log( q_n(c) p_n(c|\mathbf{w},\mathbf{I}_t) )+k_c\hat{y}_{t,n}^{(c)}] w,y^minLS,P(w,y^)=−s=1∑Sn=1∑Nys,nTlog(pn(w,Is))−t=1∑Tn=1∑Nc=1∑C[y^t,n(c)log(qn(c)pn(c∣w,It))+kcy^t,n(c)]
s . t .    y ^ t , n = [ y ^ t , n ( 1 ) , ⋯   , y ^ t , n ( C ) ] ∈ { { e ∣ e ∈ R C } ∪ 0 } ,    ∀ t , n    ; k c > 0 , ∀ c s.t. \; \hat{\mathbf{y}}_{t,n}=[\hat{y}_{t,n}^{(1)},\cdots,\hat{y}_{t,n}^{(C)}] \in \{ \{ \mathbf{e}|\mathbf{e}\in \mathbb{R}^C \} \cup \mathbf{0} \} , \; \forall t,n \; ; k_c>0,\forall c s.t.y^t,n=[y^t,n(1),⋯,y^t,n(C)]∈{{e∣e∈RC}∪0},∀t,n;kc>0,∀c
举个例子,对于图像左下角的像素,观察其热度图,我们知道类别为road的频率最大,sidewalk的频率小。如果给定一张图片左下角是road,但是伪标签 y ^ t , n ( c = r o a d ) \hat{y}_{t,n}^{(c=road)} y^t,n(c=road)的值很小,即不是road类。那么 q n ( c ) p n ( c ∣ w , I t ) q_n(c) p_n(c|\mathbf{w},\mathbf{I}_t) qn(c)pn(c∣w,It)的值接近0,即 − y ^ t , n ( c ) log ( q n ( c ) p n ( c ∣ w , I t ) ) -\hat{y}_{t,n}^{(c)} \log( q_n(c) p_n(c|\mathbf{w},\mathbf{I}_t) ) −y^t,n(c)log(qn(c)pn(c∣w,It))会很大。当我们最小化Loss函数时,就能利用先验信息修正这个错误。