Baumer GAPI SDK ile Gölgeleme Düzeltmesi (Düz Alan Düzeltmesi) [AN201803]
Baumer Kameraları, Baumer GAPI SDK v2.9.2 ve sonrası
Baumer GAPI gölgeleme düzeltmesi (düz alan düzeltmesi), kamera/lens sistemi veya düzensiz ışık kaynaklarının neden olduğu parlaklık farklarını önemli ölçüde azaltmak için görüntüleme sisteminizi kalibre etmenize yardımcı olur.
Giriş
Görüntüleme sistemlerinde, çeşitli nedenlerden dolayı tam görüntü çerçevesinde parlaklık değişiklikleri olması nadir değildir. Bu değişiklikler, bir görüntüleme sisteminin çeşitli görevlerini gerçekleştirmek için geliştirilen nesne algılama veya kod okuma gibi algoritmaları olumsuz etkileyebilir.
“Düz alan düzeltmesi,” dijital görüntülemede kaliteyi artırmak için kullanılan bir tekniktir. Amaç, dedektörün pikselden piksele duyarlılığındaki varyasyonlar ve/veya optik yoldaki bozulmalar nedeniyle oluşan 2D görüntülerdeki artefaktları ortadan kaldırmaktır. Bu, cep dijital kameralarından dev teleskoplara kadar her şeyde kullanılan standart bir kalibrasyon prosedürüdür. Düz alan düzeltmesi, bir dedektördeki farklı kazançlar ve karanlık akımlar için telafi sürecini ifade eder. Bir dedektör uygun şekilde düz alan düzeltmesine tabi tutulduktan sonra, uniform bir sinyal uniform bir çıkış oluşturur (dolayısıyla düz alan). Bu, daha sonra algılanan olguya dayalı bir sinyalin var olduğu ve sistematik bir hatadan kaynaklanmadığı anlamına gelir.”
Wikipedia: https://en.wikipedia.org/wiki/Flat-field_correction [05.06.2018]

Algoritmanın sınırlamalarını anlamak önemlidir. Bir görüntüdeki parlaklık farkı %25 ile %30’dan büyükse, bu durumda bileşen seçimiyle ilgili sorunlar olduğunu düşünebiliriz ve algoritma beklenen sonuçları vermeyebilir. Bu nedenle, sistem bileşenlerini değiştirmeyi düşünmeniz gerekebilir.
Adım 1: Görüntüleme Sisteminin Ölçülmesi
Not:
En iyi sonuçlar için ölçümlerin, tüm görüntüleme sistemi kurulumunun gerçek ortamında yapılması gerekir. Sadece statik etkilerin azaltılabileceğini anlamak önemlidir. Bu, lens, diyafram veya ışık kaynaklarını değiştirirseniz sistemi yeniden kalibre etmeniz gerektiği anlamına gelir.
Görüntüleme Sistemini kurduktan ve diyafram ile ışık ayarlarını istediğiniz şekilde ayarladıktan sonra, örnek size en karanlık (karanlık alan çerçevesi) ve en aydınlık görüntü (ışık çerçevesi) için 2 veri seti oluşturmanız konusunda rehberlik edecektir.
Örnek, her set için birkaç görüntü alacak ve sensör gürültüsünün etkisini azaltmak için bir ortalama oluşturacaktır. Bu ortalama görüntüler daha sonra görüntüleme sistemi tarafından alınan görüntüleri düzeltmek için gerekli verilerin hesaplanmasında kullanılır.
Aydınlık referans için temiz ve beyaz bir hedefe ihtiyacınız var; kalibrasyon sonrası herhangi bir artefakt (kir veya hatta kağıdın dokusu gibi) görünür olabilir! Hedef, kalibre etmek istediğiniz tüm yüzeyi kaplamalıdır. İdeal olarak, kalibre edilmiş bir hedef kullanılması önerilir, ancak bu kesinlikle gerekli değildir.
Görüntüleme Sisteminin Kurulumu
- Kamera, lens ve ışık kaynaklarını içeren görüntüleme sisteminizi, planladığınız kullanım amacına uygun şekilde kurun.
- Uygulamanız için gerekli olan pozlama süresini, diyafram açıklığını, kazancı ve ışık kaynaklarının yoğunluğunu yapılandırın.
- Görüntünün aşırı doygun olmamasını sağlamak için sabit bir pozlama süresi ayarlayın. Bu, Baumer Camera Explorer (Histogram Görünümü, F7) yardımıyla yapılabilir. Ayrıca, görüntüdeki gürültüyü en aza indirmek için kazancın en düşük seviyeye ayarlandığından emin olun.
Karanlık Alan Referansının Alınması
Bu adım, tam düz alan düzeltmesi sağlamak için isteğe bağlıdır. Sadece gölgeleme düzeltmesi gerekiyorsa, bu adımı atlayabilirsiniz. Ölçüm, belirli bir kamera için yalnızca bir kez gereklidir.
- Uygun bir konumda 016_FlatField_Calculation.cpp örneğini derleyin ve başlatın.
- Karanlık alan referansını oluşturmak için, kamera sensörüne gelen ışığı tamamen engellemek gerekir. Bunu en iyi şekilde, lens kapağını kapatarak veya lensi çıkarıp kameranızla birlikte gelen koruyucu kapağı takarak yapabilirsiniz.
- Karanlık Alan Çerçevesini almak için “D” tuşuna basın.
- Örnek, birkaç görüntü alacak ve hesaplanan referans verilerini, örneğin bulunduğu klasörde Baumer Ham Görüntü (dark_field_reference.brw) olarak kaydedecektir. Brw dosyaları, Baumer Camera Explorer ile görüntülenebilir.
- Ölçüm ve hesaplamalar başarılı olduğunda örnek sizi bilgilendirecektir. Eğer örnek size sorunları bildirdiğinde, Görüntüleme Sisteminizin kurulumunu tekrar kontrol edin ve ölçümü tekrarlayın.
Işık Referansını Alın
- Şimdi, ışık çerçevesi için sistemi ayarlamanız gerekiyor. Lütfen lens kapağını çıkarın veya lensi tekrar takın ve yapılandırılmış tüm ışık kaynaklarını açın.
- Eğer sisteminizin aydınlatması kameraya doğru parlıyorsa (örneğin, bir nesnenin 2D şeklini almak için), Görüntüleme Sisteminin görüş alanından herhangi bir nesneyi çıkarın. Aksi takdirde, nesnenin yer alacağı yere tamamen beyaz bir kağıt yerleştirin. Görüş alanının tamamının bu kağıt tarafından kaplandığından emin olun!
- Derlenmiş örneği tekrar başlatın ve Işık Çerçevesini almak için “L” tuşuna basın.
- Hesaplanan referans verileri, yine örneğin bulunduğu klasörde Baumer Ham Görüntü (light_reference.brw) olarak kaydedilecektir.
- Ölçüm ve hesaplamalar başarılı olduğunda örnek sizi bilgilendirecektir. Eğer örnek size sorunları bildirdiğinde, kurulumunuzu tekrar kontrol edin ve ölçümü tekrarlayın.
- Artık sisteminiz tarafından alınan görüntüleri düzeltmek için her şey hazır.
Not
Eğer ideal olmayan bir hedef (örneğin, kağıt) kullanılırsa, hedefteki yapılar veya kirler düzeltme yapılmış görüntüde görünür olabilir. Bu durumda, Baumer GAPI kutu ve medyan filtreleri, istenmeyen artefaktları azaltmaya yardımcı olabilir. Ancak bu filtreler, gölgeleme düzeltmesini olumsuz etkileyebileceğinden, yalnızca son çare olarak kullanılmalıdır.
Filtrelerin nasıl kullanılacağına dair bir örnek:
bo_uint r = m_pShading->GetFilter(BGAPI2::Ext::Sc::Shading::BoxFilter, true);
bo_uint rMin = m_pShading->GetFilterMin(BGAPI2::Ext::Sc::Shading::BoxFilter, true);
bo_uint rMax = m_pShading->GetFilterMax(BGAPI2::Ext::Sc::Shading::BoxFilter, true);
// Set median-filter radius for light reference
m_pShading->SetFilter(BGAPI2::Ext::Sc::Shading::MedianFilter, true, 1);
// Set box-filter radius for light reference
m_pShading->SetFilter(BGAPI2::Ext::Sc::Shading::BoxFilter, true, 2);
Adım 2: Görüntüleme Sisteminin Görüntülerini Düzeltme
Ölçüm adımında alınan referanslar, artık Görüntüleme Sisteminiz tarafından alınan görüntüleri düzeltmek için kullanılabilir. Genellikle, bu düzeltmeyi uygulamanıza dahil etmek istersiniz; örnek size ne yapmanız gerektiğini gösterecektir.
Örnek, iki farklı ölçüm yapabilir: Eğer karanlık alan referansı ve ışık referansı sağlarsanız, bir düz alan düzeltmesi (flat-field correction) hesaplanır. Sadece ışık referansı sağlarsanız, yapılan hesaplama bir gölgeleme düzeltmesidir.
- Görüntüleme Sisteminizi istediğiniz gibi kurun ve gerekli şekilde bir nesne yerleştirin.
- 017_FlatField_Correction.cpp örneğini uygun bir klasör konumunda derleyin ve başlatın.
- Klasörünüzde dark_field_reference.brw ve light_reference.brw referanslarının bulunduğundan emin olun.
- Bir görüntü almak için herhangi bir tuşa basın.
- Örnek bir görüntü alacak ve düzeltilmiş görüntüyü örneğinizin bulunduğu klasör içinde saklayacak; dosya adı imageSample.brw olacaktır. Bu brw dosyaları, Baumer Camera Explorer kullanılarak açılabilir ve dönüştürülebilir.