Gaussian filtreleri neden görüntü işlemede düşük geçişli filtreler olarak kullanılıyor?


30

1d sinyal işlemede, birçok düşük geçiş filtresi türü kullanılır. Gaussian filtreleri, neredeyse hiç kullanılmaz.

Görüntü işleme uygulamalarında neden bu kadar popülerler? Bu filtreler, herhangi bir kriteri optimize etmenin bir sonucu mu, yoksa sadece 'bant genişliği' resmi iyi tanımlanmadığından geçici bir çözüm.

Yanıtlar:


28

Görüntü işleme uygulamaları, söz konusu ses işleme uygulamalarından farklıdır, çünkü çoğu göze göre ayarlanmıştır. Gauss maskeleri neredeyse optik bulanıklığı mükemmel şekilde simüle eder (ayrıca nokta yayma fonksiyonlarına bakınız ). Sanatsal üretime yönelik herhangi bir görüntü işleme uygulamasında, Gaussian filtreleri varsayılan olarak bulanıklaştırma için kullanılır.

Gaussian filtrelerin bir diğer önemli niceliksel özelliği, her yerde negatif olmayan olmalarıdır . Bu önemlidir, çünkü çoğu 1D sinyalleri yaklaşık 0 ( ) değişkendir ve pozitif veya negatif değerlere sahip olabilir. Görüntüler bir görüntünün tüm değerlerinin negatif olmadığı anlamında farklıdır ( ). Gauss çekirdeği (filtre) ile evrişim negatif olmayan bir sonuç garanti eder, bu nedenle bu işlev negatif olmayan değerleri diğer negatif olmayan değerlerle eşleştirir ( ). Sonuç, her zaman geçerli başka bir resimdir.xRxR+f:R+R+

Genel olarak, Görüntü işlemede frekans reddi, 1D sinyallerinde olduğu kadar önemli değildir. Örneğin, modülasyon şemalarında, farklı taşıyıcı frekanslarda iletilen diğer kanalları ve benzerlerini reddetmek için filtrelerinizin çok hassas olması gerekir. Görüntü işleme sorunları için kısıtlayıcı bir şey düşünemiyorum.


21

Gaussian filtreleri, görüntü işlemede kullanılır, çünkü zaman alanındaki desteklerinin frekans alanındaki desteklerine eşit olma özelliğine sahiptir. Bu, Gaussian'ın kendi Fourier Dönüşümü olmasıyla ortaya çıkar.

Bu etkileri nelerdir? Eğer filtrenin desteği her iki alanda da aynıysa, bu her iki desteğin de oranı 1 demektir. Görünüşe göre, bu Gaussian filtrelerinin 'minimum zaman-bant genişliği ürününe' sahip olduğu anlamına gelir.

Öyleyse ne diyebilirsin? Görüntü işlemede, göze çarpan kenarları korurken, beyaz gürültüyü gidermek çok önemli bir görevdir. Bu çelişkili bir görev olabilir - yüksek frekans aralığında kenarlar varken, tüm frekanslarda eşit derecede beyaz gürültü vardır. (Mekansal sinyallerde ani değişiklikler). Filtreleme yoluyla geleneksel gürültü gidermede, bir sinyal düşük geçişli filtrelidir, bu, sinyalinizdeki yüksek frekans bileşenlerinin tamamen kaldırıldığı anlamına gelir.

Fakat eğer görüntüler kenarları yüksek frekanslı bileşenler olarak kullanıyorsa, geleneksel LPF'leme bunları da kaldıracak ve görsel olarak, bu, kenarların daha 'lekelenmiş' hale gelmesiyle kendini gösterir.

O zaman, gürültüyü gidermek, aynı zamanda yüksek frekanslı kenarları korumak için nasıl? Gauss çekirdeğini girin. Bir Gaussianın Fourier Dönüşümü de bir Gaussyalı olduğu için Gaussian filtresi, daha yüksek frekansların kaldırıldığı bazı geçiş bandı frekansında keskin bir kesime sahip değildir. Bunun yerine, frekans arttıkça azalan zarif ve doğal bir kuyruğu vardır. Bu, düşük geçişli bir filtre görevi göreceği anlamına gelir, ancak aynı zamanda daha yüksek frekanslı bileşenlerde, kuyruklarının ne kadar çabuk bozulduğuyla orantılı olmasını sağlar. (Öte yandan, bir LPF daha yüksek bir zaman bant genişliği ürününe sahip olacaktır, çünkü F-alanındaki desteği neredeyse Gausslarınki kadar büyük değildir ').

Bu, kişinin her iki dünyanın da en iyisini elde etmesini sağlar - gürültü giderme, artı kenar koruması.


2
Biri zaman / uzunluk, diğeri Hz / radyan cinsinden ölçüldüğü için iki desteği doğrudan karşılaştırabileceğinizden emin değilim. Onların morfolojisi aynıdır, fakat evrensel ölçekleme özelliği hala geçerli.
Phonon

Minimum bant genişliği ürününü hatırlattığın için teşekkür ederim. Bununla birlikte, Phonon'un belirttiği gibi, uzamsal (zaman) etki alanını azaltmak, bant genişliğini mutlaka arttırır. Gürültü bastırma özelliğine sahip olmanın ve kenarları basit bir Gaussian filtre ile korumanın imkanı yok. Bu yüzden Perona & Malik anizotropik filtreleme geliştirmiştir.
nimrodm

@Phonon Gördüğüm gibi, destekler basitçe sıfır olmayan girişlerin her ikisinde de işlevi tanımladığı şeydir - aynı olduklarına inanıyorum. (Dolayısıyla, 1 oranı). Söylendiği gibi, zaman bant genişliği ürünü, fonksiyonun zaman ve frekanstaki varyansının bir ürünü olarak ölçülür. Normalize edilmesinin yazarlardan farkı ne kadarsa, 1 veya 1 / 4'e eşit olduğunu gördüm.
Spacey

1
@nimrodm "uzamsal (zamana bağlı) alan desteğini azaltmak, bant genişliğini zorunlu olarak arttırır.", Evet, bu, zaman-frekans ters ilişkisinden kaynaklanan eğilimdir . (Zaman-frekans belirsizliğinin geldiği yer burasıdır). Ancak, Gauss işlevi, bu ürünü tamamen minimize eden bir sınıftır. Zaman ve frekans arasındaki ters ilişki göz önüne alındığında, her iki alanda da eşit destek olmadıkça, bunu yapmanın bir yolu yoktur.
Spacey

@nimrodm Anizotropik difüzyonda, gördüğüm çekirdekler, görüntünün gradyanına bağlı olan kovaryans matrislerine rağmen hala gausstur. (Aynı zamanda doğrusal olmayan bir yöntem, doğrusal olan VS gauss yumuşatma). Ancak, Gaussian özellikleri nedeniyle kullanılmış kalır.
Spacey

11

Zaten iyi cevaplarınız var, ancak 2D Gaussian filtrelerin bir başka kullanışlı özelliğini daha ekleyeceğim , yani bunlar ayrılabilir , yani 2D filtre iki 1D filtreye ayrıştırılabilir. Bu, daha büyük çekirdek boyutları için önemli bir performans değerlendirmesi olabilir, çünkü MxN ayrılabilir bir filtre, M+Nçoklu katmanlar ile uygulanabilirken, ayrılmaz bir MxN filtre, M*Nçoklu katmanlar gerektirir .


2
Bu iyi bir tartışma. Bir 2D Gauss filtre radyal simetrik hem ve uygulama karmaşıklığı önemli ölçüde azalır, böylece yine ayrılabilir.
nimrodm

1
Referans olarak, DSP Bilim Adamı ve Mühendis Kılavuzu Bölüm 24'te bu özelliğin mükemmel bir tanımını sunar .
Caleb Reister

6

Imagagick el kitabı, sincer fonksiyonlarıyla filtrelemenin neden Gauss'lar olmasa da "çalma" etkileri yarattığının harika bir açıklaması vardır. ( http://www.imagemagick.org/Usage/fourier/#blurring ve http://www.imagemagick.org/Usage/fourier/#circle_spectrum ). Görüntünüzde kenarlar (süreksizlik) varsa (çoğu görüntünün yaptığı) o zaman tüm yüksek frekansları tamamen kesmek sizi uzaysal alanda dalgalanmalar ile bırakır. Ayrıca, bir boyutta bir sinc işlevi olan kare dalgaları filtrelendiğinde çınlıyorsunuz.


2

Çoktan güzel cevaplar oldu, ama tuz tanecikimi ekleyeceğim, daha farklı bir bakış açısı:

En soyut düzeyde filtreleme, bazı ham verilere önceki bazı bilgileri uygulamak olarak düşünülebilir. Bu, örneğin bir filtreleme algoritması uygulamasının, örneğin sinyal / gürültü oranında bir optimum bulmadan önce bunu uygulamak olduğu anlamına gelir.

Görüntü için klasik bir öncelik, pozisyona göre değerlerin düzgünlüğü (örn. Yoğunluk) (bu, @fonon tarafından belirtilen nokta yayılma fonksiyonu olarak görülebilir). Genellikle farklı cisimleri bilinen bir pürüzsüzlük yarıçapı ile karıştırırken elde edeceğiniz şekli olduğu için gauss olarak modellenir (buna merkezi limit teoremi denir ). Bu, çoğunlukla bir görüntünün türevlerini yapmak istediğinizde kullanışlıdır: ham sinyali ayırt etmek yerine (gürültülü bir çıktı üretir), bunu düzgünleştirilmiş görüntü üzerinde yapmalısınız. Gabor filtreleri gibi dalgacık benzeri bir operatör uygulamak için eşdeğerdir .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.