MRI Görüntüleri Üzerinden Beyin Tümörü Tespiti — Bölüm 1 (U-Net)

Mustafa Mert Tunalı
Deep Learning Türkiye
8 min readNov 11, 2019

Deep Learning Türkiye tarafından Koç Üniversitesi Girişimcilik Araştırma Merkezi desteğiyle İstanbul’da toplam 4 ay süren Proje Odaklı Derin Öğrenme Eğitimi sonucunda “Deep Health” takımı olarak MRI görüntüleri üzerinden beyin tümörü tespiti projesini tamamlamış bulunuyoruz.

DeepHealth grubu: Mustafa Mert Tunalı, Merve Turan, Feyza Doğan

Giriş

Makine öğrenimi son zamanlarda çarpıcı gelişmeler gördü. Bu da endüstri, akademi ve popüler kültürden büyük ilgi görmesini sağladı. Yapay sinir ağlarının daha fazla gizli katman içererek büyük veriler üzerinde karmaşık kalıpları kolayca öğrenmesi ile artık günümüzde birçok problem daha hızlı çözülebilir hale geldi.

Artık birçok farklı sektörde bile derin öğrenme modelleri kullanılarak daha hızlı çözümler üretebiliyoruz. Özellikle son zamanlarda sağlık alanında bu modellerin uygulamaya alınmasıyla birlikte akıllı sistemler, birçok hastalığı önceden tespit edebilmekte veya uzman bir kişinin göremediği ayrıntıları gözden kaçırmamaktadır.

4 ay süren etkinlikte, medikal görüntüleme alanında bir proje geliştirmeye ve Manyetik rezonans görüntüleme (Magnetic resonance imaging, MRI) ile beyin tümörü tespiti ve segmentasyonu üzerine çalışmaya karar verdik. Bu projeyi seçmemizdeki temel amaç; medikal görüntüleme alanına giriş yapmak ve fikir edinmek, farklı derin öğrenme modellerini uygulayarak anlamak ve geliştirmek, tecrübe kazanmak ve bu alanda Türkçe kaynaklara katkı sağlamaktır.

Benim açımdan da böyle bir proje çok önemliydi ve anlamlıydı çünkü bu sene kansere yakalanmıştım. Kasım 2018'de biyopsi yapılmasına rağmen kansere yakalandığımı Mart 2019'da öğrendim. Haziran 2019'da da kanseri yendiğimi öğrendim ve bir süre sonra bu etkinliğe fuat hocamın daveti ile katıldım, kendisine buradan teşekkürlerimi sunarım. Kanser gibi hastalıkların önceden tespiti için bu teknolojilerin kullanılması, birçok insan hayatını kurtarabilir veya farklı çözümler üretebiliriz.

Görsel 1: Sağlıklı birinin örnek MRI görüntüsü.

Beyin Tümörü Nedir?

Beyin tümörü (Görsel 2), beyindeki hücrelerin veya kitlenin anormal büyümesidir. Her tümör öldürücü olmasa da beyin tümörlerinde, beyin dokusunun istisnai bir durumu vardır. İyi huylu tümörler de beyin kafatası içinde kapalı bir odada yer aldığından öldürücü olabilir. Bu nedenle beyin tümörlerinin tümü öldürücü olmasa da mutlaka kontrol altında tutulmalı ve doğru müdahale edilmelidir.

Görsel 2: MRI görüntüsü üzerinde örnek tümör görüntüsü.

MRI Sekansları

MRI, nöroloji ve beyin cerrahisinde en sık kullanılan görüntüleme tekniklerinden biridir. Canlıların iç yapısını görüntüleme amacıyla daha çok tıpta kullanılan bir yöntemdir [6]. Beyin, omurilik ve damar anatomisinin ayrıntılarını sunar ve her üç düzlemde (Sagital düzlem, uzunlamasına düzlem, koronal düzlem) anatomiyi görselleştirme avantajına sahiptir.

Sekans, MRI sinyali oluşturmak için uygulanan radyo frekans pulse, gradient ve sinyal toplama süreçlerini gösteren veridir. MRI’da 3 temel sekans vardır.

En sık kullanılan MRI sekansları T1, T2 ve Flair olarak adlandırılır. Bu her bir sekansın özellikleri birbirinden farklıdır.

T1 — Kısa zamanlamalı radyo frekansları kullanılır. Kontrast madde sonucunda görüntüyü daha parlak ve anatomiyi daha iyi gösterir. Subakut kanamayı (methemoglobilin) iyi gösterir.

T2 — Uzun zamanlamalı radyo frekanslar kullanılır. Kontrast ve parlaklık dokunun özelliğine göre belirlenir.

Flair — Çok uzun zamanlamalı radyo frekanslar kullanılır. T2'ye biraz benzerdir fakat görüntü daha karanlıktır ve anormallikler daha parlaktır.

Görsel 3: Farklı sekanslardaki MRI görüntüleri.

Biz de eğiteceğimiz veriyi bu özellikleri araştırarak kararlaştırdık ve Flair görüntüleri üzerinden ilerleme kararı aldık. Flair üzerinden gitmemizin ana sebebi tümörün diğer sekanslara oranla daha belirgin gözükmesidir ve bu şekilde modelimizi daha kolay ve başarılı eğitebiliriz diye düşündük.

Görüntü Bölütleme (Segmentasyon) Nedir?

Bir görüntüyü farklı özelliklerin tutulduğu anlamlı bölgelere ayırmayı bölütleme olarak tarif edebiliriz. Yani, her piksel için etiketler çıkartılır ve tahminler yapılarak çıkarımlar sağlanır.

Görsel 4: Görüntü bölütlemeye örnek(Kaynak: https://blog.goodaudience.com/using-convolutional-neural-networks-for-image-segmentation-a-quick-intro-75bd68779225)

Görüntü bölütlemenin blackbone (ana yapısını oluşturan) kısmını oluşturan birkaç önemli model:

  • AlexNet: 2012 ImageNet yarışmasını % 84,6 doğrulukla kazanan CNN’in öncüsü.
  • VGG-16: Oxford’un modeli, 2013 ImageNet yarışmasını % 92.7 doğrulukla kazandı
  • GoogLeNet: Google’ın modeli, 2014 ImageNet yarışmasını % 93,3 doğrulukla kazandı
  • ResNet: Microsoft’un modeli, 2016 ImageNet yarışmasını % 96,4 doğrulukla kazandı.

Veri Seti (Dataset)

MRI görüntülerini nereden toplayacağımızı öğrenmek için ilk olarak internette bu alanda yapılan çalışmaları araştırdık ve bunun sonucunda BraTS adlı yarışmanın verilerini kullanmaya karar verdik. BraTS adlı bu yarışma Pensilvanya Üniversitesi tarafından 2013 yılından beri her yıl düzenlenmektedir. MRI görüntülerini almak için üniversiteye başvurduk ve kendileri verileri paylaşmaya kabul ettiler. Biz de bu çalışmada BraTS 2019 (Görsel 5) MRI görüntülerini kullandık. BraTS ve Pensilvanya Üniversitesi’ne buradan görüntüler için teşekkürlerimizi sunarız.

Ön İşleme (Pre-Processing)

MRI görüntüleri NIFTI formatında geliyor ve bu formattaki görüntüleri okumak için SimpleITK kütüphanesini kullandık. Eğer flair haricinde farklı sekans kullanılırsa, normalizasyon algoritması kullanılması gerektiğini de belirtelim. Her bir MRI görüntüsünde görüntüsünde toplam 600 slayt var ve her görüntünün 60–120 arasında olan slaytları eğitim verisi olarak kullandık. Çünkü bu aralıklarda tümör varsa direkt belli olmaktadır.

Eğitime hazır hale getirmek ve görüntülerden anlamsal bir şeyler çıkarmak içinse görüntülerin ortalamasını ve standart sapmasını alarak Sıfır Ortalama Normalizasyon / Birim Norm Normalizasyon (Zero Mean Normalization / Unit Norm Normalization) uyguladık.

Elimizde MRI verimiz çok olmadığından, Veri Arttırma (Data Augmentation) metodu ile örnek sayımızı çoğalttık. Görüntüleri döndürme (rotation), yatay çevirme (horizontal flip) ve dikey döndürme(vertical flip) ile örnek sayımızı çoğaltarak eğitim için gerekli olan veriyi tamamladık.
Son olarak da verilerimizi x.npy ve y.npy formatındaki dosyalarda saklıyoruz ve verimiz artık eğitime hazır!

Görsel 6: Veri setinde bulunan flair sekansındaki görüntü ve uzman kişi tarafından işaretlenmiş tümör bilgisi (Ground Truth)

Ağ Mimarisi

DeepHealth ekibi olarak 3 model üzerinde çalışmalarımızı gerçekleştirdik. Her bir modelde farklı sonuçlar elde ettik. Kullandığımız modeller şu şekilde:

  • U-Net: U-Net (Görsel 7), Almanya’daki Freiburg Üniversitesi Bilgisayar Bilimleri Bölümü’de, biyomedikal görüntü segmentasyonu için geliştirilen bir evrimsel sinir ağıdır. Ağ tamamen evrişimli sinir ağları üzerine kuruludur ve mimarisi, daha az eğitim görüntüsü ile çalışmak ve daha hassas bölümleme sağlamak için genişletildi. Bu konuyla ilgili daha fazla bilgi edinmek için Ayyüce Kızrak hocamızın “Görüntü Bölütleme (Segmentasyon) için Derin Öğrenme: U-Net” başlıklı detaylı yazısını okumanızı kesinlikle tavsiye ederim. Ben de kayıp/yitim(Loss) hesabı yaklaşımlarını bu yazıdan alıntılayacağım. Özellikle projeyi geliştirirken bu yazının yayımlanması, modeli anlamamızda çok yardımcı oldu, teşekkür ederiz. 🙏
Görsel 7: U-Net Mimarisi
  • FCN: CNN’den farklı olarak, baştan sona konvolüsyon katmanları kullanılır. Bölge önerilerini çıkarmadan piksellerden piksellere bir eşleme öğrenir. Çok fazla katman olmamasından dolayı da parametre sayısını ve hesaplama süresini azdır. Detaylı bilgiye Birol Kuyumcu hocamızın hazırlamış olduğu “Semantik Bölütleme ve FCN” başlıklı yazısına buradan ulaşabilirsiniz.
  • Mask R-CNN: Makine öğrenmesinde veya bilgisayarlı görmede ,segmentasyon problemini çözmeyi amaçlayan derin bir yapay sinir ağıdır. Başka bir deyişle, bir görüntüdeki veya videodaki farklı nesneleri ayırabilir.

Eğitim (Training)

U-Net’in verilen verileri ne kadar iyi modellediğini anlamak için aşağıdaki kayıp /yitim (loss) fonksiyonları uyguladık.

Kayıp/Yitim (Loss) hesabı yaklaşımları

1. Standart ikili çapraz entropi ve Dice: Dice yöntemi (Görsel 8), özellikle biyomedikal görüntülerde sıklıkla kullanılan bir performans kriteridir. Biz de U-Net modelini eğitirken Dice yönteminden yararlandık.

Görsel 8: U-Net’in kayıp fonksiyonu ikili çapraz-entropi ve dice katsayısının birleştirilmesi ile oluşturulmuştur.

Birleşimlerin Kesişimi Intersection over Union(IoU)

Görsel 9: IoU değeri 100'e ne kadar yakında yapılan tahminde o kadar başarılı demektir.

Bölütleme performansını değerlendirmek için kullanılır ve piksel temelli bir ölçüttür. Hedeflenen matris ile tahmin edilen matris arasındaki ötüşen piksel oranıdır. Dice hesabı ile ilişkilidir.

U-Net modelini eğitirken epoch sayısı çok verildiğinde overfitting olabiliyor. Genel anlamda tabloyu görmek için biz epoch sayısını 10 belirledik. Daha fazla eğitim ve test görüntüsü olması durumunda epoch sayısı arttırılabilir. Medikal görüntülerde özellikle verilerin training, test ve validation şeklinde kullanılması modeli çok daha başarılı hale getirdiğini hatırlatmak isterim.

2.Binary Cross-Entropy: İkili Çapraz Entropi, evet / hayır (ikili) kararları içeren problemlerde kullanılan bir kayıp fonksiyonudur.

Görsel 10: Binary Cross-Entropy / Log Loss

Tahmin (Prediction)

Biyomedikal alanda yapılan çalışmalarda modelin başarılı eğitilmesi için veriler, eğitim(training), test ve validasyon(validation) şeklinde eğitilmesi gerekmektedir. Bunun temel sebebi de hata payını en düşüğe indirerek modelin hata yapmasını engellemektir. Medikal görüntülemede yapılan yanlış bir tahmin, bir insanının ölümüne kadar gidebilir! ⚠️

Medikal alanda eğitim işlemi yaparken çok veriye ihtiyacımız yoktur. Çünkü, görüntülerin boyutları çok yüksektir ve bu yüzden daha çok piksele sahiptir. Modeli yeterli düzeyde eğitmek üzere 70 adet MRI görüntüsü yeterli diyebilirim( Not: Her MRI görüntüsü ortalama 600 slayttan oluşmaktadır).

BraTS 2019 verileri ile U-Net modelini eğittiğimiz bu çalışmada, bir uzmanın etiketlediği doğrulukta olmasa da modelin gayet iyi bir iş çıkardığını söyleyebilirim. Aşağıda gördüğünüz üzere( Görsel 11 ve 12), uzmanın etiketlediği ile eğittiğimiz model arasında çok bir fark yoktur.

Görsel 11: Eğittiğimiz modelin örnek tahmin (predict) görüntüleri ( Kayıp fonksiyonu: İkili Çapraz Entropi)
Görsel 12: Kayıp fonksiyonu: Standart ikili çapraz entropi ve Dice

Son olarak

Deep Learning Türkiye’nin Proje Odaklı Derin Öğrenme Programı sonucunda “Deep Health” takımı olarak bu projeyi gerçekleştirdiğimiz için mutluyuz. Bu alanda yapılan çalışmaların ileride birçok çözüme vesile olacağını düşünmekteyiz. Biz bu projeyi geliştirirken çok şey öğrendik ve umarız siz de bu yazı ile birlikte en azından fikir sahibi olmuşsunuzdur. İkinci bölümde, FCN ve Mask R-CNN modellerinin MRI görüntülerinde nasıl bir performans gösterdiğini ele alacağız ve bu modeller ile U-Net’i karşılaştıracağız. Görüşmek üzere.✔️

Yaptığımız çalışmanın kodları 2.bölüm yayınlandıktan sonra aşağıdaki adreste paylaşılacaktır:

Github: deeplearningturkiye/Brain-Tumor-Detection-and-Segmentation-using-Deep-Learning

📕 Kaynakça

--

--