基于梯度掩模滤波的边缘细化算法 下载: 890次
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的二阶导数可表示为
式中:(x,y)为P的坐标;f″xx、f″yy和f″xy为x、y和xy方向的二阶导数。则边缘概率方向可表示为
对于任意的一个像素,沿着其边缘概率方向使用双线性插值方法,计算其相邻位置点的概率。若该像素的概率值最大,则认为该点是边缘点,反之则认为该像素属于后景。通过控制每个像素与其相邻位置点的距离(通常设为1),可以得到不同单边缘响应程度的边缘。
然而,对由卷积神经网络输出的EPM进行细化得到的边缘是有缺陷的。利用边缘细化的方法来学习和预测边缘的概率,使用二阶导数来估算每个像素的边缘概率方向并进行非极大值抑制,得到的二值边缘图很大程度上依赖于学习预测的EPM,其忽视了直接反映边缘强弱的梯度特征。二值边缘图是由RCF[14]得到的EPM,边缘处于深色区域(高边缘概率区域)的中心;相反,边缘不可能处于浅色区域(深色区域的边沿),如
3 基于GMF的边缘细化算法的设计
实验设计一种基于GMF的边缘细化算法,整体框架如
图 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
3.1 梯度计算
成像过程中存在不同程度的噪声,导致边缘定位不准确,为此实验使用二维高斯分布[7]来表示,表达式为
式中:σ为常数,取
式中:f(x,y)为输入的灰度图像;*为卷积操作。使用一阶有限差分近似计算平滑后图像的梯度强度,其水平和竖直方向的梯度变化则可以表示为
式中:Gx为水平方向的梯度;Gy为竖直方向的梯度。梯度幅值Gσ(x,y)可以表示为
式中:sqrtm(·)为矩阵的开平方根。图像的梯度方向可以表示为
式中:Gx(x,y)和Gy(x,y)为每一个像素的梯度。
3.2 双阈值的选取
实验选取的双阈值目标与Canny算子不同,则设置两个阈值(高阈值τhigh和低阈值τlow)来生成HGM和LGM。首先对得到的m×n大小的梯度幅值图像进行直方图统计[17],将图像的梯度强度划分为N个间隔,第i个间隔中像素的个数表示为hhist,i,则
式中:λ1为给定的阈值。由此,可以计算高阈值τhigh=k/N,低阈值τlow=λ2·τhigh,低阈值通常与高阈值成比例,其中λ2=0.4[18]。
3.3 GMF
GMF包括HGM和LGM两种滤波方式。首先对梯度幅值进行归一化,即
基于3.2节选取的双阈值,可以得到HGM和LGM,表达式为
式中:Mhigh(x,y)为HGM;Mlow(x,y)为LGM。对HGM滤波后的EPM进行基于梯度强度的增强,对LGM滤波后的EPM进行基于梯度强度的削弱。当增强边缘概率时,通过计算每个像素梯度与高梯度阈值之间的差异Dhigh来强化边缘的概率,即
式中:E为单位矩阵,与P等大。为了避免增强后的边缘概率大于1,或者出现局部边缘概率高度相似的情况,将每个像素的差异映射到区间[τhigh,1]中,则增强的边缘概率
同理,对边缘概率进行削弱时,差异矩阵Dlow可以表示为
为了避免削弱后的边缘概率小于0,或者出现局部边缘概率高度相似的情况,将每个像素的差异映射到区间[0,τlow]中,则削弱的边缘概率
基于GMF后的EPM为
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的边缘检测结果,如
为了证明所提算法的有效性,征集24位无相关利益者对所提方法进行主观评估。从BSDS500数据集中随机挑选8张分辨率为321 pixel×481 pixel的图像作为待评估图像,因此每一位志愿者需要对64张图像进行评估:8组直线段图像(每组包含8张分别由提到的4种基于卷积神经网络的边缘检测算法并使用SEDT[16]进行细化的边缘图像,及其各自基于所提的GMF边缘细化算法独立运行得到的边缘图像)。记录每个边缘检测算法的平均意见得分[19]并对其进行比较。雷达图中的每条辐线代
在BSDS500数据集中,对边缘检测算法进行客观评估。使用各种边缘检测算法对200张测试图像进行计算,客观评估指标有平均边缘像素总数(A),4连通数(B)和8连通数(C)[20],统计结果如
表 1. 不同算法的平均统计结果
Table 1. Average statistical results of different algorithms
|
表 2. RCF[14]与RCF+GMF的边缘检测结果对比
Table 2. Comparison of edge detection results between RCF[14] and RCF+GMF
|
图 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.