张 宪 红
(黑龙江工程学院 计算机科学与技术学院, 哈尔滨 150050)
边缘检测是图像处理中的一个经典问题, 与灰度图像相比, 彩色图像的边缘检测结果会包含更多边缘信息, 特别是对于一些亮度相同但颜色不同的图像[1]. 近年来, 关于彩色图像的边缘检测研究已有许多成果[2], 如Sobel算子[3]、Canny算子[4]等. 虽然这些技术在原有方法的基础上进行了优化, 但并未从根本上解决这些方法的固有问题, 如边缘提取精度不够、阈值不适应等. 除一些经典方法外, 还有模糊算法[5]和梯度算子等方法提取彩色图像的边缘, 它们大多数是为了解决图像边缘检测中的抗噪声问题, 并未较好地改善图像边缘提取精度. 因此, 有必要提出一种更有效的彩色图像边缘检测算法, 以提高图像边缘信息的质量. 细胞神经网络(cellular neural network, CNN)[6]是图像边缘检测的有效工具之一, 在图像处理、模式识别、视觉信号处理和仿真等领域得到广泛应用[7], 但其存在抗干扰能力差、边缘检出的准确度低等问题. 文献[8]利用反应扩散模型对CNN模型进行了优化, 虽然边缘检测的准确度得到提高, 但阈值的自适应性较差, 在彩色图像边缘检测中的应用也不理想. 本文通过对CNN进行改进, 提出一种基于FitzHugh-Nagumo(FHN)反应扩散方程的CNN彩色图像边缘检测方法.
将FHN反应扩散方程应用于图像处理时, 必须考虑其动态系统特性. FHN反应扩散方程组[9]为
(1)
其中:f(u,v)=ε[u(a-u)(u-1)-v];g(u,v)=u-bv;u,v与向量x∈n有关;Du,Dv为扩散系数, 且Du≪Dv;u(x,t=0)=U0(x)为变量u的初始状态;v(x,t=0)=V0(x)为变量v的初始状态.
下面分析系统的Turing不稳定性质[9]. 将方程(1)转化为
(2)
其中a和b都是常量,ε是一个正常数, 且ε≫1. 方程(2)在(0,0)处线性化方程的特征方程[10]为
其中n和l是常量. 当n=0时, 方程(3)可转化为
λ2+(aε+b)λ+(ab+1)ε=0.
(4)
当
λ2+Tn(ε)λ+Dn(ε)=0,
(5)
其中
设
Dn(ξ)=DuDvξ2+(aεDv+bDu)ξ+(ab+1)ε,
可得
h(ε)=(aεDv+bDu)2-4(ab+1)εDuDv.
令h(ε)=0, 得ε->ε+, 其中
图1 方程(4)的分岔图Fig.1 Bifurcation diagram of equation (4)
当a=4,b=-0.2,Du=5,Dv=0.001时, 发生Turing不稳定. 常稳态解(0,0)是不稳定的, 因此产生了一个新的非常态解, 如图2所示. 当a=0.15,b=-0.45,Du=1,Dv=5.5,ε=5,u0=0.35,v0=1.5时, 零解(0,0)为渐近稳定的, 如图3所示. 当a=0.035,b=-0.4,Du=1,Dv=5.5,ε=1.5,u0=0.35,v0=1.5时, 零解(0,0)为不稳定的, 并产生了一组时间周期解, 如图4所示.
图2 方程(2)渐近稳定值示例Fig.2 Examples of asymptotically stable values for equation (2)
上述动态特性分析确定了FHN模型的稳定状态, 分为不稳定点和稳定点. 一个稳定点能吸引周围的数据并趋于稳定, 而不稳定平衡点则趋于振荡. 在图像处理中, 稳定点周围的图像像素值会逐渐趋向于适合于图像处理的点. 当空间导数和时间导数均为零时, 在方程(1)中f(u,v)=0和g(u,v)=0零斜率的交点处, 得到了FHN模型的稳定状态. 根据a和b的值, 有如下两种情形[8]:
情形1) 如图5(A)所示, 有一个单点, 称为单稳态点系统;
情形2) 如图5(B)所示, 有两个稳定点(I和K), 称为双稳定系统.
在单稳态系统中, 当有弱刺激u(0a), 则系统会被激活,u将增加到1, 然后抑制元素v上升, 使u下降至平衡位置I.该过程产生一个脉冲, 根据扩散过程的性质四处传播. 这种情形适合于图像边缘检测处理. 因此, 其为本文边缘检测处理的重点.
图3 方程(2)零解渐近稳定性示例Fig.3 Examples of asymptotic stability of zero solution for equation (2)
图4 方程(2)周期时间解示例Fig.4 Examples of time periodic solutions for equation (2)
图5 两种稳态示例Fig.5 Examples of two steady state
利用FHN进行图像边缘检测, 一般分析FHN的单稳态特性. 如图5(A)所示,g(u,v)用实线表示,f(u,v)用虚线表示. 曲线与u轴之间有3个交点, 分别是(0,0),(a,0),(1,0). 随着时间的变化, 箭头表示解的趋近方向; 从稳定点I邻域的任意初始值开始, (u,v)的解最终会收敛到稳定点,I可视为一个阈值. 如果一个阈值大于另一个阈值, 则确定为边点, 否则将确定为非边点.
阈值将影响边缘检测的程度. 较小阈值可检测到更全面的边缘, 但同时会获得更大的噪声量; 较大阈值会有一些边缘丢失. 通常要获得最佳阈值, 可通过多次验证平衡阈值. 但图像中每个区域的灰度值变化方式不同, 在某些区域, 选择固定不变的阈值会导致边缘检测不理想, 固定阈值边缘检测算法只适用于亮度规则的图像. Nomura等[9]提出了一种阈值计算方法, 阈值a不是整个图像区域亮度的平均值, 而需要根据局部区域的灰度变化.a的扩散方程为
a(x)=A(u0(x);D,T),
(6)
其中u(x,t=0)=u0(x)表示u的初始状态,T表示演变时间,D表示扩散系数.
方程(6)可用于亮度图像的边缘检测, 但存在一些缺陷. 随着反应扩散系数的增大, 边缘之间的距离增大, 边缘会被覆盖, 从而导致图像边缘模糊. 此外, 扩散系数D通常取常数, 为区域的平均值, 但也需手动预置. 因此, 需对系数D进行改进, 以使阈值完全自适应, 避免假边缘.
本文通过构造一个调整函数优化反应扩散方程中的扩散系数, 调整函数可灵活地调整扩散系数, 使阈值真正自适应. 将系数D表示为
(7)
其中:h(r)是一个单调递减的非负函数,h(r)∈(0,1], 其能灵活地调整扩散系数, 从而调整真假边缘的距离, 进而减少边缘检测中产生假边缘;k为常数, 主要用于控制扩散系数的下降率, 一般通过多次迭代实验确定;r为图像中各点的归一化梯度值[10], 与亮度变化程度成正比, 表示为
(8)
增加调节函数h(r)可灵活地改变扩散系数, 反应扩散方程可自适应地调整阈值. 通常图像边缘处的图像梯度r较大,h(r)会在该处取极小值, 从而使作用力变小, 直至停止,h(r)可在任何情形下将曲线引向边界, 最终稳定在对象边缘. 将改进后的阈值代入由FHN方程改进的CNN边缘检测模板中, 可得到自适应阈值, 提高边缘检测的准确性. 假设FHN反应扩散系统中变量u的初值取为一张图像的3个灰度值,v初值取零,b=1,ε=103,Du=1.0,Dv=5.0, δh=0.5, δt=10-4. 扩散分布曲线a(x)=A(U0;50.0,1.0)和扩散分布曲线a(x)=A(U0;10.0,1.0)的脉冲图[9]如图6所示. 由图6可见, 当对图像进行边缘检测时, 若采用的阈值不合适, 会使图像像素值在反应项的作用下瞬时间向两个方向变化, 图像在离散模型作用下产生真假双边缘, 且随着反应扩散系数的增加, 双边缘间的距离逐渐增大, 甚至会产生覆盖边缘的现象, 使图像边缘模糊, 而采用自适应阈值a(x)=A(U0;h(r),1.0)能很好地避免该问题, 精确检测到图像边缘.
图6 反应扩散系统脉冲示意图Fig.6 Pulse diagram of reaction-diffusion system
标准的CNN体系结构由M×N矩形单元阵列组成, 位于第i行和第j列的元素称为单元, 用c(i,j)表示. CNN的每个基本电路单元称为单元, 每个单元由线性电容器、非线性电压控制电流源和一些线性电阻元件组成. CNN中的每个单元只直接连接到相邻的单元,M×N个单元的CNN状态方程[6]为
(9)
图7 细胞神经网络示例Fig.7 Examples of cellular neural networks
其中1≤i≤M, 1≤j≤N,Xij表示神经网络中单元c(i,j)的状态,r为单元的邻域半径,c(k,l)表示c(i,j)附近的单元,Nr(i,j)为邻居,A(i,j,k,l)表示c(k,l)和c(i,j)输出Vykl的连接权重,B(i,j,k,l)表示c(k,l)和c(i,j)输入Vukl的连接权重, 矩阵A称为反馈模板, 矩阵B称为控制模板. 下面将FHN用于改进CNN, 标准CNN架构如图7所示.
在二维空间(x,y)∈2中, 采用九点差分显示格式求解反应扩散方程组(2). 空间变量(x,y)和时间变量t用有限差分法进行离散, 空间步长和时间步长分别为δh和δt, 且i,j和k是离散空间和时间的指数, 其中i=x/δh,j=y/δh,k=t/δt.变量u(x,y,t)的离散形式可表示为
(10)
根据CNN模型的细胞状态函数方程(9), 可将方程(11)转化为
同理, 方程(2)中第二个等式可转化为
CNN的3×3模板[8]可由方程(12)和方程(13)得到:
(14)
其中Au,u,Av,u,Av,v和Au,v为反馈模板,Bu,u和Bv,v为控制模板. 这是一个两层的CNN. 在图像处理中, 数字图像的大小是M×N, 其有M行和N列. 设i=0,1,…,M-1,j=0,1,…,N-1, 则方程(2)Neumann边界条件的离散表达式[10]为
(15)
基于初值(u0,v0)、离散边界条件方程(15)、方程(12)和方程(13)的迭代运算, 可得随时间变化的解(u,v). 方程(12),(13)构成了一个基于FHN的两层CNN反应扩散离散网络, 阈值Z=0. 改进后的CNN同时具有图像增强和边缘检测的功能.
为更准确地检测彩色图像的边缘, 首先需选择最合适的颜色空间. 彩色图像的边缘检测通常在RGB空间、CMYK空间和HSV空间进行, 用于融合输出. HSV空间[11]是一个非线性的颜色表示系统, 主要由3个元素表示: 色调(H)、饱和度(S)和亮度(V). 本文采用Sobel算子比较彩色图像在RGB, CMYK和HSV空间的边缘检测效果, 如图8所示.
图8 不同空间中的边缘提取效果对比Fig.8 Comparison of edge extraction effects in different spaces
由图8可见: 在RGB和CMYK空间的边缘检测结果中存在大量冗余信息, 颜色信息的丢失和混淆会产生大量的干涉噪声, 严重影响了图像边缘检测的质量; 由于HSV空间中每个分量的有效独立性, 在HSV空间中检测到的彩色图像边缘更清晰. 因此, 本文利用HSV颜色空间研究改进方法在彩色图像的边缘检测问题. 将改进后的阈值代入由FHN方程改进的CNN边缘检测模板中, 可得自适应阈值. 同时, 该方法可以调整边缘之间的距离, 防止边缘检测过程中出现假边缘. 自适应阈值计算公式为
该CNN算法的步骤如图9所示.
图9 本文CNN算法实施步骤Fig.9 Flow chart of proposed CNN algorithm
实验环境为Inter酷睿i3处理器的PC机, 利用MATLAB工具进行比较实验, 实验图像样本大小均为256×256.
为体现采用自适应函数的CNN在提取彩色图像边缘的差异性, 实验首先在采用自适应函数与不采用自适应函数的反应扩散方程方法上对图像边缘提取的准确性进行比较分析.
如图10所示, 彩色图像样本存在边缘界线不清晰的问题, 阈值设置不准确, 易导致边缘提取不准确. 若阈值设置过大, 则易导致边缘提取不到位; 若阈值设置过小, 则易产生过多假边缘. 因此, 可以主观上更好地判断自适应阈值的利弊. 由图10可见, 带有自适应阈值方法提取到的边缘更全面准确, 无自适应阈值方法在中心区域有很多边缘都未提取到, 导致丢失很多边缘. 因此, 自适应阈值方法在提取彩色图像边缘时更有优越性.
图10 有无自适应阈值提取效果对比Fig.10 Comparison of extraction effects with and without adaptive threshold
图11 彩色图像边缘提取不同方法效果对比Fig.11 Comparison of color image edge extraction effects by different methods
下面将常用方法Sobel算子[12]、Roberts算子[13]、Canny算子[14]及传统CNN与改进的CNN方法进行对比分析, 实验结果如图11所示. 图11中的图像样本存在明暗色差, 边缘提取有一定困难, 可以主观上更好地判断各种方法的优劣. 由图11可见: Sobel算子边缘的提取效果欠佳, Sobel算子提取边缘在水平和垂直方向都存在缺陷; Roberts算子虽能更好地检测出水平和垂直的边缘, 但易丢失一些边缘, 并且不能抑制噪声; Canny算法对一定的噪声具有鲁棒性, 边缘检测精度较高, 但Canny算子采用高阈值和低阈值分别检测强边缘和弱边缘, 因此, Canny算子更易检测出一些真正的弱边缘; 传统CNN方法的噪声抑制能力较弱, 会出现一些假边缘, 颜色保持效果不理想; 改进后的CNN方法在边缘提取和颜色保持上效果更理想.
为更客观地评价边缘检测的结果, 本文采用边缘保持指数(edge preservation index, EPI)和Pratt品质因子(Pratt’s figure of merit, PFOM)评估[15]本文方法的有效性. EPI表示处理后的图像在水平和垂直方向上的边缘保持能力, 计算公式为
(18)
其中Ps(i,j)为处理后的图像像素,Po(i,j)为标准图像像素,i为行数,j为列数. EPI的取值范围为[0,1]. EPI越接近1, 算法的边缘保持能力越强. PFOM是客观评价边缘检测算法性能的定量指标, 其为3个因素的组合: 真实边缘的泄漏检测、伪边缘的假检测和边缘的定位误差. PFOM计算公式为
(19)
其中Ne为参考边点的数量,Nd为是边缘点的数量,β为常量,d(k)为实际边缘点到检测到的边缘点之间的欧氏距离. PFOM是一个取值范围为[0,1]的保真度函数, 其值越接近1, 边缘检测效果越好. 图10和图11的PFOM和EPI值分别列于表1和表2. 由表1和表2可见, 本文具有自适应阈值CNN方法的定量值最接近1, 因此本文方法效果最好.
表1 图10的定量数据分析结果
表2 图11的定量数据分析结果
综上所述, 本文分析了FHN反应扩散方程的动力学性质, 证明了其在图像边缘提取中的可行性; 将基于FHN反应扩散方程的CNN应用于HSV彩色图像的边缘检测; 采用反应扩散方程对扩散系数进行优化, 使阈值更具适应性; 将该CNN方法应用于一系列流体动力学图像, 得到了一种改进的边缘检测效果. 由于自适应阈值可根据彩色图像的亮度自适应选取, 因此基于反应扩散方程的CNN在彩色图像实验中取得了更好的效果. 与其他边缘检测方法相比, 本文方法更适合于高精度的彩色图像边缘检测.