画像のセグメンテーションを実行します。
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_width
とmask_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 をセットアップするためのオプション。 |
パブリックメソッド
継承されたメソッド
パブリックメソッド
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 | 画像の色空間タイプがサポートされていない場合 |