Bagaimana cara menambahkan Machine Learning ke aplikasi Android Anda

Pengarang: Peter Berry
Tanggal Pembuatan: 16 Lang L: none (month-012) 2021
Tanggal Pembaruan: 1 Juli 2024
Anonim
Cara Pakai model Google Teachable Machine Learning ke TFLITE Android | RUN dan BUILD APK
Video: Cara Pakai model Google Teachable Machine Learning ke TFLITE Android | RUN dan BUILD APK

Isi


Pembelajaran mesin (ML) dapat membantu Anda menciptakan pengalaman yang inovatif, menarik dan unik untuk pengguna seluler Anda.

Setelah Anda menguasai ML, Anda dapat menggunakannya untuk membuat berbagai aplikasi, termasuk aplikasi yang secara otomatis mengatur foto berdasarkan subjeknya, mengidentifikasi dan melacak wajah seseorang di streaming langsung, mengekstrak teks dari gambar, dan banyak lagi .

Tapi ML bukan pemula yang ramah! Jika Anda ingin meningkatkan aplikasi Android dengan kemampuan pembelajaran mesin yang kuat, lalu di mana tepatnya Anda memulai?

Dalam artikel ini, saya akan memberikan ikhtisar SDK (Perangkat Pengembangan Perangkat Lunak) yang berjanji untuk menempatkan kekuatan ML di ujung jari Anda, bahkan jika Anda memiliki nol Pengalaman ML. Pada akhir artikel ini, Anda akan memiliki fondasi yang Anda butuhkan untuk mulai membuat aplikasi yang cerdas dan didukung oleh ML yang mampu memberi label gambar, memindai barcode, mengenali wajah dan landmark terkenal, dan melakukan banyak tugas ML lainnya yang kuat.


Temui Kit Pembelajaran Mesin Google

Dengan dirilisnya teknologi seperti TensorFlow dan CloudVision, ML menjadi lebih banyak digunakan, tetapi teknologi ini bukan untuk yang lemah hati! Anda biasanya membutuhkan pemahaman mendalam tentang jaringan saraf dan analisis data, hanya untuk mendapatkannya mulai dengan teknologi seperti TensorFlow.

Bahkan jika kamu melakukan memiliki pengalaman dengan ML, membuat aplikasi seluler yang didukung mesin pembelajaran dapat menjadi proses yang memakan waktu, rumit dan mahal, mengharuskan Anda untuk sumber data yang cukup untuk melatih model ML Anda sendiri, dan kemudian mengoptimalkan model ML tersebut untuk berjalan secara efisien di lingkungan seluler. Jika Anda seorang pengembang individu, atau memiliki sumber daya terbatas, maka tidak mungkin untuk menerapkan pengetahuan ML Anda.

ML Kit adalah upaya Google untuk membawa pembelajaran mesin ke massa.

Di bawah tenda, Kit ML menggabungkan beberapa teknologi ML yang kuat yang biasanya membutuhkan pengetahuan ML yang luas, termasuk Cloud Vision, TensorFlow, dan Android Neural Networks API. ML Kit menggabungkan teknologi ML khusus ini dengan model yang sudah dilatih untuk case penggunaan seluler umum, termasuk mengekstraksi teks dari gambar, memindai barcode, dan mengidentifikasi konten foto.


Terlepas dari apakah Anda memiliki pengetahuan sebelumnya tentang ML, Anda dapat menggunakan ML Kit untuk menambahkan kemampuan pembelajaran mesin yang kuat ke Android Anda dan Aplikasi iOS - cukup serahkan beberapa data ke bagian yang benar dari ML Kit, seperti Text Recognition atau Language Identification API, dan API ini akan menggunakan pembelajaran mesin untuk mengembalikan respons.

Bagaimana cara menggunakan API Kit ML?

Kit ML dibagi menjadi beberapa API yang didistribusikan sebagai bagian dari platform Firebase. Untuk menggunakan salah satu API Kit ML, Anda harus membuat koneksi antara proyek Android Studio Anda dan proyek Firebase yang sesuai, dan kemudian berkomunikasi dengan Firebase.

Sebagian besar model Kit ML tersedia sebagai model pada perangkat yang dapat Anda unduh dan gunakan secara lokal, tetapi beberapa model juga tersedia di cloud, yang memungkinkan aplikasi Anda untuk melakukan tugas-tugas yang diberdayakan ML melalui koneksi internet perangkat.

Setiap pendekatan memiliki kekuatan dan kelemahan yang unik, sehingga Anda harus memutuskan apakah pemrosesan lokal atau jarak jauh paling masuk akal untuk aplikasi khusus Anda. Anda bahkan dapat menambahkan dukungan untuk kedua model, dan kemudian mengizinkan pengguna Anda untuk memutuskan model mana yang akan digunakan saat runtime. Atau, Anda dapat mengonfigurasi aplikasi Anda untuk memilih model terbaik untuk kondisi saat ini, misalnya hanya menggunakan model berbasis cloud saat perangkat terhubung ke Wi-Fi.

Jika Anda memilih model lokal, maka fitur pembelajaran mesin aplikasi Anda akan selalu tersedia, terlepas dari apakah pengguna memiliki koneksi Internet aktif. Karena semua pekerjaan dilakukan secara lokal, model pada perangkat ideal ketika aplikasi Anda perlu memproses data dalam jumlah besar dengan cepat, misalnya jika Anda menggunakan ML Kit untuk memanipulasi streaming video langsung.

Sementara itu, model berbasis cloud biasanya memberikan akurasi yang lebih besar daripada model di perangkat, karena model cloud memanfaatkan kekuatan teknologi pembelajaran mesin Google Cloud Platform. Misalnya, model pada perangkat API Pelabelan Gambar menyertakan 400 label, tetapi fitur model cloud berakhir 10.000 label.

Bergantung pada API, mungkin juga ada beberapa fungsionalitas yang hanya tersedia di cloud, misalnya API Pengenalan Teks hanya dapat mengidentifikasi karakter non-Latin jika Anda menggunakan model berbasis cloud-nya.

API berbasis cloud hanya tersedia untuk proyek Firebase tingkat Blaze, jadi Anda harus meningkatkan ke paket Blaze pay-as-you-go, sebelum Anda dapat menggunakan model cloud Kit ML apa pun.

Jika Anda memutuskan untuk menjelajahi model cloud, maka pada saat penulisan, ada kuota gratis yang tersedia untuk semua API Kit ML. Jika Anda hanya ingin bereksperimen dengan Pelabelan Gambar berbasis cloud, maka Anda dapat memutakhirkan proyek Firebase Anda ke paket Blaze, menguji API pada kurang dari 1.000 gambar, dan kemudian beralih kembali ke paket Spark gratis, tanpa dikenakan biaya. Namun, syarat dan ketentuan memiliki kebiasaan buruk untuk berubah dari waktu ke waktu, jadi pastikan untuk membaca cetakan kecil sebelum meningkatkan ke Blaze, hanya untuk memastikan Anda tidak terkena tagihan yang tidak terduga!

Identifikasi teks dalam gambar apa pun, dengan API Pengenalan Teks

API Pengenalan Teks dapat dengan cerdas mengidentifikasi, menganalisis, dan memproses teks.

Anda dapat menggunakan API ini untuk membuat aplikasi yang mengekstraksi teks dari gambar, sehingga pengguna Anda tidak perlu membuang waktu untuk entri data manual yang membosankan. Misalnya, Anda dapat menggunakan Text Recognition API untuk membantu pengguna Anda mengekstrak dan merekam informasi dari tanda terima, faktur, kartu nama, atau bahkan label nutrisi, hanya dengan mengambil foto dari item yang dimaksud.

Anda bahkan dapat menggunakan Text Recognition API sebagai langkah pertama dalam aplikasi terjemahan, di mana pengguna mengambil foto dari beberapa teks yang tidak dikenal dan API mengekstraksi semua teks dari gambar, siap untuk diteruskan ke layanan terjemahan.

API Pengenalan Teks di Perangkat ML dapat mengidentifikasi teks dalam bahasa berbasis Latin apa pun, sedangkan mitra berbasis cloudnya dapat mengenali variasi bahasa dan karakter yang lebih besar, termasuk karakter Cina, Jepang, dan Korea. Model berbasis cloud juga dioptimalkan untuk mengekstraksi teks yang jarang dari gambar dan teks dari dokumen yang padat, yang harus Anda perhitungkan ketika memutuskan model mana yang akan digunakan dalam aplikasi Anda.

Ingin pengalaman langsung dengan API ini? Kemudian lihat panduan langkah demi langkah kami untuk membuat aplikasi yang dapat mengekstraksi teks dari gambar apa pun, menggunakan API Pengenalan Teks.

Memahami konten gambar: API Pelabelan Gambar

API Pelabelan Gambar dapat mengenali entitas dalam gambar, termasuk lokasi, orang, produk, dan hewan, tanpa perlu metadata kontekstual tambahan. API Pelabelan Gambar akan mengembalikan informasi tentang entitas yang terdeteksi dalam bentuk label. Misalnya dalam tangkapan layar berikut, saya telah memberikan API dengan foto alam, dan merespons dengan label seperti "Hutan" dan "Sungai."

Kemampuan untuk mengenali konten gambar dapat membantu Anda membuat aplikasi yang memberi tag pada foto berdasarkan subjeknya; filter yang secara otomatis mengidentifikasi konten yang dikirimkan pengguna yang tidak pantas dan menghapusnya dari aplikasi Anda; atau sebagai dasar untuk fungsi pencarian lanjutan.

Banyak API Kit ML mengembalikan beberapa hasil yang mungkin, lengkap dengan skor kepercayaan yang menyertainya - termasuk API Pelabelan Gambar. Jika Anda melewatkan Pelabelan Gambar foto pudel, maka label tersebut dapat menampilkan label seperti "pudel," "anjing," "hewan peliharaan" dan "hewan kecil," semuanya dengan skor yang bervariasi yang menunjukkan kepercayaan API pada setiap label. Semoga dalam skenario ini "pudel" akan memiliki skor kepercayaan tertinggi!

Anda dapat menggunakan skor kepercayaan ini untuk membuat ambang yang harus dipenuhi, sebelum aplikasi Anda bertindak pada label tertentu, misalnya menampilkannya kepada pengguna atau menandai foto dengan label ini.

Pelabelan Gambar tersedia di perangkat dan di cloud, meskipun jika Anda memilih model cloud maka Anda akan mendapatkan akses ke lebih dari 10.000 label, dibandingkan dengan 400 label yang termasuk dalam model di perangkat.

Untuk melihat lebih mendalam pada API Pelabelan Gambar, lihat Menentukan konten gambar dengan pembelajaran mesin. Dalam artikel ini, kami membangun aplikasi yang memproses gambar, dan kemudian mengembalikan label dan skor kepercayaan untuk setiap entitas yang terdeteksi dalam gambar itu. Kami juga menerapkan model pada perangkat dan cloud di aplikasi ini, sehingga Anda dapat melihat dengan tepat bagaimana perbedaan hasilnya, tergantung pada model mana yang Anda pilih.

Memahami ekspresi dan pelacakan wajah: API Deteksi Wajah

API Deteksi Wajah dapat menemukan wajah manusia dalam foto, video, dan streaming langsung, lalu mengekstrak informasi tentang setiap wajah yang terdeteksi, termasuk posisi, ukuran, dan orientasinya.

Anda dapat menggunakan API ini untuk membantu pengguna mengedit foto mereka, misalnya dengan memotong secara otomatis semua ruang kosong di sekitar headshot terbaru mereka.

API Deteksi Wajah tidak terbatas pada gambar - Anda juga dapat menerapkan API ini untuk video, misalnya Anda dapat membuat aplikasi yang mengidentifikasi semua wajah dalam umpan video dan kemudian mengaburkan semuanya kecuali wajah-wajah itu, mirip dengan fitur latar belakang Skype.

Deteksi wajah adalah selalu dilakukan pada perangkat, di mana itu cukup cepat untuk digunakan secara real-time, jadi tidak seperti mayoritas API Kit ML, Deteksi Wajah tidak tidak termasuk model cloud.

Selain mendeteksi wajah, API ini memiliki beberapa fitur tambahan yang perlu ditelusuri. Pertama, Face Detection API dapat mengidentifikasi landmark wajah, seperti mata, bibir, dan telinga, dan kemudian mengambil koordinat yang tepat untuk masing-masing landmark ini. Ini pengakuan tengara memberi Anda peta akurat dari setiap wajah yang terdeteksi - sempurna untuk membuat aplikasi augmented reality (AR) yang menambahkan topeng dan filter gaya Snapchat ke umpan kamera pengguna.

API Deteksi Wajah juga menawarkan facial klasifikasi. Saat ini, ML Kit mendukung dua klasifikasi wajah: mata terbuka, dan tersenyum.

Anda dapat menggunakan klasifikasi ini sebagai dasar untuk layanan aksesibilitas, seperti kontrol bebas genggam, atau untuk membuat game yang merespons ekspresi wajah pemain. Kemampuan untuk mendeteksi apakah seseorang sedang tersenyum atau membuka mata juga bisa berguna jika Anda membuat aplikasi kamera - lagipula, tidak ada yang lebih buruk daripada mengambil banyak foto, hanya untuk kemudian menemukan bahwa seseorang memiliki mata yang tertutup. di setiap tembakan.

Terakhir, Face Detection API mencakup komponen pelacakan wajah, yang memberikan ID ke wajah dan kemudian melacak yang menghadap ke beberapa gambar atau bingkai video yang berurutan. Perhatikan bahwa ini adalah wajah pelacakan dan wajah tidak benar pengakuan. Di belakang layar, API Deteksi Wajah melacak posisi dan gerakan wajah dan kemudian menyimpulkan bahwa wajah ini kemungkinan milik orang yang sama, tetapi pada akhirnya tidak mengetahui identitas orang tersebut.

Cobalah API Deteksi Wajah untuk Anda sendiri! Cari tahu cara membangun aplikasi pendeteksi wajah dengan pembelajaran mesin dan Firebase ML Kit.

Pemindaian barcode dengan Firebase dan ML

Pemindaian kode batang mungkin tidak terdengar semenarik sebagian API pembelajaran mesin lainnya, tetapi ini merupakan salah satu bagian yang paling mudah diakses dari Kit ML.

Memindai kode batang tidak memerlukan perangkat keras atau perangkat lunak khusus, sehingga Anda dapat menggunakan API Pemindaian Kode Batang sambil memastikan aplikasi Anda tetap dapat diakses oleh sebanyak mungkin orang, termasuk pengguna pada perangkat yang lebih tua atau anggaran. Selama perangkat memiliki kamera yang berfungsi, seharusnya tidak ada masalah memindai kode batang.

Barcode Scanning API Kit ML dapat mengekstraksi berbagai informasi dari barcode cetak dan digital, yang membuatnya menjadi cara yang cepat, mudah dan dapat diakses untuk meneruskan informasi dari dunia nyata, ke aplikasi Anda, tanpa pengguna harus melakukan entri data manual yang membosankan. .

Ada sembilan tipe data berbeda yang dapat dikenali dan diurai oleh barcode Scanning Barcode:

  • TYPE_CALENDAR_EVENT. Ini berisi informasi seperti lokasi acara, penyelenggara, dan waktu mulai dan berakhirnya.Jika Anda mempromosikan suatu acara, maka Anda dapat menyertakan barcode tercetak pada poster atau selebaran Anda, atau menampilkan barcode digital di situs web Anda. Calon peserta yang potensial dapat mengekstraksi semua informasi tentang acara Anda, hanya dengan memindai barcode-nya.
  • TYPE_CONTACT_INFO. Jenis data ini mencakup informasi seperti alamat email, nama, nomor telepon, dan judul kontak.
  • TYPE_DRIVER_LICENSE. Ini berisi informasi seperti jalan, kota, negara bagian, nama, dan tanggal lahir yang terkait dengan SIM.
  • TYPE_EMAIL. Jenis data ini mencakup alamat email, ditambah baris subjek email, dan teks isi.
  • TYPE_GEO. Ini berisi garis lintang dan bujur untuk titik geografis tertentu, yang merupakan cara mudah untuk berbagi lokasi dengan pengguna Anda, atau bagi mereka untuk berbagi lokasi mereka dengan orang lain. Anda bahkan dapat berpotensi menggunakan barcode geo untuk memicu peristiwa berbasis lokasi, seperti menampilkan beberapa informasi bermanfaat tentang lokasi pengguna saat ini, atau sebagai dasar untuk game seluler berbasis lokasi.
  • TYPE_PHONE. Ini berisi nomor telepon dan jenis nomor itu, misalnya apakah itu nomor telepon rumah atau kantor.
  • TYPE_SMS. Ini berisi beberapa teks isi SMS dan nomor telepon yang terkait dengan SMS.
  • TYPE_URL. Jenis data ini berisi URL dan judul URL. Memindai barcode TYPE_URL jauh lebih mudah daripada mengandalkan pengguna Anda untuk mengetik URL yang panjang dan kompleks secara manual, tanpa membuat kesalahan ketik atau kesalahan pengejaan.
  • TYPE_WIFI. Ini berisi SSID dan kata sandi jaringan Wi-Fi, ditambah jenis enkripsi seperti OPEN, WEP atau WPA. Barcode Wi-Fi adalah salah satu cara termudah untuk membagikan kredensial Wi-Fi, sekaligus juga menghapus risiko pengguna Anda memasukkan informasi ini secara tidak benar.

Barcode Scanning API dapat mem-parsing data dari berbagai barcode, termasuk format linear seperti Codabar, Kode 39, EAN-8, ITF, dan UPC-A, dan format 2D seperti Aztec, Data Matrix, dan QR Codes.

Untuk membuat segalanya lebih mudah bagi pengguna akhir Anda, API ini memindai semua barcode yang didukung secara bersamaan, dan juga dapat mengekstraksi data terlepas dari orientasi barcode - jadi tidak masalah jika barcode benar-benar terbalik ketika pengguna memindai!

Pembelajaran Mesin di Awan: API Pengakuan Landmark

Anda dapat menggunakan API Pengenalan Landmark Kit ML untuk mengidentifikasi tengara alam dan bangunan yang terkenal dalam sebuah gambar.

Jika Anda memberikan API ini gambar yang berisi tengara terkenal, maka itu akan mengembalikan nama tengara itu, nilai lintang dan bujur tengara, dan kotak pembatas yang menunjukkan di mana tengara ditemukan dalam gambar.

Anda dapat menggunakan Landmark Recognition API untuk membuat aplikasi yang secara otomatis menandai foto pengguna, atau untuk memberikan pengalaman yang lebih khusus, misalnya jika aplikasi Anda mengakui bahwa pengguna mengambil foto Menara Eiffel, maka itu mungkin menawarkan beberapa fakta menarik tentang tengara ini, atau sarankan tempat wisata terdekat yang serupa yang mungkin ingin dikunjungi pengguna berikutnya.

Tidak seperti biasanya untuk Kit ML, Landmark Detection API hanya tersedia sebagai API berbasis cloud, jadi aplikasi Anda hanya akan dapat melakukan deteksi landmark ketika perangkat memiliki koneksi Internet aktif.

API Identifikasi Bahasa: Berkembang untuk pemirsa internasional

Saat ini, aplikasi Android digunakan di setiap bagian dunia, oleh pengguna yang berbicara berbagai bahasa.

Bahasa Identifikasi API Kit ML dapat membantu aplikasi Android Anda menarik bagi audiens internasional, dengan mengambil serangkaian teks dan menentukan bahasa tempat penulisan. API Identifikasi Bahasa dapat mengidentifikasi lebih dari seratus bahasa yang berbeda, termasuk teks yang diromanisasi untuk bahasa Arab, Bulgaria, Cina, Yunani, Hindi, Jepang, dan Rusia.

API ini dapat menjadi tambahan yang berharga untuk aplikasi apa pun yang memproses teks yang disediakan pengguna, karena teks ini jarang menyertakan informasi bahasa apa pun. Anda juga dapat menggunakan Bahasa Identifikasi API di aplikasi terjemahan, sebagai langkah pertama untuk menerjemahkan apa pun, mengetahui bahasa apa yang Anda gunakan! Misalnya, jika pengguna mengarahkan kamera perangkat mereka pada suatu menu, maka aplikasi Anda mungkin menggunakan API Identifikasi Bahasa untuk menentukan bahwa menu ditulis dalam bahasa Prancis, dan kemudian menawarkan untuk menerjemahkan menu ini menggunakan layanan seperti Cloud Translation API ( mungkin setelah mengekstraksi teksnya, menggunakan Text Recognition API?)

Bergantung pada string yang dipermasalahkan, API Identifikasi Bahasa dapat mengembalikan beberapa bahasa potensial, disertai dengan skor kepercayaan sehingga Anda dapat menentukan bahasa yang terdeteksi paling mungkin benar. Perhatikan bahwa pada saat penulisan Kit ML tidak dapat mengidentifikasi beberapa bahasa berbeda dalam string yang sama.

Untuk memastikan API ini menyediakan identifikasi bahasa dalam waktu nyata, API Identifikasi Bahasa hanya tersedia sebagai model pada perangkat.

Segera Hadir: Balas Cerdas

Google berencana untuk menambahkan lebih banyak API ke ML Kit di masa mendatang, tetapi kami sudah tahu tentang satu API yang akan datang.

Menurut situs web ML Kit, yang akan datang API Balas Cerdas akan memungkinkan Anda untuk menawarkan balasan pesan kontekstual di aplikasi Anda, dengan menyarankan potongan teks yang sesuai dengan konteks saat ini. Berdasarkan apa yang sudah kita ketahui tentang API ini, tampaknya Balas Cerdas akan mirip dengan fitur yang disarankan-respons yang sudah tersedia di aplikasi Android, Wear OS, dan Gmail.

Tangkapan layar berikut menunjukkan bagaimana fitur respons yang disarankan saat ini terlihat di Gmail.

Apa berikutnya? Menggunakan TensorFlow Lite dengan ML Kit

ML Kit menyediakan model yang sudah dibangun untuk kasing yang umum digunakan, tetapi pada titik tertentu Anda mungkin ingin beralih dari model yang sudah jadi ini.

Dimungkinkan untuk membuat model ML Anda sendiri menggunakan TensorFlow Lite dan kemudian mendistribusikannya menggunakan Kit ML. Namun, perlu diketahui bahwa tidak seperti API yang dibuat oleh ML Kit, bekerja dengan model ML Anda sendiri membutuhkan penting jumlah keahlian ML.

Setelah Anda membuat model TensorFlow Lite Anda, Anda dapat mengunggahnya ke Firebase dan Google kemudian akan mengelola hosting dan menyajikan model-model itu kepada pengguna akhir Anda. Dalam skenario ini, ML Kit bertindak sebagai lapisan API di atas model khusus Anda, yang menyederhanakan beberapa peningkatan berat yang terlibat dalam menggunakan model khusus. Terutama, ML Kit akan secara otomatis mendorong versi terbaru dari model Anda ke pengguna Anda, sehingga Anda tidak perlu memperbarui aplikasi setiap kali Anda ingin mengubah model Anda.

Untuk memberikan pengalaman pengguna sebaik mungkin, Anda dapat menentukan kondisi yang harus dipenuhi, sebelum aplikasi Anda akan mengunduh versi baru model TensorFlow Lite Anda, misalnya hanya memperbarui model ketika perangkat dalam keadaan diam, mengisi daya, atau terhubung ke Wi- Fi. Anda bahkan dapat menggunakan ML Kit dan TensorFlow Lite bersama layanan Firebase lainnya, misalnya menggunakan Firebase Remote Config dan Firebase A / B Testing untuk melayani model yang berbeda untuk set pengguna yang berbeda.

Jika Anda ingin melampaui model yang sudah dibuat sebelumnya, atau model Kit ML yang ada tidak cukup memenuhi kebutuhan Anda, maka Anda dapat mempelajari lebih lanjut tentang membuat model pembelajaran mesin Anda sendiri, di dokumen resmi Firebase.

Membungkus

Dalam artikel ini, kami melihat setiap komponen kit pembelajaran mesin Google, dan membahas beberapa skenario umum di mana Anda mungkin ingin menggunakan masing-masing API Kit ML.

Google berencana untuk menambahkan lebih banyak API di masa depan, jadi API pembelajaran mesin mana yang ingin Anda lihat ditambahkan ke ML Kit selanjutnya? Beri tahu kami di komentar di bawah!

Dari wallpaper hingga indikator baterai, orang-orang telah menemukan kegunaan yang menarik untuk lubang punch kamera elfie amung Galaxy 10. ekarang, pengembang Android Chainfire menemukan kegunaan lai...

Ah, Black Friday, emua keenangan hari Jumat digabung dengan emua penjualan yang bia Anda minta. ementara kebanyakan orang bergega ke Bet Buy untuk TV baru atau konol terbaru, tonton chetnut panggang d...

Baca Hari Ini