ImageSegmenter

パブリック最終クラスImageSegmenter

画像のセグメンテーションを実行します。

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

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

  • 入力画像テンソル ( kTfLiteUInt8 / kTfLiteFloat32 )
    • サイズ[batch x height x width x channels]の画像入力。
    • バッチ推論はサポートされていません ( batch 1 である必要があります)。
    • RGB 入力のみがサポートされています ( channels 3 である必要があります)。
    • type がkTfLiteFloat32の場合、入力正規化のために NormalizationOptions をメタデータに付加する必要があります。
  • 出力画像テンソル ( kTfLiteUInt8 / kTfLiteFloat32 )
    • サイズ[batch x mask_height x mask_width x num_classes]のテンソル。ここで、 batch 1 である必要があります。 mask_widthmask_heightはモデルによって生成されるセグメンテーション マスクの次元であり、 num_classesモデルによってサポートされるクラスの数です。
    • オプションの (ただし推奨される) ラベル マップは、1 行に 1 つのラベルを含む、タイプ TENSOR_AXIS_LABELS の AssociatedFile-s として添付できます。最初の AssociatedFile (存在する場合) は、結果のクラス名、つまりColoredLabel.getlabel()を埋めるために使用されます。表示名、つまりColoredLabel.getDisplayName()は、ロケールが作成時に使用される `ImageSegmenterOptions` の `display_names_locale` フィールドと一致する AssociatedFile (存在する場合) から入力されます (デフォルトでは "en"、つまり英語)。これらのいずれも使用できない場合は、結果の「インデックス」フィールドのみが入力されます。

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

ネストされたクラス

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

パブリックメソッド

静的イメージセグメンタ
createFromBuffer ( ByteBuffer modelBuffer)
モデル バッファーとデフォルトのImageSegmenter.ImageSegmenterOptionsを使用してImageSegmenterインスタンスを作成します。
静的イメージセグメンタ
createFromBufferAndOptions ( ByteBuffer modelBuffer、 ImageSegmenter.ImageSegmenterOptionsオプション)
モデル バッファーとImageSegmenter.ImageSegmenterOptionsを使用してImageSegmenterインスタンスを作成します。
静的イメージセグメンタ
createFromFile (コンテキスト context、文字列モデルパス)
デフォルトのImageSegmenter.ImageSegmenterOptionsからImageSegmenterインスタンスを作成します。
静的イメージセグメンタ
createFromFile (ファイルモデルファイル)
デフォルトのImageSegmenter.ImageSegmenterOptionsからImageSegmenterインスタンスを作成します。
静的イメージセグメンタ
createFromFileAndOptions (ファイルモデルファイル、 ImageSegmenter.ImageSegmenterOptionsオプション)
ImageSegmenter.ImageSegmenterOptionsからImageSegmenterインスタンスを作成します。
静的イメージセグメンタ
createFromFileAndOptions (コンテキスト コンテキスト、文字列モデルパス、 ImageSegmenter.ImageSegmenterOptionsオプション)
ImageSegmenter.ImageSegmenterOptionsからImageSegmenterインスタンスを作成します。
リスト<セグメンテーション>
セグメント(長いフレームのBufferHandle、 ImageProcessingOptionsオプション)
リスト<セグメンテーション>
セグメント( TensorImage画像)
提供された画像に対して実際のセグメンテーションを実行します。
リスト<セグメンテーション>
セグメント( MlImage画像)
提供されたMlImageに対して実際のセグメンテーションを実行します。
リスト<セグメンテーション>
セグメント( TensorImageイメージ、 ImageProcessingOptionsオプション)
ImageProcessingOptionsを使用して、提供された画像に対して実際のセグメンテーションを実行します。
リスト<セグメンテーション>
セグメント( MlImage画像、 ImageProcessingOptionsオプション)
ImageProcessingOptionsを使用して、提供されたMlImageに対して実際のセグメンテーションを実行します。

継承されたメソッド

パブリックメソッド

public static ImageSegmenter createFromBuffer ( ByteBuffer modelBuffer)

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

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

public static ImageSegmenter createFromBufferAndOptions ( ByteBuffer modelBuffer、 ImageSegmenter.ImageSegmenterOptionsオプション)

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

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

public static ImageSegmenter createFromFile (Context context, String modelPath)

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

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

public static ImageSegmenter createFromFile ( File modelFile)

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

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

public static ImageSegmenter createFromFileAndOptions (ファイルmodelFile、 ImageSegmenter.ImageSegmenterOptionsオプション)

ImageSegmenter.ImageSegmenterOptionsからImageSegmenterインスタンスを作成します。

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

public static ImageSegmenter createFromFileAndOptions (Context context、 String modelPath、 ImageSegmenter.ImageSegmenterOptionsオプション)

ImageSegmenter.ImageSegmenterOptionsからImageSegmenterインスタンスを作成します。

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

public List < Segmentation >セグメント(長いフレームバッファハンドル、 ImageProcessingOptionsオプション)

パラメーター
フレームバッファハンドル
オプション

public List < Segmentation >セグメント( TensorImage画像)

提供された画像に対して実際のセグメンテーションを実行します。

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

パラメーター
画像RGB または YUV イメージを表す UINT8 TensorImageオブジェクト
戻り値
  • 画像セグメンテーションを実行した結果。この時点では、単一のSegmentation要素が返されることが期待されることに注意してください。結果は、インスタンス セグメンテーション モデルなどへの後の拡張のためにListに保存され、オブジェクトごとに 1 つのセグメンテーションを返すことができます。
投げる
IllegalStateException内部エラーがある場合
ランタイム例外他に特定されていないエラーがある場合
IllegalArgumentException画像の色空間タイプがサポートされていない場合

public List < Segmentation >セグメント( MlImage画像)

提供されたMlImageに対して実際のセグメンテーションを実行します。

パラメーター
画像セグメント化するMlImage
戻り値
  • 画像セグメンテーションを実行した結果。この時点では、単一のSegmentation要素が返されることが期待されることに注意してください。結果は、インスタンス セグメンテーション モデルなどへの後の拡張のためにListに保存され、オブジェクトごとに 1 つのセグメンテーションを返すことができます。
投げる
IllegalStateException内部エラーがある場合
ランタイム例外他に特定されていないエラーがある場合
IllegalArgumentException画像のストレージ タイプまたは形式がサポートされていない場合

public List < Segmentation >セグメント( TensorImage画像、 ImageProcessingOptionsオプション)

ImageProcessingOptionsを使用して、提供された画像に対して実際のセグメンテーションを実行します。

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

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

パラメーター
画像RGB または YUV イメージを表す UINT8 TensorImageオブジェクト
オプションオプションは画像の前処理方法を構成します
戻り値
  • 画像セグメンテーションを実行した結果。この時点では、単一のSegmentation要素が返されることが期待されることに注意してください。結果は、インスタンス セグメンテーション モデルなどへの後の拡張のためにListに保存され、オブジェクトごとに 1 つのセグメンテーションを返すことができます。
投げる
IllegalStateException内部エラーがある場合
ランタイム例外他に特定されていないエラーがある場合
IllegalArgumentException画像の色空間タイプがサポートされていない場合

public List < Segmentation >セグメント( MlImage画像、 ImageProcessingOptionsオプション)

ImageProcessingOptionsを使用して、提供されたMlImageに対して実際のセグメンテーションを実行します。

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

パラメーター
画像セグメント化するMlImage
オプションオプションは画像の前処理方法を構成します。
戻り値
  • 画像セグメンテーションを実行した結果。この時点では、単一のSegmentation要素が返されることが期待されることに注意してください。結果は、インスタンス セグメンテーション モデルなどへの後の拡張のためにListに保存され、オブジェクトごとに 1 つのセグメンテーションを返すことができます。
投げる
IllegalStateException内部エラーがある場合
ランタイム例外他に特定されていないエラーがある場合
IllegalArgumentException画像の色空間タイプがサポートされていない場合