激光与光电子学进展, 2020, 57 (18): 181016, 网络出版: 2020-09-02   

基于梯度掩模滤波的边缘细化算法 下载: 890次

Edge Thinning Algorithm Based on Gradient Mask Filter
作者单位
苏州大学计算机科学与技术学院, 江苏 苏州 215000
摘要
现有的基于卷积神经网络的边缘检测算法,通常可以给出图像中每个像素为边缘的概率,即边缘概率图。针对边缘概率图细化后边缘存在丢失、间断等问题,提出一种基于梯度掩模滤波的边缘细化算法。为了获得高梯度掩模和低梯度掩模,引入基于Canny边缘检测算法的双阈值方法。对于高梯度掩模滤波后的边缘概率图进行增强,并对低梯度掩膜滤波后的边缘概率图进行削弱。最后,对边缘概率图进行非极大值抑制,得到二值的边缘图。实验结果表明,所提的边缘细化算法具有更多的连续边缘,并且更符合单边缘响应准则。
Abstract
Current edge detection algorithms based on convolutional neural network usually give the probability that each pixel in the image is an edge, namely the edge probability map. To address the problems of edge loss and discontinuity after edge probability map thinning, an edge thinning algorithm based on a gradient mask filter is proposed. To obtain the high-gradient and low-gradient masks, a dual threshold method based on the Canny edge detection algorithm is introduced. Then, an edge probability map filtered using the high gradient mask is enhanced, and that filtered by the low gradient mask is weakened. Finally, we performed non-maximum suppression on an edge probability map to obtain a binary edge map. The experimental results indicate that the proposed edge thinning algorithm provides more continuous edges and conforms to the single-edge response criterion.

1 引言

边缘作为计算机视觉领域的一种低层特征,在表示图像结构信息的同时,极大程度地减少数据量。近几十年,研究者提出了大量的边缘检测方法,大致可以分为两类:传统的边缘检测方法和基于深度学习的边缘检测方法[1]。传统的边缘检测方法大多依赖于图像梯度,其中经典的一阶导数梯度算子有Sobel算子、Roberts算子和Prewitt算子,这些算子通过计算图像灰度值的一阶导数(梯度),并在梯度方向上采取非极大值抑制的策略来寻找边缘点[2-4];利用二阶导数的零交叉点[5]来寻找边缘点的位置,因此提出了LoG (Laplacian of Gaussian)算子[6];Canny算法[7]是传统边缘检测领域中的一种代表性算法,其具有信噪比高、定位精度高和单边缘响应准则的优点,该算法使用高斯滤波器平滑图像,实现了自适应地选取双阈值,是一种鲁棒性极强的边缘检测算法[7];基于多尺度融合[8]的思想,Shui等[9]提出的IAGKs算法结合了小尺度的各向同性高斯核和大尺度的各项异性特性高斯核。

近年来,随着深度学习方法的发展,越来越多的学者将卷积神经网络应用在边缘检测中[10]。基于图像块的特征,Chen等[11]将边缘检测归为轮廓之间的分类问题,利用卷积神经网络输出图像的深度特征,提出了一个轮廓检测模型DeepContour;Bertasius等[12]使用DeepEdge模型建立了两路卷积神经网络框架,分别用作分类与回归;Xie等[13]基于深度监督网络模型将边缘检测问题转化为图像到图像的预测问题,并提出了一种整体嵌套边缘检测(HED)方法;在Xie等[13]工作的基础上,Liu等[14]利用了卷积层中残留的图像特征信息,并结合多尺度的图像金字塔方法,提出了RCF(Richer Convolutional Features)边缘检测算法,使得边缘检测的结果得到了很大改善。

上述方法使用的边缘检测数据集有BSDS300和BSDS500等[15],其人工标注图像(GT)都是二值图像,这些图像很难直接参与卷积神经网络的训练。仅以目前最具代表的RCF[14]为例,对二值的GT图像进行模糊转化以得到灰度图,并对其进行训练以得到边缘概率图(EPM)。最后,需要对EPM进行SEDT(Structured Edge Detection Toolbox)[16]处理以得到单边缘响应的边缘图,且在文献[ 11-14]中均有所提及。然而,基于卷积神经网络得到的EPM在细化后得到的边缘是不完整的,往往缺失了很多细节。为此,本文提出了一种基于梯度掩模滤波(GMF)的边缘细化算法。分别使用高梯度掩模(HGM)和低梯度掩模(LGM)对EPM进行增强和削弱,以得到兼具良好轮廓和细节的边缘图。

2 边缘细化

目前,利用基于卷积神经网络的边缘检测方法得到边缘概率图,再对其进行边缘细化以得到二值的边缘图。不同于传统的非极大值抑制方法,在计算每个像素梯度幅值的同时给出与其对应的梯度方向,而由卷积神经网络得到的EPM并没有与其匹配的概率方向。Dollár等[16]使用了EPM的二阶导数来求得每个像素的近似方向,则概率图P∈ℝm×n的二阶导数可表示为

fxx=1-21P(x-1,y)P(x,y)P(x+1,y),(1)fyy=1-21P(x,y-1)P(x,y)P(x,y+1),(2)fxy=1-1-11P(x,y)P(x+1,y)P(x,y+1)P(x+1,y+1),(3)

式中:(x,y)为P的坐标;fxxfyyfxy为x、y和xy方向的二阶导数。则边缘概率方向可表示为

OP=arctanfyyfxx·sign(fxy)(4)

对于任意的一个像素,沿着其边缘概率方向使用双线性插值方法,计算其相邻位置点的概率。若该像素的概率值最大,则认为该点是边缘点,反之则认为该像素属于后景。通过控制每个像素与其相邻位置点的距离(通常设为1),可以得到不同单边缘响应程度的边缘。

然而,对由卷积神经网络输出的EPM进行细化得到的边缘是有缺陷的。利用边缘细化的方法来学习和预测边缘的概率,使用二阶导数来估算每个像素的边缘概率方向并进行非极大值抑制,得到的二值边缘图很大程度上依赖于学习预测的EPM,其忽视了直接反映边缘强弱的梯度特征。二值边缘图是由RCF[14]得到的EPM,边缘处于深色区域(高边缘概率区域)的中心;相反,边缘不可能处于浅色区域(深色区域的边沿),如图1(a)和图1(b)所示。从图1(a)和图1(b)可以看到,边缘轮廓较为清晰,概率值较大,在轮廓内部的边缘像素概率值较小,导致其在边缘细化后往往丢失轮廓内部的细节。梯度图像[7]及其细化后的边缘图像存在不少间断,但保留更多的细节信息,如图1(c)和图1(d)所示。实验将梯度幅值作为一种特征融入EPM中,根据Canny边缘检测算法使用的梯度直方图统计[17]和双阈值法[7],计算图像高梯度阈值和低梯度阈值,如图1(e)和图1(f)所示。这两个阈值分别对应图像的HGM和LGM,则HGM滤波后的边缘概率会被增强,而LGM滤波后的边缘概率会被减小。

3 基于GMF的边缘细化算法的设计

实验设计一种基于GMF的边缘细化算法,整体框架如图2所示,其中HGFM和LGFM分别为经过HGM和LGM的图像,􀱋为叠加的操作。首先采用双阈值法分别计算图像的高梯度阈值和低梯度阈值,并由此得到图像的HGM和LGM,然后使用HGM和LGM对EPM进行滤波,并对边缘概率分别进行增强和削弱,最后对滤波后的图像进行非极大值抑制进而得到二值图像的边缘。

图 1. 基于不同边缘特征细化结果的对比。(a)(b) EPM[14];(c)(d)梯度图像[7];(e)(f) GMF

Fig. 1. Comparison of thinning results based on different edge features. (a)(b) EPM[14]; (c)(d) gradient images[7]; (e)(f) GMF

下载图片 查看所有图片

图 2. 基于GMF的边缘细化算法框架

Fig. 2. Framework of edge thinning algorithm based on GMF

下载图片 查看所有图片

3.1 梯度计算

成像过程中存在不同程度的噪声,导致边缘定位不准确,为此实验使用二维高斯分布[7]来表示,表达式为

hσ(x,y)=exp[(-x2+y2)/2σ2]/2πσ2,(5)

式中:σ为常数,取 2;hσ(x,y)为二维高斯分布函数。平滑后的灰度图像fσ(x,y)可以表示为

fσ(x,y)=hσ(x,y)*f(x,y),(6)

式中:f(x,y)为输入的灰度图像;*为卷积操作。使用一阶有限差分近似计算平滑后图像的梯度强度,其水平和竖直方向的梯度变化则可以表示为

Gx=12-11-11·fσ(x,y)fσ(x+1,y)fσ(x,y+1)fσ(x+1,y+1),(7)Gy=12-1-111·fσ(x,y)fσ(x+1,y)fσ(x,y+1)fσ(x+1,y+1),(8)

式中:Gx为水平方向的梯度;Gy为竖直方向的梯度。梯度幅值Gσ(x,y)可以表示为

Gσ(x,y)=sqrtm(Gx2+Gy2),(9)

式中:sqrtm(·)为矩阵的开平方根。图像的梯度方向可以表示为

OG(x,y)=arctan[-Gx(x,y)/Gy(x,y)],(10)

式中:Gx(x,y)和Gy(x,y)为每一个像素的梯度。

3.2 双阈值的选取

实验选取的双阈值目标与Canny算子不同,则设置两个阈值(高阈值τhigh和低阈值τlow)来生成HGM和LGM。首先对得到的m×n大小的梯度幅值图像进行直方图统计[17],将图像的梯度强度划分为N个间隔,第i个间隔中像素的个数表示为hhist,i,则

k[1,N],s.t.i=1khhist,im×nλ1,(11)

式中:λ1为给定的阈值。由此,可以计算高阈值τhigh=k/N,低阈值τlow=λ2·τhigh,低阈值通常与高阈值成比例,其中λ2=0.4[18]

3.3 GMF

GMF包括HGM和LGM两种滤波方式。首先对梯度幅值进行归一化,即

G^(x,y)=G(x,y)max[G(x,y)](12)

基于3.2节选取的双阈值,可以得到HGM和LGM,表达式为

Mhigh(x,y)=1,ifG^(x,y)τhigh0,ifG^(x,y)<τhigh,(13)Mlow(x,y)=1,ifG^(x,y)<τlow0,ifG^(x,y)τlow,(14)

式中:Mhigh(x,y)为HGM;Mlow(x,y)为LGM。对HGM滤波后的EPM进行基于梯度强度的增强,对LGM滤波后的EPM进行基于梯度强度的削弱。当增强边缘概率时,通过计算每个像素梯度与高梯度阈值之间的差异Dhigh来强化边缘的概率,即

Dhigh=G^*Mhigh-τhigh·E,(15)

式中:E为单位矩阵,与P等大。为了避免增强后的边缘概率大于1,或者出现局部边缘概率高度相似的情况,将每个像素的差异映射到区间[τhigh,1]中,则增强的边缘概率 P^high可以表示为

P^high=Dhigh1-τhigh*(E-P)(16)

同理,对边缘概率进行削弱时,差异矩阵Dlow可以表示为

Dlow=G^*Mlow-τlow·E(17)

为了避免削弱后的边缘概率小于0,或者出现局部边缘概率高度相似的情况,将每个像素的差异映射到区间[0,τlow]中,则削弱的边缘概率 P^low可以表示为

P^low=P*Dlowτlow(18)

基于GMF后的EPM为

Pt=P^low+P^high+P(19)

3.4 非极大值抑制

对EPM进行细化[16]得到二值边缘,边缘是EPM中概率极大值点的集合。目前,大多边缘检测的方法常计算边缘的梯度幅值和方向,并判断每个像素在其梯度方向上是否为极大值。使用梯度掩模对EPM进行滤波,为此使用Dollár等[16]提出的二阶差分近似求解梯度方向,并对滤波后的EPM进行细化。

4 实验

实验中,将GMF算法应用于边缘的检测。通过对给出的EPM进行基于GMF的边缘细化来得到最终的二值边缘。使用由伯克利大学实验室提供的BSDS500边缘检测数据集,该数据集不仅能够用于边缘的检测,还能够用于图像的分割或轮廓的检测等[15]。该数据集共包含500张分辨率为321 pixel×481 pixel的图像,其中每张图像都对应于由多个人工标注的GT图像。在BSDS500数据集中挑选5张作为测试图像,并给出Canny[7]及DeepEdge[11]、HED[13]和RCF[14]分别使用SEDT[16]和GMF的边缘检测结果,如图3所示。边缘检测中,GT图像的标注较为困难,所以多数边缘检测数据集的GT图像通常是对轮廓进行检测,常会丢失很多边缘细节。

为了证明所提算法的有效性,征集24位无相关利益者对所提方法进行主观评估。从BSDS500数据集中随机挑选8张分辨率为321 pixel×481 pixel的图像作为待评估图像,因此每一位志愿者需要对64张图像进行评估:8组直线段图像(每组包含8张分别由提到的4种基于卷积神经网络的边缘检测算法并使用SEDT[16]进行细化的边缘图像,及其各自基于所提的GMF边缘细化算法独立运行得到的边缘图像)。记录每个边缘检测算法的平均意见得分[19]并对其进行比较。雷达图中的每条辐线代表24位招募志愿者中的一位,且每条辐线上的实点标记相应边缘检测算法检测到边缘图像的总分,分数越高,表明视觉效果更好,如图4所示。从图4可以看到,所提的GMF边缘细化算法更符合人眼的主观感知,且取得较好的边缘连续性,对不同的基于深度学习的边缘检测算法都具有较强的普适性。其中,DeepEdge[11]和RCF[14]的边缘检测结果在主观评估中得到极大的提升。

在BSDS500数据集中,对边缘检测算法进行客观评估。使用各种边缘检测算法对200张测试图像进行计算,客观评估指标有平均边缘像素总数(A),4连通数(B)和8连通数(C)[20],统计结果如表1所示。其中,4连通数指的是一条边缘中每个点在其水平或竖直方向存在相连的边缘点;8连通数指的是一条边缘中每个点在其8邻域内存在相连的边缘点。当前最先进算法RCF[14]与RCF[14]+GMF在单张图像上的客观评估数据,如表2所示,其中选择的图像编号为140006和232076。此外,还计算C/AC/B的值,其中,C/A值与边缘的连续性相关,该值越小,说明边缘的间断就越少;C/B值反应检测到边缘的宽度,该值越小,说明越符合单边响应准则。从表1可以看到,在传统的边缘检测算法中,Canny算子[7]在检测到更多边缘点的同时,还保持边缘良好的连续性;在基于卷积神经网络的边缘检测算法中,RCF[14]表现最为出色;基于所提的GMF边缘细化算法,DeepEdge[11]、DeepContour[12]、HED[13]和RCF[14]C/A值和C/B值都有很大提升,且RCF+GMF取得最小的C/A值(0.0231)和C/B值(0.1146),进一步表明所提算法可以检测到更多具备连续性和单边缘响应的边缘,具备一定的普适性。原因在于采用HGM对图像进行滤波,增强高梯度幅值像素的边缘概率;采用LGM对图像进行滤波,削弱低梯度幅值像素的边缘概率。

表 1. 不同算法的平均统计结果

Table 1. Average statistical results of different algorithms

AlgorithmABCC/AC/B
Sobel[4]601124078470.14090.3519
Roberts[5]4532145810560.23300.7243
Prewitt[6]596321768400.14090.3860
Canny[7]2146331506370.02970.2022
DeepEdge[11] +SEDT[16]572415426660.11640.4319
DeepContour[12] +SEDT[16]527611543780.07160.3276
HED[13] +SEDT[16]438911094260.09710.3841
RCF[14] +SEDT[16]42508762510.05910.2865
DeepEdge[11]+GMF581913391960.03370.1464
DeepContour[12]+GMF615312731540.02500.1210
HED[13]+GMF39008911320.03380.1481
RCF[14]+GMF49349951140.02310.1146

查看所有表

表 2. RCF[14]与RCF+GMF的边缘检测结果对比

Table 2. Comparison of edge detection results between RCF[14] and RCF+GMF

No.AlgorithmABCC/AC/B
140006RCF[14]589512992630.04460.2025
RCF[14]+GMF887320611790.02020.0869
232076RCF[14]29327011980.06750.2825
RCF[14]+GMF584011851200.02050.1013

查看所有表

图 3. 不同算法的边缘检测结果对比。(a)原图;(b) GT;(c) Canny;(d) HED;(e) HED+GMF;(f) DeepEdge+SEDT;(g) DeepEdge+GMF;(h) RCF;(i) RCF+GMF

Fig. 3. Comparison of edge detection results of different algorithms. (a) Original images; (b) GT; (c) Canny; (d) HED; (e) HED+GMF; (f) DeepEdge+SEDT; (g) DeepEdge+GMF; (h) RCF; (i) RCF+GMF

下载图片 查看所有图片

图 4. 不同算法的主观评估结果。(a) DeepEdge+SEDT;(b) DeepContour+SEDT;(c) HED+SEDT;(d) RCF+SEDT;(e) DeepEdge+GMF;(f) DeepContour+GMF;(g) HED+GMF;(h) RCF+GMF

Fig. 4. Subjective evaluation results of different algorithms. (a) DeepEdge+SEDT; (b) DeepContour+SEDT; (c) HED+SEDT; (d) RCF+SEDT; (e) DeepEdge+GMF; (f) DeepContour+GMF; (g) HED+GMF; (h) RCF+GMF

下载图片 查看所有图片

5 结论

随着图像处理技术的快速发展,边缘作为一种低层特征,显得尤为重要。高效、准确的边缘检测算法不仅能够大幅度减少数据量,还可以保留图像重要的结构信息。基于卷积神经网络的边缘检测算法给出的EPM,在其细化过程中往往忽视图像的梯度信息。为此,研究并设计一种基于GMF的边缘细化算法。该算法根据双阈值法得到HGM和LGM,并对EPM分别进行增强与削弱。通过非极大值抑制和二值化操作来得到最终的二值边缘图。最后对所提的边缘细化算法进行主观和客观评估实验,进一步验证所提算法的有效性。

参考文献

[1] 黄婷. 基于双向跟踪的多尺度边缘检测算法研究[D]. 苏州: 苏州大学, 2019: 3- 11.

    TingH. Research on a multiscale edge detection algorithm based on bi-directional tracing[D]. Suzhou: Soochow University, 2019: 3- 11.

[2] 李忠海, 金海洋, 邢晓红. 整数阶滤波的分数阶Sobel算子的边缘检测算法[J]. 计算机工程与应用, 2018, 54(4): 179-184.

    Li Z H, Jin H Y, Xing X H. Edge detection algorithm of fractional order Sobel operator for integer order differential filtering[J]. Computer Engineering and Applications, 2018, 54(4): 179-184.

[3] 杨婷婷, 顾梅花, 章为川, 等. 彩色图像边缘检测研究综述[J]. 计算机应用研究, 2015, 32(9): 2566-2571.

    Yang T T, Gu M H, Zhang W C, et al. Review of color image edge detection algorithms[J]. Application Research of Computers, 2015, 32(9): 2566-2571.

[4] William Thomas HM, Kumar S CP. A review of segmentation and edge detection methods for real time image processing used to detect brain tumour[C]∥2015 IEEE International Conference on Computational Intelligence and Computing Research (ICCIC), December 10-12, 2015, Madurai, India. New York: IEEE, 2015: 15870702.

[5] Yao WX, LüZ, ZhangM, et al. A novel SVPWM scheme for Vienna rectifier without current distortion at current zero-crossing point[C]∥2014 IEEE 23rd International Symposium on Industrial Electronics (ISIE), June 1-4, 2014, Istanbul, Turkey. New York: IEEE, 2014: 2349- 2353.

[6] 王程啸, 黄辉先, 杨辉, 等. 基于Riemann-Liouville改进的1~2阶分数阶边缘提取新模型[J]. 计算机应用, 2016, 36(1): 227-232.

    Wang C X, Huang H X, Yang H, et al. New improved 1-2-order fractional differential edge detection model based on Riemann-Liouville integral[J]. Journal of Computer Applications, 2016, 36(1): 227-232.

[7] Song R J, Zhang Z Q, Liu H Y. Edge connection based Canny edge detection algorithm[J]. Pattern Recognition and Image Analysis, 2017, 27(4): 740-747.

[8] Ziou D, Tabbone S. A multi-scale edge detector[J]. Pattern Recognition, 1993, 26(9): 1305-1314.

[9] Shui P L, Zhang W C. Noise-robust edge detector combining isotropic and anisotropic Gaussian kernels[J]. Pattern Recognition, 2012, 45(2): 806-820.

[10] Guo HK, Wang GJ, Chen XH. Notice of removal: two-stream convolutional neural network for accurate RGB-D fingertip detection using depth and edge information[C]∥2016 IEEE International Conference on Image Processing (ICIP), September 25-28, 2016, Phoenix, AZ, USA. New York: IEEE, 2016: 2608- 2612.

[11] Chen H, Qi X J, Yu L Q, et al. DCAN: deep contour-aware networks for object instance segmentation from histology images[J]. Medical Image Analysis, 2017, 36: 135-146.

[12] BertasiusG, Shi JB, TorresaniL. DeepEdge: a multi-scale bifurcated deep network for top-down contour detection[C]∥2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 7-12, 2015, Boston, MA, USA. New York: IEEE, 2015: 4380- 4389.

[13] Xie S N, Tu Z W. Holistically-nested edge detection[J]. International Journal of Computer Vision, 2017, 125(1/2/3): 3-18.

[14] LiuY, Cheng MM, Hu XW, et al. Richer convolutional features for edge detection[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 21-26, 2017, Honolulu, HI, USA. New York: IEEE, 2017: 5872- 5881.

[15] Rajathilagam B, Rangarajan M. Edge detection using g-lets based on matrix factorization by group representations[J]. Pattern Recognition, 2017, 67: 1-15.

[16] Dollár P, Zitnick C L. Fast edge detection using structured forests[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(8): 1558-1570.

[17] 依玉峰, 田宏, 刘彤宇. 直方图重建图像细节增强算法[J]. 计算机工程与应用, 2017, 53(13): 29-33.

    Yi Y F, Tian H, Liu T Y. Novel histogram reconstruction based image detail enhancement algorithm[J]. Computer Engineering and Applications, 2017, 53(13): 29-33.

[18] Yue SC, Zhao RC, Zheng JB. Adaptive threshold edge detection with noise immunity by multi-scale analysis[C]∥2007 International Conference on Wavelet Analysis and Pattern Recognition, November 2-4, 2007, Beijing, China. New York: IEEE, 2007: 1759- 1764.

[19] Zhang YS, Chen ZJ. No-reference JPEG image quality assessment based on support vector regression neural network[C]∥2010 2nd International Workshop on Database Technology and Applications, November 27-28, 2010, Wuhan, China. New York: IEEE, 2010: 11691720.

[20] 王佐成, 刘晓冬, 薛丽霞. Canny算子边缘检测的一种改进方法[J]. 计算机工程与应用, 2010, 46(34): 202-204, 248.

    Wang Z C, Liu X D, Xue L X. Improved method of Canny operator edge detection[J]. Computer Engineering and Applications, 2010, 46(34): 202-204, 248.

韩东旭, 钟宝江. 基于梯度掩模滤波的边缘细化算法[J]. 激光与光电子学进展, 2020, 57(18): 181016. Dongxu Han, Baojiang Zhong. Edge Thinning Algorithm Based on Gradient Mask Filter[J]. Laser & Optoelectronics Progress, 2020, 57(18): 181016.

本文已被 1 篇论文引用
被引统计数据来源于中国光学期刊网
引用该论文: TXT   |   EndNote

相关论文

加载中...

关于本站 Cookie 的使用提示

中国光学期刊网使用基于 cookie 的技术来更好地为您提供各项服务,点击此处了解我们的隐私策略。 如您需继续使用本网站,请您授权我们使用本地 cookie 来保存部分信息。
全站搜索
您最值得信赖的光电行业旗舰网络服务平台!