Bilgisayarla görü(computer vision) günümüzde oldukça önem arz eden bir dal olarak kendine ayrı bir kulvar yaratmıştır. Geçmiş dönemlerde yapay zeka ve yapay öğrenmenin bir dalı olarak kabul görmekle beraber artık endüstriyel ve toplumsal ihtiyaçlar doğrultusunda başlı başına bir araştırma alanı olmuştur. Temel olarak bilgisayarla görü insan gözünün normal bir anda yaptığı işlemeyi bilgisayarlar sayesinde kameralarla yapmayı hedeflemektedir.

İşte bu noktada bilmemiz gereken belli başlı derin öğrenme çeşitlerinden basitçe bahsedip aralarındaki farkları anlamamızı sağlamaya çalışacağım.

CNN (Convolution Neural Network) Nedir?

CNN resim ve video işleme için geliştirilmiş 2010 yılından sonra önemli gelişme kaydeden ve şu an dünyada oldukça yaygın olarak kullanan bir derin öğrenme ağ çeşididir. Bu ağ çeşidi genel olarak 4  katmandan oluşuyor diyebiliriz.

cnn yapısı nedir

Convolution layer  katmanında resmin üzerinden gezgin bir halde filtre kullanılır. Bu filtre resmimizin üzerinde gezerek filtrenin çeşidine göre bulunduğu noktanın piksellerinde hesaplamalar yapar ve o pikseldeki her bir noktayı yeni görüntüde bir piksel haline getirir. Bu en son ulaşılan matrise feature map denir. Bir CNN ağında birden çok filtre kullanılır ve en son ulaşılan feature map filtredeki özelliğe göre şekillenir.

Relu katmanı convolution katmanından sonra gelir ve gelen verideki eksi değerleri 0 yapmak için Relu aktivasyon fonksiyonu kullanılır. 

Pooling Layer katmanında ise elimizdeki feature mapler boyut küçültme yönetemiyle havuzlama yapılır. Yine buradaki bir amaçta elimizdeki parametre sayısını azaltıp en marjinal ya da kritik parametreleri tutmaktır.

Ve son olarak Flattening Layerda en son elimizdeki matrisi tek vektöre çevirir ve neronlarımız aracılığıyla yapay sinir ağımıza sokarız.

Region Based Convolutional Neural Network (R-CNN) Nedir?

 R-CNN’de resim öncelikle yaklaşık 2000  tane bölge önerilerine bölünür(region propotals) ve daha sonra her bölge için sırasıyla CNN(ConvNet) uygulanır çıkan features map ler için sınıflandırma algoritmalarından SVM kullanılır.

cnn r-cnn fast cnn faster r-cnn

Nesnenin varlık ve yokluğu belirlenir daha sonrasında linear regression modelleme ile regionların boyutu belirlenir ve doğru bölge yapay sinir ağına sokulur. Bu yönteminin en büyük problemi zamandır. Resimdeki her bölge ayrı ayrı CNN uygulaması yapıldığı için eğitim süresi yaklaşık 84 saat ve tahmin süresi yaklaşık 47 sn sürmektedir.

Fast R-CNN

Bu yöntemin R-CNN den farkı önce resmi bölge önerilerine bölmesi değil ilk önce CNN uygulayıp daha sonra oluşan COVN5 özellik haritası üzerinde bölge önerilerine ayırmasıdır. Ayırca sınıflandırma kısmında metot olarak SVM değil yapay sinir ağı katmanları içinde gerçekleştirebileceği bir derin öğrenme sınıflandırması softmax classifacition kullanmasıdır. CNN’i bir kere kullandığı için zamanda büyük bir kazanç sağlanmaktadır. Eğitim süresi yaklaşık 8,75 saat tahmin süresi ise yaklaşık 2,3 sn dir.

matris vektör yapısı

Faster R-CNN Nedir?

Bu yöntemde öncelikle Fast R-CNN deki gibi resme CNN uygulayıp özellik haritası oluşturuyoruz. İşte bu noktadan sonra Fast R-CNN’e göre değişiklik başlıyor. Bölge önerileri kısmını selective search ile değil ayrı bir bölge önerisi ağı oluşturarak alıyoruz. Geri kalan kısımlar Fast R-CNN ile hemen hemen benzer. Faster R-CNN ile bölge önerisinden kazandığımız zaman ile tahmin süresini yaklaşık 0,3 saniyeye kadar çekmiş oluyoruz.

faster r-cnn nedir

Bu kavramları daha iyi anlamak isterseniz makine öğrenimi ve matematik konularında araştırma yapmanıza yardımcı olacak yazıma göz atın.

Faydalı içerikleri lütfen takip etmeye devam edin

CEVAP VER

Please enter your comment!
Please enter your name here