Melakukan deteksi objek pada gambar.
API mengharapkan model TFLite dengan Metadata Model TFLite..
API ini mendukung model dengan satu tensor input gambar dan empat tensor output. Untuk lebih spesifik, berikut persyaratannya.
- Tensor image input (
kTfLiteUInt8
/kTfLiteFloat32
)- Input gambar dengan ukuran
[batch x height x width x channels]
. - inferensi batch tidak didukung (
batch
harus 1). - hanya input RGB yang didukung (
channels
harus 3). - jika berjenis
kTfLiteFloat32
, NormalizationOptions perlu dilampirkan ke metadata untuk normalisasi input.
- Input gambar dengan ukuran
- Tensor output harus berupa 4 output dari operasi
DetectionPostProcess
, yaitu:- Tensor lokasi (
kTfLiteFloat32
):- Tensor ukuran
[1 x num_results x 4]
, array dalam yang mewakili kotak pembatas dalam bentuk [top, left, right, bottom]. BoundingBoxProperties
harus dilampirkan ke metadata dan harus menentukantype=BOUNDARIES
dancoordinate_type=RATIO
.
- Tensor ukuran
- Tensor class (
kTfLiteFloat32
):- Tensor ukuran
[1 x num_results]
, setiap nilai merepresentasikan indeks bilangan bulat suatu class. - jika peta label dilampirkan ke metadata sebagai file terkait
TENSOR_VALUE_LABELS
, peta label tersebut akan digunakan untuk mengonversi nilai tensor menjadi label.
- Tensor ukuran
- img_tensor (
kTfLiteFloat32
):- Tensor ukuran
[1 x num_results]
, setiap nilai mewakili skor objek yang terdeteksi.
- Tensor ukuran
- Jumlah tensor deteksi (
kTfLiteFloat32
):- num_results integer sebagai tensor ukuran
[1]
.
- num_results integer sebagai tensor ukuran
- Tensor lokasi (
Contoh model tersebut dapat ditemukan di TensorFlow Hub..
Class Bertingkat
class | ObjectDetector.ObjectDetectorOptions | Opsi untuk menyiapkan ObjectDetector . |
Metode Publik
statis ObjectDetector |
createFromBuffer(Konteks konteks, modelBuffer ByteBuffer)
Membuat instance
ObjectDetector dari buffering model dan ObjectDetector.ObjectDetectorOptions default. |
statis ObjectDetector |
createFromFile(Konteks konteks, String modelPath)
Membuat instance
ObjectDetector dari file model dan ObjectDetector.ObjectDetectorOptions default. |
statis ObjectDetector |
createFromFile(Konteks konteks, File modelFile)
Membuat instance
ObjectDetector dari file model dan ObjectDetector.ObjectDetectorOptions default. |
statis ObjectDetector |
createFromOptions(Konteks konteks, ObjectDetector.ObjectDetectorOptions detektorOptions)
Membuat instance
ObjectDetector dari ObjectDetector.ObjectDetectorOptions . |
ObjectDetectorResult | |
ObjectDetectorResult |
detect(gambar MPImage, ImageProcessingOptions imageProcessingOptions)
Melakukan deteksi objek pada satu gambar yang disediakan.
|
void |
detectAsync(gambar MPImage, ImageProcessingOptions imageProcessingOptions, stempel waktu yang panjang)
Mengirim data gambar live untuk melakukan deteksi objek, dan hasilnya akan tersedia melalui
OutputHandler.ResultListener yang diberikan di ObjectDetector.ObjectDetectorOptions . |
void |
detectAsync(gambar MPImage, timestampMs panjang)
Mengirim data gambar live untuk melakukan deteksi objek dengan opsi pemrosesan gambar default, yaitu
|
ObjectDetectorResult |
detectForVideo(gambar MPImage, ImageProcessingOptions imageProcessingOptions, stempel waktu yang panjang)
Melakukan deteksi objek pada frame video yang disediakan.
|
ObjectDetectorResult |
detectForVideo(gambar MPImage, timestampMs panjang)
Melakukan deteksi objek pada frame video yang disediakan dengan opsi pemrosesan gambar default,
yaitu
|
Metode Turunan
Metode Publik
publik statis ObjectDetector createFromBuffer (Konteks konteks, ByteBuffer modelBuffer)
Membuat instance ObjectDetector
dari buffering model dan ObjectDetector.ObjectDetectorOptions
default.
Parameter
context | ERROR(/Context) Android. |
---|---|
modelBuffer | ByteBuffer atau ERROR(/MappedByteBuffer) langsung dari model deteksi. |
Menampilkan
jika terjadi error selama pembuatan ObjectDetector .
|
publik statis ObjectDetector createFromFile (Konteks konteks, String modelPath)
Membuat instance ObjectDetector
dari file model dan ObjectDetector.ObjectDetectorOptions
default.
Parameter
context | ERROR(/Context) Android. |
---|---|
modelPath | ke model deteksi dengan metadata dalam aset. |
Menampilkan
jika terjadi error selama pembuatan ObjectDetector .
|
public static ObjectDetector createFromFile (Konteks konteks, File modelFile)
Membuat instance ObjectDetector
dari file model dan ObjectDetector.ObjectDetectorOptions
default.
Parameter
context | ERROR(/Context) Android. |
---|---|
modelFile | instance File model deteksi. |
Menampilkan
IOException | jika terjadi error I/O saat membuka file model tflite. |
---|---|
jika terjadi error selama pembuatan ObjectDetector .
|
publik statis ObjectDetector createFromOptions (Konteks konteks, ObjectDetector.ObjectDetectorOptions detektorOptions)
Membuat instance ObjectDetector
dari ObjectDetector.ObjectDetectorOptions
.
Parameter
context | ERROR(/Context) Android. |
---|---|
detectorOptions | instance ObjectDetector.ObjectDetectorOptions . |
Menampilkan
jika terjadi error selama pembuatan ObjectDetector .
|
publik ObjectDetectorResult detect (gambar MPImage)
Melakukan deteksi objek pada satu gambar yang disediakan dengan opsi pemrosesan gambar default,
yaitu tanpa menerapkan rotasi apa pun. Hanya gunakan metode ini saat ObjectDetector
dibuat dengan ERROR(/RunningMode.IMAGE)
.
ObjectDetector
mendukung jenis ruang warna berikut:
Parameter
gambar | objek MPImage MediaPipe untuk diproses. |
---|
Menampilkan
jika terjadi error internal. |
publik ObjectDetectorResult detect (MPImage gambar, ImageProcessingOptions imageProcessingOptions)
Melakukan deteksi objek pada satu gambar yang disediakan. Hanya gunakan metode ini saat ObjectDetector
dibuat dengan ERROR(/RunningMode.IMAGE)
.
ObjectDetector
mendukung jenis ruang warna berikut:
Parameter
gambar | objek MPImage MediaPipe untuk diproses. |
---|---|
imageProcessingOptions | ImageProcessingOptions yang menentukan cara memproses gambar input sebelum menjalankan inferensi. Perlu diperhatikan bahwa region minat tidak didukung oleh tugas ini: menentukan ImageProcessingOptions.regionOfInterest() akan menyebabkan metode ini menampilkan IllegalArgumentException. |
Menampilkan
IllegalArgumentException | jika ImageProcessingOptions menentukan
wilayah minat. |
---|---|
jika terjadi error internal. |
public void detectAsync (Gambar MPImage, ImageProcessingOptions imageProcessingOptions, stempel waktu yang panjang)
Mengirim data gambar live untuk melakukan deteksi objek, dan hasilnya akan tersedia melalui OutputHandler.ResultListener
yang diberikan di ObjectDetector.ObjectDetectorOptions
. Hanya gunakan metode ini saat ObjectDetector
dibuat dengan ERROR(/RunningMode.LIVE_STREAM)
.
Stempel waktu (dalam milidetik) harus diberikan untuk menunjukkan kapan gambar input dikirim ke detektor objek. Stempel waktu input harus meningkat secara monoton.
ObjectDetector
mendukung jenis ruang warna berikut:
Parameter
gambar | objek MPImage MediaPipe untuk diproses. |
---|---|
imageProcessingOptions | ImageProcessingOptions yang menentukan cara memproses gambar input sebelum menjalankan inferensi. Perlu diperhatikan bahwa region minat tidak didukung oleh tugas ini: menentukan ImageProcessingOptions.regionOfInterest() akan menyebabkan metode ini menampilkan IllegalArgumentException. |
timestampMs | stempel waktu input (dalam milidetik). |
Menampilkan
IllegalArgumentException | jika ImageProcessingOptions menentukan
wilayah minat. |
---|---|
jika terjadi error internal. |
public void detectAsync (gambar MPImage, timestampMs panjang)
Mengirim data gambar live untuk melakukan deteksi objek dengan opsi pemrosesan gambar default, yaitu tanpa penerapan rotasi apa pun, dan hasilnya akan tersedia melalui OutputHandler.ResultListener
yang disediakan di ObjectDetector.ObjectDetectorOptions
. Hanya gunakan metode ini saat ObjectDetector
dibuat dengan ERROR(/RunningMode.LIVE_STREAM)
.
Stempel waktu (dalam milidetik) harus diberikan untuk menunjukkan kapan gambar input dikirim ke detektor objek. Stempel waktu input harus meningkat secara monoton.
ObjectDetector
mendukung jenis ruang warna berikut:
Parameter
gambar | objek MPImage MediaPipe untuk diproses. |
---|---|
timestampMs | stempel waktu input (dalam milidetik). |
Menampilkan
jika terjadi error internal. |
publik ObjectDetectorResult detectForVideo (MPImage gambar, ImageProcessingOptions imageProcessingOptions, stempel waktu yang panjangMs)
Melakukan deteksi objek pada frame video yang disediakan. Hanya gunakan metode ini saat ObjectDetector
dibuat dengan ERROR(/RunningMode.VIDEO)
.
Anda harus memberikan stempel waktu frame video (dalam milidetik). Stempel waktu input harus meningkat secara monoton.
ObjectDetector
mendukung jenis ruang warna berikut:
Parameter
gambar | objek MPImage MediaPipe untuk diproses. |
---|---|
imageProcessingOptions | ImageProcessingOptions yang menentukan cara memproses gambar input sebelum menjalankan inferensi. Perlu diperhatikan bahwa region minat tidak didukung oleh tugas ini: menentukan ImageProcessingOptions.regionOfInterest() akan menyebabkan metode ini menampilkan IllegalArgumentException. |
timestampMs | stempel waktu input (dalam milidetik). |
Menampilkan
IllegalArgumentException | jika ImageProcessingOptions menentukan
wilayah minat. |
---|---|
jika terjadi error internal. |
publik ObjectDetectorResult detectForVideo (MPImage, timestampMs panjang)
Melakukan deteksi objek pada frame video yang disediakan dengan opsi pemrosesan gambar default,
yaitu tanpa rotasi apa pun yang diterapkan. Hanya gunakan metode ini saat ObjectDetector
dibuat dengan ERROR(/RunningMode.VIDEO)
.
Anda harus memberikan stempel waktu frame video (dalam milidetik). Stempel waktu input harus meningkat secara monoton.
ObjectDetector
mendukung jenis ruang warna berikut:
Parameter
gambar | objek MPImage MediaPipe untuk diproses. |
---|---|
timestampMs | stempel waktu input (dalam milidetik). |
Menampilkan
jika terjadi error internal. |