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ść
batchmusi wynosić 1). - obsługiwane są tylko wejścia RGB (wartość
channelsmusi 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:Nklasy 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_namewyników. Poledisplay_namejest wypełniane na podstawie pliku AssociatedFile (jeśli występuje), którego język jest zgodny z polemdisplay_names_localepolaImageClassifierOptionsuż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.
|