이미지에서 임베딩 추출을 수행합니다.
이 API는 선택사항이지만 TFLite 모델 메타데이터가 포함된 TFLite 모델을 예상합니다.
이 API는 하나의 이미지 입력 텐서와 하나 이상의 출력 텐서가 있는 모델을 지원합니다. 보다 구체적으로 요구사항은 다음과 같습니다.
- 입력 이미지 텐서 (
kTfLiteUInt8
/kTfLiteFloat32
)- 이미지 입력 크기는
[batch x height x width x channels]
입니다. - 일괄 추론은 지원되지 않습니다 (
batch
는 1이어야 함). - RGB 입력만 지원됩니다 (
channels
는 3이어야 함). - 유형이 kTfLiteFloat32인 경우 입력 정규화를 위해 NormalizationOptions를 메타데이터에 연결해야 합니다.
- 이미지 입력 크기는
- 형태가
[1 x N]
인 출력 텐서(kTfLiteUInt8
/kTfLiteFloat32
) 1개 이상(여기서 N은 생성된 임베딩의 차원 수입니다.)
중첩된 클래스
클래스 | ImageEmbedder.ImageEmbedderOptions | 설정 및 ImageEmbedder 옵션입니다. |
공개 메서드
정적 double | |
정적 ImageEmbedder |
createFromBuffer(컨텍스트 컨텍스트, ByteBuffer modelBuffer)
모델 버퍼 및 기본
ImageEmbedder.ImageEmbedderOptions 에서 ImageEmbedder 인스턴스를 생성합니다. |
정적 ImageEmbedder |
createFromFile(컨텍스트 컨텍스트, String modelPath)
모델 파일 및 기본
ImageEmbedder.ImageEmbedderOptions 에서 ImageEmbedder 인스턴스를 만듭니다. |
정적 ImageEmbedder |
createFromFile(컨텍스트 컨텍스트, 파일 modelFile)
모델 파일 및 기본
ImageEmbedder.ImageEmbedderOptions 에서 ImageEmbedder 인스턴스를 만듭니다. |
정적 ImageEmbedder |
createFromOptions(컨텍스트 컨텍스트, ImageEmbedder.ImageEmbedderOptions 옵션)
ImageEmbedder.ImageEmbedderOptions 인스턴스에서 ImageEmbedder 인스턴스를 만듭니다. |
ImageEmbedderResult | |
ImageEmbedderResult | |
void |
embedAsync(MPImage 이미지, ImageProcessingOptions imageProcessingOptions, long timestampMs)
라이브 이미지 데이터를 전송하여 삽입 추출을 수행합니다. 결과는
ImageEmbedder.ImageEmbedderOptions 에 제공된 OutputHandler.ResultListener 를 통해 확인할 수 있습니다. |
void | |
ImageEmbedderResult |
embedForVideo(MPImage 이미지, ImageProcessingOptions imageProcessingOptions, long timestampMs)
제공된 동영상 프레임에서 임베딩 추출을 수행합니다.
|
ImageEmbedderResult |
상속된 메서드
공개 메서드
public static double cosineSimilarity (임베딩 u, 임베딩 v)
매개변수
u | |
---|---|
v |
생성 값
IllegalArgumentException | 임베딩이 다른 유형 (부동 소수점 수와 양자화됨)이거나 크기가 다르거나 L2-norm이 0인 경우입니다. |
---|
public static ImageEmbedder createFromBuffer (Context context, ByteBuffer modelBuffer)
모델 버퍼 및 기본 ImageEmbedder.ImageEmbedderOptions
에서 ImageEmbedder
인스턴스를 생성합니다.
매개변수
context | Android ERROR(/Context) |
---|---|
modelBuffer | 직접 ByteBuffer 또는 임베딩 모델의 ERROR(/MappedByteBuffer) 입니다. |
생성 값
ImageEmbedder 생성 중 오류가 발생하는 경우
|
public static ImageEmbedder createFromFile (Context context, String modelPath)
모델 파일 및 기본 ImageEmbedder.ImageEmbedderOptions
에서 ImageEmbedder
인스턴스를 만듭니다.
매개변수
context | Android ERROR(/Context) |
---|---|
modelPath | 애셋 내 임베딩 모델의 경로입니다. |
생성 값
ImageEmbedder 생성 중 오류가 발생하는 경우
|
public static ImageEmbedder createFromFile (Context context, File modelFile)
모델 파일 및 기본 ImageEmbedder.ImageEmbedderOptions
에서 ImageEmbedder
인스턴스를 만듭니다.
매개변수
context | Android ERROR(/Context) |
---|---|
modelFile | 임베딩 모델 File 인스턴스입니다. |
생성 값
IOException | tflite 모델 파일을 열 때 I/O 오류가 발생하는지 여부 |
---|---|
ImageEmbedder 생성 중 오류가 발생하는 경우
|
public static ImageEmbedder createFromOptions (Context context, ImageEmbedder.ImageEmbedderOptions 옵션)
ImageEmbedder.ImageEmbedderOptions
인스턴스에서 ImageEmbedder
인스턴스를 만듭니다.
매개변수
context | Android ERROR(/Context) |
---|---|
옵션 | ImageEmbedder.ImageEmbedderOptions 인스턴스 |
생성 값
ImageEmbedder 생성 중 오류가 발생하는 경우
|
공개 ImageEmbedderResult 삽입 (MPImage 이미지, ImageProcessingOptions imageProcessingOptions)
제공된 단일 이미지에서 임베딩 추출을 수행합니다. ImageEmbedder
가 ERROR(/RunningMode.IMAGE)
로 생성된 경우에만 이 메서드를 사용합니다.
ImageEmbedder
는 다음 색상 공간 유형을 지원합니다.
매개변수
이미지 | 처리할 MediaPipe MPImage 객체입니다. |
---|---|
imageProcessingOptions | 추론을 실행하기 전에 입력 이미지를 처리하는 방법을 지정하는 ImageProcessingOptions 입니다. |
생성 값
내부 오류가 있는 경우 |
공개 ImageEmbedderResult 삽입 (MPImage 이미지)
기본 이미지 처리 옵션을 사용하여 제공된 단일 이미지에 대해 임베딩 추출을 실행합니다. 즉, 전체 이미지를 관심 영역으로 사용하고 회전을 적용하지 않습니다.
ERROR(/RunningMode.IMAGE)
를 사용하여 ImageEmbedder
를 만들 때만 이 메서드를 사용합니다.
ImageEmbedder
는 다음 색상 공간 유형을 지원합니다.
매개변수
이미지 | 처리할 MediaPipe MPImage 객체입니다. |
---|
생성 값
내부 오류가 있는 경우 |
public void embedAsync (MPImage 이미지, ImageProcessingOptions imageProcessingOptions, long timestampMs)
라이브 이미지 데이터를 전송하여 삽입 추출을 수행합니다. 결과는 ImageEmbedder.ImageEmbedderOptions
에 제공된 OutputHandler.ResultListener
를 통해 확인할 수 있습니다. ImageEmbedder
가 ERROR(/RunningMode.LIVE_STREAM)
로 생성된 경우에만 이 메서드를 사용합니다.
입력 이미지가 객체 감지기로 전송되는 시점을 나타내는 타임스탬프 (밀리초)를 제공해야 합니다. 입력 타임스탬프는 단조 증가해야 합니다.
ImageEmbedder
는 다음 색상 공간 유형을 지원합니다.
매개변수
이미지 | 처리할 MediaPipe MPImage 객체입니다. |
---|---|
imageProcessingOptions | 추론을 실행하기 전에 입력 이미지를 처리하는 방법을 지정하는 ImageProcessingOptions 입니다. |
timestampMs | 입력 타임스탬프 (밀리초)입니다. |
생성 값
내부 오류가 있는 경우 |
public void embedAsync (MPImage 이미지, long timestampMs)
라이브 이미지 데이터를 전송하여 기본 이미지 처리 옵션으로 임베딩 추출을 수행합니다.즉, 전체 이미지를 관심 영역으로 사용하고 회전을 적용하지 않습니다. 결과는 ImageEmbedder.ImageEmbedderOptions
에서 제공하는 OutputHandler.ResultListener
를 통해 확인할 수 있습니다. ImageEmbedder
가 ERROR(/RunningMode.LIVE_STREAM)
를 사용하여 생성된 경우에만 이 메서드를 사용합니다.
입력 이미지가 객체 감지기로 전송되는 시점을 나타내는 타임스탬프 (밀리초)를 제공해야 합니다. 입력 타임스탬프는 단조 증가해야 합니다.
ImageEmbedder
는 다음 색상 공간 유형을 지원합니다.
매개변수
이미지 | 처리할 MediaPipe MPImage 객체입니다. |
---|---|
timestampMs | 입력 타임스탬프 (밀리초)입니다. |
생성 값
내부 오류가 있는 경우 |
공개 ImageEmbedderResult embedForVideo (MPImage 이미지, ImageProcessingOptions imageProcessingOptions, long timestampMs)
제공된 동영상 프레임에서 임베딩 추출을 수행합니다. ERROR(/RunningMode.VIDEO)
를 사용하여 ImageEmbedder
를 만들 때만 이 메서드를 사용합니다.
동영상 프레임의 타임스탬프 (밀리초)를 제공해야 합니다. 입력 타임스탬프는 단조 증가해야 합니다.
ImageEmbedder
는 다음 색상 공간 유형을 지원합니다.
매개변수
이미지 | 처리할 MediaPipe MPImage 객체입니다. |
---|---|
imageProcessingOptions | 추론을 실행하기 전에 입력 이미지를 처리하는 방법을 지정하는 ImageProcessingOptions 입니다. |
timestampMs | 입력 타임스탬프 (밀리초)입니다. |
생성 값
내부 오류가 있는 경우 |
공개 ImageEmbedderResult embedForVideo (MPImage 이미지, 긴 timestampMs)
기본 이미지 처리 옵션을 사용하여 제공된 동영상 프레임에서 임베딩 추출을 실행합니다. 즉, 전체 이미지를 관심 영역으로 사용하고 회전을 적용하지 않습니다.
ERROR(/RunningMode.VIDEO)
를 사용하여 ImageEmbedder
를 만들 때만 이 메서드를 사용합니다.
동영상 프레임의 타임스탬프 (밀리초)를 제공해야 합니다. 입력 타임스탬프는 단조 증가해야 합니다.
ImageEmbedder
는 다음 색상 공간 유형을 지원합니다.
매개변수
이미지 | 처리할 MediaPipe MPImage 객체입니다. |
---|---|
timestampMs | 입력 타임스탬프 (밀리초)입니다. |
생성 값
내부 오류가 있는 경우 |