CategoriesAndroidProgramming

Integrasi AI ke Aplikasi Mobile dengan ML Kit

Dengan perkembangan teknologi yang pesat, machine learning (ML) telah menjadi salah satu tren utama dalam pengembangan aplikasi mobile. Google, melalui ML Kit, menyediakan solusi mudah dan efisien untuk mengintegrasikan fitur-fitur machine learning ke dalam aplikasi Android. ML Kit menawarkan berbagai API yang memungkinkan pengembang untuk mengimplementasikan fitur-fitur canggih seperti pengenalan wajah, pengenalan teks, pemindaian barcode, dan masih banyak lagi tanpa perlu pengetahuan mendalam tentang machine learning.

Dalam artikel ini, kita akan membahas bagaimana cara menerapkan ML Kit di aplikasi Android, serta contoh implementasi sederhana untuk pengenalan teks menggunakan Text Recognition API.

Apa itu ML Kit?

ML Kit adalah rangkaian API yang disediakan oleh Google, yang memanfaatkan kekuatan machine learning untuk menghadirkan pengalaman pengguna yang lebih pintar di aplikasi Android. ML Kit dapat digunakan untuk melakukan berbagai tugas seperti pengenalan wajah, pemindaian barcode, pengenalan teks, klasifikasi gambar, dan masih banyak lagi. API ini tersedia untuk digunakan baik di perangkat (on-device) maupun di cloud, tergantung pada kebutuhan dan kompleksitas tugas yang ingin dilakukan.

Fitur Utama ML Kit

  1. Text Recognition: Mendeteksi dan mengenali teks dari gambar.
  2. Face Detection: Mendeteksi wajah dalam gambar atau video.
  3. Barcode Scanning: Membaca dan mengenali barcode dari berbagai format.
  4. Image Labeling: Mengidentifikasi objek dan konsep dalam gambar.
  5. Object Detection and Tracking: Mendeteksi dan melacak objek dalam gambar atau video.
  6. Language Identification: Mendeteksi bahasa dari teks yang diberikan.
  7. dan masih banyak lagi…

Langkah-Langkah Implementasi

1. Menambahkan Dependensi ML Kit

Tambahkan dependensi untuk ML Kit Text Recognition dan Camera View di build.gradle (app level):

dependencies {
implementation 'com.google.mlkit:text-recognition:16.0.0'
implementation 'com.otaliastudios:cameraview:2.7.2'
}

2. Menambahkan Izin Kamera di AndroidManifest.xml

Pastikan aplikasi memiliki izin untuk mengakses kamera:

<uses-permission android:name="android.permission.CAMERA" />

3. Membuat Layout untuk OCR Scanner

Buat layout dengan CameraView yang akan menampilkan feed dari kamera:

<!-- res/layout/activity_realtime_ocr.xml -->
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<com.otaliastudios.cameraview.CameraView
android:id="@+id/cameraView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center" />

<TextView
android:id="@+id/textResult"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center_horizontal"
android:background="@android:color/white"
android:padding="8dp"
android:text="Recognized Text"
android:textColor="@android:color/black" />
</FrameLayout>

4. Kode untuk Menggunakan Real-time OCR

Di Activity atau Fragment Anda, berikut adalah kode untuk menginisialisasi dan menjalankan OCR secara real-time:

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import android.widget.TextView
import com.otaliastudios.cameraview.CameraView
import com.google.mlkit.vision.common.InputImage
import com.google.mlkit.vision.text.TextRecognition
import com.google.mlkit.vision.text.latin.TextRecognizerOptions

class RealtimeOCRActivity : AppCompatActivity() {

private lateinit var cameraView: CameraView
private lateinit var textResult: TextView

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_realtime_ocr)

cameraView = findViewById(R.id.cameraView)
textResult = findViewById(R.id.textResult)

// Inisialisasi Text Recognizer
val recognizer = TextRecognition.getClient(TextRecognizerOptions.DEFAULT_OPTIONS)

// Set listener untuk frame analisis kamera
cameraView.setLifecycleOwner(this)
cameraView.addFrameProcessor { frame ->
val data = frame.getData<ByteArray>()
val rotation = frame.rotation.toFloat()
val image = InputImage.fromByteArray(
data,
frame.size.width,
frame.size.height,
frame.rotation,
InputImage.IMAGE_FORMAT_NV21
)

// Proses gambar untuk mengenali teks
recognizer.process(image)
.addOnSuccessListener { visionText ->
val recognizedText = visionText.text
runOnUiThread {
textResult.text = recognizedText
}
}
.addOnFailureListener {
// Handle error jika ada
runOnUiThread {
textResult.text = "Failed to recognize text"
}
}
}
}

override fun onResume() {
super.onResume()
cameraView.open()
}

override fun onPause() {
super.onPause()
cameraView.close()
}

override fun onDestroy() {
super.onDestroy()
cameraView.destroy()
}
}

6. Menjalankan Aplikasi

Saat aplikasi dijalankan, CameraView akan menampilkan umpan kamera secara real-time. Teks yang dikenali oleh ML Kit akan ditampilkan di TextView di bagian bawah layar.

Kasus Penggunaan ML Kit di Aplikasi Android

  1. Pemindaian Dokumen: Menggunakan Text Recognition API untuk mengenali teks dari dokumen yang dipindai dan mengonversinya menjadi teks digital yang dapat diedit.
  2. Aplikasi E-Commerce: Menggunakan Barcode Scanning API untuk mempermudah proses pemindaian produk.
  3. Aplikasi Sosial Media: Menggunakan Face Detection untuk menerapkan filter wajah secara real-time.
  4. Penerjemahan Teks: Mengombinasikan Text Recognition dengan API penerjemahan untuk membuat aplikasi penerjemahan teks secara instan.

Kesimpulan

ML Kit adalah alat yang sangat powerful untuk membawa kemampuan machine learning ke aplikasi Android tanpa memerlukan pengetahuan mendalam tentang algoritma ML. Dengan ML Kit, pengembang dapat dengan cepat dan mudah mengimplementasikan fitur-fitur canggih seperti pengenalan teks, deteksi wajah, dan pemindaian barcode, sehingga aplikasi yang dikembangkan menjadi lebih pintar dan responsif terhadap kebutuhan pengguna.

Dengan mengintegrasikan ML Kit ke dalam aplikasi, Anda dapat memberikan pengalaman pengguna yang lebih kaya dan interaktif, serta tetap fokus pada pengembangan fitur inti aplikasi Anda.

Selamat mencoba menerapkan ML Kit di aplikasi Android Anda!

Referensi :
https://developers.google.com/ml-kit?hl=id

Published by Ahmad Saifur Ridlo

Android Developer at Algostudio.net