基于边缘重构图像的边缘检测算法优选研究*

2023-09-22 07:54邓建新黄秋林袁邦颐丁度坤
机电工程 2023年9期
关键词:滑动边缘重构

邓建新,黄秋林,袁邦颐,丁度坤

(1.广西大学 机械工程学院,广西 南宁 530003;2.广西制造系统与先进制造技术重点实验室,广西 南宁 530003;3.东莞职业技术学院 电子信息学院,广东 东莞 523808)

0 引 言

边缘检测是视觉定位、零件(如铸件)缺陷识别、视觉测量等图像处理中的关键环节,其检测质量直接影响后续的图像目标识别与定位的精度[1]。目前有Canny、Sobel等诸多可选的边缘检测算法,针对具体的边缘检测任务,因效果等存在差异,需要评定和优选对应算法,以达到最佳的效果。

对边缘算法检测效果的评价,目前有两种评价方法,即直观评价法和指标评价法[2-4]。其中,直观评价是以人体视觉来评价不同算法的图像边缘检测效果。

李盛前等人[5]采用肉眼观察的方法来比较不同边缘检测算法对于水下焊缝图像的处理效果,其选择了最佳的图像边缘检测算法;但该方法受评价者主观因素影响较大,不能作为稳定的边缘检测效果的评价方法。由此可见,直观评价法不稳定。

目前,指标评价法成为了研究边缘检测算法评价的主要方向。该评价法又可分为两种,即参考图像的指标评价法和无参考图像的指标评价法。其中,有参考图像评价法通过合成或绘制原图像的“真实边缘”,对比、检测边缘重叠性、品质因数等属性,以此来确定评价最优检测算法。

包从望等人[6]对比了四种算法的检测边缘与“真实边缘”重叠系数的方法,以量化形式确定了齿轮图像的最优边缘检测算法;但其合成的“真实边缘”不能完全替代原图像的边缘。ABDULLAH Y A等人[7]以合成的图像边缘作为原图像边缘,并将其与检测边缘的品质因数进行了对比,采用上述方法验证了所提边缘检测算法效果更好、精度更高;但该方法依赖于精确的合成边缘。

由此可见,直观评价法和有参考图像的指标评价法都难以在自动化图像处理系统中得到有效应用。无参考图像的指标评价法则以检测边缘的特征属性,或者检测边缘与原图像的关系作为评价指标,不需原图像的边缘图像作为比较对象,更适用于图像自动化处理任务。

薛萍[8]768-769分析了各边缘图像像素数据的关系,提出了以数据密切值为指标,以此来定量评价不同边缘检测算法处理效果的方法,并以实验证明了该方法可作为挑选边缘检测算法的一种辅助手段;但该方法不完全与人体感官评价同步。朱维斌等人[9]提出了一种利用激光干涉仪将图像边缘转化为长度量的方法,并计算了物体实际尺寸与成像尺寸的对应关系,以边缘检测的误差来评价边缘检测算法的精度;但该方法需要高精度仪器支撑。

图像边缘本身保存了原图像的信息。质量良好的检测方法,其边缘保留的信息更多,因而以其检测边缘进行重构的图像越接近原图像。

基于此,可采用重构图像与原图像对比的方法来评价边缘检测效果。

GOVINDARAJAN B等人[10]提出了一种八方向重构图像评价法,并以结构相似度为指标,对边缘检测效果进行了评价;但该方法的重构图像含有较多虚假边缘。NERCESSIAN S等人[11]提出了引入虚假边缘抑制因子为评价指标的方法,以此来剔除误检的图像边缘;但该方法搜索方向太少,精度较低。磨少清[12]提出了一种多方向重构图像评价法,以重构相似度、边缘置信度为指标,更准确地评价了边缘检测结果;但该方法计算量大、耗时长。王洪申等人[13]提出了一种小距离横纵方向的图像边缘检测效果评价算法,提高了评价效率;但该方法仅以结构相似度作为评价指标,未评价检测边缘的真实性。

为此,笔者提出一种基于多方向滑动窗口线性插值重构法的图像边缘检测质量评价算法。

首先,进行多方向线性插值图像重构;然后,利用结构相似度和边缘错检率,建立评价指标;最后,以多种边缘检测算法为案例,优选出图像处理的边缘检测算法。

1 边缘检测算法优选方法

笔者建立的边缘检测算法优选方法主要分为图像重构和算法性能评价两个阶段。

边缘检测算法优选方法基本流程如图1所示。

图1 边缘检测算法优选方法基本流程

图1的流程主要涉及三个步骤:

1)使用待选择的边缘检测算法处理原图像;

2)使用多方向滑动窗口线性插值重构法,生成重构图像;

3)计算并对比算法优选的评价指标值,对边缘检测算法进行优选。

1.1 多方向滑动窗口线性插值重构法

CARLSSON S等人[14]最早提出了边缘重构图像的基本原理,即在生成的边缘图像中,非边缘区域(即像素为0的区域)的像素通过其邻域像素以某种方式计算插值,以遍历方式完成图像重构。

基于边缘重构图像的原理如图2所示。

图2 基于边缘重构图像的原理

图2中,设O为原图像(灰度图),E为边缘检测二值化图像,G为由O和E生成的边缘图,G的计算方法如下:

(1)

在此基础上,笔者按以下方法生成重构图像R:先在图像G中搜索非边缘点的周围像素,若搜索到像素值非0点或者图像边界,则停止;然后采用某种方法计算像素插值,如采用均值插值,则计算搜到的像素值的平均值作为重构图像R(x,y)的像素值。

CARLSSON S提出的重构法失真现象严重,故出现了八方向、多方向等重构法;但这些方法搜索范围为整个边缘图像G的像素空间,其效率较低。

由于距离太远的边缘对重构像素影响很小,因此,可利用小距离横纵方向搜索的重构法来提高算法效率;但其忽略了其他方向对重构像素的影响,丢失了部分图像信息。

为兼顾重构的精度和速度,笔者提出了多方向滑动窗口线性插值重构法,其原理如下:

为避免搜到距离太远的边缘,以图像G的最大连续非边缘矩形区域为搜索滑动窗口M×N(或略大于此M、N值,M、N分别为矩形区域的长和宽),在窗口内寻找边缘像素。滑动方向为:从左到右、从上到下。

滑动窗口计算方法如图3所示。

图3 滑动窗口计算方法

图3中的深灰色区域为G(x,y)>0的边缘,其余区域为G(x,y)=0的待重构区域。笔者观察图像G连续非边缘区域,估计面积较大的区域作为可能的滑动窗口区域,如图3中的A、B、C,分别输出这些区域的像素值,并统计0像素组成的最大矩形面积,对比面积大小,最终以面积最大区域作为滑动窗口的大小。

M、N的计算公式如下:

(2)

式中:x1为滑动窗口第一列的横坐标;xi为滑动窗口最后一列的横坐标;y1为滑动窗口第一行的纵坐标;yi为滑动窗口最后一行的纵坐标。

在理论上,方向数越多,搜索到的边缘像素就越充分,其重构效果就越好;但搜索时间也越长,同时会导致边缘像素出现更多不必要的重复搜索。

为避免过多的重复搜索,保证算法在自动化图像处理中的高效性,笔者结合实验,分析了方向数与图像重构时间关系,并基于该结果,选择了最佳搜索的方向数。

该实验采用Canny算子检测20幅不同图像边缘,使用滑动窗口线性插值,在不同的搜索方向数下进行重构,并计算所需的平均时间。

滑动窗口方向数和重构耗时的变化关系如图4所示。

图4 滑动窗口方向数和重构耗时的变化关系

由图4可知:当方向数n>12时,图像重构耗时增速明显加快(即搜索方向增加导致耗时更多,以及需花费更多时间去排除重复搜索的边缘),基于此,确定12个方向为最佳搜索方向数。

从图像像素坐标系x轴正方向开始,沿顺时针每隔30°设置一个搜索方向,多方向进行边缘像素搜索,记录搜索距离。相对于八方向搜索,12个方向增加了搜索能力,也保持了搜索的对称性,虽然在一定程度上降低了搜索效率,但提高了重构图像的质量。该搜索窗口避免了搜索时间太长,也能保证每一个待重构像素都有机会搜索到其附近边缘。

根据人体视觉的主观感受,两像素之间的距离越近,其相互影响越大;距离越远,其相互影响越小[15]。即重构像素与像素之间的距离成反比。

为此,采用线性插值法生成重构像素。

搜索方向为12的边缘重构的插值公式如下:

(3)

式中:R(x,y)为插值重构像素;ti为搜索到的第i个边缘像素;di为第i个边缘像素与重构像素的距离。

1.2 算法优选方法评价指标

由于边缘是图像信息的载体,如果边缘检测算法检测到的边缘是正确的,则通过边缘检测可完整地重构原图像[16]。故可通过比较基于边缘重构的图像与原图像的关系,判断出边缘检测效果的好坏。

完美的边缘检测需满足:1)不漏检有效边缘;2)不错误检测虚假边缘;3)边缘定位准确。

因此,笔者基于以上三点来评定算法的性能:

1)结构相似度(structural similarity,SSIM)

完美的边缘检测的第1)和第3)点要求都反映了图像的结构特征,因此,笔者通过衡量重构图和原图像相似程度来进行评定,具体使用结构相似度来评价,以反映其检测质量。

人类视觉感知系统判断两幅图像的结构差异主要体现在构成结构、亮度和对比度3个方面;因此可分别从亮度、对比度、构成结构3方面度量图像相似性[17]。为此,笔者将像素均值作为亮度的估计,像素标准差作为对比度的估计,两图像像素协方差作为构成结构相似程度的度量。

将三者相乘即得到图像结构相似度的定义,即两幅图像的相似度指标定义[18,19]如下:

(4)

式中:SSIM取值[0,1],值越大说明两幅图像的结构越相似,则对应的图像重构算法越好;c1、c2为常数,c1=(k1L)2、c2=(k2L)2,是为了避免分母为0而维持稳定,一般取值k1=0.01、k2=0.03、L=255。

2)错检率

边缘是图像灰度发生突变的地方,其两侧像素值存在明显差异,即方差大为真实边缘,方差小为虚假边缘。故根据E(x,y)=255对应的O(x,y)的近邻像素方差,可判断E(x,y)=255是否为虚假边缘点。

近邻示意图及平均方差变化曲线如图5所示。

图5 近邻示意图及平均方差变化曲线

边缘点的近邻如图5(a)所示,灰色矩形为边缘点,定义其被一层矩形包围称为1近邻,被k层矩形包围称为k近邻。若边缘k近邻像素方差小于或等于某个临界值,则为虚假边缘。

下面以实验确定k大小和方差临界值:

笔者取20幅不同图像,先分别进行边缘检测,从边缘E(x,y)=255任意选取5点,定位到原图像相应的坐标位置,观察确定边缘点(x,y)为真实边缘之后,分别计算该边缘点的不同k近邻的像素方差。任意取5点非边缘像素点,进行类似的操作。

由图5可知:随着k值增大,相对于边缘,非边缘的近邻像素方差基本不变,且方差远小于边缘近邻的方差。当k>7时,边缘像素平均方差增幅大大变缓,说明边缘突变发生在小距离内。因此,取近邻大小k=7,相应方差临界值取36。即如果边缘点k=7近邻的像素方差不大于36,则该点为虚假边缘。

对基于边缘的图像重构,检测到的边缘越多,重构的效果越好,但其中的误检边缘也越多。因此,对于第2)点要求,笔者提出用错检率来衡量,定位为虚假边缘像素数量与全部像素数量的比值,其计算式如下:

(5)

式中:error为错检率,取值[0,1],其越小表明检测质量越好;Apixel为图像像素总数;Epixel为虚假边缘像素总数。

然后,笔者以结构相似度和错检率两者之和构成综合评价指标,以判定不同边缘检测算法的处理效果,实现方法优选目的。对error值进行一致化处理,使错检率指标值越大越好。

综合评价指标的计算式如下:

f=SSIM+error′

(6)

式中:SSIM和error′皆取值[0,1],f值越大越好。

2 应用实例

为评价重构算法性能和验证边缘检测算法优选方法的有效性,笔者先以多方向滑动窗口线性插值重构法与文献中算法的重构结果进行比较,证明其性能,再将其用于重构不同边缘检测算法获得的边缘图像,对比评价指标,对边缘检测算法进行优选,并证明优选方法的有效性。

该算法通过Python+OpenCV实现,在处理器为AMD Ryzen 5 4600U 2.10 GHz,16 GB内存的笔记本电脑上进行测试。

2.1 重构算法性能评价

重构图像因失真,缺失边缘像素,故笔者选择结构相似度作为重构算法性能评价指标,同时评价重构算法的运行时间。

笔者以像素大小为2 048×1 365的原图像为输入测试对象,选用Canny边缘检测算法,针对该多方向滑动窗口线性插值重构法进行图像重构实验(根据图3所示计算方法确定滑动窗口为350×350),并与八方向重构法、多方向重构法、小距离横纵方向搜索重构法的结果进行对比。

结构相似度与算法耗时对比如表1所示。

表1 结构相似度与算法耗时对比

由表1可知:该多方向滑动窗口线性插值重构法的结构相似度最大,为0.708 7,即其重构效果最好;其运行耗时少于八方向重构法、多方向重构法,仅约为多方向重构法耗时的一半,小距离横纵方向搜索重构法耗时最少。

多方向滑动窗口线性插值重构法与其他重构算法结果对比情况,如图6所示。

图6 多方向滑动窗口线性插值重构法与其他重构算法结果对比

由图6可以明显观察到:八方向重构法的重构图像存在很模糊的边缘(见图6(d)方框标记处),主要是因为其搜索方向少,导致边缘信息缺失;小距离横纵方向搜索重构法的重构图像存在明显的缺漏重构黑点(见图6(f)方框标记处),这是因为小距离搜索会丢失部分边缘信息;而采用多方向滑动窗口线性插值重构法得到的重构图像效果最好,克服了重构图像严重失真的问题[20,21]。

综上可知,采用该多方向滑动窗口线性插值重构法能较完整地从边缘图像恢复原图像,量化的评价结果和人体视觉的评价结果上都比其他重构算法好。

2.2 边缘优选算法验证

笔者以实验对比五种边缘检测算法处理效果的重构图像,综合结构相似度和错检率这两个指标,优选边缘检测算法。其中,测试所用图像大小与2.1节相同,滑动窗口的大小根据图3的计算方法确定。

各边缘检测算法对应的滑动窗口大小如表2所示。

表2 各边缘检测算法对应的滑动窗口大小

然后计算得到结构相似度、边缘错检率及其一致化值。

各边缘检测算法对应评价指标值如表3所示。

表3 各边缘检测算法对应评价指标值

由表3可知:Sobel边缘检测算子的指标综合值最高,为1.585 5,说明其边缘图像效果最好;而Scharr和Canny算子指标综合值最低,虽然其结构相似度为0.884 2和0.708 7,居前两位,但其一致化值仅为0.275 2和0.758 5,表明其边缘图像出现了大量的虚假边缘,不满足边缘检测第2)项要求;Prewitt和Roberts错检率都很低,其指标结果仅次于Sobel算子。

由此可知,对于本例图像,Sobel为最优边缘识别算法。

采用五种边缘检测算法得到的检测结果如图7所示。

图7 五种边缘检测算法检测结果

由图7可知:Scharr和Canny算子的边缘图像效果最差,含有大量的虚假边缘,且边缘处不清晰;Prewitt和Roberts虚假边缘少,但其边缘缺失较多;Sobel边缘图感官效果最好,虚假边缘相对较少,边缘最清晰。

以上结果与算法优选结果相同,说明以结构相似度和边缘错检率作为边缘检测算法优选的评价指标,符合人眼视觉规律,验证了主观与客观的一致性,表明算法优选方法评价的结果正确有效。

综上可知,笔者提出的边缘检测算法的优选方法可行,能用于有效检测出最优算法,可将其应用到工业自动化系统的智能高效的图像处理任务中。

为进一步验证优选算法与人眼主观评价结果同步,笔者将其与文献中的评价方法进行结果对比,并选用文献[8]769-770的Lena图像为实验原图和相同的待优选的边缘检测算法,其余实验条件与2.1节相同。

Lena图像边缘检测算法对应评价指标值如表4所示。

表4 Lena图像边缘检测算法对应评价指标值

根据表4的f值可知:Roberts算子的综合指标值最高,故其为Lena图像边缘检测的最优算法,Sobel和Prewitt稍差,而其他3种算法f值最低。

Lena图像边缘检测算法检测结果如图8所示。

图8 Lena图像边缘检测算法检测结果

由图8可知:LOG、Zero Cross和Canny皆有较明显的虚假边缘。而文献[8]769-770的优选算子为Zero Cross,最差为Sobel,其最优评价方法倾向含有较多虚假边缘的检测结果,不符合人的视觉效果。

可见,笔者提出的方法优选结果与人的视觉判定效果更一致。

3 结束语

针对具体图像处理和边缘识别算法优选问题,笔者提出了一种多方向滑动窗口线性插值图像重构法和基于改进图像重构算法的边缘检测算法优选方法,以重构图像和原图像的结构相似度以及边缘检测图像的边缘像素误检率为边缘检测算法的优选指标,通过实验对比了图像重构算法结构相似度和运行时间的优势,以及优选算法的有效性。

研究结论如下:

1)相比其他方法,多方向滑动窗口线性插值图像重构法能提高图像重构效率,可获得高质量的重构图像。重构图像的结构相似度达到0.708 7;

2)采用该优选方法能快速地选出最合理的边缘检测算法,较多方向重构法减少50%的耗时,其结果与人视觉评价结果更吻合。可为图像处理中边缘检测自动优选奠定基础。

在下一步研究中,笔者拟构建边缘检测算法智能优选程序,并建立大规模的不同场景的优选结果数据集,以研究不同场景宜采用的边缘检测算法,给实际应用提供指导,避免不必要的边缘检测实验。

猜你喜欢
滑动边缘重构
长城叙事的重构
北方大陆 重构未来
一种新型滑动叉拉花键夹具
Big Little lies: No One Is Perfect
北京的重构与再造
一张图看懂边缘计算
论中止行为及其对中止犯的重构
滑动供电系统在城市轨道交通中的应用
一种基于变换域的滑动聚束SAR调频率估计方法
在边缘寻找自我