Gerçek zamanlı görüntü işleme: FPS neden önemli, kaç FPS yeterli?
Özet: FPS (saniyedeki kare sayısı), bir görüntü işleme sisteminin bir saniyede kaç kareyi işleyip sonuç ürettiğini gösterir. Kameranın yayın hızı değil, işlem hattının tamamladığı kare sayısıdır. Gerekli FPS sahneye göre değişir: arşiv analizinde düşük kare hızı yeterli olabilirken, hızlı ve küçük nesnelerin kesintisiz takibi 50-150 FPS ister. FPS ile gecikme farklı iki ölçüdür ve kabul kriterine ikisi birlikte yazılmalıdır. Düşük FPS'in kurumsal maliyeti kaçan olay, şişen sayım ve kullanımdan düşen sistemdir.
Bir görüntü işleme projesinin bütçesi onaylanırken masada genellikle tek bir soru konuşulur: model ne kadar doğru? Sistem sahaya indiğinde ise ilk şikayet doğrulukla ilgili çıkmaz. "Alarm olaydan üç saniye sonra geldi." "Görüntü akıyor ama kutular nesnenin gerisinde kalıyor." "Aynı aracı iki kere saydı." Bu şikayetlerin altında çoğu zaman aynı ölçü vardır: FPS. Gerçek zamanlı sistemlerde FPS bir teknik süs değil, olayın gerçekleştiği an ile sistemin karar verebildiği an arasındaki mesafedir. Bu yazı, teknik ekipten gelen FPS rakamını satın alma ve yönetim masasında nasıl okuyacağınızı anlatıyor.
FPS nedir ve neden teknik değil ticari bir metriktir?
FPS (frames per second, saniyedeki kare sayısı), sisteminizin bir saniyede kaç görüntü karesini işleyip sonuç ürettiğini gösterir. Buradaki kritik ayrım şudur: kameranın yayın hızı ile sistemin işleme hızı aynı şey değildir. Kameranız saniyede 60 kare yayınlıyor olabilir; işlem hattınız (pipeline: kareyi alan, kodunu çözen, hazırlayan, modele veren ve sonucu yazan zincir) saniyede 12 kare işliyorsa gerçek FPS 12'dir. Kalan 48 kare işlenmeden düşer. O karelerde ne olduğunu sistem hiç görmez.
Modelin tek bir kare üzerinde tahmin üretmesine çıkarım (inference) denir. Bir karenin çıkarımı 100 milisaniye sürüyorsa, tek akışta üst sınırınız saniyede 10 karedir. Bu yüzden FPS aslında bir bütçe sorusudur: kare başına kaç milisaniyeniz var? Cevap doğrudan 1000 / FPS ile bulunur.
| FPS | Kare başına süre | Tipik kullanım |
|---|---|---|
| 5 | 200 ms | Durağan sahne, arşiv analizi, sayım raporu |
| 25 - 30 | 33 - 40 ms | İnsan gözüne akıcı görüntü, yavaş hareket eden nesneler |
| 50 - 150 | 7 - 20 ms | Hızlı ve küçük nesnelerin kesintisiz tespiti ve takibi |
"Gerçek zamanlı" ne demek, kaç FPS yeterlidir?
Gerçek zamanlı, sabit bir sayı değildir. Anlamı şudur: sonuç, o sonuca göre aksiyon alınabilecek süre içinde üretiliyor mu? Cevap işin fiziğine bağlıdır; bu yüzden "kaç FPS yeterlidir" sorusunun tek bir doğru cevabı yoktur.
Basit bir hesap: 30 FPS'te iki kare arasında 33 milisaniye geçer. Saniyede 25 metre hızla ilerleyen bir cisim bu sürede yaklaşık 83 santimetre yol alır. Nesne küçükse ve kare içinde kendi boyunun katı kadar mesafe sıçrıyorsa, takip algoritması onu önceki iziyle eşleştiremez. İz kopar ve nesneye yeni bir kimlik atanır; buna iz kopması (track fragmentation) denir. Kimlikler iki nesne arasında yer değiştirdiğinde ise kimlik değişimi (ID switch) oluşur. Sonuç aynıdır: sayım şişer, iz kopar, rapor güvenilirliğini kaybeder.
Hedef FPS üç soruyla belirlenir: nesne kare içinde ne kadar hızlı yer değiştiriyor, nesne kaç piksel büyüklüğünde, karar için elinizde kaç milisaniye var? Savunma sanayii bağlantılı bir müşteri için yürüttüğümüz projede, insansız hava aracı görüntüsünde sınıftan bağımsız uçan cisim tespiti ve takibi yapılıyor. Sınıftan bağımsız tespit, cismin hangi sınıfa ait olduğunu isimlendirmeden "burada bir cisim var" bilgisini üretmek demektir; eğitim verisinde hiç görülmemiş nesnelerin de yakalanabilmesi için gereklidir. Bu iş için gerçek zamanlı çalışma hedefimiz 50-150 FPS bandıdır. Aynı bandı bir depo giriş kapısı için istemek ise gereksiz maliyettir.
Düşük FPS bir kuruma neye mal olur?
- Kaçan olay: İşlenmeyen kare, kaydedilmeyen olaydır. Sistem sonradan "görmedim" der, kayıt da yoktur.
- Bozulan sayım: Takip kopunca aynı nesne birden fazla kez sayılır. Operasyon raporu yanlış çıkar.
- Daralan müdahale penceresi: Alarm geç gelirse insan operatörün karar süresi kısalır.
- Kullanımdan düşme: Geç kalan sistemi saha personeli kapatır. Yatırım teknik olarak çalışır, pratikte ölür.
- Sürpriz donanım faturası: FPS yetmeyince ya kamera sayısı düşürülür ya kart eklenir. İkisi de bütçe kalemidir.
Bir nokta özellikle atlanır: FPS tek bir sayı değil, bir dağılımdır. Ortalaması 60 FPS olan bir sistem, sahnede nesne sayısı arttığında ortalamanın çok altına inebilir; yani tam ihtiyaç duyduğunuz anda yavaşlar. Bu yüzden ortalama FPS kadar en kötü durum FPS değeri ve sürekli çalışmadaki kararlılık ölçülür. Görüntü işleme projelerimizde %80 üzeri stabilite ile çalışıyoruz.
FPS ile gecikme (latency) aynı şey midir?
Hayır, ve bu karışıklık sözleşmelere yanlış madde yazdırır. FPS birim zamanda kaç kare işlendiğini söyler; bir verim (throughput) ölçüsüdür. Gecikme (latency) ise tek bir karenin kameradan çıkıp karara dönüşmesi için geçen süredir.
| Karşılaştırma | FPS | Gecikme (latency) |
|---|---|---|
| Ne ölçer | Saniyede işlenen kare sayısı | Tek karenin karara dönüşme süresi |
| Birim | kare/saniye | milisaniye |
| Neyi belirler | Hiçbir olayın atlanmaması | Aksiyonun ne kadar geç geleceği |
| Yetersiz kaldığında | Kare düşer, olay kaçar | Alarm geç gelir, müdahale penceresi daralır |
İkisi birbirinden ayrılabilir. Kareleri toplu halde işlemek (batch) FPS'i yükseltir, ama her karenin bekleme süresini de uzatır. Yani "saniyede 100 kare" diyen bir sistem, tek bir olayı 400 milisaniye sonra bildirebilir. Uçtan uca zincir şudur: kamera, kodlama, ağ, kod çözme, ön işleme, çıkarım, son işleme, karar, aksiyon. Model bulutta çalışıyorsa ağ turu tek başına çıkarımdan uzun sürebilir. Görüntü işleme kurulumlarını bu nedenle ağırlıklı olarak yerinde (on-premise), Docker konteyner tabanlı dağıtımla kuruyoruz; bulut, gecikme bütçesi izin verdiğinde tercih ediliyor.
Doğru kabul kriteri iki sayıyı birlikte yazar: hedef FPS ve uçtan uca gecikme tavanı. Tek başına FPS taahhüdü eksik bir taahhüttür.
FPS'i artırmak doğruluktan ödün vermek midir?
Her zaman değil. Hız için çevrilebilecek birkaç ayrı düğme vardır:
- Çözünürlük ve ilgi alanı: Karenin tamamı yerine yalnızca anlamlı bölgesini işlemek (ROI, region of interest).
- Model seçimi: Daha küçük ve göreve özel bir mimari, genel amaçlı büyük bir modelden hızlı çalışır.
- Nicemleme (quantization): Model ağırlıklarını daha düşük sayısal hassasiyetle çalıştırarak hızlanmak.
- Tespit ve takibin ayrılması: Her karede ağır tespit çalıştırmak yerine, belirli aralıklarla tespit ve aradaki karelerde hafif takip kullanmak.
- Paralel işlem hattı: Kod çözme, ön işleme, çıkarım ve son işlemeyi ayrı hatlara dağıtmak.
Bu düğmelerin her biri doğruluğu farklı ölçüde etkileyebilir. Bu nedenle hız kazancı ölçülmeden kabul edilmemelidir: aynı doğrulama setinde önce doğruluk, sonra FPS ölçülür ve ikisi tek tabloda raporlanır. Bu ayarı model seviyesinde yapabiliyoruz, çünkü modeli kapalı bir kutu olarak kullanmıyoruz; PyTorch, TensorFlow, OpenCV, YOLO ve kendi geliştirdiğimiz framework üzerinde çalıştığımız için mimari, çözünürlük ve sayısal hassasiyet ayarları projeye göre yeniden kurgulanabiliyor.
Kabul kriterine hangi maddeler yazılmalı?
Bir görüntü işleme projesinin şartnamesinde tek başına "gerçek zamanlı çalışacaktır" ifadesi ölçülebilir değildir. Ölçülebilir hale getiren altı madde şudur:
- Hedef FPS ve ölçüm noktası: Rakamın kamerada mı yoksa karar çıktısında mı ölçüldüğü yazılmalı.
- En kötü durum FPS değeri: Sahnedeki nesne sayısı arttığında kabul edilen alt sınır.
- Uçtan uca gecikme tavanı: Kameradan aksiyona kadar izin verilen milisaniye.
- Doğruluk ve hız aynı tabloda: Aynı doğrulama setinde birlikte raporlanan iki sayı.
- Kararlılık süresi: Ölçümün kaç saatlik kesintisiz çalışma üzerinden alındığı.
- Donanım tanımı: Rakamın hangi donanımda alındığı; donanım değişirse rakam da değişir.
Sıkça sorulan sorular
FPS nedir?
FPS (frames per second, saniyedeki kare sayısı), bir görüntü işleme sisteminin bir saniyede kaç görüntü karesini işleyip sonuç ürettiğini gösteren ölçüdür. Kameranın yayın hızını değil, işlem hattının gerçekte tamamladığı kare sayısını ifade eder. 10 FPS çalışan bir sistemin kare başına bütçesi 100 milisaniyedir.
Gerçek zamanlı görüntü işleme için kaç FPS gerekir?
Tek bir doğru sayı yoktur; gerekli FPS sahnedeki nesnenin hızına, boyutuna ve karar penceresine göre belirlenir. Durağan sahne ve arşiv analizinde düşük kare hızı yeterli olabilir. Yavaş hareket eden nesnelerde 25-30 FPS tipiktir. Hızlı ve küçük nesnelerin kesintisiz tespiti ve takibi için 50-150 FPS bandı gerekir; insansız hava aracı görüntüsünde sınıftan bağımsız uçan cisim tespiti ve takibi yürüttüğümüz projede hedeflediğimiz bant budur.
FPS ile gecikme (latency) arasındaki fark nedir?
FPS birim zamanda kaç kare işlendiğini ölçer; gecikme ise tek bir karenin kameradan çıkıp karara dönüşmesi için geçen süredir. İkisi birbirinden ayrılabilir: kareleri toplu halde işleyen (batch) bir sistem yüksek FPS üretirken her karenin bekleme süresini uzatabilir. Bu nedenle kabul kriterine hem hedef FPS hem de uçtan uca gecikme tavanı birlikte yazılmalıdır.
Düşük FPS neden yanlış sayım üretir?
FPS düştükçe ardışık iki kare arasındaki süre uzar ve nesne kare içinde daha uzun mesafe sıçrar. Takip algoritması aynı nesneyi önceki iziyle eşleştiremeyince iz kopar ve nesneye yeni bir kimlik atanır; buna iz kopması (track fragmentation) denir. Aynı nesne birden fazla kez sayılır. Kimlikler iki nesne arasında yer değiştirdiğinde ise kimlik değişimi (ID switch) oluşur. Sonuç, operasyon raporunda şişen sayım ve güvenilirliğini kaybeden izdir.
FPS'i artırmak doğruluktan ödün vermek midir?
Her zaman değil. Çözünürlük ve ilgi alanı (ROI) sınırlama, göreve özel küçük model seçimi, nicemleme (quantization), tespit ile takibin ayrılması ve paralel işlem hattı birbirinden bağımsız hız düğmeleridir ve her biri doğruluğu farklı ölçüde etkiler. Doğru yöntem, aynı doğrulama setinde önce doğruluğu sonra FPS değerini ölçüp ikisini tek tabloda raporlamaktır; ölçülmemiş hız kazancı kabul edilmemelidir.
Kamera FPS değeri ile sistemin işleme FPS değeri aynı mıdır?
Hayır. Kamera saniyede 60 kare yayınlarken işlem hattı saniyede 12 kare işliyorsa sistemin gerçek FPS değeri 12'dir. Kalan 48 kare işlenmeden düşer ve o karelerde olan hiçbir şey sistem tarafından görülmez. Teknik ekipten gelen FPS rakamının zincirin hangi noktasında ölçüldüğü bu nedenle mutlaka sorulmalıdır.
Projenizin FPS hedefini birlikte belirleyelim
Gerçek zamanlı görüntü işleme projelerinde hedef FPS, gecikme tavanı ve doğruluk birlikte kurgulanır. Mevcut sisteminizin ölçümlerini değerlendirmek veya yeni bir kurulumun kabul kriterlerini yazmak için bize ulaşabilirsiniz.
AI Yapay Zeka Mühendislik A.Ş.
Telefon: 0540 509 19 05
E-posta: gokhan@aiyapayzeka.io
Çalışma saatleri: her gün 09.00-19.00
Yazar: Dr. Gökhan Tahıl, AI Yapay Zeka Mühendislik A.Ş. kurucusu. Fransa'da yapay zeka alanında doktora, bilgisayar mühendisliği temeli. Şirket ISO 42001 belgesine sahiptir ve ISO 42001 danışmanlığı vermektedir.
Son güncelleme: 17 Ağustos 2026