AI-For-Beginners/translations/tr/lessons/4-ComputerVision/11-ObjectDetection/README.md

12 KiB
Raw Blame History

Nesne Tespiti

Şimdiye kadar ele aldığımız görüntü sınıflandırma modelleri, bir görüntü alır ve MNIST probleminde 'sayı' sınıfı gibi kategorik bir sonuç üretir. Ancak birçok durumda, bir resmin nesneleri tasvir ettiğini bilmekle yetinmek istemiyoruz - bu nesnelerin kesin konumunu belirleyebilme yeteneğine sahip olmak istiyoruz. İşte bu, nesne tespitinin tam anlamıdır.

Ön-derse Quiz

Nesne Tespiti

YOLO v2 web sitesi kaynaklı görüntü

Nesne Tespiti için Naif Bir Yaklaşım

Bir resimde bir kediyi bulmak istediğimizi varsayalım, nesne tespiti için çok naif bir yaklaşım aşağıdaki gibi olacaktır:

  1. Resmi bir dizi kareye böl
  2. Her bir kare üzerinde görüntü sınıflandırması yap.
  3. Yeterince yüksek aktivasyon sonucu veren kareler, söz konusu nesneyi içeriyor olarak kabul edilebilir.

Naif Nesne Tespiti

Alıştırma Defteri kaynağından görüntü

Ancak bu yaklaşım, algoritmanın nesnenin sınırlayıcı kutusunu oldukça belirsiz bir şekilde yerleştirmesine olanak tanıdığı için ideal değildir. Daha kesin bir konum için, sınırlayıcı kutuların koordinatlarını tahmin etmek üzere bir tür regresyon uygulamamız gerekiyor - ve bunun için belirli veri setlerine ihtiyacımız var.

Nesne Tespiti için Regresyon

Bu blog yazısı, şekil tespiti için harika bir giriş sunmaktadır.

Nesne Tespiti için Veri Setleri

Bu görev için aşağıdaki veri setleriyle karşılaşabilirsiniz:

  • PASCAL VOC - 20 sınıf
  • COCO - Bağlamda Ortak Nesneler. 80 sınıf, sınırlayıcı kutular ve segmentasyon maskeleri

COCO

Nesne Tespiti Metrikleri

Kesim Üzerine Birlik

Görüntü sınıflandırması 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 çıkarılan sınırlayıcı kutu konumunun doğruluğunu ölçmemiz gerekiyor. İkincisi için, iki kutunun (veya iki rastgele alanın) ne kadar örtüştüğünü ölçen Kesim Üzerine Birlik (IoU) adı verilen bir ölçüm kullanıyoruz.

IoU

Bu mükemmel IoU blog yazısının 2. Şeması

Fikir basit - iki şekil arasındaki kesişim alanını, bu şekillerin birleşim alanına bölüyoruz. İki özdeş alan için, IoU 1 olurken, tamamen ayrı alanlar için 0 olur. Aksi takdirde, 0 ile 1 arasında değişecektir. Genellikle, IoU'nun belirli bir değerin üzerinde olduğu sınırlayıcı kutuları dikkate alıyoruz.

Ortalama Doğruluk

Verilen bir nesne sınıfı C'nin ne kadar iyi tanındığını ölçmek istiyoruz. Bunu ölçmek için, Ortalama Doğruluk metriklerini kullanıyoruz, bu da aşağıdaki gibi hesaplanır:

  1. Doğruluk eşiğine (0 ile 1 arasında) bağlı olarak doğruluk değerlerini gösteren Doğruluk-Hatırlama eğrisini dikkate al.
  2. Eşeğe bağlı olarak, görüntüde daha fazla veya daha az nesne tespit edeceğiz ve farklı doğruluk ve hatırlama değerleri elde edeceğiz.
  3. Eğri şu şekilde görünecek:

NeuroWorkshop kaynağından görüntü

Verilen bir sınıf C için ortalama Doğruluk, bu eğrinin altındaki alandır. Daha kesin olarak, Hatırlama ekseni genellikle 10 parçaya bölünür ve Doğruluk tüm bu noktalar üzerinde ortalanır:


AP = {1\over11}\sum_{i=0}^{10}\mbox{Doğruluk}(\mbox{Hatırlama}={i\over10})

AP ve IoU

Sadece IoU'nun belirli bir değerin üzerinde olduğu tespitleri dikkate alacağız. Örneğin, PASCAL VOC veri setinde genellikle \mbox{IoU Eşiği} = 0.5 varsayılırken, COCO'da AP farklı \mbox{IoU Eşiği} değerleri için ölçülmektedir.

Ortalama Ortalama Doğruluk - mAP

Nesne Tespiti için ana metrik Ortalama Ortalama Doğruluk veya mAP olarak adlandırılır. Bu, Tüm nesne sınıfları üzerinden ortalama alınmış Ortalama Doğruluk değeridir ve bazen de \mbox{IoU Eşiği} üzerinden ortalama alınır. mAP hesaplama süreci daha ayrıntılı olarak bu blog yazısında ve burada kod örnekleri ileıklanmaktadır.

Farklı Nesne Tespiti Yaklaşımları

Nesne tespiti algoritmalarının iki geniş sınıfı vardır:

  • Bölge Teklif Ağları (R-CNN, Fast R-CNN, Faster R-CNN). Ana fikir, İlgi Alanları (ROI) üretmek ve bunlar üzerinde maksimum aktivasyon aramak için CNN çalıştırmaktır. Bu, naif yaklaşıma biraz benziyor, tek fark, ROI'lerin daha akıllı bir şekilde üretilmesidir. Bu tür yöntemlerin en büyük dezavantajlarından biri, görüntü üzerinde CNN sınıflandırıcısının birçok geçişini gerektirdiği için yavaş olmalarıdır.
  • 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 tasarlıyoruz.

R-CNN: Bölge Tabanlı CNN

R-CNN, ROI bölgelerinin hiyerarşik yapısını oluşturmak için Seçici Arama kullanır, bu bölgeler daha sonra CNN özellik çıkarıcıları ve SVM sınıflandırıcıları üzerinden geçirilerek nesne sınıfı belirlenir ve sınırlayıcı kutu koordinatlarını belirlemek için doğrusal regresyon uygulanır. Resmi Makale

RCNN

van de Sande et al. ICCV11 kaynağından görüntü

RCNN-1

Bu blog kaynağından görüntü

F-RCNN - Hızlı R-CNN

Bu yaklaşım R-CNN ile benzerdir, ancak bölgeler, konvolüsyon katmanları uygulandıktan sonra tanımlanır.

FRCNN

Resim Resmi Makale, arXiv, 2015

Daha Hızlı R-CNN

Bu yaklaşımın ana fikri, ROI'leri tahmin etmek için bir sinir ağı kullanmaktır - bu, Bölge Teklif Ağı olarak adlandırılır. Makale, 2016

Daha HızlıRCNN

Resim resmi makaleden

R-FCN: Bölge Tabanlı Tam Konvolüsyonel Ağ

Bu algoritma, Daha Hızlı R-CNN'den bile daha hızlıdır. Ana fikir aşağıdaki gibidir:

  1. Özellikler ResNet-101 kullanılarak çıkarılır.
  2. Özellikler Pozisyon-Duyarlı Skor Haritası tarafından işlenir. C sınıflarındaki her nesne k\times k bölgeye ayrılır ve nesnelerin parçalarını tahmin etmek için eğitim yapılır.
  3. 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 oy alan nesne sınıfı seçilir.

r-fcn görüntüsü

Resim resmi makaleden

YOLO - Bir Kez Bakarsınız

YOLO, gerçek zamanlı bir tek geçiş algoritmasıdır. Ana fikir aşağıdaki gibidir:

  • Görüntü S\times S bölgelere bölünür.
  • Her bölge için, CNN n olası nesneyi, sınırlayıcı kutu koordinatlarını ve güven = olasılık * IoU'yu tahmin eder.

YOLO

Resmi makale kaynağından görüntü

Diğer Algoritmalar

✍️ Alıştırmalar: Nesne Tespiti

Aşağıdaki not defterinde öğreniminize devam edin:

ObjectDetection.ipynb

Sonuç

Bu derste, nesne tespitinin gerçekleştirilebileceği çeşitli yolları hızlı bir şekilde keşfettiniz!

🚀 Zorluk

Bu makaleleri ve not defterlerini okuyun, YOLO hakkında bilgi edinin ve kendiniz deneyin.

Ders sonrası sınav

Gözden Geçirme & Kendi Kendine Çalışma

Görev: Nesne Tespiti

ıklama:
Bu belge, makine tabanlı yapay zeka çeviri hizmetleri kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hatalar veya yanlışlıklar içerebileceğini lütfen unutmayın. Orijinal belge, kendi dilinde otoriter kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilmektedir. Bu çevirinin kullanılması sonucunda ortaya çıkan yanlış anlamalar veya yanlış yorumlamalardan sorumlu değiliz.