Model kustom dengan ML Kit

Secara default, API ML Kit menggunakan model machine learning terlatih Google. Model ini dirancang untuk mencakup berbagai aplikasi. Namun, beberapa kasus penggunaan memerlukan model yang lebih ditargetkan. Itulah sebabnya beberapa API ML Kit kini memungkinkan Anda mengganti model default dengan model LiteRT kustom.

API Pelabelan Gambar dan Deteksi & Pelacakan Objek menawarkan dukungan untuk model klasifikasi gambar kustom. Model ini kompatibel dengan pilihan model terlatih berkualitas tinggi di TensorFlow Hub atau model kustom Anda sendiri yang dilatih dengan TensorFlow atau AutoML.

Jika Anda memerlukan solusi kustom untuk domain atau kasus penggunaan lainnya, buka halaman Machine Learning di Perangkat untuk mendapatkan panduan tentang semua solusi dan alat Google untuk machine learning di perangkat.

Manfaat menggunakan ML Kit dengan model kustom

Manfaat menggunakan model klasifikasi gambar kustom dengan ML Kit adalah:

  • API tingkat tinggi yang mudah digunakan - Tidak perlu menangani input/output model tingkat rendah , menangani pra-/pasca-pemrosesan gambar, atau membuat pipeline pemrosesan.
  • Tidak perlu khawatir tentang pemetaan label sendiri, ML Kit mengekstrak label dari metadata model LiteRT dan melakukan pemetaan untuk Anda.
  • Mendukung model kustom dari berbagai sumber, mulai dari model terlatih yang dipublikasikan di TensorFlow Hub hingga model baru yang dilatih dengan TensorFlow atau AutoML.
  • Dioptimalkan untuk integrasi dengan Camera API Android.

Dan, khususnya untuk Deteksi dan Pelacakan Objek:

  • Meningkatkan akurasi klasifikasi dengan menemukan objek terlebih dahulu dan hanya menjalankan pengklasifikasi di area gambar terkait.
  • Memberikan pengalaman interaktif real-time dengan memberikan masukan langsung kepada pengguna tentang objek saat objek tersebut terdeteksi dan diklasifikasikan.

Menggunakan model klasifikasi gambar terlatih

Anda dapat menggunakan model LiteRT terlatih, asalkan memenuhi serangkaian kriteria. Melalui TensorFlow Hub, kami menawarkan serangkaian model yang telah diperiksa - dari Google atau pembuat model lainnya - yang memenuhi kriteria ini.

Menggunakan model yang dipublikasikan di TensorFlow Hub

TensorFlow Hub menawarkan berbagai model klasifikasi gambar terlatih - dari berbagai pembuat model - yang dapat digunakan dengan API Pelabelan Gambar dan Deteksi dan Pelacakan Objek. Ikuti langkah-langkah berikut.

  1. Pilih model dari koleksi model yang kompatibel dengan ML Kit.
  2. Download file model .tflite dari halaman detail model. Jika tersedia, pilih format model dengan metadata.
  3. Ikuti panduan kami untuk Image Labeling API atau Object Detection and Tracking API tentang cara memaketkan file model dengan project Anda dan menggunakannya di aplikasi Android atau iOS.

Melatih model klasifikasi gambar Anda sendiri

Jika tidak ada model klasifikasi gambar terlatih yang sesuai dengan kebutuhan Anda, ada berbagai cara untuk melatih model LiteRT Anda sendiri, beberapa di antaranya diuraikan dan dibahas lebih detail di bagian berikut.

Opsi untuk melatih model klasifikasi gambar Anda sendiri
AutoML
  • Ditawarkan melalui Google Cloud AI
  • Membuat model klasifikasi gambar canggih
  • Mengevaluasi antara performa dan ukuran
Mengonversi model TensorFlow ke LiteRT
  • Melatih model dengan TensorFlow, lalu mengonversinya ke LiteRT

AutoML

Model klasifikasi gambar yang dilatih menggunakan AutoML didukung oleh model kustom di Pelabelan Gambar dan API Deteksi dan Pelacakan Objek API. API ini juga mendukung download model yang dihosting dengan Cloud Storage.

Untuk mempelajari lebih lanjut cara menggunakan model yang dilatih dengan AutoML di aplikasi Android dan iOS, ikuti panduan model kustom untuk setiap API, bergantung pada kasus penggunaan Anda.

Model yang dibuat menggunakan pengonversi LiteRT

Jika memiliki model klasifikasi gambar TensorFlow yang ada, Anda dapat mengonversi nya menggunakan pengonversi LiteRT. Pastikan model yang dibuat memenuhi persyaratan kompatibilitas berikut.

Untuk mempelajari lebih lanjut cara menggunakan model LiteRT di aplikasi Android dan iOS, ikuti panduan kami untuk Image Labeling API atau Object Detection and Tracking API, bergantung pada kasus penggunaan Anda.

Kompatibilitas model LiteRT

Anda dapat menggunakan model klasifikasi gambar LiteRT terlatih, asalkan memenuhi persyaratan berikut:

Tensor

  • Model hanya boleh memiliki satu tensor input dengan batasan berikut:
    • Data dalam format piksel RGB.
    • Data berjenis UINT8 atau FLOAT32. Jika jenis tensor input adalah FLOAT32, tensor tersebut harus menentukan NormalizationOptions dengan melampirkan Metadata.
    • Tensor memiliki 4 dimensi : BxHxWxC, dengan:
      • B adalah ukuran tumpukan. Nilainya harus 1 (inferensi pada batch yang lebih besar tidak didukung).
      • W dan H adalah lebar dan tinggi input.
      • C adalah jumlah channel yang diharapkan. Nilainya harus 3.
  • Model harus memiliki setidaknya satu tensor output dengan N class dan 2 atau 4 dimensi:
    • (1xN)
    • (1x1x1xN)
  • Hanya model single-head yang didukung sepenuhnya. Model multi-head dapat menghasilkan hasil yang tidak terduga.

Metadata

Anda dapat menambahkan metadata ke file LiteRT seperti yang dijelaskan dalam Menambahkan metadata ke model LiteRT.

Untuk menggunakan model dengan tensor input FLOAT32, Anda harus menentukan NormalizationOptions dalam metadata.

Sebaiknya lampirkan juga metadata ini ke TensorMetadata tensor output TensorMetadata: