Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
雲コンペ振り返り
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Dice
November 30, 2019
Research
840
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
雲コンペ振り返り
Dice
November 30, 2019
Other Decks in Research
See All in Research
議論 学術ムーブメントを成功させるために何が必要なのだろうか
rmaruy
0
110
MIRU2026 チュートリアル講演2:三次元データ処理の動向
nnchiba
5
3.6k
SOTAのさらに先へ:厳しい推論制約下での高性能モデルのPost-Training
analokmaus
0
1.4k
Research Engineerという仕事 / Research Engineering: Bridging Research and Business
chck
1
250
PGDM: Physically Guided Diffusion Model for L Downscaling
satai
3
390
Claude Code × autoresearch 実践
mathbullet
0
230
論文紹介 "ReSim: Reliable World Simulation for Autonomous Driving"
kogo
0
720
RS-Agent: Automating Remote Sensing Tasks through Intelligent Agent
satai
3
440
[CV勉強会@関東 CVPR2026] PSDesigner: Automated Graphic Design with a Human-Like Creative Workflow / kantocv 67th CVPR 2026
shunk031
0
230
Language and AI
ayaniwa
0
200
(SIGQS17) Frasco-VS:フラグメントに基づく薬剤候補化合物選抜の量子アニーリングによる実現
keisukeyanagisawa
PRO
0
190
敵対生成プロンプト同時探索による内省型プロンプト最適化
kinoue_smarthr
0
350
Featured
See All Featured
Fireside Chat
paigeccino
42
4k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
680
Raft: Consensus for Rubyists
vanstee
141
7.6k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
270
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
Balancing Empowerment & Direction
lara
6
1.2k
Test your architecture with Archunit
thirion
1
2.3k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
630
We Are The Robots
honzajavorek
0
290
The Pragmatic Product Professional
lauravandoore
37
7.4k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Transcript
Understanding Clouds from Satellite 雲コンペ振り返り Dice(d46kobayashi)
⾃⼰紹介 とあるJTCのR&Dに所属(4年⽬) ⼤学では機械系(B1)→制御系(B2~B3)→材料系(B4)→情報系(M1~M2)を学ぶ Kaggle歴約6か⽉(Expert) 実績 網膜コンペ銀メダル(26位/2943チーム) 雲コンペ銀メダル(42位/1538チーム) (ProbSpaceくずし字コンペ 1位/137チーム)
コンペティション概要 太陽の放射熱を宇宙に反射する薄い雲は地球温暖化を防ぐ役割があるが、これら の薄い雲のモデリングをより適切に⾏うためのプロジェクト 衛星写真を⽤いて薄い雲を観察した結果、4つの主要なパターンを発⾒ 砂糖型︓⾮常に薄く、低い⾼度に形成される⼩さな積雲 砂利型︓砂糖型よりも荒く、⾵の影響により、線や円弧に沿った⼩規模な雲 花型︓周りに雲の無い領域のある、それぞれが分離された斑点のような形 ⿂型︓最も⼤きな(数百kmに及ぶ)パターンで、⿂の⾻格のような形 このコンペでは、衛星写真に写っている雲の形を領域ごとに4クラスに分類する 評価指標はDice係数
2
画像例 3
データ特徴 1400×2100という⼤きなサイズ(予測時は350×525サイズ) 衛星写真の境界領域は⿊のマスク状態になっており、該当ラベルも無し 各画像に必ず1つ以上のマスクがある クラス間でオーバーラップあり 4
チャレンジ 複数(各画像約3⼈)のアノテーターによってラベル付けされた共通領域をGTとして いるが、分類基準が曖昧なため、アノテーションノイズが多い 矩形を⽤いてアノテーションしているため、ラベルの境界が雲に沿っていない 5
前処理 学習のノイズとなりそうな画像を除外 6
学習(Segmentation) U-Net(5 fold) Encoder: EfficientNet-B4 AttentionModule: scSE Batch Size: 6
U-Net++(5 fold) Encoder: EfficientNet-B3 AttentionModule: scSE Batch Size: 4 7
学習(Segmentation) 共通 Input Size: 416 × 640 Loss Function: BCE(0.5)
+ DiceLoss(0.5) Optimizer: RAdam(WeightDecay: 1e-4) 1段階⽬ Epoch: 20 Learning Rate: 1e-3 → 1e-4 (CosineAnnealing) Hard Augmentation(VH-Flip, ShiftScaleRotate, RandomBrightnessContrast) 2段階⽬ Epoch: 7 Learning Rate: 1e-4 → 1e-5 (CosineAnnealing) Soft Augmentation(VH-Flip) 8
学習(Classification) EfficientNet-B4(5 fold) Batch Size: 16 EfficientNet-B3(5 fold) Batch Size:
24 ※Segmentationの1段階⽬学習済みモデルからFine Tuning 9
学習(Classification) Input Size: 416 × 640 Loss Function: BCE Optimizer:
RAdam(WeightDecay: 1e-4) Epoch: 10 Learning Rate: 1e-4 → 1e-5 (CosineAnnealing) Hard Augmentation(VH-Flip, ShiftScaleRotate, RandomBrightnessContrast) 10
後処理 4 fold TTA(Soft Augmentation) + Mean Average Ensemble(Segmentation) 10
fold TTA(Hard Augmentation) + Mean Average Ensemble(Classification) 閾値以上の領域を暫定のマスクとする マスク領域の補間(詳細は次ページ) ⿊領域のマスクを削除 領域内の平均予測値が閾値以下かつ⾯積が閾値以下のマスクを削除 Classificationの予測値が閾値以下の画像のマスクを削除(LB: 0.006 ↑) 予測マスク数が0の画像について、Classificationの予測値が閾値以上の画像のみ、 予測値が⾼い1クラスのマスクを追加(LB: 0.003 ↑) 11
後処理(マスク領域の補間) approxとrectangleの差分について、領域ごとに⾯積を計算し、閾値以下であれば rectangle、閾値以上であればapproxを選択する → 学習データに⾒られるマスクに近い形のマスクが増え、approxのみ、rectangle のみよりも精度向上 12
その他 Soft Pseudo Labeling → 僅かな精度向上 Loss変更(BCEのみ, Diceのみ, BCE +
Lovasz, bi-tempered loss)→ 向上せず Optimizer変更(AdamW, DEMONAdam)→ 向上せず Decoder変更(DeepLabV3+, HRNet, FPN)→ U-Netを超える精度が出ず断念 Encoder変更(ResNet, ResNeXt-WSL, SE-ResNeXt, DenseNet)→ SE-ResNeXt101が Efficient-B3と同程度の精度、検証速度を優先して2モデルに絞った AttentionModule変更(CBAM, ECA)→ SCSEと⽐較して学習の安定度低下 解像度変更 → 取り掛かりが遅く、検証しきれず 13
結果・反省 Public: 5位 → Private 42位 ⼤幅にShake down(最⾼subでも19位) PrivateのスコアはPublicよりもLocalCV(0.663~0.665)に近かった Late
Submissionで遊んでみたが、後処理前のCNN部分の精度が⾜りていない もう少しモデルに多様性を持たせてアンサンブルすることが必要だった 14
感想 途中帰省していた3連休を除いて⾦圏キープできたのは良かった Shake downは悔しいが実⼒不⾜ Pseudo Labelingの⽅法をもう少し⾊々検証したかった テンプレートコードを作成しながら進めていたが、中途半端な状態になっている ので、次のコンペまでに完成させたい 15
おまけ 計算機環境(⾃宅PC) CPU: Core i5(2cores) GPU: GTX1080Ti(1枚) RAM: 48GB 使⽤ライブラリ
PyTorch pytorch-lightning albumentations segmentation-models-pytorch 16