Wykonuje segmentację obrazów.
Interfejs API oczekuje modelu TFLite z metadanymi modelu TFLite. .
Interfejs API obsługuje modele z jednym tensorem wejściowym obrazu i jednym tensorem wyjściowym. 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.
- wprowadzanie obrazu o rozmiarze
kTfLiteUInt8
/ kTfLiteFloat32
)- tensor rozmiaru
[batch x mask_height x mask_width x num_classes]
, gdziebatch
musi wynosić 1,mask_width
imask_height
to wymiary masek segmentacji tworzonych przez model, anum_classes
to liczba klas obsługiwanych przez model. - opcjonalne (ale zalecane) mapy etykiet można dołączyć jako pliki AssociatedFile typu TENSOR_AXIS_LABELS, zawierające jedną etykietę w linii. Pierwszy taki AssociatedFile (jeśli istnieje) jest używany do wypełnienia nazwy klasy, tj.
ColoredLabel.getlabel()
wyników. Nazwa wyświetlana, tj.ColoredLabel.getDisplayName()
, jest wypełniana z pliku AssociatedFile (jeśli istnieje), którego ustawienia regionalne odpowiadają polu `display_names_locale` w opcji `ImageSegmenterOptions` używanej w czasie tworzenia (domyślnie „en”, tj. w języku angielskim). Jeśli żaden z nich nie jest dostępny, wypełnione zostanie jedynie pole „indeks” wyników.
Przykład takiego modelu można znaleźć na TensorFlow Hub. .
Klasy zagnieżdżone
klasa | ImageSegmenter.ImageSegmenterOptions | Opcje konfiguracji ImageSegmenter . |
Metody publiczne
Metody dziedziczone
Metody publiczne
publiczny statyczny ImageSegmenter createFromBuffer ( ByteBuffer modelBuffer)
Tworzy instancję ImageSegmenter
z buforem modelu i domyślnym ImageSegmenter.ImageSegmenterOptions
.
Parametry
Bufor modelu | bezpośredni ByteBuffer lub MappedByteBuffer modelu segmentacji |
---|
Rzuca
Wyjątek IllegalStateException | jeśli wystąpił błąd wewnętrzny |
---|---|
Wyjątek czasu wykonania | jeśli wystąpi inny nieokreślony błąd |
Wyjątek IllegalArgument | jeśli bufor modelu nie jest bezpośrednim ByteBuffer lub MappedByteBuffer |
public static ImageSegmenter createFromBufferAndOptions (opcje ByteBuffer modelBuffer, ImageSegmenter.ImageSegmenterOptions )
Tworzy instancję ImageSegmenter
z buforem modelu i ImageSegmenter.ImageSegmenterOptions
.
Parametry
Bufor modelu | bezpośredni ByteBuffer lub MappedByteBuffer modelu segmentacji |
---|---|
opcje |
Rzuca
Wyjątek IllegalStateException | jeśli wystąpił błąd wewnętrzny |
---|---|
Wyjątek czasu wykonania | jeśli wystąpi inny nieokreślony błąd |
Wyjątek IllegalArgument | jeśli bufor modelu nie jest bezpośrednim ByteBuffer lub MappedByteBuffer |
public static ImageSegmenter createFromFile (kontekst kontekstowy, string modelPath)
Tworzy instancję ImageSegmenter
na podstawie domyślnej ImageSegmenter.ImageSegmenterOptions
.
Parametry
kontekst | |
---|---|
Ścieżka modelu | ścieżka modelu segmentacji z metadanymi w zasobach |
Rzuca
Wyjątek IO | jeśli wystąpi błąd we/wy podczas ładowania modelu tflite |
---|---|
Wyjątek IllegalArgument | jeśli argument jest nieprawidłowy |
Wyjątek IllegalStateException | jeśli wystąpił błąd wewnętrzny |
Wyjątek czasu wykonania | jeśli wystąpi inny nieokreślony błąd |
publiczny statyczny ImageSegmenter createFromFile ( plik modelFile)
Tworzy instancję ImageSegmenter
na podstawie domyślnej ImageSegmenter.ImageSegmenterOptions
.
Parametry
plik modelu | model segmentacji Instancja File |
---|
Rzuca
Wyjątek IO | jeśli wystąpi błąd we/wy podczas ładowania modelu tflite |
---|---|
Wyjątek IllegalArgument | jeśli argument jest nieprawidłowy |
Wyjątek IllegalStateException | jeśli wystąpił błąd wewnętrzny |
Wyjątek czasu wykonania | jeśli wystąpi inny nieokreślony błąd |
public static ImageSegmenter createFromFileAndOptions ( Opcje pliku modelFile, ImageSegmenter.ImageSegmenterOptions )
Tworzy instancję ImageSegmenter
z ImageSegmenter.ImageSegmenterOptions
.
Parametry
plik modelu | model segmentacji Instancja File |
---|---|
opcje |
Rzuca
Wyjątek IO | jeśli wystąpi błąd we/wy podczas ładowania modelu tflite |
---|---|
Wyjątek IllegalArgument | jeśli argument jest nieprawidłowy |
Wyjątek IllegalStateException | jeśli wystąpił błąd wewnętrzny |
Wyjątek czasu wykonania | jeśli wystąpi inny nieokreślony błąd |
public static ImageSegmenter createFromFileAndOptions (kontekst kontekstowy, String modelPath, opcje ImageSegmenter.ImageSegmenterOptions )
Tworzy instancję ImageSegmenter
z ImageSegmenter.ImageSegmenterOptions
.
Parametry
kontekst | |
---|---|
Ścieżka modelu | ścieżka modelu segmentacji z metadanymi w zasobach |
opcje |
Rzuca
Wyjątek IO | jeśli wystąpi błąd we/wy podczas ładowania modelu tflite |
---|---|
Wyjątek IllegalArgument | jeśli argument jest nieprawidłowy |
Wyjątek IllegalStateException | jeśli wystąpił błąd wewnętrzny |
Wyjątek czasu wykonania | jeśli wystąpi inny nieokreślony błąd |
public List < Segmentacja > segment (długa ramkaBufferHandle, opcje ImageProcessingOptions )
Parametry
uchwyt bufora ramki | |
---|---|
opcje |
lista publiczna <segmentacja> segment (obraz TensorImage )
Wykonuje rzeczywistą segmentację dostarczonego obrazu.
ImageSegmenter
obsługuje następujące typy przestrzeni kolorów TensorImage
:
Parametry
obraz | obiekt TensorImage UINT8, który reprezentuje obraz RGB lub YUV |
---|
Zwroty
- wyniki przeprowadzenia segmentacji obrazu. Należy pamiętać, że w tym momencie oczekuje się zwrócenia pojedynczego elementu
Segmentation
. Wynik jest przechowywany naList
w celu późniejszego rozszerzenia na przykład do modeli segmentacji instancji, które mogą zwracać jedną segmentację na obiekt.
Rzuca
Wyjątek IllegalStateException | jeśli wystąpił błąd wewnętrzny |
---|---|
Wyjątek czasu wykonania | jeśli wystąpi inny nieokreślony błąd |
Wyjątek IllegalArgument | jeśli typ przestrzeni kolorów obrazu nie jest obsługiwany |
lista publiczna <segmentacja> segment (obraz MlImage )
Wykonuje rzeczywistą segmentację na dostarczonym MlImage
.
Parametry
obraz | MlImage do segmentacji. |
---|
Zwroty
- wyniki przeprowadzenia segmentacji obrazu. Należy pamiętać, że w tym momencie oczekuje się zwrócenia pojedynczego elementu
Segmentation
. Wynik jest przechowywany naList
w celu późniejszego rozszerzenia na przykład do modeli segmentacji instancji, które mogą zwracać jedną segmentację na obiekt.
Rzuca
Wyjątek IllegalStateException | jeśli wystąpił błąd wewnętrzny |
---|---|
Wyjątek czasu wykonania | jeśli wystąpi inny nieokreślony błąd |
Wyjątek IllegalArgument | jeśli typ przechowywania lub format obrazu nie jest obsługiwany |
lista publiczna <segmentacja> segment (obraz TensorImage , opcje ImageProcessingOptions )
Wykonuje rzeczywistą segmentację dostarczonego obrazu za pomocą ImageProcessingOptions
.
ImageSegmenter
obsługuje następujące typy przestrzeni kolorów TensorImage
:
ImageSegmenter
obsługuje następujące opcje:
- obrót obrazu (poprzez
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
). Domyślnie jest toImageProcessingOptions.Orientation.TOP_LEFT
Parametry
obraz | obiekt TensorImage UINT8, który reprezentuje obraz RGB lub YUV |
---|---|
opcje | opcje konfigurują sposób wstępnego przetwarzania obrazu |
Zwroty
- wyniki przeprowadzenia segmentacji obrazu. Należy pamiętać, że w tym momencie oczekuje się zwrócenia pojedynczego elementu
Segmentation
. Wynik jest przechowywany naList
w celu późniejszego rozszerzenia na przykład do modeli segmentacji instancji, które mogą zwracać jedną segmentację na obiekt.
Rzuca
Wyjątek IllegalStateException | jeśli wystąpił błąd wewnętrzny |
---|---|
Wyjątek czasu wykonania | jeśli wystąpi inny nieokreślony błąd |
Wyjątek IllegalArgument | jeśli typ przestrzeni kolorów obrazu nie jest obsługiwany |
public List < Segmentacja > segment (obraz MlImage , opcje ImageProcessingOptions )
Wykonuje rzeczywistą segmentację na dostarczonym MlImage
z ImageProcessingOptions
.
ImageSegmenter
obsługuje następujące opcje:
- obrót obrazu (poprzez
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
). Domyślnie jest toImageProcessingOptions.Orientation.TOP_LEFT
.MlImage.getRotation()
nie jest skuteczna.
Parametry
obraz | MlImage do segmentacji. |
---|---|
opcje | opcje konfigurują sposób wstępnego przetwarzania obrazu. |
Zwroty
- wyniki przeprowadzenia segmentacji obrazu. Należy pamiętać, że w tym momencie oczekuje się zwrócenia pojedynczego elementu
Segmentation
. Wynik jest przechowywany naList
w celu późniejszego rozszerzenia na przykład do modeli segmentacji instancji, które mogą zwracać jedną segmentację na obiekt.
Rzuca
Wyjątek IllegalStateException | jeśli wystąpił błąd wewnętrzny |
---|---|
Wyjątek czasu wykonania | jeśli wystąpi inny nieokreślony błąd |
Wyjątek IllegalArgument | jeśli typ przestrzeni kolorów obrazu nie jest obsługiwany |