Bantuan melindungi Great Barrier Reef dengan TensorFlow pada Kaggle Bergabung Tantangan

Segmentasi

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

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

Memulai

Jika Anda baru mengenal TensorFlow Lite dan menggunakan Android atau iOS, sebaiknya jelajahi contoh aplikasi berikut yang dapat membantu Anda memulai.

Anda dapat memanfaatkan API out-of-box dari TensorFlow Lite Task Library 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 mendemonstrasikan implementasi untuk kedua metode tersebut 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 mendownload model segmentasi gambar awal kami.

Unduh model permulaan

Deskripsi model

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

Bagaimana itu bekerja

Segmentasi gambar semantik memprediksi apakah setiap piksel gambar dikaitkan dengan kelas tertentu. Ini berbeda dengan deteksi objek , yang mendeteksi objek dalam bidang persegi panjang, dan klasifikasi gambar , yang mengklasifikasikan gambar secara keseluruhan.

Implementasi saat ini mencakup beberapa 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 atrous spatial pyramid pooling (ASPP) untuk menyegmentasikan objek dengan kuat pada berbagai skala dengan filter pada beberapa tingkat 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 keluaran pada langkah keluaran yang berbeda selama pelatihan dan evaluasi, yang secara efisien memungkinkan pelatihan BN pada langkah keluaran = 16 dan mencapai kinerja tinggi pada langkah keluaran = 8 selama evaluasi.
  4. DeepLabv3 +: Kami memperluas DeepLabv3 untuk menyertakan modul decoder yang sederhana namun efektif untuk menyempurnakan hasil segmentasi terutama di sepanjang batas objek. Lebih jauh lagi, dalam struktur encoder-decoder ini, seseorang dapat secara sewenang-wenang mengontrol resolusi fitur encoder yang diekstraksi dengan konvolusi yang keras untuk trade-off presisi dan runtime.

Tolok ukur kinerja

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

Nama model Ukuran model Alat GPU CPU
Deeplab v3 2.7 Mb Pixel 3 (Android 10) 16 md 37 md *
Pixel 4 (Android 10) 20 md 23 md *
iPhone XS (iOS 12.4.1) 16 md 25 md **

* 4 utas digunakan.

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

Bacaan dan sumber lebih lanjut