이미지 분류를 수행합니다.
이 API는 선택사항이지만 TFLite 모델 메타데이터가 포함된 TFLite 모델을 예상합니다.
이 API는 하나의 이미지 입력 텐서와 하나 이상의 출력 텐서가 있는 모델을 지원합니다. 보다 구체적으로 요구사항은 다음과 같습니다.
- 입력 이미지 텐서 (
kTfLiteUInt8
/kTfLiteFloat32
)- 이미지 입력 크기는
[batch x height x width x channels]
입니다. - 일괄 추론은 지원되지 않습니다 (
batch
는 1이어야 함). - RGB 입력만 지원됩니다 (
channels
는 3이어야 함). - 유형이 kTfLiteFloat32인 경우 입력 정규화를 위해 NormalizationOptions를 메타데이터에 연결해야 합니다.
- 이미지 입력 크기는
- 다음을 포함하는 1개 이상의 출력 텐서 (
kTfLiteUInt8
/kTfLiteFloat32
)N
클래스와 2개 또는 4개의 측정기준(예:[1 x N]
또는[1 x 1 x 1 x N]
)- 선택사항이지만 권장되는 라벨 맵은 유형이 TENSOR_AXIS_LABELS인 AssociatedFile-s이며 한 줄에 하나씩 라벨이 포함됩니다. 첫 번째 AssociatedFile (있는 경우)이 결과의
class_name
필드를 채우는 데 사용됩니다.display_name
필드는 언어가 생성 시 사용된ImageClassifierOptions
의display_names_locale
필드('en', 기본적으로 영어)와 일치하는 AssociatedFile(있는 경우)에서 채워집니다. 사용할 수 있는 항목이 없으면 결과의index
필드만 채워집니다. - 선택적 점수 보정은 ScoreCalibrationOptions 및 유형이 TENSOR_AXIS_SCORE_CALIBRATION인 AssociatedFile을 사용하여 연결할 수 있습니다. 자세한 내용은 metadata_schema.fbs를 참조하세요.
이러한 모델의 예는 TensorFlow Hub에서 확인할 수 있습니다.
중첩된 클래스
클래스 | ImageClassifier.ImageClassifierOptions | 설정 및 ImageClassifier 옵션입니다. |
공개 메서드
상속된 메서드
공개 메서드
public ImageClassifierResult classify (MPImage 이미지)
기본 이미지 처리 옵션을 사용하여 제공된 단일 이미지에 대해 분류를 실행합니다. 즉, 전체 이미지를 관심 영역으로 사용하고 회전을 적용하지 않습니다. ImageClassifier
가 ERROR(/RunningMode.IMAGE)
로 생성된 경우에만 이 메서드를 사용합니다.
ImageClassifier
는 다음 색상 공간 유형을 지원합니다.
매개변수
이미지 | 처리할 MediaPipe MPImage 객체입니다. |
---|
생성 값
내부 오류가 있는 경우 |
public ImageClassifierResult classify (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
를 통해 확인할 수 있습니다. ImageClassifier
가 ERROR(/RunningMode.LIVE_STREAM)
로 생성된 경우에만 이 메서드를 사용합니다.
입력 이미지가 객체 감지기로 전송되는 시점을 나타내는 타임스탬프 (밀리초)를 제공해야 합니다. 입력 타임스탬프는 단조 증가해야 합니다.
ImageClassifier
는 다음 색상 공간 유형을 지원합니다.
매개변수
이미지 | 처리할 MediaPipe MPImage 객체입니다. |
---|---|
imageProcessingOptions | 추론을 실행하기 전에 입력 이미지를 처리하는 방법을 지정하는 ImageProcessingOptions 입니다. |
timestampMs | 입력 타임스탬프 (밀리초)입니다. |
생성 값
내부 오류가 있는 경우 |
public void classifyAsync (MPImage 이미지, long timestampMs)
실시간 이미지 데이터를 전송하여 기본 이미지 처리 옵션으로 분류를 수행합니다.즉, 전체 이미지를 관심 영역으로 사용하고 회전을 적용하지 않습니다. 결과는 ImageClassifier.ImageClassifierOptions
에서 제공하는 OutputHandler.ResultListener
를 통해 확인할 수 있습니다. ImageClassifier
가 ERROR(/RunningMode.LIVE_STREAM)
를 사용하여 생성된 경우에만 이 메서드를 사용합니다.
입력 이미지가 객체 감지기로 전송되는 시점을 나타내는 타임스탬프 (밀리초)를 제공해야 합니다. 입력 타임스탬프는 단조 증가해야 합니다.
ImageClassifier
는 다음 색상 공간 유형을 지원합니다.
매개변수
이미지 | 처리할 MediaPipe MPImage 객체입니다. |
---|---|
timestampMs | 입력 타임스탬프 (밀리초)입니다. |
생성 값
내부 오류가 있는 경우 |
public ImageClassifierResult classifyForVideo (MPImage 이미지, 긴 timestampMs)
기본 이미지 처리 옵션을 사용하여 제공된 동영상 프레임에 대해 분류를 실행합니다. 즉, 전체 이미지를 관심 영역으로 사용하고 회전을 적용하지 않습니다. ImageClassifier
가 ERROR(/RunningMode.VIDEO)
로 생성된 경우에만 이 메서드를 사용합니다.
동영상 프레임의 타임스탬프 (밀리초)를 제공해야 합니다. 입력 타임스탬프는 단조 증가해야 합니다.
ImageClassifier
는 다음 색상 공간 유형을 지원합니다.
매개변수
이미지 | 처리할 MediaPipe MPImage 객체입니다. |
---|---|
timestampMs | 입력 타임스탬프 (밀리초)입니다. |
생성 값
내부 오류가 있는 경우 |
public ImageClassifierResult classifyForVideo (MPImage 이미지, ImageProcessingOptions imageProcessingOptions, long timestampMs)
제공된 동영상 프레임에 대한 분류를 실행합니다. ERROR(/RunningMode.VIDEO)
를 사용하여 ImageClassifier
를 만들 때만 이 메서드를 사용합니다.
동영상 프레임의 타임스탬프 (밀리초)를 제공해야 합니다. 입력 타임스탬프는 단조 증가해야 합니다.
ImageClassifier
는 다음 색상 공간 유형을 지원합니다.
매개변수
이미지 | 처리할 MediaPipe MPImage 객체입니다. |
---|---|
imageProcessingOptions | 추론을 실행하기 전에 입력 이미지를 처리하는 방법을 지정하는 ImageProcessingOptions 입니다. |
timestampMs | 입력 타임스탬프 (밀리초)입니다. |
생성 값
내부 오류가 있는 경우 |
public static ImageClassifier createFromBuffer (Context context, ByteBuffer modelBuffer)
모델 버퍼 및 기본 ImageClassifier.ImageClassifierOptions
에서 ImageClassifier
인스턴스를 생성합니다.
매개변수
context | Android ERROR(/Context) |
---|---|
modelBuffer | 직접 ByteBuffer 또는 분류 모델의 ERROR(/MappedByteBuffer) 입니다. |
생성 값
ImageClassifier 생성 중 오류가 발생하는 경우
|
public static ImageClassifier createFromFile (Context context, String modelPath)
모델 파일 및 기본 ImageClassifier.ImageClassifierOptions
에서 ImageClassifier
인스턴스를 만듭니다.
매개변수
context | Android ERROR(/Context) |
---|---|
modelPath | 애셋의 분류 모델에 대한 경로를 지정해야 합니다. |
생성 값
ImageClassifier 생성 중 오류가 발생하는 경우
|
public static ImageClassifier createFromFile (Context context, File modelFile)
모델 파일 및 기본 ImageClassifier.ImageClassifierOptions
에서 ImageClassifier
인스턴스를 만듭니다.
매개변수
context | Android ERROR(/Context) |
---|---|
modelFile | 분류 모델 File 인스턴스입니다. |
생성 값
IOException | tflite 모델 파일을 열 때 I/O 오류가 발생하는지 여부 |
---|---|
ImageClassifier 생성 중 오류가 발생하는 경우
|
public static ImageClassifier createFromOptions (Context context, ImageClassifier.ImageClassifierOptions options)
ImageClassifier.ImageClassifierOptions
인스턴스에서 ImageClassifier
인스턴스를 만듭니다.
매개변수
context | Android ERROR(/Context) |
---|---|
옵션 | ImageClassifier.ImageClassifierOptions 인스턴스 |
생성 값
ImageClassifier 생성 중 오류가 발생하는 경우
|