Kaggle - Carvana Image Masking Challenge1の5位解法2の調査記事です.
Title: LB0.9972 - 5th Place Overview
Name: Kyle Y. Lee
Kaggle Discussion: https://www.kaggle.com/c/carvana-image-masking-challenge/discussion/40144
開発環境
- GTX1080Ti: コンペ終了前に購入.1918x1280と2010x1340に利用.
- GTX1080
- GTX1070: 推論とTTAのみ
Model
フォーラム2より引用
- 学習済みResNet 50層でマスクデータを作成(U-Netじゃない)
- Optimzier: Adam
- learning rate: 1e-6
詳細としては,下記の7つのモデルのアンサンブルで予測.
- 1918x1280(HQ, TTA6x) [weight=0.2,public LB=0.9970+, private=0.9969]
- 1918x1280(TTA6x) [weight=0.3,public LB=0.9970+,private=0.9969]
- 1918x1280(HQ, TTA2x), Fold 2 [weight=0.2,public LB=0.9970+,private=0.9969]
- 1600x1280(TTA4x) [weight=0.1,LB=0.9969]
- 2010x1340(TTA2x) [weight=0.1,LB=0.9969]
- 1280x1280(TTA6x) [weight=0.05,LB=0.9968]
- 1280x1280(TTA6x, using only dice loss) [weight=0.05,LB=0.9968]
備考: 1918x1280と2010x1340は8GBより大きいメモリが必要
Augmentation
- 左右反転
- 回転(10度)
- 平行移動(約5%)
- 拡大縮小(10%)
- TTAを左右反転と平行移動で6回実行.
ローカル上でのスコア
- 0.9970: 1918x1280
- 0.9969: 1600x1280 と 2010x130
- 0.9968: 1280x1280
損失関数
- binary cross entropy - log(dice) (diceのみより若干改善)
- Batch Size: 1
後処理
- アンテナ部分の補正
- 主輪郭から一定上離れた箇所にあるアーチファクトの除去
- ホイール部分が閉じたりしないようにした.
テストデータの検証
過学習してないか下記処理で視覚的にテストデータを確認.
- アンサンブルの安定性(各モデルのピクセルの合計値のばらつきなど)
- 輪郭の数(輪郭が多すぎる場合はノイズが入っちゃってる)
- 二番目に大きい輪郭の面積(二番目に大きい場所は車じゃないはずなので,これが大きい場合なんかやらかしてる)
今後の改善
- より多様なネットワークでアンサンブルする.
- ResNet 101層や152層を利用する.(今回はResNet 50層を利用
References
-
Kaggle, Carvana Image Masking Challenge, 2017. ↩
-
Kyle Y. Lee, LB0.9972 - 5th Place Overview, 2017. ↩ ↩2