- Dijital kameranın RAW sensör verisinin hangi biçimde kaydedildiğini adım adım gösteren bir deney
- İlk veri, 14 bit ADC çıkışının 0–255 RGB’ye basitçe eşlenmiş gri tonlu bir biçimidir; gerçek parlaklık aralığı sınırlıdır
- Bayer filtresi uygulanarak her pikselin renk filtresi bilgisi yansıtılır ve komşu piksellerin ortalamasıyla demosaicing gerçekleştirilir
- Gamma düzeltmesi ve white balance ayarından geçilerek, insan görüsü ile ekranların doğrusal olmayan parlaklık algısı arasındaki fark düzeltilir
- Son olarak, kameranın dahili JPEG işlemesiyle karşılaştırılarak “düzeltilmemiş fotoğraf” diye bir kavramın fiilen var olmadığı gösterilir
RAW sensör verisinin ilk hali
- Kamera sensörünün kaydettiği ham veri, 14 bit ADC değerlerinden oluşur; bunu 0–255 RGB’ye basitçe dönüştürmek gri tonlu bir görüntü üretir
- Gerçek ADC değer aralığı yaklaşık 2110~13600 olduğundan, parlaklık bu aralık siyah-beyaz referansı alınarak yeniden ayarlanır
- Bu aşamadaki görüntüde renk bilgisi neredeyse yoktur; çünkü sensör yalnızca ışık şiddetini ölçer
Renk bilgisinin geri kazanılması süreci
- Renkli kamera sensörü, Bayer filtre dizisi sayesinde her pikselde kırmızı, yeşil veya mavi renklerden yalnızca birini algılar
- Her piksele kendi renk filtresine uygun renk verildiğinde renk hissi oluşur, ancak her pikselde RGB’den yalnızca biri bulunur
- Komşu piksellerin değerleri ortalanarak demosaicing yapıldığında, tüm görüntüde renk geri kazanılır
Parlaklık ve gamma düzeltmesi
- Ortaya çıkan görüntünün karanlık görünmesinin nedeni, monitörün dinamik aralık sınırları ve insan görüsünün doğrusal olmayan parlaklık algısıdır
- Doğrusal veri doğrudan gösterildiğinde karanlık göründüğü için, karanlık alanları aydınlatmak amacıyla doğrusal olmayan bir gamma eğrisi uygulanır
- Ancak bu süreçte yeşil kanalın baskınlaşması ortaya çıkar; bunun nedeni sensörün yeşile duyarlılığı ve Bayer dizisindeki yeşil ağırlığıdır
White balance ve renk düzeltmesi
- White balance sağlamak için her renk kanalı belirli oranlarda ayarlanır
- Doğrusal olmayan dönüşümden önceki aşamaya dönülerek yeşil kanal düşürülür, ardından gamma eğrisi yeniden uygulanır
- Bu süreç sonunda doğal renk tonlarına sahip bir fotoğraf elde edilir
Kamera JPEG işlemesiyle karşılaştırma
- Aynı RAW veriden kameranın oluşturduğu dahili JPEG görüntüsü, zaten birçok matematiksel düzeltme sürecinden geçmiş bir sonuçtur
- Düzenleme yazılımında kontrast veya white balance ayarlamak, özünde kameranın iç işlemesiyle aynı türden işlemlerdir
- “Düzenlenmemiş fotoğraf” kavramı gerçekte yoktur; tüm fotoğraflar matematiksel işlemenin sonucudur
- İnsan görüsünü kusursuz biçimde yeniden üretmek zordur ve ekran sınırlamaları nedeniyle manuel düzeltme ihtiyacı her zaman vardır
1 yorum
Hacker News görüşleri
Her piksele aynı transfer fonksiyonunu uygulamanın ‘işleme’ sayılıp sayılmayacağını düşünüyorum
Film döneminde ISO 400 siyah-beyaz filmi 1600’e push ederek kullanınca iri gren oluşurdu, ama bu tüm fotoğrafa eşit dağılmış bir ‘gürültü’ olurdu
Günümüzde gürültü giderme inanılmaz derecede ilerledi, ancak bu süreçte görüntünün kendisi değiştirilebiliyor
Örneğin IP kameram, bisikletle içeri girerken bazen tekerleğin bir kısmını yok ediyor. Algoritma asfalt dokusunu gürültü sanıp siliyor
Akıllı telefonlarda ya da dijital kameralarda da yakınlaştırınca veya düşük ışıkta yüzler ‘resim gibi’ görünüyor
Ben açıkçası dürüst gürültüyü ya da ‘yok’tan bugünün varsayılanına kadar ayarlanabilen bir gürültü giderme algoritmasını tercih ederim
‘Görüntü’nün soyutlama katmanlarını soyan yazıları seviyorum. Sonuçta modern fotoğrafçılık, pazarlama eklenmiş sinyal işlemeden ibaret
Bayer deseninin RGGB (yüzde 50 yeşil) olmasının nedeni yalnızca renk dengesi değil, mekânsal çözünürlük de
İnsan gözü yeşile en duyarlı olduğu için, yeşil kanal parlaklığın (ayrıntının) büyük bölümünü taşır
Gelişmiş demosaicing algoritmaları, yeşil kanaldan yüksek çözünürlüklü bir luma haritası oluşturup ardından kırmızı ve maviyi renk farkı katmanları olarak enterpole eder
Bu ilke sayesinde 4:2:0 kroma alt örnekleme gibi video sıkıştırmaları da mümkündür
Daha derine inmek isterseniz dcraw veya libraw kaynak koduna bakmanızı öneririm. Her sensör üreticisi için ‘raw voltajı’ yorumlamaya yönelik sayısız istisna işleme var
g = .299r + .587g + .114bBu oran gri tonlamalı görüntülerin parlaklığını belirler
Ve orada alıntılanan şiir dizesi etkileyiciydi — rengin kaybolduğu bir dünyayı tasvir ederken, sonunda ‘doğru’ diye karar verdiğimiz şeyin aslında sadece kuantalama hatası olduğunu hicvediyor
FFmpeg çağrısına yalnızca bir RGB→luma dönüştürme bayrağı eklenmiş olsaydı sorun çözülecekti
Elbette bunun nedeni insan gözünün yeşile duyarlı olması, ama yine de bir şekilde mantıksız hissettiriyor (⩺_⩹)
Kameranın ürettiği JPEG zaten başlı başına yoğun biçimde işlenmiş bir çıktı
Eğrileri, eşlemeleri ve düzeltme değerlerini değiştirip başka bir JPEG üretmek ‘manipülasyon’ değil, sadece farklı bir yorumdur
Kamera sensörleriyle ilgili çalışıyorum ve bu yazının yeni başlayanların eğitimi için çok iyi olduğunu düşünüyorum
RAW veriden başlayıp alışıldık çıktıya uzanan süreci gösterince kavramak kolaylaşıyor
“then” yerine “than” kullanılmalı; ufak bir yazım hatası notu
Lisans eğitimimde uzaktan algılama (remote sensing) okurken sensörleri ve sinyal işlemeyi gerçekten anlamaya başladım
Gördüğüm şey ‘hakikat’ değil, verinin kısmi bir görünümü (view)
İnsan gözü, kedi gözü ve kamera; her biri verinin farklı alt kümelerini topluyor ve temsil ediyor
Mekânı ve zamanı sinyalin ek boyutları olarak düşününce daha da ilginçleşiyor
Sonunda hepimizin evrenin bir bölümünü gözlemleyen birer sensör sistemi olduğu fikrine varıyorsunuz
Dijital fotoğrafçılıkta dinamik aralık sıkıştırması ve debayering zorunlu,
ama bunun tersine yapay zekanın nesneleri tanıyıp görüntüyü “böyle olması gerekir” diye hayalî biçimde yeniden kurması başka bir mesele
Üreticiler bu yöne itiyor ve bu da kanıt fotoğraflarının güvenilirliği gibi sorunlar doğuruyor
Tüm görüntüler verinin bir yorumudur ve sayısız seçimin sonucudur
İlla ayıracaksak global düzenleme ve lokal düzenleme diye ayırabiliriz; lokal düzenleme daha çok ‘sahte’ye yaklaşır
Ama sonuçta asıl mesele niyet (intent)
Aldatma niyeti varsa, kameradan doğrudan çıkan bir fotoğraf bile ‘sahte’ olabilir
Çoğu insan filtre uygulamayı ‘sahte’ sayıyor ama aslında tüm fotoğraflara filtre uygulanır
Sürecin kendisine ‘sahte’ demek anlamsız
Tim’s Vermeer filminden bir alıntıyı hatırlattı
“Sanat ile teknolojinin ayrılması gerektiği yönündeki modern düşünce yanlış” sözü gibi,
sanat ile teknolojinin birleşimi tam da altın çağın özelliğiydi
Ayrıca John Lind’in The Science of Photography ve
Bob Atkins’in sensör açıklamasını da tavsiye ederim.
Özellikle piksel kuyusu boyutunun neden önemli olduğunu anlatan kısım akılda kalıcıydı
Doğrusal veriyi olduğu gibi göstermek karanlık görünüyorsa, bunun nedeni monitörlerin sınırlamaları diye düşünüyorum
Bit derinliği yeterince büyükse gama düzeltmesi olmadan doğrusal ışıkla göstermek mümkün olmaz mı
İnsanın parlaklık algısı doğrusal olmadığı için, bir aşamada mutlaka doğrusal olmayan dönüşüm gerekir
Hesaplamayı 16 bit ve üzeri doğrusal renk uzayında yapıp, ekrana vermeden hemen önce gama uygulamak idealdir
Eskiden doğrusal olmayan RGB ile harmanlama yapıldığı için karanlık tonlarda bantlaşma oluşurdu
CRT’lerde gama, elektron tabancasının doğrusal olmayan tepkisini düzeltmek için kullanılıyordu; film ve CMOS sensörler de ışığa logaritmik tepki verdiğinden benzer işleme ihtiyaç duyar
‘İşlenmemiş fotoğraf’ diye bir şey pratikte yok
RAW, yalnızca RGGB piksel değerlerinin bir kümesidir; bunu ekranın dar dinamik aralığına sığdırmak için veriyi stratejik biçimde atmak
ve orta gri noktasını tanımlamak ise doğrudan yaratıcı yorumun alanına girer
Yazıdaki örnekler çok yapay ve çok renkli ışıklarla dolu olduğu için, ‘referans hakikat’in ne olduğu zor anlaşılıyor gibi bir eksiklik var
Son iki görseli karşılaştırıp herkes kendi tercihine göre ‘sonucu’ değerlendirebilir