Non Maximum Suppression (Image Analyst)

Image Analyst ライセンスで利用できます。

サマリー

[ディープ ラーニングを使用したオブジェクトの検出 (Detect Objects Using Deep Learning)] ツールの出力から、後処理のステップとして重複フィーチャを識別し、重複フィーチャのない新しい出力を作成します。[ディープ ラーニングを使用したオブジェクトの検出 (Detect Objects Using Deep Learning)] ツールは、特にタイルの副作用として、同じオブジェクトに対して複数の境界四角形またはポリゴンを返す可能性があります。2 つのフィーチャの重なり合う割合が指定された最大比率より大きい場合、信頼値が低いフィーチャが削除されます。

使用法

  • このツールは、Non Maximum Suppression アルゴリズムを実装して、[ディープ ラーニングを使用したオブジェクトの検出 (Detect Objects Using Deep Learning)] ツールによって作成された重複オブジェクトを削除します。

  • フィーチャクラスは、各フィーチャの信頼値を格納する信頼度フィールドを持つ必要があります。

  • フィーチャクラスに複数のオブジェクト クラス (樹木、自動車、建物など) が含まれている場合は、クラス値またはクラス名のフィールドも持つ必要があります。

  • 2 つの重なり合うフィーチャのオーバーラップ率が指定された [最大オーバーラップ率] より大きい場合、信頼度の低いフィーチャが削除されます。

  • このツールは、最初に各オブジェクト クラスのフィーチャクラスを別々に確認し、削除する信頼度の低い重複フィーチャにマークを付けます。次に、すべてのフィーチャを確認し、異なるオブジェクト クラスのフィーチャを比較します。出力は、検出した重複フィーチャを削除した新しいフィーチャクラスです。

パラメーター

ラベル説明データ タイプ
入力フィーチャクラス

重なり合うフィーチャまたは重複フィーチャを含む入力フィーチャクラスまたはフィーチャ レイヤー。

Feature Class; Feature Layer
信頼度スコア フィールド

オブジェクト検出方法の出力として、信頼度スコアを含むフィーチャクラス内のフィールド。

Field
出力フィーチャクラス

検出した重複フィーチャを削除した出力フィーチャクラス。

Feature Class
クラス値フィールド
(オプション)

入力フィーチャクラス内のクラス値フィールド。指定しない場合、ツールは標準クラス値フィールドの ClassvalueValue を使用します。これらのフィールドが存在しない場合、すべてのフィーチャが同じオブジェクト クラスとして扱われます。

Field
最大オーバーラップ率
(オプション)

2 つの重なり合うフィーチャの最大オーバーラップ率。これは、共通領域とすべての領域の比率として定義されます。デフォルトは 0 です。

Double

NonMaximumSuppression(in_featureclass, confidence_score_field, out_featureclass, {class_value_field}, {max_overlap_ratio})
名前説明データ タイプ
in_featureclass

重なり合うフィーチャまたは重複フィーチャを含む入力フィーチャクラスまたはフィーチャ レイヤー。

Feature Class; Feature Layer
confidence_score_field

オブジェクト検出方法の出力として、信頼度スコアを含むフィーチャクラス内のフィールド。

Field
out_featureclass

検出した重複フィーチャを削除した出力フィーチャクラス。

Feature Class
class_value_field
(オプション)

入力フィーチャクラス内のクラス値フィールド。指定しない場合、ツールは標準クラス値フィールドの ClassvalueValue を使用します。これらのフィールドが存在しない場合、すべてのフィーチャが同じオブジェクト クラスとして扱われます。

Field
max_overlap_ratio
(オプション)

2 つの重なり合うフィーチャの最大オーバーラップ率。これは、共通領域とすべての領域の比率として定義されます。デフォルトは 0 です。

Double

コードのサンプル

NonMaximumSuppression (Non Maximum Suppression) の例 1 (Python ウィンドウ)

NonMaximumSupression ツールによって、重複オブジェクトが出力から削除されます。

# Import system modules
import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

NonMaximumSuppression("Detectcars1", "Confidence", r"c:\Classification.gdb\tf_detectobjects_cars_", "Class", 0.3)
NonMaximumSuppression (Non Maximum Suppression) の例 2 (スタンドアロン スクリプト)

NonMaximumSupression ツールによって、重複オブジェクトが出力から削除されます。

# Import system modules
import arcpy
from arcpy.ia import *

"""
Usage: NonMaximumSuppression(in_features,confidence_score_field, 
out_features, {class_value_field}, {max_overlap_ratio})
"""

# Set local variables
in_features = "c:/classifydata/Trees.tif"
confidence_score_field = "Confidence"
out_features = "c:/detectobjects/trees.shp"
class_value_field = "Classvalue"
max_overlap_ratio = 0.2


# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Execute 
NonMaximumSuppression(in_features,confidence_score_field, out_features, 
class_value_field, max_overlap_ratio)

関連トピック