Yardım Kaggle üzerinde TensorFlow ile Büyük Bariyer Resifi korumak Meydan Üyelik

Segmentasyon

Görüntü bölümleme, dijital bir görüntüyü birden çok bölüme (piksel kümeleri, görüntü nesneleri olarak da bilinir) bölme işlemidir. Segmentasyonun amacı, bir görüntünün temsilini basitleştirmek ve / veya daha anlamlı ve analiz etmesi daha kolay bir şeye dönüştürmektir.

Aşağıdaki görüntü, Android'deki görüntü segmentasyon modelinin çıktısını göstermektedir. Model, hedef nesnelerin üzerinde yüksek doğrulukta bir maske oluşturacaktır.

Başlamak

TensorFlow Lite'ta yeniyseniz ve Android veya iOS ile çalışıyorsanız, başlamanıza yardımcı olabilecek aşağıdaki örnek uygulamaları keşfetmeniz önerilir.

Görüntü segmentasyon modellerini yalnızca birkaç kod satırına entegre etmek için TensorFlow Lite Görev Kitaplığı'ndaki kullanıma hazır API'den yararlanabilirsiniz. Modeli TensorFlow Lite Interpreter Java API kullanarak da entegre edebilirsiniz.

Aşağıdaki Android örneği, sırasıyla lib_task_api ve lib_interpreter olarak her iki yöntemin uygulamasını göstermektedir.

Android örneğini görüntüleyin

İOS örneğini görüntüleyin

Android veya iOS dışında bir platform kullanıyorsanız veya TensorFlow Lite API'lerine aşina iseniz, başlangıç ​​görüntü segmentasyon modelimizi indirebilirsiniz.

Başlangıç ​​modelini indirin

Model Açıklaması

DeepLab , anlamsal görüntü segmentasyonu için son teknoloji ürünü bir derin öğrenme modelidir; burada amaç, giriş görüntüsündeki her piksele anlamsal etiketler (örn. Kişi, köpek, kedi) atamaktır.

Nasıl çalışır

Anlamsal görüntü segmentasyonu, bir görüntünün her pikselinin belirli bir sınıfla ilişkili olup olmadığını tahmin eder. Bu, dikdörtgen bölgelerdeki nesneleri algılayan nesne algılamanın ve genel görüntüyü sınıflandıran görüntü sınıflandırmasının tersidir.

Mevcut uygulama aşağıdaki özellikleri içerir:

  1. DeepLabv1: Özellik yanıtlarının Derin Evrişimli Sinir Ağlarında hesaplandığı çözünürlüğü açıkça kontrol etmek için acımasız evrişim kullanıyoruz.
  2. DeepLabv2: Nesneleri çoklu örnekleme hızlarında ve etkili görüş alanlarında filtrelerle birden çok ölçekte sağlam bir şekilde bölümlere ayırmak için acımasız uzamsal piramit havuzlaması (ASPP) kullanıyoruz.
  3. DeepLabv3: Daha uzun menzilli bilgileri yakalamak için ASPP modülünü görüntü seviyesi özelliği [5, 6] ile güçlendiriyoruz. Eğitimi kolaylaştırmak için toplu normalleştirme [7] parametrelerini de dahil ediyoruz. Özellikle, eğitim ve değerlendirme sırasında farklı çıktı adımlarında çıktı özelliklerini çıkarmak için aşırı evrişim uyguluyoruz, bu da BN'yi çıktı adımı = 16'da verimli bir şekilde eğitmeye ve değerlendirme sırasında çıktı adımı = 8'de yüksek bir performans elde etmeye olanak tanır.
  4. DeepLabv3 +: DeepLabv3'ü, özellikle nesne sınırları boyunca segmentasyon sonuçlarını iyileştirmek için basit ama etkili bir kod çözücü modülü içerecek şekilde genişletiyoruz. Dahası, bu kodlayıcı-kod çözücü yapısında, çıkarılmış kodlayıcı özelliklerinin çözünürlüğü, kesinlik ve çalışma süresinin değiş tokuşu için anrous evrişimle keyfi olarak kontrol edilebilir.

Performans testleri

Performans karşılaştırma numaraları, burada açıklanan araçla oluşturulur.

Model adı Model boyutu cihaz GPU İşlemci
Deeplab v3 2.7 Mb Pixel 3 (Android 10) 16 ms 37 ms *
Pixel 4 (Android 10) 20 ms 23 ms *
iPhone XS (iOS 12.4.1) 16 ms 25 ms **

* 4 iplik kullanıldı.

** En iyi performans sonucu için iPhone'da kullanılan 2 iş parçacığı.

Daha fazla okuma ve kaynaklar