執行圖片的嵌入擷取作業。
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 | |
static ImageEmbedder |
createFromBuffer(背景資訊、ByteBuffer modelBuffer)
從模型緩衝區和預設的
ImageEmbedder.ImageEmbedderOptions 建立 ImageEmbedder 例項。 |
static ImageEmbedder |
createFromFile(背景資訊、String modelPath)
從模型檔案和預設的
ImageEmbedder.ImageEmbedderOptions 建立 ImageEmbedder 例項。 |
static ImageEmbedder | |
static ImageEmbedder |
createFromOptions(內容結構定義、ImageEmbedder.ImageEmbedderOptions 選項)
從
ImageEmbedder.ImageEmbedderOptions 執行個體建立 ImageEmbedder 例項。 |
ImageEmbedderResult | |
ImageEmbedderResult | |
void |
embedAsync(MPImage 圖片、ImageProcessingOptions imageProcessingOptions、long timestampM)
傳送即時圖片資料來執行嵌入擷取,您可以透過
ImageEmbedder.ImageEmbedderOptions 中提供的 OutputHandler.ResultListener 取得結果。 |
void | |
ImageEmbedderResult |
embedForVideo(MPImage 圖片、ImageProcessingOptions imageProcessingOptions, long timestampMs)
針對提供的影片影格執行嵌入擷取。
|
ImageEmbedderResult |
繼承的方法
公用方法
public static Double cosineSimilarity (Embedding u, Embedding v)
參數
u | |
---|---|
v |
擲回
IllegalArgumentException | 如果嵌入屬於不同類型 (浮動與量化)、有不同大小,或 L2 常態為 0,就會傳回結果。 |
---|
公開 靜態 ImageEmbedder createFromBuffer (背景資訊結構定義、ByteBuffer modelBuffer)
從模型緩衝區和預設的 ImageEmbedder.ImageEmbedderOptions
建立 ImageEmbedder
例項。
參數
context | Android ERROR(/Context) 。 |
---|---|
modelBuffer | 嵌入模型的直接 ByteBuffer 或 ERROR(/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 | 輸入時間戳記 (以毫秒為單位)。 |
擲回
。 |