[論文筆記] Universal Adversarial Perturbations Against Semantic Image Segmentation(ICCV 2017)

Universal Adversarial Perturbations Against Semantic Image Segmentation(ICCV 2017)

  • 文章簡介:
    • DataSet: Cityscapes
    • 區別: 與普通的單目標圖片分類相比,多目標的語義分割任務會存在一個問題,就是某些target像素點的梯度方向可能正好與另外target像素點的梯度方向相反。而一般的交叉熵損失函數會鼓勵已經正確預測的目標結果朝着更高的置信度發展,從而減少損失。面對不同目標之間的競爭,這未必是可取的。因此,爲了解決這個問題,作者設置了一個置信度閾值τ=0.75\tau=0.75, 即超過這個閾值就認爲是目標像素點,置信度即使繼續提高也不會減少損失(文中沒有明說,但我覺得是這個意思)
    • 特點: 生成universal擾動時不需要用到ground-truth標籤

本文主要研究的是semantic image segmentation方面的universal攻擊.

下圖是static target segmentations: 即輸出的語義分割結果與輸入無關。

下圖是dynamic target segmentation: 只移除某些object的分割結果,而保持其他不變

  • Contribution:

    • 證明了targeted universal擾動可以存在於semantic image segmentaion任務中
    • 提出了2種生成擾動的高效方法
      • 目標是讓網絡產生一個固定的target segmentaion結果
      • 目標是讓segmentaion結果只刪除部分target class而其他保持不變
    • 發現產生的universal擾動與預測結果的結構很相似
  • Segmentation:

    • Static target segmentation:

      在這種場景下,攻擊者的目標是固定分割結果,如將t0t_0時刻分割結果固定住,後面時刻tt要滿足下式
      yttarget=yt0pred              t>t0 y_t^{target}=y_{t_0}^{pred} \,\,\,\,\,\,\,\,\,\,\,\,\,\, \forall t > t_0
        他的攻擊對象是static camera(不太懂攝影,可能指那種每隔一段時間就拍一下照類似於紅綠燈拍照吧?),希望能夠隱藏一段時間內的活動變化。
    • Dynamic target segmentation:

      這個場景考慮ego-motion(幀間運動),因爲static target segmentation不適用於考慮場景的變化造成的移動相機。他的目標是:移除某些類別的分割結果,而其他保持不變。其中想要去隱藏的目標類爲oo, 並令
      Io={(i,j)fθ(xij)=o} \mathcal{I}_o = \{(i,j)|f_{\theta}(x_{ij}) = o\}
        因此背景就爲
      Ibg=I\Io \mathcal{I}_{bg} = \mathcal{I} \backslash \mathcal{I}_o
        然後採用一個啓發式的最近鄰思想,將想要隱藏的目標預測結果置爲附近最近的背景的預測結果,即
      yijtarget=yijpred              (i,j)Io y_{ij}^{target}=y_{i'j'}^{pred} \,\,\,\,\,\,\,\,\,\,\,\,\,\, \forall (i,j) \in \mathcal{I}_o
        其中ii'jj'的選擇爲
      i,j=argmini,jIbg(ii)2+(jj)2 i',j'= \underset{i',j' \in \mathcal{I}_{bg}}{\arg\min}(i'-i)^2 + (j'-j)^2
  • ytargety^{target}的選擇

    作者並沒有直接基於ground-truth ytruey^{true}來選擇ytargety^{target},因爲對於對抗樣本而言,並不知道ground-truth。所以作者最終是基於ypredy^{pred}來生成的(即使是黑盒攻擊,也能獲取到預測值)

  • Image-Dependent Perturbations(注意不同於universal擾動,他只有一個tile)

    對語義分割任務,它的損失函數通常爲:

  因此,在攻擊時,目標就是去尋找對抗樣本xadvx^{adv},從而
argminJss(fθ(xadv,ytarget)) \arg\min J_{ss}(f_\theta(x^{adv}, y^{target}))
  不過文章中採用另一種方案:
Jssω(fθ(x),ytarget)=1I{ω(i,j)IoJcls(fθ(x)i,j,yijtarget)+(1ω)(i,j)IbgJcls(fθ(x)i,j,yi,jtarget)} J_{ss}^{\omega}(f_{\theta}(x), y^{target}) = \frac{1}{|\mathcal{I}|}\{\omega \sum_{(i,j) \in \mathcal{I}_o} J_{cls}(f_{\theta}(x)_{i,j}, y_{ij}^{target}) + (1-\omega)\sum_{(i,j) \in \mathcal{I}_{bg}} J_{cls}(f_{\theta}(x)_{i,j}, y_{i,j}^{target}) \}
  當ω=1\omega=1該函數值關注於將目標類移除,當ω=0\omega=0時,該函數只保持背景不變,所以在這個函數中ytargety^{target}應該是指背景。

  • Universal Perturbations(用相同的tile鋪滿):

    作者在這邊設計universal擾動時時基於上面的Image-Dependent Perturbations:
  然後迭代過程爲:

  不過這樣處理的潛在問題在於可能會導致擾動過擬合,事實上,這是很容易存在的問題,因爲擾動的維度與輸入圖像一致,非常高。於是作者換了一種方式:

  於是對於所有的i,jIi,j \in \mathcal{I},增加一個限制
Ξi,j=Ξi+h,j    Ξi,j=Ξi,j+w \mathcal{\Xi}_{i,j}=\Xi_{i+h, j} \,\,\,\,\Xi_{i,j}=\Xi_{i, j + w}
  這樣一來,只要優化一個大小爲[h,w]的tile擾動,然後將它鋪滿整個Ξ\Xi就行了

  下式中的RRSS表示tiles在height和width維度上的個數, 且
[r,s]={i,j[rhi<(r+1)h][swj<(s+1)w} [r,s]=\{i,j|[rh\leq i < (r+1)h]\bigwedge [sw \leq j < (s+1)w\}

  • Result:

    對於不同ϵ\epsilon,可以發現static target segmentation在訓練集和驗證集上的結果十分接近,同時也證明了在高維空間中,過擬合也不是一個無法處理的問題。不過這可能也歸功於:大量的訓練集和一致的target

  不同tile size的比較:

  1. 黑色的曲線(No periodicity)值得是universal但是隻有1個tile(即擾動的size正好與原圖相同)的結果

  2. 藍色五角星(image-dependent)是一張圖片一個擾動的結果,並且也是隻有1個tile

  3. 剩下的就是不止一個tile的universal結果,可以發現tile的size增大能提高背景像素點的保留比但是需要犧牲行人隱藏率。


如果覺得我有地方講的不好的或者有錯誤的歡迎給我留言,謝謝大家閱讀(點個贊我可是會很開心的哦)~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章