R — CNN Ailesi Part II: Faster R-CNN & Mask R-CNN

Elif Meşeci
4 min readAug 19, 2021

Merhaba, R-CNN Ailesi: Part I’ de CNN , R- CNN ve Fast R-CNN’den bahsetmiştim. Bu yazıda ise Faster R-CNN ile Mask R-CNN’in gelişimini, avantajlarını ve dezavantajlarını inceleyeceğiz.

🌱 Faster R-CNN

Bir önceki yazımda bahsettiğim R-CNN ve Fast R-CNN, bölge tekliflerini bulmak için seçici arama kullanır. Seçici arama, ağın performansını etkileyen yavaş ve zaman alıcı bir işlemdir. Bunun üzerine Shaoqing Ren ve ark. seçici arama algoritmasını ortadan kaldıran ve ağın bölge tekliflerini öğrenmesini sağlayan bir nesne algılama algoritması geliştirdi. Faster R-CNN’de bölge tekliflerini belirlemek için özellik haritası üzerinde Seçici Arama algoritması kullanmak yerine Bölge Teklif Ağı (RPN — Region Proposal Network) kullanılır.

photo by Elif Meşeci
Fast R-CNN’den Faster R-CNN’e Gelişimi

Faster R-CNN’de izlenen adımlar:

🔹 Görüntü, evrişimsel özellik haritası sağlayan bir evrişimli ağa girdi olarak verilir.
🔹 Bu özellik haritalarına RPN (bölge teklif ağı) uygulanır ve nesne teklifleri nesnellik puanlarıyla birlikte döndürülür.
🔹 Tüm tahmin edilen bölge teklifleri, daha sonra görüntüyü önerilen bölge içinde sınıflandırmak ve sınırlayıcı kutular için ofset değerlerini tahmin etmek için kullanılan RoI havuzlama katmanı kullanılarak yeniden boyutlandırılır.
🔹 Teklifler, nesneler için sınırlayıcı kutuları sınıflandırmak için bir softmax katmanı ve tepesinde bir lineer regresyon katmanı bulunan tam bağlantılı bir katmana iletilir.

photo by Elif Meşeci
Faster R-CNN mimarisi

CNN özelliklerinden Bölge Tekliflerinin nasıl oluşturulduğunu inceleyelim. Faster R-CNN özellik haritalarını CNN’den alır ve bunları Bölge Teklif Ağı (RPN)’na iletir. RPN, bu özellik haritaları üzerinde kayan bir pencere kullanır. Her pencerede, farklı şekil ve boyutlarda k Ankor kutusu oluşturur. Ankor kutuları, görüntü boyunca yerleştirilmiş, farklı şekil ve boyutlara sahip sabit boyutlu sınır kutularıdır. Her Ankor kutusu için RPN iki şeyi tahmin eder:

💎 Ankor kutusunun bir nesne olma olasılığı
💎 Nesneye daha iyi uyması amacıyla Ankor kutularını ayarlamak için sınırlayıcı kutu regresörü

Farklı şekil ve boyutlarda sınırlayıcı kutular RoI havuzlama katmanına aktarılır. RoI havuzlama katmanı, her Ankor kutu için sabit boyutlu özellik haritaları çıkarır. Daha sonra bu özellik haritaları, softmax ve lineer regresyon katmanına sahip tam bağlantılı bir katmana geçirilir. Sonunda nesneyi sınıflandırır ve tanımlanan nesneler için sınırlayıcı kutuları tahmin eder.

⚠️ Faster R-CNN’in Dezavantajları

🔪 Nesne önerisi zaman alır.
Ağ, görüntünün tamamına tek seferde bakmaz, görüntünün bölümlerine sırayla odaklanır. Bu nedenle tüm nesneleri çıkarmak için tek bir görüntüden birçok geçiş gerektirir.
🔪 Birbiri ardına çalışan farklı sistemler olduğundan, sistemlerin performansı önceki sistemin nasıl performans gösterdiğine bağlıdır.

Makaleyi incelemek için tıklayınız.

🌱 Mask R-CNN

Eğitim veri setinde, nesnelerin piksel düzeyindeki konumları da görüntülerde etiketlenirse, R-CNN maskesi nesne algılamanın doğruluğunu daha da geliştirmek için bu tür ayrıntılı etiketlerden etkin bir şekilde yararlanabilir.
-K.He ve diğerleri

photo by Elif Meşeci
Faster R-CNN’den Mask R-CNN’e

Mask R-CNN, RoI havuzlama katmanı yerine RoI hizalama (RoI Allign) katmanı kullanır. RoI hizalama katmanı, piksel düzeyinde tahmin için daha uygun olan özellik haritalarındaki uzamsal bilgileri korumak için çift doğrusal enterpolasyon kullanır. Bu katmanın çıktısı, tüm ilgili bölgeler için aynı şekle sahip özellik haritalarını içerir. Her bir ilgili bölge için yalnızca sınıfı ve sınırlayıcı kutuyu değil, aynı zamanda nesnenin piksel düzeyindeki konumunu Tam Evrişimli Ağ (FCN — Fully Convolutional Network) aracılığıyla tahmin eder.

Mask R-CNN’de izlenen adımlar:

🔹 Mask R-CNN’de görüntülerden özellikleri çıkarmak için ResNet 101 mimarisini kullanılır. Bu özellikler bir sonraki katman için bir girdi görevi görür.
🔹 Elde edilen özellik haritalarını alıp bir bölge teklif ağı (RPN) uygulanır. Burada, temel olarak o bölgede bir nesnenin olup olmadığını tahmin edilir.
🔹 RPN’den elde edilen bölgelere bir havuzlama katmanı uygulanır ve tüm bölgeleri aynı şekle dönüştürülür.
🔹 Daha sonra, bu bölgeler tamamen bağlı bir ağdan geçirilir, böylece sınıf etiketi ve sınırlayıcı kutular tahmin edilir.
🔹Segmentasyon maskesi oluşturmadan önce hesaplama süresi azaltılabilmesi için ilgilenilen bölge hesaplanır. Tahmin edilen tüm bölgeler için, kesin referans kutuları ile Birlik Üzerinden Kesişim (IoU) hesaplanır. IoU için verilen eşik değerinden yüksek kesişime sahip olan bölgeler RoI olarak alınır.
🔹 Son olarak, nesne içeren her bölge için segmentasyon maskesi oluşturulur.

Makaleyi incelemek için tıklayınız.

--

--

Elif Meşeci

Artificial Intelligence Specialist at SimurgAI || Computer Engineer