Kalman Filter (KF)
Kalman Filtresi'nin belirsizlik altındaki sistem durumlarını nasıl tahmin ettiğini keşfet. Yapay zeka hassasiyetini artırmak için Ultralytics YOLO26 ile nesne takibinde kullanmayı öğren.
Bir Kalman Filter (KF), dinamik bir sistemin durumunu zaman içinde tahmin etmek için kullanılan yinelemeli bir matematiksel algoritmadır. Orijinal olarak Rudolf E. Kálmán tarafından tanıtılan bu teknik; belirsiz, yanlış veya "gürültü" olarak adlandırılan rastgele varyasyonlar içeren verileri işlemek için esastır. Zaman içinde gözlemlenen ve istatistiksel yanlışlıklar içeren bir dizi ölçümü birleştiren Kalman Filter, tek başına bir ölçüme dayananlardan daha kesin olan bilinmeyen değişken tahminleri üretir. machine learning (ML) ve artificial intelligence (AI) alanlarında, ham verileri düzeltip gerçek alttaki eğilimi ortaya çıkararak predictive modeling için kritik bir araç olarak görev yapar.
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). Temel sistemin doğrusal olduğunu ve gürültünün bir Gaussian distribution (çan eğrisi) izlediğini varsayar.
-
Tahmin: Filtre, mevcut durumu zaman içinde ileriye taşımak için fiziksel bir model kullanır. Örneğin, bir nesne sabit bir hızda hareket ediyorsa, filtre standart kinematic equations temelinde bir sonraki konumunu tahmin eder. Bu adım ayrıca bu tahmini içeren uncertainty değerini 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 Gain tarafından belirlenen ve daha az belirsizliğe sahip değere (tahmin veya ölçüm) daha fazla güvenen ağırlıklı bir ortalama hesaplar. Sonuç, bir sonraki döngü için temel oluşturan rafine edilmiş bir state estimation değeridir.
Bilgisayarlı Görü ve Yapay Zekada Uygulamalar#
Orijinal olarak kontrol teorisi ve havacılık navigasyonuna dayanmasına rağmen, Kalman Filter artık modern computer vision (CV) boru hatlarında her yerde mevcuttur.
- Nesne Takibi: Bu en yaygın kullanım durumudur. YOLO26 gibi bir algılama modeli bir video karesindeki bir 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ı birbirine bağlamak için Kalman Filters kullanır. Bir nesne geçici olarak gizlenirse (görüşten engellenirse), filtre sistemin "takibi" kaybetmesini veya kimlik değiştirmesini önlemek için nesnenin önceki hızını konumunu tahmin etmek üzere kullanır.
- Robelikte Sensör Füzyonu: robotics alanında, makineler gürültülü birden fazla sensör kullanarak yön bulmalıdır. Bir teslimat robotu GPS (kayma yapabilen), tekerlek kodlayıcıları (kayabilen) ve IMUs (gürültülü olan) kullanabilir. Kalman Filter, güvenli autonomous vehicles operasyonları için gerekli olan navigasyon için tek ve güvenilir bir koordinat sağlamak üzere bu farklı girdileri birleştirir.
İlgili Kavramları Ayırt Etme#
Standart Kalman Filter'ı statistical AI içinde bulunan varyasyonlarından ve alternatiflerinden ayırmak faydalıdır:
- Kalman Filter ile Extended Kalman Filter (EKF) Karşılaştırması: Standart KF, sistemin doğrusal denklemleri (düz çizgiler) izlediğini varsayar. Ancak, bir drone'un dönüş yapması gibi gerçek dünya hareketi genellikle doğrusal değildir. EKF, her adımda türevleri kullanarak sistem dinamiklerini doğrusallaştırarak bunu çözer ve karmaşık yörüngeler için uygun hale getirir.
- Kalman Filter ile Parçacık Filtresi Karşılaştırması: KF'ler Gauss varsayımlarına dayanırken, particle filters 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 dışı gürültü için daha esnektir ancak potansiyel olarak real-time inference hızlarını etkileyen önemli ölçüde daha fazla hesaplama gücü gerektirir.
Uygulama Örneği#
Ultralytics ekosisteminde Kalman Filters doğrudan izleme algoritmalarına entegre edilmiştir. Denklemleri manuel olarak yazmanıza gerek yoktur; izleme modlarını etkinleştirerek bunlardan yararlanabilirsiniz. Ultralytics Platform, veri kümelerini yönetmenize ve bu izleme özellikleriyle kolayca dağıtılabilecek modeller eğitmenize olanak tanır.
İşte Ultralytics YOLO26 kullanarak takip işlemi gerçekleştiren, alttaki takipçinin bounding box hareketlerini pürüzsüzleştirmek için otomatik olarak Kalman filtrelemesi uyguladığı kısa bir Python örneği:
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 İçin Önemi#
Gerçek dünya dağıtımında veriler nadiren mükemmeldir. Kameralar hareket bulanıklığından muzdariptir ve sensörler sinyal gürültüsü yaşar. Kalman Filter, karar döngüsü içinde sofistike bir data cleaning mekanizması görevi görür. Tahminleri sürekli olarak iyileştirerek, AI agents öğelerinin giriş akışındaki her anlık aksaklığa tepki vermek yerine en olası gerçeğe dayalı olarak çalışmasını sağlar. Bu güvenilirlik, airport operations izlemeden hassas endüstriyel otomasyona kadar güvenliğin kritik olduğu uygulamalar için çok önemlidir.






