ImageEmbedder

공개 최종 클래스 ImageEmbedder

이미지에서 임베딩 추출을 수행합니다.

이 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
cosineSimilarity(임베딩, 임베딩 v)
Embedding 객체 간의 코사인 유사성을 계산하는 유틸리티 함수입니다.
정적 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
embed(MPImage image, ImageProcessingOptions imageProcessingOptions)
제공된 단일 이미지에서 임베딩 추출을 수행합니다.
ImageEmbedderResult
embed(MPImage 이미지)
다음과 같은 기본 이미지 처리 옵션을 사용하여 제공된 단일 이미지에서 임베딩 추출을 수행합니다.
void
embedAsync(MPImage 이미지, ImageProcessingOptions imageProcessingOptions, long timestampMs)
라이브 이미지 데이터를 전송하여 삽입 추출을 수행합니다. 결과는 ImageEmbedder.ImageEmbedderOptions에 제공된 OutputHandler.ResultListener를 통해 확인할 수 있습니다.
void
embedAsync(MPImage 이미지, 긴 timestampMs)
라이브 이미지 데이터를 전송하여 기본 이미지 처리 옵션, 즉
ImageEmbedderResult
embedForVideo(MPImage 이미지, ImageProcessingOptions imageProcessingOptions, long timestampMs)
제공된 동영상 프레임에서 임베딩 추출을 수행합니다.
ImageEmbedderResult
embedForVideo(MPImage 이미지, 긴 timestampMs)
기본 이미지 처리 옵션(즉,)을 사용하여 제공된 동영상 프레임에서 임베딩 추출을 실행합니다.

상속된 메서드

공개 메서드

public static double cosineSimilarity (임베딩 u, 임베딩 v)

Embedding 객체 간의 코사인 유사성을 계산하는 유틸리티 함수입니다.

매개변수
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)

제공된 단일 이미지에서 임베딩 추출을 수행합니다. ImageEmbedderERROR(/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를 통해 확인할 수 있습니다. ImageEmbedderERROR(/RunningMode.LIVE_STREAM)로 생성된 경우에만 이 메서드를 사용합니다.

입력 이미지가 객체 감지기로 전송되는 시점을 나타내는 타임스탬프 (밀리초)를 제공해야 합니다. 입력 타임스탬프는 단조 증가해야 합니다.

ImageEmbedder는 다음 색상 공간 유형을 지원합니다.

매개변수
이미지 처리할 MediaPipe MPImage 객체입니다.
imageProcessingOptions 추론을 실행하기 전에 입력 이미지를 처리하는 방법을 지정하는 ImageProcessingOptions입니다.
timestampMs 입력 타임스탬프 (밀리초)입니다.
생성 값
내부 오류가 있는 경우

public void embedAsync (MPImage 이미지, long timestampMs)

라이브 이미지 데이터를 전송하여 기본 이미지 처리 옵션으로 임베딩 추출을 수행합니다.즉, 전체 이미지를 관심 영역으로 사용하고 회전을 적용하지 않습니다. 결과는 ImageEmbedder.ImageEmbedderOptions에서 제공하는 OutputHandler.ResultListener를 통해 확인할 수 있습니다. ImageEmbedderERROR(/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 입력 타임스탬프 (밀리초)입니다.
생성 값
내부 오류가 있는 경우