Slide 1

Slide 1 text

Carvana 3rd Place Solution @lyakaap

Slide 2

Slide 2 text

ΞδΣϯμ š ⾃⼰紹介 š コンペ概要 š ⾃分の⼿法の紹介 š 他の上位者の解法 š 振り返って 1

Slide 3

Slide 3 text

ࣗݾ঺հ š ⻑野⾼専 → 筑波⼤に編⼊(現在B4) š コンピュータービジョン系の研究室所属 š like : 寿司、ラーメン、⿇雀 2

Slide 4

Slide 4 text

Carvanaίϯϖͷ֓ཁ š 正式名称:Carvana Image Masking Challenge š ⾞画像の背景切り抜きの精度を競う 3

Slide 5

Slide 5 text

Carvanaίϯϖͷ֓ཁ š ⾊々な⾞の16視点画像 š 背景はほぼ均⼀ š 評価指標はDice係数 : !|#∩%| # &|%| š train: 約5000枚, test: 約100000枚 4 16 view 教師データ

Slide 6

Slide 6 text

Ϟσϧͷબ୒ɾߏங š セグメンテーション系のコンペではとりあえず U-Net1 š Dilated Convolutionも結構いい感じ š そこでU-NetとDilated Convolutionを組み合わせた 5 1U-Net: Convolutional Networks for Biomedical Image Segmentation [Olaf Ronneberger, et al. 2015]

Slide 7

Slide 7 text

U-Net š U字型で左右対称 š 全結合層を持たない š スキップ結合を持つ 6

Slide 8

Slide 8 text

Dilated Convolutionͱ͸ š 間隔を空けて畳み込むConvolution š Dilation rate(膨張率)に応じてスキップする幅が変わる (膨張率=1で通常のConvolution) š パラメーター数を増やさずに受容野を広げることが出来る 7

Slide 9

Slide 9 text

Dilated Convolutionͷੵ૚ š Multi-Scale Context Aggregation by Dilated Convolutions [Fisher Yu, et al. 2015] š 様々な膨張率のDilated Convolutionを積層させることを提案 8 Conv

Slide 10

Slide 10 text

U-NetͷͲͷҐஔʹ഑ஔ͢Δ͔ š “Bottleneck” (図中⾚枠)の部分を置き換える 9

Slide 11

Slide 11 text

10 U-Net + Dilated Convolution

Slide 12

Slide 12 text

ਫ਼౓ݕূ(U-Net + DC) š Bottle Neckの部分を変えたものを3パターン実験(層数は全て同⼀) š 全て通常のConvolutionを使ったバージョン š Dilated Convolutionを積層させたバージョン š Dilated Convolutionを並列に適⽤させたバージョン 11 ௨ৗόʔδϣϯ ੵ૚όʔδϣϯ ฒྻόʔδϣϯ 0.9905 0.9918 0.9916 input: 256x256px

Slide 13

Slide 13 text

Pseudo Labeling š 半教師付き学習の⼀種 š テストデータを疑似の訓練データとして使う⽅法 š 正則化の効果 12

Slide 14

Slide 14 text

Pseudo Labeling ͷղઆਤ 13 訓練済み モデル Test Data ༧ଌ Pseudo Labeled Data Train Data モデル ܇࿅ 1 2

Slide 15

Slide 15 text

Pseudo LabelingͷޮՌ š スコア及び汎化性能の向上に⼤きく貢献 (Private LB:34 → 6位) š Pseudo Labelの正確さはスコアに影響 š Pseudo Labelをどんどん良いものにチェンジ š ここまで精度に効いた理由 š テストデータの量が多い š 精度が出やすいタスクだった 14 Public LB Private LB Pseudo Label ͳ͠ 0.99703 0.99687 Pseudo Label ͋Γ 0.99717 0.99719

Slide 16

Slide 16 text

Ξϯαϯϒϧ š 5fold @1536 x 1024px + 6fold @1920 x 1280px š fold間で変えたもの: š 各種seed(initializer, データの更新の順番) š Pseudo Labelのサンプリングレート š TTA(Test Time Augmentation) š 訓練時に使⽤した⽔平⽅向の反転のみ 15

Slide 17

Slide 17 text

ςετը૾ʹର͢Δ༧ଌͷධՁ š 予測の精度が低いテスト画像を特定 š 正解が分からないのにどうやって精度が低いか判断する? š 異なるモデル間での予測結果のばらつきを⾒る 16

Slide 18

Slide 18 text

ςετը૾ʹର͢Δ༧ଌͷධՁ 17 ⼀番安定してる ⼀番ばらついてる

Slide 19

Slide 19 text

ޙॲཧ š CRF(条件付き確率場)でマスクの後処理 š 予測が難しいデータ※にのみ適⽤ 18 ※ばらつきが⼤きかったテスト画像上位100枚を「難しいデータ」とした 後処理後 未処理の予測結果 είΞ͸ѱԽɾɾɾ

Slide 20

Slide 20 text

ͳ্ͥख͘ߦ͔ͳ͔͔ͬͨ 19 š CRFがアグレッシブすぎる š そもそも予測マスクが酷いことに なっているケースはごく少数 後処理の前後で変わらなかった部分 後処理により背景とみなされた部分 後処理により⾞とみなされた部分

Slide 21

Slide 21 text

݁ہɾɾɾ š コンペ終了までに適切な後処理の⽅法が浮かばず š ⽴ちはだかる0.9973の壁 20

Slide 22

Slide 22 text

࠷ऴείΞ 21 ※ 0.000001の差:画像⼀枚あたり2.5ピクセル (画像⼀枚で全3682560ピクセル)

Slide 23

Slide 23 text

ଞͷ্Ґऀͷղ๏ʢ5th place, @Kyleʣ š ⾊々な解像度で学習させたモデルでのアンサンブル š 1280x1280, 1600x1280, 1918x1280, and 2010x1340 22 š 後処理:予測マスクの⾞領域を検出→⾞領域内を修正 š 「修正するorしない」を⾞領域の境界からの距離で判断

Slide 24

Slide 24 text

ଞͷ্Ґऀͷղ๏ʢ11th place, @JandJʣ 23 š 3ステップで学習 š Stage 1:層数の浅いシンプルなU-Netで雑に予測 š Stage 2: Stage 1の予測結果を使って境界付近を 256x256のパッチに切り抜く š Stage 3: より深いU-NetでパッチごとにRefine

Slide 25

Slide 25 text

൓ল఺ š 予測精度の低いPseudo labelデータを学習に含めてしまった š CVで別視点・同⼀⾞種の画像を別foldに分割してしまった š 締め切り20分前に予測結果を提出しようとしたら間に合わなかった 24

Slide 26

Slide 26 text

·ͱΊ š Carvanaコンペは⼆値分類のセグメンテーションのコンペ š U-NetとDilated Convolutionを組み合わせた š 後処理が上⼿く⾏かず š Pseudo Labeling・アンサンブルでスコア向上 25 Ϟσϧͷίʔυஔ͖৔ : https://github.com/lyakaap/Kaggle-Carvana-3rd-Place-Solution

Slide 27

Slide 27 text

26 おまけ

Slide 28

Slide 28 text

ઃఆ͍Ζ͍Ζ š Optimizer: RMSprop (learning rate=0.0002) š Batchsize: 1 (物理的に1が限界だった) š Data Augmentation: ⽔平⽅向の反転のみ š Loss Function: dice loss1 + binary cross entropy 27 1 dice loss = 1.0 – ダイス係数

Slide 29

Slide 29 text

ଞʹࢼͨ͜͠ͱ š Model: Tiramisu (U-Net + Dense Net), Normal U-Net š Upsampling: Pixel Shuffler, Transposed Convolution š Regularization: Batch Normalization/Renormalization, Dropout, Weight Decay š Activation: ELU, LeakyReLU, PReLU, RReLU š Optimizer: momentumSGD, Adadelta, Adam š Data Augmentation: Rotate, Shift, HSV Shift 28