Tarihi kaydet! Google I / O 18-20 Mayıs'ta geri dönüyor Şimdi kaydolun
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

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 daha kolay analiz edilebilecek 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 sadece birkaç satır kodla 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 , giriş görüntüsündeki her piksele anlamsal etiketler (örn. Kişi, köpek, kedi) atamak olan anlamsal görüntü bölümleme için son teknoloji ürünü bir derin öğrenme modelidir.

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 havuzu (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ğitmeyi sağlar ve değerlendirme sırasında çıktı adımı = 8'de yüksek bir performans elde eder.
  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. Ayrıca, bu kodlayıcı-kod çözücü yapısında, çıkarılmış kodlayıcı özelliklerinin çözünürlüğü, kesinlik ve çalışma süresinden ödün vermeden ani 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