Anlamsal Segmentasyon için 2021 kılavuzu

Kaynak Düğüm: 872271

Intro

Veri olarak görüntülerle çalışırken derin öğrenme çok başarılı olmuştur ve şu anda çoklu kullanım durumlarında insanlardan daha iyi çalıştığı bir aşamadadır. İnsanların bilgisayarla görerek çözmekle ilgilendikleri en önemli sorunlar şunlardır: görüntü sınıflandırma, nesne algılama ve bölümleme artan zorluk sırasına göre.

Eski, düz görüntü sınıflandırma görevinde, bir görüntüde bulunan tüm nesnelerin etiketlerini almakla ilgileniyoruz. Nesne tespitinde bir adım daha ileri gidiyoruz ve bir görüntüde bulunan tüm nesnelerin yanı sıra nesnelerin bulunduğu konumu sınırlayıcı kutular yardımıyla öğrenmeye çalışıyoruz. Görüntü bölümleme, görüntüdeki nesnelerin tam sınırını doğru bir şekilde bulmaya çalışarak onu yeni bir seviyeye taşır.

Kaynak http://cs224d.stanford.edu/index.html

Bu makalede, bu görüntü bölümleme kavramını inceleyeceğiz, ilgili kullanım durumlarını, keşfedilecek sonuçlara, ölçümlere ve veri setlerine ulaşmada yer alan farklı sinir ağı mimarilerini tartışacağız.

Görüntü segmentasyonu nedir

Bir görüntünün bir piksel koleksiyonundan başka bir şey olmadığını biliyoruz. Görüntü bölümleme, belirli bir sınıfa ait bir görüntüdeki her pikselin sınıflandırılması işlemidir ve bu nedenle piksel başına bir sınıflandırma problemi olarak düşünülebilir. İki tür segmentasyon tekniği vardır

Source http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture11.pdf
  1. Anlamsal bölümleme : - Anlamsal bölümleme, belirli bir etikete ait her pikselin sınıflandırılması işlemidir. Aynı nesnenin farklı örneklerinde farklı değildir. Örneğin, bir görüntüde 2 kedi varsa, anlamsal bölümleme her iki kedinin tüm piksellerine aynı etiketi verir.
  2. Örnek segmentasyonu : - Örnek bölümleme, görüntüdeki belirli bir nesnenin her örneğine benzersiz bir etiket vermesi açısından anlamsal bölümlemeden farklıdır. Yukarıdaki resimde de görülebileceği gibi 3 köpeğe de farklı renkler, yani farklı etiketler atanmıştır. Anlamsal bölümleme ile hepsine aynı renk atanmış olacaktı.

Şimdi bu tür bir algoritmaya ihtiyacımız olan noktaya geleceğiz

Görüntü segmentasyonunun kullanım durumları

Elyazısı tanıma : - Junjo ve diğerleri, anlamsal bölümlemenin el yazısıyla yazılmış belgelerden sözcükleri ve satırları çıkarmak için nasıl kullanıldığını gösterdi. 2019 araştırma makalesi el yazısı karakterleri tanımak

Kaynak

Google portre modu : - Ön planı arka plandan ayırmanın kesinlikle gerekli olduğu birçok kullanım durumu vardır. Örneğin Google'ın portre modunda, hoş bir efekt vermek için ön plan değişmeden kalırken arka planın bulanık olduğunu görebiliriz.

Kaynak: - https://ai.googleblog.com/2018/03/mobile-real-time-video-segmentation.html

YouTube hikayeleri : - Google kısa süre önce içerik oluşturucuların hikayeler oluştururken farklı arka planlar göstermeleri için bir YouTube hikayesi yayınladı.

Kaynak: - https://ai.googleblog.com/2018/03/mobile-real-time-video-segmentation.html

Sanal makyaj : - Sanal dudak çubuğu uygulamak artık görüntü segmentasyonu yardımıyla mümkün

Kaynak: - https://www.theverge.com/2017/3/16/14946086/sephora-virtual-assistant-ios-app-update-ar-makeup

4. sanal deneme : - Giysilerin sanal olarak denenmesi, 3 boyutlu bir model oluşturan özel donanım kullanan mağazalarda bulunan ilginç bir özelliktir. Ancak derin öğrenme ve görüntü bölümleme ile aynı şey sadece 2 boyutlu bir görüntü kullanılarak elde edilebilir

Kaynak: - https://arxiv.org/pdf/1807.07688.pdf

Görsel Görsel Arama : - Giysileri bölümlere ayırma fikri, e-ticarette görüntü alma algoritmalarında da kullanılır. Örneğin, Pinterest / Amazon, kumaş bölümünü bölümlere ayırmaya dayalı bir görsel arama yaparak herhangi bir resmi yüklemenize ve benzer görünümlü ürünler elde etmenize olanak tanır.

Kaynak: - https://github.com/paucarre/tiefvision

Kendinden sürmeli arabalar : - Kendi kendine giden arabaların çevrelerini piksel mükemmel bir seviyede tam olarak anlamaları gerekir. Bu nedenle, şeritleri ve diğer gerekli bilgileri tanımlamak için görüntü bölümleme kullanılır

Kaynak: - https://medium.com/intro-to-artildo-intelligence/semantic-segmentation-udaitys-self-driving-car-engineer-nanodegree-c01eb6eaf9d

Nanonets, Fortune 500 şirketlerinin Anlamsal Segmentasyonu kullanarak geniş ölçekte daha iyi müşteri deneyimleri sağlamasına yardımcı olur.

Yöntemler ve Teknikler

Derin öğrenmenin ortaya çıkmasından önce, görüntü bölütleme problemini çözmek için SVM, Random Forest, K-mean Clustering gibi klasik makine öğrenimi teknikleri kullanıldı. Ancak görüntüyle ilgili sorun ifadelerinin çoğunda olduğu gibi, derin öğrenme mevcut tekniklerden kapsamlı bir şekilde daha iyi çalıştı ve şimdi Anlamsal Bölümleme ile uğraşırken bir norm haline geldi. Sorunu çözmek için kullanılan teknikleri gözden geçirelim

Tamamen Evrişimli Ağ

Bir CNN'nin genel mimarisi, birkaç evrişimli ve havuzlama katmanından ve ardından sonunda birkaç tam bağlantılı katmandan oluşur. 2014 yılında yayınlanan Tam Evrişimli Ağ gazetesi, son tam bağlantılı katmanın tüm bölgeyi kapsayan 1 × 1 bir evrişim yapıyor olarak düşünülebileceğini savunuyor.

Kaynak: - https://arxiv.org/abs/1411.4038

Dolayısıyla, son yoğun katmanlar, aynı sonucu elde eden bir evrişim katmanı ile değiştirilebilir. Ancak şimdi bunu yapmanın avantajı, girdi boyutunun artık sabitlenmesine gerek olmamasıdır. Yoğun katmanlar söz konusu olduğunda, girdinin boyutu sınırlandırılır ve bu nedenle, farklı boyutta bir girdinin sağlanması gerektiğinde yeniden boyutlandırılması gerekir. Ancak yoğun bir katmanı evrişimle değiştirerek bu kısıtlama mevcut olmaz.

Ayrıca, girdi olarak daha büyük bir görüntü boyutu sağlandığında, üretilen çıktı bir özellik haritası olacak ve normal girdi boyutlu görüntü için olduğu gibi yalnızca bir sınıf çıktı olmayacaktır. Ayrıca son özellik haritasının gözlemlenen davranışı, gerekli sınıfın ısı haritasını temsil eder, yani nesnenin konumu özellik haritasında vurgulanır. Özellik haritasının çıktısı, gerekli nesnenin bir ısı haritası olduğundan, bu, segmentasyon kullanım durumumuz için geçerli bir bilgidir.

Çıktı katmanında elde edilen özellik haritası, gerçekleştirilen evrişimler kümesi nedeniyle aşağı örneklendiğinden, onu bir enterpolasyon tekniği kullanarak yukarı örneklemek isteriz. Bilineer yukarı örnekleme işe yarıyor ancak makale, doğrusal olmayan yukarı örneklemeyi bile öğrenebilen ters evrişim ile öğrenilmiş yukarı örneklemeyi kullanmayı öneriyor.

Ağın aşağı örnekleme kısmına kodlayıcı, yukarı örnekleme kısmına kod çözücü denir. Bu, birçok mimaride göreceğimiz bir modeldir, yani boyutu kodlayıcı ile küçültmek ve ardından kod çözücü ile örnekleme yapmak. İdeal bir dünyada, havuzlamayı kullanarak numuneyi düşürmek ve baştan sona aynı boyutu korumak istemeyiz, ancak bu çok büyük miktarda parametreye yol açar ve hesaplama açısından imkansız olur.

Kaynak: - https://arxiv.org/abs/1411.4038

Elde edilen çıktı sonuçları iyi olmasına rağmen, gözlemlenen çıktı kaba ve pürüzsüz değil. Bunun nedeni, evrişim katmanları kullanılarak 32 kat alt örnekleme nedeniyle son özellik katmanında bilgi kaybıdır. Artık ağın bu küçük bilgiyi kullanarak 32x yukarı örnekleme yapması çok zor hale geliyor. Bu mimariye FCN-32 denir

Bu sorunu ele almak için, makale 2 başka mimari FCN-16, FCN-8 önerdi. FCN-16'da, önceki havuzlama katmanından elde edilen bilgiler, son özellik haritası ile birlikte kullanılır ve bu nedenle ağın görevi, FCN-16'ye kıyasla daha iyi olan 32x yukarı örneklemeyi öğrenmektir. FCN-8, daha önceki bir havuzlama katmanından bilgi ekleyerek bunu daha da iyi hale getirmeye çalışır.

bir T

U-net, tamamen evrişimli ağın üstüne yukarıdan kurulur. Akciğerlerdeki veya beyindeki tümörleri bulmak için tıbbi amaçlar için inşa edildi. Aynı zamanda, giriş görüntüsünü bir özellik haritasına aşağı örnekleyen bir kodlayıcı ve öğrenilmiş ters evrişim katmanlarını kullanarak giriş görüntü boyutuna örnekleyen kod çözücüden oluşur.

Kaynak: - https://arxiv.org/abs/1505.04597

U-Net mimarisinin ana katkısı kısayol bağlantılarıdır. Yukarıda FCN'de, kodlayıcının bir parçası olarak bir görüntüyü aşağı örneklediğimizden, kodlayıcı bölümünde kolayca kurtarılamayan birçok bilgiyi kaybettiğimizi gördük. FCN, son özellik katmanından önce havuzlama katmanlarından bilgi alarak bu sorunu çözmeye çalışır.

U-Net, bu bilgi kaybı problemini çözmek için yeni bir yaklaşım önermektedir. Yukarıdaki şekilde görülebileceği gibi, kod çözücüdeki her yukarı örnekleme katmanına, kodlayıcıdaki karşılık gelen aşağı örnekleme katmanından bilgi göndermeyi önerir, böylece hesaplamayı düşük tutarken daha ince bilgileri yakalar. Kodlayıcının başlangıcındaki katmanlar daha fazla bilgiye sahip olacağından, giriş görüntülerine karşılık gelen ince ayrıntıları sağlayarak kod çözücünün yukarı örnekleme işlemini destekleyecek ve böylece sonuçları çok geliştireceklerdir. Makale ayrıca aşağıda tartışacağımız yeni bir kayıp fonksiyonunun kullanılmasını önerdi.

DerinLab

Google'dan bir grup araştırmacının Deeplab'i, mevcut sonuçları iyileştirmek ve daha düşük hesaplama maliyetleriyle daha iyi çıktılar elde etmek için çok sayıda teknik önerdi. Araştırmanın bir parçası olarak önerilen 3 ana iyileştirme:

1) Atik evrişimler
2) Atik Uzaysal Piramidal Havuzlama
3) Nihai çıktıyı iyileştirmek için Koşullu Rastgele Alanlar kullanımı
Tüm bunları tartışalım

Atik Evrişim

FCN yaklaşımıyla ilgili en büyük sorunlardan biri, ardışık havuzlama işlemlerinden kaynaklanan aşırı boyut küçültmedir. Bir dizi havuzlamaya bağlı olarak, girdi görüntüsü 32 kat aşağı örneklenir ve bölütleme sonucunu elde etmek için tekrar yukarı örneklenir. 32 kat aşağı örnekleme, bir bölümleme görevinde iyi çıktı elde etmek için çok önemli olan bilgi kaybına neden olur. Ayrıca, 32x'e kadar olan ters evrişim, bir hesaplama ve bellek pahalı bir işlemdir, çünkü öğrenilmiş bir yukarı örneklemenin oluşturulmasında ek parametreler vardır.

Makale, aynı sayıda parametre kullanılarak geniş bağlamın anlaşılmasına yardımcı olan Atrous evrişim veya delik evrişimi veya genişlemiş evrişimin kullanımını önermektedir.

Source:- https://www.mdpi.com/1424-8220/19/24/5361/htm

Genişletilmiş evrişim, parametreler arasındaki boşluğu doldurmak için sıfırlar (delikler denir) ekleyerek filtrenin boyutunu artırarak çalışır. Filtre parametreleri arasında doldurulan deliklerin / sıfırların sayısına bir terim genişleme oranı denir. Oran 1'e eşit olduğunda, normal evrişimden başka bir şey değildir. Hız 2'ye eşit olduğunda, diğer parametrelerin arasına bir sıfır eklenir ve filtre 5 × 5'lik bir evrişim gibi görünür. Şimdi 5 × 5 evrişim parametrelerine sahipken 3 × 3 evrişim bağlamını elde etme kapasitesine sahiptir. Benzer şekilde, oran 3 için alıcı alan 7 × 7'ye gider.

Deeplab'de son havuzlama katmanları, 1 yerine adım 2 olacak şekilde değiştirilir, böylece düşük örnekleme oranı yalnızca 8x'te tutulur. Daha sonra, daha geniş bağlamı yakalamak için bir dizi acımasız evrişim uygulanır. Eğitim için çıktı etiketli maske, her pikseli karşılaştırmak için 8 kat aşağı örneklenir. Çıkarım için, çift doğrusal yukarı örnekleme, yukarı örnekleme için ters evrişim yerine herhangi bir parametreye ihtiyaç duymadığından, daha düşük hesaplama / bellek maliyetlerinde yeterli sonuçlar veren aynı boyutta çıktı üretmek için kullanılır.

ASPP

Uzamsal Piramidal Havuzlama, bir özellik haritasından çok ölçekli bilgileri yakalamak için SPPNet'te tanıtılan bir kavramdır. Farklı çözünürlüklerde SPP girdi görüntüleri sunulmadan önce ve hesaplanan özellik haritaları çok ölçekli bilgileri elde etmek için birlikte kullanılır, ancak bu daha fazla hesaplama ve zaman gerektirir. Uzamsal Piramitsel Havuzlama ile çok ölçekli bilgiler tek bir giriş görüntüsü ile yakalanabilir.

Kaynak: - http://kaiminghe.com/eccv14sppnet/index.html

SPP modülüyle ağ, 3 × 1 (yani GAP), 1 × 2 ve 2 × 4 boyutlarında 4 çıktı üretir. Bu değerler, 1d vektöre dönüştürülerek birleştirilir ve böylece birden çok ölçekte bilgi yakalanır. SPP kullanmanın bir başka avantajı, herhangi bir boyutta girdi görüntülerinin sağlanabilmesidir.

ASPP, farklı ölçeklerden bilgi kaynaştırma kavramını alır ve bunu Atrous evrişimlere uygular. Girdi, farklı genişleme oranları ile dönüştürülür ve bunların çıktıları birbirine kaynaştırılır.

Kaynak: - http://liangchiehchen.com/projects/DeepLab.html

Görüldüğü gibi, giriş 3, 3, 6 ve 12 genişleme oranlarına sahip 18 × 24 filtrelerle çevrilmiş ve aynı boyutta olduklarından çıkışlar birbirine bağlanmıştır. Sigortalı çıkışa 1 × 1 evrişim çıkışı da eklenir. Aynı zamanda küresel bilgiyi sağlamak için, GAP çıktısı da yukarı örneklemeden sonra yukarıya eklenir. 3 × 3 çeşitli genişletilmiş çıkışlar, 1 × 1 ve GAP çıkışlarının kaynaştırılmış çıkışı, gerekli sayıda kanala ulaşmak için 1 × 1 evrişimden geçirilir.

Segmentlere ayrılması gereken görüntü, girişte herhangi bir boyutta olabileceğinden, ASPP'den gelen çok ölçekli bilgiler sonuçların iyileştirilmesine yardımcı olur.

CRF ile çıktıyı iyileştirme

Havuzlama, bir sinir ağındaki parametre sayısını azaltmaya yardımcı olan bir işlemdir, ancak aynı zamanda onunla birlikte bir değişmezlik özelliği de getirir. Değişmezlik, bir sinir ağının girdideki küçük çevirilerden etkilenmeyen kalitesidir. Havuzlama ile elde edilen bu özellik nedeniyle, bir sinir ağı tarafından elde edilen segmentasyon çıktısı kabadır ve sınırlar somut olarak tanımlanmamıştır.

Kaynak: - http://liangchiehchen.com/projects/DeepLab.html

Bu konuyu ele almak için makale, grafik model CRF'nin kullanımını önermektedir. Koşullu Rastgele Alan, bir işlem sonrası adımını çalıştırır ve şekillendirici sınırlarını tanımlamak için üretilen sonuçları iyileştirmeye çalışır. Bir pikseli yalnızca etiketine göre değil, aynı zamanda diğer piksel etiketlerine göre de sınıflandırarak çalışır. Yukarıdaki şekilden de görülebileceği gibi, sinir ağı tarafından üretilen kaba sınır, CRF'den geçtikten sonra daha rafine hale gelir.

Deeplab-v3, bir Resnet bloğundaki her katmanın içinde parti normalizasyonu ve önerilen genişleme oranını (1,2,4) ile çarptı. Ayrıca, ASPP ile ilgili yukarıdaki tartışmada tartışılan ASPP modülüne görüntü seviyesi özelliklerinin eklenmesi, bu yazının bir parçası olarak önerilmiştir.

Kaynak: - https://arxiv.org/pdf/1706.05587.pdf

Deeplab-v3 +, 16x düz çift doğrusal yukarı örnekleme yerine bir kod çözücüye sahip olmayı önerdi. Kod çözücü, sonuçları iyileştirmek için kodlayıcı katmanlarından bilgi alan U-Net gibi mimariler tarafından kullanılan kod çözücüden bir ipucu alır. Kodlayıcı çıktısı, çift doğrusal yukarı örnekleme kullanılarak 4 kat yukarı örneklenir ve 4 × 3 evrişim gerçekleştirdikten sonra tekrar 3 kat yukarı örneklenen kodlayıcı özellikleriyle birleştirilir. Bu yaklaşım, doğrudan 16x yukarı örneklemeden daha iyi sonuçlar verir. Ayrıca, kodlayıcının bir parçası olarak Resnet yerine modifiye edilmiş Xception mimarisinin kullanılması önerilmektedir ve artık hesaplama sayısını azaltmak için Atrous konvolüsyonların üstünde derinlemesine ayrılabilir konvolüsyonlar kullanılmaktadır.

Küresel Evrişim Ağı

Kaynak: - https://arxiv.org/pdf/1703.02719.pdf

Anlamsal bölümleme, aynı anda iki görevi gerçekleştirmeyi içerir

i) Sınıflandırma
ii) Yerelleştirme

Sınıflandırma ağları, çeviri ve rotasyona değişmeyecek şekilde yaratılır, bu nedenle konum bilgisine önem vermezken, yerelleştirme, konumla ilgili doğru ayrıntıların alınmasını içerir. Dolayısıyla doğası gereği bu iki görev çelişkilidir. Çoğu bölümleme algoritması yerelleştirmeye daha fazla önem verir, yani yukarıdaki şekildeki ikincisi ve dolayısıyla küresel bağlamı gözden kaçırır. Bu çalışmada yazar, sınıflandırma görevine de önem vermenin ve aynı zamanda yerelleştirme bilgilerini kaybetmemenin bir yolunu önermektedir.

Kaynak: - https://arxiv.org/pdf/1703.02719.pdf

Yazar bunu, ağın bir parçası olarak büyük çekirdekler kullanarak, böylece yoğun bağlantılara ve dolayısıyla daha fazla bilgiye olanak sağlayarak başarmayı önermektedir. Bu, yukarıdaki şekilde görülebileceği gibi bir GCN bloğu yardımıyla elde edilir. GCN bloğu, k'nin 3'ten büyük bir sayı olduğu akxk evrişim filtresi olarak düşünülebilir. Parametrelerin sayısını azaltmak için akxk filtresi, daha sonra toplanan 1 xk ve kx 1, kx1 ve 1xk bloklarına bölünür. Böylece k değerini artırarak, daha geniş bağlam yakalanır.

Ek olarak, yazar, Resnet'te görülen bir kısayol bağlantısı ve sonucu elde etmek için toplanan bir artık bağlantıdan oluşan kalıntı bloğa benzer bir Sınır İyileştirme bloğu önermektedir. Bir Sınır İyileştirme bloğuna sahip olmanın, segmentasyon sınırında sonuçların iyileştirilmesine yol açtığı gözlemlendi.

Sonuçlar, GCN bloğunun nesnenin merkezine yakın piksellerin sınıflandırma doğruluğunu artırdığını, bu da uzun menzilli bağlamın yakalanmasından kaynaklanan iyileşmeyi gösterirken, Sınır İyileştirme bloğunun sınıra daha yakın piksellerin doğruluğunu artırmaya yardımcı olduğunu gösterdi.

Birden Fazla Gör - Anlamsal Bölümleme için KSAC

Deeplab ailesi, birden fazla alıcı alanın, farklı ani evrişim oranları kullanarak bilgileri yakalamasına sahip olmak için ASPP kullanır. ASPP, sonuçların bölümlere ayrılmasını iyileştirmede önemli ölçüde yararlı olsa da, mimariden kaynaklanan bazı doğal sorunlar vardır. ASPP'de farklı paralel katmanlar arasında paylaşılan bilgi yoktur, bu nedenle her katmandaki çekirdeklerin genelleme gücünü etkiler. Ayrıca, her katman farklı eğitim örnekleri setlerine hitap ettiğinden (daha küçük nesneler daha küçük hızlara ve daha büyük nesneler daha büyük hızlara kadar), her bir paralel katman için veri miktarı daha az olacak ve böylece genel genelleştirilebilirliği etkileyecektir. Ayrıca ağdaki parametre sayısı, parametre sayısı ile doğrusal olarak artar ve bu nedenle aşırı uyuma neden olabilir.

Kaynak: - https://arxiv.org/pdf/1908.09443.pdf

Yazar, tüm bu sorunları ele almak için Kernel-Sharing Atrous Convolution (KSAC) adlı yeni bir ağ yapısı önerir. Yukarıdaki şekilde görülebileceği gibi, ASPP'nin her paralel katman için farklı bir çekirdeğe sahip olması yerine tek bir çekirdek paylaşılarak ağın genelleme kabiliyetini geliştirir. ASPP yerine KSAC kullanılarak 62 ve 6,12'lik genişleme oranları kullanıldığında parametrelerin% 18'si kaydedilir.

Bir KSAC yapısı kullanmanın bir başka avantajı, parametre sayısının kullanılan genişleme oranlarının sayısından bağımsız olmasıdır. Böylece, model boyutunu büyütmeden olabildiğince çok oran ekleyebiliriz. ASPP 6,12,18 oranlarıyla en iyi sonuçları verir, ancak olası aşırı uyumu gösteren 6,12,18,24 ile doğruluk azalır. Ancak KSAC doğruluğu, geliştirilmiş genelleme yeteneğini göstererek hala önemli ölçüde gelişmektedir.

Bu çekirdek paylaşım tekniği, aynı çekirdek birden çok hızda uygulandığı için özellik uzayında bir büyütme olarak da görülebilir. Girdi artırmanın daha iyi sonuçlar vermesine benzer şekilde, ağda gerçekleştirilen özellik artırma, ağın temsil yeteneğini geliştirmeye yardımcı olmalıdır.

Video Segmentasyonu

Kendi kendine giden arabalar, robotlar vb. Gibi kullanım durumları için, gözlenen videoda gerçek zamanlı bölümlemeye ihtiyaç vardır. Şimdiye kadar tartışılan mimariler, hız için değil, doğruluk için tasarlandı. Bu nedenle, bir videoya kare başına uygulanırsa, sonuç çok düşük bir hızda gelir.

Ayrıca, genellikle bir videoda, ardışık kareler boyunca sahnelerde çok sayıda örtüşme vardır; bu, sonuçları ve hızı iyileştirmek için kullanılabilir; bu, analiz kare başına yapılırsa resme gelmez. Bu ipuçlarını kullanarak, özellikle videolar için tasarlanmış mimarileri tartışalım.

STFCN

Spatio-Temporal FCN, video segmentasyonu yapmak için LSTM ile birlikte FCN kullanmayı önerir. FCN'nin bir görüntüyü bölümlere ayırmak için özellikleri çıkarmak için nasıl kullanılabileceğinin zaten farkındayız. LSTM, zaman içinde sıralı bilgileri yakalayabilen bir tür sinir ağlarıdır. STFCN, hem uzamsal bilgileri hem de zamansal bilgileri yakalamak için FCN'nin gücünü LSTM ile birleştirir

Kaynak: - https://arxiv.org/abs/1608.05971

Yukarıdaki şekilden görülebileceği gibi, STFCN bir FCN, Uzay-zamansal modül ve ardından evrişim çözülmesinden oluşur. Bir FCN tarafından üretilen özellik haritası, önceki çerçevenin modülünden de bir girişe sahip olan Spatio-Temporal Modülüne gönderilir. Bu her iki girişi temel alan modül, uzamsal bilgilere ek olarak zamansal bilgileri de yakalar ve FCN'de nasıl yapıldığına benzer ters evrişim kullanarak orijinal görüntü boyutuna kadar örneklenmiş olanı gönderir.

Hem FCN hem de LSTM, STFCN'nin bir parçası olarak birlikte çalıştığından, ağ uçtan uca eğitilebilir ve tek çerçeve bölümleme yaklaşımlarından daha iyi performans gösterir. LSTM'nin GRU ile değiştirildiği benzer yaklaşımlar vardır, ancak kavram hem mekansal hem de zamansal bilgiyi yakalamakla aynıdır.

Anlamsal Video CNN'leri Temsil Eğikleştirme Yoluyla

Bu makale, bölümleme sonuçlarını iyileştirmek için ek bir girdi olarak bitişik çerçeveler boyunca optik akışın kullanımını önermektedir.

Kaynak: - https://arxiv.org/abs/1708.03088

Önerilen yaklaşım, herhangi bir standart mimariye bir eklenti olarak bağlanabilir. Oyundaki temel bileşen NetWarp modülüdür. Segmentasyon haritasını hesaplamak için geçerli çerçeve ile önceki çerçeve arasındaki optik akış hesaplanır, yani Ft ve Λ (Ft) elde etmek için bir FlowCNN'den geçirilir. Bu sürece Akış Dönüşümü denir. Bu değer, ağdan geçerek hesaplanan bir ara katmanın özellik haritasını girdi olarak alan bir atlama modülünden geçirilir. Bu, daha sonra geçerli katmanın ara özellik haritası ile birleştirilen ve tüm ağın uçtan uca eğitildiği çarpık bir özellik haritası verir. Bu mimari, CamVid ve Cityscapes video karşılaştırma veri kümelerinde SOTA sonuçları elde etti.

Video Anlamsal Bölümleme için Otomatik Konvnetler

Bu makale, bir videodaki anlamsal bilginin piksel seviyesi bilgisine göre yavaşça değişmesi gerçeğinden yararlanarak videolardaki bölümleme görevi için bir sinir ağının yürütme hızını artırmayı önermektedir. Dolayısıyla, son katmanlardaki bilgiler, başlangıç ​​katmanlarına kıyasla çok daha yavaş bir hızda değişir. Makale farklı zamanlar öneriyor

Kaynak: - https://arxiv.org/abs/1608.03609

Yukarıdaki şekil, bir orta seviye katman havuzu4 ve bir derin katman fc7 için değişim oranını göstermektedir. Solda, çerçeveler arasında çok fazla değişiklik olduğu için, her iki katmanın da bir değişiklik gösterdiğini, ancak havuz4 için değişikliğin daha yüksek olduğunu görüyoruz. Sağda, kareler arasında çok fazla değişiklik olmadığını görüyoruz. Dolayısıyla, havuz4 marjinal değişim gösterirken fc7 neredeyse sıfır değişim gösterir.

Araştırma bu kavramı kullanır ve çerçeveler arasında çok fazla değişiklik olmadığı durumlarda, özelliklerin / çıktıların tekrar hesaplanmasına gerek olmadığı ve önceki çerçeveden önbelleğe alınan değerlerin kullanılabileceğini öne sürer. Değişim hızı katmanlara göre değiştiğinden, farklı katman grupları için farklı saatler ayarlanabilir. Saat tıkladığında yeni çıktılar hesaplanır, aksi takdirde önbelleğe alınan sonuçlar kullanılır. Saat tiklerinin hızı statik olarak sabitlenebilir veya dinamik olarak öğrenilebilir

Kaynak: - https://arxiv.org/abs/1608.03609

Düşük Gecikmeli Video Anlamsal Segmentasyonu

Bu makale, bölütleme haritasını hesaplamak veya sabit bir zamanlayıcı veya sezgisel kullanmak yerine önbelleğe alınan sonucu kullanmak için uyarlamalı olarak kareleri seçerek yukarıdaki tartışmanın üstüne gelişir.

Kaynak: - https://arxiv.org/abs/1804.00389

Rapor, ağı 2 kısma, düşük seviyeli özelliklere ve yüksek seviyeli özelliklere ayırmayı önermektedir. Bir ağdaki düşük seviyeli özellikleri hesaplamanın maliyeti, yüksek özelliklere kıyasla çok daha azdır. Araştırma, segmentasyon haritasındaki değişikliğin bir göstergesi olarak düşük seviyeli ağ özelliklerinin kullanılmasını önermektedir. Gözlemlerinde, düşük seviyeli özellik değişikliği ile segmentasyon haritası değişikliği arasında güçlü bir ilişki bulmuşlardır. Bu nedenle, daha yüksek özelliklerin hesaplanması gerekip gerekmediğini hesaplamaya ihtiyaç olup olmadığını anlamak için, 2 kare boyunca daha düşük özellik farkı bulunur ve belirli bir eşiği geçerse karşılaştırılır. Tüm bu süreç, görevi iki çerçevenin daha düşük özelliklerini almak ve daha yüksek özelliklerin hesaplanıp hesaplanmayacağına dair bir tahmin vermek olan küçük bir sinir ağı tarafından otomatikleştirilir. Ağ kararı, girdi çerçevelerine dayandığından, alınan karar yukarıdaki yaklaşıma kıyasla dinamiktir.

Nokta bulutları için segmentasyon

Lidar gibi bir sensörden gelen veriler Point Cloud adı verilen bir formatta saklanır. Nokta bulutu, sıralanmamış 3B veri noktaları (veya herhangi bir boyut) koleksiyonundan başka bir şey değildir. Sahnenin 3 boyutlu olarak seyrek temsilidir ve böyle bir durumda CNN doğrudan uygulanamaz. Ayrıca nokta bulutlarıyla başa çıkmak için tasarlanmış herhangi bir mimari, bunun sırasız bir küme olduğunu ve bu nedenle birçok olası permütasyona sahip olabileceğini dikkate almalıdır. Yani ağ permütasyon değişmez olmalıdır. Ayrıca nokta bulutunda tanımlanan noktalar aralarındaki mesafeyle tanımlanabilir. Bu nedenle, genel olarak daha yakın noktalar, bölümleme görevleri için yararlı olan yararlı bilgiler taşır.

Nokta Ağı

PointNet, sınıflandırma ve segmentasyon görevlerini çözmek için derin öğrenmeyi kullanan nokta bulutları üzerine araştırma tarihinde önemli bir makaledir. Pointnet'in mimarisini inceleyelim

Kaynak: - https://arxiv.org/abs/1612.00593

Ağın n nokta için girişi bir nx 3 matristir. nx 3 matrisi, daha sonra nx 64'e ve ardından nx 64 ve nx 128'e eşlenen paylaşılan bir çoklu algılayıcı katmanı (tam bağlı ağ) kullanılarak nx 1024'e eşlenir. K'ye dönüştürülen bir 1024 vektörü elde etmek için maksimum havuzlama uygulanır. 512, 256 ve k boyutlarındaki MLP'lerden geçerek çıktılar. Son olarak, herhangi bir sınıflandırma ağına benzer şekilde k sınıfı çıktılar üretilir.

Sınıflandırma yalnızca global özelliklerle ilgilenir, ancak segmentasyon da yerel özelliklere ihtiyaç duyar. Böylece, nx 64'teki ara katmandaki yerel özellikler, nx 1088'ya ulaşmak için 512 ve 256'lık mlp üzerinden gönderilen 256'lik bir matris elde etmek için global özelliklerle birleştirilir ve ardından her nokta için m çıkış sınıfları vermek üzere 128 ve m'lik MLP'ler verilir. nokta bulutu içinde.

Ayrıca ağ, görevi girdinin şeklini değiştirmek değil, afin dönüşümlere, yani çevirme, döndürme vb. Değişmezlik eklemek olan ağın bir parçası olarak bir girdi dönüşümü ve özellik dönüşümü içerir.

A-CNN

Kaynak: - https://arxiv.org/abs/1904.08017

A-CNN, uzamsal bilgileri yakalamak için Annular evrişimlerin kullanılmasını önerir. CNN'den, evrişim işlemlerinin görüntünün anlaşılması için gerekli olan yerel bilgileri yakaladığını biliyoruz. A-CNN, bir nokta bulutundaki mahalle noktalarına uygulanan Annular evrişim adlı yeni bir evrişim tasarladı.

Mimari, girdi olarak nx 3 nokta alır ve bunlar için noktaların sıralanmasında kullanılan normalleri bulur. FPS algoritması kullanılarak, ni x 3 puanla sonuçlanan bir nokta alt örneği alınır. Bu dairesel kıvrımlarda 128 boyuta çıkarmak için uygulanır. Bir KNN algoritması kullanılarak belirlenen komşu noktalarda dairesel evrişim gerçekleştirilir.

Boyutları 256'ya çıkarmak için yukarıdaki işlemlerin bir başka seti gerçekleştirilir. Daha sonra boyutları 1024'e değiştirmek için bir mlp uygulanır ve nokta bulutuna benzer bir 1024 global vektör elde etmek için havuzlama uygulanır. Bu bölümün tamamı kodlayıcı olarak kabul edilir. Sınıflandırma için, kodlayıcı global çıktısı, c sınıfı çıktılarını almak için mlp'den geçirilir. Segmentasyon görevi için hem global hem de yerel özellikler PointCNN'ye benzer olarak kabul edilir ve ardından her nokta için m sınıfı çıktılar almak üzere bir MLP'den geçirilir.

Metrikleri

Bir modelin sonuçlarını anlamak ve değerlendirmek için genellikle kullanılan ölçütleri tartışalım.

Piksel Doğruluğu

Piksel doğruluğu, sonuçları doğrulamak için kullanılabilecek en temel ölçüdür. Doğruluk, doğru sınıflandırılmış piksellerin toplam piksellere oranı alınarak elde edilir.

Doğruluk = (TP + TN) / (TP + TN + FP + FN)

Böyle bir tekniği kullanmanın temel dezavantajı, eğer bir sınıf diğerine üstün gelirse sonucun iyi görünebileceğidir. Örneğin, arka plan sınıfının girdi görüntüsünün% 90'ını kapsadığını varsayalım, her pikseli arka plan olarak sınıflandırarak% 90 doğruluk elde edebiliriz

Birlik Üzerinden Kesişme

IOU, kesin referans ile tahmin edilen bölümleme çıktılarının birleşimlerine göre kesişme oranı olarak tanımlanır. Birden fazla sınıf için hesaplama yapıyorsak, her sınıfın IOU'su hesaplanır ve ortalamaları alınır. Piksel doğruluğuna kıyasla daha iyi bir ölçümdür, sanki her piksel 2 sınıflı bir girişte arka plan olarak verilir, IOU değeri (90/100 + 0/100) / 2, yani 45'a kıyasla daha iyi bir temsil sağlayan% 90 IOU % doğruluk.

Kaynak: - https://www.pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection

Frekans ağırlıklı IOU

Bu, tartıştığımız ve sınıf dengesizliği ile mücadele etmek için kullanılan ortalama IOU'nun bir uzantısıdır. Bir veri kümesindeki görüntülerin çoğuna, örneğin arka plan gibi bir sınıf hakimse, diğer sınıflara kıyasla tartılması gerekir. Bu nedenle, tüm sınıf sonuçlarının ortalamasını almak yerine, veri kümesindeki sınıf bölgesinin sıklığına göre ağırlıklı bir ortalama alınır.

F1 Skoru

F1 Puanı sınıflandırmasında yaygın olarak kullanılan metrik, sınıf dengesizliği ile başa çıkmak için segmentasyon görevi için de kullanılabilir.

Kaynak: - https://en.wikipedia.org/wiki/F1_score

Ortalama Hassasiyet

Kesinlik - Geri çağırma eğrisinin altındaki alan, seçilen bir eşik için farklı sınıflar üzerindeki IOU ortalaması, sonuçları doğrulamak için kullanılır.

Kayıp fonksiyonları

Kayıp işlevi, sinir ağını optimizasyona doğru yönlendirmek için kullanılır. Anlamsal bölümleme görevi için birkaç popüler kayıp işlevini tartışalım.

Çapraz Entropi Kaybı

Görüntüdeki her piksel için çapraz entropi sınıflandırma kaybının basit ortalaması, genel bir işlev olarak kullanılabilir. Ancak, FCN'nin sınıf ağırlıklarını kullanarak düzeltmeyi önerdiği sınıf dengesizliği nedeniyle bu yine zarar görüyor

UNet, sınırın bir parçası olan ve sınırın bir parçası olan piksellere iç piksellere kıyasla daha fazla ağırlık yaşı vererek bunu iyileştirmeye çalışır çünkü bu, ağın sınırları tanımlamaya daha fazla odaklanmasını sağlar ve kaba bir çıktı vermez.

Odak Kaybı

Odak kaybı, daha fazla ağırlık yaşı vererek ağın zor örneklere odaklanmasını sağlamak ve ayrıca tek aşamalı nesne dedektörlerinde gözlemlenen aşırı sınıf dengesizliğini gidermek için tasarlandı. Aynısı semantik segmentasyon görevlerinde de uygulanabilir

Zar Kaybı

Zar fonksiyonu F1 skorundan başka bir şey değildir. Bu kayıp işlevi doğrudan F1 puanını optimize etmeye çalışır. Benzer şekilde doğrudan GÇ puanı, optimizasyonu çalıştırmak için de kullanılabilir

Tversky Kaybı

FN ve FP'ye farklı ağırlık yaşı veren bir zar kaybı çeşididir.

Hausdorff mesafesi

Yer gerçeğinin sınırları ile tahmin edilen arasındaki benzerliği ölçmek için kullanılan bir tekniktir. Bir sınırdaki herhangi bir noktadan diğerindeki en yakın noktaya kadar olan maksimum mesafeyi bularak hesaplanır. Doğrudan sınır kaybı işlevinin azaltılması yeni bir eğilimdir ve özellikle kesin sınırın belirlenmesinin önemli bir rol oynadığı tıbbi görüntü segmentasyonu gibi kullanım durumlarında daha iyi sonuçlar verdiği gösterilmiştir.

IOU veya Zar Kaybı gibi bölge bazlı kayıplara kıyasla bir sınır kaybı kullanmanın avantajı, tüm bölge optimizasyon için düşünülmediğinden, yalnızca sınır dikkate alındığından, sınıf dengesizliğinden etkilenmemesidir.

Kaynak https://en.wikipedia.org/wiki/Hausdorff_distance

Burada ele alınan iki terim iki sınır içindir, yani temel gerçek ve çıktı tahmini.

Etiketle beni :-

Python ile yazılmış resim açıklama aracı.
Çokgen açıklamasını destekler.
Açık Kaynak ve ücretsiz.
Windows, Mac, Ubuntu veya Anaconda, Docker üzerinden çalışır
Bağlantı: - https://github.com/wkentaro/labelme

Kaynak: - https://github.com/wkentaro/labelme

Bilgisayar Görüsü Açıklama Aracı: -

Intel tarafından geliştirilen video ve resim açıklama aracı
Ücretsiz ve çevrimiçi olarak kullanılabilir
Windows, Mac ve Ubuntu'da çalışır
Bağlantı: - https://github.com/opencv/cvat

Vgg resim açıklayıcı: -

Ücretsiz açık kaynaklı resim açıklama aracı
Basit html sayfası <200kb ve çevrimdışı çalışabilir
Çokgen açıklamasını ve noktaları destekler.
Bağlantı: - https://github.com/ox-vgg/via

Kaynak: - https://github.com/ox-vgg/via

Dik etiket: -

Mac için ücretli açıklama aracı
Görüntülere önceden açıklama eklemek için temel makine öğrenimi modellerini kullanabilir
Çokgenleri, kübik bezier'i, çizgileri ve noktaları destekler
Bağlantı: - https://github.com/ryouchinsa/Rectlabel-support

Etiket kutusu: -

Ücretli ek açıklama aracı
Daha hızlı ve doğru açıklama için kalem aracını destekler
Bağlantı: - https://labelbox.com/product/image-segmentation

Veri Setleri

Bu bölümün bir parçası olarak, eğitime başlamak için kullanılabilecek, kamuya açık çeşitli popüler ve çeşitli veri kümelerini tartışalım.

Pascal Bağlamı

Bu veri kümesi, Pascal VOC 2010 veri kümesinin bir uzantısıdır ve tüm sahne için ek açıklamalar sağlayarak orijinal veri kümesinin ötesine geçer ve 400'den fazla gerçek dünya verisi sınıfına sahiptir.

Kaynak: - https://cs.stanford.edu/~roozbeh/pascal-context/
Kaynak: - https://cs.stanford.edu/~roozbeh/pascal-context/

Bağlantı: - https://cs.stanford.edu/~roozbeh/pascal-context/

COCO Veri Seti

COCO malzeme veri kümesi, piksel düzeyinde açıklamalarla birlikte orijinal COCO veri kümesinin 164 bin görüntüsüne sahiptir ve ortak bir karşılaştırma veri kümesidir. 172 sınıfı kapsar: 80 şey sınıfı, 91 malzeme sınıfı ve 1 sınıf 'etiketlenmemiş'

Kaynak: - http://cocodataset.org/#home

Bağlantı: - http://cocodataset.org/

Şehir Manzaraları Veri Kümesi

Bu veri seti, yoldaki yollar, şeritler, araçlar ve nesneler için bölümleme zemin gerçeklerinden oluşur. Veri seti, farklı çevre ve hava koşullarında toplanan 30 sınıfı ve 50 şehri içerir. Ayrıca, video bölümleme için kullanılabilen, ince açıklamalı görüntülerden oluşan bir video veri kümesine sahiptir. KİTTİ ve KameraVid sürücüsüz arabaları eğitmek için kullanılabilen benzer veri kümeleridir.

Kaynak: - https://www.cityscapes-dataset.com/

Bağlantı: - https://www.cityscapes-dataset.com/

Lits Veri Kümesi

Veri kümesi, karaciğer BT taramalarından tümör lezyonlarını belirleme zorluğunun bir parçası olarak oluşturuldu. Veri seti 130 CT taraması eğitim verisi ve 70 CT taraması test verisi içerir.

Kaynak: - https://competitions.codalab.org/competitions/17094

Bağlantı: - https://competitions.codalab.org/competitions/17094

CCP Veri Kümesi

Kumaş Birlikte Ayrıştırma, Ortak Görüntü Segmentasyonu ve Etiketleme ile Giysi Ortak Ayrıştırma araştırma belgesinin bir parçası olarak oluşturulan bir veri kümesidir. Veri kümesi, toplam 1000 etiket için piksel düzeyinde ek açıklamalar içeren 59'den fazla görüntü içerir.

Kaynak: - https://github.com/bearpaw/clothing-co-parsing

Kaynak :- https://github.com/bearpaw/clothing-co-parsing

Pratheepan Veri Kümesi

Google'dan alınan 32 yüz fotoğrafı ve 46 aile fotoğrafı içeren görsellere dayalı cilt bölümleme görevi için oluşturulmuş bir veri kümesi

Kaynak: - http://cs-chan.com/downloads_skin_dataset.html

Bağlantı: - http://cs-chan.com/downloads_skin_dataset.html

Inria Havadan Görüntü Etiketleme

Genel alan görüntülerinden oluşturulan hava segmentasyon haritalarının bir veri kümesi. 810 km2'lik bir kapsama alanına sahiptir ve bina ve bina olmayan XNUMX sınıf vardır.

Kaynak: - https://project.inria.fr/aerialimagelabeling/
Kaynak: - https://project.inria.fr/aerialimagelabeling/

Bağlantı: - https://project.inria.fr/aerialimagelabeling/

S3DIS

Bu veri seti, 3'den fazla görüntüye sahip 70000 binada altı büyük ölçekli iç mekan bölümünün nokta bulutlarını içerir.

Kaynak: - http://buildingparser.stanford.edu/dataset.html

Bağlantı: - http://buildingparser.stanford.edu/dataset.html

Özet

Görüntüler, videolar veya nokta bulutları üzerindeki anlamsal bölümlemenin kullanım durumunu çözmek için kullanılabilecek farklı algoritmaların bir taksonomisini ve bunların katkılarını ve sınırlamalarını tartıştık. Başlamak için sonuçları ve veri kümelerini değerlendirme yollarını da araştırdık. Bu, genel olarak bir konu olarak anlamsal bölümleme hakkında kapsamlı bir anlayış sağlamalıdır.

Anlamsal bölümleme için daha fazla kaynağın bir listesini almak için başlayın https://github.com/mrgloom/awesome-semantic-segmentation.

Daha fazla Okuma


Son gönderilerimiz ilginizi çekebilir:

Güncelleme:
Daha fazla okuma materyali eklendi.

Kaynak: https://nanonets.com/blog/semantic-image-segmentation-2020/

Zaman Damgası:

Den fazla AI ve Makine Öğrenimi