Przeprowadza klasyfikację obrazów.
Interfejs API oczekuje modelu TFLite z opcjonalnymi, ale zdecydowanie zalecanymi metadanymi modelu TFLite.
Interfejs API obsługuje modele z 1 tensorem wejściowym obrazu i co najmniej 1 tensorem wyjściowym. Oto wymagania.
- Tensor obrazu wejściowego (
kTfLiteUInt8
/kTfLiteFloat32
)- obraz o rozmiarze
[batch x height x width x channels]
. - wnioskowanie zbiorcze nie jest obsługiwane (wartość
batch
musi wynosić 1). - obsługiwane są tylko wejścia RGB (wartość
channels
musi wynosić 3). - W przypadku typu kTfLiteFloat32 do metadanych należy dołączyć atrybut NormalizationOptions w celu normalizacji danych wejściowych.
- obraz o rozmiarze
- Co najmniej 1 tensor wyjściowy (
kTfLiteUInt8
/kTfLiteFloat32
) z:N
klasy i 2 lub 4 wymiary, tj.[1 x N]
lub[1 x 1 x 1 x N]
- opcjonalne (ale zalecane) mapy etykiet jako Powiązane pliki typu TENSOR_AXIS_LABELS zawierające po jednej etykiecie w wierszu. Pierwszy taki element AssociatedFile (jeśli występuje) jest używany do wypełnienia pola
class_name
wyników. Poledisplay_name
jest wypełniane na podstawie pliku AssociatedFile (jeśli występuje), którego język jest zgodny z polemdisplay_names_locale
polaImageClassifierOptions
używanego podczas tworzenia („en” – domyślnie, tj. angielskim). Jeśli żadna z tych opcji nie jest dostępna, wypełnione będzie tylko poleindex
. - opcjonalną kalibrację wyników można dołączyć za pomocą opcji ScoreCalibrationOptions i elementu AssociatedFile typu TENSOR_AXIS_SCORE_CALIBRATION. Więcej informacji znajdziesz na stronie metadata_schema.fbs.
Przykład takiego modelu znajdziesz tutaj.
Zagnieżdżone klasy
klasa | ImageClassifier.ImageClassifierOptions | Opcje konfiguracji i usługi ImageClassifier . |
Metody publiczne
ImageClassifierResult | |
ImageClassifierResult |
classify(obraz MPImage, opcje przetwarzania obrazu ImageProcessingOptions)
Przeprowadza klasyfikację na podanym pojedynczym obrazie.
|
void |
classifyAsync(obraz MPImage, ImageProcessingOptions imageProcessingOptions, długi timestampMs)
Wysyła bieżące dane obrazu do klasyfikacji, a wyniki będą dostępne przez interfejs
OutputHandler.ResultListener w interfejsie ImageClassifier.ImageClassifierOptions . |
void |
classifyAsync(obraz MPImage, długie sygnatury czasowe)
Wysyła aktywne dane obrazu w celu przeprowadzenia klasyfikacji z użyciem domyślnych opcji przetwarzania obrazu, np.
|
ImageClassifierResult |
classifyForVideo(obraz MPImage, długie sygnatury czasowe)
Przeprowadza klasyfikację w dostarczonej ramce wideo z domyślnymi opcjami przetwarzania obrazu, tj.
|
ImageClassifierResult |
classifyForVideo(obraz MPImage, ImageProcessingOptions imageProcessingOptions, długi timestampMs)
Przeprowadza klasyfikację w podanej klatce wideo.
|
statyczny ImageClassifier |
createFromBuffer(kontekst kontekst, ByteBuffer modelBuffer)
Tworzy instancję
ImageClassifier z bufora modelu i domyślnej wartości ImageClassifier.ImageClassifierOptions . |
statyczny ImageClassifier |
createFromFile(Kontekst; ciąg znaków modelPath)
Tworzy instancję
ImageClassifier z pliku modelu i domyślny element ImageClassifier.ImageClassifierOptions . |
statyczny ImageClassifier |
createFromFile(kontekst; plik modelFile)
Tworzy instancję
ImageClassifier z pliku modelu i domyślny element ImageClassifier.ImageClassifierOptions . |
statyczny ImageClassifier |
createFromOptions(kontekst kontekst, opcje ImageClassifier.ImageClassifierOptions)
Tworzy instancję
ImageClassifier z instancji ImageClassifier.ImageClassifierOptions . |
Metody dziedziczone
Metody publiczne
public ImageClassifierResult classify (obraz MPImage)
Przeprowadza klasyfikację na przesłanym pojedynczym obrazie z domyślnymi opcjami przetwarzania obrazu, tj. wykorzystuje cały obraz jako interesujący Cię region bez żadnej rotacji. Używaj tej metody tylko wtedy, gdy obiekt ImageClassifier
został utworzony za pomocą metody ERROR(/RunningMode.IMAGE)
.
ImageClassifier
obsługuje te typy przestrzeni kolorów:
Parametry
obraz | do przetwarzania obiektu MediaPipe MPImage . |
---|
Rzuty
jeśli wystąpił błąd wewnętrzny. |
public ImageClassifierResult classify (obraz MPImage, ImageProcessingOptions imageProcessingOptions)
Przeprowadza klasyfikację na podanym pojedynczym obrazie. Używaj tej metody tylko wtedy, gdy tworzony jest ImageClassifier
za pomocą ERROR(/RunningMode.IMAGE)
.
ImageClassifier
obsługuje te typy przestrzeni kolorów:
Parametry
obraz | do przetwarzania obiektu MediaPipe MPImage . |
---|---|
imageProcessingOptions | ImageProcessingOptions określający sposób przetwarzania obrazu wejściowego przed uruchomieniem wnioskowania. |
Rzuty
jeśli wystąpił błąd wewnętrzny. |
public void classifyAsync (obraz MPImage, ImageProcessingOptions imageProcessingOptions, długi timestampMs)
Wysyła bieżące dane obrazu do klasyfikacji, a wyniki będą dostępne przez interfejs OutputHandler.ResultListener
w interfejsie ImageClassifier.ImageClassifierOptions
. Używaj tej metody tylko wtedy, gdy ImageClassifier
zostaje utworzony za pomocą ERROR(/RunningMode.LIVE_STREAM)
.
Podanie sygnatury czasowej (w milisekundach), która wskazuje, kiedy obraz wejściowy jest wysyłany do detektora obiektów, jest wymagany. Podane sygnatury czasowe muszą rosnąć monotonicznie.
ImageClassifier
obsługuje te typy przestrzeni kolorów:
Parametry
obraz | do przetwarzania obiektu MediaPipe MPImage . |
---|---|
imageProcessingOptions | ImageProcessingOptions określający sposób przetwarzania obrazu wejściowego przed uruchomieniem wnioskowania. |
timestampMs | wejściową sygnaturę czasową (w milisekundach). |
Rzuty
jeśli wystąpił błąd wewnętrzny. |
public void classifyAsync (obraz MPImage, długie sygnatura czasowa)
Wysyła aktywne dane obrazu w celu przeprowadzenia klasyfikacji z domyślnymi opcjami przetwarzania obrazu, tj.wykorzystanie całego obrazu jako odpowiedniego regionu bez żadnej rotacji. Wyniki będą dostępne za pomocą funkcji OutputHandler.ResultListener
podanej w interfejsie ImageClassifier.ImageClassifierOptions
. Używaj tej metody tylko wtedy, gdy obiekt ImageClassifier
został utworzony za pomocą ERROR(/RunningMode.LIVE_STREAM)
.
Podanie sygnatury czasowej (w milisekundach), która wskazuje, kiedy obraz wejściowy jest wysyłany do detektora obiektów, jest wymagany. Podane sygnatury czasowe muszą rosnąć monotonicznie.
ImageClassifier
obsługuje te typy przestrzeni kolorów:
Parametry
obraz | do przetwarzania obiektu MediaPipe MPImage . |
---|---|
timestampMs | wejściową sygnaturę czasową (w milisekundach). |
Rzuty
jeśli wystąpił błąd wewnętrzny. |
public ImageClassifierResult classifyForVideo (obraz MPImage, długie sygnatury czasowe)
Przeprowadza klasyfikację w podanej ramce wideo z domyślnymi opcjami przetwarzania obrazu, tj. wykorzystuje cały obraz jako interesujący Cię region bez żadnej rotacji. Używaj tej metody tylko wtedy, gdy ImageClassifier
zostaje utworzony za pomocą ERROR(/RunningMode.VIDEO)
.
Wymagane jest podanie sygnatury czasowej klatki wideo (w milisekundach). Wejściowe sygnatury czasowe muszą rosnąć monotonicznie.
ImageClassifier
obsługuje te typy przestrzeni kolorów:
Parametry
obraz | do przetwarzania obiektu MediaPipe MPImage . |
---|---|
timestampMs | wejściową sygnaturę czasową (w milisekundach). |
Rzuty
jeśli wystąpił błąd wewnętrzny. |
public ImageClassifierResult classifyForVideo (obraz MPImage, ImageProcessingOptions imageProcessingOptions, long timestampMs)
Przeprowadza klasyfikację w podanej klatce wideo. Używaj tej metody tylko wtedy, gdy tworzony jest ImageClassifier
za pomocą ERROR(/RunningMode.VIDEO)
.
Wymagane jest podanie sygnatury czasowej klatki wideo (w milisekundach). Wejściowe sygnatury czasowe muszą rosnąć monotonicznie.
ImageClassifier
obsługuje te typy przestrzeni kolorów:
Parametry
obraz | do przetwarzania obiektu MediaPipe MPImage . |
---|---|
imageProcessingOptions | ImageProcessingOptions określający sposób przetwarzania obrazu wejściowego przed uruchomieniem wnioskowania. |
timestampMs | wejściową sygnaturę czasową (w milisekundach). |
Rzuty
jeśli wystąpił błąd wewnętrzny. |
public static ImageClassifier createFromBuffer (Kontekst kontekstu, ByteBuffer modelBuffer)
Tworzy instancję ImageClassifier
z bufora modelu i domyślnej wartości ImageClassifier.ImageClassifierOptions
.
Parametry
sytuacja | ERROR(/Context) na Androidzie. |
---|---|
modelBuffer | bezpośrednia ByteBuffer lub ERROR(/MappedByteBuffer) modelu klasyfikacji. |
Rzuty
jeśli podczas tworzenia zbioru danych ImageClassifier wystąpi błąd.
|
public static ImageClassifier createFromFile (Kontekst kontekstu, String modelPath)
Tworzy instancję ImageClassifier
z pliku modelu i domyślny element ImageClassifier.ImageClassifierOptions
.
Parametry
sytuacja | ERROR(/Context) na Androidzie. |
---|---|
modelPath | ścieżki do modelu klasyfikacji w zasobach. |
Rzuty
jeśli podczas tworzenia zbioru danych ImageClassifier wystąpi błąd.
|
public static ImageClassifier createFromFile (Kontekst kontekst, Plik modelFile)
Tworzy instancję ImageClassifier
z pliku modelu i domyślny element ImageClassifier.ImageClassifierOptions
.
Parametry
sytuacja | ERROR(/Context) na Androidzie. |
---|---|
modelFile | instancję modelu klasyfikacji File . |
Rzuty
IOException | jeśli podczas otwierania pliku modelu tflite wystąpi błąd wejścia-wyjścia. |
---|---|
jeśli podczas tworzenia zbioru danych ImageClassifier wystąpi błąd.
|
public static ImageClassifier createFromOptions (Kontekst kontekstowy, opcje ImageClassifier.ImageClassifierOptions)
Tworzy instancję ImageClassifier
z instancji ImageClassifier.ImageClassifierOptions
.
Parametry
sytuacja | ERROR(/Context) na Androidzie. |
---|---|
Opcje | instancję ImageClassifier.ImageClassifierOptions . |
Rzuty
jeśli podczas tworzenia zbioru danych ImageClassifier wystąpi błąd.
|