概要
入力ラスターにトレーニング済みディープ ラーニング モデルを実行して、識別したオブジェクトを含むフィーチャクラスを作成します。フィーチャクラスはポータル内でホスト フィーチャ レイヤーとして共有できます。フィーチャには、検出されたオブジェクトの周囲の境界四角形やポリゴン、またはオブジェクトの中心のポイントを指定できます。
図
使用法
ラスター解析 (RA) サーバーの Python 環境は、適切なディープ ラーニング フレームワークの Python API (Tensorflow や CNTK など) によって構成する必要があります。
ツールを実行すると、RA サーバーがサードパーティのディープ ラーニング Python API (TensorFlow や CNTK など) を呼び出し、指定された Python ラスター関数を使用して各ラスター タイルを処理します。
[入力モデル] パラメーターは、ポータルからのディープ ラーニング パッケージ (.dlpk) アイテムのみを使用します。
[入力モデル] を選択または指定すると、ツールがラスター解析サーバーからモデル引数情報を取得します。入力モデルが無効であったり、ラスター解析サーバーがディープ ラーニング フレームワークによって適切に構成されていなかったりすると、ツールはこうした情報を取得できません。
オブジェクト検出から重複フィーチャを特定して削除するには、[Non Maximum Suppression] パラメーターを使用します。
ディープ ラーニングの詳細については、「ArcGIS Pro のディープ ラーニング」をご参照ください。
構文
arcpy.ra.DetectObjectsUsingDeepLearning(inputRaster, inputModel, outputName, {modelArguments}, {runNMS}, {confidenceScoreField}, {classValueField}, {maxOverlapRatio}, {processingMode})
パラメーター | 説明 | データ タイプ |
inputRaster | オブジェクトの検出に使用される入力画像。これには、イメージ サービスの URL、ラスター レイヤー、イメージ サービス、マップ サーバー レイヤー、またはインターネット タイル レイヤーを指定できます。 | Raster Layer; Image Service; MapServer; Map Server Layer; Internet Tiled Layer; String |
inputModel | 入力モデルには、ポータルからのディープ ラーニング パッケージ (.dlpk) アイテムのファイルまたは URL を指定できます。 | File |
outputName | 検出オブジェクトの出力フィーチャ サービスの名前。 | String |
modelArguments [modelArguments,...] (オプション) | 関数モデルの引数は、入力モデルによって参照される Python ラスター関数クラスで定義されます。ここには、実験や調整のための追加のディープ ラーニング パラメーターと引数 (感度調整のための信頼閾値など) をリストします。引数の名前は、ツールが RA サーバー上の Python モジュールを読み取ることによって入力されます。 | Value Table |
runNMS (オプション) | Non Maximum Suppression を実行するかどうか指定します。これは、重複オブジェクトを特定し、信頼値が低い方の重複フィーチャを削除するものです。
| Boolean |
confidenceScoreField (オプション) | オブジェクト検出方法の出力として使用される、信頼度スコアを含むフィーチャ サービス内のフィールド。 このパラメーターは、NMS パラメーターに runNMS キーワードを使用した場合に必要です。 | String |
classValueField (オプション) | フィーチャ サービス内のクラス値フィールドの名前。 フィールド名が指定されていない場合、Classvalue または Value フィールドが使用されます。これらのフィールドが存在しない場合、すべてのレコードが 1 つのクラスに属するものとして識別されます。 | String |
maxOverlapRatio (オプション) | 2 つの重複したフィーチャの最大オーバーラップ率。ユニオン領域に対する交差領域の比率として定義されます。デフォルトは 0 です。 | Double |
processingMode (オプション) | モザイク データセットまたはイメージ サービス内のすべてのラスター アイテムを処理する方法を指定します。入力ラスターがモザイク データセットまたはイメージ サービスである場合、このパラメーターが適用されます。
| String |
派生した出力
名前 | 説明 | データ タイプ |
outObjects | 出力フィーチャ サービス。 | フィーチャクラス |
コードのサンプル
この例では、DetectObjectsUsingDeepLearning ツールを使用して、オブジェクト検出に基づいてポータル内にホスト フィーチャ レイヤーを作成します。
import arcpy
arcpy.DetectObjectsUsingDeepLearning_ra(
"https://myserver/rest/services/Farm/ImageServer",
"https://myportal/sharing/rest/content/items/itemId", "detectedTrees",
"score_threshold 0.6;padding 0", "NO_NMS")
この例では、DetectObjectsUsingDeepLearning ツールを使用して、オブジェクト検出に基づいてポータル内にホスト フィーチャ レイヤーを作成します。
#---------------------------------------------------------------------------
# Name: DetectObjectsUsingDeepLearning_example02.py
# Requirements: ArcGIS Image Server
# Import system modules
import arcpy
# Set local variables
inImage = "https://myserver/rest/services/coconutFarmImage/ImageServer"
inModel = "https://myportal/sharing/rest/content/items/itemId"
outName = "detectedTrees"
modelArgs = "score_threshold 0.6;padding 0"
runNMS = "NMS"
confScoreField = "Confidence"
classVField = "Class"
maxOverlapRatio = 0.15
# Execute Detect Objects Using raster analysis tool
arcpy.DetectObjectsUsingDeepLearning_ra(inImage, inModel, outName, modelArgs,
runNMS, confScoreField, ClassVField, maxOverlapRatio)
ライセンス情報
- Basic: 次のものが必要 ArcGIS Image Server
- Standard: 次のものが必要 ArcGIS Image Server
- Advanced: 次のものが必要 ArcGIS Image Server