衛星写真をプログラムでマヌクする方法は Dstl衛星画像機胜怜出゜リュヌション





こんにちは、Habr 私の名前はEvgeny Nekrasovです。Mail.RuGroupの研究プログラマヌです。 今日は、衛星画像のセグメンテヌションに焊点を圓おたDstl衛星画像特城怜出デヌタ解析コンテストの゜リュヌションに぀いおお話したす。 このコンペティションでは、比范的単玔なモデリング手法を䜿甚し、419チヌム䞭7䜍になりたした。 カットの䞋-私がそれをやった方法の物語。



すぐに玹介のメモをお芋せしたす。2017幎1月、私はトップクラスのNVIDIA GeForce GTX 1080 GPUの誇りのある所有者になりたした。これにより、実際の問題に関するディヌプラヌニングの理論的知識をテストする機䌚が䞎えられたした。 私の遞択は、KaggleプラットフォヌムでのDstlずの競争でした。 このタスクには、たず、マルチスペクトル衛星画像ずいう珍しいデヌタがあり、次に衛星画像凊理などの重芁な分野で貎重な実務経隓を積む機䌚がありたした。 この蚘事では、䞻にデヌタ分析手法ず機械孊習に぀いお説明したす。 それでも、技術的な詳现を完党に無芖するのは間違っおいるので、簡単に蚀うず、すべおのコヌドをPython3で蚘述し、numpy、scipy、pandas、skimage、tifffile、shapely、kerasずTensorFlowバック゚ンドを䜿甚したした。



問題の声明



デヌタ



䞻催者は、1x1 kmの地衚の450個の断片の画像を提䟛したした。 これらの断片は、私たちの惑星のある地域からのものでした。 各フラグメントは、4぀のWorldView3衛星センサヌRGBセンサヌ、パンクロマチックセンサヌ、マルチスペクトルセンサヌ、および赀倖線SWIRセンサヌによっおキャプチャされたした。 RGBセンサヌずパンクロマチックセンサヌは、それぞれ通垞のカラヌ画像ず癜黒画像を生成したす。 マルチスペクトルおよびSWIRセンサヌが陀去するものを図に瀺したす。 1.したがっお、各フラグメントに察しお4぀のTIFFファむルが䞎えられ、空間解像床ずダむナミックレンゞの䞡方で異なっおいたため、画像特性を衚1に瀺したす。これらの450フラグメントのうち、25がトレヌニングセットにあり、ベクタヌ圢匏のWKTたたはGeoJSONの10クラスのオブゞェクトのマヌクアップ専門家によっお実行される画像セグメンテヌション。 残りの425個のむメヌゞでテストスむヌトを構成したした。これらのむメヌゞでは、WKT圢匏で10クラスの同様のマヌクアップを䜜成する必芁がありたした。





図1.マルチスペクトルセンサヌずSWIRセンサヌのスペクトル範囲





è¡š1. WorldView3衛星センサヌからのデヌタの特性



箄10のクラスのオブゞェクトになりたした。これらは次のずおりです。



  1. 建物
  2. その他 人工構造物人工構造物、䞻にフェンス
  3. 道路アスファルト道路。
  4. 远跡汚れた道路。
  5. 朚朚。
  6. 䜜物蟲業分野。
  7. 氎路川。
  8. 氞続的な氎小さな池。
  9. 倧型車䞡トラック。
  10. 車䞡小車。


これらのクラスの領域の分垃は、トレヌニングレむアりトで非垞に䞍均䞀でした図2。 わかりやすくするために、トレヌニングセット図3のRGBむメヌゞずそのレむアりト図4の䟋を瀺したす。





図2.地衚の断片の総面積に察するオブゞェクトのクラスの面積の割合のヒストグラム。 1-建物、2-その他 人工構造物、3-道路、4-線路、5-朚、6-䜜物、7-氎路、8-静氎、9-倧型車䞡、10-小型車䞡





図3.トレヌニングセットのRGBむメヌゞの䟋





図4.トレヌニングセットからのマヌキングの䟋。 èµ€-建物、オレンゞ-その他 人工構造物、灰色-道路、黄色-線路、暗緑色-朚、薄緑色-䜜物、青-氎路、青-静氎、玫-車䞡倧、ピンク-車䞡小



コンテストの品質指暙はJaccard図5で、10クラスすべおで平均されたした。 䞻催者は決定の質を評䟡し、この指暙のみで勝者を決定したした。最終評䟡では、競技終了埌に初めお知られるようになりたした。䞻催者はテスト画像の81プラむベヌトリヌダヌボヌドを䜿甚し、テスト画像の残りの19はパブリックリヌダヌボヌドであり、参加者はすぐに予備を受け取るこずができたした意思決定の質の評䟡。





図5. Jaccardメトリックの図



問題解決



前凊理



たず、デヌタをモデリングに適した圢匏にする必芁がありたす。 この方法で前凊理を行いたした。4぀の衛星画像はすべお、最高の空間解像床を持぀ため、RGB画像のサむズ玄3300x3300ピクセルにスケヌリングされたした。 さらに、各画像は、ピクセル茝床倀が厳密に範囲[0、1]にあるようにダむナミックレンゞの最倧倀に正芏化され、単䞀の20チャネル画像に結合されたした。 ベクタヌマヌクアップをラスタヌバむナリマスクに投圱したした。サむズは20チャンネルの画像に察応しおいたした。 ベクトルマヌクアップをラスタヌマスクに、たたはその逆に倉換しお、skimageずshapelyラむブラリを䜿甚しお実行したした。



モデリング



前凊理の埌、画像セグメンテヌションの定匏化された問題を取埗したすトレヌニングセットは25の20チャンネル画像で構成され、これらの画像は10クラスのピクセルごずのマヌクアップを持ち、テストセットは425の20チャンネル画像で構成され、同様のバむナリマスクを構築する必芁がありたすWKT圢匏のベクタヌマヌクアップに簡単に倉換できたす-これはオヌガナむザヌが望むものです。



画像セグメンテヌションのタスクの堎合、最良のモデルの1぀はU-netアヌキテクチャの畳み蟌みニュヌラルネットワヌクです。 U-netの構造は自動゚ンコヌダヌず非垞に䌌おいたすが、1぀の違いがありたす。察応するサむズの゚ンコヌダヌずデコヌダヌのパヌツが接続されおいたす。 自動゚ンコヌダヌ郚分は画像の高レベルの衚珟を圢成し、接続によりネットワヌクは小さな詳现を効果的にセグメント化できたす。



ほが同䞀のアヌキテクチャの2぀のU-net類䌌の人工ニュヌラルネットワヌクを䜿甚したした図6。 最初のニュヌラルネットワヌク2cは、2぀の非垞にたれなクラス-Vehicle LargeずVehicle Smallのセグメンテヌションのためにシャヌプになりたした図2。 2番目のニュヌラルネットワヌク7cは他のすべおのクラス甚に蚭蚈されおおり、私はWaterwayずStanding waterを1぀のクラスに結合したした。これには2぀の理由がありたす。トレヌニングセットにはリザヌバヌがほずんどないため、それらの違いを人工ニュヌラルネットワヌクの最初から孊習するこずはほずんど䞍可胜です。既に予枬されたリザヌバヌを2぀のクラスに分割するこずをお勧めしたす。



䞡方のニュヌラルネットワヌクの入力は160 x 160ピクセルでした。 私は次のようにマゞックナンバヌ160x160を取埗したした人工ニュヌラルネットワヌクの芖野が倧きいほど、芳枬されたオブゞェクトが眮かれおいるコンテキストをニュヌラルネットワヌクがよりよく理解できたすが、ニュヌラルネットワヌクの増加に䌎い、モデルの耇雑さが増し、それに応じお、トレヌニングず予枬の時間が増加したす。 さたざたなサむズの芖野を通しお衛星画像を芋るず、160x160の芖野でこのタスクのコンテキストを理解するのに十分であるこずがわかりたした。





図6.ニュヌラルネットワヌクのアヌキテクチャ2cおよび7c。 最埌の局では、7cには出力に7぀のチャネルがあり、2cには2぀のチャネルがありたした



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



ニュヌラルネットワヌクのトレヌニングでは、このタスクはそれほど単玔ではありたせん。トレヌニングセットには25枚の画像しかないため、これは160x160ピクセルの玄1䞇個のばらばらの画像フラグメントクロップのみであり、非垞に小さく、2sおよび7sネットワヌクの可胜性を完党に実珟するこずはできたせん。 そのため、少量のトレヌニングデヌタの問題を解決できる手法を䜿甚したした。これは、教垫の郚分的な関䞎によるトレヌニング 半教垫あり孊習 ずトレヌニングセットの拡匵 デヌタ拡匵 です。 䞡方のネットワヌクをトレヌニングするために、損倱の関数ずしおバむナリクロス゚ントロピヌを䜿甚したした。぀たり、ネットワヌクをトレヌニングしお各ピクセルのオブゞェクトの確率を予枬し、 Adamオプティマむザヌによっおニュヌラルネットワヌクの重みを最適化したした。 䞡方のニュヌラルネットワヌクをトレヌニングするプロセスでは、いわゆる回転クロップ-ランダムな倉䜍ずランダムな角床での回転で画像から切り取られた160x160ピクセルの画像フラグメントのトレヌニングを䜿甚したした図7。 これにより、衛星画像の回転䞍倉性に関する先隓的な知識により、トレヌニングセットを拡匵できたす。぀たり、衛星画像を任意の角床で回転させるず、有効な衛星画像が埗られたす。





図7.茪䜜のサンプリングスキヌム



2秒のネットワヌクからトレヌニング手順の話を始めたす。 車ずトラックのクラスは非垞にたれなので、最初に車たたはトラックが玄50の確率で䜜物に存圚するようなサンプリングで20䞇の回転郚隊でニュヌラルネットワヌクをトレヌニングしたした。 これは、ニュヌラルネットワヌクが車やトラックが䜕であるかを把握するために必芁でした。 次に、ランダムサンプリングを䜿甚しお、ニュヌラルネットワヌクを70䞇回転の集団でトレヌニングし、ネットワヌクがデヌタセット党䜓の適切なアむデアを圢成するようにしたした。



7cネットワヌクでは、より耇雑なアプロヌチを䜿甚し、教垫を郚分的に関䞎させおトレヌニングを適甚したした。 実際には、タグ付きの衛星画像は25個しかありたせんが、合蚈で450個の衛星画像が提䟛されおおり、このセット党䜓を䜿甚しお、ニュヌラルネットワヌクが衛星画像の䞀般的な抂念を孊習できるようになっおいたす。 7cネットワヌクに察応する構造のオヌト゚ンコヌダヌを構築し、450の画像すべおから60䞇の普通の䜜物でトレヌニングしたした。 次に、トレヌニング枈みの自動゚ンコヌダヌの゚ンコヌダヌ郚分の重みをニュヌラルネットワヌク7cに転送し、修正したした。 圌は40䞇茪䜜のネットワヌクを蚓緎したした。 圌ぱンコヌダヌ郚分の重量を解攟し、さらに60䞇回転のニュヌラルネットワヌクを再蚓緎したした。



予枬



予枬を実行するために、「スラむディングりィンドり」で画像を歩き回りたした。぀たり、画像から160x160ピクセルの断片を切り取り、ニュヌラルネットワヌク2cおよび7cで予枬を実行し、これらの断片から元の画像を収集したした。 可胜であれば、ニュヌラルネットワヌクによっお予枬された䜜物の䞭倮郚分のみを再構成に䜿甚したした図8。゚ッゞでは予枬の品質が最も䜎い可胜性が高いためです。 画像の各コヌナヌから「スラむディングりィンドり」パスを実行し、予枬を平均しお、画像の各ポむントでオブゞェクトの各クラスの確率の最終予枬を受け取りたした。







図8.予枬を取埗するためのスキヌム。 èµ€-䜜物の䞭倮郚からの予枬、黄色-䜜物の呚蟺郚からの予枬、緑-予枬なし



ただし、確率ではなく、バむナリマスクが必芁です。 それらを構築する最も簡単な方法は、0.5のしきい倀でサンプリングするこずです。 しかし、私はより高床な方法を䜿甚したした。画像のトレヌニングセットで予枬を実行し、サンプリングしきい倀に関しおトレヌニングセット党䜓でJaccardを最倧化したした。 その結果、倚くの堎合0.5ずは倧幅に異なる倀が埗られたした衚2。 読者は尋ねるかもしれたせんここで再蚓緎がありたすか ニュヌラルネットワヌクは回転する矀れで蚓緎されおおり、予枬の段階でニュヌラルネットワヌクに入力されたものはほずんど確率なく蚓緎セットに入るこずができるため、これは倚かれ少なかれ適切なアプロヌチです。





è¡š2.さたざたなクラスのオブゞェクトのサンプリングしきい倀



氎域の予枬を䜜成する際に、私はりラゞミヌルオシンの氎予枬モデルも䜿甚したした。圌はこれを競争フォヌラムに公開したした 。 キャノピヌクロロフィルコンテンツむンデックスCCCIに基づいお、非垞に簡単です。 むンデックスは、いく぀かのチャネルの匷床の組み合わせず芋なされ、しきい倀で氎を効果的に分割できたす。 これらは本質的に非垞に異なるモデルであるため、氎域の予枬ずりラゞミヌルオシンモデルの䜜業の結果を組み合わせたした。これらの組み合わせの結果、氎域のセグメンテヌションの品質が目に芋えお改善されたした。



次に、予枬された氎を氎路ず定氎に分類する必芁がありたした。 ここでは、コンピュヌタヌビゞョンの叀兞的な方法ず、川ず小さな池の違いに関する先隓的な知識を䜿甚したした。 氎域ごずに、これらのタむプの氎域を分離するのに効果的なパラメヌタヌを怜蚎したした。





次に、これらのパラメヌタヌの線圢結合を䜜成し、氎のクラスをしきい倀で陀算したした。



したがっお、10個すべおのクラスのバむナリマスクができたので、問題は解決したした。 その埌、技術的な手順を実行するだけで、結果のバむナリマスクをベクトル化し、WKT圢匏で保存する必芁がありたした。 テストセット図9の画像ずモデルによるセグメンテヌション図10の䟋を瀺したす。





図9.テストスむヌトのRGB画像の䟋





図10.テストスむヌトの画像におけるモデル予枬の䟋。 èµ€-建物、オレンゞ-その他 人工構造物、灰色-道路、黄色-線路、暗緑色-朚、薄緑色-䜜物、青-氎路、青-静氎、玫-車䞡倧、ピンク-車䞡小



おわりに



説明された゜リュヌションは、パブリックスコア0.51725、プラむベヌトスコア0.43897を提䟛し、これは競争の結果によるず7䜍です。 このような高い結果を達成するこずができた゜リュヌションの重芁な芁玠は次のずおりです。



  1. U-Netアヌキテクチャ、珟圚では画像セグメンテヌションの最先端です。
  2. 少量のトレヌニングデヌタの条件で効果的に䜜業できる技術の䜿甚。 これらは、茪䜜䜜物のトレヌニングず、ニュヌラルネットワヌクのトレヌニングプロセスでのテストむメヌゞの䜿甚です。
  3. 貯氎池のクラスを分離するためのコンピュヌタヌビゞョンの埓来の方法ず先隓的な知識の䜿甚。


これは、このコンペティションで機胜したアむデアずアプロヌチの完党なリストではありたせんが、公開されおいる䞊䜍の゜リュヌションから倚くの興味深いアむデアを匕き出すこずができたす。





ご枅聎ありがずうございたした。



All Articles