Kalman Filter (KF)
Kalman Filtresi'nin belirsizlik altındaki sistem durumlarını nasıl tahmin ettiğini keşfet. Yapay zekâ hassasiyetini artırmak için bunu Ultralytics YOLO26 ile nesne izleme amacıyla kullanmayı öğren.
Kalman Filtresi (KF), dinamik bir sistemin durumunu zaman içinde tahmin etmek için kullanılan özyinelemeli bir matematiksel algoritmadır. Rudolf E. Kálmán tarafından ortaya atılan bu teknik, belirsiz, hatalı veya "gürültü" olarak adlandırılan rastgele değişiklikler içeren verilerin işlenmesi için gereklidir. Zaman içinde gözlemlenen ve istatistiksel hatalar içeren bir dizi ölçümü birleştiren Kalman Filtresi, bilinmeyen değişkenler için yalnızca tek bir ölçüme dayalı tahminlerden daha kesin tahminler üretir. Makine öğrenimi (ML) ve yapay zekâ (AI) alanlarında, öngörücü modelleme için kritik bir araç görevi görerek düzensiz veri noktalarını yumuşatır ve altta yatan gerçek eğilimi ortaya çıkarır.
Kalman Filtresi Nasıl Çalışır#
Algoritma iki adımlı bir döngü üzerinde çalışır: tahmin ve güncelleme (düzeltme olarak da bilinir). Altta yatan sistemin doğrusal olduğunu ve gürültünün bir Gauss dağılımını (çan eğrisi) izlediğini varsayar.
-
Tahmin: Filtre, mevcut durumu zaman içinde ileriye yansıtmak için fiziksel bir model kullanır. Örneğin, bir nesne sabit hızla hareket ediyorsa filtre, standart kinematik denklemlere dayanarak bir sonraki konumunu tahmin eder. Bu adım aynı zamanda bu tahminle ilişkili belirsizliği de tahmin eder.
-
Güncelleme: Bir sensörden yeni bir ölçüm geldiğinde filtre, tahmin edilen durumu gözlemlenen verilerle karşılaştırır. Kalman Kazancı tarafından belirlenen ağırlıklı bir ortalama hesaplar ve belirsizliği daha düşük olan değere (tahmin veya ölçüm) daha fazla güven verir. Sonuç, bir sonraki döngü için temel oluşturan iyileştirilmiş bir durum tahminidir.
Bilgisayarlı Görü ve Yapay Zekâdaki Uygulamalar#
Başlangıçta kontrol teorisi ve havacılık navigasyonuna dayanan Kalman Filtresi, artık modern bilgisayarlı görü (CV) işlem hatlarında yaygın olarak kullanılmaktadır.
- Nesne Takibi: Bu, en yaygın kullanım alanıdır. YOLO26 gibi bir algılama modeli bir video karesindeki nesneyi tanımladığında statik bir anlık görüntü sağlar. Hareketi anlamak için BoT-SORT gibi takipçiler, kareler arasındaki algılamaları ilişkilendirmek üzere Kalman Filtrelerinden yararlanır. Bir nesne geçici olarak örtülürse (görüş alanından çıkarsa), filtre konumunu tahmin etmek için nesnenin önceki hızını kullanır; böylece sistemin "takibi" kaybetmesi veya kimlikleri değiştirmesi önlenir.
- Robotikte Sensör Birleştirme: Robotikte makineler, birden çok gürültülü sensör kullanarak yön bulmalıdır. Bir teslimat robotu GPS (sürüklenme yaşayabilir), tekerlek enkoderleri (kayabilir) ve IMUs (gürültülüdür) kullanabilir. Kalman Filtresi, navigasyon için tek ve güvenilir bir koordinat sağlamak üzere bu farklı girdileri birleştirir; bu, otonom araçların güvenli çalışması için gereklidir.
İlişkili Kavramları Ayırt Etme#
İstatistiksel yapay zekâda bulunan standart Kalman Filtresi ile varyasyonlarını ve alternatiflerini birbirinden ayırmak faydalıdır:
- Kalman Filtresi ile Genişletilmiş Kalman Filtresi (EKF) karşılaştırması: Standart KF, sistemin doğrusal denklemleri (doğru çizgileri) izlediğini varsayar. Ancak gerçek dünyadaki hareket, örneğin bir dronun dönüş sırasında yatması, genellikle doğrusal değildir. EKF, her adımda türevleri kullanarak sistem dinamiklerini doğrusallaştırır ve bu sorunu çözer; böylece karmaşık yörüngeler için uygun hâle gelir.
- Kalman Filtresi ile Parçacık Filtresi karşılaştırması: KF'ler Gauss varsayımlarına dayanırken parçacık filtreleri, olasılık dağılımlarını temsil etmek için bir dizi rastgele örnek (parçacık) kullanır. Parçacık filtreleri Gauss olmayan gürültüler için daha esnektir, ancak önemli ölçüde daha fazla hesaplama gücü gerektirir ve bu da gerçek zamanlı çıkarım hızlarını etkileyebilir.
Uygulama Örneği#
Ultralytics ekosisteminde Kalman Filtreleri doğrudan takip algoritmalarına entegre edilmiştir. Denklemleri manuel olarak yazman gerekmez; takip modlarını etkinleştirerek bunlardan yararlanabilirsin. Ultralytics Platformu, veri kümelerini yönetmene ve bu takip özellikleriyle kolayca dağıtılabilen modeller eğitmene olanak tanır.
Aşağıda, Ultralytics YOLO26 ile takip gerçekleştirmek için Python kullanan kısa bir örnek verilmiştir; temel takipçi, sınırlayıcı kutu hareketlerini yumuşatmak için Kalman filtrelemesini otomatik olarak uygular:
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Run tracking on a video source
# The 'botsort' tracker uses Kalman Filters internally for state estimation
results = model.track(source="traffic_video.mp4", tracker="botsort.yaml")
# Process results
for result in results:
# Access the tracked IDs (assigned and maintained via KF logic)
if result.boxes.id is not None:
print(f"Tracked IDs in frame: {result.boxes.id.cpu().numpy()}")Veri Kalitesi Açısından Önemi#
Gerçek dünyada dağıtım sırasında veriler nadiren kusursuzdur. Kameralarda hareket bulanıklığı oluşur ve sensörlerde sinyal gürültüsü görülür. Kalman Filtresi, karar döngüsü içinde gelişmiş bir veri temizleme mekanizması görevi görür. Tahminleri sürekli olarak iyileştirerek AI aracıların girdi akışındaki her anlık aksaklığa tepki vermek yerine en olası gerçekliğe göre çalışmasını sağlar. Bu güvenilirlik, havaalanı operasyonlarının izlenmesinden hassas endüstriyel otomasyona kadar güvenlik açısından kritik uygulamalar için büyük önem taşır.









