
Bilgisayarlı Görü ve Nesne Tespiti: YOLO Algoritmasıyla Hızlı ve Doğru Çözümler
Bu yazıda bilgisayarlı görü (computer vision) kavramı, nesne tespiti süreci ve yaygın kullanılan algoritmalar detaylıca ele alınmaktadır. Özellikle YOLO algoritmasının çalışma mantığı, bounding box üretimi ve güven skoru hesaplaması adım adım açıklanırken, diğer algoritmalarla karşılaştırmalar da sunulmuştur.
Computer Vision (Bilgisayarlı Görü) nedir?
Günümüzde teknolojinin çok fazla gelişmesi ile kamera ve gelişmiş bilgisayarlara erişim kolaylaştı. Bu durum, görüntü ve video kaydetmeyi sıradan bir hale getirdi. Kolayca elde edilen bu görüntülerin analiz edilmesi ve anlamlı hale getirilmesi bir ihtiyaç olarak ortaya çıkmaktadır. Görüntü işleme alanında; nesne tespiti ile objelerin, nesnelerin veya uzuvların tanınması; görüntü segmentasyonu ile büyük görüntülerin küçük ve anlamlı parçalara ayrılması; nesne takibi ile görüntüde tespit edilen nesnelerin hareketlerinin izlenmesi gibi yetenekler bulunur.
Bilgisayarlı görü teknolojisi; sağlıkta tıbbi görüntüleme (MR, X-ray) ve hastalık teşhisi, otomotivde otonom araçlarda nesne tanıma ve yol işaretlerini algılama, perakende sektöründe müşteri takibi ve envanter yönetimi, güvenlikte yüz tanıma ve izinsiz giriş tespiti, endüstride kalite kontrol ve robotik süreç otomasyonu, iş sağlığı ve güvenliğinde ise kişisel koruyucu donanım takibi ve yasaklı alan ihlali gibi pek çok alanda yaygın şekilde kullanılmaktadır.
Nesne Tespiti (Object Detection) Nedir?
Nesne tespiti, bir görüntü ya da video karesinde belirli nesnelerin yerini tespit edip sınıflandırma sürecidir. Bu işlem bize hem görüntüde nesnenin olup olmadığını hem de varsa konumunu bildirir. Bilgisayarlı görü projelerinde en temel adım nesne tespitidir ve bu işlem çoğunlukla derin öğrenme (deep learning) ve sinir ağları (neural networks) ile gerçekleştirilir.
Temel adımlar şunlardır:
- Veri Toplama ve Hazırlama: Nesne içeren çok sayıda görüntü toplanmalı ve eğitim formatına uygun şekilde etiketlenmelidir.
- Model Eğitimi: Hazırlanan veri setiyle model, kullanılacak algoritmaya göre eğitilir.
- Model Çıkarımı (Inference): Eğitilen model, daha önce görmediği ama nesne içeren görsellerle test edilir. Eksik kaldığı senaryolar modele yeni veriler eklenerek geliştirilir.
Popüler nesne tespit algoritmaları:
- Faster R-CNN (Region-based Convolutional Neural Networks): Bölgesel öneri ağlarıyla yüksek doğrulukla nesne tespiti yapar. Ancak yavaş çalıştığı için gerçek zamanlı uygulamalarda pek tercih edilmez.
- SSD (Single Shot Multibox Detector): Farklı ölçeklerde çoklu bounding box kullanır. YOLO’ya benzer hızda çalışır fakat daha fazla bellek gerektirdiğinden düşük donanımlarda tercih edilmez.
- RetinaNet: Focal loss fonksiyonu ile pozitif ve negatif örnekler arasındaki dengesizliği dengeler. Az nesne içeren büyük görsellerde yüksek başarı sağlar.
- YOLO (You Only Look Once): Görseldeki nesneleri tespit edip sınıflandırmak için kullanılan hızlı ve gerçek zamanlı çalışmaya uygun bir algoritmadır.
YOLO ALGORİTMASI
YOLO algoritması, görseli yalnızca bir kez sinir ağından geçirerek nesnelerin sınıfını ve konumunu tahmin eder. İlk adım olarak görüntü ızgaralara (grid) bölünür. Her ızgarada nesne olup olmadığı kontrol edilir. Eğer nesne varsa, merkezi bu ızgaradaysa bounding box’ın yüksekliği, genişliği ve doğruluk tahmini hesaplanır. Görsel sinir ağından geçtikten sonra çıktı olarak bir vektör elde edilir.
Bu vektördeki değişkenlerin anlamı şu şekildedir:
- Pc: Sınıf olasılığıdır. 1 ise nesne vardır, 0 ise yoktur. Görselde insan sınıfı bulunduğu için bu değer 1’dir.
- Bx, By: Bounding box’ın merkezinin x ve y koordinatlarıdır.
- Bw, Bh: Bounding box’ın genişlik ve yüksekliğidir.
- C1, C2: Sınıf bilgileri. Örneğin forklift yoksa C1 = 0, insan varsa C2 = 1 olur.
Görselde hiçbir nesne yoksa Pc değeri 0 olur ve diğer değerler hesaplanmaz.
Doğruluk Tahmini – Güven Skoru: Modelin bir nesneyi ne kadar doğru tahmin ettiğini gösterir. Formülü:
- Pr(obj): Izgarada nesne bulunma olasılığı
- IoU: Gerçek bounding box ile tahmin edilen bounding box’ın kesişim oranı
Birden fazla ızgara aynı nesneyi içerdiklerini düşünebilir. Bu durumda ekranda birçok bounding box oluşur. Her biri için güven skoru hesaplanır ve Non-Maximum Suppression algoritması kullanılarak gereksiz kutular elenir.
#ComputerVision #ObjectDetection #Yolo #Non-MaximumSupression #Faster-RCNN #RetinaNet #İşSağlığıveGüvenliği #İSG #KaliteKontrol #NesneTespiti #BilgisayarlıGörü