YOLO26 ile tanış: yeni nesil görsel AI.
Ultralytics
Yapay Zeka Görüşü

R-CNN nedir? Kısa bir genel bakış

RCNN ve nesne algılama üzerindeki etkisi hakkında bilgi edin. Temel bileşenlerini, uygulamalarını ve Fast RCNN ve YOLO gibi teknikleri ilerletmedeki rolünü ele alacağız.

ABAbirami Vina
6 min read
R-CNN bölge tabanlı nesne algılamayı nasıl gerçekleştirir

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 bilgisayarlı görü görevidir. Viola-Jones dedektörü ve Destek Vektör Makineleri (SVM) ile Yönlendirilmiş Gradyanların Histogramı (HOG) gibi önceki nesne algılama yöntemleri, el yapımı özelliklere ve kayan pencerelere dayanıyordu. Bu yöntemler, genellikle çeşitli şekil ve boyutlarda birçok nesnenin bulunduğu karmaşık sahnelerdeki nesneleri doğru bir şekilde algılamakta zorlanıyordu.

Bölge tabanlı Evrişimli Sinir Ağları (R-CNN), nesne algılamayı ele alış şeklimizi değiştirdi. Bu, bilgisayarlı görü tarihinde önemli bir dönüm noktasıdır. YOLOv8 gibi modellerin nasıl ortaya çıktığını anlamak için öncelikle R-CNN gibi modelleri anlamamız gerekiyor.

Ross Girshick ve ekibi tarafından oluşturulan R-CNN model mimarisi; bölge önerileri oluşturur, önceden eğitilmiş bir Evrişimli Sinir Ağı (CNN) ile özellikleri çıkarır, nesneleri sınıflandırır ve sınırlayıcı kutuları iyileştirir. Bu başta göz korkutucu görünebilir, ancak bu makalenin sonunda R-CNN'in nasıl çalıştığına ve neden bu kadar etkili olduğuna dair net bir anlayışa sahip olacaksın. Hadi bir göz atalım!

Link to this sectionR-CNN nasıl çalışır?#

R-CNN modelinin nesne algılama süreci üç ana adımdan oluşur: bölge önerileri oluşturma, özellik çıkarma ve nesneleri sınıflandırırken sınırlayıcı kutularını iyileştirme. Her bir adımı inceleyelim.

R-CNN'in çalışma şeması

Şekil 1. R-CNN'in çalışma şekli.

Link to this sectionBölge önerileri: R-CNN'in omurgası#

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

Seçici aramanın çalışma şeması

Şekil 2. Seçici Arama'nın çalışma şekli.

Bu bölge önerileri, bir nesnenin bulunabileceği tüm olası noktaları belirlemeye yardımcı olur. Sonraki adımlarda model, görüntünün tamamı yerine bu belirli alanlara odaklanarak en alakalı kısımları verimli bir şekilde işleyebilir. Bölge önerilerini kullanmak, kapsamlılık ile hesaplama verimliliği arasında bir denge kurar.

Link to this sectionGörüntü özellik çıkarma: Detayları yakalama#

R-CNN modelinin nesne algılama sürecindeki bir sonraki adım, bölge önerilerinden özellikleri çı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 öneriyi verimli bir şekilde işlemesine yardımcı olur. Çarpıtma işleminden önce, her bölge önerisinin boyutu, daha iyi özellik çıkarımı için çevredeki bağlamsal bilgileri sağlamak amacıyla etrafına 16 piksellik ek bir bağlam dahil edilerek 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ş AlexNet gibi bir CNN'e beslenir. CNN, kenarlar, dokular ve desenler gibi önemli detayları yakalayan yüksek boyutlu özellik vektörlerini çıkarmak için her bölgeyi işler. Bu özellik vektörleri, bölgelerden gelen temel bilgileri yoğunlaştırır. Ham görüntü verilerini, modelin daha fazla analiz için kullanabileceği bir formata dönüştürürler. Bir sonraki aşamalarda nesneleri doğru bir şekilde sınıflandırmak ve konumlandırmak, görsel bilgilerin bu anlamlı verilere dönüştürülmesine bağlıdır.

AlexNet kullanarak bölge önerisinden özellik çıkarma

Şekil 3. AlexNet kullanarak bir bölge önerisinden özellik çıkarma.

Link to this sectionNesne sınıflandırma: Algılanan nesneleri tanımlama#

Üçüncü adım, bu bölgeler içindeki nesneleri sınıflandırmaktır. Bu, öneriler içinde bulunan her nesnenin kategorisini veya sınıfını belirlemek 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, bu amaçla genellikle Destek Vektör Makineleri (SVM) kullanılır. Her SVM, özellik vektörlerini analiz ederek ve belirli bir bölgenin o sınıftan bir örnek 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 her bölge önerisini o belirli nesne açısından kontrol eden özel bir sınıflandırıcı bulunur.

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: Nesneyi içermeyen 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 algılanan 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.

BBox regresyonu örneği

Şekil 4. Sınırlayıcı kutu regresyonuna bir örnek. (kaynak: towardsdatascience.com)

Link to this sectionHepsini bir araya getirme: NMS ile algılamaları iyileştirme#

Sınıflandırma ve sınırlayıcı kutu regresyonu adımlarından sonra, model genellikle aynı nesne için birden fazla çakışan sınırlayıcı kutu oluşturur. Bu algılamaları iyileştirmek ve en doğru kutuları tutmak için Maksimum Olmayan Bastırma (NMS) uygulanır. Model, NMS uygulayarak gereksiz ve çakışan kutuları eler ve yalnızca en güvenilir algılamaları tutar.

NMS, tüm sınırlayıcı kutuların güven skorlarını (algılanan bir nesnenin gerçekte ne kadar olasılıkla orada olduğunu belirten) değerlendirerek ve daha yüksek skorlu kutularla önemli ölçüde çakışanları bastırarak çalışır.

NMS örneği

Şekil 5. Maksimum olmayan bastırma örneği. (kaynak: towardsdatascience.com)

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

  • Sıralama: Sınırlayıcı kutular, güven skorlarına göre azalan sırada sıralanır.
  • Seçim: En yüksek skora sahip kutu seçilir ve onunla önemli ölçüde çakışan (Kesişim Üzerinden Birleşim, IoU temelinde) tüm kutular kaldırılır.
  • Yineleme: Bu işlem, bir sonraki en yüksek skorlu kutu için tekrarlanır ve tüm kutular işlenene kadar devam eder.

Her şeyi özetlemek gerekirse; R-CNN modeli, bölge önerileri oluşturarak, CNN ile özellikler çıkararak, nesneleri sınıflandırıp sınırlayıcı kutu regresyonu ile konumlarını iyileştirerek ve yalnızca en doğru algılamaları tutan Maksimum Olmayan Bastırma (NMS) kullanarak nesneleri algılar.

Link to this sectionR-CNN, nesne algılamada bir dönüm noktasıdır#

R-CNN, doğruluğu ve performansı büyük ölçüde artıran yeni bir yaklaşım getirdiği için nesne algılama tarihindeki çığır açan bir modeldir. R-CNN'den önce nesne algılama modelleri, hız ve hassasiyet arasında denge kurmakta zorlanıyordu. R-CNN'in 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 modellere yol açmıştır. Derin öğrenmeyi bölge tabanlı analizle birleştiren R-CNN, bu alanda yeni bir standart belirlemiş ve çeşitli gerçek dünya uygulamaları için olanaklar yaratmıştır.

Link to this sectionTıbbi görüntülemeyi R-CNN ile dönüştürme#

R-CNN'in ilginç bir kullanım durumu tıbbi görüntülemedir. R-CNN modelleri, MR ve BT taramaları gibi tıbbi taramalarda beyin tümörleri gibi farklı tümör türlerini algılamak ve sınıflandırmak için kullanılmıştır. R-CNN modelini tıbbi görüntülemede kullanmak, tanısal doğruluğu artırır ve radyologların kötü huylu oluşumları erken aşamada tanımlamasına yardımcı olur. R-CNN'in küçük ve erken aşamadaki tümörleri bile algılama yeteneği, kanser gibi hastalıkların tedavisinde ve prognozunda önemli bir fark yaratabilir.

R-CNN kullanarak beyin tümörü tespiti

Şekil 6. R-CNN kullanarak beyin tümörlerinin algılanması.

R-CNN modeli, tümör algılamanın yanı sıra diğer tıbbi görüntüleme görevlerine de uygulanabilir. Örneğin; kırıkları tanımlayabilir, göz taramalarında retina hastalıklarını tespit edebilir ve akciğer görüntülerini zatürre ve COVID-19 gibi durumlar için analiz edebilir. Tıbbi sorun ne olursa olsun, erken teşhis daha iyi hasta sonuçlarına yol açabilir. R-CNN'in anomalileri tanımlama ve konumlandırmadaki hassasiyetini uygulayarak, sağlık hizmeti sağlayıcıları tıbbi teşhislerin güvenilirliğini ve hızını artırabilir. Nesne algılamanın tanı sürecini kolaylaştırmasıyla, hastalar zamanında ve doğru tedavi planlarından faydalanabilir.

Link to this sectionR-CNN'in sınırlamaları ve halefleri#

Etkileyici olsa da R-CNN, yüksek hesaplama karmaşıklığı ve yavaş çıkarım süreleri gibi bazı dezavantajlara sahiptir. Bu dezavantajlar, R-CNN modelini gerçek zamanlı uygulamalar için uygunsuz kılar. Bölge önerilerini ve sınıflandırmaları ayrı adımlara ayırmak, daha az verimli bir performansa yol açabilir.

Yıllar geçtikçe, bu endişeleri gideren çeşitli nesne algılama modelleri ortaya çıktı. Fast 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 Öneri Ağı (RPN) sunarken, Mask R-CNN daha detaylı algılamalar için piksel düzeyinde segmentasyon ekler.

R-CNN, Fast R-CNN, Faster R-CNN ve Mask R-CNN karşılaştırması

Şekil 7. R-CNN, Fast R-CNN, Faster R-CNN ve Mask R-CNN modellerinin karşılaştırılması.

Faster R-CNN ile aynı zamanlarda, YOLO (You Only Look Once) serisi gerçek zamanlı nesne algılamayı ilerletmeye 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 bilgisayarlı görü görevi için gelişmiş özelliklerle iyileştirilmiş doğruluk ve hız sunar.

Link to this sectionÖne çıkanlar#

R-CNN, derin öğrenmenin nesne algılamayı nasıl değiştirebileceğini göstererek bilgisayarlı görüde oyunun kurallarını değiştirdi. Başarısı, alandaki birçok yeni fikre ilham verdi. Faster R-CNN ve YOLO gibi daha yeni modeller R-CNN'in kusurlarını gidermek için ortaya çıkmış olsa da, katkısı hatırlanması gereken dev bir dönüm noktasıdır.

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

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

Explore solutions

Real-time AI that works with your team

Robotikte AI

Daha akıllı makineleri Ultralytics YOLO modelleriyle destekle. Robotikteki Vision AI; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Lojistikte Yapay Zeka

Ultralytics YOLO modelleri ile lojistiği kolaylaştır. Görü Yapay Zekası; paket inceleme, ayıklama, araç takibi ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Real-time AI that works with your team

Perakendede AI

Perakendeyi Ultralytics YOLO modelleri ile yeniden hayal et. Görü Yapay Zekası; envanter takibi, raf izleme, sıra yönetimi ve daha akıllı müşteri içgörüleri sağlar.
Daha fazla bilgi edin
Real-time AI that works with your team

Sağlıkta Yapay Zeka

Ultralytics YOLO modelleriyle sağlık çözümleri oluştur. Sağlıkta görüntü tabanlı yapay zeka; daha hızlı tıbbi görüntülemeyi, daha akıllı teşhisleri ve hasta izlemeyi güçlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Üretimde Yapay Zeka

Ultralytics YOLO modelleri ile üretimi optimize et. Görü Yapay Zekası; kalite kontrol, kusur tespiti, KKD uyumu ve montaj hattı otomasyonunu yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your operation

Otomotivde yapay zeka

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görü uygula. Görüntü tabanlı yapay zeka; yol güvenliğini, sürücü yardımını ve araç otomasyonunu daha akıllı yollar için geliştirir.
Daha fazla bilgi edin
Real-time AI tailored to your operation

Tarımda yapay zeka

Ultralytics YOLO modelleriyle akıllı tarıma görüntü tabanlı yapay zeka getir. Daha yüksek ve akıllı verimler için mahsul takibini, hayvancılık izlemeyi ve hassas tarımı güçlendir.
Daha fazla bilgi edin
Real-time AI that works with your team

Robotikte AI

Daha akıllı makineleri Ultralytics YOLO modelleriyle destekle. Robotikteki Vision AI; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Lojistikte Yapay Zeka

Ultralytics YOLO modelleri ile lojistiği kolaylaştır. Görü Yapay Zekası; paket inceleme, ayıklama, araç takibi ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Real-time AI that works with your team

Perakendede AI

Perakendeyi Ultralytics YOLO modelleri ile yeniden hayal et. Görü Yapay Zekası; envanter takibi, raf izleme, sıra yönetimi ve daha akıllı müşteri içgörüleri sağlar.
Daha fazla bilgi edin
Real-time AI that works with your team

Sağlıkta Yapay Zeka

Ultralytics YOLO modelleriyle sağlık çözümleri oluştur. Sağlıkta görüntü tabanlı yapay zeka; daha hızlı tıbbi görüntülemeyi, daha akıllı teşhisleri ve hasta izlemeyi güçlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Üretimde Yapay Zeka

Ultralytics YOLO modelleri ile üretimi optimize et. Görü Yapay Zekası; kalite kontrol, kusur tespiti, KKD uyumu ve montaj hattı otomasyonunu yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your operation

Otomotivde yapay zeka

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görü uygula. Görüntü tabanlı yapay zeka; yol güvenliğini, sürücü yardımını ve araç otomasyonunu daha akıllı yollar için geliştirir.
Daha fazla bilgi edin
Real-time AI tailored to your operation

Tarımda yapay zeka

Ultralytics YOLO modelleriyle akıllı tarıma görüntü tabanlı yapay zeka getir. Daha yüksek ve akıllı verimler için mahsul takibini, hayvancılık izlemeyi ve hassas tarımı güçlendir.
Daha fazla bilgi edin
Real-time AI that works with your team

Robotikte AI

Daha akıllı makineleri Ultralytics YOLO modelleriyle destekle. Robotikteki Vision AI; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Lojistikte Yapay Zeka

Ultralytics YOLO modelleri ile lojistiği kolaylaştır. Görü Yapay Zekası; paket inceleme, ayıklama, araç takibi ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Real-time AI that works with your team

Perakendede AI

Perakendeyi Ultralytics YOLO modelleri ile yeniden hayal et. Görü Yapay Zekası; envanter takibi, raf izleme, sıra yönetimi ve daha akıllı müşteri içgörüleri sağlar.
Daha fazla bilgi edin
Real-time AI that works with your team

Sağlıkta Yapay Zeka

Ultralytics YOLO modelleriyle sağlık çözümleri oluştur. Sağlıkta görüntü tabanlı yapay zeka; daha hızlı tıbbi görüntülemeyi, daha akıllı teşhisleri ve hasta izlemeyi güçlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Üretimde Yapay Zeka

Ultralytics YOLO modelleri ile üretimi optimize et. Görü Yapay Zekası; kalite kontrol, kusur tespiti, KKD uyumu ve montaj hattı otomasyonunu yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your operation

Otomotivde yapay zeka

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görü uygula. Görüntü tabanlı yapay zeka; yol güvenliğini, sürücü yardımını ve araç otomasyonunu daha akıllı yollar için geliştirir.
Daha fazla bilgi edin
Real-time AI tailored to your operation

Tarımda yapay zeka

Ultralytics YOLO modelleriyle akıllı tarıma görüntü tabanlı yapay zeka getir. Daha yüksek ve akıllı verimler için mahsul takibini, hayvancılık izlemeyi ve hassas tarımı güçlendir.
Daha fazla bilgi edin

Yapay zekanın geleceğini birlikte inşa edelim!

Yolculuğuna makine öğreniminin geleceğiyle başla