Segmentasi

Segmentasi citra adalah proses mempartisi citra digital menjadi beberapa segmen (kumpulan piksel, juga dikenal sebagai objek citra). Tujuan dari segmentasi adalah untuk menyederhanakan dan/atau mengubah representasi suatu citra menjadi sesuatu yang lebih bermakna dan lebih mudah untuk dianalisis.

Gambar berikut menunjukkan output dari model segmentasi gambar pada Android. Model akan membuat topeng di atas objek target dengan akurasi tinggi.

Memulai

Jika Anda baru menggunakan TensorFlow Lite dan bekerja dengan Android atau iOS, Anda disarankan untuk menjelajahi contoh aplikasi berikut yang dapat membantu Anda memulai.

Anda dapat memanfaatkan API siap pakai dari Pustaka Tugas TensorFlow Lite untuk mengintegrasikan model segmentasi gambar hanya dalam beberapa baris kode. Anda juga dapat mengintegrasikan model menggunakan TensorFlow Lite Interpreter Java API .

Contoh Android di bawah ini menunjukkan implementasi untuk kedua metode sebagai lib_task_api dan lib_interpreter .

Lihat contoh Android

Lihat contoh iOS

Jika Anda menggunakan platform selain Android atau iOS, atau Anda sudah terbiasa dengan TensorFlow Lite API , Anda dapat mengunduh model segmentasi gambar pemula kami.

Unduh model pemula

Deskripsi model

DeepLab adalah model pembelajaran mendalam yang canggih untuk segmentasi gambar semantik, di mana tujuannya adalah untuk menetapkan label semantik (misalnya orang, anjing, kucing) ke setiap piksel dalam gambar input.

Bagaimana itu bekerja

Segmentasi citra semantik memprediksi apakah setiap piksel dari suatu citra berasosiasi dengan kelas tertentu. Ini berbeda dengan deteksi objek , yang mendeteksi objek di wilayah persegi panjang, dan klasifikasi gambar , yang mengklasifikasikan gambar secara keseluruhan.

Implementasi saat ini mencakup fitur-fitur berikut:

  1. DeepLabv1: Kami menggunakan konvolusi atrous untuk secara eksplisit mengontrol resolusi di mana respons fitur dihitung dalam Deep Convolutional Neural Networks.
  2. DeepLabv2: Kami menggunakan penggabungan piramida spasial atrous (ASPP) untuk menyegmentasikan objek dengan kuat pada berbagai skala dengan filter pada beberapa laju pengambilan sampel dan bidang pandang yang efektif.
  3. DeepLabv3: Kami menambah modul ASPP dengan fitur tingkat gambar [5, 6] untuk menangkap informasi dengan jangkauan yang lebih jauh. Kami juga menyertakan parameter normalisasi batch [7] untuk memfasilitasi pelatihan. Secara khusus, kami menerapkan konvolusi atrous untuk mengekstrak fitur output pada langkah output yang berbeda selama pelatihan dan evaluasi, yang secara efisien memungkinkan pelatihan BN pada langkah output = 16 dan mencapai kinerja tinggi pada langkah output = 8 selama evaluasi.
  4. DeepLabv3+: Kami memperluas DeepLabv3 untuk menyertakan modul dekoder yang sederhana namun efektif untuk menyempurnakan hasil segmentasi terutama di sepanjang batas objek. Selanjutnya, dalam struktur encoder-decoder ini, seseorang dapat secara sewenang-wenang mengontrol resolusi fitur encoder yang diekstraksi dengan konvolusi berat ke presisi trade-off dan runtime.

Tolok ukur kinerja

Angka tolok ukur kinerja dihasilkan dengan alat yang dijelaskan di sini .

Nama model Ukuran model Perangkat GPU CPU
Deeplab v3 2,7 Mb Piksel 3 (Android 10) 16ms 37ms*
Piksel 4 (Android 10) 20ms 23ms*
iPhone XS (iOS 12.4.1) 16ms 25ms**

* 4 benang digunakan.

** 2 utas digunakan pada iPhone untuk hasil kinerja terbaik.

Bacaan dan sumber lebih lanjut