Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Görsel Yapay Zekâ

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

R-CNN'in seçici arama ve CNN özellik çıkarımından SVM sınıflandırması ve NMS'ye kadar nasıl çalıştığını ve Fast R-CNN ile YOLO'nun önünü nasıl açtığını öğren.

Abirami VinaAbirami Vina7 dakikalık okuma
R-CNN bölge tabanlı nesne algılamayı nasıl gerçekleştiriyor?

Nesne tespiti, otonom sürüş, gözetim ve tıbbi görüntüleme gibi uygulamalar için görüntülerdeki veya videolardaki nesneleri tanıyıp konumlarını belirleyen bir bilgisayarlı görü görevidir. Viola-Jones tespit edicisi ve Destek Vektör Makineleri (SVM) ile kullanılan Yönlü Gradyan Histogramı (HOG) gibi eski nesne tespit yöntemleri, elle tasarlanmış özelliklere ve kayan pencerelere dayanıyordu. Bu yöntemler, çeşitli şekil ve boyutlarda birden fazla nesne içeren karmaşık sahnelerde nesneleri doğru biçimde tespit etmekte çoğu zaman zorlanıyordu.

Bölge Tabanlı Evrişimli Sinir Ağları (R-CNN), nesne tespitine yaklaşımımızı değiştirdi. Bilgisayarlı görü tarihindeki önemli bir dönüm noktasıdır. Ultralytics YOLOv8 gibi modellerin nasıl ortaya çıktığını anlamak için önce R-CNN gibi modelleri anlamamız gerekir.

Ross Girshick ve ekibi tarafından oluşturulan R-CNN model mimarisi, bölge önerileri üretir, ö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 göz korkutucu görünebilir, ancak bu makalenin sonunda R-CNN'in nasıl çalıştığını ve neden bu kadar etkili olduğunu net bir şekilde anlayacaksın.

R-CNN nasıl çalışır?#

R-CNN modelinin nesne algılama süreci üç temel adımdan oluşur: bölge önerileri oluşturma, özellikleri çıkarma ve nesneleri sınırlayıcı kutularını iyileştirerek sınıflandırma. Her adımı birlikte inceleyelim.

R-CNN'in nasıl çalıştığını gösteren diyagram

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

Bölge önerileri: R-CNN'in temel taşı#

İ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 olası alanlardır. Selective Search gibi yöntemler görüntünün renk, doku ve şekil gibi çeşitli özelliklerini inceler ve görüntüyü farklı parçalara ayırır. Selective Search, 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 parçaları birleştirir. Bu işlem yaklaşık 2.000 bölge önerisi oluşturulana kadar devam eder.

Seçici aramanın nasıl çalıştığını gösteren diyagram

Şekil 2. Selective Search nasıl çalışır.

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

Görüntü özelliklerini çıkarma: Ayrıntıları yakalama#

R-CNN modelinin nesne algılama sürecindeki sonraki adım, bölge önerilerinden özellikler çıkarmaktır. Her bölge önerisi, CNN'in beklediği sabit 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. Geometrik dönüşümden önce, özelliklerin daha iyi çıkarılması için çevre hakkında daha fazla bilgi sağlamak amacıyla her bölge önerisinin boyutu, bölgenin çevresine 16 piksel ek bağlam içerecek şekilde biraz genişletilir.

Yeniden boyutlandırılan bölge önerileri, genellikle ImageNet gibi büyük bir veri kümesi üzerinde önceden eğitilmiş AlexNet gibi bir CNN'e aktarılır. CNN, her bölgeyi işleyerek kenarlar, dokular ve örüntüler gibi önemli ayrıntıları yakalayan yüksek boyutlu özellik vektörleri çıkarır. Bu özellik vektörleri, bölgelerdeki temel bilgileri sıkıştırır. Ham görüntü verilerini, modelin daha ileri analizlerde kullanabileceği bir biçime dönüştürür. Sonraki aşamalarda nesneleri doğru sınıflandırmak ve konumlandırmak, görsel bilgilerin anlamlı verilere dönüştürülmesine bağlıdır.

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

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

Nesne sınıflandırma: Algılanan nesneleri belirleme#

Üçüncü adım, bu bölgelerdeki nesneleri sınıflandırmaktır. Bu, önerilerde bulunan her nesnenin kategorisini veya sınıfını belirlemek anlamına gelir. Ardından çıkarılan özellik vektörleri bir makine öğrenimi sınıflandırıcısından geçirilir.

R-CNN'de bu amaç için genellikle Destek Vektör Makineleri (SVMs) kullanılır. Her SVM, özellik vektörlerini analiz edip belirli bir bölgenin o sınıfa ait bir örnek içerip içermediğine karar vererek belirli bir nesne sınıfını tanımak üzere eğitilir. Başka bir deyişle, her nesne kategorisi için her bölge önerisini o nesne açısından denetleyen ö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 örnekleri birbirinden ayırmayı öğ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 ile sınırlayıcı kutu regresyonunu birleştirerek nesneleri belirleyip doğru şekilde konumlandırabilir.

Sınırlayıcı kutu regresyonuna örnek

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

Hepsini 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, aynı nesne için çoğu zaman birbiriyle örtüşen birden fazla 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 yinelenen ve örtüşen kutuları eler ve yalnızca güven skoru en yüksek tespitleri tutar.

NMS, tüm sınırlayıcı kutuların güven skorlarını (algılanan bir nesnenin gerçekten mevcut olma olasılığını gösterir) değerlendirerek ve daha yüksek skorlu kutularla önemli ölçüde örtüşenleri bastırarak çalışır.

Maksimum olmayan bastırmaya örnek

Şekil 5. Maksimum olmayan bastırmaya örnek. (kaynak: towardsdatascience.com)

NMS adımlarının özeti şöyle:

  • Sıralama: Sınırlayıcı kutular güven skorlarına göre azalan sırayla sıralanır.
  • Seçim: En yüksek skora sahip kutu seçilir ve bu kutuyla önemli ölçüde örtüşen tüm kutular Birleşim Üzerinde Kesişim (IoU) ölçütüne göre kaldırılır.
  • Yineleme: Bu işlem, sıradaki en yüksek skorlu kutu için tekrarlanır ve tüm kutular işlenene kadar devam eder.

Özetle R-CNN; bölge önerileri üreterek, bir CNN ile özellikleri çıkararak, nesneleri sınıflandırıp sınırlayıcı kutu regresyonuyla konumlarını iyileştirerek ve yalnızca en doğru tespitleri tutmak için NMS kullanarak nesneleri tespit eder.

R-CNN, nesne algılamada bir dönüm noktasıdır#

R-CNN, doğruluk ve performansı büyük ölçüde artıran yeni bir yaklaşım sunduğu için nesne tespiti tarihinde önemli bir modeldir. R-CNN'den önce nesne tespit modelleri hız ile hassasiyet arasında denge kurmakta zorlanıyordu. R-CNN'in bölge önerileri oluşturma ve özellik çıkarımı için CNN'leri kullanma yöntemi, görüntülerdeki nesnelerin hassas biçimde konumlandırılmasını ve tanımlanmasını sağlar.

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ı. Derin öğrenmeyi bölge tabanlı analizle birleştiren R-CNN, alanda yeni bir standart belirledi ve gerçek dünyadaki çeşitli uygulamaların önünü açtı.

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

R-CNN'in ilgi çekici kullanım alanlarından biri tıbbi görüntülemedir. R-CNN modelleri, MR ve BT taramaları gibi tıbbi görüntülerde beyin tümörleri dahil 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ı tanı doğruluğunu artırır ve radyologların kötü huylu tümörleri erken evrede belirlemesine yardımcı olur. R-CNN'in küçük ve erken evredeki tümörleri bile tespit edebilmesi, kanser gibi hastalıkların tedavisi ve seyri açısından önemli bir fark yaratabilir.

R-CNN kullanarak beyin tümörlerini algılama

Şekil 6. R-CNN kullanılarak beyin tümörlerinin tespiti.

R-CNN modeli, tümör algılamanın yanı sıra başka tıbbi görüntüleme görevlerinde de kullanılabilir. Örneğin kırıkları belirleyebilir, göz taramalarında retina hastalıklarını algılayabilir ve zatürre ile COVID-19 gibi rahatsızlıklar için akciğer görüntülerini analiz edebilir. Tıbbi sorun ne olursa olsun, erken teşhis hasta sonuçlarının iyileşmesini sağlayabilir. Anormallikleri belirleme ve konumlandırmada R-CNN'in hassasiyetinden yararlanan sağlık hizmeti sağlayıcıları, tıbbi teşhislerin güvenilirliğini ve hızını artırabilir. Nesne algılama, teşhis sürecini kolaylaştırarak hastaların zamanında ve doğru tedavi planlarından yararlanmasını sağlar.

R-CNN'in sınırlamaları ve ardılları#

Etkileyici olsa da R-CNN'in 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 hâle getirir. Bölge önerileriyle sınıflandırmayı ayrı adımlara bölmek, verimliliğin düşmesine yol açabilir.

Yıllar içinde bu sorunları ele alan çeşitli nesne algılama modelleri ortaya çıktı. Fast R-CNN, CNN'i tüm görüntü üzerinde bir kez çalıştırır ve süreci hızlandırmak için her bölge önerisinin özelliklerini ortak özellik haritasından havuzlar. Faster R-CNN, öneri oluşturmayı kolaylaştırmak için Bölge Öneri Ağı (RPN) sunarken Mask R-CNN, daha ayrıntılı algılamalar için piksel düzeyinde bölütleme 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 karşılaştırması.

Faster R-CNN ile yaklaşık aynı dönemde YOLO (Yalnızca Bir Kez Bak) serisi, gerçek zamanlı nesne tespitini 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 bilgisayarlı görü görevi için gelişmiş özelliklerle doğruluğu ve hızı artırırken Ultralytics YOLO26 gibi daha yeni modeller NMS'yi tamamen kaldırarak daha da ileri gider.

Önemli çıkarımlar#

R-CNN, derin öğrenmenin nesne tespitini nasıl dönüştürebileceğini göstererek bilgisayarlı görü alanında bir dönüm noktası oldu. Başarısı alanda birçok yeni fikre ilham verdi. Faster R-CNN ve YOLO gibi daha yeni modeller R-CNN'in kusurlarını gidermiş olsa da R-CNN'in katkısı, hatırlanması gereken çok önemli bir kilometre taşıdır.

Araştırmalar sürdükçe daha iyi ve daha hızlı nesne tespit modelleri göreceğiz. Bu gelişmeler yalnızca makinelerin dünyayı anlama biçimini iyileştirmekle kalmayacak, birçok sektörde ilerleme de sağlayacak.

Yapay zekâyı keşfetmeye devam etmek ister misin? Ultralytics topluluğuna katıl! En yeni yapay zekâ yeniliklerimizi görmek için GitHub depomuzu incele. Tarım ve üretim gibi farklı sektörlere yönelik yapay zekâ çözümlerimize göz at. Öğrenmek ve ilerlemek için bize katıl!

Yazan

Abirami Vina
Abirami Vina

İçerik Üreticisi · Ultralytics

Bilgisayarlı görü mühendisi olarak kariyerine başlayan Abirami Vina, görü AI’sı ve makine öğrenimi alanlarında sağlam bir temel oluşturdu. Ultralytics’te İçerik Üreticisi, Scribe of AI’da ise Kurucu ve Baş Yazar olarak AI odaklı şirketler için nitelikli teknik içerikler hazırlıyor. AI’yı hem anlaşılır hem de ilgi çekici kılma tutkusuyla çalışan Abirami, en yeni teknolojiler ile gerçek dünyadaki etkileri arasında köprü kuruyor.

Yorumlar

Soru sor, sonuçlarını paylaş veya başka birine yardım et.

Çözümleri keşfet

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla