QGISで画像に深層学習を実行する方法: Deepnessの代替5選

Deepnessは< Qgis />内でrasterに深層学習モデルを実行し、自分のマシン上でタイルごとに処理します。無料でApache 2.0ライセンスが適用され、読み込んだデータがコンピューターの外に出ることはありません。ただし、モデル選択機能もありません。ONNXファイルは自分で用意します。ドキュメントページを開き、リンクをクリックし、大学のNextcloudフォルダから手動でファイルをダウンロードして、plugin内でそのファイルを指定します。そのようなファイルがない場合や、ノートPCで依存関係のインストールに失敗した場合、人は別のものを探し始めます。
以下の5つのツールは、同じ目的を別の角度から実現します。それぞれにリンクを付け、同じ質問を確認します。何がインストールされるのか、どのようなハードウェアが必要か、画像がマシンの外に出るのか、何を入力し、何が出力され、どこで失敗するのかです。
ここで紹介する6つのpluginのうち、私たちはAI Segmentationを開発しています。AI Segmentationも、どこで失敗するのかを含め、他と同じ質問に答えます。

Deepnessの実態
DeepnessはONNXニューラルネットワークを読み込み、重なり合うタイルに分けてraster上をスライドさせ、結果をlayerとしてプロジェクトに書き戻します。セグメンテーション、物体検出、回帰、超解像に対応し、タイルサイズ、オーバーラップ、後処理を自分で設定できます。
モデルパネルはテキストボックスとBrowseボタンだけです。QGIS内にリストもダウンロードボタンもギャラリーもありません。空間解像度は自分で入力します。単位はピクセルあたりのセンチメートルです。出力されるのはメモリlayerなので、気に入ったら自分でディスクに保存します。
QGISで描画できるものなら何でも指定できます。ディスク上のオルソフォトでも、Google Satelliteなどオンラインプロバイダーのlayerでも構いません。rasterとマスクを小さなタイルに分割するトレーニングデータのエクスポートツールもあります。これは、搭載されていることを忘れられがちな機能です。
データがマシンの外に出ることはありません。 アカウントもAPIキーもなく、モデル実行中のネットワーク通信もありません。2026年8月23日に誰かがpluginのソースを確認したところ、コード内にあるすべてのURLはコメントの中に置かれていました。Deepnessが行う唯一の外向き通信は、初回起動時のpip installです。クライアントの画像、防衛関連の画像、または調達担当者の承認が必要なデータを扱うなら、これで判断はつきます。この点では、私たちのものを含め、以下のホスト型ツールよりDeepnessが優れています。

Deepness自体に検出機能はありません。Deepnessは実行ツールであり、モデルは自分で持ち込む必要があります。ライセンスはApache 2.0で、開発チームはSoftwareXにDOI 10.1016/j.softx.2023.101495でpluginを公開しています。
つまずきやすいところ
モデルzooはリンク集です。 2026年8月23日時点で24モデルが掲載されていました。セグメンテーションが9、物体検出が6、超解像が8、認識が1、回帰は0です。そのうち15個はポズナン大学のNextcloudフォルダ、1個はFraunhofer、8個はGitHubのリリースに置かれており、すべて手動ダウンロードです。学習時の解像度は、ピクセルあたり0.5cmから1000cmまであります。20cmで飛行するなら、16個のタスクモデルのうち自分に合うのはおよそ2つです。世界全体に使える建物モデルも植生モデルもありません。建物向けの2つの選択肢は、ピクセルあたり40cmで学習したRampDatasetモデルと、「データセットはポーランドの地域だけを対象としているため、世界の他の地域では性能が低下する可能性がある」とモデル自身のページに書かれている土地被覆モデルです。

解像度を入力しますが、何もチェックされません。 ボックスはピクセルあたりのセンチメートルを受け取り、pluginはその数値を信頼し、layerとの比較を行いません。間違った値を入れると、Exception: Unsupported layer unitsまたはValueError: cannot convert float NaN to integerが表示されます。トレースバックは、ほとんどのQGISユーザーが開かないPythonコンソールに出ます。#183では、メンテナーが「意味のあるエラーメッセージを作るため、コードにsanity checkを追加する価値がある」と書いています。2026年8月23日に確認した時点でも、このチェックはコードにありません。静かな失敗はクラッシュよりも大きなコストになります。discussion #176では、あるユーザーが何も検出されなかった後、本人の言葉では「pluginに嘘をついて、ピクセルは10cmだと言った」ことで動作しました。
あるユーザーが速度を測定しました。 2024年11月15日から開いているissue #192で、あるユーザーがzooのモデルを、20cmの5000 x 5000ピクセルのオルソフォトタイルに実行しました。ハードウェアはRyzen 7 5800XとGTX 1660 Tiです。CPUでは80分、グラフィックカードでは61秒かかりました。1台のマシン、1つのモデル、1つのタイルによる測定なので、ベンチマークではなく、そのユーザーの測定結果として読んでください。それでも、「オフィスのノートPCでこれができるか」という質問に対して公開されている最も近い回答です。
CPUは動作しますが、CUDAはLinux向けの話です。 グラフィックカードのないマシンでもDeepnessは動作します。ONNX Runtimeが自動的にCPUへフォールバックするためです。インストーラーがGPU版を取得するのはLinuxだけです。WindowsとmacOSでは通常のonnxruntimeをインストールします。メンテナーも同じissue #192で、「WindowsではGPUで動作させることができず、より複雑なので、Deepnessはonnxruntime-gpuではなくonnxruntimeだけをインストールする」と書いています。
依存関係のインストールは、いつもの壁です。 Deepnessは初回起動時にOpenCVとONNX Runtimeをpipでインストールします。macOSでは2022年10月20日の#54以降失敗が続いており、#209もSequoiaでまだオープンです。メンテナーは「残念ながら、テストに使えるmacOS環境がありません」と回答しています。QGIS 3.44では、#235がA module that was compiled using NumPy 1.x cannot be run in NumPy 2.4.3を報告しています。pluginは今もnumpy<2.0.0を固定している一方、QGISはNumPy 2.4.3を同梱しているためです。企業プロキシ経由では、#197がcertificate verify failed: self-signed certificate in certificate chainで止まり、その後ERROR: No matching distribution found for opencv-pythonになります。私の環境で動作したときは約20分かかりました。MacとWindowsの両方で、初回は失敗しました。
キャンセルボタンがありません。 2026年1月14日に開かれ、現在もオープンなissue #230です。実行が始まったら、待つしかありません。
ドキュメントとpluginは別物です。 ドキュメントサイトは、リリースされたことのないブランチからビルドされています。QGISマーケットプレイスからインストールできるpluginは0.6.5で、2024年12月10日にアップロードされたものです。

これらはDeepnessが悪いツールだという意味ではありません。すでに学習済みモデルを持ち、問題なく動作するPython環境を用意できる人向けのツールだということです。
代替ツール
1. Deepness、基準となる選択肢
- インストール。 Plugin managerを使用し、初回起動時にOpenCVとONNX Runtimeをインストールします。動作すれば約20分ですが、macOSでは2022年10月から失敗しています。
- 動作環境。 自分のマシン上で、CPUまたはCUDAを使用します。GPU版がインストールされるのは実質的にLinuxだけです。アカウントもAPIキーもなく、動作開始後のネットワーク通信もありません。
- 入力と出力。 XYZまたはWMSのベースマップを含む任意のraster layerと、手動でダウンロードしたONNXファイルを入力します。出力は、自分で保存するメモリlayerです。
- 費用。 無料、Apache 2.0。SoftwareXにDOI 10.1016/j.softx.2023.101495で公開されています。
- 失敗する場所。 読み込んだモデルの学習データの範囲外です。ピクセルあたり40cmで学習した建物モデルは、5cmのドローン画像を正しく処理できず、pluginも警告できません。解像度を間違えるとクラッシュするか、何も検出しません。
2. Geo SAM
- インストール。 Plugin managerを使用します。依存関係は自動で管理され、モデルのチェックポイントもQGIS内からダウンロードされるため、入力するpipコマンドはありません。
- 動作環境。 GPUアクセラレーションがデフォルトで有効な自分のマシン上で動作し、CPUの動作経路もあります。アカウントは不要です。
- 入力と出力。 rasterファイル、またはXYZ、WMS、WMTSのlayerを入力します。クリックまたはボックスで指定したpromptごとに、1つのポリゴンを出力します。
- 費用。 無料、MIT。
- 失敗する場所。 新しい画像で最初のpromptを実行すると、クリック操作が速くなる前に画像をエンコードする必要があるため遅くなります。FAQによると、画像サイズ、モデル、ハードウェアに応じて「数秒から数分」かかることがあります。エンコードページには、out-of-memoryエラーが発生した場合のLow Memory戦略も用意されています。また、一度に1つのオブジェクトしか返さないため、地域全体を処理する用途には向きません。

3. GeoAI
- インストール。 Plugin managerを使用し、内部にPyTorch環境も必要です。プロジェクト自身のページには、複雑なpytorch/cuda依存関係のため、インストールは「難しい場合がある」と書かれています。MacとWindowsの両方で初回は失敗したため、夜の時間を確保してください。
- 動作環境。 自分のマシン上で動作します。速度のためのCUDA、Apple Silicon向けのApple MPS、フォールバックとしてのCPUに対応します。アカウントは不要ですが、SAM 3の重みを使うには、事前にHugging Faceへのアクセス申請が必要です。
- 入力と出力。 raster layerを入力します。タスクごとにdock可能なパネルがあり、樹木セグメンテーション、水域セグメンテーション、Segment Anything、セマンティックセグメンテーション、インスタンスセグメンテーションのポリゴンとマスクを出力します。
- 費用。 無料、MIT。
- 失敗する場所。 SAM 3にはNVIDIA GPUが必要です。CPUのみのマシンではpluginが
Failed to load model: Torch not compiled with CUDA enabledを返します。試す前から、plugin自身のページにもそのことが書かれています。他のモデルは引き続き動作します。

4. GeoalertのMapflow
- インストール。 Plugin managerを使用し、その後サインインします。それ以外は不要で、グラフィックカードも必要ありません。
- 動作環境。 Geoalertのサーバー上で動作します。アカウントが必要で、pluginに推論ライブラリが含まれていないため、実行するたびに画像がマシンの外へ送信されます。
- 入力と出力。 Geoalertの画像ソース上で描画したエリアを入力します。建物、高さ付きの建物、道路、農地、森林、建設現場のベクターlayerを出力します。
- 費用。 建物は1平方キロメートルあたり10クレジットで、1クレジットは$0.10です。平方キロメートル単位で切り上げられるため、10 km²の町なら約$10かかります。無料プランでは最大25 km²まで250クレジット使えますが、エクスポートがブロックされるため、確認はできてもlayerを持ち帰ることはできません。
- 失敗する場所。 テラスハウスです。隣接する住宅が1つのポリゴンに結合されます。Geoalert自身のスクリーンショットでも確認でき、後から分割するコストが実行で節約できた分を上回ります。
5. Bunting Labs AI Vectorizer
- インストール。 Plugin managerを使用し、その後アカウントを作成します。グラフィックカードは必要ありません。
- 動作環境。 Bunting Labsのサーバー上で動作します。描画中、カーソル周辺の画像が送信されます。
- 入力と出力。 トレース対象のrasterを入力します。カーソルの前方にあるジオメトリを、編集中のlayerへ頂点ごとに出力します。
- 費用。 1シートあたり月額$29で、1日120回の完了までです。それを超える場合は、上限なしでデータ保持のない1シートあたり$99のプランになります。無料プランはありません。
- 失敗する場所。 カーソル周辺の画像しか見ないため、エリア全体にある一致結果をすべて返すことはありません。50棟の建物なら、50回クリックする必要があります。ただし、クリック自体は毎回速くなります。

6. AI Segmentation、私たちのplugin
- インストール。 Plugin managerを使用し、その後アカウントを作成します。重みのダウンロードもPython環境もグラフィックカードも不要です。QGIS 3.22以降に対応します。
- 動作環境。 2つのクラウドモードではヨーロッパの私たちのサーバー上で動作するため、その際に画像がマシンの外へ出ます。Semi-Autoは小さなモデルをローカルで実行し、画像をマシン内に保持します。
- 入力と出力。 任意のrasterまたはベースマップ上に描画したゾーンと、
buildingやsolar panelなどの単語を入力します。ラベル、クラス、信頼度スコア、面積を持つ、オブジェクトごとに1つのポリゴンを含む、スタイル付きGeoPackageを出力します。 - 費用。 自動検出は月3 km²まで無料で、カードも不要です。10 km²の町にはProが必要で、月額€39で300 km²まで利用できます。自分のマシン上で動作するSemi-Autoにはカウンターがありません。
- 失敗する場所。 依頼した以上のものを返します。換気口、天窓、中庭の物置、影が、建物ではないにもかかわらず、実在する正しく輪郭化されたポリゴンとして返されます。信頼度と面積のスライダーを動かして調整します。パリでのある実行では、635ポリゴンを82まで減らし、その82個でも建物面積の84%を保持していました。低木地に溶け込む畑の境界では、あなた自身が迷うのと同じ場所でpluginも判断に迷います。

比較表
| ツール | インストールするもの | GPU | アカウント | 画像はローカルに保持されるか | 入力するもの | 出力されるもの | 作業にかかる費用 | ライセンス |
|---|---|---|---|---|---|---|---|---|
| Deepness | Plugin、その後OpenCVとONNX Runtime | 実質的にはLinuxのみで任意 | なし | はい | 任意のraster layerと、手動でダウンロードしたONNXファイル | 自分で保存するメモリlayer | 無料 | Apache 2.0 |
| Geo SAM | Plugin、依存関係は自動処理 | 任意 | なし | はい | rasterファイル、またはXYZ、WMS、WMTS layer | クリックまたはボックスごとに1つのポリゴン | 無料 | MIT |
| GeoAI | PluginとPyTorch環境 | SAM 3ではNVIDIAを推奨 | なし | はい | raster layer | タスクパネルごとのポリゴンとマスク | 無料 | MIT |
| Mapflow | Pluginのみ | なし | あり | いいえ | Mapflowの画像上に描画したエリア | クラスごとのベクターlayer | 建物10 km²で約$10 | GPL v3 |
| Bunting Labs | Pluginのみ | なし | あり | いいえ | カーソル周辺の画像 | 編集中のlayerに入るジオメトリ | 1シートあたり月額$29、1日120回を超えると$99 | GPL 2.0 |
| AI Segmentation(私たちのplugin) | Pluginのみ | なし | あり | Semi-Autoの場合のみ | 描画したゾーンと単語 | オブジェクトごとに1つのポリゴンを含むスタイル付きGeoPackage | 月3 km²まで無料、300 km²で€39 | GPL v2 |
選び方
- ONNXファイルがある、またはzooの24モデルのうち1つがセンサーと解像度に合っている。Deepnessを使い続け、バグを報告する前にNumPyのバージョンを確認してください。
- SAMをローカルで使いたいが、これまで何も学習したことがない。設定なしで一度に1オブジェクトを処理するならGeo SAM、NVIDIAカードと夜の時間があり、最も幅広いタスクに対応したいならGeoAIです。
- オフィスのノートPCを使っていて、インストールに時間をかけたくない。どちらもサーバー上でモデルを実行し、必要なのはpluginだけであるMapflowまたは私たちのAI Segmentationです。
- エリア全体でオブジェクトを検出するのではなく、線データを手作業でトレースしている。Bunting Labsです。
他の質問を考える前に、まず1つ答えてください。画像がマシンの外へ出てもよいですか。いいえなら、Mapflow、Bunting Labs、私たちのクラウドモード2つは候補から外れ、Deepness、Geo SAM、GeoAIが残ります。
比較した8つのAI pluginでは、より広い選択肢を扱っています。SAMガイドでは、どのpluginがSegment Anythingのどのバージョンを実行するのかを詳しく説明しています。


