對圖片執行分類。
API 預期 TFLite 模型可選擇是否適當,但強烈建議使用 TFLite 模型中繼資料。
這個 API 支援具有一個映像檔輸入張量和一或多個輸出張量的模型。具體規定如下:
- 輸入圖片張量 (
kTfLiteUInt8
/kTfLiteFloat32
)- 大小為
[batch x height x width x channels]
的圖片輸入。 - 不支援批次推論 (
batch
須為 1)。 - 僅支援 RGB 輸入值 (
channels
必須是 3)。 - 如果類型為 kTfLiteFloat32,則必須將 NormalizationOptions 附加至中繼資料,才能進行輸入正規化。
- 大小為
- 至少一個輸出張量 (
kTfLiteUInt8
/kTfLiteFloat32
),同時符合以下條件:N
類別,以及 2 或 4 個維度,例如[1 x N]
或[1 x 1 x 1 x N]
- 選用 (但建議使用) 標籤對應關係做為 TENSOR_AXIS_LABELS 類型的 AssociatedFile-s,每行一個標籤。第一個這類 AssociatedFile (如有) 會用來填入結果的
class_name
欄位。系統會從 AssociatedFile (如有) 中填入display_name
欄位,這個欄位的語言代碼與建立時所用ImageClassifierOptions
的display_names_locale
欄位相符 (預設為「en」,即英文)。如果這些方法都不適用,系統只會填入結果的index
欄位。 - 選用的分數校正功能可以使用 ScoreCalibrationOptions 和類型 TENSOR_AXIS_SCORE_CALIBRATION 的 AssociatedFile 附加。詳情請參閱 metadata_schema.fbs。
您可以前往 TensorFlow Hub 查看這類模型的範例。
巢狀類別
類別 | ImageClassifier.ImageClassifierOptions | 設定和 ImageClassifier 選項。 |
公用方法
ImageClassifierResult | |
ImageClassifierResult | |
void |
classifyAsync(MPImage 圖片、ImageProcessingOptions imageProcessingOptions、long timestampM)
傳送即時圖片資料以進行分類,結果會透過
ImageClassifier.ImageClassifierOptions 提供的 OutputHandler.ResultListener 取得結果。 |
void | |
ImageClassifierResult | |
ImageClassifierResult |
classifyForVideo(MPImage 圖片、ImageProcessingOptions imageProcessingOptions、long timestampM)
對提供的影片影格進行分類。
|
static ImageClassifier |
createFromBuffer(背景資訊、ByteBuffer modelBuffer)
從模型緩衝區和預設的
ImageClassifier.ImageClassifierOptions 建立 ImageClassifier 例項。 |
static ImageClassifier |
createFromFile(背景資訊、String modelPath)
從模型檔案和預設的
ImageClassifier.ImageClassifierOptions 建立 ImageClassifier 例項。 |
static ImageClassifier |
createFromFile(背景資訊、檔案 modelFile)
從模型檔案和預設的
ImageClassifier.ImageClassifierOptions 建立 ImageClassifier 例項。 |
static ImageClassifier |
繼承的方法
公用方法
public ImageClassifierResult 分類 (MPImage 圖片)
使用預設圖片處理選項對提供的單一圖片執行分類,即使用整個圖片做為興趣區域且不套用任何旋轉設定。只有在使用 ERROR(/RunningMode.IMAGE)
建立 ImageClassifier
時,才能使用這個方法。
ImageClassifier
支援下列色彩空間類型:
參數
圖片 | 要處理的 MediaPipe MPImage 物件。 |
---|
擲回
。 |
public ImageClassifierResult 分類 (MPImage 圖片、ImageProcessingOptions imageProcessingOptions)
對提供的單一圖片執行分類。只有在使用 ERROR(/RunningMode.IMAGE)
建立 ImageClassifier
時,才能使用這個方法。
ImageClassifier
支援下列色彩空間類型:
參數
圖片 | 要處理的 MediaPipe MPImage 物件。 |
---|---|
imageProcessingOptions | 用於指定在執行推論之前如何處理輸入圖片的 ImageProcessingOptions 。 |
擲回
。 |
public void classifyAsync (MPImage image、ImageProcessingOptions imageProcessingOptions、long timestampMs)
傳送即時圖片資料以進行分類,結果會透過 ImageClassifier.ImageClassifierOptions
提供的 OutputHandler.ResultListener
取得結果。只有在使用 ERROR(/RunningMode.LIVE_STREAM)
建立 ImageClassifier
時,才能使用這個方法。
您必須提供時間戳記 (以毫秒為單位),指出輸入圖片傳送至物件偵測工具的時間。輸入時間戳記必須單純遞增。
ImageClassifier
支援下列色彩空間類型:
參數
圖片 | 要處理的 MediaPipe MPImage 物件。 |
---|---|
imageProcessingOptions | 用於指定在執行推論之前如何處理輸入圖片的 ImageProcessingOptions 。 |
timestampMs | 輸入時間戳記 (以毫秒為單位)。 |
擲回
。 |
public void classifyAsync (MPImage image, long timestampMs)
傳送即時圖片資料,以預設圖片處理選項執行分類,亦即使用整個圖片做為興趣區域且不套用任何旋轉設定。您可以透過 ImageClassifier.ImageClassifierOptions
中提供的 OutputHandler.ResultListener
取得結果。只有在使用 ERROR(/RunningMode.LIVE_STREAM)
建立 ImageClassifier
時,才能使用這個方法。
您必須提供時間戳記 (以毫秒為單位),指出輸入圖片傳送至物件偵測工具的時間。輸入時間戳記必須單純遞增。
ImageClassifier
支援下列色彩空間類型:
參數
圖片 | 要處理的 MediaPipe MPImage 物件。 |
---|---|
timestampMs | 輸入時間戳記 (以毫秒為單位)。 |
擲回
。 |
public ImageClassifierResult classifyForVideo (MPImage 圖片、長 timestampM)
以預設影像處理選項對提供的影片影格進行分類,即使用整個圖片做為興趣區域且不套用任何旋轉角度。只有在使用 ERROR(/RunningMode.VIDEO)
建立 ImageClassifier
時,才能使用這個方法。
您必須提供影片影格的時間戳記 (以毫秒為單位)。輸入時間戳記必須單純遞增。
ImageClassifier
支援下列色彩空間類型:
參數
圖片 | 要處理的 MediaPipe MPImage 物件。 |
---|---|
timestampMs | 輸入時間戳記 (以毫秒為單位)。 |
擲回
。 |
public ImageClassifierResult classifyForVideo (MPImage image、ImageProcessingOptions imageProcessingOptions, long timestampMs)
對提供的影片影格進行分類。只有在使用 ERROR(/RunningMode.VIDEO)
建立 ImageClassifier
時,才能使用這個方法。
您必須提供影片影格的時間戳記 (以毫秒為單位)。輸入時間戳記必須單純遞增。
ImageClassifier
支援下列色彩空間類型:
參數
圖片 | 要處理的 MediaPipe MPImage 物件。 |
---|---|
imageProcessingOptions | 用於指定在執行推論之前如何處理輸入圖片的 ImageProcessingOptions 。 |
timestampMs | 輸入時間戳記 (以毫秒為單位)。 |
擲回
。 |
公開 靜態 ImageClassifier createFromBuffer (內容結構定義、ByteBuffer modelBuffer)
從模型緩衝區和預設的 ImageClassifier.ImageClassifierOptions
建立 ImageClassifier
例項。
參數
context | Android ERROR(/Context) 。 |
---|---|
modelBuffer | 直接 ByteBuffer 或分類模型的 ERROR(/MappedByteBuffer) 。 |
擲回
如果 ImageClassifier 建立期間發生錯誤。
|
公開 靜態 ImageClassifier createFromFile (內容背景資訊、String modelPath)
從模型檔案和預設的 ImageClassifier.ImageClassifierOptions
建立 ImageClassifier
例項。
參數
context | Android ERROR(/Context) 。 |
---|---|
modelPath | 資產中的分類模型路徑 |
擲回
如果 ImageClassifier 建立期間發生錯誤。
|
公開 靜態 ImageClassifier createFromFile (內容結構定義、檔案 modelFile)
從模型檔案和預設的 ImageClassifier.ImageClassifierOptions
建立 ImageClassifier
例項。
參數
context | Android ERROR(/Context) 。 |
---|---|
modelFile | 分類模型 File 例項 |
擲回
IOException | 在開啟 tflite 模型檔案時發生 I/O 錯誤時。 |
---|---|
如果 ImageClassifier 建立期間發生錯誤。
|
public static ImageClassifier createFromOptions (內容背景資訊、ImageClassifier.ImageClassifierOptions 選項)
從 ImageClassifier.ImageClassifierOptions
執行個體建立 ImageClassifier
例項。
參數
context | Android ERROR(/Context) 。 |
---|---|
選項 | ImageClassifier.ImageClassifierOptions 執行個體。 |
擲回
如果 ImageClassifier 建立期間發生錯誤。
|