Görüntü Bölütleme (Segmentasyon) için Derin Öğrenme: U-Net

“Hayatım bir dizi olay ve kaza gibi görünüyordu. Yine de arkama baktığımda bir ‘örüntü’ görüyorum.” Benoit Mandelbrot

Bir tür Evrişimli Sinir Ağı yaklaşımı (Convolutional Neural Networks-CNN) olan U-Net ilk olarak biyomedikal görüntüler üzerinde daha iyi bir bölütleme (segmentasyon) yapma önerisi ile 2015 yılında, Olaf Ronneberger, Phillip Fischer, ve Thomas Brox tarafından U-Net: Convolutional Networks for Biomedical Image Segmentation makalesinde duyuruldu!

Neden bölütmeye ihtiyaç var ve U-Net bize ne öneriyor!

❓ Evrişimli derin öğrenme modellerinde biliniyor ki eğitim işlemi için büyük veri kümelerine ihtiyaç duymaktadır. Ancak bu noktada bazı problemler vardır! Bir nesne sınıflandırma problemi için toplanmasına ihtiyaç duyulan veri miktarına çoğu zaman gücümüz yetmez. Güç ile kast edilen zaman,para ve en önemlisi de donanım olabilir. Örneğin birçok biyomedikal görüntüyü cep telefonunuzun kamerasıyla toplamanız mümkün değil. Bir de bunun etiketlenmesi kısmı var ki sıradan bir göz yeterli olmayacak, çokça ilgili görüntü konusunda uzman gözü ve tecrübesine ihtiyaç olacaktır. Bir diğer kritik nokta da klasik evrişimli sinir ağlarında görüntünün geneli hakkında sınıf etiketleri üzerinden bir eğitimin yapılmasıdır. Ancak bazı problemler piksel temelli yaklaşımlar ile lokalizasyon/konumlama bilgisi gerektirir. Biyomedikal ya da savunma gibi hassas yaklaşımlar gerektiren alanlarda her bir pikselin sınıf bilgisine ihtiyaç duyarız!

✔️U-Net, evrişimli sinir ağı katmanlarından oluşturulmuş farklı bir mimari ve piksel temelli görüntü segmentasyon/bölütleme konusunda klasik modellerden daha başarılı sonuç vermektedir. Üstelik az sayıda eğitim görüntüsü olsa dahi! Bu mimarinin sunumu biyomedikal görüntüler üzerinden gerçekleşmiştir.

🔎 U-Net’i özel kılan farklılıkları

Bilindiği üzere evrişimli sinir ağı modeli boyunca uyguladığımız yükseklik ve genişlikteki boyut azaltma işlemi yani ortaklama katmanı (pooling layer) — maksimum, ortalama ya da ortanca gibi farklı yaklaşımlarla ortaklama yapmamız mümkündür — modelin ikinci yarısında boyut artırma şeklinde uygulanır. Bu katmanlar sayesinde çıktının çözünürlüğünü artırmak amaçlanmaktadır. Lokalizasyon için model boyunca yüksek çözünürlüklü öznitelikler ile örneklenen çıktı birleştirilir. Ardışık bir evrişim katmanı daha sonra bu bilgiye dayanarak daha kesin bir çıktı oluşturmayı amaçlamaktadır.

U-Net Model

U-Net adını şekildende görüleceği gibi U harfine benzer mimarisinden almaktadır. Giriş görüntüleri çıkışta segmente edilmiş/bölütlenmiş çıkış haritası olarak elde edilir. (Ben bundan sonra ‘bölütleme’ diyerek devam edeceğim 👽) Mimarının en özel yanı ikinci yarısıdır. Ağın tamamen bağlı (fully connected) katmanı yoktur. Yalnızca evrişim katmanı kullanılmaktadır. Her standart evrişim işlemi ReLU ile aktive edilmektedir.

🍭 Aktivasyon fonksiyonlarını daha detaylı buradan inceleyebilirsiniz.

Unet içindeki bir evrişim ve ters evrişim (deconvolution) işleminin gösterimi

Görüntülerin kesintisiz şekilde bölütlenebilmesi için sınır bölgesindeki pikseller görüntünün çevresine simetrik şekilde eklenir. Bu strateji sayesinde görüntü eksiksiz şekilde bölütlenir. Piksel ekleme yöntemi U-Net modelini büyük görüntülere uygulamak için önemlidir, aksi halde çözünürlük GPU belleğinin kapasitesi ile sınırlı kalacaktır. Bahsettiğim aynalama ile piksel ekleme ve bölütleme sonucu aşağıdaki şekilde gösterilmektedir.

🍭 Piksel ekleme ve evrişim işlemleri ve detaylarını buradan öğrenebilirsiniz.

Örtüşmeli ekleme stratejisi ( Overlap-tile strategy)

U-net iki bölümden meydana gelir: kodlayıcı / küçülme yolu ve kod çözücü / genişleme yolu!

🐋 U-Net ve otokodlayıcı arasındaki fark merak edilebilir!

Klasik otokodlayıcı mimarisinde ilk adımlarla başlayıp ilerleyen katmanlar boyunca giriş bilgisinin boyutu azaltılır. Mimarinin kodlayıcı bölümü tamamlanır ve kod çözücü kısmı başlar. Doğrusal öznitelik gösterimi bu kısımda öğrenilir ve boyut giderek artar. Mimarinin sonunda çıkış boyutu ile giriş boyutu eşit olur. Çıkış boyutunu korumak için bu mimari idealdir ancak bir problemi girişi doğrusal olarak sıkıştırır ve tüm öznitelikleri iletemediği bir darboğaz meydana gelir.

🍭 Otokodlayıcı ile ilgili daha detaylı bilgilere buradan ulaşabilirsiniz.

Otokodlayıcı Model

Tam bu noktada U-Net’ten farkı ortaya çıkar. U-Net, kod çözücü (yani ikinci yarıda) tarafında ters evrişim işlemi gerçekleştirir ve buna ek olarak mimarinin kodlayıcı tarafından gelen bağlantılar sayesinde özniteliklerin kaybolmasına sebep olan bu ‘darboğaz’ probleminin üstesinden gelebilmektedir.

🏊🏻 U-Net ile devam edelim!

Biyomedikal görüntüde dokudaki en yaygın varyasyon deformasyondur ve gerçekçi deformasyonlar verimli bir şekilde simüle edilebilir. Bu şekilde elimizdeki az sayıda veriyi artırmak için elastik deformasyon yaklaşımı ile öğrenme işleminin daha başarılı olması sağlanır.

Elastik Deformasyon Görtelleştirme

Ayrıca aynı sınıfa ait olup birbirine dokunan kısımlar varken sınırların tespit edilmesi zor bir problemdir. Bunun için arkaplan ile önplanda bölütlenmek istenen bilgiler öncelikle ayrılırken, yitim/kayıp (loss) fonksiyonunda büyük bir ağırlık elde ettiği değerlerin kullanılması öneriliyor.

DIC (diferansiyel girişim kontrastı) mikroskobu ile kaydedilen HeLa hücreleri. a) ham görüntü b) Ground truth bölütleme . Farklı renkler
HeLa hücrelerinin farklı örneklerini gösterir. c) Oluşturulan bölütleme maskesi(siyah-beyaz) d) Ağın kenar piksellerini öğrenmesini sağlamak için piksel bazında kayıp ağırlığı olan bir harita.

📈 Kayıp/Yitim (Loss) hesabı yaklaşımı

Standart ikili çapraz entropi ve Dice ile yitim hesaplanabilir ki, Dice biyomedikal görüntülerde başarı değerlendirmek için sıklıkla kullanılan bir performans kriteridir.

İkili çapraz entropi — Dice yitim hesabı

Birleşimlerin Kesişimi Intersection over Union(IoU) piksel temelli bir ölçüttür ve bölütleme performansı değerlendirilirken sıklıkla başvurulur. Hedef matris ile eldeedilen matris arasındaki ötüşen piksel oranı dikkate alınır. Bu metrik Dice hesabıyla da ilişkilidir.

IoU ifadesinin görselleştirilmesi
Giriş ve girişe göre etiketlenmiş görüntü

U-Net makalesinde de yer alan EM görüntü bölütleme yarışması (ISBI Challenge: Segmentation of neuronal structures in EM stacks) başarısını incelemek gerekirse;

Unet-EM verileri başarısı

U-Net mimarisinin başarısı farklı veri kümeleri üzerinde de tescillenmiştir. Eğitilmiş modeli buradan indirebilirsiniz!

PhC-U373 ve DIC-HeLa verileri üzerinden alınan sonuçlar ve önceki çalışmalarla karşılaştırılması:

Unet’in PhC-U373 (a-b) ve DIC-HeLa (c-d) veri kümeleri üzerindeki bölütleme başarısı

Tabi ki bölütleme işlemi yalnızca medikal alanda istenmez; yer bilimleri ya da uydu görüntülerinden uzaktan algılama sistemleri gibi başka uygulama alanlarıda vardır. Sonuçta her yerde örüntü var.

🎧“Her yerde kar var” geldi aklıma bu şarkıyla devam edelim bari yazmaya çizmeye 😅

👀Retinal Vessel Segmentation

Medikal görüntülerin otomatik olarak bölütlenmesi, doktorların tanı koymasına yardımcı olabilecek faydalı bilgileri çıkarmak için önemli bir adımdır. Örneğin, retina damarlarını bölütlerine ayırmak, CT, MRI, deri hastalıkları için görüntüleme gibi farklı görüntü formatları için kullanılabilir.

Retinal Vessel açık bir veri kümesi olup retina damarlanma yapıları üzerinde yukarda bahsettiğim U-Net gibi segmentasyon modelleri uygulanabilir.

DRIVE (Digital Retinal Images for Vessel Extraction)

👑 Kaynak makale ve kodlarına ulaşabilirsiniz!

🌋TGS Salt Identification Challenge

Petrol ve gaz büyük birikimleri ile Dünya’nın çeşitli alanlarında yüzeyin altında büyük tuz birikintileri bulunmaktadır. Ancak ne yazık ki, büyük tuz birikintilerinin nerede olduğunu bilmek çok zordur. Profesyonel sismik görüntüleme, tuz kütlelerinin uzman bir şekilde yorumlanmasını gerektirir. Bu durum çok öznel, çok değişken kestirimlere yol açar. En doğru sismik görüntüleri ve 3B görüntülemeyi oluşturmak için TGS (jeoloji veri şirketi) , Kaggle’ın makine öğrenim topluluğunun bir yeraltı hedefinin tuz olup olmadığını otomatik olarak ve doğru bir şekilde belirleyen bir algoritma oluşturabileceğini umuyor.

Yarışmada başarılı olan çalışmalar arasında U-net yaklaşımını benimseyen çeşitli örneklere buradan inceleyebilirsiniz.

🌎Mapping Challenge (Haritalama Yarışması)

Uydu görüntülerinden faydalanarak harita bölgelerinin belirlenmesi de yine U-net ile başarılı çözüm bulunan bir başka uygulama alanıdır. Hatta bu alanın gelişmesiyle ortaya çıkacak uygulamaların harita ve çevre mühendislerinin işlerini epeyce kolaylaştıracağı söylenebilir. Yalnızca savunma sektörünün değil şehir ve bölge planlama çalışanlarında işine yarayacak uygulamalara imza atmak mümkündür. Örneğin binaları tespit etme yarışmasında (yarışmanın detaylarına buradan ulaşabilirsiniz.)0.943 ortalama kesinlik ve 0.954ortalama duyarlılık değerlerine ulaşılmaktadır. Bu başarıya ulaşan çalışmanın U-net modelini buradan inceleyebilirsiniz.

🔗U-Net’in İlham Olduğu Diğer Derin Öğrenme Yaklaşımları

U-Net bu süreçte diğer bilgisayarlı görü derin öğrenme modellerinde olduğu gibi farklı mimariler ile kombinasyonlarının denenmesine ilham olmuştur.

Görsel: Giphy

Örneğin ResNet of ResNet (RoR) konsepti bunlardan biridir. U-net te kullanılan ikinci yarı olarak tanımlayabileceğimiz çözünürlüğün artırıldığı yapı klasik Artık (Residual) ağlardaki atlama bağlantılarına uygulanmaktadır.

🍭 Orijinal ResNet modeli ve bazı versiyonlarını buradan öğrenebilirsiniz.

Orijinal ResNet (sol) ve RoR yaklaşımı (sağ)

Klasik Res-Net görselden anlaşılacağı gibi her mavi blok içinde (skip connection) atlama bağlantısı bulundururken; RoR yaklaşımında ise önceki bağlantılar üzerinden de yeni bağlantılar girişten çıkışa doğru eklenmektedir. RoR’unda ResNet’te olduğu gibi farklı versiyonları vardır. Detayları incelemek isterseniz kaynakları kullanabilirsiniz.

⚠️Özellikle yüksek çözünürlük ya da düşük çözünürlüklü ve yeterince çok veri olmadığı durumlarda görüntüleri bölütlemek zorlu bir problem olabilir. Farklı, güncel ve eski yaklaşımları değerlendirerek yeni yaklaşımlar geliştirilebilen bir alandır. Yegane kullanım alanı da biyomedikal görüntüler değildir! Jeoloji, jeofizik, çevre, harita, uzaktan algılama gibi otonom araçlar dahil olmak üzere gerçek hayata uygulama alanı bolca bulunan bir konudur.

Merve Ayyüce Kızrak isimli yazarın Görüntü Bölütleme (Segmentasyon) için Derin Öğrenme: U-Net başlıklı eseri bu Creative Commons Atıf-AynıLisanslaPaylaş 4.0 Uluslararası Lisansı ile lisanslanmıştır.

🎀 Yazıyla ilgili geri bildirimler veren Başak Buluz ve Cemal Gürpınar’a çok teşekkür ederim.

👽 Daha fazla içerik için GitHub ve Twitter hesabımı da takip edebilirsiniz!

Ph.D. Candidate at Yıldız Technical University | AI Researcher at Bahçeşehir University | www.ayyucekizrak.com/

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store