eCognition Developerとは
Trimble社が提供する、画像分類をするためのGUIソフトウェアであり、高精度の分類ができるソフトウェアです。しかし、数十万円単位のライセンス料が必要なために個人で使うのは厳しく、私も大学院の研究で使っています。優れたソフトウェアですが、高額なライセンス料の問題からこのソフトウェアを使っている人は非常に少なく、日本語どころか英語の情報でさえも少ないのが実情です(2020年時点)。ということで基本的な使い方をマスターするのに難儀したので、いくつかの記事に分けて基本的な使い方を説明していきます。
セグメンテーションとは
オブジェクトベースと呼ばれるタイプの画像分類をする際に使われる手法です。画像を色で分類する場合は色が近くて隣り合っているピクセルを同じグループとみなして画像全体をいくつかのグループに分けます。例えるなら、新学期の学校で席が近くて気が合う人同士でつるむような感じです。画像分類をする際にはそのグループごとに分類し、同じグループに属するピクセルは全て同じ分類にします。これまでの研究ではセグメンテーションをしてから分類することで、ピクセルごとに分類するよりも画像分類の精度が高い傾向にあります。
バージョンと前提
- eCognition Developer 9.5.1, Revision 1.0 (2019年12月版)
- 各章の(p○○)というのは、公式文書のUserGuide.pdfの対応するページ数を指します
- 本記事は公式文書の直訳ではなく、一部意訳や省略、追加等が入っています
- ビューは上のアイコンでの1番(Load and Manage Data)を使用しています。右下などという場所を指している時はこのビュー画面での大まかな位置と考えてください
- 法律の詳しいことは分かりませんが、著作権に抵触する恐れがあるため、スクショは入れません。ご了承ください
セグメンテーションのやり方(p31)
①右上の「Process Tree」ウィンドウで右クリックして「Append New」を選択
→「Edit Process」ダイアログが表示されます
②「Edit Process」ダイアログの「Name」フィールドで好きな名前にして「OK」をクリック
→「Process Tree」ウィンドウに指定した名前が表示されます
③「Process Tree」ウィンドウ内の、②で指定した名前を右クリックして「Insert Child」を選択
→(①の操作時と同様の)「Edit Process」ダイアログが表示されます
④「Edit Process」ダイアログの「Algorithm」で「Multiresolution Segmentation」を選択
⑤ダイアログボックスの右側の「Scale Parameter」(この数字が大きいほどセグメント1個が大きくなる)を変更して「Execute」を押して実行(その他設定変更は適宜)
(しばらく時間がかかります。進捗状況は左下に表示されます)
※一連のプロセスで特定の結果を作成する場合は、③のように関連するルールを親プロセスにグループ化がおすすめです
※セグメンテーションの詳細は(p48)の多重解像度セグメンテーションを参照してください
次回は、(余白になっている背景がある場合のみ)背景の分離をしていきます。