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
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
第66回コンピュータビジョン勉強会@関東 Epona: Autoregressive Diffusion World Model for Autonomous Driving
kentosasaki
0
640
衛星×エッジAI勉強会 衛星上におけるAI処理制約とそ取組について
satai
4
560
さくらインターネット研究所テックトーク2026春、研究開発Gr.25年度成果26年度方針
kikuzo
0
150
R&Dチームを起ち上げる
shibuiwilliam
1
270
Cross-Media Information Spaces and Architectures
signer
PRO
0
300
データセンター事業者を取り巻く近年の状況とその中での研究開発動向、テストベッドへの貢献の可能性
kikuzo
1
220
2026 東京科学大 情報通信系 研究室紹介 (大岡山)
icttitech
0
3.8k
CyberAgent AI Lab研修 / Social Implementation Anti-Patterns in AI Lab
chck
7
4.7k
(SIGQS17) Frasco-VS:フラグメントに基づく薬剤候補化合物選抜の量子アニーリングによる実現
keisukeyanagisawa
PRO
0
130
【Zozo Research 技術共有会】三次元領域の現在と展望
mickey_0226
3
420
進学校の生徒にはア行の苗字が多いのか
ozekinote
0
460
量子コンピュータの紹介
oqtopus
0
340
Featured
See All Featured
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
230
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
620
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
870
Information Architects: The Missing Link in Design Systems
soysaucechin
0
980
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
170
Speed Design
sergeychernyshev
33
1.9k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
300
A Soul's Torment
seathinner
6
3k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
200
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
850
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
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