[家里蹲大学数学杂志]第055期图像滤波中的方向扩散模型

简介: : 本文给出了王大凯等编的《图像处理中的偏微分方程方法》第 5.4.1 节的详细论述.   : 图像滤波; 方向扩散模型; matlab 编程   1. 模型的建立 从保护图像边缘的观点出发, 我们希望扩散是沿着平行于边缘的切线方向 (即垂直于 \nI 的方向) 进行.

: 本文给出了王大凯等编的《图像处理中的偏微分方程方法》第 5.4.1 节的详细论述.

 

: 图像滤波; 方向扩散模型; matlab 编程

 

1. 模型的建立

从保护图像边缘的观点出发, 我们希望扩散是沿着平行于边缘的切线方向 (即垂直于 \nI 的方向) 进行. 于是得到如下 PDE: \beeIt=Iξξ,\eee

其中 ξ(\nI) 为单位矢量. 我们化简 (???) 如下 (若 \bexη=\nI\sev\nI=(cost,sint),ξ=(sint,cost)(η),\eex
\bex \sex{\ba{cc} \frac{\p}{\p \xi}\\ \frac{\p}{\p \eta} \ea} &=&\sex{\ba{cc} \cos t&\sin t\\ -\sin t&\cos t \ea} \sex{\ba{cc} \frac{\p}{\p x}\\ \frac{\p}{\p y} \ea}, \eex
\bex \frac{\p^2}{\p \xi^2} +\frac{\p^2}{\p \eta^2} &=&\sex{\ba{cc} \frac{\p}{\p \xi}&\frac{\p}{\p \eta} \ea} \sex{\ba{cc} \frac{\p}{\p \xi}\\ \frac{\p}{\p \eta} \ea} =\sex{\ba{cc} \frac{\p}{\p x}&\frac{\p}{\p y} \ea} \sex{\ba{cc} \cos t&-\sin t\\ \sin t&\cos t \ea} \sex{\ba{cc} \cos t&\sin t\\ -\sin t&\cos t \ea} \sex{\ba{cc} \frac{\p}{\p x}\\ \frac{\p}{\p y} \ea}\\ &=& \sex{\ba{cc} \frac{\p}{\p x}&\frac{\p}{\p y} \ea} \sex{\ba{cc} \frac{\p}{\p x}\\ \frac{\p}{\p y} \ea} =\frac{\p^2}{\p x^2}+\frac{\p^2}{\p y^2} \eex
): \bex I_t=I_{\xi\xi}\\ &=&\lap I-I_{\eta\eta}\\ &=&\lap I-(\sev{\n I})_\eta\quad\sex{I_\eta=\n I\cdot{\bf \eta} =\n I\cdot\frac{\n I}{\sev{\n I}}=\sev{\n I}}\\ &=&\lap I-\n \sev{\n I}\cdot {\bf \eta}\\ &=&\lap I-\frac{ \sex{I_xI_{xx}+I_yI_{xy},I_xI_{xy}+I_yI_{yy}}}{\sev{\n I}} \cdot\frac{(I_x,I_y)}{|\n I|}\\ &=&I_{xx}+I_{yy} -\frac{I_x^2I_{xx}+2I_xI_yI_{xy}+I_y^2I_{yy}}{|\n I|^2}\\ &=&\frac{I_y^2I_{xx}-2I_xI_yI_{xy}+I_x^2I_{yy}}{|\n I|^2}. \eex
即有 \beeIt=I2yIxx2IxIyIxy+I2xIyy|\nI|2.\eee
注意到 I 的水平集 (level set) \bexχλ(I)=\sed(x,y); I(x,y)λ\eex
适合 \bexλ1λ2\raχλ2(I)χλ1(I),\eex
而以 ξ 为切方向的曲线之法向量 \bexN=\nI\sev\nI=η.\eex
因此, 由 \bexκ=\DivN=\Div\nI\sev\nI=I2yIxx2IxIyIxy+I2xIyy\sev\nI3\eex
(???) 可进一步化简为 \beeIt=κ\sev\nI.\eee
这说明沿水平集切方向扩散等价于水平集做曲率运动. 再注意到曲率运动与数学形态学 (mathematical morphology) 的联系, 我们知道沿水平集切方向扩散亦等价于对图像进行中值滤波. 从中我们体会到PDE 的好处: 不必对图像的所有水平集做分解---中值集操作 (数学形态学的一个算法) ---重构这三步骤就可以实现对灰度图像的中值滤波. 如果希望削弱在边缘附近的扩散速率, 还可引进边缘停止函数 (edge stopping function): \beeg(r)=11+\sexrKp,\sexp=1,2,\eee
而将 (???) 改为 \beeIt=g(\sev\nI)Iξξ,\eee
或将 (???) 改为 \beeIt=g(\sev\nI)I2yIxx2IxIyIxy+I2xIyy|\nI|2,\eee
抑或将 (???) 改为 \beeIt=κg(\sev\nI)\sev\nI.\eee

 

2. 数值算法

我们采用完全显式方案求解 (???)(???)\beeIn+1ij=Inij+\laptQnij,\eee

其中 \bexQnij=\sexD(0)yInij2D(0)xxInij2D(0)xInijD(0)yInijD(0)xyInij+\sexD(0)xInij2D(0)yyInij\sexD(0)xInij2+\sexD(0)yInij2,\eex
\bexD(0)xInij=Ini,j+1Ini,j12,D(0)yInij=Ini+1,jIni1,j2,\eex
\bex D^{(0)}_{xx}I^n_{xy} &=&D^{(0)}_xI^n_{i,j+\frac{1}{2}} -D^{(0)}_xI^n_{i,j-\frac{1}{2}}\\ &=&\sex{I^n_{i,j+1}-I^n_{i,j}}-\sex{I^n_{i,j}-I^n_{i,j-1}}\\ &=&I^n_{i,j+1}+I^n_{i,j-1}-2I^n_{ij}, \eex
\bex D^{(0)}_{xy}I^n_{ij} &=&D^{(0)}_xI^n_{i+\frac{1}{2},j} -D^{(0)}_xI^n_{i-\frac{1}{2},j}\\ &=&D^{(0)}_x\frac{I^n_{i+1,j}+I^n_{ij}}{2} -D^{(0)}_x\frac{I^n_{i-1,j}+I^n_{ij}}{2}\quad \sex{\mbox{用均值近似半点值}}\\ &=&\frac{\sex{I^n_{i+1,j+1}-I^n_{i+1,j-1}}+\sex{I^n_{i,j+1}-I^n_{i,j-1}}}{4}\\ & & -\frac{\sex{I^n_{i-1,j+1}-I^n_{i-1,j-1}}+\sex{I^n_{i,j+1}-I^n_{i,j-1}}}{4}\\ &=&\frac{I^n_{i+1,j+1}+I^n_{i-1,j-1}-I^n_{i+1,j-1}-I^n_{i-1,j+1}}{4}, \eex
\bexD(0)yyInij=Ini+1,j+Ini1,j2Inij,\eex
或者 \beeIn+1ij=Inij+\laptg\sexInijQnij.\eee

 

3. 数值实验

用如下的 matlab 代码

clear all;

close all;

clc;

 

 

%%参数设定

dt=0.05;%时间步长

N=1000;%迭代次数设置

D=200;%每运行D次输出图形

nn=1;%输出图形个数初始化

 

I=imread('key.bmp');

I=imnoise(I,'salt & pepper',0.3);

I=double(rgb2gray(I));

 

[ny,nx]=size(I);

J=I;%方向扩散图像初始化

K=I;%带边缘函数的方向扩散图像初始化

 

for n=1:N

 

    Dx=0.5*(J(:,[2:nx,nx])-J(:,[1,1:nx-1]));

    Dy=0.5*(J([2:ny,ny],:)-J([1,1:ny-1],:));

    Dxx=(J(:,[2:nx,nx])-J)-(J-J(:,[1,1:nx-1]));

    Dxy=0.25*((J([2:ny,ny],[2:nx,nx])-J([2:ny,ny],[1,1:nx-1]))

                -(J([1,1:ny-1],[2:nx,nx])-J([1,1:ny-1],[1,1:nx-1])));

    Dyy=(J([2:ny,ny],:)-J)-(J-J([1,1:ny-1],:));

    J=J+dt*(Dy.^2.*Dxx-2*Dx.*Dy.*Dxy+Dx.^2.*Dyy)./(eps+Dx.^2+Dy.^2);

 

    Dx=0.5*(K(:,[2:nx,nx])-K(:,[1,1:nx-1]));

    Dy=0.5*(K([2:ny,ny],:)-K([1,1:ny-1],:));

    Dxx=(K(:,[2:nx,nx])-K)-(K-K(:,[1,1:nx-1]));

    Dxy=0.25*((K([2:ny,ny],[2:nx,nx])-K([2:ny,ny],[1,1:nx-1]))

                -(K([1,1:ny-1],[2:nx,nx])-K([1,1:ny-1],[1,1:nx-1])));

    Dyy=(K([2:ny,ny],:)-K)-(K-K([1,1:ny-1],:));

    K=K+dt./(1+(Dx.^2+Dy.^2)/1024)

                .*(Dy.^2.*Dxx-2*Dx.*Dy.*Dxy+Dx.^2.*Dyy)./(eps+Dx.^2+Dy.^2);

 

    if mod(n,D)==0

        figure(nn);

        subplot(1,3,1);

        imshow(uint8(I));

        subplot(1,3,2);

        imshow(uint8(J));

        subplot(1,3,3);

        imshow(uint8(K));

        hold off;

        nn=nn+1;

    end

end

就可实现方向扩散, 见下图(每幅图由三幅小图组成, 第一幅是原图像, 第二幅是方向扩散后的图像, 而第三幅是带边缘停止函数的方向扩散图像). 从中我们可以看到带边缘停止函数的方向扩散能更好地保持边缘的锐度.

目录
打赏
0
0
0
0
15
分享
相关文章
[家里蹲大学数学杂志]第054期图像分割中的无边缘活动轮廓模型
: 本文给出了王大凯等编的《图像处理中的偏微分方程方法》第 4.4 节的详细论述. : 图像分割; 活动轮廓模型; matlab 编程   1 模型的建立 在图像中, 对象与背景的区别有时表现为平均灰度的明显不同.
830 0
[家里蹲大学数学杂志]第056期Tikhonov 泛函的变分
\scrX, \scrY 是 Hilbert 空间, T\scrL(\scrX,\scrY), y0\scrY, α>0. 则 Tikhonov 泛函 $$\bee\label{T} J_\alpha(x)=\sen{Tx-y_0}^2+\alpha...
843 0
[家里蹲大学数学杂志]第053期Legendre变换
. 设 \calX 是一个 B 空间, f:\calX¯\bbR\sex\bbR\sed 是连续的凸泛函并且 f(x).
675 0
[家里蹲大学数学杂志]第045期布朗运动矩的计算
Bt 是以 0 为起点的布朗运动, 则 $$\bee\label{ju} E\sez{B_t^{2k+1}}=0,\quad E\sez{B_t^{2k}}=\frac{(2k)!t^k}{2^kk!}=(2k-1)!!t^k.
784 0
[家里蹲大学数学杂志]第031期密度的震荡控制
当密度 ϱ 的正则性没有L2 时, 我们用如下的震荡估计: $$\bee\label{eq} \sup_{k>1}\limsup_{\delta\to 0^+} \sen{T_k(\varrho_\delta)-T_k(\varrho)}_{\gamma+1} \leq L(\...
575 0
[家里蹲大学数学杂志]第284期李大潜秦铁虎编著物理学与偏微分方程笔记
上册   [物理学与PDEs]第1章 电动力学 [物理学与PDEs]第1章习题参考解答   [物理学与PDEs]第2章 流体力学  [物理学与PDEs]第2章习题参考解答   [物理学与PDEs]第3章 磁流体力学  [物理学与PDEs]第3章习题参考解答   [物理学与PDE...
932 0
大脑飞行是啥?Hinton推特引热议,神经网络是让小鸟飞起来的「羽毛」?(一)
神经网络的设计到底能不能借鉴人类大脑构造?近日,Hinton在Twitter上开了一个小讨论:人们反对在设计神经网络时从大脑获取灵感,就像在设计飞行器时从羽毛中获取灵感一样。这次没论文,就是一个观点,你同意吗?
180 0
大脑飞行是啥?Hinton推特引热议,神经网络是让小鸟飞起来的「羽毛」?(一)
大脑飞行是啥?Hinton推特引热议,神经网络是让小鸟飞起来的「羽毛」?(二)
神经网络的设计到底能不能借鉴人类大脑构造?近日,Hinton在Twitter上开了一个小讨论:人们反对在设计神经网络时从大脑获取灵感,就像在设计飞行器时从羽毛中获取灵感一样。这次没论文,就是一个观点,你同意吗?
229 0
大脑飞行是啥?Hinton推特引热议,神经网络是让小鸟飞起来的「羽毛」?(二)
[家里蹲大学数学杂志]第391期山东大学2014-2015-1微分几何期末考试试题
注意: A. 卷面分 5 分, 试题总分 95 分. 其中卷面整洁, 书写规范 (5 分); 卷面较整洁, 书写较规范 (3 分); 书写潦草, 乱涂乱画 (0 分). B. 可能用的公式: $$\beex \bea 1.
1035 0
[家里蹲大学数学杂志]第243期对合矩阵的两个性质
n 阶矩阵 A 满足 A2=E. 证明: (1) A 相似于形如 \dps{\sex{\ba{cc} E_s&\\ &-E_{n-s} \ea}} 的矩阵; (2) 对于任何正整数 m,k, 都有 $$\bex \rank(A+E)^m+\rank(A-E)^k=n.
654 0