Yeşil çek
Panoya kopyalanan bağlantı

R-CNN nedir? Hızlı Bir Bakış

RCNN ve nesne algılama üzerindeki etkisi hakkında bilgi edinin. RCNN'nin temel bileşenlerini, uygulamalarını ve Hızlı RCNN ve YOLO gibi tekniklerin geliştirilmesindeki rolünü ele alacağız.

Nesne alg ılama, otonom sürüş, gözetim ve tıbbi görüntüleme gibi uygulamalar için görüntülerdeki veya videolardaki nesneleri tanıyabilen ve konumlandırabilen bir bilgisayarla görme görevidir. Viola-Jones dedektörü ve Destek Vektör Makineleri (SVM) ile Yönlendirilmiş Gradyanların Histogramı (HOG) gibi daha önceki nesne algılama yöntemleri, el yapımı özelliklere ve kayan pencerelere dayanıyordu. Bu yöntemler genellikle çeşitli şekil ve boyutlarda birden fazla nesnenin bulunduğu karmaşık sahnelerdeki nesneleri doğru bir şekilde tespit etmekte zorlanıyordu.

Bölge tabanlı Evrişimsel Sinir Ağları (R-CNN) nesne algılama yöntemimizi değiştirmiştir. Bilgisayarla görme tarihinde önemli bir kilometre taşıdır. Bu gibi modellerin nasıl çalıştığını anlamak için YOLOv8 ortaya çıktığında, öncelikle R-CNN gibi modelleri anlamamız gerekir. 

Ross Girshick ve ekibi tarafından oluşturulan R-CNN model mimarisi, bölge önerileri oluşturur, önceden eğitilmiş bir Evrişimsel Sinir Ağı (CNN) ile özellikleri çıkarır, nesneleri sınıflandırır ve sınırlayıcı kutuları iyileştirir. Bu göz korkutucu görünse de, bu makalenin sonunda R-CNN'nin nasıl çalıştığını ve neden bu kadar etkili olduğunu net bir şekilde anlayacaksınız. Hadi bir göz atalım!

R-CNN Nasıl Çalışır?

R-CNN modelinin nesne algılama süreci üç ana adımdan oluşur: bölge önerilerinin oluşturulması, özelliklerin çıkarılması ve sınırlayıcı kutularını iyileştirirken nesnelerin sınıflandırılması. Şimdi her bir adımı inceleyelim.

Şekil 1. R-CNN nasıl çalışır?

Bölge Önerileri: RCNN'nin Belkemiği

İlk adımda, R-CNN modeli çok sayıda bölge önerisi oluşturmak için görüntüyü tarar. Bölge önerileri, nesne içerebilecek potansiyel alanlardır. Seçici Arama gibi yöntemler, görüntünün renk, doku ve şekil gibi çeşitli yönlerine bakarak onu farklı parçalara ayırmak için kullanılır. Seçici Arama, görüntüyü daha küçük parçalara bölerek başlar, ardından daha büyük ilgi alanları oluşturmak için benzer olanları birleştirir. Bu işlem yaklaşık 2.000 bölge önerisi oluşturulana kadar devam eder.

Şekil 2. Seçici Arama nasıl çalışır?

Bu bölge önerileri, bir nesnenin bulunabileceği tüm olası noktaların belirlenmesine yardımcı olur. Sonraki adımlarda model, görüntünün tamamı yerine bu belirli alanlara odaklanarak en ilgili alanları verimli bir şekilde işleyebilir. Bölge önerilerinin kullanılması, hesaplama verimliliği ile titizliği dengeler.

Görüntü Özellik Çıkarımı: Ayrıntıları Yakalamak

R-CNN modelinin nesne algılama sürecindeki bir sonraki adım, bölge önerilerinden özellikler çıkarmaktır. Her bölge önerisi CNN'in beklediği tutarlı bir boyuta (örneğin 224x224 piksel) yeniden boyutlandırılır. Yeniden boyutlandırma, CNN'in her bir öneriyi verimli bir şekilde işlemesine yardımcı olur. Çarpıtmadan önce, her bölge önerisinin boyutu, daha iyi özellik çıkarımı için daha fazla çevre bilgisi sağlamak üzere bölgenin etrafına 16 piksel ek bağlam içerecek şekilde biraz genişletilir.

Yeniden boyutlandırıldıktan sonra bu bölge önerileri, genellikle ImageNet gibi büyük bir veri kümesi üzerinde önceden eğitilmiş olan AlexNet gibi bir CNN'e beslenir. CNN, kenarlar, dokular ve desenler gibi önemli ayrıntıları yakalayan yüksek boyutlu özellik vektörlerini çıkarmak için her bölgeyi işler. Bu özellik vektörleri, bölgelerdeki temel bilgileri yoğunlaştırır. Ham görüntü verilerini modelin daha fazla analiz için kullanabileceği bir biçime dönüştürürler. Sonraki aşamalarda nesnelerin doğru bir şekilde sınıflandırılması ve konumlandırılması, görsel bilgilerin anlamlı verilere dönüştürülmesine bağlıdır.

Şekil 3. AlexNet kullanarak bir bölge önerisinden özellikler çıkarın.

Nesne Sınıflandırması: Tespit Edilen Nesnelerin Tanımlanması

Üçüncü adım, bu bölgelerdeki nesneleri sınıflandırmaktır. Bu, teklifler içinde bulunan her nesnenin kategorisinin veya sınıfının belirlenmesi anlamına gelir. Çıkarılan özellik vektörleri daha sonra bir makine öğrenimi sınıflandırıcısından geçirilir.

R-CNN durumunda, Destek Vektör Makineleri (SVM'ler) bu amaç için yaygın olarak kullanılır. Her bir SVM, özellik vektörlerini analiz ederek ve belirli bir bölgenin o sınıfın bir örneğini içerip içermediğine karar vererek belirli bir nesne sınıfını tanımak üzere eğitilir. Esasen, her nesne kategorisi için, söz konusu nesne için her bölge önerisini kontrol eden özel bir sınıflandırıcı vardır.

Eğitim sırasında sınıflandırıcılara pozitif ve negatif örnekler içeren etiketli veriler verilir:

  • Pozitif örnekler: Hedef nesneyi içeren bölgeler.
  • Negatif örnekler: Nesnenin bulunmadığı bölgeler.

Sınıflandırıcılar bu örnekler arasında ayrım yapmayı öğrenir. Sınırlayıcı kutu regresyonu, başlangıçta önerilen sınırlayıcı kutuları gerçek nesne sınırlarıyla daha iyi eşleşecek şekilde ayarlayarak tespit edilen nesnelerin konumunu ve boyutunu daha da iyileştirir. R-CNN modeli, sınıflandırma ve sınırlayıcı kutu regresyonunu birleştirerek nesneleri tanımlayabilir ve doğru bir şekilde konumlandırabilir.

Şekil 4. Sınırlayıcı kutu regresyonuna bir örnek.

Hepsini Bir Araya Getirmek: NMS ile Tespitleri İyileştirme

Sınıflandırma ve sınırlayıcı kutu regresyonu adımlarından sonra, model genellikle aynı nesne için birden fazla örtüşen sınırlayıcı kutu üretir. Bu tespitleri iyileştirmek ve en doğru kutuları tutmak için Maksimum Olmayan Bastırma (NMS) uygulanır. Model, NMS uygulayarak gereksiz ve örtüşen kutuları ortadan kaldırır ve yalnızca en emin tespitleri tutar. 

NMS, tüm sınırlayıcı kutuların güven puanlarını (tespit edilen bir nesnenin gerçekte ne kadar olası olduğunu gösterir) değerlendirerek ve daha yüksek puanlı kutularla önemli ölçüde örtüşenleri bastırarak çalışır. 

Şekil 5. Maksimum olmayan bastırmaya bir örnek.

İşte NMS'deki adımların bir dökümü:

  • Sıralama: Sınırlayıcı kutular azalan sırada güven puanlarına göre sıralanır.
  • Seçim: En yüksek puana sahip kutu seçilir ve onunla önemli ölçüde örtüşen (Birlik üzerinde Kesişme, IoU'ya göre) tüm kutular kaldırılır.
  • Yineleme: Bu süreç bir sonraki en yüksek puanlı kutu için tekrarlanır ve tüm kutular işlenene kadar devam eder.

Tüm bunları bir araya getirmek gerekirse, R-CNN modeli bölge önerileri oluşturarak, CNN ile özellikleri çıkararak, nesneleri sınıflandırarak ve sınırlayıcı kutu regresyonu ile konumlarını iyileştirerek ve yalnızca en doğru tespitleri koruyarak Maksimum Olmayan Bastırma (NMS) kullanarak nesneleri tespit eder.

R-CNN Nesne Algılamada Bir Kilometre Taşıdır

R-CNN, doğruluk ve performansı büyük ölçüde artıran yeni bir yaklaşım getirdiği için nesne algılama tarihinde bir dönüm noktası modelidir. R-CNN'den önce nesne algılama modelleri hız ve hassasiyeti dengelemekte zorlanıyordu. R-CNN'nin bölge önerileri oluşturma ve özellik çıkarma için CNN'leri kullanma yöntemi, görüntülerdeki nesnelerin hassas bir şekilde konumlandırılmasına ve tanımlanmasına olanak tanır. 

R-CNN, verimliliği ve doğruluğu daha da artıran Fast R-CNN, Faster R-CNN ve Mask R-CNN gibi modellerin önünü açtı. R-CNN, derin öğrenmeyi bölge tabanlı analizle birleştirerek bu alanda yeni bir standart belirledi ve çeşitli gerçek dünya uygulamaları için olanaklar sundu.

R-CNN ile Tıbbi Görüntülemede Dönüşüm

R-CNN'nin ilginç bir kullanım alanı da tıbbi görüntülemedir. R-CNN modelleri, MRI ve CT taramaları gibi tıbbi taramalarda beyin tümörleri gibi farklı tümör türlerini tespit etmek ve sınıflandırmak için kullanılmıştır. Tıbbi görüntülemede R-CNN modelinin kullanılması teşhis doğruluğunu artırır ve radyologların maligniteleri erken bir aşamada tanımlamasına yardımcı olur. R-CNN'nin küçük ve erken evre tümörleri bile tespit etme yeteneği, kanser gibi hastalıkların tedavisinde ve prognozunda önemli bir fark yaratabilir.

Şekil 6. RCNN kullanarak beyin tümörlerinin tespiti.

R-CNN modeli, tümör tespitine ek olarak diğer tıbbi görüntüleme görevlerine de uygulanabilir. Örneğin, kırıkları belirleyebilir, göz taramalarında retina hastalıklarını tespit edebilir ve pnömoni ve COVID-19 gibi durumlar için akciğer görüntülerini analiz edebilir. Tıbbi sorun ne olursa olsun, erken teşhis daha iyi hasta sonuçlarına yol açabilir. Sağlık hizmeti sağlayıcıları, R-CNN'nin anomalileri tanımlama ve lokalize etme konusundaki hassasiyetini uygulayarak tıbbi teşhislerin güvenilirliğini ve hızını artırabilir. Teşhis sürecini kolaylaştıran nesne tespiti sayesinde hastalar zamanında ve doğru tedavi planlarından faydalanabilir.

R-CNN'nin Sınırlamaları ve Halefleri

Etkileyici olmakla birlikte, R-CNN'nin yüksek hesaplama karmaşıklığı ve yavaş çıkarım süreleri gibi bazı dezavantajları vardır. Bu dezavantajlar R-CNN modelini gerçek zamanlı uygulamalar için uygunsuz hale getirmektedir. Bölge önerilerini ve sınıflandırmaları farklı adımlara ayırmak, daha az verimli performansa yol açabilir.

Yıllar içinde, bu endişeleri gideren çeşitli nesne algılama modelleri ortaya çıkmıştır. Hızlı R-CNN, bölge önerilerini ve CNN özellik çıkarımını tek bir adımda birleştirerek süreci hızlandırır. Faster R-CNN, öneri oluşturmayı kolaylaştırmak için bir Bölge Önerisi Ağı (RPN) sunarken, Mask R-CNN daha ayrıntılı tespitler için piksel düzeyinde segmentasyon ekler.

Şekil 7. R-CNN, hızlı R-CNN, daha hızlı R-CNN ve maske R-CNN'nin karşılaştırılması.

Faster R-CNN ile aynı zamanlarda, YOLO (You Only Look Once) serisi gerçek zamanlı nesne algılamayı geliştirmeye başladı. YOLO modelleri, ağ üzerinden tek bir geçişte sınırlayıcı kutuları ve sınıf olasılıklarını tahmin eder. Örneğin Ultralytics YOLOv8 birçok bilgisayarla görme görevi için gelişmiş özelliklerle gelişmiş doğruluk ve hız sunar.

Önemli Çıkarımlar

RCNN, derin öğrenmenin nesne algılamayı nasıl değiştirebileceğini göstererek bilgisayarla görmede oyunu değiştirdi. Başarısı bu alanda pek çok yeni fikre ilham verdi. RCNN'nin kusurlarını gidermek için Faster R-CNN ve YOLO gibi daha yeni modeller ortaya çıkmış olsa da, RCNN'nin katkısı hatırlanması gereken büyük bir kilometre taşıdır.

Araştırmalar devam ettikçe, daha da iyi ve daha hızlı nesne algılama modelleri göreceğiz. Bu gelişmeler yalnızca makinelerin dünyayı anlama biçimini iyileştirmekle kalmayacak, aynı zamanda birçok sektörde ilerlemeye yol açacaktır. Nesne algılamanın geleceği heyecan verici görünüyor!

Yapay zeka hakkında keşfetmeye devam etmek ister misiniz? Ultralytics topluluğunun bir parçası olun! En son yapay zeka yeniliklerimizi görmek için GitHub depomuzu keşfedin. Tarım ve üretim gibi çeşitli sektörleri kapsayan yapay zeka çözümlerimize göz atın. Öğrenmek ve ilerlemek için bize katılın!

Facebook logosuTwitter logosuLinkedIn logosuKopya-bağlantı sembolü

Bu kategoride daha fazlasını okuyun

Yapay zekanın gelecekteki
adresini birlikte inşa edelim!

Makine öğreniminin geleceği ile yolculuğunuza başlayın