ObjectDetector
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Wykonuje wykrywanie obiektów na obrazach.
Interfejs API oczekuje modelu TFLite z metadanymi modelu TFLite. .
Interfejs API obsługuje modele z jednym tensorem wejściowym obrazu i czterema tensorami wyjściowymi. Mówiąc dokładniej, oto wymagania.
- Tensor obrazu wejściowego (
kTfLiteUInt8
/ kTfLiteFloat32
)- wprowadzanie obrazu o rozmiarze
[batch x height x width x channels]
. - wnioskowanie wsadowe nie jest obsługiwane (wymagana jest
batch
1). - obsługiwane są tylko wejścia RGB (wymagane są 3
channels
). - jeśli typ to
kTfLiteFloat32
, do metadanych należy dołączyć NormalizationOptions w celu normalizacji danych wejściowych.
Tensory wyjściowe muszą być 4 wyjściami operacji DetectionPostProcess
, tj.:- Tensor lokalizacji (
kTfLiteFloat32
):- tensor rozmiaru
[1 x num_results x 4]
, wewnętrzna tablica reprezentująca ramki ograniczające w postaci [góra, lewa, prawa, dół]. - Wymagane jest dołączenie
BoundingBoxProperties
do metadanych i określenie type=BOUNDARIES
oraz coordinate_type=RATIO
.
Tensor klas ( kTfLiteFloat32
):- tensor rozmiaru
[1 x num_results]
, każda wartość reprezentuje indeks całkowity klasy. - jeśli mapy etykiet są dołączone do metadanych jako pliki powiązane
TENSOR_VALUE_LABELS
, są one używane do konwertowania wartości tensora na etykiety.
tensor wyników ( kTfLiteFloat32
):- tensor rozmiaru
[1 x num_results]
, każda wartość reprezentuje wynik wykrytego obiektu.
Liczba tensorów detekcji ( kTfLiteFloat32
):- liczba całkowita num_results jako tensor rozmiaru
[1]
.
Przykład takiego modelu można znaleźć na TensorFlow Hub. .
Metody dziedziczone
Z klasy java.lang.Object wartość logiczna | |
ostatnia klasa <?> | pobierzKlasę () |
wew | hashCode () |
ostateczna pustka | powiadomić () |
ostateczna pustka | powiadom wszystkich () |
Strunowy | doString () |
ostateczna pustka | czekaj (długi arg0, int arg1) |
ostateczna pustka | czekaj (długi arg0) |
ostateczna pustka | Czekać () |
Z interfejsu java.io.Closeable abstrakcyjna pustka | zamknąć () |
Z interfejsu java.lang.AutoCloseable abstrakcyjna pustka | zamknąć () |
Metody publiczne
public static ObjectDetector createFromFile (kontekst kontekstowy, string modelPath)
Parametry
kontekst | |
---|
Ścieżka modelu | ścieżka do modelu wykrywania z metadanymi w zasobach |
---|
public static ObjectDetector createFromFile ( plik modelFile)
Parametry
plik modelu | model wykrywania Instancja File |
---|
Parametry
kontekst | |
---|
Ścieżka modelu | ścieżka do modelu wykrywania z metadanymi w zasobach |
---|
opcje | |
---|
Parametry
plik modelu | model wykrywania Instancja File |
---|
opcje | |
---|
Wykonuje rzeczywiste wykrywanie na dostarczonym MlImage
.
Parametry
obraz | obiekt MlImage reprezentujący obraz |
---|
Parametry
obraz | obiekt TensorImage UINT8, który reprezentuje obraz RGB lub YUV |
---|
opcje | opcje umożliwiające skonfigurowanie sposobu wstępnego przetwarzania obrazu |
---|
Parametry
obraz | obiekt MlImage reprezentujący obraz |
---|
opcje | opcje umożliwiające skonfigurowanie sposobu wstępnego przetwarzania obrazu |
---|
Wykonuje rzeczywiste wykrywanie na dostarczonym obrazie.
ObjectDetector
obsługuje następujące typy przestrzeni kolorów TensorImage
:
Parametry
obraz | obiekt TensorImage UINT8, który reprezentuje obraz RGB lub YUV |
---|
O ile nie stwierdzono inaczej, treść tej strony jest objęta licencją Creative Commons – uznanie autorstwa 4.0, a fragmenty kodu są dostępne na licencji Apache 2.0. Szczegółowe informacje na ten temat zawierają zasady dotyczące witryny Google Developers. Java jest zastrzeżonym znakiem towarowym firmy Oracle i jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2023-12-01 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Brak potrzebnych mi informacji"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Zbyt skomplikowane / zbyt wiele czynności do wykonania"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Nieaktualne treści"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"Problem z tłumaczeniem"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Problem z przykładami/kodem"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Inne"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Łatwo zrozumieć"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Rozwiązało to mój problem"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Inne"
}]