ブログに戻る
AI Segmentation
QGIS
Tutorial

AI Segmentation for QGIS: 完全ガイド

自動建物検出の前後を比較した住宅街 (after)
自動建物検出の前後を比較した住宅街 (before)
画像検出
Drag to compare
住宅街全体を、1回の処理で検出(フランス、Hauts-de-Seine、Google Satellite画像)。ハンドルをドラッグして比較。

AI Segmentationは、あなたが QGISですでに開いている画像を、クリーンなベクターレイヤーに変えてくれる。使い方は2通り。まずAutomaticモードでは、ゾーンを描いて対象物に名前を付けると、そのすべてのインスタンスを一度に取得できる(建物のフットプリント、区画、樹木、道路、ソーラーパネル)。処理はクラウドで実行され、あなたのマシンにGPUは不要だ。次にManualモードは、あなたのコンピューター上でローカルに動作する半自動モデルで、無制限に使える。対象物を1つクリックすると、AIがその輪郭を描く。上の画像は1回のAutomatic実行の結果で、このガイドではそれをQGIS上で設定ごとに実演していく。

インストールと有効化

QGISでプラグイン -> プラグインの管理とインストールを開き、AI Segmentationを検索してインストールする。続いてパネルからサインインすると(ブラウザのタブが開き、約15秒)、両方のモードが使えるようになる。

Manual/Automatic切り替えスイッチが付いた、開始準備が整ったAI Segmentationパネル
画像レイヤーを選んで起動する。

最初の検出

目標:上の住宅街にあるすべての建物フットプリントを抽出する。1回の実行で、最初から最後まで。

ゾーンを描く

Start Automatic AI Segmentationをクリックし、地図上のエリアの周りをクリックしてループを閉じる。くっきりとコントラストの高い画像ほど、最もクリーンなポリゴンが得られる。

ゾーンを1点ずつ描き、閉じたところ。

対象物に名前を付ける

対象物を入力するか(ここではbuilding)、プレビュー付きの既成オブジェクトが並ぶLibraryから選ぶ。

設定ステップ:対象物をbuildingに設定、サンプルカード

サンプルを示す(任意)

一言だけでは足りないこともある。Draw an exampleでは、あなた自身の画像からサンプルをAIに渡せる(同じセンサー、季節、解像度)。対象物を1つ輪郭で囲めば、AIがその類似物を探す。Exclude a look-alikeはその逆で、誤検出を輪郭で囲んでAIに「これは違う」と伝える。いくつかのサンプルに名前を組み合わせるのが通常もっとも強力で、対象物に適切な名前がない場合はサンプルだけでも機能する。

サンプルを1つ描き、続いて類似物を除外する:参照チップがパネル内で更新される。

Detailを設定する

Detailスライダーは、ゾーンを1024pxのタイルのグリッドに分割し、各タイルをフル解像度で検出したうえで1枚のシームレスなレイヤーに再結合するので、境界をまたぐ対象物も統合される。詳細度を上げるとタイルが小さく分割され、より小さな対象物が見つかる。タイル数はリアルタイムで更新される(ここでは9タイル)。ゾーンのサイズに上限はない。

ゾーン上のタイルグリッドのリアルタイムプレビュー

検出する

Detect objectsをクリックする。ゾーンはタイルごとに処理され、結果は地図上にリアルタイムで描画される。この実行では951個の候補オブジェクトが見つかった。

9タイル中1タイル目

実行中にリアルタイムで描画される途中結果

レビューする

検出後に開くのはエクスポートではなくレビューだ。以下の操作はすべて即座に反映され、再実行は不要だ:レイヤーが正しく見えるまで検出結果を絞り込み、形を整えられる。次のセクションで各コントロールを解説する。

レビューパネル:件数、表示色、信頼度ヒストグラム

エクスポートする

Export polygonsをクリックする。GIS向けのスキーマ(classscorearea_m2perimeter_m)を備えた、スタイル設定済みのGeoPackageレイヤーが得られる。ここでは335件の建物フットプリントだ。

335件の建物フットプリントを含むエクスポート済みGeoPackageレイヤー

class、score、area_m2、perimeter_mの各列を持つ属性テーブル

レビューのコントロール解説

Confidence(信頼度)

すべての検出にはscoreが付く。そのポリゴンが本当にあなたの対象物であると、AIがどれだけ確信しているかだ。実行時はもっともらしいものをすべて返し、Confidenceスライダーで残す最小スコアを決める。More objects側にドラッグすると弱い検出も表示され、Only confident側にすると最も強いものだけが残る。スライダー上のヒストグラムは各レベルにいくつの対象物があるかを示し、件数はリアルタイムで更新される。同じ実行を、More objectsOnly confidentの間でリアルタイムに動かした様子がこちら:

Confidenceスライダーをドラッグすると、レイヤーと件数が即座に更新される。

これらの屋根のような密集した繰り返しの対象物はスコアが控えめに出やすいので、低い値から始めて上へ絞り込むほうが、逆のやり方より通常はうまくいく。手作業で修正した対象物は、信頼度に関わらず常に保持される。

表示色

同じ検出結果を4通りの見方で確認でき、それぞれ異なる問いに答える。Random(対象物ごとに1色)は隣り合う対象物が分離されているか確認する。Outlineは境界を画像と照合する。ConfidenceはAIが確信している箇所(黄)と迷っている箇所(紫)を示し、信頼度スライダーをどこに合わせるべきか教えてくれる。Normalは単一のクリーンな色だ。いずれも見た目だけで、ジオメトリは一切変わらない。

4つの表示モードを並べたもの:Random、Outline、Confidence、Normal
同じ検出結果を4通りに:隣接を分離するRandom、境界を確認するOutline、迷いを見つけるConfidence、レイヤーを見るNormal。

Refine detections(検出結果の調整)

Refine detectionsセクションは、すべてのポリゴンを一度に、即座に整形する:

形状、サイズ、輪郭のコントロールを備えたRefine detectionsパネル
形状、サイズ、輪郭のコントロールを、レイヤー全体にリアルタイムで適用。
  • Right anglesはエッジを90度にスナップし、建物、プール、ソーラーパネルのような人工物に向く。
  • Round cornersは輪郭を滑らかにし、樹木や低木のような自然物に向く。
  • Fill holesは各ポリゴン内部の隙間を埋める。
  • Min / Max sizeは地表面積の範囲外の検出を隠し、小さなノイズの塊を落とす最速の方法だ。
  • Simplify outlineClean edgesExpand/Contractは輪郭そのものを微調整する。

同じ手法を、あらゆる対象に

Automaticモードは、入力を1つ変えるだけでまったく別の作業になる。言葉を変えれば、別のレイヤーが手に入る。5km²以上の農地区画:

自動検出の前後を比較した農地区画 (after)
自動検出の前後を比較した農地区画 (before)
画像検出
Drag to compare
プロンプト:farm field。5km²以上の約250区画を、1回の実行で。

あるいは、太陽光発電所のパネル群:

自動検出の前後を比較した太陽光発電所のパネル群 (after)
自動検出の前後を比較した太陽光発電所のパネル群 (before)
画像検出
Drag to compare
プロンプト:solar panel。数十のパネル群を、1回の実行で。

樹木、車両、温室、プール、ソーラーパネルもすべて同じ要領で扱える。言葉を推測したくない場合は、パネル内のLibraryにプレビュー付きの既成オブジェクトが並んでいる。

Manualモード

Manualモードは、パネルからワンクリックで一度だけセットアップすれば、あなた自身のマシン上でローカルに動作する半自動モデルとして、無制限かつオフラインで使える。操作は常に同じだ。対象物をクリックするとAIが一発で輪郭を描き、続けて左クリックで領域を追加右クリックで余分な部分を除外できるので、数回のクリックでおおまかな推測がクリーンな境界に変わる。Automaticと同じ形状コントロール(Simplify outline、Round corners、Right angles、Expand/Contract、Fill holes)が、この選択範囲にもリアルタイムで適用できる。Save polygonで確定すると(緑色になる)次の対象物へ進み、作業が終わったらExport polygons to a layerでまとめて書き出す。

Manualパネル:追加する左クリック用の緑の点、除外する右クリック用の赤い十字、Refine selectionのコントロール、ハイライトされたSave polygonボタン
1つのパネルに操作のすべてが揃う:左クリックで追加、右クリックで除外、形状を調整し、Save polygon(ハイライト表示)で確定。

Manualモードには2つの活躍の場があり、まず出会うことになるのはAutomatic実行結果の修理ツールとしての使い方だろう。

Automaticの結果を手作業で修正する

Automaticの一回のパスでほとんどの作業は片付くが、密集したシーンには必ずいくつか粗さが残る。隣の対象物にはみ出した輪郭、モデルが2つに割ってしまった中庭、見逃した数棟の建物といった具合だ。レビュー画面の中からRefine in Manual modeを使えば、まさにそれらの検出結果がManualで開き、何も再実行せず、新たなクレジットも使わずに、一点ずつ修正できる。

Automaticのレビューパネル内にあるRefine in Manual modeボタン
レビューからのRefine in Manual mode:再実行する代わりに、自動の結果を手作業で修正する。

すべての検出結果は編集可能なオブジェクトとして引き継がれる。内部を右クリックして再度開き、過剰にセグメント化された部分を削り取ったり、内部を左クリックして再び大きくしたりできる。何もない地面をクリックすればパスが見逃した建物を追加でき、Deleteで不要なものを削除、Sで気に入ったものを確定する(緑色になる)。レイヤーが整ったらBack to reviewで戻り、自動と手作業のポリゴンをまとめてエクスポートする。

Refine in Manual mode は Automatic の検出結果を編集可能なオブジェクトとして再度開きます:左クリックで拡大、右クリックでトリム、S で確定。修正が終わったら Back to review でまとめてエクスポート。

ゼロからオブジェクトごとにセグメント化する

Automaticを一切使わず、要素を1つずつ、それぞれにクリーンな輪郭を付けてセグメント化することもできる。モデルはあなたのマシン上で動作するため無制限でクレジットも消費せず、1,000個ではなく10個の精密な対象物が必要なときや、すべての境界を完全にコントロールしたいときに最適なツールになる。画像に関するルールはAutomaticと同じで、GeoTIFFからドローンのオルソ画像、XYZ/WMSのベースマップまで、表示できるラスターであれば何でも使える。

Manualを選んで開始する

パネルでManualタブを選択したまま、画像のレイヤーを選び、Start Manual AI Segmentationをクリックする。モデルの読み込みは一度だけで、以降のクリックは即座に反映される。

対象物をクリックする

対象物のどこかをクリックすると、ローカルモデルが一発で輪郭を描く。ここでは、孤立した建物への1回のクリック。

左クリック1回で、AIが建物全体の輪郭を描く

1、2回のクリックで修正する

左クリックでモデルが見逃した領域を追加し、右クリックで誤って含まれた部分を除外する。輪郭はクリックのたびに更新される。緑の点がポジティブポイント、赤い十字がネガティブポイントだ。

ポジティブポイントが建物を保持し、ネガティブポイントがはみ出した広場を除外する

保存して次へ進む

Save polygon(またはSキー)で選択範囲を確定する。緑色になってレイヤーに加わり、パネルは次の対象物の準備が整う。モデルは一度に1つの要素を扱うのが最も得意だ。

保存されたポリゴン。緑色になりレイヤーの一部となった

レイヤーにエクスポートする

すべての対象物がそろったら、Export polygons to a layerで、labelarea_m2によるクリーンなスキーマを持つスタイル付きのGeoPackageを書き出す。GISですぐに使える。

手作業で描いた4棟の建物が、クリーンなGeoPackageレイヤーとしてエクスポートされた状態

自分の地図で試す

最良のテストは、あなたが実際に扱っているゾーンだ。AI Segmentationをインストールし、そこで実行して、手作業でデジタイズしていたであろう結果とレイヤーを比較してみてほしい。もし何かおかしな動作があれば、パネル内の**? Help**ボタンから直接私たちに届く。

Written byLilien Auger
·1 min read
Contact