Spor Sahası Video Analizi

Problem
Halı saha işletmeleri maçları tek sabit geniş açı kamerayla kaydediyor. Oyuncuların istediği ise saatlerce ham kayıt değil, kendi golünün 15 saniyelik klibi. Bunu insan eliyle kurgulamak ölçeklenmiyor.
Çözüm
Tek kameradan oyuncu ve top tespiti, kalıcı kimlikli takip, top yörüngesinden olay çıkarımı ve olayların etrafından otomatik klip kesimi yapan uçtan uca bir hat. Çıktı: işaretlenmiş maç videosu, olay bazlı klipler ve birleşik highlight reel.
Tespit, takip ve olay çıkarımı




Hat
- Tespit: YOLO (Ultralytics) ile oyuncu ve top
- Takip: ByteTrack ile kalıcı oyuncu kimlikleri
- Olay: Top yörüngesindeki ani hız artışından şut/gol adayı
- Kurgu: Olay etrafından klip kesimi + birleşik reel
- Çıktı: ffmpeg ile tarayıcı uyumlu H.264
- Arayüz: Streamlit ile sunulabilir demo
Mühendislik notu
Örnek videolar elde/gimbalde çekildiği için kale bölgesi kalibrasyonu yapılamadı; bu yüzden olaylar "gol" yerine şut adayı sezgiseliyle işaretleniyor. Olay tespiti fonksiyonu kale bölgesi parametresi kabul edecek şekilde yazıldı: prodüksiyondaki sabit kamera kurulumunda aynı kod tam gol tespitine dönüşüyor. Sınırı baştan tanımlamak, sonradan mimariyi değiştirmekten ucuz.
def sut_adayi(hiz_gecmisi, esik_carpan=2.5):
"""Filtreli top hizinda ani sicrama = sut adayi.
'Gol' demiyoruz: tek kamerayla kale duzlemini goremeyiz,
o yuzden cikti durustce 'aday' olarak etiketlenir."""
taban = median(hiz_gecmisi[:-3]) # yakin gecmisin tipik hizi
simdiki = mean(hiz_gecmisi[-3:]) # son karelerdeki hiz
return simdiki > esik_carpan * max(taban, MIN_HIZ)