1 puan yazan GN⁺ 2025-08-24 | 1 yorum | WhatsApp'ta paylaş
  • Line-scan kamera, tren gibi hareketli nesneleri yüksek çözünürlükte ve bozulma olmadan çekmek için çok uygundur
  • Görüntü işleme için ilgi alanı tespiti, hız kestirimi, yeniden örnekleme gibi çeşitli algoritmalar ve teknikler gerekir
  • Yatay ve dikey şerit giderme ile gürültü bastırma gibi kalite iyileştirme işlemleri önemlidir
  • Uygulama tarafında büyük veri işleme, Python, numpy kullanımı ve çeşitli deneysel iyileştirmeler yer alır
  • Diğer fotoğrafçıların line-scan fotoğraf örnekleriyle karşılaştırma yaparak ek içgörüler elde edilebilir

Line-scan kamera genel bakışı

  • Line-scan kamera, tek satırlık (veya iki satırlık) piksel dizisiyle görüntüyü çok yüksek hızda tarar
  • Kamera sabittir; tren kameranın önünden geçerken tüm şekli kaydedilir
  • Durağan arka plan, görüntünün tüm dikey sütunlarında tekrarlandığı için kendine özgü bir şerit etkisi ortaya çıkar
  • Bu yöntem, trenin tüm uzunluğu boyunca bozulmasız yüksek çözünürlüklü fotoğraf çekmeyi mümkün kılar; tren modelleme gibi hobiler için de faydalıdır
  • Film tabanlı strip kameralar da benzer prensiple çalışır, ancak duyarlılık sorunları nedeniyle film hızını elle ayarlamak gerekmesi gibi bir fark vardır

Kamera ekipmanı

  • [Alkeria Necta N4K2-7C] modeli kullanılıyor ve 4096×2 çift Bayer array image sensor barındırıyor
  • Ham veri 16 bitlik ikili diziler olarak saklanıyor
  • Çekimler şehir metrosu gibi çeşitli ortamlarda yapılıyor

İlgi alanı (ROI) tespiti

  • Uzun süreli taramalarda büyük miktarda arka plan verisi oluştuğu için hareketli nesne aralığını otomatik tespit eden algoritma zorunludur
  • Enerji fonksiyonu (gradient tabanlı) ile maksimum piksel değeri gibi ölçütler birleştirilerek dikey yapı (hareket) ve yatay yapı (arka plan) ayrıştırılır
  • Görüntü birden fazla chunk'a bölünür ve her chunk'ın %99'luk enerji değeriyle skor hesaplanır
  • Skoru en düşük değerin 1,5 katını aşan chunk'lar, hareketli nesne içeren bölge olarak kabul edilir
  • Önceki yöntemler genellemede başarısız olmuş, mevcut yöntem ise farklı koşullarda daha verimli çalışmıştır

Hız kestirimi

  • Özne hareket ederken hız kestirimi başarısız olursa görüntüde uzama veya sıkışma kaynaklı bozulma oluşur
  • Kameranın iki yeşil (Green) kanalı karşılaştırılarak her chunk için hareket hızı hesaplanır
  • Her chunk'a -7 ile +7 arasında küçük kaydırmalar uygulanır, ardından iki kanal arasındaki mutlak fark hesaplanarak cost array oluşturulur
  • Subpixel peak bulmak için Gaussian tabanlı [mean shift] tarzı enterpolasyon kullanılır, ardından spline ile toplam değişim düzeltilir
  • Elde edilen spline değerleri, ham zaman serisindeki örnek aralığını ifade eder ve görüntü bozulmasını düzeltmekte kullanılır

Yeniden örnekleme

  • Spline'a göre örnek konumları hesaplanarak yeni görüntü çıkarılır
  • Spline negatifse sağ-sol ters çevirme, 0'a yakınsa hata işleme gibi istisna durumları dikkate alınır
  • Her örnek konumu için örnek genişliği bilgisi de saklanır; Hann window gibi uygun pencereleme fonksiyonları ile anti-aliasing performansı artırılır
  • Basit sütun seçimi veya dikdörtgen pencere, upsampling sırasında kaba artefaktlar ürettiği için uygun değildir

Demosaicing

  • 2 sütunlu Bayer dizisinin uzamsal ofsetini dikkate alan bilinear interpolation gibi özel bir demosaicing gerekir
  • Hız kestiriminden sonra lineer enterpolasyon ile fringing gibi etkiler düzeltilir
  • İki yeşil kanal verisi arasındaki fark sayesinde, normal Bayer dizilerine göre daha iyi tam renkli geri kazanım potansiyeli de olabilir

Dikey şerit giderme

  • Clock jitter (stripes) ve özne parlaklığındaki değişim nedeniyle görüntüde dikey şeritler oluşur
  • Lineer regresyon ve Gaussian ağırlıkları kullanan sütun başına düzeltme fonksiyonu (iteratively reweighted least squares) ile şeritler düzeltilir
  • Bu düzeltme fonksiyonları matematiksel olarak bir grup yapısı oluşturur; düzeltmeler biriktikçe drift oluşmasını önlemek için band-diagonal lineer sistem çözümü değerlendirilebilir
  • Pratikte üssel yumuşatma filtresi gibi yöntemlerle yüksek frekanslı gürültü de bastırılabilir
  • Şerit düzeltmesi mutlaka hız kestiriminden önce yapılmalıdır

Gürültü bastırma

  • Yama tabanlı (block matching) gürültü kontrol tekniği uygulanır; tren yüzeyindeki tekrar eden dokular aktif biçimde kullanılır
  • Her 3×3 piksel yamasının özellik vektörü kullanılır ve benzer yamalar içinde ağırlıklı ortalama alınarak gürültü azaltılır
  • Sinyal gücüne göre Poisson dağılımı için ön işleme (karekök dönüşümü) uygulanıp karşılaştırma yapılırsa performans artar
  • Mevcut total variation denoising teknikleri doku kaybını fazla artırdığı için uygun değildir
  • Bu tekniğin sınırlaması, hesaplama maliyetinin yüksek ve çalışmasının yavaş olmasıdır

Eğim (Skew) düzeltmesi

  • Kamera dikey değilse tüm görüntünün hafifçe yamulması durumu ortaya çıkar
  • Skew tespiti, bilgi kaybını en aza indirmek için hız kestiriminden sonra ve son yeniden örneklemeden önce yapılmalıdır
  • Hough dönüşümü gibi yöntemlerle dikey yapılara dayalı otomatik tespit mümkündür

Renk düzeltme

  • Şu anda tonlar manuel düzeltme matrisi ile ayarlanıyor
  • Pratikte doğal ten tonları dahil oldukça iyi kalite elde ediliyor

Uygulama ayrıntıları

  • Tüm pipeline Python ve numpy ile uygulanmış
  • Veri boyutu büyük olduğundan (4096 satır × yüz binlerce sütun), bellek yetersizliği sorununu aşmak için chunk bazlı aşamalı işleme yaklaşımı benimsenmiş
  • Tek seferde bellek ayırmak mümkün olmadığından, her aşamada verinin bir kısmı işlenip kaydediliyor

Uygulama deneyimi

  • Kod geliştirmede yapay zeka araçları kullanılmaya çalışılmış, ancak sonuçlar sınırlı kalmış
  • Yapay zeka, lineer problemleri gereksiz yere ikinci dereceden zaman karmaşıklığına dönüştüren verimsiz kodlar üretebiliyor
  • Büyük dizilerle çalışırken gereksiz tam maske oluşturma gibi bellek sorunları sık görülüyor
  • Buna karşılık bazı API kullanımları, kodun yapılandırılması ve görselleştirme (Matplotlib) gibi alanlarda yapay zeka yardımcı olabiliyor

Başkalarının line-scan tren fotoğrafı örnekleri

Adam Magyar

  • [Adam Magyar], kendine özgü siyah-beyaz line-scan kamerasıyla "Stainless" ve "Urban Flow" projelerini yürüttü
  • İç mekân metro gibi düşük ışıklı ortamlarda bile çok temiz sonuçlar elde etti
  • Metro aydınlatmasındaki flicker etkisinden kaçınmak için çekim konumu dikkatle seçilmelidir

KR64 blogu

  • [kr64.seesaa.net] üzerinde Japonya genelinden çok sayıda farklı tren line-scan fotoğrafı yayımlanmış durumda
  • Bunların film slit-scan kamera tabanlı olduğu tahmin ediliyor; çeşitlilik ve kalite çok yüksek
  • Site teknik sorunlar nedeniyle sık sık erişilemez oluyor ve iletişim kurulamıyor

1 yorum

 
GN⁺ 2025-08-24
Hacker News yorumu
  • Ben de bu fikri gerçekten çok seviyorum; benzer bir şekilde New England'daki en büyük ağacı taramak için drone kullanmayı denemiştim. Sonuç çok iyi olmamıştı ama tekrar denemeyi düşünüyorum.
    Sonuç
    Bu proje bu hikayenin bir parçasıydı.

  • Ben de benzer bir süreç kullanıyorum ama normal bir kamerayla çekip kareleri elle birleştirerek animasyon yapıyorum.
    Bu yöntemin özelliği, öznenin doğal olarak odakta kalması ve arka planın soyut desenlere dönüşmesidir.
    Her "çizgi" yaklaşık 15 px genişliğinde.
    Örnek 1 Örnek 2 Örnek 3
    Tokyo silüetinin gün batımı timelapse'ini çekip benzer bir teknik uyguladım; ardından motion tracking ile zamanın kare içinde soldan sağa akmasını sağladım.
    Burada her satır 4 piksel ve orijinal animasyon 8k çözünürlükte.
    İlgili video Motion tracking

  • Daha fazla line scan tren örneğine baktım, buradan görebilirsiniz.

  • Bu bana flatbed scanner'ı dijital back gibi kullanan erken dönem deneyleri hatırlattı.
    Örnek: bağlantı

  • Line scan kamerayla araba ya da trenden görünen hareketli manzarayı çekince nasıl göründüğünü merak ediyorum; parallax etkisi nedeniyle ilginç bozulmalar oluşabilir diye düşünüyorum.

    • Trenden çekilmiş birkaç fotoğrafım var —
      Osaka Nankai 6000 Series: fotoğraf
      Fransa manzarası: fotoğraf 1
      Marsilya: fotoğraf 2
      California: fotoğraf 3 fotoğraf 4
      Mor ağaçlar, kameranın yakın kızılötesine duyarlı olması yüzünden böyle görünüyor. IR cut filtresi aldıktan sonra trende fotoğraf çekme fırsatım olmadı. Bazılarında frame drop ya da başka artifact'ler de var.
    • Tam da merak ettiğim şey buydu; teknik olarak yaklaşık bir saatlik tüm tren yolculuğu manzarasını "taramanın" mümkün olup olmadığını merak ediyorum.
    • Her şey sadece bulanık oluyor, bu yazıdaki fotoğrafların arka planına benzer bir his veriyor.
      Araba ya da tren gibi hızlı olduğunda düzgün görünmüyor; hoş bir bozulma için çok yavaş olması gerekiyor.
  • Makale gerçekten çok ilginç, özellikle teleferik fotoğrafı etkileyici.
    Arka plan içeriğinin nasıl seçileceği de eğlenceli bir düşünce konusu.

  • Hatırladığım kadarıyla geçen Olimpiyatlar'da Omega, finiş çizgisi strip kamerasıyla birlikte yüksek frekanslı bir line display kullanmıştı.
    Normal kameralarda yanıp sönen çizgiler gibi görünüyordu ama photo finish arka planında Omega logosu vardı.
    Çok ince bir detay ama bunu başarmış olmaları etkileyiciydi.

  • At yarışı pistlerindeki photo finish kamerasıyla ilgili şu videoyu seviyorum, başkalarına da ilginç gelebilir diye paylaşıyorum.

  • Trenin renkli şeritlerin arasında kusursuz şekilde keskin duruşunda inanılmaz bir hız hissi var.

  • Bence denoising biraz yapay görünüyor ve kalan artifact'leri, özellikle ayrıntılardaki color fringe'i daha da öne çıkarıyor.
    Bence bunu kapatmak daha iyi olabilir.
    Ayrıca demosaic süreciyle ilgili olarak, RCD'nin şu sürümünü uygulamayı denerseniz artifact'siz yüksek çözünürlük elde edilip edilemeyeceğini merak ediyorum.

    • Aslında ben de varsayılan olarak denoising'i kapatıyorum; çünkü yatay çizgi desenleri daha belirgin hale geliyor ve işlem çok yavaşlıyor.
      Dikey çizgi deseni düzeltmesi de her durumda iyi çalışmıyor, hatta bazen daha fazla desen üretiyor.
      Yapılacak daha çok iş var.
      RCD demosaicing bir sonraki adım olacak; color fringing sorunu, kırmızı ve mavi kanallar için basit doğrusal enterpolasyon kullanmış olmamdan kaynaklanıyor.
      Yeşil kanal görüntünün tamamını kapsadığı için, bu kanalı kılavuz alıp enterpolasyonu daha iyi yapmanın yollarını düşünüyorum.
    • Ben de denoising uygulanmış sonucun özellikle daha iyi göründüğünü düşünmüyorum.