西南师范大学学报(自然科学版)   2019, Vol. 44 Issue (7): 69-76.  DOI: 10.13718/j.cnki.xsxb.2019.07.011
0
Article Options
  • PDF
  • Abstract
  • Figures
  • References
  • 扩展功能
    Email Alert
    RSS
    本文作者相关文章
    刘晓妍
    欢迎关注西南大学期刊社
     

  • 基于改进局部二值模式算子与蚁群优化的图像边缘提取算法    [PDF全文]
    刘晓妍     
    江西泰豪动漫职业学院 数字媒体技术系, 南昌 330200
    摘要:设计了一种改进LBP耦合蚁群优化的图像边缘提取方案.首先,为了降低对噪声的敏感度,通过一个大小为3*3窗口的均值滤波对输入图像进行处理;其次,在LBP中嵌入一个平滑函数S,构建了一种改进的LBP模型;然后,计算图像的改进LBP值与其权重,通过改进LBP值与权重来体现像素间的差异程度,有效表征边缘的细微变化;最后,引入蚁群优化,通过路径优化与正负反馈求取边缘最优值,提高边缘的清晰度和细节表示.实验结果表明:相对于当前常用的边缘提取方法,本文算法提取边缘具有更高的清晰度和连续性,能减少噪音和模糊干扰,有效识别微小细节.
    关键词图像边缘提取    LBP算子    均值滤波    蚁群优化算法    平滑函数    改进的LBP算子    

    边缘提取是图像分析中的一个重要研究领域[1-3].由于边缘与噪声均为高频信息,消除噪声时也很可能消除一部分边缘,所以噪声抑制与边缘确定一般很难同时兼顾.因此,边缘提取需要同时处理好噪声抑制与边缘保持的问题[3].常用的如Laplace,LOG,Sobel等边缘提取算法虽然操作简单,但抗噪性弱、性能稳定性不强,得到的边缘清晰度和完整性还需提高[4].文献[5]定义了一种基于局部二值模式(Local Binary Pattern,LBP)的图像边缘检测技术,但由于LBP对噪声敏感、对光照变化稳定性弱,因此,当噪声存在时,出现了较多的伪边缘、弱边缘.文献[6]设计了一种改进的Canny图像边缘提取方案,一般噪声的抗干扰能力较好,但是当噪声强度较大时,边缘提取性能大大降低,易导致误判边缘的问题.文献[7]设计了一种基于WT与SVD的边缘提取技术,能在噪声图像中获取清晰的边缘,但是容易出现间断、不连续的边缘.

    为了降低在边缘提取过程中噪声的敏感性,同时处理好噪声消除和边缘保持的问题,提高边缘的清晰度、连续性、准确性,增加边缘提取算法的适用性与稳定性,本文基于LBP理论,设计了一种改良LBP耦合蚁群优化(Ant Colony Optimization,ACO)边缘提取方案. LBP计算简单,且具有旋转不变性和均匀不变性等优点,但是其对噪声较敏感.为了克服LBP的不足,提高边缘定位精度,本文在LBP中嵌入一个S函数,定义了一种改进的LBP算子,能够较好反映像素间的差异程度,有效表示边缘的细微变化,并进一步引入ACO对算法进行了优化.

    1 局部二值模式

    局部二值模式(Local Binary Pattern,LBP)是一种有效的纹理描述方法[8-9].定义一个3×3的范围,将与中心点相邻的8个点的灰度值与中心点比较,若相邻点的灰度值小于中心点灰度值,那么该点设定为0,反之为1,由此便生成了一个8位的二进制码.对此,可获得该窗口的LBP特征值,表示为[10]

    $ {L_{{\rm{LB}}{{\rm{P}}_{P,R}}}} = \sum\limits_{i = 0}^{P - 1} {{2^i} \times f\left( {{g_i} - {g_C}} \right)} \;\;\;\;\;\;i = 0,1 \cdots ,P - 1 $ (1)
    $ f\left( x \right) = \left\{ {\begin{array}{*{20}{c}} \begin{array}{l} 1\\ 0 \end{array}&\begin{array}{l} x \ge 0\\ 其他 \end{array} \end{array}} \right. $ (2)

    其中:gi是相邻点灰度值,gC是中心点灰度值,P是相邻点的个数,R是半径.

    得到所有点(ij)的LBP特征值后,将所有像素点(ij)的LBP构建成一个直方图,表示为:

    $ H(l) = \sum\limits_{i,j} g \left( {{L_{{\rm{LBP}}}}(i,j),l} \right),l \in \left[ {0,{2^P} - 1} \right] $ (3)
    $ g(x, y)=\left\{\begin{array}{l}{1} \\ {0}\end{array}\right. $ (4)

    其中LLBP(ij)为当前点(ij)的LBP值. 图 1表示了一个3×3尺寸大小的LBP生成过程. 图 1(a)展示了3×3窗口中每个像素点的灰度值,中心点为黑色,灰度值小于中心点的为灰色显示.根据公式(1)与(2),灰色点转换为图 1(b)中的0,其他点显示为1. 图 1(c)为(b)对应的二进制数转换. LBP=1+2+8+32+64=107.

    图 1 局部二值模式结构

    为了提高LBP的适用性,将图 1模型扩展成为一个圆形区域(图 2).该区域内的像素点P=8,半径R=1,再计算其LBP值.

    图 2 圆形LBP展示图

    通过式(1)知,LBP可获得2P种二进制编码.如果某个区域进行了旋转,那么以中心点为圆心,半径为R的区域内的P个点的gi也会产生变化,得到的LBP值也会相应产生变化.因此,针对该问题,需要对圆形区域旋转变换,计算其最小的LBP值,定义如下:

    $ {L_{{\rm{LBP}}_{P,R}^m}} = \min \left\{ {{R_O}\left( {{L_{{\rm{LB}}{{\rm{P}}_{P,R}}}},l} \right)\left| {l = 0,1, \cdots ,P - 1} \right.} \right\} $ (5)

    其中:RO(xl)为旋转方程;l为旋转数量.因此,通过计算旋转变换的LBP最小值,可使其具有旋转不变性.

    在LBP计算过程中,经常会产生一些特殊的LBP值,这些特殊的LBP一般含有重要的信息,能够表示丰富的细节和纹理[11].因此,为了反映LBP的均匀性,可表示为:

    $ {L_{{\rm{LBP}}_{P,R}^u}} = \left\{ \begin{array}{l} \sum\limits_{i = 0}^{P - 1} {f\left( {{g_i} - {g_c}} \right)} \;\;\;\;U\left( {{L_{B{P_{\left. {P,R} \right)}}}}} \right) \le 2\\ P + 1\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;其他 \end{array} \right. $ (6)

    其中U为LBP中周围点的0与1间变换的数量,定义为:

    $ U\left( {{L_{{\rm{LB}}{{\rm{P}}_{P,R}}}}} \right) = \left| {f\left( {{g_{i - 1}} - {g_c}} \right) - f\left( {{g_0} - {g_c}} \right)} \right| + \sum\limits_{n = 0}^{P - 1} {\left| {f\left( {{g_i} - {g_c}} \right) - f\left( {{g_{i - 1}} - {g_c}} \right)} \right|} $ (7)

    U可作为纹理评价指标,U越小越均匀;反之,越大表示其越不均匀.一个(PR)区域的LBP包括的均匀数量为P(P-1)+2.对此,均匀LBP的特征度显著降低,可在多尺度广泛适用.

    为了提高LBP的性能,降低计算复杂性,设计了一种具有旋转-均匀不变性的LBP表示LLBPPRmu.将旋转不变LBP分成旋转-均匀不变和非均匀两种.其中,旋转-均匀不变共有P+1组,非均匀设为1组.所以,LLBPPRmu的特征维数为P+2.因此,LLBPPRmu降低了特征维度,在保持了纹理检测的同时具备了旋转不变性与灰度尺度不变性.

    2 基于改进的局部二值模式耦合蚁群优化的边缘提取算法

    为了提高边缘提取算法的性能,减少噪音和模糊的影响,本文在LBP的基础上,设计了一种改进的LBP算法,通过嵌入一个平滑方程S,称之为SLBP.首先,为了降低噪声的干扰,对输入图像进行均值滤波处理,计算图像的SLBP特征值与权重.然后再将当前像素的SLBP值和前一个像素判断是否为非零,如果是,那么设置当前像素为白色,突出边缘,否则继续返回到上一步.为了进一步提高边缘的清晰度,降低伪边缘和弱边缘,引入了蚁群优化算法.本文设计的算法结构如图 3所示.

    图 3 本文算法流程图
    2.1 改进的LBP

    为了降低对噪声的敏感性,对式(1)进行演变如下:

    $ T=\sum\limits_{i=1}^{8} f\left(g_{i}-g_{c}\right) \quad f(x)=\left\{\begin{array}{ll}{1} & {x \geqslant 0} \\ {0} & {x<0}\end{array}\right. $ (8)

    其中:gi是相邻点灰度值;gc是当前点灰度值;f(x)为比较函数;T为冗余灰度变化的阈值,用于消除孤立点,从而选择光滑区域的点.

    LBP算子对边缘特征的描述能力不理想.为此,引入一个平滑函数S来增强其描述能力,定义如下:

    $ S_{\zeta}(x)=\frac{1}{2}\left[1+\left(\frac{2}{\pi}\right) \arctan \frac{x}{\zeta}\right] $ (9)

    S嵌入到比较函数f(x)中可得:

    $ {S_\zeta }\left( {{g_i} - {g_c}} \right) = \left\{ \begin{array}{l} 0\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;{g_i} - {g_c} < T\\ \frac{1}{2}\left[ {1 - \left( {\frac{2}{\pi }} \right)\arctan \left( { - \frac{{{g_i} - {g_c}}}{d}} \right)} \right]\;\;\;\;\;\;\;\;\;{\rm{otherwise}} \end{array} \right. $ (10)

    其中:$d=\frac{\left(g_{i}-g_{c}\right)^{2}}{g_{i}+g_{c}}$反映了周围的点和中心点间的相似距离,d越小,两个像素点越相似;T是一个阈值,可以过滤多余的细微变化,以保证边缘的准确提取.根据式(10)得出,当两个像素点的相似差异大于T时,S单调减少,可较好减少白色线条的产生.

    S函数值按“单调”递增的顺序排序,因此,较大的S函数值其权重也较大,表示如下:

    $ S_{c}\left(g_{i}-g_{c}\right)=F\left(S\left(g_{i}-g_{c}\right)\right) $ (11)

    其中F为单调排序运算符.

    通过在LBP中嵌入一个平滑函数S,得到一个新的SLBP,定义如下:

    $ {S_{{\rm{LBP}}}} = \left\{ {\begin{array}{*{20}{c}} \begin{array}{l} 0\\ \sum\limits_{i = 1}^8 {{S_c}\left( {{g_i} - {g_c}} \right){2^{i - 1}}} \\ 0 \end{array}&\begin{array}{l} T = 0\\ 1 \le T \le 7\\ T = 8 \end{array} \end{array}} \right. $ (12)

    T的目的是为了消除孤立的噪声点. T=0时,为孤立噪声;T=8时,为孤立点或者为平滑区的点.通过改进,当gigc的差异程度不同时,得到的结果也不一样. 图 4所示为一个3×3窗口的SLBP.图 4(a)给出了3×3窗口中每个像素的灰度值;图 4(b)为与中心像素的SLBP比较所得结果,SLBP的值为24.

    图 4 SLBP结构展示
    2.2 蚁群优化算法

    为了进一步提高边缘提取效率,通过蚁群优化算法(ACO)对边缘进行优化. ACO将图像看作2维空间,一个像素当作一个节点[12].本文ACO的边缘优化包括4个步骤:

    1) 初始化.对于图像I,选取尺寸为M1×M2的区域的k个像素,蚂蚁随机处于像素上,设每个像素矩阵T n的初始值为T0.

    2) 路径构造.由于不同点对蚂蚁的吸引力不一样,在第n次运动时,蚂蚁可选取的不同路线的概率可表示为[13]

    $ P_{\left( {l,m} \right),\left( {i,j} \right)}^n = \frac{{{{\left( {T_{i,j}^{\left( {n - 1} \right)}} \right)}^\alpha }{{\left( {{\eta _{i,j}}} \right)}^\beta }{\omega _\Delta }}}{{\sum\limits_{\left( {s,q} \right) \in \mathit{\Omega }\left( {l,m} \right)} {{{\left( {T_{s,q}^{\left( {n - 1} \right)}} \right)}^\alpha }{{\left( {{\eta _{s,q}}} \right)}^\beta }} }} $ (13)

    其中:$\mathit{P}_{(\mathit{l},\mathit{m}),(\mathit{i},\mathit{j})}^\mathit{n}$为从点(ij)到(lm)的概率;Ti.jηij分别为点(ij)的强度与启发信息;ωΔ是权值函数,Δ为蚂蚁运动的方向变量,$\mathit{\Delta } = 0,\frac{\pi }{4},\frac{\pi }{2},\frac{3}{4}\pi $Δ越大,ωΔ越小;αβ分别为强度和启发信息的控制参数.

    3) 信息素更新.通过每次运动后,信息素将按下式更新:

    $ T_{i,j}^{n - 1} = \left\{ {\begin{array}{*{20}{c}} \begin{array}{l} 1 - \rho \cdot T_{i,j}^{n - 1} + \rho \eta _{i,j}^k\\ T_{i,j}^{n - 1} \end{array}&\begin{array}{l} k - {\rm{th}}\;{\rm{ant}}\;{\rm{visited}}\\ {\rm{otherwise}} \end{array} \end{array}} \right. $ (14)

    其中ρ为控制Tijn-1的变化参数.通过全部蚂蚁的运动,得到的像素矩阵为

    $ {\mathit{\boldsymbol{T}}^{\left( n \right)}} = \left( {1 - \xi } \right){\mathit{\boldsymbol{T}}^{\left( {n - 1} \right)}} + \xi {\mathit{\boldsymbol{T}}^{\left( 0 \right)}} $ (15)

    其中:ξ是像素衰变值;T (0)是像素矩阵的初始值.根据步骤2)与3)的N次更新,得到新的像素矩阵T (n).

    4) 边缘检测与优化.为了准确判别像素点,在T(n)中引入阈值τ[14].设初始阈值τ0,通过T(n)τ0的大小关系可将像素分为G1G2两部分:G1满足T(n)>τ0G2满足T(n)τ0.分别测量G1G2的平均数$\tilde{\omega}_{1}$$\tilde{\omega}_{2}$,然后通过$\tilde{\omega}_{1}$$\tilde{\omega}_{2}$计算新的τ,定义为

    $ \tau = \frac{{{{\tilde \omega }_1} + {{\tilde \omega }_2}}}{2} $ (16)

    不断迭代运算,直到τ小于预设值为止,通过路径优化与正负反馈求取边缘最优值.

    由于本文算法构建的SLBP算子能够根据权重来精确计算像素间的差异程度,并且利用蚁群优化算法提高性能,从而准确提取区域边缘像素,不仅对图像中的单一目标具有较好的检测效果,而且对多目标的边缘提取仍然有效.

    3 实验与分析

    硬件环境为:Intel I3 3.50 GHz四核CPU,8 GB内存,500 GB RAM.软件环境为:Win7操作系统,MATLAB 2012.选择3种常见算法进行对比实验:基于LBP的边缘提取算法[5]、基于Canny的边缘提取算法[6]、基于WT与SVD的边缘提取算法[7].根据文献[6]与文献[12],预设τ=0.05,Canny算法中的阈值设为0.03,滤波窗口大小为3×3.

    3.1 评价指标

    为了客观地对实验提取的边缘进行评价,将优质系数Pτ与边缘连续性R作为算法性能的衡量指标[15]. Pτ的值越大,说明边缘越清晰,细节越详细,表达式为

    $ {P_\tau } = \frac{1}{{\max \left( {{n_o},{n_d}} \right)}}\sum\limits_{i = 1}^{{n_d}} {\frac{1}{{1 + \partial d_i^2}}} $ (17)

    其中:nond为完整与实际边缘上的像素点;di为第i点边缘与完整边缘的距离.

    边缘连续性R越大,表示边缘连续性越好、越完整,其表达式为[16]

    $ R = \frac{{{C_{EN}}}}{{{T_{EN}}}} $ (18)

    其中:CEN为连续像素数量,TEN为总像素数量.

    3.2 实验结果与分析

    图 5(a)为无噪声的输入恐龙图像,图 5(b)(e)分别为基于LBP方法、基于Canny方法、WT+SVD方法以及本文设计方法得到的提取结果.从图 5中看出,在不含噪声的恐龙图像中,4种方法得到的边缘整体均比较理想,能够较好得到恐龙的轮廓.但是,LBP与Canny方法得到的边缘产生了细碎的边缘;WT+SVD方法在恐龙腿部位置出现了局部断裂和繁琐边缘;本文方法的边缘较清晰、连续性好,准确表示了图像的结构与细节信息.

    图 5 无噪声单目标图像的边缘检测

    图 6为复杂的图像边缘提取结果.从图 6可知,本文算法对复杂图像的边缘检测同样具有良好性能,能够清晰显示细节信息.而其他算法效果不佳,出现了一些弱边缘与边缘漏检现象.

    图 6 无噪声多目标图像的边缘检测

    为了验证算法的抗噪性,借助PS CS3软件对图像加入不同密度的椒盐噪声后进行边缘提取实验,实验结果见图 78. 图 7(a)为添加5%密度噪声的花朵图像.由图 7可知,在噪声密度较低(5%)时,图 7(b)中的边缘提取效果不佳,出现了较多的噪声点,图 7(b)-(e)比较理想,能够反映花朵的轮廓和结构,特别是本文方法得到的边缘相对更清晰,无伪边缘与弱边缘,能够表现叶子等部位的细节信息.

    图 7 低噪声图像边缘
    图 8 高噪声图像边缘

    图 8(a)为添加20%密度噪声的花朵图.由图 8可知,图 8(b)产生了很多虚假边缘和噪声点;图 8(c)产生了较多的伪边缘、噪声点,得到的边缘失真,细节信息模糊;图 8(d)出现边缘间断、不连续的问题;图 8(e)得到的边缘完整,边缘定位较高.

    为了进一步测验算法的抗噪性,通过在图像中加入不同密度的椒盐噪声(5%,10%,…,40%),再分别利用4种算法在不同的噪声密度下对边缘进行提取.为了定量分析所得边缘的质量,通过测量优质系数Pτ与边缘连续性R,获得了不同噪声下的曲线图(图 9).从图 9可看出,本文方法的PτR曲线相对较平稳,且在相同噪声下测量的PτR最高.当噪声变大时,得到的PτR曲线也随之降低,但是本文方法下降相对平缓,而其它3种方法波动较大.

    图 9 不同算法的抗噪性测试

    本文算法除了对椒盐噪声具有良好的边缘提取效果之外,对其他类型的噪声干扰同样有效,因为本文在传统的LBP算子中引入平滑函数S从而可准确计算像素间差异,过滤多余的细微变化,保证了边缘提取的准确性与完整性.

    4 结论

    为了解决噪声消除和边缘保持的矛盾,提高边缘的清晰度、连续性,本文设计了一种改进的LBP耦合ACO图像边缘提取算法.实验结果表明,本文提出的S-LBP方法能够有效提高边缘提取的性能,得到的边缘清晰,连续性较好.

    参考文献
    [1]
    郑洪英, 彭钟贤, 肖迪. 加密医学图像中的视觉无损信息隐藏算法[J]. 西南大学学报(自然科学版), 2014, 36(12): 157-161.
    [2]
    张喜红. 基于Canny算子脑部CT边缘检测方法的研究[J]. 贵州师范大学学报(自然科学版), 2016, 34(2): 80-83, 100. DOI:10.3969/j.issn.1004-5570.2016.02.017
    [3]
    RAMAPACKIYAM S S K, SWAMINATHAN A. Edge Detection for Illumination Varying Images Using Wavelet Similarity[J]. IET Image Processing, 2014, 8(5): 261-268. DOI:10.1049/iet-ipr.2012.0460
    [4]
    张闯, 王婷婷, 孙冬娇, 等. 基于欧氏距离图的图像边缘检测[J]. 中国图象图形学报, 2013, 18(2): 176-183.
    [5]
    REDDY A H, CHANDRA N S. Local Oppugnant Color Space Extrema Patterns for Content Based Natural and Texture Image Retrieval[J]. AEUE-International Journal of Electronics and Communications, 2015, 69(1): 290-298. DOI:10.1016/j.aeue.2014.09.015
    [6]
    许宏科, 秦严严, 陈会茹. 一种基于改进Canny的边缘检测算法[J]. 红外技术, 2014, 36(3): 210-214.
    [7]
    李雪艳.基于小波变换的图像边缘检测模型研究[D].安徽: 合肥工业大学, 2014. http: //cdmd.cnki.com.cn/Article/CDMD-10359-1015568494.htm
    [8]
    周丽芳, 房斌, 李伟生. 一种自适应的EDTLBP人脸识别方法[J]. 重庆邮电大学学报(自然科学版), 2013, 25(2): 192-196, 220.
    [9]
    周书仁, 殷建平. 基于Haar特性的LBP纹理特征[J]. 软件学报, 2013, 24(8): 1909-1926.
    [10]
    梁淑芬, 刘银华, 李立琛. 基于LBP和深度学习的非限制条件下人脸识别算法[J]. 通信学报, 2014, 35(6): 154-160. DOI:10.3969/j.issn.1000-436x.2014.06.020
    [11]
    徐少平, 刘小平, 李春泉, 等. 基于LBP值对空间统计特征的纹理描述符[J]. 模式识别与人工智能, 2013, 26(8): 769-776. DOI:10.3969/j.issn.1003-6059.2013.08.010
    [12]
    王诏远, 王宏杰, 邢焕来, 等. 基于Spark的蚁群优化算法[J]. 计算机应用, 2015, 35(10): 2777-2780, 2797.
    [13]
    PERSHIN Y V, VENTRA M D. Memcomputing Implementation of Ant Colony Optimization[M]. Dordrecht: Kluwer Academic Publishers, 2016.
    [14]
    MENÉNDEZ H D, OTERO F E B, CAMACHO D. Medoid-Based Clustering Using Ant Colony Optimization[J]. Swarm Intelligence, 2016, 10(2): 123-145. DOI:10.1007/s11721-016-0122-5
    [15]
    SHIH M Y, TSENG D C. Wavelet-based Multiresolution Edge Detection and Tracking[J]. Image and Vision Computing, 2015, 23(4): 441-451.
    [16]
    贾迪, 董娜, 孟祥福, 等. 一种图像的连续性边缘提取方法[J]. 计算机工程与科学, 2015, 37(2): 384-389. DOI:10.3969/j.issn.1007-130X.2015.02.030
    Edge Extraction Algorithm Based on Improved LBP Coupled ant Colony Optimization
    LIU Xiao-yan     
    Department of Digital Media Technology, Jiangxi Tellhow Animation College, Nanchang 330200, China
    Abstract: In order to solve the defects which is difficult to both noise elimination and edge preserving in the traditional LBP model, and further improve the clarity and detail information of edge extraction, a image edge extraction scheme has been designed in this paper based on improved LBP and ant colony optimization. Firstly, in order to reduce the sensitivity to noise, the input image was processed by means of a mean filter of size 3*3. Secondly, an improved LBP model was constructed by embedding a smooth function S into LBP. And the degree of difference between pixels was reflected by improving the LBP value and weight to effectively characterization of subtle changes in edges. Finally, the best edge value was got by path optimization and positive and negative feedback, as well as introducing the ant colony optimization to improve the sharpness and detail representation of edges. Experimental results show that this algorithm has higher extraction edge sharpness and edge quality coefficient which can better reduce the noise and fuzzy interference for effectively identifying small details compared with the commonly used edge extraction methods.
    Key words: image edge extraction    LBP operator    mean filter    ant colony optimization    smoothing function    improved LBP    
    X