画像の分類を実行します。
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
)-
[1 x N]
や[1 x 1 x 1 x N]
など、2 次元または 4 次元のN
クラスを使用します。 - ラベル ファイルをメタデータにパックする必要があります。画像分類器のメタデータの作成例を参照してください。ラベル ファイルがパックされていない場合は、結果のラベルとしてインデックスが使用されます。
このようなモデルの例はTensorFlow Hub にあります。 。
ネストされたクラス
クラス | ImageClassifier.ImageClassifierOptions | ImageClassifier をセットアップするためのオプション。 |
パブリックメソッド
継承されたメソッド
パブリックメソッド
public List <分類>分類( TensorImage画像)
提供されたTensorImage
に対して実際の分類を実行します。
ImageClassifier
次のTensorImage
色空間タイプをサポートします。
パラメーター
画像 | RGB または YUV イメージを表す UINT8 TensorImage オブジェクト |
---|
投げる
IllegalArgumentException | 画像の色空間タイプがサポートされていない場合 |
---|
public List <分類>分類( TensorImage画像、 ImageProcessingOptionsオプション)
ImageProcessingOptions
を使用して、提供されたTensorImage
に対して実際の分類を実行します。
ImageClassifier
次のオプションをサポートしています。
- 関心領域 (ROI) (
ImageProcessingOptions.Builder.setRoi(Rect)
経由)。デフォルトでは画像全体になります。 - 画像の回転 (
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
による)。デフォルトはImageProcessingOptions.Orientation.TOP_LEFT
です。
ImageClassifier
次のTensorImage
色空間タイプをサポートします。
パラメーター
画像 | RGB または YUV イメージを表す UINT8 TensorImage オブジェクト |
---|---|
オプション |
投げる
IllegalArgumentException | 画像の色空間タイプがサポートされていない場合 |
---|
publicリスト<分類>分類( MlImage画像)
提供されたMlImage
に対して実際の分類を実行します。
パラメーター
画像 | 画像を表すMlImage オブジェクト |
---|
投げる
IllegalArgumentException | 画像のストレージ タイプまたは形式がサポートされていない場合 |
---|
public List <分類>分類( MlImage画像、 ImageProcessingOptionsオプション)
ImageProcessingOptions
を使用して、提供されたMlImage
に対して実際の分類を実行します。
ImageClassifier
次のオプションをサポートしています。
- 関心領域 (ROI) (
ImageProcessingOptions.Builder.setRoi(Rect)
経由)。デフォルトでは画像全体になります。 - 画像の回転 (
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
による)。デフォルトはImageProcessingOptions.Orientation.TOP_LEFT
です。MlImage.getRotation()
は効果がありません。
パラメーター
画像 | 画像を表すMlImage オブジェクト |
---|---|
オプション | ROI や回転などのオプションを構成します |
投げる
IllegalArgumentException | 画像のストレージ タイプまたは形式がサポートされていない場合 |
---|
public static ImageClassifier createFromBuffer ( ByteBuffer modelBuffer)
モデル バッファーとデフォルトのImageClassifier.ImageClassifierOptions
を使用してImageClassifier
インスタンスを作成します。
パラメーター
モデルバッファ | 分類モデルの直接ByteBuffer またはMappedByteBuffer |
---|
投げる
IllegalArgumentException | モデル バッファーが直接ByteBuffer またはMappedByteBuffer ではない場合 |
---|---|
IllegalStateException | 内部エラーがある場合 |
ランタイム例外 | 他に特定されていないエラーがある場合 |
public static ImageClassifier createFromBufferAndOptions ( ByteBuffer modelBuffer、 ImageClassifier.ImageClassifierOptionsオプション)
モデル バッファーとImageClassifier.ImageClassifierOptions
を使用してImageClassifier
インスタンスを作成します。
パラメーター
モデルバッファ | 分類モデルの直接ByteBuffer またはMappedByteBuffer |
---|---|
オプション |
投げる
IllegalArgumentException | モデル バッファーが直接ByteBuffer またはMappedByteBuffer ではない場合 |
---|---|
IllegalStateException | 内部エラーがある場合 |
ランタイム例外 | 他に特定されていないエラーがある場合 |
public static ImageClassifier createFromFile (Context context, String modelPath)
デフォルトのImageClassifier.ImageClassifierOptions
からImageClassifier
インスタンスを作成します。
パラメーター
コンテクスト | |
---|---|
モデルパス | アセット内のメタデータを含む分類モデルのパス |
投げる
IO例外 | tflite モデルのロード時に I/O エラーが発生した場合 |
---|---|
IllegalArgumentException | 引数が無効な場合 |
IllegalStateException | 内部エラーがある場合 |
ランタイム例外 | 他に特定されていないエラーがある場合 |
public static ImageClassifier createFromFile ( File modelFile)
デフォルトのImageClassifier.ImageClassifierOptions
からImageClassifier
インスタンスを作成します。
パラメーター
モデルファイル | 分類モデルFile インスタンス |
---|
投げる
IO例外 | tflite モデルのロード時に I/O エラーが発生した場合 |
---|---|
IllegalArgumentException | 引数が無効な場合 |
IllegalStateException | 内部エラーがある場合 |
ランタイム例外 | 他に特定されていないエラーがある場合 |
public static ImageClassifier createFromFileAndOptions (Context context、 String modelPath、 ImageClassifier.ImageClassifierOptionsオプション)
ImageClassifier.ImageClassifierOptions
からImageClassifier
インスタンスを作成します。
パラメーター
コンテクスト | |
---|---|
モデルパス | アセット内のメタデータを含む分類モデルのパス |
オプション |
投げる
IO例外 | tflite モデルのロード時に I/O エラーが発生した場合 |
---|---|
IllegalArgumentException | 引数が無効な場合 |
IllegalStateException | 内部エラーがある場合 |
ランタイム例外 | 他に特定されていないエラーがある場合 |
public static ImageClassifier createFromFileAndOptions (ファイルmodelFile、 ImageClassifier.ImageClassifierOptionsオプション)
ImageClassifier
インスタンスを作成します。
パラメーター
モデルファイル | 分類モデルFile インスタンス |
---|---|
オプション |
投げる
IO例外 | tflite モデルのロード時に I/O エラーが発生した場合 |
---|---|
IllegalArgumentException | 引数が無効な場合 |
IllegalStateException | 内部エラーがある場合 |
ランタイム例外 | 他に特定されていないエラーがある場合 |