A survey of loss functions for semantic segmentation
Introduction
- セグメンテーションタスクで使用される損失関数についての survey 論文(A survey of loss functions for semantic segmentation)をかるくまとめてみた
セグメンテーションについて
- semantic segmentation
- クラス内の個体識別は行わない
- 通常画像内のすべての物体に対してピクセルレベルで分類を実施する
- instance segmentation
- クラス内の個体識別を行う
- 画像内の特定のクラスのみを分類する
- papnoptic segmentation
- semantic + instance segmentation で、画像内すべての物体を個体識別してセグメンテーションする
Binary Cross Entropy
通常二値分類のクラス分類タスクで幅広く使用されているが、セグメンテーションにおいてもピクセル単位で pos/neg を判定する用途で使用することができる。
と表される。
Weighted Binary Cross-Entropy
BCE では pos/neg の正誤判定を平等に扱うため、クラス内の偏り(基本的には negative が多くて、画像内の一部分だけをセグメンテーションするようなタスク)に弱いという側面がある。そこで positive sample に重み付けしたものがこの損失関数。
Balanced Cross-Entropy
Weghted Binary Cross-Entropy に加えて negative 側も重み付けしたもの。
Focal Loss
Binary Cross Entropy の亜種であ
Binary Cross Entropy では [0, 1] を予測するタスクであるということを思い出して、
と簡略化することができる。Focal Loss はこれに対して重み付けを行ったものであり、次のような式である
Dice Loss
2つの画像の類似度を図る指標として Dice coefficient が広く用いられており、それを損失関数に取り入れたもの。Dice coeff. は以下の式で定義される:
Dice coeff. は [0, 1] の範囲に分布する係数で、この係数が大きいほど2つの画像(=ピクセル集合)の類似度は高いと考えることができる。ただし片方がもう片方に内包されているときには Dice coeff. は1にはならないため、タスクによっては他の metrics の使用も検討する必要がある。
Dice Loss は以下の式で定義される:
分母分子の「1」は
Tversky Loss
Dice coeff. を一般化したものとして Tversky index というものがあり、以下で定義されている:
で定義される。
Sensitivity Specificity Loss
Dice coeff. と同様に幅広くセグメンテーションタスクで使用されるメトリクスに sensiticity (=recall) と specificity がある。メトリクスを直接損失関数と使用しているもので
と定義されている。
結論
- セグメンテーションタスクはなかなかに複雑なタスクなので損失関数の設計も一筋縄ではいかない
- highly-imbalanced data であれば Focal 系、balanced data であれば Binary Cross Entropy、middly skewed data であれば dice coeff 系が初手でよさそう
Discussion