ObjectDetector

パブリック最終クラスObjectDetector

画像上で物体検出を実行します。

API は、 TFLite モデル メタデータを含む TFLite モデルを想定しています。

API は、1 つの画像入力テンソルと 4 つの出力テンソルを持つモデルをサポートします。より具体的に言うと、次のような要件があります。

  • 入力画像テンソル ( kTfLiteUInt8 / kTfLiteFloat32 )
    • サイズ[batch x height x width x channels]の画像入力。
    • バッチ推論はサポートされていません ( batch 1 である必要があります)。
    • RGB 入力のみがサポートされています ( channels 3 である必要があります)。
    • type がkTfLiteFloat32の場合、入力正規化のために NormalizationOptions をメタデータに付加する必要があります。
  • 出力テンソルは、 DetectionPostProcess演算の 4 つの出力である必要があります。つまり、次のようになります。
    • 位置テンソル ( kTfLiteFloat32 ):
      • サイズ[1 x num_results x 4]のテンソル、[top, left, right,bottom] の形式で境界ボックスを表す内部配列。
      • BoundingBoxPropertiesメタデータに添付する必要があり、 type=BOUNDARIESおよびcoordinate_type=RATIOを指定する必要があります。
    • クラス テンソル ( kTfLiteFloat32 ):
      • サイズ[1 x num_results]のテンソル。各値はクラスの整数インデックスを表します。
      • ラベル マップがTENSOR_VALUE_LABELS関連ファイルとしてメタデータに添付されている場合、それらはテンソル値をラベルに変換するために使用されます。
    • スコア テンソル ( kTfLiteFloat32 ):
      • サイズ[1 x num_results]のテンソル。各値は検出されたオブジェクトのスコアを表します。
    • 検出テンソルの数 ( kTfLiteFloat32 ):
      • サイズ[1]のテンソルとしての整数 num_results 。

このようなモデルの例はTensorFlow Hub にあります。

ネストされたクラス

クラスObjectDetector.ObjectDetectorOptions ObjectDetector をセットアップするためのオプション。

パブリックメソッド

静的オブジェクト検出器
createFromBuffer ( ByteBuffer modelBuffer)
モデル バッファーとデフォルトのObjectDetector.ObjectDetectorOptionsを使用してObjectDetectorインスタンスを作成します。
静的オブジェクト検出器
createFromBufferAndOptions ( ByteBuffer modelBuffer、 ObjectDetector.ObjectDetectorOptionsオプション)
モデル バッファーとObjectDetector.ObjectDetectorOptionsを使用してObjectDetectorインスタンスを作成します。
静的オブジェクト検出器
createFromFile (コンテキスト context、文字列モデルパス)
デフォルトのObjectDetector.ObjectDetectorOptionsからObjectDetectorインスタンスを作成します。
静的オブジェクト検出器
createFromFile (ファイルモデルファイル)
デフォルトのObjectDetector.ObjectDetectorOptionsからObjectDetectorインスタンスを作成します。
静的オブジェクト検出器
createFromFileAndOptions (コンテキスト コンテキスト、文字列モデルパス、 ObjectDetector.ObjectDetectorOptionsオプション)
ObjectDetector.ObjectDetectorOptionsからObjectDetectorインスタンスを作成します。
静的オブジェクト検出器
createFromFileAndOptions (ファイルモデルファイル、 ObjectDetector.ObjectDetectorOptionsオプション)
ObjectDetector.ObjectDetectorOptionsからObjectDetectorインスタンスを作成します。
リスト検出
検出( MlImage画像)
提供されたMlImageに対して実際の検出を実行します。
リスト検出
検出( TensorImageイメージ、 ImageProcessingOptionsオプション)
提供された画像に対して実際の検出を実行します。
リスト検出
検出( MlImage画像、 ImageProcessingOptionsオプション)
ImageProcessingOptionsを使用して、提供されたMlImageに対して実際の検出を実行します。
リスト検出
検出( TensorImage画像)
提供された画像に対して実際の検出を実行します。

継承されたメソッド

パブリックメソッド

public static ObjectDetector createFromBuffer ( ByteBuffer modelBuffer)

モデル バッファーとデフォルトのObjectDetector.ObjectDetectorOptionsを使用してObjectDetectorインスタンスを作成します。

パラメーター
モデルバッファ検出モデルの直接ByteBufferまたはMappedByteBuffer
投げる
IllegalArgumentExceptionモデル バッファーが直接ByteBufferまたはMappedByteBufferではない場合 * @throws IllegalStateException 内部エラーがある場合
ランタイム例外他に特定されていないエラーがある場合

public static ObjectDetector createFromBufferAndOptions ( ByteBuffer modelBuffer、 ObjectDetector.ObjectDetectorOptionsオプション)

モデル バッファーとObjectDetector.ObjectDetectorOptionsを使用してObjectDetectorインスタンスを作成します。

パラメーター
モデルバッファ検出モデルの直接ByteBufferまたはMappedByteBuffer
オプション
投げる
IllegalArgumentExceptionモデル バッファーが直接ByteBufferまたはMappedByteBufferではない場合
IllegalStateException内部エラーがある場合
ランタイム例外他に特定されていないエラーがある場合

public static ObjectDetector createFromFile (コンテキスト context、文字列モデルパス)

デフォルトのObjectDetector.ObjectDetectorOptionsからObjectDetectorインスタンスを作成します。

パラメーター
コンテクスト
モデルパスアセット内のメタデータを含む検出モデルへのパス
投げる
IO例外tflite モデルのロード時に I/O エラーが発生した場合
IllegalArgumentException引数が無効な場合
IllegalStateException内部エラーがある場合
ランタイム例外他に特定されていないエラーがある場合

public static ObjectDetector createFromFile ( File modelFile)

デフォルトのObjectDetector.ObjectDetectorOptionsからObjectDetectorインスタンスを作成します。

パラメーター
モデルファイル検出モデルFileインスタンス
投げる
IO例外tflite モデルのロード時に I/O エラーが発生した場合
IllegalArgumentException引数が無効な場合
IllegalStateException内部エラーがある場合
ランタイム例外他に特定されていないエラーがある場合

public static ObjectDetector createFromFileAndOptions (コンテキスト コンテキスト、文字列モデルパス、 ObjectDetector.ObjectDetectorOptionsオプション)

ObjectDetector.ObjectDetectorOptionsからObjectDetectorインスタンスを作成します。

パラメーター
コンテクスト
モデルパスアセット内のメタデータを含む検出モデルへのパス
オプション
投げる
IO例外tflite モデルのロード時に I/O エラーが発生した場合
IllegalArgumentException引数が無効な場合
IllegalStateException内部エラーがある場合
ランタイム例外他に特定されていないエラーがある場合

public static ObjectDetector createFromFileAndOptions (ファイルモデルファイル、 ObjectDetector.ObjectDetectorOptionsオプション)

ObjectDetector.ObjectDetectorOptionsからObjectDetectorインスタンスを作成します。

パラメーター
モデルファイル検出モデルFileインスタンス
オプション
投げる
IO例外tflite モデルのロード時に I/O エラーが発生した場合
IllegalArgumentException引数が無効な場合
IllegalStateException内部エラーがある場合
ランタイム例外他に特定されていないエラーがある場合

public List < Detection > detect ( MlImage画像)

提供されたMlImageに対して実際の検出を実行します。

パラメーター
画像画像を表すMlImageオブジェクト
投げる
IllegalStateException内部エラーがある場合
ランタイム例外他に特定されていないエラーがある場合
IllegalArgumentException画像のストレージ タイプまたは形式がサポートされていない場合

public List < Detection > detect ( TensorImage画像、 ImageProcessingOptionsオプション)

提供された画像に対して実際の検出を実行します。

ObjectDetector次のTensorImage色空間タイプをサポートします。

ObjectDetector次のオプションをサポートしています。

パラメーター
画像RGB または YUV イメージを表す UINT8 TensorImageオブジェクト
オプション画像の前処理方法を構成するオプション
投げる
IllegalStateException内部エラーがある場合
ランタイム例外他に特定されていないエラーがある場合
IllegalArgumentException画像の色空間タイプがサポートされていない場合

public List < Detection > detect ( MlImage画像、 ImageProcessingOptionsオプション)

ImageProcessingOptionsを使用して、提供されたMlImageに対して実際の検出を実行します。

ObjectDetector次のオプションをサポートしています。

パラメーター
画像画像を表すMlImageオブジェクト
オプション画像の前処理方法を構成するオプション
投げる
IllegalStateException内部エラーがある場合
ランタイム例外他に特定されていないエラーがある場合
IllegalArgumentException画像のストレージ タイプまたは形式がサポートされていない場合

public List < Detection > detect ( TensorImage画像)

提供された画像に対して実際の検出を実行します。

ObjectDetector次のTensorImage色空間タイプをサポートします。

パラメーター
画像RGB または YUV イメージを表す UINT8 TensorImageオブジェクト
投げる
IllegalStateException内部エラーがある場合
ランタイム例外他に特定されていないエラーがある場合
IllegalArgumentException画像の色空間タイプがサポートされていない場合