コンテンツへスキップ
ブログに戻る
AI Segmentation
QGIS
Tutorial

AI Segmentation for QGIS: 完全ガイド

同じ場所で、変えるのは1語だけです。
住宅地の航空写真と、建物抽出で検出した建物を1棟ずつ別の色で塗り分けた同じ画像。 (after)
住宅地の航空写真と、建物抽出で検出した建物を1棟ずつ別の色で塗り分けた同じ画像。 (before)
BeforeAfter
ドラッグして比較
住宅地の155棟の建物。四角く区切り、オブジェクトごとに1色で表示。
動画チュートリアルを見る

で開いている画像を、AI Segmentationはクリーンなベクターレイヤーに変換します。各レイヤーが1回の実行に対応し、件数はそのレイヤー自身のフィーチャー数です。

使い方は2通りあります。

Automatic

Every object in a zone, at once

What it does
Draw a zone, name an object, get every instance.
Where it runs
In the cloud. Nothing heavy on your machine.
What it costs
Counts the ground it covers, shown before you start.
Use it for
Hundreds or thousands of objects over an area.

Semi-Auto

One object per click

What it does
Click an object. The AI outlines it, you save it.
Where it runs
On your computer after a one-click setup, or on ours. You pick.
What it costs
Free on your computer with no counter, and it works offline.
Use it for
Ten exact objects, or a boundary you control.

このガイドでは、まずAutomaticをQGIS上で実行し、その後、2回目の実行に料金を払わずにレイヤーを調整するレビューを説明します。

インストールとサインイン

QGISでPlugins -> Manage and Install Pluginsを開き、AI Segmentationを検索してインストールします。パネルが右側に開きます。

パネルからサインインすれば準備完了です。どちらのモードも無料で始められます。Automaticでは毎月一定の地表面積を無料で利用でき、Semi-Autoは自分のマシン上でカウンターなしに実行できます。

上部のスイッチでモードを選び、その下でラスターを選択します。

Automatic: 最初の実行

目標は、住宅街からすべての建物フットプリントを1回の実行で抽出することです。空のパネルから地図上の検出結果まで、最初から最後まで説明します。

0:00 / 0:00
1回の実行を最初から最後まで:画像を選び、ゾーンを描き、対象物に名前を付けて検出する。

この動画の背後にある5つのステップを、1つずつ見ていきます。

画像を選んで開始する

ラスターを選び、Start Automatic AI Segmentationをクリックします。実行中はレイヤーがロックされるので、途中で何もずれません。

ゾーンを描く

エリアの周囲をクリックし、最初の点でループを閉じます。好きな形に描けます。無料アカウントでは月に3 km²の地表面積を利用でき、Proでは描くゾーンの大きさに制限なく300 km²まで利用できます。Backspaceで点を1つ取り消せます。

検出対象を説明する

buildingtreecarのように、1語か2語で入力します。最初の実行で失敗しやすいのがこのステップです。ボックスの横にあるLibraryでは、推測する代わりに実際のビフォーアフタープレビューから選べます。

見た目を示す

1語だけでは足りないこともあります。Draw on the mapでは、自分の画像から対象物を1つ輪郭で囲み、AIにその見た目を示せます。類似した対象物をAIが探します。例は最大3つまで追加でき、1つより2つのほうがうまくいきます。

Precisionを設定する

ゾーンはタイルに分割され、各タイルがフル解像度で検出されたあと、シームレスに再結合されます。そのため、継ぎ目をまたぐ対象物も1つの形として得られます。Precisionを上げると、より小さな対象物が見つかり、より広い地表面積がカウントされます。開始前に、パネルで実行範囲を確認できます。

利用枠を消費する前の設定は、1画面に収まります。Libraryのテンプレートの上には、自分の実行履歴があります。Recentには対象物とタイルの件数が表示され、Favoritesにはお気に入りにしたものが並びます。1つを再び開くと、入力した文言も復元されます。

続いてDetect objectsをクリックします。タイルが送信され、戻ってきたポリゴンが地図上に描画されます。この実行では646個の候補が返りました。

レビュー:順番を問わず進められる3つのステップ

検出後に開くのは完成したレイヤーではなく、レビューです。作業の大半はここで行います。緑色のボタンは次のステップを示しますが、順番を強制されることはありません。

1Keep

Which objects survive

  • Confidence
  • Min / max size

2Correct

Fix one polygon at a time

  • Edit by AI or by hand
  • Add, merge, delete

3Shapes

How every outline looks

  • Right angles, fill holes
  • Points, trim, grow

Go back to any step, in any order. Instant, and free.

1 Keep:残す対象物を決める

すべての検出結果にはscoreがあります。Confidenceで最低値を設定し、Sizeで地表面積の範囲外を非表示にします。ヘッダー下の行には、残った件数が表示されます。51 of 646 shown · 595 hidden by the filters。修正したものや手作業で描いたものは、どちらのスライダーを動かしても残ります。

0:00 / 0:00
ConfidenceとSizeをリアルタイムで調整。地図と件数がスライダーに追従する。

2つのスライダーで除外されるもののほとんどは、小さく、scoreが低く、目的の対象物ではありません。

2 Correct:ポリゴンを1つずつ修正する

ポリゴンをクリックすると、そのポリゴンだけが開きます。作業中も画面上のほかのものは動きません。

上部のスイッチで修正方法を選びます。表示はAI | Manualで、ここでのManualは「この1つのポリゴンを手作業で修正する」という意味です。

AI方式では、自分のマシン上のモデルを使います。見逃した場所を左クリックすると輪郭が広がり、誤って含めた部分を右クリックすると輪郭が縮みます。

0:00 / 0:00
AI方式:見逃した部分をクリックし、取り込んだ部分を右クリックして保存する。

手作業方式では、そのポリゴンに対してQGISのデジタイズツールを使えます。Move pointsRedraw edgeSplitが利用できます。

0:00 / 0:00
手作業方式:角がハンドルになり、QGIS本来のツールで編集できる。

このステップでは、足りないものや、あってはいけないものも処理できます。

  • Add a missing polygon. 実行で見逃した対象物を指すと、ローカルモデルが無料で輪郭を描きます。角を自分で描くこともできます。
  • Merge with neighboursでは、モデルが2つに分けた建物を結合します。
  • Delete this polygonでは、不要なポリゴンを削除します。
  • Clean up this outlineでは、その対象物だけの形状コントロールを開きます。手作業ではSimplify this outline firstと表示され、Pointsが開きます。96点の輪郭を簡略化すると、角をドラッグしやすくなるためです。
  • Undo lastClear allでは、修正を元に戻せます。

3 Shapes:すべての輪郭を一度に整える

最後のステップでは、レイヤー全体の形状をリアルタイムで変更します。対象は輪郭だけです。Shapeで輪郭のスタイルを決め、Outlineでエッジを微調整します。

0:00 / 0:00
すべてのコントロールがレイヤー全体の形状を一度に変更し、ドラッグしながら結果を確認できる。

7つのコントロールがありますが、1回の実行で2つ以上触ることはほとんどありません。

ControlWhat it doesReach for it when
Right angles壁を90度と45度にスナップする建物、プール、ソーラーパネル
Round corners輪郭を滑らかにする樹木、低木、成長した自然物
Fill holes設定したサイズまで内部の隙間を閉じる屋根の検出結果がまだらになるとき
Points各輪郭に残す点の数を設定する輪郭がピクセルの階段状に見えるとき
Simplify直線に近いエッジ上の点を削除する以前の距離ベースの簡略化を使いたいとき
Trim spikesエッジから細くギザギザした部分を削る対象物に毛や触手のような突起があるとき
Grow / shrinkすべての境界を外側または内側へ動かすレイヤー全体が一貫して短い、または長いとき

Right anglesとRound cornersは反対の選択肢なので、片方をチェックするともう片方がグレーアウトします。建物ではRight anglesの効果が最も大きく、次にPointsを調整します。ピクセル単位でトレースしたマスクには数センチごとに点が付くため、Pointsを減らすと最初に細かなディテールが落ち、角は維持されます。

最後に、実行結果が土地被覆のように見える場合だけ表示されるコントロールがあります。Shared bordersでは、隣り合う形状に正確に1つの境界を与え、細い隙間をなくします。2つの建物の間の隙間は実際のデータなので、その場合はこのオプションは表示されません。

エクスポートして、もう一度回る

同じレイヤーを4通りで確認できます。 View detections asは、すべてのステップでパネル下部に表示されます。変わるのは見た目だけで、ジオメトリは変わりません。

0:00 / 0:00
同じレイヤーを4通りで確認。レビュー中のどのステップでも切り替えられる。
  • Distinctでは、対象物ごとに1色を使い、隣り合う対象物が融合せず分離されているか確認できます。
  • Outlineでは境界だけを表示し、下の画像と照合できます。
  • Confidenceではscoreに応じて色を付け、Keepスライダーで何を失うことになるか確認できます。
  • Normalでは、完成したレイヤーを1色で表示します。
同じ検出結果を4通りで表示したもの:Distinct、Outline、Confidence、Normal
並べて比較:Distinct、Outline、Confidence、Normal。

行ったり来たりすることに意味があります。 修正したポリゴンはそのポリゴンの新しい基準となり、Shapesのコントロールがほかのポリゴンと同じように再適用されます。好きなだけ繰り返せます。すぐに反映され、料金もかかりません。利用枠を消費するのは、文言そのものが間違っていた場合に使うRe-run the whole zoneだけです。

続いてエクスポートします。 Export polygonsでは、対象物と日付を名前にした、スタイル設定済みのGeoPackageが作成されます。LabelClassConfidenceArea (m²)、**Perimeter (m)**が含まれます。面積と長さは地表面上のメートルで記録されるため、ファイルから読み取った値はQGISの計算結果と一致します。

エクスポートしたAI SegmentationレイヤーのQGIS属性テーブル。すべてのポリゴンを行として表示し、その後1つのポリゴンをフォームで表示している
QGIS属性テーブル内のエクスポート済みレイヤー:すべてのポリゴンを行で表示し、1つのポリゴンを単独で表示。

Semi-Auto:対象物を1つずつ

もう一方のモードでは、クリック1回につき1つの対象物をセグメンテーションします。対象物をクリックすると、1回で輪郭が描かれます。見逃した部分は左クリックで追加し、取り込んだ部分は右クリックで除外してから、輪郭を保存します。

おおまかな対象物を1,000個ではなく、正確な対象物を10個処理したいときや、境界を完全にコントロールしたいときに向いています。

Startボタンの横にある2枚のカードで、クリックに答えるAIを選びます。

  • My computer. モデルは自分のマシン上で動くため、どこにも何も送らず、カウンターもありません。数百MBを一度だけダウンロードすれば、その後はオフラインで動作します。
  • Cloud AI. 代わりに、より大きなモデルが答えます。インストールは不要なので最初のクリックから始められ、精度も高くなります。クリックは無料です。保存すると月間利用枠から対象物1つ分が消費されますが、同じ対象物をもう一度保存しても二重にはカウントされません。

Start時に選択し、次のセッションではもう一方を選べます。

0:00 / 0:00
1回のクリックで1つの対象物。自分のマシン上で実行すれば料金はかからない。

自分の地図で試す

重要なのは、実際に作業するゾーンで試すことです。AI Segmentationをインストールしてそこで実行し、手作業でデジタイズした場合の結果と比較してみてください。何かおかしな動作があれば、?ボタンからContact usReport a problemを利用できます。