日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

各类滤波算子

發布時間:2025/3/17 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 各类滤波算子 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

雙邊濾波(Bilateral filter)

雙邊濾波(Bilateral filter)是一種可以保邊去噪的濾波器。其輸出像素的值依賴于鄰域像素的值的加權組合,即:

g(i,j)=∑k,lf(k,l)w(i,j,k,l)∑k,lw(i,j,k,l)g(i,j)=\frac{\sum_{k,l}f(k,l)w(i,j,k,l)}{\sum_{k,l}w(i,j,k,l)}g(i,j)=k,l?w(i,j,k,l)k,l?f(k,l)w(i,j,k,l)?

也就是:

h=w(i,j,k,l)∑k,lw(i,j,k,l)h=\frac{w(i,j,k,l)}{\sum_{k,l}w(i,j,k,l)}h=k,l?w(i,j,k,l)w(i,j,k,l)?

其中,

w(i,j,k,l)=d(i,j,k,l)?r(i,j,k,l)=exp?(?(i?k)2+(j?l)22σd2)?exp?(?∥f(i,j)?f(k,l)∥22σr2)w(i,j,k,l)=d(i,j,k,l)\cdot r(i,j,k,l)=\exp\left(-\frac{(i-k)^2+(j-l)^2}{2\sigma_d^2}\right)\cdot \exp\left(-\frac{\|f(i,j)-f(k,l)\|^2}{2\sigma_r^2}\right)w(i,j,k,l)=d(i,j,k,l)?r(i,j,k,l)=exp(?2σd2?(i?k)2+(j?l)2?)?exp(?2σr2?f(i,j)?f(k,l)2?)

這里的r(i,j,k,l)r(i,j,k,l)r(i,j,k,l)由于和像素值的差有關(像素差越大,權重越小),也被叫做“值域核”。

從效果來說,雙邊濾波可產生類似美膚的效果。皮膚上的皺紋和斑,與正常皮膚的差異,遠小于黑白眼珠之間的差異,因此前者被平滑,而后者被保留。

為了體現效果,這里來張大叔的照片。

Steerable濾波

高斯濾波是一種各向同性濾波,如果想要對特定方向進行濾波的話,可使用Steerable濾波。

對最簡二維高斯函數G(x,y)=e?(x2+y2)G(x,y)=e^{-(x^2+y^2)}G(x,y)=e?(x2+y2)求1階偏導可得:

G10=?G(x,y)?x=?2xe?(x2+y2),G1π2=?G(x,y)?y=?2ye?(x2+y2)G_1^0=\frac{\partial G(x,y)}{\partial x}=-2xe^{-(x^2+y^2)},G_1^{\frac{\pi}{2}}=\frac{\partial G(x,y)}{\partial y}=-2ye^{-(x^2+y^2)}G10?=?x?G(x,y)?=?2xe?(x2+y2),G12π??=?y?G(x,y)?=?2ye?(x2+y2)

這就是兩個軸向上的1階Steerable濾波函數。

任意角度的1階Steerable濾波函數為:

G1θ=cos?θG10+sin?θG1π2G_1^{\theta}=\cos\theta G_1^0+\sin\theta G_1^{\frac{\pi}{2}}G1θ?=cosθG10?+sinθG12π??

如果對高斯函數求2階偏導,還可得到2階Steerable濾波函數。進一步的討論詳見參考論文。

參考:

1991年IEEE論文:The Design and Use of Steerable Filters

作者:William T. Freeman,斯坦福大學本科+斯坦福/康奈爾大學雙料碩士+麻省理工學院博士,麻省理工學院教授。1987年,曾做為訪問學者在太原理工大學待了一學年。

Edward H. Adelson,密歇根大學博士,麻省理工學院教授。

Gabor濾波

基、線性無關、正交

一般的函數可以展開為冪級數或者Fourier級數。這些級數中的冪函數或者正弦函數,被稱作“基(basis)函數”。

基的屬性主要涉及“線性無關”和“正交”這兩個名詞。

線性無關的幾何含義:在R3R^3R3(3維空間)中,如果三個向量不共面,則它們相互線性無關。

基如果線性無關,則其函數的級數展開式是唯一的。由于線性相關基使用的比較少,以下如無特指,基均為線性無關基。

正交的幾何含義:兩個向量正交,則它們是相互垂直的。

正交基一定線性無關,反之則不成立。一般采用施密特正交化方法,將線性無關基,轉換為正交基。

冪級數是線性無關基,而Fourier級數是正交基。

Gabor wavelet

除了以上兩種常用的基函數外,其他函數也可以作為基函數。其中使用最多的基函數是小波(wavelet)函數,其變換也被稱作小波變換。

需要指出的是,小波函數不是一個函數,而是一類函數。Gabor函數就是小波函數的其中一種,其定義如下:

gt,n(x)=g(x?al)e2πibnx,?∞&lt;l,n&lt;+∞g_{t,n}(x)=g(x-al)e^{2\pi ibnx},-\infty&lt;l,n&lt;+\inftygt,n?(x)=g(x?al)e2πibnx,?<l,n<+

這里的a,ba,ba,b為常數,gggL2(R)L^2(R)L2(R)(立方可積函數),且∥g∥=1\parallel g\parallel=1g=1

注:Dennis Gabor(1900~1979),全息學創始人,1971年獲諾貝爾物理學獎,著有《Theory of Communication》(1946)。

ggg為高斯函數時,可得到Gabor wavelet:

f(x)=e?(x?x0)2/a2e?ik0(x?x0)f(x)=e^{-(x-x_0)^2/a^2}e^{-ik_0(x-x_0)}f(x)=e?(x?x0?)2/a2e?ik0?(x?x0?)

Gabor wavelet的性質:

1.Gabor wavelet的Fourier變換還是Gabor wavelet:

F(k)=e?(k?k0)2a2e?ix0(k?k0)F(k)=e^{-(k-k_0)^2a^2}e^{-ix_0(k-k_0)}F(k)=e?(k?k0?)2a2e?ix0?(k?k0?)

2.從物理上來說,Gabor wavelet等效于在一個正弦載波(頻域)上,調制一個高斯函數(時空域)。這也是Dennis Gabor最早提出它的時候的用途。

3.Fourier變換是信號在整個時域內的積分,因此反映的是信號頻率的統計特性,沒有局部化分析信號的功能。而Gabor變換是一種短時Fourier變換,具有良好的時頻局部化特性,即非常容易地調整Gabor濾波器的方向、基頻帶寬及中心頻率,從而能夠最好的兼顧信號在時空域和頻域中的分辨能力。

Gabor filter

將Gabor wavelet擴展到2維,可得到Gabor filter(圖像實際上就是一種2維信號):

g(x,y;λ,θ,ψ,σ,γ)=exp?(?x′2+γ2y′22σ2)exp?(i(2πx′λ+ψ))g(x,y;\lambda,\theta,\psi,\sigma,\gamma)=\exp\left(-\frac{x&#x27;^2+\gamma^2y&#x27;^2}{2\sigma^2}\right)\exp\left(i\left(2\pi\frac{x&#x27;}{\lambda}+\psi\right)\right)g(x,y;λ,θ,ψ,σ,γ)=exp(?2σ2x2+γ2y2?)exp(i(2πλx?+ψ))

其中,

x′=xcos?θ+ysin?θ,y′=?xsin?θ+ycos?θx&#x27;=x\cos\theta+y\sin\theta,y&#x27;=-x\sin\theta+y\cos\thetax=xcosθ+ysinθ,y=?xsinθ+ycosθ

lambdalambdalambda:正弦函數波長;θ\thetaθ:Gabor核函數的方向;ψ\psiψ:相位偏移;σ\sigmaσ:高斯函數的標準差;γ\gammaγ: 空間的寬高比。

可以看出Gabor filter是一個復函數,其實部為:

g(x,y;λ,θ,ψ,σ,γ)=exp?(?x′2+γ2y′22σ2)cos?(2πx′λ+ψ)g(x,y;\lambda,\theta,\psi,\sigma,\gamma)=\exp\left(-\frac{x&#x27;^2+\gamma^2y&#x27;^2}{2\sigma^2}\right)\cos\left(2\pi\frac{x&#x27;}{\lambda}+\psi\right)g(x,y;λ,θ,ψ,σ,γ)=exp(?2σ2x2+γ2y2?)cos(2πλx?+ψ)

其虛部為:

g(x,y;λ,θ,ψ,σ,γ)=exp?(?x′2+γ2y′22σ2)sin?(2πx′λ+ψ)g(x,y;\lambda,\theta,\psi,\sigma,\gamma)=\exp\left(-\frac{x&#x27;^2+\gamma^2y&#x27;^2}{2\sigma^2}\right)\sin\left(2\pi\frac{x&#x27;}{\lambda}+\psi\right)g(x,y;λ,θ,ψ,σ,γ)=exp(?2σ2x2+γ2y2?)sin(2πλx?+ψ)

此外,還有對數Gabor函數:

G(f)=exp?(?(log(f/f0))22(log(σ/f0))2)G(f)=\exp\left(\frac{-(log(f/f_0))^2}{2(log(\sigma/f_0))^2}\right)G(f)=exp(2(log(σ/f0?))2?(log(f/f0?))2?)

Gabor濾波的效果

參考文獻3,給出了Gabor濾波的效果圖,如下所示:

從效果來看,該濾波可獲得美術上的浮雕效果。但實際上,大多數的邊緣檢測算法都可得到類似效果,這并不是Gabor濾波的主流用法。

以下對參考文獻3做一個補充說明:

1.Gabor濾波是復數域的,這點和之前提到的濾波算法有很大的不同。因此,Gabor濾波計算核的方法有3種:復數、實部和虛部。參考文獻3采用的是實部法。1987年,J.P. Jones和L.A. Palmer發現Gabor變換所采用的核(Kernels)的實部與哺乳動物視覺皮層簡單細胞2D感受野剖面(Profile)非常相似。

2.實部計算的結果有正有負。參考文獻3給出的歸一化算法,很有通用性,摘錄如下:

G(x,y)=(f(x,y)?min(F))?Dmax(F)?min(F)G(x,y)=\frac{(f(x,y)-min(F))*D}{max(F)-min(F)}G(x,y)=max(F)?min(F)(f(x,y)?min(F))?D?

其中,F為源圖像所有像素的集合,D為總的灰度級數。

Gabor濾波采樣方式與圖像壓縮

Gabor濾波和之前的濾波算法的另一大差異是:Gabor濾波核不是一個,而是由若干不同參數組合而成的一組核,其中的每一個參數組合被稱為一個采樣點。

從Gabor filter的計算公式亦可看出,組成采樣點的參數,既有時空域參數,也有頻域參數。這些采樣點在時空域和頻域中如何分布,才能達到最終效果呢?

由于Gabor filter不是正交基,因此針對采樣點分布提出了Tight Frame的概念。參考文獻1給出了滿足Tight Frame要求的采樣點分布方式(簡稱采樣方式)的條件。這里的推導非常復雜,但從概念上可以類比信號處理中的奈奎斯特采樣定理。

Tight Frame有個重要特性:

如果采樣方式滿足Tight Frame條件,且B=Gabor(A),C=Gabor?1(B)分別表示Gabor變換及其逆變換。

參考文獻2給出了采用上述方法對Lena圖進行壓縮并還原的例子。這也是Gabor濾波在圖像處理領域的早期典型應用。

Gabor濾波與模式識別

2000年以后,科學界對Gabor濾波的研究,主要集中在模式識別方面。比如圖2就是參考文獻4中給出的人臉識別方面的Gabor濾波效果圖。其中,左邊是原圖,而右邊是40組不同參數的Gabor濾波器所得到的濾波效果圖。

注:1幅原圖變成40幅濾波效果圖的過程,在數學上是個升維過程。在后處理階段為了處理的方便,往往會進行數據降維,如參考文獻5所示。

從中還可以看出,雖然圖1顯示出一定的藝術處理效果,但大多數情況下,Gabor濾波所得的圖像是如圖2所示的極度扭曲而無明顯意義的圖片。Gabor濾波的真正用途,并不是給人看,而是給機器看。

從上面的討論可知,Gabor濾波是一種帶通濾波,使用不同的時空域或頻域參數,可以過濾出不同的時空域或頻域特征。這些特征正是模式識別所需要的。

圖3是參考文獻4給出的一種Gabor濾波器的使用場景圖,從中可以看出Gabor濾波效果圖是如何應用到人臉識別技術中的。

必須指出的是:Gabor濾波效果圖的后處理方法有很多種,而圖3僅是其中一種而已。

參考

1.1996年IEEE論文:Image Representation Using 2D Gabor Wavelets

作者:Tai Sing Lee,哈佛大學博士,卡內基梅隆大學教授。

2.1988年IEEE論文:Complete Discrete 2-D Gabor Transforms by Neural Networks for Image Analysis and Compression

作者:JohnG. Daugman,哈佛大學博士,劍橋大學教授。

3.http://blog.csdn.net/xiaowei_cqu/article/details/24745945

4.Face recognition using Ada-Boosted Gabor features

作者:Peng Yang,Shiguang Shan,Wen Gao,Stan Z. Li,Dong Zhang,中科院計算所和微軟亞洲研究院的幾個小牛。

5.http://www.cnblogs.com/Jack-Lee/p/3649114.html

Schmid濾波

Schmid濾波器是一種類Gabor濾波器。其計算公式為:

F(r,σ,τ)=1Zcos?(2πτrσ)e?r22σ2F(r,\sigma,\tau)=\frac{1}{Z}\cos\left(\frac{2\pi\tau r}{\sigma}\right)e^{-\frac{r^2}{2\sigma^2}}F(r,σ,τ)=Z1?cos(σ2πτr?)e?2σ2r2?

下圖是Schmid濾波器和Gabor濾波器的“核”圖像?!昂恕眻D像是濾波器“核”函數的圖像化展示。

其中,前13個是Schmid濾波器,后8個是Gabor濾波器?!昂恕眻D像中的白色部分,實際上就是該濾波器的帶通部分。

從中可以看出,Gabor濾波器有方向性,而Schmid濾波器是各向同性的。

參考

2010年IEEE論文:Constructing models for content-based image retrieval

作者:Cordelia Schmid,女,卡爾斯魯厄理工學院博士?,F在INRIA(法國國家信息與自動化研究所)從事研究工作。

轉載至:

http://antkillerfarm.github.io/

總結

以上是生活随笔為你收集整理的各类滤波算子的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。