ImageClassifier

public final class ImageClassifier

画像の分類を行います。

API では、TFLite モデル メタデータ(省略可、ただし強く推奨)を含む TFLite モデルを想定しています。

この API は、1 つの画像入力テンソルと 1 つ以上の出力テンソルのモデルをサポートします。より具体的な要件は次のとおりです。

  • 入力画像のテンソル(kTfLiteUInt8/kTfLiteFloat32
    • サイズ [batch x height x width x channels] の画像入力。
    • バッチ推論はサポートされていません(batch は 1 である必要があります)。
    • RGB 入力のみがサポートされています(channels は 3 にする必要があります)。
    • 型が kTfLiteFloat32 の場合、入力の正規化のために NormalizationOptions をメタデータにアタッチする必要があります。
  • 次の条件を満たす 1 つ以上の出力テンソル(kTfLiteUInt8/kTfLiteFloat32):
    • N クラスと 2 次元または 4 次元([1 x N] または [1 x 1 x 1 x N]
    • オプション(ただし推奨)のラベルマップを、TENSOR_AXIS_LABELS タイプの AssociatedFile-s として指定し、1 行に 1 つのラベルを含めます。最初のそのような AssociatedFile(存在する場合)が、結果の class_name フィールドに入力されます。display_name フィールドは、作成時に使用された ImageClassifierOptionsdisplay_names_locale フィールド(デフォルトでは「en」)とロケールが一致する AssociatedFile(存在する場合)から入力されます(デフォルトでは英語)。これらのいずれも使用できない場合は、結果の index フィールドのみが入力されます。
    • ScoreCalibrationOptions と TENSOR_AXIS_SCORE_CALIBRATION タイプの AssociatedFile を使用して、オプションのスコア調整を添付できます。詳しくは、 metadata_schema.fbs をご覧ください。

このようなモデルの例として、 TensorFlow Hub をご覧ください。

ネストされたクラス

クラス ImageClassifier.ImageClassifierOptions 設定と ImageClassifier のオプション。 

パブリック メソッド

ImageClassifierResult
classifyMPImage 画像)
指定された単一の画像に対して、デフォルトの画像処理オプションを使用して分類を実行します。つまり、
ImageClassifierResult
classifyMPImage image、ImageProcessingOptions imageProcessingOptions)
指定された 1 つの画像に対して分類を行います。
void
classifyAsyncMPImage image、ImageProcessingOptions imageProcessingOptions、long timestampMs)
ライブ画像データを送信して分類を行います。結果は ImageClassifier.ImageClassifierOptions で提供される OutputHandler.ResultListener を介して取得できます。
void
classifyAsyncMPImage 画像、long timestampMs)
ライブ画像データを送信して、デフォルトの画像処理オプション(
ImageClassifierResult
classifyForVideoMPImage 画像、long timestampMs)
指定された動画フレームに対して、デフォルトの画像処理オプションを使用して分類を実行します。つまり、
ImageClassifierResult
classifyForVideoMPImage image、ImageProcessingOptions imageProcessingOptions、long timestampMs)
指定された動画フレームの分類を実行します。
static ImageClassifier
createFromBuffer(コンテキスト コンテキスト、ByteBuffer modelBuffer)
モデルバッファとデフォルトの ImageClassifier.ImageClassifierOptions から ImageClassifier インスタンスを作成します。
static ImageClassifier
createFromFile(コンテキスト コンテキスト、String modelPath)
モデルファイルとデフォルトの ImageClassifier.ImageClassifierOptions から ImageClassifier インスタンスを作成します。
static ImageClassifier
createFromFile(コンテキスト コンテキスト、File modelFile)
モデルファイルとデフォルトの ImageClassifier.ImageClassifierOptions から ImageClassifier インスタンスを作成します。
static ImageClassifier
createFromOptions(コンテキスト コンテキスト、ImageClassifier.ImageClassifierOptions オプション)
ImageClassifier.ImageClassifierOptions インスタンスから ImageClassifier インスタンスを作成します。

継承されるメソッド

パブリック メソッド

public ImageClassifierResult classify MPImage 画像)

指定された単一の画像に対して、デフォルトの画像処理オプションを使用して分類を実行します。つまり、画像全体を関心領域として使用し、回転は適用しません。このメソッドは、ImageClassifierERROR(/RunningMode.IMAGE) で作成された場合にのみ使用します。

ImageClassifier は、次の色空間タイプをサポートしています。

パラメータ
イメージ 処理する MediaPipe MPImage オブジェクト。
例外
内部エラーが発生した場合。

public ImageClassifierResult classify (MPImage image, ImageProcessingOptions imageProcessingOptions)

指定された 1 つの画像に対して分類を実行します。このメソッドは、ImageClassifierERROR(/RunningMode.IMAGE) で作成された場合にのみ使用します。

ImageClassifier は、次の色空間タイプをサポートしています。

パラメータ
イメージ 処理する MediaPipe MPImage オブジェクト。
imageProcessingOptions 推論を実行する前に入力画像を処理する方法を指定する ImageProcessingOptions
例外
内部エラーが発生した場合。

public void classifyAsync (MPImage image, ImageProcessingOptions imageProcessingOptions, long timestampMs)

ライブ画像データを送信して分類を行います。結果は ImageClassifier.ImageClassifierOptions で提供される OutputHandler.ResultListener を介して取得できます。このメソッドは、ImageClassifierERROR(/RunningMode.LIVE_STREAM) で作成された場合にのみ使用します。

入力画像がオブジェクト検出に送信されたタイミングを示すタイムスタンプ(ミリ秒単位)を指定する必要があります。入力タイムスタンプは単調に増加している必要があります。

ImageClassifier は、次の色空間タイプをサポートしています。

パラメータ
イメージ 処理する MediaPipe MPImage オブジェクト。
imageProcessingOptions 推論を実行する前に入力画像を処理する方法を指定する ImageProcessingOptions
timestampMs 入力タイムスタンプ(ミリ秒単位)。
例外
内部エラーが発生した場合。

public void classifyAsync (MPImage image, long timestampMs)

ライブ画像データを送信して、デフォルトの画像処理オプションを使用して分類を行います。つまり、画像全体を関心領域として使用し、回転は適用しません。結果は ImageClassifier.ImageClassifierOptions で提供される OutputHandler.ResultListener で取得できます。このメソッドは、ImageClassifierERROR(/RunningMode.LIVE_STREAM) で作成された場合にのみ使用します。

入力画像がオブジェクト検出に送信されたタイミングを示すタイムスタンプ(ミリ秒単位)を指定する必要があります。入力タイムスタンプは単調に増加している必要があります。

ImageClassifier は、次の色空間タイプをサポートしています。

パラメータ
イメージ 処理する MediaPipe MPImage オブジェクト。
timestampMs 入力タイムスタンプ(ミリ秒単位)。
例外
内部エラーが発生した場合。

public ImageClassifierResult classifyForVideo (MPImage image, long timestampMs)

指定された動画フレームに対して、デフォルトの画像処理オプションを使用して分類を実行します。つまり、画像全体を関心領域として使用し、回転は適用しません。このメソッドは、ImageClassifierERROR(/RunningMode.VIDEO) で作成された場合にのみ使用します。

動画フレームのタイムスタンプ(ミリ秒単位)を提供する必要があります。入力タイムスタンプは単調に増加している必要があります。

ImageClassifier は、次の色空間タイプをサポートしています。

パラメータ
イメージ 処理する MediaPipe MPImage オブジェクト。
timestampMs 入力タイムスタンプ(ミリ秒単位)。
例外
内部エラーが発生した場合。

public ImageClassifierResult classifyForVideo (MPImage image, ImageProcessingOptions imageProcessingOptions, long timestampMs)

指定された動画フレームの分類を実行します。このメソッドは、ImageClassifierERROR(/RunningMode.VIDEO) で作成された場合にのみ使用します。

動画フレームのタイムスタンプ(ミリ秒単位)を提供する必要があります。入力タイムスタンプは単調に増加している必要があります。

ImageClassifier は、次の色空間タイプをサポートしています。

パラメータ
イメージ 処理する MediaPipe MPImage オブジェクト。
imageProcessingOptions 推論を実行する前に入力画像を処理する方法を指定する ImageProcessingOptions
timestampMs 入力タイムスタンプ(ミリ秒単位)。
例外
内部エラーが発生した場合。

public static ImageClassifier createFromBuffer (コンテキスト コンテキスト、ByteBuffer modelBuffer)

モデルバッファとデフォルトの ImageClassifier.ImageClassifierOptions から ImageClassifier インスタンスを作成します。

パラメータ
コンテキスト Android ERROR(/Context)
modelBuffer 分類モデルの直接の ByteBuffer または ERROR(/MappedByteBuffer)
例外
ImageClassifier の作成中にエラーが発生した場合。

public static ImageClassifier createFromFile (コンテキスト コンテキスト、String modelPath)

モデルファイルとデフォルトの ImageClassifier.ImageClassifierOptions から ImageClassifier インスタンスを作成します。

パラメータ
コンテキスト Android ERROR(/Context)
modelPath 分類モデルへのパスを指定します。
例外
ImageClassifier の作成中にエラーが発生した場合。

public static ImageClassifier createFromFile (コンテキスト コンテキスト、File modelFile)

モデルファイルとデフォルトの ImageClassifier.ImageClassifierOptions から ImageClassifier インスタンスを作成します。

パラメータ
コンテキスト Android ERROR(/Context)
modelFile 分類モデルの File インスタンス。
例外
IOException tflite モデルファイルを開くときに I/O エラーが発生した場合
ImageClassifier の作成中にエラーが発生した場合。

public static ImageClassifier createFromOptions (コンテキスト コンテキスト、ImageClassifier.ImageClassifierOptions オプション)

ImageClassifier.ImageClassifierOptions インスタンスから ImageClassifier インスタンスを作成します。

パラメータ
コンテキスト Android ERROR(/Context)
オプション ImageClassifier.ImageClassifierOptions インスタンス。
例外
ImageClassifier の作成中にエラーが発生した場合。