Optical Flow Nasıl Çalışır?
Optical flow, iki ardışık video karesi arasında her pikselin nereye hareket ettiğini hesaplar. Temel matematiksel çerçeve parlaklık sabitliği kısıtlamasıdır: I(x, y, t) = I(x+u, y+v, t+1). Bu formül, bir pikselin görüntü üzerindeki parlaklığının kısa sürede sabit kaldığını varsayar. Buradan türetilen hareket denklemi, iki bilinmeyene (yatay u, dikey v) sahip olduğundan tek başına çözülemez — buna 'aperture problemi' denir. Klasik yöntemler bu belirsizliği uzamsal pürüzlülük veya pencere tabanlı varsayımlarla, derin öğrenme yöntemleri ise büyük ölçekli sentetik veri setleriyle aşar.
Öne Çıkan Algoritmalar
⚡ Lucas-Kanade (1981)
Küçük bir piksel penceresindeki noktaların aynı harekete sahip olduğunu varsayarak seyrek (sparse) akış üretir. Shi-Tomasi köşe dedektörüyle birlikte nesne takibinde standart yaklaşımdır. OpenCV'de `calcOpticalFlowPyrLK` ile uygulanır.
🌊 Farneback / Horn-Schunck
Her piksel için yoğun (dense) akış vektörü üretir. Horn-Schunck global pürüzlülük kısıtlaması kullanır; Farneback polinomsal yaklaşımla gerçek zamanlı uygulamalara elveriştir. OpenCV'de `calcOpticalFlowFarneback` ile erişilir.
🧠 RAFT (2020)
GRU tabanlı yinelemeli mimari. Sintel ve KITTI benchmark'larında sektör rekoru kırdı; günümüzde derin öğrenme tabanlı optik akış araştırmalarının referans modelidir. FlowNet2 (2017) onun öncülüdür.
Seyrek ve Yoğun Optical Flow
Optical flow iki temel modda çalışır. Seyrek (sparse) akışta yalnızca seçili köşe veya özellik noktaları takip edilir; Lucas-Kanade bu kategorinin klasik örneğidir. Hesaplama maliyeti düşük, gerçek zamanlı uygulamalara elveriştir. Yoğun (dense) akışta ise her piksel için ayrı bir vektör üretilir; Farneback ve RAFT bu gruba girer. Çok daha fazla bilgi içerir ama hesaplama gereksinimleri yüksektir. Video anlama, eylem tanıma ve jeneratif video modellerinde yoğun akış tercih edilir.
Uygulama Alanları
Otonom araçlarda kamera görüntüsünden yol hareketi ve yaklaşan engel tespiti için optik akış LiDAR ile füzyonda kritik rol oynar. Video stabilizasyonunda istem dışı kamera titremesi optik akışla telafi edilerek pürüzsüz klip elde edilir. Eylem tanıma sistemlerinde two-stream CNN mimarileri optik akışı ikinci girdi olarak kullanır; spor analizi ve güvenlik kameralarında yaygınlaşmaktadır. Tıbbi görüntülemede ekokardiyografi kalp hareketi ve solunum döngüsü ölçümünde kullanılır. Stable Video Diffusion gibi jeneratif modeller zamansal tutarlılık için optik akış rehberliğinden yararlanır.
Sık Sorulan Sorular
- check_circle Optical flow ile nesne tespiti arasındaki fark nedir?: Nesne tespiti (object detection) bir karede hangi nesnelerin bulunduğunu sınıflandırır. Optical flow ise nesnelerin kareler arasında nereye hareket ettiğini ölçer — hangi nesne olduğunu değil, nasıl hareket ettiğini. İkisi birlikte kullanıldığında hem sınıflandırma hem takip mümkün olur.
- check_circle Lucas-Kanade mi, RAFT mi kullanmalıyım?: Gerçek zamanlı ve gömülü sistem uygulamaları için Lucas-Kanade (OpenCV ile doğrudan çalışır, düşük bellek) tercih edilir. Yüksek doğruluk gerektiren araştırma veya video anlama görevlerinde GPU destekli RAFT daha iyi sonuç verir. RAFT'ın PyTorch implementasyonu açık kaynaklıdır.
- check_circle Optical flow neden parlak ışıkta veya hızlı harekette başarısız olabilir?: Parlaklık sabitliği varsayımı, keskin ışık değişimlerinde (flaş, gölge geçişi) bozulur. Hızlı hareket ise ardışık karelerde çok büyük piksel kaymasına yol açtığından klasik yöntemler doğru eşleştirme yapamaz. Piramit (pyramid) ölçekleme ve derin öğrenme bu sınırları kısmen aşar.
- check_circle Python'da optical flow nasıl hesaplanır?: OpenCV ile iki satırda yoğun akış: `flow = cv2.calcOpticalFlowFarneback(prev_gray, curr_gray, None, 0.5, 3, 15, 3, 5, 1.2, 0)`. Seyrek akış için `cv2.calcOpticalFlowPyrLK` kullanılır. RAFT için resmi PyTorch deposu ve Hugging Face modellerinden hazır ağırlıklar indirilebilir.
- check_circle Optical flow Türkiye'de hangi alanlarda kullanılmaktadır?: Yerli otonom araç ve insansız hava aracı (İHA) projelerinde görme tabanlı navigasyon için, güvenlik kamerası sistemlerinde anormal hareket tespiti için ve oyun/sinema endüstrisinde motion capture sonrası video işlemede optik akış kullanılmaktadır.