APP下载

形态学与RCF相结合的唐卡图像边缘检测算法

2019-06-17葛阿雷

计算机应用与软件 2019年6期
关键词:形态学像素点算子

刘 千 葛阿雷 史 伟

(宁夏大学信息工程学院 宁夏 银川 750021)

0 引 言

边缘检测是图像处理和计算机视觉的基本问题,通过识别数字图像中亮度变化明显的点,来捕捉图像属性中的显著变化,包括深度上的不连续、表面方向的不连续、物质属性变化、和场景照明变化等[4]。图像边缘中含有大量有价值的信息,所以,图像边缘检测在图像分析、图像分割和计算机视觉中占据着重要的地位[5]。

传统的边缘检测算法计算简单,容易实现,实时性较好,如Canny算子、Roberts算子、Laplacian算子、Sobel算子、Prewitt算子和LOG算子[6]等,然而精确度较低,很难适用于信息复杂的唐卡图像。数学形态学边缘检测算法是基于集合的运算,具有非线性特征,它的边缘检测方法提取的边缘光滑连续,且实时性较强,但是对于复杂的边缘检测时会存在模糊不清晰的现象[1]。近年来,卷积神经网络(CNN)已经成为计算机视觉领域的主流,它极大地提高了图像分类、目标检测和语义分割等各种任务的技术水平。由于CNN具有很强的自动学习自然图像高层次表示的能力,人们越来越倾向于通过训练神经网络模型进行边缘检测[7]。用CNN的方法进行边缘检测更容易只将图像外轮廓提取出来,去掉繁杂的内部细节。

为了得到更加清晰连续的图像边缘,本文提出了数学形态学和RCF(Richer Convolutional Features)网络模型[3]相结合的边缘检测。该方法首先用形态学方法对原图像进行边缘检测;然后,用训练好的RCF网络模型对原图像边缘提取;最后,对用两种方法得出的边缘图像进行基于小波变换的融合,得到更加完整清晰的图像边缘。

1 数学形态学边缘检测

1.1 形态学边缘检测方法

形态学边缘检测算子主要是由结构元素对图像进行膨胀、腐蚀或开启、闭合之后再做差运算得到的[8]。

(1) 腐蚀与膨胀:

设f(x,y)为原图像,g(i,j)为结构元素,⊕代表膨胀运算符,Θ代表腐蚀运算符,Df和Dg分别为f和g的定义域,则f与g膨胀和腐蚀运算可分别定义为[9]:

f(x,y)⊕g(i,j)=max{f(x-i,y-j)+g(i,j)|

(x-i,y-j)∈Df,(i,j)∈Dg}

(1)

f(x,y)Θg(i,j)=min{f(x+i,y+j)-g(i,j)|

(x+i,y+j)∈Df,(i,j)∈Dg}

(2)

(2) 开启与闭合:

∘ 表示开运算符,·表示闭运算符,开闭运算定义[3]:

f∘g=(f⊕g)Θg

(3)

f·g=(f⊕g)Θg

(4)

设E表示边缘图像,多结构抗噪形态学边缘检测算子的边缘定义为[10]:

(5)

用简单的形态学算法得到的边缘图像实用性较差,抗噪能力低,下面对此算法改进。

1.2 形态学算法改进

(1) 算子的改进及结构元素的选取:

设f(x,y)为原图像,g1、g2、g3i为结构元素,则对形态学边缘检测算子的改进如下:

Ei(f)=[(f·g1∘g1)·g2]⊕g3i-[(f·g1)∘g2]Θg3i

(6)

式中:g1、g2分别为十字形和菱形结构元素[1],如下所示:

这4个结构元素包含了g3中的所有线条的走向,使得图像各个方向的边缘都可以被检测到,保证了边缘的完整化[9]。

(2) 计算欧式距离:

本文采用上述四个方向的结构元素,通过计算原图像各像素点四个方向的欧氏距离,实现不同结构元素对权值的自适应选取[1],具体方法如下。

如图1所示为所选取的3×3图像子块模型,中心点P1与其临近像素点的灰度距离公式表示为:

Om=|Pm-P1|m=2,3,…,9

(7)

图1 3×3的图像子块

由式(7)可知:临近像素点的灰度距离越大,灰度突变越大,根据中心像素点与其邻近像素点之间的灰度距离可以表示边缘的方向性[1]。设目标区域的中心点为P1(i,j)、O1、O2、O3、O4分别表示水平、垂直、45°、135°四个方向边缘的欧氏距离,它们的计算公式如下:

(8)

(9)

(10)

(11)

那么,对于一幅M×N的整体图像来说,各方向边缘的欧氏距离公式为:

(12)

(3) 计算权值和图像边缘:

根据式(12)计算出四个方向的欧氏距离,其对应方向为边界曲线最可能的走向,实验测试图像边界走向与结构元素方向的组合后,得出选取与图像边缘走向垂直方向的结构元素对这个区域检测效果最好[1]。

(13)

最后把式(6)和式(13)代入式(14)中,则各个方向边缘的加权和为形态学方法得到的边缘:

(14)

(4) 算法步骤:

自适应数学形态学图像边缘检测算法具体步骤如下:

① 用结构元素g1、g2对加入椒盐噪声的图像去噪;

② 用欧氏距离计算出原图像各像素点四个方向的权值;

③ 用式(6)对去噪后的图像进行四个方向的边缘检测;

④ 根据式(14)求图像各方向的边缘加权和,得到完整的图像边缘。

2 RCF的边缘检测方法

2.1 CNN用于边缘检测

传统方法通过提取局部的亮度、颜色、梯度、纹理或其他人工设计特征对图像的像素点进行边缘或非边缘的分类。但是图像边缘通常具有丰富的语义信息,仅通过局部线索难以得到令人满意的结果。

卷积神经网络通常能够提取高层次信息,为了查看不同卷积层在边缘检测中获得的信息,我们使用VGG16网络[11]生成中间层的边输出,该网络有5个阶段。如图2所示,显示了第二阶段和第三阶段的卷积层输出。我们发现随着网络模型阶段的增加,卷积特征逐渐变得粗化,中间层包含大量有用的细节,因此充分地利用CNN提取的所有层的特征。

(a) 原图 (b) conv2_1 (c) conv2_2

(d) conv3_1 (e) conv3_2 (f) conv3_3图2 卷积层输出

近期,许多应用CNN的边缘检测方法被提出。Ganin等通过CNN和最近邻搜索,提出N4-Fields[12]。Shen将轮廓数据分成子类,并通过学习模型参数在子类上拟合,提出DeepContour[13]。Hwang等将轮廓检测作为逐像素的分类问题,利用DenseNet对每个像素点提取特征,然后用SVM进行分类,提出Pixel-wise Deep Learning for Contour Detection(CSCNN)[14]。Xie等提出Holistically-Nested Edge Detection (HED),实现图像到图像的训练和预测,其网络模型是以VGG16为基础,通过一个内核大小为1的conv层、一个deconv层和一个softmax层,实现多个side output,并将这些输出融合得到边缘检测结果[15]。

综上,这些基于CNN的方法大多只利用了每个卷积阶段的最后一层的特征,由于不同卷积层之间的信息是可以互补的,所以存在信息利用不充分的问题。本文应用的RCF是一种全卷积网络高效地利用了每一个CNN层的特征来完成边缘检测。

2.2 RCF的边缘检测方法

2.2.1RCF边缘检测及网络结构

RCF网络结构是通过修改VGG16网络结构[11]得到的,由13个conv层和3个完全连接层组成,它的conv层分为5个阶段,在每个阶段之后连接一个池化层。每个conv层获得的有用信息随着感受野大小的增加而变得更粗。图3为RCF网络结构[3],表1为VGG16网络的详细感受野和步长[3]。

图3 RCF网络结构

表1 VGG16网络模型感受野和步长

layerconv3_1conv3_2conv3_3pool3conv4_1conv4_2rf size243240446076stride444888

layerconv4_3pool4conv5_1conv5_2conv5_3pool5rf size92100132164196212stride81616161632

RCF网络结构与VGG16相比,进行修改如下:

(1) 去掉所有的全连接层和第五池化层。去除所有的全连接层主要目的是得到全卷积网络,存在第五池化层会使步幅增加两倍,不利于图像边缘定位。

(2) 对VGG16中的每个卷积层连接一个卷积核大小为1×1×21的卷积层,每个stage中所有的1×1×21卷积输出进行元素相加(eltwise layer),得到一个复合特征。

(3) 每个eltwise layer后面加一个deconv layer用于放大特征图尺寸。

(4) 在每个deconv layer后面连接一个cross-entropy loss/sigmoid layer。

(5) 所有的deconv layer输出进行连接,随后使用一个1×1 conv layer进行特征图融合,最后使用一个cross-entropy loss/sigmoid layer得到输出。

由于VGG16中conv层的大小不同,它可以学习包括底层和对象层在内的多尺度信息,这些信息有助于边缘检测。图4显示了唐卡图像在RCF模型中从上到下每个阶段的输出。RCF模型结合了所有可访问的conv层使用了更丰富的特性,因此它能够实现更高的精度。

图4 RCF模型每阶段输出

2.2.2损失函数

RCF网络模型在设计损失函数时,首先将数据集中的每张图像,根据人工标记结果,产生一张边缘概率图,范围从0到1。0表示在这个像素上没有人标记为边缘点,1表示在这个像素上所有人都标记为边缘点。概率高于η的像素点为正样品,概率等于0的像素点为负样本。像素边缘概率少于η的点为有争议点不计入损失函数的计算中。

损失函数为:

(15)

3 图像融合的边缘检测方法

3.1 小波融合技术

图像融合是将相同对象的两幅或多幅图像合成为一幅图像,从而获取到对同一场景的更为精确、更为连续、更为全面的图像描述[16]。

本实验采用离散小波变换DWT(Discrete Wavelet Transform)[17]融合用改进的形态学边缘检测算子和RCF边缘检测模型两种方法得到的边缘图像。图像融合的基本流程如图5所示。

图5 图像融合流程图

3.2 图像融合的边缘检测方法

基于以上改进的形态学边缘检测算子和RCF边缘检测模型,本文采用三层二维DWT[17]进行图像融合,具体算法流程如图6所示。

图6 本文算法流程图

4 实验结果及分析

4.1 实验结果

实验中改进的形态学边缘检测算子和图像融合是在Win10系统下利用MATLAB 2017b编程实现的;RCF网络模型是在Linux系统caffe框架下对训练好的VGG16模型进行修改后在标准数据集上训练得到的。

分别用形态学算法、RCF边缘检测模型以及融合这两种边缘图像的方法对唐卡图像边缘提取,检测结果如图7、图8所示。

(a) 原图像 (b) canny算子边缘检测

(c) 传统形态学边缘检测(d) 改进的形态学边缘检测

(e) rcf边缘检测 (f) 本文中方法边缘检测图7 唐卡图像边缘检测

(a) 原图像 (b) canny算子边缘检测

(c) 传统形态学边缘检测(d) 改进的形态学边缘检测

(e) rcf边缘检测 (f) 本文中方法边缘检测图8 唐卡阿弥陀佛往生图像边缘检测

实验表明,相比单个的形态学算法和RCF边缘检测[3]模型,本文的方法提取出图像的边缘更加完整清晰,目标物体的内部和外部的轮廓都比较完整,同时去掉了更多无效的细节信息,总体更符合人类的视觉认知,更有利于唐卡图像后续的分析研究。

本文应用BSDS500[19]作为数据集。BSDS500是一种广泛应用于边缘检测的数据集。它由200个训练图像、100个验证图像和200个测试图像组成[18]。我们利用训练集和验证集优化网络模型,并利用测试集评估网络模型。

4.2 结果分析

为了从客观上说明不同边缘检测所表现出的效果,本文使用峰值信噪比PSNR[20](Peak Signal to Noise Ratio)和边缘保持度EPI[21](Edge Preservation index)作为评价指标来衡量边缘检测效率。

(1) 峰值信噪比定义为:

PSNR=10×log(2552/MSE)

(16)

其中255是8 bits表示法的最大值(Peak),MSE表示原图像与处理图像之间均方误差MSE[20](Mean Square Error):

(17)

式中:m、n表示图像的尺寸,I、K分别表示原图像和处理后的图像,PSNR值越大,说明噪声含量越小。给数据集BSDS500[18]加入5%椒盐噪声以增强RCF模型的抵抗噪的能力。

(2) 边缘保持度定义为:

式中:Ps为用本文方法提取的边缘图像,Po为标准数据集人工标注的边缘图像,i为行数,j为列数。EPI的值越大,说明边缘信息保留的越丰富全面。唐卡图像EPI值和PSNR值如表2所示。

表2 五种算法关于指标EPI和PSNR的比较

5 结 语

对于改进的形态学边缘检测算法和RCF边缘检测[3]存在的不足,本文给出了一种基于改进的形态学与RCF边缘检测[3]相结合的边缘检测算法。该算法将分别用改进的形态学算法和RCF网络模型提取的边缘图像进行基于小波变换的融合得到新的边缘。既提高了图像边缘的平滑性,又提取到了更清晰完整的轮廓,同时还获得了更强的抗噪声能力,较之前的方法更加符合人类的视觉认知,有利于后续研究。

猜你喜欢

形态学像素点算子
临床检验中血细胞形态学观察与分析
音乐科学研究中的思想实验——以音乐形态学研究中的四个重大发现为例
有界线性算子及其函数的(R)性质
颅内后交通动脉瘤破裂出血的临床特征和形态学的危险因素
图像二值化处理硬件加速引擎的设计
基于局部相似性的特征匹配筛选算法
Domestication or Foreignization:A Cultural Choice
一种X射线图像白点噪声去除算法
基于canvas的前端数据加密
QK空间上的叠加算子