ObjectDetector

publiczna klasa końcowego ObjectDetector

Wykrywanie obiektów na obrazach.

Interfejs API oczekuje modelu TFLite z metadanymi modelu TFLite.

Interfejs API obsługuje modele z 1 tensorem wejściowym obrazu i 4 tensorami wyjściowymi. 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, aby znormalizować dane wejściowe.
  • Tensory wyjściowe muszą być 4 wyjściami operacji DetectionPostProcess, np.:
    • Tensor lokalizacji (kTfLiteFloat32):
      • tensor rozmiaru [1 x num_results x 4], czyli tablica wewnętrzna reprezentująca ramki ograniczające w formacie [top, left, right, dołu].
      • Do metadanych muszą być dołączone atrybuty BoundingBoxProperties i muszą określać type=BOUNDARIES oraz coordinate_type=RATIO.
    • Tensor klas (kTfLiteFloat32):
      • tensor rozmiaru [1 x num_results], przy czym każda wartość reprezentuje indeks liczby całkowitej klasy.
      • jeśli mapy etykiet są dołączone do metadanych jako powiązane pliki (TENSOR_VALUE_LABELS), są one używane do konwertowania wartości tensorów na etykiety.
    • tensor wyników (kTfLiteFloat32):
      • tensor rozmiaru [1 x num_results], każda wartość reprezentująca wynik wykrytego obiektu.
    • Liczba tensorów wykrywania (kTfLiteFloat32):
      • liczba całkowita num_results w postaci tensora rozmiaru [1].

Przykład takiego modelu znajdziesz w centrum TensorFlow.

Zagnieżdżone klasy

klasa ObjectDetector.ObjectDetectorOptions Opcje konfigurowania: ObjectDetector 

Metody publiczne

static ObjectDetector
createFromBuffer(kontekst kontekst, ByteBuffer modelBuffer)
Tworzy instancję ObjectDetector z bufora modelu i domyślnej wartości ObjectDetector.ObjectDetectorOptions.
static ObjectDetector
createFromFile(Kontekst; ciąg znaków modelPath)
Tworzy instancję ObjectDetector z pliku modelu i domyślne ObjectDetector.ObjectDetectorOptions.
static ObjectDetector
createFromFile(kontekst; plik modelFile)
Tworzy instancję ObjectDetector z pliku modelu i domyślne ObjectDetector.ObjectDetectorOptions.
static ObjectDetector
ObjectDetectorResult
detect(obraz MPImage)
Wykrywanie obiektów na pojedynczym obrazie z domyślnymi opcjami przetwarzania obrazu, tj.
ObjectDetectorResult
detect(obraz MPImage, ImageProcessingOptions imageProcessingOptions)
Wykrywanie obiektów na pojedynczym obrazie.
void
detectAsync(obraz MPImage, ImageProcessingOptions imageProcessingOptions, long timestampMs)
Wysyła bieżące dane obrazu w celu wykrywania obiektów, a wyniki są dostępne za pomocą interfejsu OutputHandler.ResultListener w ObjectDetector.ObjectDetectorOptions.
void
detectAsync(obraz MPImage, długie sygnatury czasowe)
Wysyła bieżące dane obrazu w celu wykrywania obiektów za pomocą domyślnych opcji przetwarzania obrazu, tj.
ObjectDetectorResult
detectForVideo(obraz MPImage, ImageProcessingOptions imageProcessingOptions, długi timestampMs)
Wykrywanie obiektów w dostarczonej ramce wideo.
ObjectDetectorResult
detectForVideo(obraz MPImage, długie sygnatury czasowe)
Wykrywanie obiektów w podanej ramce wideo z domyślnymi opcjami przetwarzania obrazu, tj.

Metody dziedziczone

Metody publiczne

public static ObjectDetector createFromBuffer (Kontekst kontekstu, ByteBuffer modelBuffer)

Tworzy instancję ObjectDetector z bufora modelu i domyślnej wartości ObjectDetector.ObjectDetectorOptions.

Parametry
sytuacja ERROR(/Context) na Androidzie.
modelBuffer bezpośrednie ByteBuffer lub ERROR(/MappedByteBuffer) modelu wykrywania.
Rzuty
jeśli podczas tworzenia zbioru danych ObjectDetector wystąpi błąd.

public static ObjectDetector createFromFile (Kontekst; String modelPath)

Tworzy instancję ObjectDetector z pliku modelu i domyślne ObjectDetector.ObjectDetectorOptions.

Parametry
sytuacja ERROR(/Context) na Androidzie.
modelPath do modelu wykrywania z metadanymi w zasobach.
Rzuty
jeśli podczas tworzenia zbioru danych ObjectDetector wystąpi błąd.

public static ObjectDetector createFromFile (Kontekst kontekstu, Plik modelFile)

Tworzy instancję ObjectDetector z pliku modelu i domyślne ObjectDetector.ObjectDetectorOptions.

Parametry
sytuacja ERROR(/Context) na Androidzie.
modelFile instancję modelu wykrywania File.
Rzuty
IOException jeśli podczas otwierania pliku modelu tflite wystąpi błąd wejścia-wyjścia.
jeśli podczas tworzenia zbioru danych ObjectDetector wystąpi błąd.

public static ObjectDetector createFromOptions (Kontekst kontekstowy, ObjectDetector.ObjectDetectorOptionsdetectorOptions)

Parametry
sytuacja ERROR(/Context) na Androidzie.
detectorOptions instancję ObjectDetector.ObjectDetectorOptions.
Rzuty
jeśli podczas tworzenia zbioru danych ObjectDetector wystąpi błąd.

public ObjectDetectorResult detect (obraz MPImage)

Wykrywanie obiektów na pojedynczym obrazie z użyciem domyślnych opcji przetwarzania obrazu, tj. bez zastosowania rotacji. Używaj tej metody tylko wtedy, gdy ObjectDetector zostaje utworzony za pomocą ERROR(/RunningMode.IMAGE).

ObjectDetector obsługuje te typy przestrzeni kolorów:

Parametry
obraz do przetwarzania obiektu MediaPipe MPImage.
Rzuty
jeśli wystąpił błąd wewnętrzny.

public ObjectDetectorResult detect (obraz MPImage, ImageProcessingOptions imageProcessingOptions)

Wykrywanie obiektów na pojedynczym obrazie. Używaj tej metody tylko wtedy, gdy tworzony jest ObjectDetector za pomocą ERROR(/RunningMode.IMAGE).

ObjectDetector 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. Zwróć uwagę, że to zadanie nie obsługuje regionu zainteresowań: określenie wartości ImageProcessingOptions.regionOfInterest() spowoduje, że ta metoda spowoduje zgłoszenie wyjątku IllegalArgumentException.
Rzuty
IllegalArgumentException jeśli ImageProcessingOptions określa region zainteresowań.
jeśli wystąpił błąd wewnętrzny.

public void detectAsync (obraz MPImage, ImageProcessingOptions imageProcessingOptions, długi timestampMs)

Wysyła bieżące dane obrazu w celu wykrywania obiektów, a wyniki są dostępne za pomocą interfejsu OutputHandler.ResultListener w ObjectDetector.ObjectDetectorOptions. Używaj tej metody tylko wtedy, gdy ObjectDetector 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.

ObjectDetector 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. Zwróć uwagę, że to zadanie nie obsługuje regionu zainteresowań: określenie wartości ImageProcessingOptions.regionOfInterest() spowoduje, że ta metoda spowoduje zgłoszenie wyjątku IllegalArgumentException.
timestampMs wejściową sygnaturę czasową (w milisekundach).
Rzuty
IllegalArgumentException jeśli ImageProcessingOptions określa region zainteresowań.
jeśli wystąpił błąd wewnętrzny.

public void detectAsync (obraz MPImage, długie sygnatura czasowa)

Wysyła bieżące dane obrazu w celu przeprowadzenia wykrywania obiektów z użyciem domyślnych opcji przetwarzania obrazu, tj. bez zastosowanego obrotu, a wyniki będą dostępne za pomocą funkcji OutputHandler.ResultListener podanej w ObjectDetector.ObjectDetectorOptions. Używaj tej metody tylko wtedy, gdy tworzony jest ObjectDetector 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.

ObjectDetector 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 ObjectDetectorResult detectForVideo (obraz MPImage, ImageProcessingOptions imageProcessingOptions, long timestampMs)

Wykrywanie obiektów w dostarczonej ramce wideo. Używaj tej metody tylko wtedy, gdy tworzony jest ObjectDetector za pomocą ERROR(/RunningMode.VIDEO).

Wymagane jest podanie sygnatury czasowej klatki wideo (w milisekundach). Wejściowe sygnatury czasowe muszą rosnąć monotonicznie.

ObjectDetector 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. Zwróć uwagę, że to zadanie nie obsługuje regionu zainteresowań: określenie wartości ImageProcessingOptions.regionOfInterest() spowoduje, że ta metoda spowoduje zgłoszenie wyjątku IllegalArgumentException.
timestampMs wejściową sygnaturę czasową (w milisekundach).
Rzuty
IllegalArgumentException jeśli ImageProcessingOptions określa region zainteresowań.
jeśli wystąpił błąd wewnętrzny.

public ObjectDetectorResult detectForVideo (obraz MPImage, długie sygnatury czasowe)

Wykrywanie obiektów w podanej ramce wideo z domyślnymi opcjami przetwarzania obrazu, tj. bez zastosowania rotacji. Używaj tej metody tylko wtedy, gdy ObjectDetector zostaje utworzony za pomocą ERROR(/RunningMode.VIDEO).

Wymagane jest podanie sygnatury czasowej klatki wideo (w milisekundach). Wejściowe sygnatury czasowe muszą rosnąć monotonicznie.

ObjectDetector 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.