一种引导滤波自适应双阈值优化边缘检测算法
在图像处理中,边缘检测是指将图像周围像素灰度值有阶跳性变化和屋顶状变化(灰度值由增加到减少的变化转折点)的像素进行集合的过程[1]。随着计算机视觉和数字图像处理技术的发展,边缘检测技术越来越多地应用到智能视频监控、人机交互、虚拟现实等方面,并且发挥着越来越大的作用[2]。由于图像本身的复杂性,目标边缘与图像噪声易混淆、光照阴影及物体表面纹理等原因造成的图像缺陷依然是边缘检测技术的重点问题[3]。
现场观众的情绪生理变化被传感器捕捉下来,通过人机交互等技术转化为数值,传递到后台计算机,以数字形态描绘出每个人的情绪曲线。从情绪曲线上可以非常直观地看出,观众的兴奋值、情绪波峰、情绪波谷及情绪变化趋势。观众情绪唤起强度明显升高,则表明他们这个时候注意力非常集中,对相关内容很关注。新华网Star生物传感智能机器人可以精准捕捉被测试者“同频共振”瞬间、“心潮澎湃”瞬间,同时还能出具测试报告、生产生理传感新闻报道。[9]
常见的边缘检测方法有两种,一种是运用模板匹配的方法,即用像素点不同方向的检测模板与图像进行卷积运算,并选取邻域像素点最大值的方法。这种方法比较简单,容易理解,也很容易得到图像平滑的边缘信息,缺点在于模板选取的方向有限,不能全面检测所有方向的边缘信息。另一种是基于求图像梯度的方法,该方法运用一阶二阶导数来求取梯度算子的过程,如Sobel、Prewitt、Robert等算子属于一阶算子,拉普拉斯算子属于二阶算子。这种方法的优点在于检测灵敏度较高,边缘的定位较为准确,缺点在于容易受到图像本身的噪声影响。两种方法在处理分辨率不高、对比度低的图像时,局限性明显。国内外学者对于边缘检测做了大量研究[4],提出了许多改进算法。文献[5]构造了新的自适应平滑滤波器,实现对滤波函数的改进;文献[6]提出了新的判断非极大值抑制的条件,设计了新的梯度检测算子;文献[7]利用遗传算法自动获取高低阈值;文献[8]基于边缘对比特征和边缘方向来实现高低阈值的功能;文献[9]采用双边滤波和自适应中值滤波代替传统LOG算子中的高斯滤波;文献[10]提出运用全水平导数和全张力重力梯度模量进行边缘检测;文献[11]运用移相激光光斑的相变来实现边缘检测。上述研究或是单一改进滤波函数,或是单一自适应选择阈值,或是单一优化算法运算量,将二者结合考虑进一步改善边缘检测效果的研究尚未见报道。
在苹果发布Beats1之前,已有其他公司涉足网络音乐电台,例如HaKt Radio不仅可以为听众定制专属的音乐电台歌单,还可以让观众跳过不喜欢的歌曲,该网站每周有将近245万人在线收听音乐广播。[9] 虽然这个数据是非常可观的,但该平台的知名度和流行度仍旧不高,这是由于人们需要下载专门的软件才能使用。 对比自动包含在所有苹果设备中,只需要点击已更新的苹果音乐就可以使用的Beats1来说,后者一开始便在起跑线上占尽了先天平台优势。
本文结合Kirsch和Sobel算子各自的优点,运用引导滤波器对图像进行优化去噪,提出一种能够较全面检测所有方向的边缘信息,同时能够很好地抑制图像本身噪声影响的算法。可根据图像边缘区域的特点自动选取合适的阈值,边缘检测准确度和运算效率良好,尤其是对分辨率不高、对比度低的图像,本文算法具有较好的应用价值。
1 Kirsch算子概述
传统的边缘检测算子主要包含Sobel算子和Kirsch算子。Kirsch算子边缘检测方法的原理是运用8个方向模板来确定边缘的梯度及其方向,如图1所示。图1(a)为8个窗口模板对应的边缘方向;图1(b)为Kirsch算子的8个模板,分别用Gk(G0~G7)表示。将Gk与图像可能的3×3窗口分别一一进行卷积,然后取最大输出值作为相应窗口中央像素点的边缘强度,则最大的模板所对应的K值作为边缘方向。
运转不透明,职责划分不清,没有建立起一套行之有效的监督和问责机制。一是审计难以全覆盖。专项转移支付项目庞杂,即使是大额的专项转移支付,分配到市县后,每个项目规模也不大,难以进行全面审计,更不能形成常态化、普及化的监督规模。二是监管职能分散。目前审计、财政、主管部门对专项转移支付都负有一定的监管职责,但职能重叠,加之部门间信息封闭,监管能力难以整合形成合力,部分专项转移支付存在监管真空。三是监管手段单一。目前对专项转移支付的监管主要是事后检查,许多是问题暴露以后才组织检查,缺乏事前和事中的有效监管。
图1 Kirsch算子模板及边缘方向
假设图像中任意一点的坐标为(m,n),与其邻域构成的3×3窗口P如图2所示,P可以看成是3×3的矩阵,其中p(m+ω,n+ω)(ω=-1,0,1)表示相应点的灰度值。设“*”表示卷积运算,并令qk为点(m,n)经过Kirsch算子的Gk模板作用后的边缘强度,即qk=Gk*P,则点(m,n)的最终边缘强度q(m,n)={max(qk)|k=0,1,2,…,7},相应的边缘方向d(m,n)={k|max(qk)},其中max表示取最大值。
图2 图像的3×3窗口示意图
2 改进的边缘检测算法
2.1 引导滤波器
近年来,引导滤波技术逐渐被人们关注。所谓引导滤波就是需要引导图的滤波器,可以用单独的图像或者是输入图像作为引导图,若将输入图像作为引导图,引导滤波即为保持边缘的滤波过程,可以用于图像重建,具有保持边缘的特性[12]。在引导滤波中,一般情况下会用到局部线性模型。在这种模型中,函数整体上可能不是线性的,但是函数上面的任意一点与邻近的点可以构成近似线性关系。这样任意一个复杂的函数就可以用很多的分段函数来表述,而且每个分段函数都是线性的。若需求取函数上任意一点值,只需找到该点作为变量所处的区间,然后在对应的分段函数上求出相应的值并取其平均值。该模型在解决非解析函数问题时效果较好。图3是引导滤波示意图。
图3 引导滤波示意图
类似地,通常所说的图像实际上也可以是一个平面二维函数,而且任何一幅图像都无法用函数解析表达式来表示。因此,假设图像函数值的输入值和像素输出值近似满足线性函数关系,即为
第一,喉头位置。无论是美声唱法还是民族唱法,都要讲究喉头的安放以及稳定。如果喉头位置安放不好,或是不能稳定的保持,那么好的声音是无从谈起的。
qi=akIi+bk ∀i∈ωk
(1)
式中:I为输入图像函数点坐标值,q为对应的图像在该点的像素输出值,i和k为图像的像素索引值,a和b分别对应窗口中心等于k时该图像二维函数的两个系数,ωk是所有包含像素I的窗口;另外,输入图像I可以是带滤波的二维图像,也可以是一般性的引导图像,故称之为引导滤波[13]。对式(1)两边取梯度,可以得到
q=aI
(2)
算法实现步骤:
(3)
式中:P只能是待滤波图像,而I既可以是滤波图像也可以是其他图像。
同时,为了防止求得的a过大,运用式(3)中的系数(用ξ来表示)来调节,这个系数也是调节引导滤波器滤波性能的关键参数。运用最小二乘法原理,可以得到
式中:GPS为排放绩效,g/kWh;E为污染物许可排放量,g;D为理论发电量,kWh;c为污染物许可排放浓度,mg/m3;M为废气排放量,m3;CAP为装机容量,MW。
(4)
(5)
式中:μk是I在窗口ωk中的平均值,是I在窗口ωk中的方差,|ω|是窗口ωk中像素的数量,是待滤波图像P在窗口ωk中的均值。
Gy+(x,y),Gy-(x,y)}
(6)
综上,若将引导滤波用于边缘保持滤波器,通常情况下会使I=P。
显然,当ξ=0时,a=1,b=0可使E(a,b)取得最小值。由式(6)可知,此时滤波器不起任何作用,会造成输入不做任何处理的输出。
当ξ>0,在图像分辨率和对比度不高的区域(或者色彩度单一区域),有此时滤波器的作用是加权均值区域;图像分辨率和对比度较高的区域,a≈1,b≈0,此时滤波器对图像的滤波效果减弱,可以达到保持边缘的作用。因此,在窗口大小不变的前提下,滤波效果会随着ξ的增大而变得显著。
2.2 改进的Kirsch算子边缘检测算法
图像边缘检测包含两个最关键的方面:一是如何最大程度地消除噪声对图像的影响;二是如何合理选择阈值,以较好地抑制伪边缘作用,减少噪声。在边缘检测传统方法中,Sobel算子可实现两个方向的梯度计算,运算复杂度小,但容易造成边缘有用信息丢失;Kirsch算子可实现对8个方向的计算,虽然可以实现边缘有效信息的完整检测,但是运算复杂度大幅提高。本文在Kirsch算子基础上,将图像像素的8个方向的卷积求导简化为4个方向的梯度运算,运用第2.1节所述引导滤波器,设计出一种引导滤波器的改进Kirsch算子梯度模板的双阈值边缘检测算子。
观察组患者平均手术时间比对照组长,出血比对照组多,骨折愈合时间等预后指标比对照组短(P<0.05)。治疗前两组的HSS评分不存在统计学差异性(P>0.05),治疗后两组均有所改善,观察组更加明显(P<0.05)。观察组治疗的优良率是91.2%,对照组是70.6%,两组优良率存在统计学差异性(X2=4.660,P=0.031)。观察组共有1例尿路感染、1例褥疮、2例深静脉血栓患者,并发症发生率是11.8%,对照组有2例尿路感染,1例褥疮,2例深静脉血栓,并发症几率是14.7%,不存在统计学差异性(X2=0.128,P=1.000)。
假设图像函数为f(x,y),3×3窗口图像数据为结合图像数据模板和梯度模板,略去Kirsch算子中的4个方向梯度,得到水平方向Gx+(x,y)、Gx-(x,y)和垂直方向Gy+(x,y)、Gy-(x,y)4个方向梯度
Gx+(x,y)=5×(F6+F8+F9)-3×(F1+F2+
武汉地铁11号线东段工程教药区间隧道线间距13.3~39.5m,埋深11.1~16.7m,沿高新大道向东铺设,先后侧穿三环线高架和武广高铁。穿越的地层主要为中风化泥岩,上覆土层为杂填土、粉质黏土、强风化泥岩,于里程右DK43+353~DK43+366范围内侧穿武广高铁高架桥上行线和下行线,隧道与桥梁桩基结构水平最小净距8.12m。
“我被关在监狱里快一年的时候,秋天到了。”入秋之后渐渐变得越来越冷,这对于酢浆草来说,严酷的环境也开始了,最后酢浆草的叶和茎都消失了,只剩下霜柱。“就这样到了十一月七日⑤。”这一天,酢浆草已经消失,主人公正在痛苦的时候,主人公的母亲把作为探监慰问品的菊花送来了。这件事在主人公心中就像十月革命给俄国带来了光明一样。
(7)
Gy+(x,y)=5×(F1+F2+F4)-3×(F3+F6+
面向枪声定位应用的无线传感器网络中,多个传感器节点构成一个新的麦克风阵列,有效地扩大系统检测口径。枪声定位系统网络如图1所示。
F3+F6+F9)
当我开门进去以后,家里黑漆漆的,我的第一个反应是白丽筠不在家。可是黑暗的客厅里传来一声问候,你来啦?那声音听上去那么苍老,我几乎没有认出来是白丽筠的嗓音。
(8)
Gx-(x,y)=5×(F4+F7+F8)-3×(F1+F2+
F7+F8+F9)
(9)
Gy-(x,y)=5×(F2+F3+F6)-3×(F1+F4+
F7+F8+F9)
(10)
由此算出4个模板的梯度最大值Gmax(x,y)和最小值Gmin(x,y)
Gmax(x,y)=max{Gx+(x,y),Gx-(x,y),
Gy+(x,y),Gy-(x,y)}
(11)
Gmin(x,y)=min{Gx+(x,y),Gx-(x,y),
在计算线性系数a和b时,由于每一个像素周围都会包含多个像素窗口,换句话说,每个像素都可以用多个函数解析式来描述。故若求解某像素点的输出值,只需将该点代入周围多个函数解析式求出相应的平均值即可
(12)
当输入的二维图像I具有梯度信息时,对应的输出值q也相应地有梯度,二者一一对应。因此引导滤波一定具有边缘保持特性。同时,可以利用线性回归原理求出相应的线性函数系数a和b,即只要使目标拟合函数的目标输出值与真实值的差值最小,就可以得到最终的系数
步骤1 图像预处理,利用第2.1节的引导滤波器对图像进行平滑去噪;
F3+F4+F7)
步骤2 改进的Kirsch算子计算模板梯度得到Gmax(x,y)和Gmin(x,y),简化幅值计算过程,采用MAG=|Gmax(x,y)+Gmin(x,y)|公式进行计算;
步骤3 利用双阈值(阈值Th1和阈值Th2,Th1>Th2)判定边缘区域[14],Th1边缘区域确定为标兵点[15]区域,Th2边缘区域为连接边缘的搜索区域,并确定区域中像素的边缘方向,且Th1和Th2阈值可采用文献[15]方法进行自适应变化;
步骤4 利用确定的标兵点和Th2搜索区域,按照连点画图游戏连接方法提取最终的边缘。
1)根据对煤层气储层基本特征和储层速度影响因素的分析结果,即在岩性和煤级变化不大的情况下储层地震波速度受气体含量变化的影响,提出了一种煤层气储层速度预测方法,通过综合煤层双重孔隙结构和胀缩效应引起的孔隙度变化,并利用Gassmann流体替代理论得到弹性模量,进行速度预测。
上述步骤可由图4描述。
图4 改进Kirsch算子的双阈值边缘检测算法实现步骤
3 实验与分析
本文通过人为观察和数据对比相结合的方法得出定性和定量分析实验结论。定性的结论可以按照人眼的视觉观察分为5级:好、较好、一般、较差、差。
选用图5中4幅图像(a1-a4,256*256)作为待测对象。选择这4幅图像的原因是,每个图像的中心位置都有一个单一的完整主体,人们第一眼就能准确识别图像中的主体名称或看出其具体主体形状。
对改进Kirsch的双阈值边缘检测算法进行实验,验证了算法的处理效果,如图5所示。图5中,(a1)-(a4)、(b1)-(b4)、(c1)-(c4)、(d1)-(d4)分别为原始图像、sobel算法、Kirsch算法和本文算法的边缘检测效果图。由图5可以看出,运用改进的Kirsch双阈值算子可以很好地实现图像边缘检测,与传统的Sobel算子和Kirsch算子相比,对复杂图像能够更好地实现边缘检测提取。对于图5(a1)-(a4)原始图像,Sobel算法的边缘提取效果没有Kirsch算法好,特别是对于弱边界部分和分辨率不高的部位更加明显。本文算法由于先进行引导滤波去噪,边界得到增强,在提取弱边界和分辨率不高的位置时效果很好。
图5 不同算法的边缘检测效果对比
通过对比算法的运算量进行定量分析。Matlab平台上4幅原始图像的不同算子边缘检测运行时间(包含图像预处理去噪时间)的对比如表1所示。
表1 不同算法的边缘检测算子运行速度对比
图序号运行速度/msSobel算子Kirsch算子本文算子(a)0.8220.7260.121(b)0.8340.7560.159(c)0.5030.4210.088(d)0.9780.8450.216
由表1可以看出,相对于传统的Sobel算子和Kirsch算子,本文算子在处理边缘检测时运行时间大幅缩短,速度比传统方法至少提高4倍。在运算复杂度上,传统的Kirsch算子对一幅N*N的图像进行模板卷积计算,共需要进行21(N*N)次加法运算和3N*N次乘法运算,而改进的Kirsch算子计算模板梯度时,将图像像素的8个方向的卷积求导简化为4个方向的梯度运算,在减少加法次数的同时也将乘法运算减少至4N次,运算复杂度大幅减少。
4 结束语
为了改善传统的边缘检测效果,构建了基于引导滤波的自适应双阈值,改进了Kirsch算子,优化了边缘检测算法。运用引导滤波器进行图像预处理,在消除噪声的同时更好地保留了图像轮廓信息;在边缘检测上,通过双阈值分别搜索标兵点区域和连接边缘区域,提出一种改进Kirsch的双阈值边缘检测算法。实验结果表明,与传统的边缘检测算法相比,改进的算法具有良好的边缘检测效果,算法运算量明显减少,运算速度提高至传统方法的4倍以上,具有良好的实时性和应用价值。未来将研究如何实现多种领域动态图像的实时显示与处理。
参考文献:
[1]贺国旗,凌凤彩,林晓. 基于Canny思想的Robinson边缘检测算法[J]. 计算机工程与科学,2016,38(4):755-760.
He Guoqi,Ling Fengcai,Lin Xiao. A Robinson edge detection algorithm based on Canny idea[J]. Computer Engineering & Science,2016,38(4):755-760.
[2] 李敏花,柏猛,吕英俊. 自适应阈值图像边缘检测方法[J]. 模式识别与人工智能,2016,29(2):177-184.
Li Minhua,Bai Meng,Lv Yingjun. Adaptive thresholding based edge detection approach forimages[J]. Pattern Recognition and Artificial Intelligence,2016,29(2):177-184.
[3] 娄联堂,吴高林. 基于图像噪声检测的平滑方法研究[J]. 中南民族大学学报(自然科学版),2017,36(4):137-142.
Lou Liantang,Wu Gaolin. Research on smoothing method based on image noise detection[J]. Journal of South-Central University for Nationalities(Natural Science Edition),2017,36(4):137-142.
[4] 康牧,周震,林晓. Canny思想和Kirsch算法相结合的边缘检测算法[J]. 河南大学学报(自然科学版),2017,47(1):73-78.
Kang Mu,Zhou Zhen,Lin Xiao. An edge detection algorithm based on Kirsch method and Canny idea[J]. Journal of Henan University(Natural Science),2017,47(1):73-78.
[5] 许宏科,秦严严,陈会茹. 一种基于改进Canny的边缘检测算法[J]. 红外技术,2014(3):210-214.
Xu Hongke,Qin Yanyan,Chen Huiru. An improved algorithm for edge detection based on Canny[J]. Infrared Technology,2014(3):210-214.
[6] 凌凤彩,康牧,林晓. 改进的Canny边缘检测算法[J]. 计算机科学,2016(8):309-312.
Ling Fengcai,Kang Mu,Lin Xiao. Improved Canny edge detection algorithm[J]. Computer Science,2016(8):309-312.
[7] 董昱,高云波,刘翔. 改进的遗传算法在Canny算子阈值选取中的应用[J]. 兰州交通大学学报,2014(6):1-5.
Dong Yu,Gao Yunbo,Liu Xiang. Application of improved genetic algorithm in threshold selection of Canny operator[J]. Journal of Lanzhou Jiaotong University,2014(6):1-5.
[8] 齐丹阳,蒋峥,陈毅,等. 一种改进边缘连接的Canny边缘检测算法[J]. 武汉科技大学学报,2014,37(4):310-314.
Qi Danyang,Jiang Zheng,Chen Yi,et al. An improved edge linking algorithm for Canny edge detection[J]. Journal of Wuhan University of Science and Technology,2014,37(4):310-314.
[9] 李洪安,张飞,杜卓明,等. 针对合成孔径雷达图像的新型LOG边缘检测算法[J]. 图学学报,2015,36(3):413-417.
Li Hongan,Zhang Fei,Du Zhuoming,et al. A new LOG edge detection algorithm based on synthetic aperture radarimage[J]. Journal of Graphics,2015,36(3):413-417.
[10] Wu Heyu,Li Lu,Xing Congcong,et al. A new method of edge detection based on the total horizontal derivative and the modulus of full tensor gravity gradient[J]. Journal of Applied Geophysics,2017,139(3):246-256.
[11] Hai Hoang-Hong,Chen Liang-Chia,Nguyen Duc Trung,et al. Accurate submicron edge detection using the phase change of a nano-scale shifting laser spot[J]. Optics and Laser Technology,2017,92(4):109-119.
[12] 陈家益,黄楠,熊刚强,等. 基于置信区间的自适应加权均值滤波算法[J]. 南京理工大学学报,2017,41(3):307-312.
Chen Jiayi,Huang Nan,Xiong Gangqiang,et al. Adaptive weighted mean filtering algorithm based on confidence interval[J]. Journal of Nanjing University of Science and Technology,2017,41(3):307-312.
[13] 刘先红,陈志斌. 基于多尺度方向引导滤波和卷积稀疏表示的红外与可见光图像融合[J]. 光学学报,2017,37(11):111-120.
Liu Xianhong,Chen Zhibin. Fusion of infrared and visible images based on multi-scale directional guided filter and convolutional sparse representation[J]. Acta Optica Sinica,2017,37(11):111-120.
[14] 张琳梅,赵莉. 改进Canny的核磁共振图像伪影校正算法[J]. 南京理工大学学报,2016,40(1):50-55.
Zhang Linmei,Zhao Li. Correction algorithm of artifact in magnetic resonance imaging based on improved Canny[J]. Journal of Nanjing University of Science and Technology,2016,40(1):50-55.
[15] 宋爽,任洪娥,官俊. 基于Sobel梯度模板的多阈值实时边缘检测方法[J]. 计算机工程与应用,2015,51(23):199-202.
Song Shuang,Ren Honge,Guan Jun. Multi-threshold and read-time edge detection method based on Sobel gradient template[J]. Computer Engineering and Application,2015,51(23):199-202.
上一篇:微小卫星能量平衡精细化分析方法
下一篇:基于交互链路的相似用户推荐算法