Secara default, API ML Kit menggunakan model machine learning yang dilatih 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 TensorFlow Lite kustom.
Image Labeling dan Object Detection & Tracking API menawarkan dukungan untuk model klasifikasi gambar kustom. Model ini kompatibel dengan serangkaian model terlatih berkualitas tinggi di TensorFlow Hub atau model kustom Anda sendiri yang dilatih dengan TensorFlow, AutoML Vision Edge, atau TensorFlow Lite Model Maker.
Jika Anda memerlukan solusi kustom untuk domain atau kasus penggunaan lain, 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 membangun pipeline pemrosesan.
- Tidak perlu khawatir dengan pemetaan labelnya sendiri, ML Kit akan mengekstrak label dari metadata model TFLite 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, AutoML Vision Edge, atau TensorFlow Lite Model Maker.
- Mendukung model yang dihosting dengan Firebase. Mengurangi ukuran APK dengan mendownload model on demand. Kirim update model tanpa memublikasikan ulang aplikasi dan lakukan pengujian A/B yang mudah dengan Firebase Remote Config.
- Dioptimalkan untuk integrasi dengan API Kamera Android.
Dan, khususnya untuk Deteksi dan Pelacakan Objek:
- Tingkatkan akurasi klasifikasi dengan mencari objek terlebih dahulu dan hanya jalankan pengklasifikasi pada area gambar yang terkait.
- Berikan pengalaman interaktif real-time dengan memberi pengguna masukan langsung terkait objek saat terdeteksi dan diklasifikasikan.
Menggunakan model klasifikasi gambar terlatih
Anda dapat menggunakan model TensorFlow Lite terlatih, asalkan memenuhi serangkaian kriteria. Melalui TensorFlow Hub, kami menawarkan serangkaian model terverifikasi - dari Google atau kreator model lainnya - yang memenuhi kriteria ini.
Gunakan 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 serta Deteksi dan Pelacakan Objek. Ikuti langkah-langkah berikut.
- Pilih model dari koleksi model yang kompatibel dengan ML Kit.
- Download file model .tflite dari halaman detail model. Jika tersedia, pilih format model dengan metadata.
- 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 Anda.
Latih model klasifikasi gambar Anda sendiri
Jika tidak ada model klasifikasi gambar terlatih yang sesuai dengan kebutuhan Anda, ada berbagai cara untuk melatih model TensorFlow Lite Anda sendiri, beberapa di antaranya diuraikan dan dibahas secara lebih mendetail di bawah.
Opsi untuk melatih model klasifikasi gambar Anda sendiri | |
---|---|
AutoML Vision Edge |
|
Pembuat Model TensorFlow Lite |
|
Mengonversi model TensorFlow ke TensorFlow Lite |
|
AutoML Vision Edge
Model klasifikasi gambar yang dilatih menggunakan AutoML Vision Edge didukung oleh model kustom di API Image Labeling dan Object Detection and Tracking API. API ini juga mendukung download model yang dihosting dengan deployment model Firebase.
Untuk mempelajari lebih lanjut cara menggunakan model yang dilatih dengan AutoML Vision Edge di aplikasi Android dan iOS, ikuti panduan model kustom untuk setiap API, bergantung pada kasus penggunaan Anda.
Pembuat Model TensorFlow Lite
Library TFLite Model Maker menyederhanakan proses adaptasi dan konversi model jaringan neural TensorFlow menjadi data input tertentu saat men-deploy model ini untuk aplikasi ML di perangkat. Anda dapat mengikuti Colab untuk Klasifikasi gambar dengan TensorFlow Lite Model Maker.
Untuk mempelajari lebih lanjut cara menggunakan model yang dilatih dengan Model Maker di aplikasi Android dan iOS, ikuti panduan kami untuk Image Labeling API atau Object Detection and Tracking API, bergantung pada kasus penggunaan Anda.
Model yang dibuat menggunakan pengonversi TensorFlow Lite
Jika sudah memiliki model klasifikasi gambar TensorFlow, Anda dapat mengonversinya menggunakan pengonversi TensorFlow Lite. Pastikan model yang dibuat memenuhi persyaratan kompatibilitas di bawah ini.
Untuk mempelajari lebih lanjut cara menggunakan model TensorFlow Lite di aplikasi Android dan iOS Anda, ikuti panduan kami untuk Image Labeling API atau Object Detection and Tracking API, bergantung pada kasus penggunaan Anda.
Kompatibilitas model TensorFlow Lite
Anda dapat menggunakan model klasifikasi gambar TensorFlow Lite terlatih, asalkan memenuhi persyaratan berikut:
Tensor
- Model hanya boleh memiliki satu TensorFlow input dengan batasan berikut:
- Data dalam format piksel RGB.
- Datanya berjenis UINT8 atau FLOAT32. Jika jenis TensorFlow adalah FLOAT32, kita harus menentukan NormalizationOptions dengan menambahkan Metadata.
- Tensor memiliki 4 dimensi : BxHxWxC, dengan:
- B adalah ukuran tumpukan. Harus 1 (inferensi pada batch yang lebih besar tidak didukung).
- W dan H adalah lebar dan tinggi input.
- C adalah jumlah saluran yang diharapkan. Harus 3.
- Model harus memiliki setidaknya satu TensorFlow output dengan class N dan 2 atau 4 dimensi:
- (1xN)
- (1x1x1xN)
- Saat ini, hanya model satu kepala yang didukung sepenuhnya. Model multi-head dapat memberikan hasil yang tidak terduga.
Metadata
Anda dapat menambahkan metadata ke file TensorFlow Lite seperti yang dijelaskan dalam Menambahkan metadata ke model TensorFlow Lite.
Untuk menggunakan model dengan TensorFlow input FLOAT32, Anda harus menentukan NormalizationOptions dalam metadata.
Kami juga menyarankan Anda untuk melampirkan metadata ini ke TensorFlow output TensorMetadata:
- Peta label yang menentukan nama setiap class output, sebagai AssociatedFile dengan jenis TENSOR_AXIS_LABELS (jika tidak, hanya indeks class output numerik yang dapat ditampilkan)
- Nilai minimum skor default di bawah hasil yang dianggap terlalu rendah untuk ditampilkan, sebagai ProcessUnit dengan ScoreThresholdingOptions