Ana içeriğe atla
Blog · Teknoloji
Ön Bilgi Olmadan Videodan Nesne Hızı Nasıl Tahmin Edilir?

Bir videoya bakıp "Bu şey ne kadar hızlı gidiyor?" diye düşündüğünüz oldu mu? Otoyolda hızlanan bir araba, startı alan bir sprinter, kadrajı geçen bir kuş. Kalibre edilmiş bir kamera, boyutu bilinen bir nesne ya da referans bir ölçüm yokken o görüntüden bir sayı çıkarmak, bir polisiye dizisinden fırlamış gibi geliyor.

Göründüğünden zor, ama imkânsız değil. Modern bilgisayarlı görü, eksik bilginin nereden gelmesi gerektiğini anladığınız sürece sıradan videolardan şaşırtıcı derecede makul hız tahminleri çıkarabiliyor.

Sorun: cetvelsiz hız ölçmek

Hız, mesafenin zamana bölümüdür. Videoda zaman işin kolay kısmı: saniyede 30 kare çeken bir videoda art arda iki kare arasında saniyenin 1/30'u kadar zaman vardır. Zor olan mesafe. Doğrudan ölçebildiğiniz şey nesnenin kaç piksel hareket ettiğidir ve pikseller metre değildir.

Daha kötüsü, tek bir kamera, lense yakın yavaş hareket eden küçük bir nesneyi, uzakta hızla giden büyük bir nesneden ayırt edemez. İkisi de ekranda tıpatıp aynı hareketi üretebilir. Buna ölçek belirsizliği denir ve "ön bilgi olmadan" ifadesinin her zaman bir dipnot gerektirmesinin nedeni budur: gerçek dünyadan bir ölçek bilgisi bir şekilde hesaba girmek zorundadır. Aşağıdaki teknikler esas olarak bu ölçeği nereden aldıklarıyla birbirinden ayrılır.

Klasik kestirme yol, sahnede boyutu bilinen bir şey kullanmaktır: bir araba (yaklaşık 4,5 metre), bir şerit çizgisi, bir kapı. Böyle bir şey yoksa daha güçlü araçlara ihtiyacınız var.

Structure from Motion: 2B'den 3B'ye

Drone görüntülerinden oluşturulmuş 3B modeller görmüşsünüzdür. Bu, Structure from Motion (SfM, hareketten yapı çıkarma) tekniğidir ve hız tahmininde de işe yarar.

SfM biraz insanın derinlik algısı gibi çalışır: bir sahneye hafifçe farklı açılardan baktığınızda derinlik hissi oluşur. SfM de çok sayıda kareyi analiz ederek hem 3B sahneyi hem de kameranın sahne içindeki yolunu yeniden kurar:

  1. Her karede köşeler ve dokular gibi ayırt edici görsel özellikler, SIFT ya da ORB gibi dedektörlerle bulunur.
  2. Bu özellikler kareler arasında eşleştirilir ve kameranın nasıl hareket ettiği tahmin edilir. Bunun için genellikle kötü eşleşmeleri ayıklayan RANSAC içinde beş nokta algoritması kullanılır.
  3. Eşleşen noktalar üçgenlemeyle 3B'ye taşınır ve her şey birlikte demet ayarlamasıyla (bundle adjustment) iyileştirilir; bu adım, her noktanın her görüntüde görünmesi gereken yer ile gerçekte göründüğü yer arasındaki farkı en aza indirir.
  4. Takip edilen nesnenin bu yeniden kurulmuş uzayda ne kadar yol aldığı ölçülür.

SfM'in gücü, yalnızca pikselleri değil bütün sahneyi anlamanızı sağlaması. Sınırı ise yeniden kurulumun yalnızca bilinmeyen bir ölçek çarpanına kadar doğru olması. Şekli doğru elde edersiniz, ama baktığınızın bir maket demiryolu mu yoksa gerçek bir şehir mi olduğunu bilemezsiniz. Kameranın monte edildiği yükseklik ya da bir şeridin genişliği gibi bilinen tek bir mesafe bu sorunu çözer.

Tek kameradan derinlik tahmini: yapay zekânın derinlik algısı

Daha yeni bir seçenek, tek bir görüntüden derinlik tahmin eden sinir ağları. Bu modeller milyonlarca görüntüyle eğitildi ve insanların da kullandığı ipuçlarını öğrendi: perspektif, doku değişimleri, başka nesnelerin arkasında kısmen gizlenen nesneler ve tanıdık şeylerin tipik boyutları.

İki türü var ve hız söz konusu olduğunda aradaki fark önemli:

  • Göreli derinlik modelleri, örneğin MiDaS ya da ilk Depth Anything, hangi yüzeyin daha yakın hangisinin daha uzak olduğunu söyler ama kaç metre olduğunu söylemez. Bir sahneyi sıralamak için iyidirler, ölçmek için değil.
  • Metrik derinlik modelleri, örneğin ZoeDepth, Metric3D ya da Depth Anything V2'nin metrik sürümleri, doğrudan gerçek mesafeler vermeye çalışır ve ölçek kaynağı olarak dünya hakkında öğrendiklerini kullanır. Tahminleri yaklaşıktır; sokaklar ve odalar gibi eğitim verilerine benzeyen sahnelerde daha güvenilirdir.

Hız tahmini için her karede metrik bir derinlik modeli çalıştırın, nesneyi takip edin, görüntüdeki konumu ve derinliği birleştirerek 3B konuma çevirin ve aldığı yolu geçen süreye bölün. Tekil derinlik tahminleri titrediği için sonucu çok sayıda kare üzerinden ortalayın.

Pratik bir iş akışı

  1. Tespit et ve takip et. YOLO ailesinden bir dedektör ile ByteTrack ya da DeepSORT gibi bir takipçi, her nesnenin kimliğini kareden kareye korur.
  2. Kamera hareketini çıkar. Kamera hareket ediyorsa arka planın hareketini optik akışla (Farnebäck ya da RAFT gibi öğrenilmiş bir model) tahmin edip çıkarın; böylece yalnızca nesnenin kendi hareketini ölçersiniz.
  3. Ölçeği ekle. Elinizde ne varsa kullanın: bilinen bir nesne boyutu, kameranın yoldan yüksekliği, kaçış noktası geometrisi ya da metrik bir derinlik modeli.
  4. Sonucu yumuşat. Tek kare çiftlerinden hesaplanan hızlar gürültülüdür; düzgün bir yörünge oturtun ya da bir pencere üzerinden ortalama alın.

Hangi yaklaşım ne zaman?

TeknikEn iyi çalıştığı durumTipik başarısızlık
Structure from MotionKamera hareket ediyor ve sahnede bol doku varYalnızca dönme hareketi, çok az paralaks, düz yüzeyler
Tek kameradan derinlikKamera sabit ya da görüntü bulanık veya düşük çözünürlüklüÖlçek kareden kareye kayar; sıradan donanımda yavaştır
Optik akış ve takipHızın gerçek zamanlı gerektiği durumlarHareket bulanıklığı ve dokusuz kenarlarda açıklık problemi

Pratikte en iyi sonuçlar bunları birleştirmekten çıkıyor: genel ölçek için SfM ya da bilinen geometri, geometrinin yetersiz kaldığı yerleri doldurmak için bir derinlik modeli, kareden kareye hareket için de optik akışla takip.

Başlamak için

  • SfM için: COLMAP olgun bir açık kaynak paket.
  • Derinlik için: MiDaS ve Depth Anything PyTorch ile kolayca kullanılabiliyor; metre cinsinden sonuç istiyorsanız metrik bir sürüm seçin.
  • Takip için: ByteTrack ya da DeepSORT ile bir YOLO dedektörü.

Her zaman hızını bildiğiniz bir şeyin videosuyla test edin; örneğin hız göstergesiyle birlikte çekilmiş bir araba. İş akışınızın ne kadar saptığını öğrenmenin tek yolu bu.

Nerelerde kullanılıyor?

  • Pahalı radar ekipmanı gerektirmeyen trafik izleme
  • Spor analizi ve performans takibi
  • Hayvanları rahatsız etmeden görüntülemenin mümkün olduğu yaban hayatı araştırmaları
  • Otonom araç geliştirme ve testleri
  • Video delillerinin adli analizi

Kapanış

Kalibre edilmemiş videodan hız tahmini artık bilim kurgu değil, ama sihir de değil. Her yöntem, gerçek dünyadaki ölçeğe dair bilgiyi bir yerden almak zorunda: geometriden, tanıdık bir nesneden ya da bir sinir ağının şeylerin genellikle ne kadar büyük olduğuna dair öğrendiklerinden. Ölçeğinizin nereden geldiğini bildiğinizde, elde ettiğiniz sayıya ne kadar güvenebileceğinizi de bilirsiniz.

Siz bu teknikleri ne için kullanırdınız? Yorumlarda yazın.

Paylaş

İlgili yazılar

Yorum Yapın

Yorumunuz gönderildi. Teşekkürler!

Yorumlar