top of page
  • Facebook
  • Twitter
  • Instagram
  • YouTube

YOLO

ana resim
YOLO Nedir?

    YOLO (You Only Look Once) gerçek zamanlı nesne takibi için kullanılan popüler bir algoritmadır. Bu algoritma, görüntülerdeki farklı nesneleri tanımlamak ve ayırt etmek için konvolüsyonel sinir ağlarını (CNN) kullanır. YOLO, hayvanların görme merkezinden esinlenerek geliştirilen CNN yapısını kullanarak nesne tespiti yapar.

YOLO Nasıl Çalışır?
image7
  1. Görüntüyü Bölme: YOLO, görüntüyü belirli sayıda hücreden oluşan bir ızgaraya böler. Her hücre, görüntüdeki belirli bir bölgeyi temsil eder.

  2. Her Hücreyi Analiz Etme: Her hücre, içinde bir nesne olup olmadığını tespit etmeye çalışır. Eğer hücrede bir nesne varsa, o nesnenin konumu, boyutu ve sınıfı (örneğin araba, insan gibi) tahmin edilir.

  3. Tahminlerin Birleştirilmesi: Tüm hücrelerden gelen tahminler birleştirilir ve sonuç olarak, görüntüdeki nesnelerin konumları ve hangi sınıfa ait oldukları belirlenir.

  4. Sonuçları Görüntüleme: Son olarak, tespit edilen nesneler görüntü üzerinde çerçevelerle işaretlenir, böylece hangi nesnelerin nerede olduğu gösterilir.

YOLO’nun Avantajları
image6
  • Hızlı ve Gerçek Zamanlı: YOLO, tek bir ileri besleme işlemiyle tüm görüntüdeki nesneleri tespit eder; bu da onu gerçek zamanlı uygulamalar için ideal hale getirir.

  • Bütünsel Yaklaşım: YOLO, bir görüntüyü tek bir işlemde analiz ederek nesne tespiti yapar. Bu sayede daha tutarlı ve bütüncül sonuçlar elde edilir.

  • Yüksek Doğruluk: YOLO, konvolüsyonel sinir ağlarının gücünü kullanarak yüksek doğrulukla nesne tespiti yapabilir.

  • Genel Amaçlı: YOLO, çeşitli nesne tespiti görevlerinde kullanılabilir ve farklı nesneleri aynı anda tespit edebilir.

  • Hesaplama Verimliliği: YOLO, diğer nesne tespiti algoritmalarına kıyasla daha az hesaplama gücü gerektirir; bu da onu mobil ve gömülü cihazlar için uygun kılar.

Uygulama Alanları ve Gerçek Hayatta Kullanım
  1. Güvenlik ve Gözetim:

    • YOLO, güvenlik kameralarıyla entegre edilerek izinsiz giriş, şüpheli davranışlar ve tehlikeli nesneleri tespit etmek için dünya genelinde kullanılmaktadır. Alışveriş merkezleri, havaalanları ve kamu alanlarında yaygın olarak uygulanır.

  2. Otonom Araçlar:

    • Otonom sürüş teknolojilerinde YOLO, yayaları, araçları, trafik ışıklarını ve işaretlerini tespit etmek için kullanılır. Tesla gibi büyük otomotiv firmalarının otonom sistemlerinde YOLO tarzı nesne algılama modelleri kullanılıyor.

  3. Drone Teknolojisi:

    • Tarımda ve askeri operasyonlarda kullanılan dronlar, YOLO'yu nesne ve insan algılamada aktif olarak kullanıyor. Özellikle, zararlı bitkilerin tespiti ve haritalama işlemlerinde kullanılır.

  4. Medikal Görüntüleme:

    • Tıbbi görüntülerde anormalliklerin, tümörlerin ve lezyonların tespit edilmesinde YOLO algoritmaları kullanılmaktadır. Hastaneler, teşhis süreçlerini hızlandırmak için bu teknolojiden faydalanıyor.

  5. E-ticaret ve Perakende:

    • Mağazalardaki güvenlik kameraları aracılığıyla müşteri davranışlarını analiz etmek, raf düzenlerini optimize etmek ve ürün hırsızlığını tespit etmek amacıyla kullanılıyor. Amazon'un Just Walk Out mağaza teknolojisinde de benzer teknolojilerden faydalanılmaktadır.​​

  6. Akıllı Trafik Yönetimi:

    • YOLO, trafikte araçların, yayaların ve bisikletlerin gerçek zamanlı olarak tespit edilmesi için kullanılıyor. Bu veriler, trafik akışını optimize etmek ve kaza risklerini azaltmak için şehir yönetim sistemlerine entegre ediliyor.

YOLO Modelinin Mimarisi

YOLO (You Only Look Once), nesne algılama için tek bir sinir ağı kullanarak giriş görüntüsünü doğrudan sınırlayıcı kutulara ve sınıf olasılıklarına çevirir. Ağ mimarisi ve katmanları sayesinde bu işlemi hızlı ve verimli bir şekilde gerçekleştirir.​

YOLO

1. Ağ Mimarisi

  • Giriş Katmanı: Girdi olarak gelen görüntüyü alır ve modelin işleyebileceği boyuta (genellikle 416x416 piksel) yeniden boyutlandırır.

  • Özellik Haritaları: CNN kullanarak giriş görüntüsünden özellikler çıkarılır, bu özellikler daha sonra sınıflandırma ve yerelleştirme için kullanılır.

  • Tahmin Katmanı: Her hücrede birden fazla sınırlayıcı kutu ve sınıf olasılığı tahmin edilir, bu tahminler görüntü üzerinde gösterilir.

2. Katmanlar ve İşlevleri

  • Convolutional Katmanlar: Görüntüden özellikler çıkarır, düşük seviyeli detayları yakalar.

  • ReLU (Rectified Linear Unit): Negatif değerleri sıfıra indirerek modeli doğrusal olmayan hale getirir, öğrenmeyi hızlandırır.

  • Pooling Katmanları: Özellik haritalarını daha kompakt hale getirir, önemli bilgileri korur.

  • Tam Bağlantılı Katmanlar: Sınırlayıcı kutuların ve sınıf olasılıklarının tahmin edilmesini sağlar.

  • Tahmin Katmanı: Son tahminleri üretir, sınıflar ve konumlar belirlenir.

image5
YOLO: Nesne Tespitinin Temelleri

YOLO (You Only Look Once), nesne algılama için tek bir sinir ağı kullanarak giriş görüntüsünü doğrudan sınırlayıcı kutulara ve sınıf olasılıklarına çevirir. Ağ mimarisi ve katmanları sayesinde bu işlemi hızlı ve verimli bir şekilde gerçekleştirir.​

1.  Izgara Tabanlı Bölme

  • YOLO algoritması, giriş görüntüsünü rastgele ızgaraya böler. Örneğin, 416x416 boyutundaki bir görüntü, 13x13'lük bir ızgaraya bölünebilir.

  • Her bir ızgara hücresi, o bölgedeki nesneleri tespit etmeye çalışır.

  • Her hücre belirli bir nesnenin merkezine yakın olup olmadığını kontrol eder. Böylece, model nesnelerin görüntüdeki konumlarını öğrenir.

2.  Bounding Box Regression

  • Bounding box (sınırlayıcı kutu), tespit edilen nesnenin çevresini kapsayan dikdörtgen bir kutudur.

  • YOLO, her ızgara hücresi için birden fazla bounding box tahmin eder. Örneğin, her hücre 2 veya 3 kutu tahmin edebilir.

  • Bu kutuların koordinatları (x, y, genişlik ve yükseklik) regresyon ile hesaplanır. Böylece, kutu nesneye olabildiğince doğru bir şekilde yerleştirilir.

image4

3.  Intersection Over Union (IoU)

IoU, tahmin edilen sınırlayıcı kutu ile gerçek kutu arasındaki örtüşmeyi ölçer.

  • Adım 1: Tahmin edilen sınırlayıcı kutu ve gerçek kutu arasındaki kesişim alanı hesaplanır.

  • Adım 2: Tahmin edilen kutu ve gerçek kutu arasındaki birleşim alanı hesaplanır.

  • Adım 3: Kesişim alanı, birleşim alanına bölünerek IoU skoru hesaplanır.

iou
  • Sonuç: IoU değeri 1’e ne kadar yakınsa, tahmin edilen kutunun doğruluğu o kadar yüksektir. Genellikle, 0.5’in üzerinde bir IoU değeri başarılı bir tahmin olarak kabul edilir.

image3

3.  Güven Skoru (Confidence Score)

Güven skoru, bir bounding box'ın gerçekten bir nesne içerip içermediğini belirler ve modelin nesnenin varlığından ne kadar emin olduğunu gösterir.

  • Adım 1: Model, her bounding box için bir güven skoru tahmin eder. Bu güven skoru, nesnenin varlığı ve hangi sınıfa ait olduğuna dair modelin eminlik düzeyini gösterir.

  • Adım 2: Eğer güven skoru yüksekse (örneğin, 0.9), model bu kutunun içinde nesne olduğunu düşünür. Eğer skor düşükse (örneğin, 0.2), model kutunun boş olduğunu varsayar.

  • Adım 3: Güven skoru genellikle, nesne algılamada IoU ile birlikte kullanılır. Yani hem IoU hem de güven skoru birlikte değerlendirilir.

4.  Non-Maximum Suppression (NMS)

NMS, birden fazla bounding box'ın aynı nesneyi temsil ettiği durumları elemek için kullanılır.

  • Adım 1: Modelin tüm tahminleri güven skorlarına göre sıralanır.

  • Adım 2: En yüksek güven skorlu kutu seçilir ve bu kutunun etrafındaki, yüksek IoU'ya sahip diğer kutular elenir.

  • Adım 3: Bu işlem, her nesne için en doğru kutu seçilene kadar devam eder.

  • Sonuç: NMS, gereksiz kutuları ortadan kaldırır ve modelin tek bir nesne için en iyi tahmini yapmasını sağlar.

image2

5.  Nesne Sınıflandırma

YOLO, nesne sınıflandırmasını tespit ettiği her sınırlayıcı kutu (bounding box) için yapar. Model, her hücredeki nesnenin hangi sınıfa ait olduğunu belirlemek için sınıf olasılıklarını hesaplar.

  • Sınıf Olasılıkları: Her sınırlayıcı kutu için model, olası sınıflar arasından tahmin yapar.

  • Sınıf Tahmini: YOLO, en yüksek olasılık değerine sahip sınıfı seçer ve bu sınıfa ait nesnenin bulunduğunu belirtir.

  • Güven Skoru ile Birleşim: Sınıf tahmini, güven skoru ile birleştirilir, böylece hem nesnenin varlığına olan eminlik hem de sınıf belirlenir.

6.  Nesne Tespiti Örneği

image1
  • Pc (Güven Skoru): Bu değer, o hücrede bir nesnenin var olup olmadığını gösterir. Eğer Pc değeri 1'e yakınsa, model o hücrede bir nesne olduğuna çok emindir. Eğer Pc değeri 0'a yakınsa, model o hücrede nesne olmadığını düşünür.

  • Bx (X Koordinatı): Bu değer, tahmin edilen bounding box'ın (sınırlayıcı kutu) X koordinatını belirtir, yani kutunun yatay eksendeki merkezi nerede olduğuna dair bilgiyi sağlar.

  • By (Y Koordinatı): Bu değer, tahmin edilen bounding box'ın Y koordinatını belirtir, yani kutunun dikey eksendeki merkezi nerede olduğuna dair bilgiyi sağlar.

  • Bw (Genişlik): Bounding box'ın genişliğini ifade eder. Bu değer, nesnenin yatay eksende ne kadar geniş olduğunu belirtir.

  • Bh (Yükseklik): Bounding box'ın yüksekliğini ifade eder. Bu değer, nesnenin dikey eksende ne kadar yüksek olduğunu belirtir.

  • C1, C2, C3 (Sınıf Etiketleri): Bu değerler, tahmin edilen nesnenin hangi sınıfa ait olduğunu gösterir. Her sınıf, farklı bir etiketle temsil edilir.

1.  Izgara Tabanlı Bölme

YOLO algoritması, görüntüyü bir ızgaraya böler. Bu ızgara hücrelerinden her biri, görüntüde bir nesne olup olmadığını tespit etmeye çalışır.

2.  Nesne Var mı? (Pc - Güven Skoru)

  • Adım 1: Her hücre için, model Pc değerini hesaplar. Bu değer, hücrede nesne olup olmadığını gösterir.

  • Adım 2: Eğer Pc 1'e yakınsa, model o hücrede bir nesne olduğunu tahmin eder. Pc 0'a yakınsa, model o hücrede nesne olmadığını tahmin eder. Örneğin mavi ok ile gösterilen yerlerde Pc 0 çıkmıştır ve geriye kalan değerler hesaplanmamıştır.

3.  Bounding Box (Sınırlayıcı Kutu) Tahmini

  • Adım 1: Eğer model o hücrede bir nesne olduğunu düşünüyorsa (Pc yüksekse), bounding box tahmini yapılır.

  • Adım 2: Bx ve By değerleri kullanılarak, sınırlayıcı kutunun merkezi belirlenir.

  • Adım 3: Bw ve Bh değerleri kullanılarak, sınırlayıcı kutunun genişlik ve yüksekliği belirlenir.

4.  Sınıf Etiketleri (C1, C2, C3)

  • Adım 1: Model, sınıf etiketlerini (C1, C2, C3) kullanarak nesnenin hangi tür olduğunu tahmin eder.

  • Adım 2: Model, her sınıf için bir olasılık hesaplar ve en yüksek olasılık değerine sahip sınıfı seçer.

  • Adım 3: Seçilen sınıfa ait etiket, tahmin edilen nesnenin türünü belirler. Örneğin, araç, insan veya hayvan gibi.

5.  Sonuç

  • Adım 1: Model, her hücrede Pc değeriyle nesne olup olmadığını tespit eder.

  • Adım 2: Bounding box tahminleriyle nesnenin pozisyonu ve boyutlarını belirler.

  • Adım 3: Sınıf etiketleriyle nesnenin hangi tür olduğunu tahmin eder ve tespiti sonuçlandırır.

bottom of page