Melakukan segmentasi pada gambar.
API mengharapkan model TFLite dengan Metadata Model TFLite. .
API mendukung model dengan satu tensor masukan gambar dan satu tensor keluaran. Untuk lebih spesifiknya, berikut persyaratannya.
- Tensor gambar masukan (
kTfLiteUInt8
/kTfLiteFloat32
)- masukan gambar dengan ukuran
[batch x height x width x channels]
. - inferensi batch tidak didukung (
batch
harus 1). - hanya input RGB yang didukung (
channels
harus ada 3). - jika tipenya adalah
kTfLiteFloat32
, NormalizationOptions harus dilampirkan ke metadata untuk normalisasi input.
- masukan gambar dengan ukuran
kTfLiteUInt8
/ kTfLiteFloat32
)- tensor berukuran
[batch x mask_height x mask_width x num_classes]
, denganbatch
harus 1,mask_width
danmask_height
adalah dimensi masker segmentasi yang dihasilkan oleh model, dannum_classes
adalah jumlah kelas yang didukung oleh model. - peta label opsional (tetapi disarankan) dapat dilampirkan sebagai AssociatedFile-s dengan tipe TENSOR_AXIS_LABELS, berisi satu label per baris. AssociatedFile pertama (jika ada) digunakan untuk mengisi nama kelas, yaitu
ColoredLabel.getlabel()
dari hasilnya. Nama tampilan, yaituColoredLabel.getDisplayName()
, diisi dari AssociatedFile (jika ada) yang lokalnya cocok dengan bidang `display_names_locale` dari `ImageSegmenterOptions` yang digunakan pada waktu pembuatan ("en" secara default, yaitu bahasa Inggris). Jika tidak ada yang tersedia, hanya kolom `indeks` pada hasil yang akan diisi.
Contoh model tersebut dapat ditemukan di TensorFlow Hub. .
Kelas Bersarang
kelas | ImageSegmenter.ImageSegmenterOptions | Opsi untuk menyiapkan ImageSegmenter . |
Metode Publik
Metode Warisan
Metode Publik
ImageSegmenter statis publik createFromBuffer ( ByteBuffer modelBuffer)
Membuat instance ImageSegmenter
dengan buffer model dan ImageSegmenter.ImageSegmenterOptions
default.
Parameter
modelBuffer | ByteBuffer langsung atau MappedByteBuffer dari model segmentasi |
---|
Melempar
IlegalStateException | jika ada kesalahan internal |
---|---|
Pengecualian Waktu Proses | jika ada kesalahan yang tidak ditentukan |
Pengecualian Argumen Ilegal | jika buffer model bukan ByteBuffer langsung atau MappedByteBuffer |
ImageSegmenter statis publik createFromBufferAndOptions (Opsi ByteBuffer modelBuffer, ImageSegmenter.ImageSegmenterOptions )
Membuat instance ImageSegmenter
dengan buffer model dan ImageSegmenter.ImageSegmenterOptions
.
Parameter
modelBuffer | ByteBuffer langsung atau MappedByteBuffer dari model segmentasi |
---|---|
pilihan |
Melempar
IlegalStateException | jika ada kesalahan internal |
---|---|
Pengecualian Waktu Proses | jika ada kesalahan yang tidak ditentukan |
Pengecualian Argumen Ilegal | jika buffer model bukan ByteBuffer langsung atau MappedByteBuffer |
ImageSegmenter statis publik createFromFile (Konteks konteks, String modelPath)
Membuat instance ImageSegmenter
dari ImageSegmenter.ImageSegmenterOptions
default.
Parameter
konteks | |
---|---|
modelPath | jalur model segmentasi dengan metadata di aset |
Melempar
Pengecualian IO | jika terjadi kesalahan I/O saat memuat model tflite |
---|---|
Pengecualian Argumen Ilegal | jika suatu argumen tidak valid |
IlegalStateException | jika ada kesalahan internal |
Pengecualian Waktu Proses | jika ada kesalahan yang tidak ditentukan |
ImageSegmenter statis publik createFromFile ( File modelFile)
Membuat instance ImageSegmenter
dari ImageSegmenter.ImageSegmenterOptions
default.
Parameter
file model | contoh File model segmentasi |
---|
Melempar
Pengecualian IO | jika terjadi kesalahan I/O saat memuat model tflite |
---|---|
Pengecualian Argumen Ilegal | jika suatu argumen tidak valid |
IlegalStateException | jika ada kesalahan internal |
Pengecualian Waktu Proses | jika ada kesalahan yang tidak ditentukan |
ImageSegmenter statis publik createFromFileAndOptions ( File modelFile, opsi ImageSegmenter.ImageSegmenterOptions )
Membuat instance ImageSegmenter
dari ImageSegmenter.ImageSegmenterOptions
.
Parameter
file model | contoh File model segmentasi |
---|---|
pilihan |
Melempar
Pengecualian IO | jika terjadi kesalahan I/O saat memuat model tflite |
---|---|
Pengecualian Argumen Ilegal | jika suatu argumen tidak valid |
IlegalStateException | jika ada kesalahan internal |
Pengecualian Waktu Proses | jika ada kesalahan yang tidak ditentukan |
public static ImageSegmenter createFromFileAndOptions (Konteks konteks, String modelPath, opsi ImageSegmenter.ImageSegmenterOptions )
Membuat instance ImageSegmenter
dari ImageSegmenter.ImageSegmenterOptions
.
Parameter
konteks | |
---|---|
modelPath | jalur model segmentasi dengan metadata di aset |
pilihan |
Melempar
Pengecualian IO | jika terjadi kesalahan I/O saat memuat model tflite |
---|---|
Pengecualian Argumen Ilegal | jika suatu argumen tidak valid |
IlegalStateException | jika ada kesalahan internal |
Pengecualian Waktu Proses | jika ada kesalahan yang tidak ditentukan |
Daftar publik < Segmentasi > segmen (frameBufferHandle panjang, opsi ImageProcessingOptions )
Parameter
frameBufferHandle | |
---|---|
pilihan |
Daftar publik < Segmentasi > segmen (gambar TensorImage )
Melakukan segmentasi aktual pada gambar yang disediakan.
ImageSegmenter
mendukung jenis ruang warna TensorImage
berikut:
Parameter
gambar | objek TensorImage UINT8 yang mewakili gambar RGB atau YUV |
---|
Kembali
- hasil melakukan segmentasi gambar. Perhatikan bahwa pada saat itu, satu elemen
Segmentation
diharapkan dikembalikan. Hasilnya disimpan dalamList
untuk ekstensi selanjutnya, misalnya model segmentasi instan, yang dapat mengembalikan satu segmentasi per objek.
Melempar
IlegalStateException | jika ada kesalahan internal |
---|---|
Pengecualian Waktu Proses | jika ada kesalahan yang tidak ditentukan |
Pengecualian Argumen Ilegal | jika jenis ruang warna gambar tidak didukung |
Daftar publik < Segmentasi > segmen (gambar MlImage )
Melakukan segmentasi aktual pada MlImage
yang disediakan.
Parameter
gambar | sebuah MlImage untuk disegmentasi. |
---|
Kembali
- hasil melakukan segmentasi gambar. Perhatikan bahwa pada saat itu, satu elemen
Segmentation
diharapkan dikembalikan. Hasilnya disimpan dalamList
untuk ekstensi selanjutnya, misalnya model segmentasi instan, yang dapat mengembalikan satu segmentasi per objek.
Melempar
IlegalStateException | jika ada kesalahan internal |
---|---|
Pengecualian Waktu Proses | jika ada kesalahan yang tidak ditentukan |
Pengecualian Argumen Ilegal | jika jenis penyimpanan atau format gambar tidak didukung |
Daftar publik < Segmentasi > segmen (gambar TensorImage , opsi ImageProcessingOptions )
Melakukan segmentasi sebenarnya pada gambar yang disediakan dengan ImageProcessingOptions
.
ImageSegmenter
mendukung jenis ruang warna TensorImage
berikut:
ImageSegmenter
mendukung opsi berikut:
- rotasi gambar (melalui
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
). Defaultnya adalahImageProcessingOptions.Orientation.TOP_LEFT
Parameter
gambar | objek TensorImage UINT8 yang mewakili gambar RGB atau YUV |
---|---|
pilihan | opsi mengonfigurasi cara memproses gambar terlebih dahulu |
Kembali
- hasil melakukan segmentasi gambar. Perhatikan bahwa pada saat itu, satu elemen
Segmentation
diharapkan dikembalikan. Hasilnya disimpan dalamList
untuk ekstensi selanjutnya, misalnya model segmentasi instan, yang dapat mengembalikan satu segmentasi per objek.
Melempar
IlegalStateException | jika ada kesalahan internal |
---|---|
Pengecualian Waktu Proses | jika ada kesalahan yang tidak ditentukan |
Pengecualian Argumen Ilegal | jika jenis ruang warna gambar tidak didukung |
Daftar publik <Segmentasi> segmen (gambar MlImage , opsi ImageProcessingOptions )
Melakukan segmentasi aktual pada MlImage
yang disediakan dengan ImageProcessingOptions
.
ImageSegmenter
mendukung opsi berikut:
- rotasi gambar (melalui
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
). Standarnya adalahImageProcessingOptions.Orientation.TOP_LEFT
.MlImage.getRotation()
tidak efektif.
Parameter
gambar | sebuah MlImage untuk disegmentasi. |
---|---|
pilihan | opsi mengonfigurasi cara memproses gambar terlebih dahulu. |
Kembali
- hasil melakukan segmentasi gambar. Perhatikan bahwa pada saat itu, satu elemen
Segmentation
diharapkan dikembalikan. Hasilnya disimpan dalamList
untuk ekstensi selanjutnya, misalnya model segmentasi instan, yang dapat mengembalikan satu segmentasi per objek.
Melempar
IlegalStateException | jika ada kesalahan internal |
---|---|
Pengecualian Waktu Proses | jika ada kesalahan yang tidak ditentukan |
Pengecualian Argumen Ilegal | jika jenis ruang warna gambar tidak didukung |