見出し画像

Regonn&Curry.fm Episode 114収録後記 The 4th Tellus Satellite Challenge 振り返り

このnoteは、Regonn&Curry.fm というポッドキャストの第114回の収録後記です。

114回では、Colab Pro、Abhishek Thakur さんのデータサイエンス本がgithubで無料公開、宙畑の記事を寄稿、骨伝導ヘッドフォンを購入、今週のKaggleについて話しました。

今回の編集後記では宙畑に寄稿したThe 4th Tellus Satellite Challengeの上位解法記事を読みながら自分のコンペの振り返りをしていこうと思います。

前処理

前処理は最初に苦労した点でした。Tiff画像の読み込みから始まり、実際に画像を表示してみてもほぼ真っ暗という状態で、海岸線のデータも途中で切れている状態だったり衛星データが無い部分をどう扱うかが悩みどころでした。

自分達のチームは単純に、陸、海、無でラベルを付けて分けていましたが、それだけだとデータの偏りが発生しやすいので、上位陣はそこらへんも気をつけられていた気がします。3位のチームも最初から、海岸線付近のみのデータで切り取ってしまうのも有効ですね。実際に自分達のチームでは全体をデータとして使おうとして、オーグメンテーションで切り取りした際に、「陸のみ」「海のみ」などのデータも頻繁に発生していた気がします。

上位2チームの海岸線、その他でのラベル付けは思いつきませんでした。線のデータでも、ヒートマップのように広がりをもたせることで、セグメンテーションタスクに落とし込むことができる手法は目からウロコでした。

あとは、衛星データを扱う際には解像度が揃っているなら、無理矢理スケール処理をしないというのも、気をつけておきたいですね。

学習

オーグメンテーションは自分達のチームでもできていましたが、モデルは U-Net + Resnet で、後処理の部分に時間を取られてResnetの変更まで手が回らない状態でした。ここも以前ポッドキャストで話題にしましたが、軽めのモデルをどのタイミングで重めに変えていって精度を上げていくかを考えておく必要がありそうです。

後処理

TTAもやる部分まで手が回りませんでした、けど精度は確実に上がりそうなので、次回のコンペ等では最初のベースラインモデルの際に実装しておきたいです。海岸線抽出が一番時間を取られたところで、実際に陸と海と無のデータの境界線は得られたけど、そこからどうやって、海岸線のみを抽出していくかの処理が大変でした。1位の手法の海岸線をセグメンテーションで予測していた場合はここのロジックも既存の画像処理等のツールを使うことでよりシンプルにできそうですね。

私はラベルを数値にして、等高線のように扱って、そこの境界を抽出するロジックにしてみましたが、複数箇所境界が現れた場合の処理等に苦労しました。

あと、上位チームでは海岸線のアンサンブル処理もできていますね。自分達のチームでは別々にモデルを作っていましたがアンサンブル処理まではできていなかったので、ここも改善できていけるポイントだったと思います。

最後に

今回の解法の各チーム原文は別々に公開されているので、実際に英語でどう書かれていたのか気になる場合はそちらの記事を読んでみてください。


この記事が気に入ったらサポートをしてみませんか?