コンテンツへスキップ
GeoAI
QGIS
Guide

GeoAIとは?定義・事例・QGISでの使い方

公開日 更新日

GeoAIとは、地理データに機械学習を適用することです。衛星画像や航空写真、点群、ベクタレイヤをモデルが読み取り、物体やクラス、変化を編集できるデータとして返します。返ってきたものは、プロジェクトのCRSで、QGISから他のレイヤと同じように開けるレイヤとして届きます。仕事の途中にある時間のかかる作業を引き受けますが、判断までは代わりにしてくれません。

プロジェクトの事情を理解するチャットボットではありません。クライアントの仕様書も、属性ルールも、去年の春に行った現地調査も読まないため、現地の真実の代わりにはなりません。言葉自体も曖昧です。2005年のランダムフォレスト分類器も、去年のセグメンテーションモデルも、同じGeoAIとして売られています。ベンダーがこの言葉を使ったら、どちらを指すのか聞いてください。必要なハードウェアも、失敗の仕方も違うからです。

私たちはこの分野のQGIS用プラグインの1つを作っています。その立場で書いた記事として読んでください。

パリの密集した街区の、建物の自動検出の前と後。 (after)
パリの密集した街区の、建物の自動検出の前と後。 (before)
画像検出結果
ドラッグして比較
Google Satelliteの画像でパリ中心部に自動検出を1回実行した結果です。隣り合う建物を区別できるよう、ポリゴンごとに色を変えています。ハンドルをドラッグしてください。

なぜ重要か

GIS作業の大半で時間がかかるのはトレースです。建物の角を直角にする、屋根マスクの穴を閉じる、300本の樹冠を頂点1つずつなぞる、といった作業です。最初の1時間を過ぎれば職人技の出る余地はなく、モデルはこの作業が得意です。

どの仕事にも向くわけではありません。地物が50件以下なら、手でデジタイズしてください。スナップを有効にすれば、モデルが重みをダウンロードし終える前に作業が終わり、仕様にもぴったり合います。法的な用途、つまり地籍境界、保護区、補償請求にも使わないほうがよいでしょう。モデルが出すのは候補で、候補は測量ではないからです。私の線引きは、GeoAIは最初の工程に置き、最後の工程には置かない、というものです。

仕組み

学習済みモデルに画像を渡すと、モデルが形状を返します。やり方は3系統あり、それぞれ振る舞いが違います。

セグメンテーションモデルはSegment Anything系のように、物の境目を学習します。普通の写真で学習しているため、建物が何のためのものかは知りません。境目がはっきりした画像には、よく適用できます。SAMガイドで、どのQGIS用プラグインがどのバージョンを動かすかをまとめています。

画像から画像への変換モデルは新しいピクセルを作り出します。雲の除去や季節の変換、更地化の見せ方がこれにあたります。出力は同じ範囲の位置情報付きラスタですが、描かれた絵なので、証拠用のレイヤには入れません。

古典的な機械学習は、ランダムフォレストやサポートベクターマシンがバンド値を1ピクセルずつ読む方法です。20年前の手法で安価ですが、自分の学習ポリゴンとマルチスペクトル画像による土地被覆分類では、今も最適です。SCPとdzetsakaがQGIS内で無料で実行できます。

今の使い道5つ

今の使い道は5つあります。信頼できる順に並べました。

作業モデルの系統動作環境
画像からの物体抽出セグメンテーション、Segment Anything系ローカルのグラフィックボード、またはサーバー
土地被覆分類古典的な機械学習どのラップトップでも
2時期の変化検出セグメンテーション、2枚の画像を入力サーバーまたはグラフィックスカード
データの補完と整形モデルなし。単純なジオメトリアルゴリズムどのノートPCでも
言葉での指示セグメンテーション、物体名をプロンプトで指定サーバー、当社のプラグイン内

画像からの物体抽出が頭一つ抜けて強力です。範囲を囲んで欲しいものを指定すると、ポリゴンで返ってきます。建物、樹冠、車、プール、太陽光パネルなどです。輪郭がはっきりしていれば、きれいに抽出できます。茂みに消えていく農地の境界では、人が迷うのと同じようにモデルも迷います。

土地被覆分類は、すべてのピクセルをクラスに分けます。水域、建物、裸地、森林などです。良い学習ポリゴンとマルチスペクトル画像があれば古い手法が今も優位で、どのノートPCでも動きます。

2時期の変化検出は、同じ場所のオルソ画像を2枚モデルに渡し、変化した箇所を検出させる方法です。ベンダーがモデル名を明らかにしている場合、それは1枚ではなく2つの入力を使うセグメンテーションモデルです。PicterraはChangeStar、Esriの変化検出器はSTANetを挙げています。変化検出を販売していても、中身を明らかにしていないベンダーも複数あります。無料の方法ではモデルをまったく使わず、一方の画像からもう一方の画像を差し引きます。新しい建物や更地になった区画など、明らかな変化には有効です。季節による色の変化や太陽の角度の違いで誤検出が生じるため、検出箇所をすべて確認する計画を立ててください。

データの補完と整形には、建物の角を直角に整えること、屋根のマスクの穴を閉じること、ピクセル単位でトレースした外形を単純化することなどが含まれます。これは3つの分類のどれにも当てはまらない唯一の行です。提供されているツールは、深層学習よりも古くからあるジオメトリアルゴリズムです。QGISではSimplify and Orthogonalize、EsriではRegularize Building Footprintを使います。研究分野には学習ベースの手法もありますが、現在QGISに搭載されているものはありません。華やかではありませんが、最も多くの作業時間を節約できる部分です。

言葉での指示は、モデルとバンドの組み合わせを選ぶ代わりにsolar panelsと入力する方法です。探し物には便利ですが、属性テーブルに関する質問への答えは期待しないでください。

動かすコスト

ハードウェア。 ローカルで動かすモデルにはグラフィックボードが必要です。Segment Anything 3にはCPUでの実行経路がまったくなく、Macと内蔵グラフィックのコンピュータはすべて対象外になります。代わりにサーバーで動かせば事務用のノートPCで足ります。私たちはこの引き換えを選びました。

画像。 モデルより効くのは地上解像度です。当社の調整値では、太陽光パネルで約0.05m/画素、車で0.09m/画素、建物で0.18m/画素を目安にしています。それより粗いと対象がにじみ、どのモデルでも元に戻せません。

時間。 検出は数分で終わります。目視での確認のほうが長くかかります。確認を見積もりに入れない人は、納期に間に合いません。

費用。 QGISの無料の手段は、GPUとPythonに費やす半日以外、費用がかかりません。当社のAI Segmentationは、カード不要で月1.5km²の自動検出が使え、お使いのコンピュータでのクリック検出は回数無制限です。Proは月€39(税別)です。Esri側では、既製の画像モデルにArcGIS Pro Professional以上のライセンスが必要で、各ライセンスの価格はQGISとArcGIS Proの比較で整理しています。

QGISで無料で試す(カード不要)

QGISで自分でやる方法

まず無料の手段から始めてください。この仕事の大部分では、それが最善の選択でもあるからです。自分の学習ポリゴンを使ったマルチスペクトル画像の土地被覆分類は、SCPとdzetsakaがQGIS内で無料で、どのノートPCでも処理できます。

お使いのコンピュータでのセグメンテーションが、難しいほうの半分です。無料のプラグインにはグラフィックボードと、Pythonの作業に半日かかることが求められます。どのモデルのバージョンが動くかはSAMガイドに書いてあります。フットプリントのガイドでは、同じ街区で無料の方法と有料の方法を順に試しているので、それぞれに何がかかるか比べられます。

クラウド型

下のプラグインは自社製です。そのため、この節は自社ツールの話になります。

プラグインマネージャを開く

Plugins -> Manage and Install Pluginsを開きます。QGIS 3.22以降が必要です。

AI Segmentationをインストールする

他にダウンロードされるものはなく、Python環境の構築も不要です。

パネルからログインする

メールアドレスとクリックだけで済みます。無料枠は毎月更新され、カードは求められません。

すでに開いている画像の上に範囲を描く

表示中のラスタなら何でも使えます。GeoTIFF、ドローンのオルソ画像、XYZのベースマップなどです。無料アカウントは月1.5km²分の地表面積まで使えます。

対象を入力して、結果を確認する

building、tree、carと入力します。信頼度と面積で絞り込み、誤りを直して、GeoPackageにエクスポートします。

出てきたものを、手でデジタイズした場合と比べてみてください。決着をつけるのは、その比較だけです。

覚えること

GeoAIは地理データに対する機械学習で、返ってくるのはプロジェクトのCRSのレイヤです。プロジェクトそのものへの答えではありません。

地物が50件ほど以下なら、手でデジタイズしてください。モデルが重みをダウンロードし終える前に作業が終わり、仕様にも合います。

モデルが返すのは候補で、候補は測量ではありません。地籍境界も保護区も補償請求も、手で確認したレイヤが必要です。

Segment Anything 3にはCPUでの実行経路がまったくないため、ローカル実行では、Macと内蔵グラフィックのコンピュータはすべて対象外です。

モデルより効くのは地上解像度です。精度は画像と抽出対象によって変わるため、単一の精度の数字はありません。

ウェブの説明が間違っている点

単一の精度の数字。 精度は画像と抽出対象によって変わります。対象を問わず1つの数字を挙げるのは、宣伝用の数字です。

対象地域を見ていない学習データ。 既製の建物レイヤが分かりやすい例です。ルアンダの同じ1km²でも、OpenStreetMapには何もなく、Microsoftには3,140件、Google Open Buildingsには4,468件のフットプリントがあります。

Google Satelliteの画像に写る、ルアンダの同じ密集した地区の3枚のパネル。建物フットプリントを緑で表示。OpenStreetMapには1つもなく、Microsoftはほとんどを、Google Open Buildingsはほぼすべてを網羅している。
ルアンダの同じ1km²。どのデータセットを使うかで、すべてが得られるか、何も得られないかが決まります。

「ローカルで動き、データは外に出ない。」 お使いのコンピュータで小さなモデルを動かす場合は本当です。クラウド型の場合は、画像をどこかに送ります。私たちのものも例外ではありません。どの方式を使っているかを明示するのが、誠実なやり方です。

そのまま納品できる出力。 どの実行も、頼んだ以上のものを返します。通気口、天窓、影、中庭の物置などです。輪郭は正しく本物の物体ですが、欲しかったものではありません。後片付けの時間を見込んでおいてください。

よくある質問

GeoAIはリモートセンシングと同じですか?

違います。リモートセンシングは計測です。GeoAIはその計測の読み取り方の1つで、指標やしきい値、自分の目での判読と並ぶものです。

コードを書く必要はありますか?

古典的な手法では少し必要です。QGISでのセグメンテーションには不要で、プラグインがその部分を担います。同じ処理を数百枚のタイルに回す場合は、今もPythonが有利で、QGISをPythonから動かす方法がPyQGISです。

GPUは必要ですか?

お使いのコンピュータで動かすモデルにだけ必要です。Segment Anything 3にはCPUでの実行経路がまったくないため、Macや内蔵グラフィックのノートPCではローカル実行できません。サーバー側の手段には不要です。

GeoAIの精度はどれくらいですか?

1つの数字では言えません。精度は画像と抽出対象によって変わるためです。どの実行も頼んだ以上のものを返し、建物の中に通気口や天窓、中庭の物置が混じります。後片付けの時間を見込んでください。

最終的に何が出力されますか?

ラベル、クラス、信頼度、面積を持つポリゴンが、プロジェクトのCRSで出力されます。当社のセグメンテーションプラグインは、スタイル付きのGeoPackageに書き出します。確認は引き続き人が行います。

関連する用語として、建物フットプリントとはではGeoAIが最もよく抽出する対象を解説しています。QGIS AIハブでは、この分野の各プラグインが動く前に必要とするものを並べています。

QGISの中でAIにできること、できないことを見る