4

私は、猫対犬の分類、猫の画像があまりに多く、犬の画像が少なすぎる場合のような画像分類問題の不均衡を知っています。しかし、セグメンテーションの問題で不均衡を解決する方法がわかりません。イメージセグメンテーションの不均衡とは何ですか?

たとえば、私の仕事は衛星画像から雲の覆いを隠すことです。そのため、問題を2つのクラス分けに変換します.1つはクラウド、もう1つは背景です。このデータセットには、256×256のサイズの5800 4バンド16ビット画像があります。アーキテクチャはSegnetであり、損失関数はバイナリクロスエントロピーである。

仮定2例があります:すべてのサンプルの

  1. 半分は雲によって完全に覆われているが、半分は任意の雲なしです。
  2. すべての画像で、半分は雲で覆われ、半分は雲で覆われていません。

ケース2はバランスが取れていますが、ケース1はどうですか?

現実と私の仕事では、雲のカバーは常にバックグラウンドに対して相対的に小さいので、ソースの衛星画像では2つのケースは不可能ですが、大きなサイズのために画像サンプルがソース画像から切り取られると、出現する。

ので、サンプルは常に画像の3種類含まれています

  1. 完全に雲(5800個のサンプルでは254)でカバーを。
  2. 雲なし(5800サンプル中1241)。
  3. 一部の地域は雲で覆われていますが、一部の地域ではありません。 (他のサンプルでは多分少し5800で4305が、私はいくつかのサンプルでは非常に高いかもしれない、雲の割合を知らない、)

は私の質問:

が不均衡のサンプルであり、私が何をすべき?

ありがとうございます。

答えて

3

通常、セグメンテーションタスクでは、各画像について、各クラス/セグメントに属するピクセル数がおおよそ同じである場合(自分の質問ではケース2)、サンプルは「バランス」とみなされます。
ほとんどの場合、サンプルはあなたの例のようにバランスがとれません。

何が問題になりますか?標本を支配する1つのセグメント/クラスがある場合、モデルは支配的なクラス/セグメントに属するものとしてすべてのピクセルを出力する方が簡単かもしれません。この一定の予測は有益ではないが、依然として高い精度と小さな損失をもたらすことができる。

このような誤った結果はどのように検出できますか?"Accuracy"のレイヤー出力は全体の精度だけでなく、per-classの精度にすることもできます。あなたのモデルが単一のクラスで「ロック」されている場合、他のすべてのクラスのクラスごとの精度は非常に低くなります。

どうすればよいですか?"InfogainLoss"レイヤーを使用すると、他のクラスのエラーに大きな重みを付けて、優勢クラスの効果に対抗できます。

+1

あなたの修正と対応に感謝します。私はcaffeの "InfogainLoss"レイヤーを試してみます。 – spider

+0

kerasのようなcaffeのようなクラス単位の精度を出力する方法を知っている人はいますか? – spider

関連する問題