Bugüne kadar ele aldığımız görüntü sınıflandırma modelleri, bir görüntüyü alıp MNIST problemindeki 'sayı' sınıfı gibi kategorik bir sonuç üretiyordu. Ancak, birçok durumda bir resmin nesneleri tasvir ettiğini bilmek yeterli değildir - nesnelerin tam konumlarını belirlemek isteriz. İşte nesne tespiti tam olarak bu noktada devreye girer.
Görsel YOLO v2 web sitesi üzerinden alınmıştır.
Bir resimde bir kediyi bulmak istediğimizi varsayalım, nesne tespiti için çok basit bir yaklaşım şu şekilde olabilir:
- Resmi bir dizi kareye ayırın.
- Her bir karede görüntü sınıflandırma işlemi gerçekleştirin.
- Yeterince yüksek aktivasyon veren kareler, ilgili nesneyi içeriyor olarak kabul edilebilir.
Görsel Egzersiz Defteri üzerinden alınmıştır.
Ancak, bu yaklaşım ideal olmaktan uzaktır çünkü algoritmanın nesnenin sınır kutusunu çok hassas bir şekilde belirlemesine izin vermez. Daha hassas bir konum belirlemek için, sınır kutularının koordinatlarını tahmin etmek üzere bir tür regresyon çalıştırmamız gerekir - ve bunun için özel veri setlerine ihtiyaç duyarız.
Bu blog yazısı, şekilleri tespit etme konusunda harika bir giriş sunuyor.
Bu görev için aşağıdaki veri setleriyle karşılaşabilirsiniz:
- PASCAL VOC - 20 sınıf
- COCO - Bağlamdaki Yaygın Nesneler. 80 sınıf, sınır kutuları ve segmentasyon maskeleri
Görüntü sınıflandırma için algoritmanın ne kadar iyi performans gösterdiğini ölçmek kolaydır, ancak nesne tespiti için hem sınıfın doğruluğunu hem de tahmin edilen sınır kutusu konumunun hassasiyetini ölçmemiz gerekir. İkincisi için, Kesişim Bölü Birleşim (IoU) adı verilen bir ölçüm kullanırız, bu iki kutunun (veya iki rastgele alanın) ne kadar iyi örtüştüğünü ölçer.
Bu harika IoU blog yazısından alınan Şekil 2.
Fikir basittir - iki şeklin kesişim alanını birleşim alanına böleriz. İki özdeş alan için IoU 1 olurken, tamamen ayrık alanlar için 0 olur. Diğer durumlarda 0 ile 1 arasında değişir. Genellikle IoU belirli bir değerin üzerinde olan sınır kutularını dikkate alırız.
Bir nesne sınıfı
- Hassasiyet-Tekrar Çağırma eğrisi, algılama eşik değerine (0'dan 1'e kadar) bağlı olarak doğruluğu gösterir.
- Eşik değerine bağlı olarak, görüntüde daha fazla veya daha az nesne algılanır ve farklı hassasiyet ve tekrar çağırma değerleri elde edilir.
- Eğri şu şekilde görünür:
Görsel NeuroWorkshop üzerinden alınmıştır.
Belirli bir sınıf
Sadece IoU belirli bir değerin üzerinde olan algılamaları dikkate alacağız. Örneğin, PASCAL VOC veri setinde genellikle
Görsel NeuroWorkshop üzerinden alınmıştır.
Nesne Tespiti için ana metrik Ortalama Ortalama Hassasiyet veya mAP olarak adlandırılır. Bu, tüm nesne sınıfları ve bazen de
Nesne tespiti algoritmaları iki geniş sınıfa ayrılır:
- Bölge Öneri Ağları (R-CNN, Fast R-CNN, Faster R-CNN). Ana fikir, İlgi Alanları (ROI) oluşturmak ve maksimum aktivasyonu aramak için CNN çalıştırmaktır. Bu, naif yaklaşıma biraz benzer, ancak ROI'ler daha akıllıca oluşturulur. Bu tür yöntemlerin en büyük dezavantajlarından biri, yavaş olmalarıdır çünkü görüntü üzerinde CNN sınıflandırıcısının birçok geçişine ihtiyaç duyarız.
- Tek geçiş (YOLO, SSD, RetinaNet) yöntemleri. Bu mimarilerde, ağ hem sınıfları hem de ROI'leri tek bir geçişte tahmin edecek şekilde tasarlanır.
R-CNN, ROI bölgelerinin hiyerarşik yapısını oluşturmak için Selective Search kullanır. Bu bölgeler daha sonra CNN özellik çıkarıcıları ve SVM sınıflandırıcıları aracılığıyla nesne sınıfını belirlemek ve sınır kutusu koordinatlarını belirlemek için doğrusal regresyon ile işlenir. Resmi Makale
Görsel van de Sande ve ark. ICCV’11'dan alınmıştır.
Görseller bu blogdan alınmıştır.
Bu yaklaşım R-CNN'e benzer, ancak bölgeler konvolüsyon katmanları uygulandıktan sonra tanımlanır.
Görsel Resmi Makale, arXiv, 2015 üzerinden alınmıştır.
Bu yaklaşımın ana fikri, ROI'leri tahmin etmek için sinir ağı kullanmaktır - Bölge Öneri Ağı olarak adlandırılır. Makale, 2016
Görsel Resmi Makale üzerinden alınmıştır.
Bu algoritma, Daha Hızlı R-CNN'den bile daha hızlıdır. Ana fikir şu şekildedir:
- Özellikler ResNet-101 kullanılarak çıkarılır.
- Özellikler Pozisyon-Duyarlı Skor Haritası tarafından işlenir.
$C$ sınıflarından her bir nesne$k\times k$ bölgelere ayrılır ve nesne parçalarını tahmin etmek için eğitim yapılır. -
$k\times k$ bölgelerden her bir parça için tüm ağlar nesne sınıfları için oy kullanır ve maksimum oyu alan nesne sınıfı seçilir.
Görsel Resmi Makale üzerinden alınmıştır.
YOLO, gerçek zamanlı tek geçişli bir algoritmadır. Ana fikir şu şekildedir:
- Görüntü
$S\times S$ bölgelere ayrılır. - Her bölge için CNN,
$n$ olası nesneleri, sınır kutusu koordinatlarını ve güven = olasılık * IoU tahmin eder.
Görsel Resmi Makale üzerinden alınmıştır.
- RetinaNet: Resmi Makale
- SSD (Tek Atış Dedektörü): Resmi Makale
Öğreniminize aşağıdaki defterde devam edin:
Bu derste, nesne tespitinin çeşitli yollarını hızlı bir şekilde gözden geçirdiniz!
Bu makaleleri ve defterleri YOLO hakkında okuyun ve kendiniz deneyin:
- YOLO'yu açıklayan iyi bir blog yazısı
- Resmi site
- Yolo: Keras uygulaması, adım adım defter
- Yolo v2: Keras uygulaması, adım adım defter
- Nesne Tespiti - Nikhil Sardana
- Nesne tespiti algoritmalarının iyi bir karşılaştırması
- Nesne Tespiti için Derin Öğrenme Algoritmalarının İncelemesi
- Temel Nesne Tespiti Algoritmalarına Adım Adım Giriş
- Python'da Nesne Tespiti için Daha Hızlı R-CNN Uygulaması











