画像上で物体検出を実行します。
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 インスタンスを作成します。 |
静的オブジェクト検出器 | |
静的オブジェクト検出器 | createFromFileAndOptions (コンテキスト コンテキスト、文字列モデルパス、 ObjectDetector.ObjectDetectorOptionsオプション) ObjectDetector.ObjectDetectorOptions からObjectDetector インスタンスを作成します。 |
静的オブジェクト検出器 | createFromFileAndOptions (ファイルモデルファイル、 ObjectDetector.ObjectDetectorOptionsオプション) ObjectDetector.ObjectDetectorOptions からObjectDetector インスタンスを作成します。 |
リスト<検出> | |
リスト<検出> | |
リスト<検出> | 検出( MlImage画像、 ImageProcessingOptionsオプション) ImageProcessingOptions を使用して、提供されたMlImage に対して実際の検出を実行します。 |
リスト<検出> |
継承されたメソッド
パブリックメソッド
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オプション)
パラメーター
画像 | 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 | 画像の色空間タイプがサポートされていない場合 |