ObjectDetector

class final publik ObjectDetector

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.
  • 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 menentukan type=BOUNDARIES dan coordinate_type=RATIO.
    • 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.
    • img_tensor (kTfLiteFloat32):
      • Tensor ukuran [1 x num_results], setiap nilai mewakili skor objek yang terdeteksi.
    • Jumlah tensor deteksi (kTfLiteFloat32):
      • num_results integer sebagai tensor ukuran [1].

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
ObjectDetectorResult
detect(gambar MPImage)
Melakukan deteksi objek pada satu gambar yang disediakan dengan opsi pemrosesan gambar default, yaitu
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)

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.