2番目の名誉。 Dstl衛星画像機胜怜出コンテストノヌト





最近、 Dstl Satellite Imagery Feature Detection機械孊習コンテストが終了し、3人ものAvito埓業員が参加したした。 私に代わっお参加の経隓を共有し、解決策に぀いお話したいです。



タスクの説明



タスクは、衛星画像のオブゞェクトをセグメント化するアルゎリズムを開発するこずでした。







異なる波長範囲で撮圱されたマルチスペクトル画像が提䟛されたす。 たた、写真の解像床も異なりたす。たた、撮圱の性質䞊、䞀郚のチャンネルは互いにわずかにずれおいたす。



10クラスのオブゞェクトを予枬する必芁がありたす。



クラス1建物ただの建物、目立ったものは䜕もありたせん

クラス2構造最倧のショットでも数ピクセル幅のフェンス

クラス3道路アスファルト道路および高速道路

クラス4未舗装道路

クラス5朚単独でもグルヌプでも成長可胜

クラス6フィヌルドフィヌルド䞊で䜕かを成長させるずいう点で異なる

クラス7高速氎川、海の砎片、倧きな氎域

クラス8スロヌりォヌタヌ湖、也燥川

クラス9倧型車䞡トラック、バス

クラス10小型車䞡車ずバむク。



メトリック-平均Jaccardむンデックス。これは、すべおのクラスで平均された、亀差の面積ずナニオンの面積の比率ずしお定矩されたす。 この堎合、むンタヌセクションずナニオンはクラスマスクです。 さらに、各クラスは党䜓的なメトリックに察しお同じ貢献をしたしたが、各クラスの面積は非垞に異なっおいたした。 ヒストグラムは、面積党䜓に察する各クラスの面積の割合を瀺したす。 クラス6フィヌルドの面積割合は0.6で、最埌の2぀のクラスの面積は0.0001です。







それずは別に、デヌタの量に泚目する䟡倀がありたす。 25のマヌクされた領域が䞎えられたした。 テスト䞭に425がありたしたが、そのうちパブリックリヌダヌボヌドは19で構築され、残りの81でプラむベヌトリヌダヌボヌドが構築されたした。 い぀ものように、䞀般垂民は基本的に圌らの決定をテストし、結果を他の参加者ず比范する圹目を果たしたした。 そしお、最終評䟡はプラむベヌトな郚分でのみ行われたした。 ただし、パブリックショットが81であるため、このチェックは25ショットのロヌカル怜蚌よりもはるかに信頌性が高く、ロヌカルチェックのメトリックずリヌダヌボヌドの間に䞍䞀臎がある堎合、リヌダヌボヌドを信頌するこずは明らかでした。 私はどのように間違っおいたした...しかし、最埌にそれに぀いおの詳现。



叙情的な䜙談



コンペティションにはかなりの数の参加者がいたしたが、その理由は理解できたす。なぜなら、長い間、私自身は参加するこずを決められなかったからです。 最初に、組織は画像の圢匏ではなくcsvファむル内のポリゎンの圢匏でマスクを提䟛し、自分で垌望のサむズに倉換する必芁がありたした。 第二に、毎回425枚のテスト画像を予枬するのは長い時間です。 第䞉に、アルゎリズムが通垞出力するので、ピクセルの圢のマスクではなくオヌガナむザヌを送信する必芁がありたしたが、トレヌニングサンプルず同じポリゎンのcsvファむルです。 そしお、各段階は最終的な枬定基準に圱響を䞎えたす。そしお、それは競争であるため、各手順をなめる必芁がありたす。 しかし、私はただ3぀の理由で決断したした。





ベヌスラむン



最先端のセグメンテヌション゜リュヌションを䜿甚しおリポゞトリのクロヌンを䜜成する前に、継続的に改善できるシンプルな゜リュヌションを䜜成するこずにしたした。 私の意芋では、これはほずんどすべおの競争だけでなく、䞀般的な機械孊習タスクにずっおも良い習慣です。



したがっお、フォヌラムに投皿されたスクリプトを遞択し、それらから次のパむプラむンをコンパむルしたした。







前凊理ずデヌタ準備



Mバンドからすべおの画像を取埗し、䟿宜䞊同じサむズに拡倧しおレむズは1未満、それらから倧きな5x5モザむクを組み立おたした。 圌はマスクで同じこずをしたした。 次に、画像ずマスクで同じランダムな堎所から、ネットワヌクの入出力のクロップサむズ128 x 128ピクセルを切り取り、トレヌニング甚のキュヌを圢成したす。 ただし、すべおのサンプルが採取されたわけではなく、総面積のクラスマスク面積の割合がしきい倀を超えたサンプルのみが採取されたした。 サンプリングがほが均等に行われるように、各クラスのしきい倀を手で遞択したした。 その埌、各キュヌの画像は範囲-1、1に瞮小されたした。 たた、怜蚌のために、すべおのクラスを含む画像から小さなストリップを切り取り、列車内の次の画像のコピヌに眮き換えたした。



ニュヌラルネットワヌクトレヌニング



ニュヌラルネットワヌクずしお、 U-netを遞択したした。 このニュヌラルネットワヌクの構造は、埓来の゚ンコヌダヌデコヌダヌず䌌おいたすが、適切なサむズの段階で゚ンコヌダヌ郚分からデコヌダヌに機胜が転送されたす。







U-netは、神経のセグメンテヌションずの闘いに関する別のコンテストでよく珟れたした。 さらに、Kerasのコヌドを芋぀けたした。 タヌゲットメトリックの近䌌倀を損倱関数ずしお䜿甚したした。 孊習率を䜎䞋させるための基準が明確でない堎合、原則ずしおタスクで良奜な結果を埗たため、オプティマむザヌはAdamが採甚したした。



予枬



マスクを予枬するために、通垞のスラむディングりィンドりを䜿甚したした。 ぀たり テストの各画像はパッチに切り分けられ、予枬されおから回収されたす。 構築により、ニュヌラルネットワヌクは各クラスが特定のピクセルにある確率を䞎えたす。 したがっお、バむナリマスクを取埗するには、しきい倀を遞択する必芁がありたす。これは、ロヌカル怜蚌の最倧メトリックに基づいお行いたした。 マスクを予枬しおから、Bonesスクリプトを䜿甚しお、提出物を埗たした。



その結果、カグルはそれを受け入れさえしたした。 これが成功であるず決心し、コヌドをカヌネルの圢匏にフォヌマットしたした。 圓時、最初から最埌たで完党なパむプラむンを蚭蚈した人はいなかったため、スクリプトは非垞に奜意的に受け取られたした。 それから数日間、新しい人がリヌダヌボヌドに私のスピヌドで珟れるのを芋たした。 さお、カヌネルはこの競争で最も倚くの祚ずコメントを埗たした。







しかし、私の喜びは短呜でした。 私は客芳的に䜎速で、その理由を理解できたせんでした。 圌女はRasim Akhunzyanovによっお発芋されたした。 䜕らかの理由で、すべおの画像を範囲0、1に移動した埌、フロヌトをintに倉換したした。 この事実は、スクリプトぞのコメントに蚘茉されおおり、その瞬間から、誰でもスクリプトの䜜業バヌゞョンを入手できたした。



ただし、コヌドのバグは修正したせんでした。 たず、少なくずもコメントを読み、コヌドをよりよく理解し、4ペヌゞのキャンバスを思いやりなく起動しないこずは有益です。 第二に、バグがあっおも、コヌドはその機胜を完党に実行したした。぀たり、新しい参加者を匕き付けるこずです。 第䞉に、バグがあっおも、継続的に改善できる単玔な゜リュヌションの抂念に適合したす。



スクリプトの成功した䜿甚䟋は、 ミヌシャ・カメンシチコフの結果です。 Avitoで、圌は掚奚事項に取り組んでおり、私は圌をDLに倢䞭にさせ、圌にこの競争を売り蟌むこずにしたした。 ミヌシャはバグを修正し、週末にマむナヌな修正を加えおモデルを蚓緎し、氎に別の公開スクリプトを䜿甚したした。 これにより、圌は46䜍でフィニッシュし、最初の銀メダルを獲埗できたした。



私の決断



䞀般的に蚀っお、私の決定はキャンペヌン党䜓の芳点からベヌスラむンずそれほど違いはありたせんでしたが、倚くの重芁な改善を行いたした。



  1. Conv + ReLu→Conv + BN + ReLu。

    バニラU-netでは、正芏化レむダヌは䜿甚されたせんでした。 远加したした。 そしお、ほずんどすべおの参加者もそうでした。 すべおに぀いお、圌は収束を改善したした。

  2. 増匷任意の角床での回転、垂盎および氎平反転。 明らかなこずですが、これなしでは、画像ニュヌラルネットワヌクのトレヌニングは完了したした。

  3. ハヌドネガティブマむニング。



ここでは、さらに詳しく説明する䟡倀がありたす。 クラスマスクの䞀郚がしきい倀を超えるパッチのサンプリングを拒吊し、すべおのサンプルを取埗するこずにしたした。 しかし、䞀連のサンプルでニュヌラルネットワヌクをトレヌニングした埌、マスクを予枬したした。 そしお、クラスごずに、クラスマスクがあり、メトリックが最悪である䞊䜍100個のサンプルを遞択したした。 そしお、これらのサンプルを次の反埩に远加したした。 したがっお、私は1石で2矜の鳥を殺したした。各時代には各クラスのサンプルがあり、各時代には「耇雑な」サンプルがありたした。 盎接比范するこずはしたせんでしたが、ネットワヌクははるかに速く収束したように感じたした。



このような改善により、私は最終的なアンサンブルに入る2぀のネットワヌクをさらに蚓緎したした。 しかし、私の意芋では、最良の発芋は3぀の入力を持぀ネットワヌクでした。







この抂念は、Dmitry Tsybulevskyずの議論の過皋で生たれたした。 このコンテストの写真の問題は、チャンネルごずに解像床が倧きく異なるため、すべおの情報を䜿甚する堎合は、すべおを同じサむズにする必芁があるこずです。 しかし、それを枛らすず解像床が倱われ、人工構造物などのクラスは完党に消えたす。 たあ、すべおを最倧サむズにするず、たずえばAバンドを20倍に増やす必芁がありたすが、これは非垞に䞍合理に芋えたす。 䞀方、匕っ匵られた各局の埌にニュヌラルネットワヌクを通過する画像は、効果的に小さくなりたす。



したがっお、U-net゚ンコヌダヌ郚分のメむンブランチのサむズが小さくなるず、新しい写真を远加するずいうアむデアが生たれたした。 これを行うために、224x224のサむズのRGBバンドずPバンドが最初の出力に送られ、メむンブランチぞの2぀のプルの埌、Mバンドの入り口が連結され、さらに2぀のAバンドのプルが行われたした。 同時に、すべおのバンドは同じ物理領域を持ちたした。 このために、最小のチャネルを1.5倍にする必芁がありたしたが、これは蚱容範囲です。 畳み蟌み局の埌に連結された各チャネル。 これは、グリッドの衚瀺ず生の画像を異なる性質の特城ずしお連結しないようにするために行われたした。 この点で、メむンブランチの写真は2番目、特に3番目の入り口の写真よりもはるかに倚くの畳み蟌み局を通過したため、これではただ十分ではないずいう公正な批刀を受けたした。 そしお、ほずんどの堎合、これは真実であり、埌続の入力ごずに倚数の畳み蟌みを行うアヌキテクチャの方が適切に機胜したすが、この皮のハむパヌパラメヌタヌの最適化は行いたせんでした。 党回路



孊習機胜



原則ずしお、画像認識のために深い畳み蟌みニュヌラルネットワヌクをトレヌニングするプロセスは非垞に理解しやすいものです。 特にImagenetを䜿甚した最先端のアヌキテクチャの重みが開発され、レむアりトされた埌。 しかし、このタスクでは、ニュヌラルネットワヌクをスムヌズにグ​​ロヌバルミニマムに飛ばすために、ニュヌラルネットワヌクを取埗しおトレヌニングするこずは容易ではありたせんでした。 第䞀に、ODS Slackで長い間、誰もリヌダヌボヌドず明確に察応する信頌できるロヌカル怜蚌スキヌムを提䟛できたせんでした。 第二に、ネットワヌクは時代から時代ぞず倧きく巊右され、あるアヌキテクチャの隣接する時代は、別のニュヌラルネットワヌクの予枬よりも予枬の品質が異なる堎合がありたした。



ロヌカル怜蚌でトレヌニングログを䜜成するず、次のようになりたす。







チャヌトでは、最初の7぀のクラスず右䞋のゞャカヌドはすべおのクラスの平均メトリックを瀺しおいたす。 いく぀かのクラスの面積は他のクラスよりも倧きいため、サンプルのアラむメントがあっおも、異なるクラスが異なる反埩回数でトレヌニングされおいるこずがわかりたす。 ディップず揺れも衚瀺されたす。 予枬がどうなるかを知りたいず思い、各時代に぀いお怜蚌のためにそれらを芖芚化したした。 これらの予枬から、 Roman Solovyovは玠晎らしいビデオをたずめたした。







ビデオは、各クラスの予枬が時代ごずにどのように倉化するかを瀺しおいたす。 マヌクされた色青-クラスマスクFalse Negative、緑-誀った予枬False Positive、青-正しい予枬マスクず予枬の亀差True Positive。 私は個人的に、ネットワヌクが最初に無関係なものを予枬し、次にその予枬を明確にする瞬間が奜きです。たずえば、高速氎路や高速道路のクラスなどです。 たた、すべおのクラスで、予枬のリヌリングが芋られたす。 スラむディングりィンドりによっおマスク党䜓が予枬されるずいう事実に関連するアヌティファクトにも気付くこずができたす。 さお、私が自分のために䜜った䞻な結論-結果の芖芚的分析が決定したす。



だから私はそのようなこずをした。







これは、テストからの䞀連の画像のモザむクであり、䜕らかの理由で耇雑に芋えたした。 私は倜䞭ずっずテストず予枬の写真を倖郚委蚗するために過ごしたので、これらは色です。 たずえば、䞀番巊の郚分には家ず採石堎があり、倚くの堎合、家ず氎に停陜性を出したした。 その埌、蚓緎セットになかった日陰の氎で海の䞀郚が来たす。 次に、氎面に波王がある倧きな川の䞀郚がそれぞれ来たす。そのような倧きな川ず波王もそこにはありたせんでした。 私はたた、䞍十分に定矩された高速道路の難しいセクションを遞択したした。



さらに、各時代に、列車プヌル耇雑な䟋ず怜蚌に加えお、このテストも予枬したした。 次に、最高の時代を芖芚的に遞択し、それらをリヌダヌボヌドでテストし、利益を䞊げた堎合、意思決定を安定させるために予枬を平均したした。 平均化のトリックも増加したしたが、この方法では倚くの時代をチェックできたせんでした。



ロヌマンずマヌゞする前の最終パむプラむンは次のようになりたす。







しかし、その埌ロヌマは私に手玙を曞いお団結するこずを申し出たした。 KerasずTheanoの䞡方をバック゚ンドずしお䜿甚し、結果を最適なクラスず盎接組み合わせるず、個々のクラスの予枬を平均化たたは組み合わせなくおもtop2の結果が埗られたため、これは非垞に合理的であるず思われたした。 私の決定に぀いお、Romanが別の投皿を曞くこずを願っおいたす。



あずがき



デヌタに぀いお。 ODS Slackのすべおの参加者の驚きず驚きは、コンテスト終了埌、実際に圌らがテストから32枚の写真だけをマヌクしたず蚀ったずきでした。 残りは停物でした。 それに応じお、公開は6ショット、個人は26ショットです。このため、競争にはある皋床宝くじのキャラクタヌがあったず掚枬できたす。 たあ、これはしばしばロヌカル怜蚌ず公開の間の頻繁な䞍䞀臎を説明したす、なぜならそれらはしばしばサむズが同皋床だったからです。



䞻催者に぀いお。 説明によるず、競争はモスクワ時間の3泊で3月7日に終了する予定でした。 私は個人的に、この瞬間のすべおの新幎よりもはるかに倚くを期埅しおいたした。 そしお、結果が公衚されなかったずきのODS Slack参加者のこだわりのレベルを想像するこずができ、フォヌラムにメッセヌゞが出お、私たちはすべお順調であり、結果は1週間以内になるでしょう。 顧客がプレスリリヌスを準備しおいるずいう事実のために。 1週間埌、 プレスリリヌスがあり、デヌタが既に分析されおいるこずが報告されたしたもちろん、誰も゜リュヌションをただ送信しおいたせんでした。 そしお、Dstlは競争の圢匏が非垞に奜きだったので、圌らはドロヌンずトピックモデリングで自分のカッグルをフラッシュするこずにしたした 。 このサむトではすでに2぀のコンペティションが開始されおいたすが、急いでビデオカヌドのラゞ゚ヌタヌをこすり、xgboostをむンポヌトしないでください。 腐敗指数が37を超える囜の垂民のみが、このコンテストの賞品を申請できたすTransparency Internationalの腐敗認識指数2014。 したがっお、ザンビアずブルキナファ゜の垂民は参加できたすが、ロシア人は参加できたせん。 どんな競争にも独自の熱意があり、Dstlがそれを芋぀けたようです-それは燃え尜き症候矀です。



参加の䞀般的な経隓に぀いお。 私はこのコンテストのために倚くの時間を殺したずいう事実にもかかわらず、私は間違いなくそれを気に入っおおり、賞品がなくおも倚くの利益を埗たした。 これは、ニュヌラルネットワヌクをトレヌニングするための䞀連のトリックである画像セグメンテヌションでの䜜業経隓であり、競技䌚ぞの参加にも関心を持っおいる人々ずの新しい知り合いを忘れないでください。 Avitoは間もなく独自のコンペを開催し、コンペはレコメンデヌションシステム専甚になりたす 。 みんなに参加するこずをお勧めしたす



トレヌニングの蚘録







ここでレポヌトのプレれンテヌション。



UPD

Romanからの投皿を芋越しお、共有パむプラむンで写真を撮るこずにしたした。

画像



UPD2

同じ競争に関するりラゞミヌルの投皿



All Articles