4

我知道圖像分類問題中的不平衡性,例如貓和狗的分類,如果貓的圖像太多而狗的圖像太少。但我不知道如何解決分割問題中的不平衡問題。例如,我的任務是掩蓋衛星圖像的雲層覆蓋,所以我將這個問題轉換爲兩類分割,一個是雲,另一個是背景。該數據集有5800個4-band-16bits圖像,大小爲256 * 256。該體系結構是Segnet,損失函數是二元交叉熵。什麼是圖像分割不平衡?

有兩種情況假設:

  1. 所有樣品中有一半是由雲層完全覆蓋,有一半是沒有任何的雲。
  2. 在每個圖像中,一半覆蓋雲,一半不覆蓋。

因此,案例2是平衡我猜,但情況1呢?

在實際和我的任務中,這兩種情況在源衛星圖像中是不可能的,因爲雲層對於背景總是相對較小,但是如果圖像樣本是由於其大尺寸而從源圖像中裁剪的,出現。

所以,樣品總是包含三種類型的圖像:

  1. 通過雲(254 5800個樣本)完全覆蓋。
  2. 沒有任何雲(1240在5800個樣本中)。
  3. 一些地區覆蓋雲,有些地區沒有。 (4305 5800,但我不知道雲計算的百分比,也許在一些樣品中非常高,也許有點其它樣品中)

我的問題:

是樣品不平衡和我應該怎麼辦?

在此先感謝。

回答

3

通常,在分割任務中,如果每幅圖像屬於每個類/分段的像素數量大致相同(您的問題中的情況2),則可以考慮他/她的樣本「平衡」。
在大多數情況下,樣本永遠不會平衡,就像你的例子。

什麼可以出錯?當存在一個支配樣本的片段/類時,該模型可能會發現輸出所有像素屬於主導類/片段更容易。這種不斷的預測雖然沒有提供信息,但仍然可以產生高精度和小損失。

我怎樣才能檢測到這樣的錯誤結果?您可以製作"Accuracy"圖層不僅輸出精確度,還有per-class精度。如果你的模型被「鎖定」在一個類上,所有其他類的每類精度將非常低。

我該怎麼辦?您可以使用"InfogainLoss"圖層更多地重視其他類上的錯誤以對抗佔優勢類的效果。

+1

感謝您的更正和回覆。我會嘗試caffe中的「InfogainLoss」圖層。 – spider

+0

誰知道如何像caffe一樣在keras中輸出每班準確度? – spider