ImageEmbedder

公開最終類別 ImageEmbedder

執行圖片的嵌入擷取作業。

API 預期 TFLite 模型可選擇是否適當,但強烈建議使用 TFLite 模型中繼資料

這個 API 支援具有一個映像檔輸入張量和一或多個輸出張量的模型。具體規定如下:

  • 輸入圖片張量 (kTfLiteUInt8/kTfLiteFloat32)
    • 大小為 [batch x height x width x channels] 的圖片輸入。
    • 不支援批次推論 (batch 須為 1)。
    • 僅支援 RGB 輸入值 (channels 必須是 3)。
    • 如果類型為 kTfLiteFloat32,則必須將 NormalizationOptions 附加至中繼資料,才能進行輸入正規化。
  • 至少一個輸出張量 (kTfLiteUInt8/kTfLiteFloat32) 為 [1 x N],其中 N 是所產生嵌入中的維度數量。

巢狀類別

類別 ImageEmbedder.ImageEmbedderOptions 設定和 ImageEmbedder 選項。 

公用方法

Static Double
cosineSimilarity(嵌入 u, 嵌入 v)
計算兩個 Embedding 物件之間的餘弦相似度的公用程式。
static ImageEmbedder
createFromBuffer(背景資訊、ByteBuffer modelBuffer)
從模型緩衝區和預設的 ImageEmbedder.ImageEmbedderOptions 建立 ImageEmbedder 例項。
static ImageEmbedder
createFromFile(背景資訊、String modelPath)
從模型檔案和預設的 ImageEmbedder.ImageEmbedderOptions 建立 ImageEmbedder 例項。
static ImageEmbedder
createFromFile(背景資訊、檔案 modelFile)
從模型檔案和預設的 ImageEmbedder.ImageEmbedderOptions 建立 ImageEmbedder 例項。
static ImageEmbedder
createFromOptions(內容結構定義、ImageEmbedder.ImageEmbedderOptions 選項)
ImageEmbedder.ImageEmbedderOptions 執行個體建立 ImageEmbedder 例項。
ImageEmbedderResult
embed(MPImage 圖片、ImageProcessingOptions imageProcessingOptions)
對提供的單一圖片執行嵌入擷取。
ImageEmbedderResult
embed(MPImage 圖片)
以預設圖片處理選項 (即
void
embedAsync(MPImage 圖片、ImageProcessingOptions imageProcessingOptions、long timestampM)
傳送即時圖片資料來執行嵌入擷取,您可以透過 ImageEmbedder.ImageEmbedderOptions 中提供的 OutputHandler.ResultListener 取得結果。
void
embedAsync(MPImage 圖片、長 timestampM)
傳送即時圖片資料,以使用預設圖片處理選項執行嵌入擷取,例如
ImageEmbedderResult
embedForVideo(MPImage 圖片、ImageProcessingOptions imageProcessingOptions, long timestampMs)
針對提供的影片影格執行嵌入擷取。
ImageEmbedderResult
embedForVideo(MPImage 圖片、長 timestampM)
以預設圖片處理選項 (即

繼承的方法

公用方法

public static Double cosineSimilarity (Embedding u, Embedding v)

計算兩個 Embedding 物件之間的餘弦相似度的公用程式。

參數
u
v
擲回
IllegalArgumentException 如果嵌入屬於不同類型 (浮動與量化)、有不同大小,或 L2 常態為 0,就會傳回結果。

公開 靜態 ImageEmbedder createFromBuffer (背景資訊結構定義、ByteBuffer modelBuffer)

從模型緩衝區和預設的 ImageEmbedder.ImageEmbedderOptions 建立 ImageEmbedder 例項。

參數
context Android ERROR(/Context)
modelBuffer 嵌入模型的直接 ByteBufferERROR(/MappedByteBuffer)
擲回
如果 ImageEmbedder 建立期間發生錯誤。

public static ImageEmbedder createFromFile (內容背景資訊、String modelPath)

從模型檔案和預設的 ImageEmbedder.ImageEmbedderOptions 建立 ImageEmbedder 例項。

參數
context Android ERROR(/Context)
modelPath 資產中嵌入模型的路徑。
擲回
如果 ImageEmbedder 建立期間發生錯誤。

public static ImageEmbedder createFromFile (內容結構定義、檔案 modelFile)

從模型檔案和預設的 ImageEmbedder.ImageEmbedderOptions 建立 ImageEmbedder 例項。

參數
context Android ERROR(/Context)
modelFile 嵌入模型 File 例項。
擲回
IOException 在開啟 tflite 模型檔案時發生 I/O 錯誤時。
如果 ImageEmbedder 建立期間發生錯誤。

public static ImageEmbedder createFromOptions (內容背景資訊、ImageEmbedder.ImageEmbedderOptions選項)

ImageEmbedder.ImageEmbedderOptions 執行個體建立 ImageEmbedder 例項。

參數
context Android ERROR(/Context)
選項 ImageEmbedder.ImageEmbedderOptions 執行個體。
擲回
如果 ImageEmbedder 建立期間發生錯誤。

public ImageEmbedderResult 嵌入 (MPImage 圖片、ImageProcessingOptions imageProcessingOptions)

對提供的單一圖片執行嵌入擷取。只有在使用 ERROR(/RunningMode.IMAGE) 建立 ImageEmbedder 時,才能使用這個方法。

ImageEmbedder 支援下列色彩空間類型:

參數
圖片 要處理的 MediaPipe MPImage 物件。
imageProcessingOptions 用於指定在執行推論之前如何處理輸入圖片的 ImageProcessingOptions
擲回

public ImageEmbedderResult 嵌入 (MPImage 圖片)

透過預設圖片處理選項,對提供的單一圖片執行嵌入擷取作業,即使用整個圖片做為興趣區域且不套用任何旋轉角度。只有在使用 ERROR(/RunningMode.IMAGE) 建立 ImageEmbedder 時,才能使用這個方法。

ImageEmbedder 支援下列色彩空間類型:

參數
圖片 要處理的 MediaPipe MPImage 物件。
擲回

public void embedAsync (MPImage image、ImageProcessingOptions imageProcessingOptions, long timestampMs)

傳送即時圖片資料來執行嵌入擷取,您可以透過 ImageEmbedder.ImageEmbedderOptions 中提供的 OutputHandler.ResultListener 取得結果。只有在使用 ERROR(/RunningMode.LIVE_STREAM) 建立 ImageEmbedder 時,才能使用這個方法。

您必須提供時間戳記 (以毫秒為單位),指出輸入圖片傳送至物件偵測工具的時間。輸入時間戳記必須單純遞增。

ImageEmbedder 支援下列色彩空間類型:

參數
圖片 要處理的 MediaPipe MPImage 物件。
imageProcessingOptions 用於指定在執行推論之前如何處理輸入圖片的 ImageProcessingOptions
timestampMs 輸入時間戳記 (以毫秒為單位)。
擲回

public void embedAsync (MPImage image, long timestampMs)

傳送即時圖片資料,以使用預設圖片處理選項執行嵌入擷取,即使用整個圖片做為興趣區域且不套用任何旋轉設定,而結果會透過 ImageEmbedder.ImageEmbedderOptions 中提供的 OutputHandler.ResultListener 取得結果。只有在使用 ERROR(/RunningMode.LIVE_STREAM) 建立 ImageEmbedder 時,才能使用這個方法。

您必須提供時間戳記 (以毫秒為單位),指出輸入圖片傳送至物件偵測工具的時間。輸入時間戳記必須單純遞增。

ImageEmbedder 支援下列色彩空間類型:

參數
圖片 要處理的 MediaPipe MPImage 物件。
timestampMs 輸入時間戳記 (以毫秒為單位)。
擲回

public ImageEmbedderResult embedForVideo (MPImage image, ImageProcessingOptions imageProcessingOptions, long timestampMs)

針對提供的影片影格執行嵌入擷取。只有在使用 ERROR(/RunningMode.VIDEO) 建立 ImageEmbedder 時,才能使用這個方法。

您必須提供影片影格的時間戳記 (以毫秒為單位)。輸入時間戳記必須單純遞增。

ImageEmbedder 支援下列色彩空間類型:

參數
圖片 要處理的 MediaPipe MPImage 物件。
imageProcessingOptions 用於指定在執行推論之前如何處理輸入圖片的 ImageProcessingOptions
timestampMs 輸入時間戳記 (以毫秒為單位)。
擲回

public ImageEmbedderResult embedForVideo (MPImage 圖片、長 timestampM)

透過預設的圖片處理選項,對提供的影片影格執行嵌入擷取,即使用整個圖片做為興趣區域且不套用任何旋轉角度。只有在使用 ERROR(/RunningMode.VIDEO) 建立 ImageEmbedder 時,才能使用這個方法。

您必須提供影片影格的時間戳記 (以毫秒為單位)。輸入時間戳記必須單純遞增。

ImageEmbedder 支援下列色彩空間類型:

參數
圖片 要處理的 MediaPipe MPImage 物件。
timestampMs 輸入時間戳記 (以毫秒為單位)。
擲回