- 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
Henüz yorum yok.