MediaPipe Solutions sekarang sudah tersedia dalam versi pratinjau
Pekan ini di Google I/O 2023, kami memperkenalkan MediaPipe Solutions, koleksi baru alat machine learning di perangkat untuk menyederhanakan proses developer. Ini terdiri dari MediaPipe Studio, MediaPipe Tasks, dan MediaPipe Model Maker. Alat-alat ini menyediakan solusi tanpa kode hingga hemat kode untuk tugas-tugas umum machine learning di perangkat, seperti klasifikasi audio, segmentasi, dan penyematan teks, untuk developer seluler, web, desktop, dan IoT.
Pada bulan Desember 2022, kami meluncurkan pratinjau MediaPipe dengan lima tugas: pengenalan gestur, pemindai tangan, klasifikasi gambar, deteksi objek, dan klasifikasi teks. Hari ini, kami sangat senang dapat mengabarkan bahwa kami telah meluncurkan sembilan tugas tambahan untuk Google I/O, dan masih banyak lagi yang akan segera menyusul. Beberapa tugas baru ini meliputi:
Alat MediaPipe pertama kami memungkinkan Anda melihat dan menguji model yang kompatibel dengan MediaPipe di web, daripada harus membuat aplikasi pengujian khusus Anda sendiri. Anda bahkan bisa menggunakan MediaPipe Studio dalam pratinjau sekarang juga untuk mencoba tugas-tugas baru yang disebutkan di sini, dan semua tambahannya, dengan mengunjungi halaman MediaPipe Studio.
Selain itu, kami memiliki rencana untuk mengembangkan MediaPipe Studio demi menyediakan solusi pelatihan model tanpa kode sehingga Anda bisa membuat model baru tanpa mengeluarkan banyak biaya ekstra.
MediaPipe Tasks menyederhanakan deployment ML di perangkat untuk developer web, seluler, IoT, dan desktop dengan library hemat kode. Anda bisa dengan mudah mengintegrasikan solusi machine learning di perangkat, seperti contoh di atas, ke aplikasi Anda dalam beberapa baris kode tanpa harus mempelajari semua detail implementasi di balik solusi tersebut. Sekarang ini mencakup alat untuk tiga kategori: visi, audio, dan teks.
Untuk memberikan gambaran yang lebih baik tentang cara menggunakan MediaPipe Tasks, mari kita lihat aplikasi Android yang melakukan pengenalan gestur.
Kode berikut akan membuat objek GestureRecognizer menggunakan model machine learning bawaan, kemudian objek tersebut bisa digunakan berulang kali untuk menampilkan daftar hasil pengenalan berdasarkan gambar input:
// LANGKAH 1: Buat pengenal gestur
val baseOptions = BaseOptions.builder().setModelAssetPath("gesture_recognizer.task") .build()
val gestureRecognizerOptions = GestureRecognizerOptions.builder() .setBaseOptions(baseOptions).build()
val gestureRecognizer = GestureRecognizer.createFromOptions( context, gestureRecognizerOptions)
// LANGKAH 2: Siapkan gambar
val mpImage = BitmapImageBuilder(bitmap).build()
// LANGKAH 3: Jalankan inferensi
val result = gestureRecognizer.recognize(mpImage)
Seperti yang Anda lihat, hanya dengan beberapa baris kode, Anda bisa mengimplementasikan fitur yang terlihat rumit dalam aplikasi Anda. Dikombinasikan dengan fitur Android lainnya, seperti CameraX, Anda dapat memberikan pengalaman yang menyenangkan bagi pengguna.
Selain kemudahan, salah satu keuntungan utama lainnya menggunakan MediaPipe Tasks adalah kode Anda akan terlihat serupa di berbagai platform, apa pun tugas yang Anda gunakan. Hal ini akan membantu Anda mengembangkan lebih cepat karena Anda bisa menggunakan kembali logika yang sama untuk setiap aplikasi.
Meskipun dapat mengenali dan menggunakan gestur dalam aplikasi adalah hal yang sangat bagus, tetapi bagaimana jika Anda mengalami situasi tertentu ketika Anda perlu mengenali gestur khusus di luar yang disediakan oleh model bawaan? Di sinilah MediaPipe Model Maker berperan. Dengan Model Maker, Anda bisa melatih ulang model bawaan pada set data hanya dengan beberapa ratus contoh gestur tangan baru, dan dengan cepat membuat model baru yang disesuaikan untuk kebutuhan Anda. Sebagai contoh, hanya dengan beberapa baris kode, Anda dapat menyesuaikan model untuk memainkan Batu, Kertas, Gunting.
from mediapipe_model_maker import gesture_recognizer
# LANGKAH 1: Muat set data.
data = gesture_recognizer.Dataset.from_folder(dirname='images') train_data, validation_data = data.split(0.8)
# LANGKAH 2: Latih model khusus.
model = gesture_recognizer.GestureRecognizer.create( train_data=train_data, validation_data=validation_data, hparams=gesture_recognizer.HParams(export_dir=export_dir) )
# LANGKAH 3: Evaluasi menggunakan data yang tidak terlihat.
metric = model.evaluate(test_data)
# LANGKAH 4: Ekspor sebagai paket aset model. model.export_model(model_name='rock_paper_scissor.task')
Setelah melatih ulang model, Anda bisa menggunakannya di aplikasi dengan MediaPipe Tasks untuk pengalaman yang lebih serbaguna.
Untuk mempelajari lebih lanjut, tonton sesi I/O 2023 kami: ML yang mudah di perangkat dengan MediaPipe, Tingkatkan aplikasi web Anda dengan machine learning dan MediaPipe, dan Yang baru di machine learning, serta lihat dokumentasi resminya di developers.google.com/mediapipe.
Kami akan terus meningkatkan dan menyediakan fitur baru untuk MediaPipe Solutions, termasuk MediaPipe Tasks baru dan pelatihan tanpa kode melalui MediaPipe Studio. Anda juga bisa mendapatkan informasi terbaru dengan bergabung ke grup pengumuman MediaPipe Solutions, di sini kami akan memberikan pengumuman ketika fitur baru sudah tersedia.
Kami menantikan semua hal menarik yang akan Anda buat, jadi pastikan untuk membagikannya dengan @googledevs dan komunitas developer Anda!