Yerinde Medikal Görüntü İşleme Uygulamaları
Medikal alan özünde insan sağlığını barındırdığı için yapılan analizlerin isabetli ve tutarlı olması gerekmektedir. Uzun yıllar boyunca aldıkları tıbbi eğitimler sonucu belli bir alanda uzmanlaşan doktorlar bile özellikle profesyonel kariyerlerinin ilk dönemlerinde yanlış analiz yapabilmektedirler. Özellikle son 10 yılda görüntü işleme alanındaki teorik bilgiyi gerçekleyebilecek donanımsal altyapı ilerleyişi hız kazanmaktadır. Buna bağlı olarak da görüntü işleme alanında obje tanıma, objeleri sınıflandırma ve segmentasyon gibi farklı uygulamaları için bir çok farklı yazılımsal geliştirmeler gerçekleşmektedir. Görüntü işleme alanında geliştirilen derin öğrenme yapıları özellikle sınıflandırma operasyonu için “Konvolüsyonel Derin Ağ (CNN)” yapısını barındırmaktadır. CNN yapılı derin ağlar her bir katmanda barındırdıkları farklı filtre yapıları ile işlenen görüntü üzerinde bulunan geçici ve gizli örüntülerin elde edilmesini sağlamaktadır. Böylelikle de, insan gözünün ve beyninin algılayamayacağı görüntü bazlı örüntü ve özellikler makine öğrenimi ile yapay bir zekaya aktarılabilmektedir.
Geliştirilen Çözümler ve Literatür Taraması Sonuçları
Empa Elektronik 1981 yılında kurulmuş ve günümüzde Amazon, STMicroelectronics, XILINX gibi kendi alanında önder firmaların EMEA bölgesinde resmi partnerliği yapmaktadır. Mikroişlemci, sensör cihazlar ve FPGA gibi elektronik donanım ve komponentlerin yurt içi ve yurt dışı distribütörlüğü konusunda aktif olarak rol almaktadır. Empa Elektroniğe bağlı Empa Teknoloji firması İstanbul Teknik Üniversitesi bünyesinde Yapay Zeka ve IoT alanlarında AR-GE geliştirmelerini gerçekleştirmektedir.
Biz Empa Teknoloji olarak son yıllarda yukarıda da bahsedilen donanımsal ve yazılımsal alt yapıyı kullanarak medikal, askeri ve güvenlik alanlarında geliştirdiğimiz projeleri işlemsel kapasitesi yüksek FPGA cihazlar üzerine deploy ederek baştan sona çözümler sunmayı ve geliştirilen projeler kapsamında destek vermeyi hedefliyoruz. Bu yazıda, bu bağlamda tamamladığımız 2 farklı projeden bahsedeceğiz. Bunlardan ilki açık kaynak olarak paylaşılan “GitHub — splineai-cloud/COVID-XS: CNN based Deep Learning for Detecting COVID-19 from X-Ray images.The Deep Learning is deployed in AWS IoT GreenGrass with Xilinx ZCU104 as Edge Device. ” adresinden ulaşılabilen COVID19 virüsünü tespit etmeye yönelik bir çalışmadır.
Bu çalışma kapsamında ilgili hastaya ilişkin X-ray resimleri üzerinden analizler gerçekleştirilmiş ve %95 oranında doğru bir şekilde analiz yapabilen model Xilinx firmasına ait MPSoC ürün ailesi grubunda bulunan ZCU-102 ve ZCU-104 model numaralı FPGA cihazlara deploy edilmiştir. İkinci projede ise insan vücudunda bulunan kol, omuz, parmak, el vs. gibi 7 farklı bölgede bulunan kas-iskelet sistemine ilişkin bozuklukların (ödem, ligament kopması ya da yırtılması vs.) tespit edilmesi amaçlanmıştır. Konuya ilişkin literatür taraması tamamlandığında “MURA: Large Dataset for Abnormality Detection in Musculoskeletal… ” adresinde bulunan akademik çalışma baz alınarak yapay zeka çözümü geliştirimi tamamlanmıştır. Proje kapsamında “Stanford Üniversitesi”nin en son 2018 yılında güncellediği içerisinde 14863 farklı hastadan toplanmış 40561 adet tür etiketli X-ray resimleri kullanılmıştır[1]. Giriş kısmında da bahsedildiği üzere medikal alanda gerçekleştirilen çözümlerin hassas ve isabetli analizler yapabilmesi çok önemlidir. Yapay sinir ağ yapısında derinlik arttıkça filtreler aracılığıyla elde edilen örüntülerin keskinliği de atmaktadır fakat modelin eğitim ve analiz operasyonları için harcayacağı kaynak miktarı yapay sinir ağınınn katman sayısı ile orantılı bir şekilde yükselmektedir. Bu bağlamda kullanılan yapay sinir ağının yapısı ve katman sayısını belirlemek optimizasyonu sağlamak açısından önem kazanmaktadır. Modele ilişkin baz alınacak yapıyı belirlemek adına tamamlana literatür taraması sonucu [2]’de aktarıldığı üzere DenseNet ve Inceptionv3 yapıları transfer öğrenimi metoduyla ‘backbone’ olarak belirlenmiştir. Ayrıca [3]’de vurgulandığı üzere modelin daha isabetli sonuçlara ulaşabilmesi adına “learning rate” parametresini eğitim aşamasında dinamik olarak azaltarak ‘global minimum’ noktasına ulaşması amaçlanmıştır.
Projeler Kapsamında Kullanılan Teknolojiler
1. Donanımsal Teknolojiler
Proje kapsamında geliştirlen yapay zeka çözümünün dizaynı, eğitilmesi ve cihaz deploy edilebilir hale getirilmesi çoğunlukla host bilgisayar ortamında gerçekleştirilmektedir. Bu yüzden üzerinde görüntü işleme operasyonlarını gerçekleştirebilecek oranda Graphic Processor Unit(GPU) kapasitesi barındırmalıdır. Ayrıca hastaya ait X-ray görüntüleri üzerinde görüntünün yeniden boyutlandırması, rotasyon ve boyuttan bağımsız bir çözüm geliştirmek adına belli açılarla ve belirli oranlarda görüntünün çoğaltılma işlemlerini gerçekleyebilecek oranda Central Processor Unit(CPU) ihtiyaç duyulmaktadır. Bu bağlamda proje kapsamında kullanılan host bilgisayara ait özellikler tablo 3.1.1 üzerinde detaylı bir şekilde belirtilmiştir.
Yazılımsal geliştirmeleri tamamlanan ve lokal cihaza implemente edilmeye hazır hale getirilen yapay zeka çözümü üzerinde barındığı Arm Cortex-A53 dual core işlemci ve bu işlemci üzerinde bulunan CPU ve Deep Learning Processor Unit (DPU) yapıları ile yüksek hızda görüntü işleme imkanı sunan Xilinx firmasına ait MPSoC ürün ailesi grubunun ZCU-102 ve ZCU-104 model numaralı FPGA cihazlara deploy edilmiştir. FPGA cihazlar görüntü işleme alanında kullanılan diğer donanımsal teknolojilere nazaran ölçeklenebilirliği açısından önemli avantajlar sağlamaktadır. Proje bazlı fiziksel tasarım imkanı sunarak kaynak kullanımı açısından optimizasyon yapılabilmektedir.
Yapay sinir ağları bünyesinde katmanlar arası ileri ve geri yönde ilerleme yapılırken matriks çarpım ve toplam operasyonları gerçekleşmektedir. FPGA cihazlar diğer donanımlara kıyasla sabit bir sayısal yapının aksine (sabit taban INT32, FLOAT64 vs.) ölçeklenebilir çözümler sağlamaktadır.
2. Yazılımsal Teknolojiler
2.1. Vitis AI
Xilinx 2018 yılı itibariyle tasarladığı FPGA cihazlarla uyumlu Vitis AI adlı yazılımsal bir sistemi kullanıcıları ile açık kaynak olarak “GitHub — Xilinx/Vitis-AI: Vitis AI is Xilinx’s development stack for AI inference on Xilinx hardware platforms, including both edge devices and Alveo cards. ” adresi üzerinden paylaştı ve bu platformu tamamlanan geliştirmeleri dahil edecek şekilde aktif olarak güncellemektedir. Bu platform içerisinde barındırdığı önceden eğitilmiş modeller (AI Model Zoo) ve yapay zeka çözümünün lokal bilgisayarda geliştirmelerine olanak sağlayan GPU kapasiteli, farklı geliştirme ortamlarını kapsayan (Tensorflow, Caffe, Darknet, PyTorch vs.) docker resmi ile kullanıcılarının hiç bir ekstra kurulum yapmadan yapay zeka geliştirmelerini tamamlamasını sağlamaktadır. İlgili geliştirme ortamları docker platformu üzerinden ilerlediği için proje bazlı ihtiyaç duyulan kütüphaneler platfromun yapısını bozmayacak şekilde eklenebilmektedir.
Bunlara ilave olarak geliştilen modele ilişkin kaynak kullanımını detaylı inceleyebilmek adına “Vitis AI Profiler”, modelin analiz hızını arttırabilmek adına yapay sinir ağları bünyesinde bulunan “weight” ve “bias” değerlerini kuantalanmasını sağlayan “Vitis AI Quantizer” ve geliştirilen çözümü FPGA cihaz üzerinde implemente edilmeye uygun hale getirmek adına derleyici olarak “Vitis AI Compiler” isimli araç ve eklentileri barındırmaktadır.
2.2. Amazon (AWS) Deep Learning AMI
Host bilgisayar ortamında “backbone” belirlemek için yapılan eğitim denemeleri tamamlandıktan sonra projeler kapsamında kullanılacak yapay zeka çözümleri belirlendi. [4]’te de vurgulandığı üzere eğitim aşamasındaki her bir “forward-backward propagation” için batch size parametre değerinin yüksek seçilmesi geliştirilen modelin global minimum noktasına daha hızlı ve isabetli ulaşmasını sağlamaktadır. Batch size parametre değeri arttıkça eğitim aşamasında ihtiyaç duyulan kaynak miktarıda orantılı bir şekilde artmaktadır. Bu bağlamda Amazon bulut ortamında Deep Learning AMI — p3.2xlarge ec2 instance’ı tercih edilmiştir. Bu instance üzerinde paralel olarak çalışabilen 8 adet CPU, 64 GB RAM ve 16 GB grafik işlemcisi bulundurmaktadır. “Resim 6 ve Resim 7”de sırasıyla CPU ve GPU kaynaklarının detaylarını inceleyebilirsiniz.
Projelerin Çıktıları
Önceki bölümlerde de bahsedildiği gibi COVID19 anomali tespiti ve Kas-İskelet Sistemi Anomali Tespiti üzerine iki ayrı uçtan uca çözüm geliştirilmiştir ve bu çözümler XILINX MPSoC ürün ailesi grubunun ZCU-102 ve ZCU-104 model numaralı iki farklı geliştirme kartına deploy edilmiştir. Geliştirilen çözümlerin lokaldeki cihazlar kullanılarak test edilmesi adına her bir projeye ait test veri seti içerisinden rastgele olarak seçilen 150*150 boyutlarında 300 adet iki boyutlu X-ray görüntüleri lokal cihazlara SSH aracılığıyla iletilmiştir. Her bir modele ilişkin lokaldeki analizlerin performans değerleri sırasıyla“Tablo 2” ve “Tablo 3”de gösterildiği gibidir.
Planlanan Projeler ve Geliştirmeler
Tasarımı biten ve lokal cihazlara implemente edilen COVID19 Anomali Tespiti ve Kas-İskelet Sistemi Anomali Tespiti projeleri baz alınarak hedeflediğimiz geliştirmeleri yazılımsal ve donanımsal geliştirmeler olarak iki grupta inceleyebiliriz. Yazılımsal geliştirmeler kapsamında öncelikli hedefimiz proje kapsamında kullanılan veri setlerini güncel hastalardan toplanan tür etiketli yeni verilerle çoğaltarak geliştirdiğimiz yapay zeka çözümünün keskinliğini arttırmaya yönelik olacaktır. Bu bağlamda yenilemeli eğitim (recursive training) yöntemi kullanılarak önceden eğitilmiş model belirli aralıklarla yeni verilerle tekrardan eğitilecek ve lokal cihazlara implemente edilecektir. Böylelikle özellikle insan sağlığı gibi önemli bir duruma ilişkin analiz yapan sistemin yazılımsal optimizasyonu sağlanacaktır. Geliştirilen çözümleri bünyesinde bulunduran ve hasta vücudu üzerinde birçok bölge üzerinde anomali tespiti ve sınıflandırması, ilgili bölgenin segmentasyonu işlemlerini yerine getirebilecek jenerik bir yapay zeka çözümü geliştirmek kısa vadedeki planlarımız arasındadır. Donanımsal geliştirmeler kapsamında ise müşteri isteklerine yönelik özellikle FPGA cihazların fiziksel olarak ölçeklenebilir yapısının avantajını kullanarak lokalde yürütülecek operasyona uygun tasarımları gerçekleştirmeyi hedefliyoruz. XILINX tarafından üretilen “custom board” sınıfı kartları kullanarak veya özel tasarladığımız kartlar üzerine yerinde görüntü işleme operasyonunu arzulanan performans değerlerinde düşük güç tüketimiyle gerçekleştirmeyi planlıyoruz.
Bunların haricinde FPGA kaynaklarının yüksek hızda yerinde görüntü işleme yeteneğini kullanarak üç boyutlu MR görüntülerinin lokalde düşük gecikme süresiyle işlenmesi uzun vadede planladığımız projeler arasındadır. Dahası, FPGA kaynakları arzulanan dijital sinyal işleme(DSP) bloklarını tasarlayarak sayesinde lokalde iki boyutlu kesitlenmiş MR görüntülerini birleştirmeye yönelik kullanılabilir.
Sonuçlar
Empa Teknoloji olarak XILINX FPGA’ler üzerinde uçtan uca COVID19 Anomali Tespiti ve Kas-İskelet Sistemi Anomali Tespiti adlı iki çözümü geliştirdik ve implemente ettik. Test veri seti kullanılarak aynı anda dört adet paralel “thread” kullanarak MPSoC ürün ailesi grubu ZCU-104 model numaralı lokal cihazda saniyede minimum 190, ZCU-102 model numaralı lokal cihazda ise saniyede minimum 220 iki boyutlu X-ray görüntüsü işleyebiliyoruz. Her iki geliştirilen çözüme ilişkin lokal cihazlardaki başarı oranı ise sırasıyla 95% ve 93% gibi oldukça yüksek değerlerdedir. XILINX FPGA’ler ölçeklenebilir yapısı sayesinde kullanıma yönelik donanımsal tasarımlara elverişlidir. Böylelikle arzulanan performans kıstaslarına yönelik sunduğu düşük güç tüketimi ve gecikme süreleriyle özellikle hasta verilerinin gizliliği hususunun ön planda olduğu konumda yerinde görüntü işleme alanında önemli hizmetler sağlamaktadır. Geliştirdiğimiz projeler boyunca elde ettiğimiz yazılımsal ve donanımsal altyapıyı kullanarak üç boyutlu MR görüntülerinin düşük gecikme ve yüksek başarı oranıyla yerinde işlenmesi, gerçekleştirilecek operasyon büyüklüğüne bağlı optimum kartlar üzerinde yapay zeka işlemlerini gerçekleştirebilecek yapının kurulması ve hasta vücudundaki anomalileri daha jenerik olarak tespit edebilen,sınıflandıran ve ilgili bölgeyi segmente eden çözümü uçtan uca geliştirmek öncelikli hedeflerimiz arasındadır.
REFERANSLAR
[1] Rajparkur P., Irvin J. and et. al., MURA: Large Dataset for Abnormality Detection in Musculoskeletal Radiographs, 1st Conference on Medical Imaging with Deep Learning, 2018.,arXiv:1712.06957[physics.med-ph].
[2] Rezaei Z, Eslami B, Ebrahimpour-Komleh H , Daneshmand Jahromi K. Abnormality Detection in Musculoskeletal Radiographs by DenseNet and Inception-v3, Iran J Radiol (2019) ; 16(Special Issue):e99144, Home Page 10.5812/iranjradiol.99144.
[3] Qing L, Weidong C, Xiaogang W, Yun Z, David Dagan F, Mei C. Medical Image Classification with Convolutional Neural Network, 13th International Conference on Control Automation Robotics and Vision(2014) Home Page 10.1109/ICARCV.2014.7064414.
[4] I. Kandel and M. Castelli, The effect of batch size on the generalizability of the convolutional neural networks on a histopathology dataset, ICT Express (2020), The effect of batch size on the generalizability of the convolutional neural networks on a histopathology dataset .
Aklınıza takılan sorularınız varsa Empa sayfamız üzerinden bizimle iletişime geçebilirsiniz.