インスタンス・セグメンテーションを用いた、建物形状抽出及びポリゴン化

インスタンス・セグメンテーションを用いた地物形状トレースでご紹介したインスタンス・セグメンテーションの応用例として、航空写真から建物形状を抽出・ポリゴン化してGISに取り込んでみます。

インスタンス・セグメンテーションの実装は、Mask-RCNN(https://github.com/matterport/Mask_RCNN)を使用しています。
リアルタイム物体検出と同様に独自の学習用データセットを作成しますが、対象の地物を形状に沿ってポリゴン化しなければならないところが物体検出(短径)と異なります。アノテーション作業にかなりの工数が掛かることから、少しでも負担を減らすため弊社ではアノテーション・ツールを自作しています。

Mask-RCNNは、抽出したオブジェクトの形状に着色して元の画像にオーバーレイ出力しますが、本件ではこの工程で形状の座標を地理座標に変換してGeoJSONで出力しています。地理情報の取得はGeotiffまたはワールドファイルから取得します。

以下は、出力したGeoJSONをQGISに取り込み表示したものです。

抽出精度、形状取得精度には難ありですが、1/10,000スケールであれば、なんとか使えそうな感じです。 以下は、地理院タイル(淡色地図)にオーバーレイしたものです。

OpenStreetMapに強引に重ねるとこんな感じになります。今は手仕事でこの地域の建物形状を入力していますがこの量を入力するまでに半年以はかかりそうです。ディープラーニングのスピードには圧倒されます。