用于边缘检测的分数阶微分算子的核近似的制作方法

文档序号:11208811阅读:313来源:国知局
用于边缘检测的分数阶微分算子的核近似的制造方法与工艺



背景技术:

本发明描述一种使用分数阶微分算子(fractionaldifferentialoperator)检测图像内物体边缘的方法。

边缘检测被认为是图像处理、机器视觉和计算机视觉中的重要工具,例如图像分割、特征提取等。一个图像可以被视为具有强度的像素的集合,而所述强度是两个参数的函数:x轴位置值和y轴位置值。边缘出现在强度函数发生快速变化的位置。因此,检测强度函数的一阶或二阶导数可用于定位这些快速变化的位置,从而检测到边缘的位置。除了一阶或二阶导数之外,还考虑了分数阶微分算子。以前,开发了几种分数导数检测边缘,但是产生的边缘检测结果不是那么令人满意。

【附图说明】

参考以下附图和非限制性和非穷尽性实施例的描述,可以更好地理解以下描述的系统和方法。附图中的组件不一定是按比例的。相反,重点突出是为了说明本发明原理。本专利或申请文件包含至少一幅照片和有颜色的附图。本专利或专利申请的照片和彩色附图的副本将根据专利局要求而提供并支付必要费用。

图1是检测图像内物体边缘的方法的示意框图。

图2是根据一个图像的像素选择像素集合的示例性示意图。

图3显示当像素靠近图像的起始侧时选择的像素集合的示例性示意图。

图4是通过在内插函数上应用分数阶微分算子来计算分数导数的示意框图。

图5a显示一个示例性实施例的图像。

图5b显示沿着图5a中白色水平线的像素的强度值。

图5c显示示例性实施例的对应像素强度值的像素的内插函数。

图5d显示示例性实施例的像素的分数导数。

图5e显示示例性实施例的像素的分数导数的大小。

图5f显示示例性实施例中的通过找到像素的分数导数的最大值位置而检测到峰值。

图5g显示沿着图5a的白色水平线的边缘检测结果。

图5h显示示例性实施例的整个图像的边缘检测结果。

图6a显示另一个示例性实施例的图像。

图6b显示分数阶数为0.5、形状参数为1、和掩模长度为15时的图像边缘检测结果。

图6c显示分数阶数为0.5、形状参数为0.5、和掩模长度为15时的图像边缘检测结果。

图6d显示分数阶数为1.2、形状参数为1、和掩模长度为15时的图6a的灰度图像的边缘检测结果。

图7a显示robert算子。

图7b显示prewitt算子。

图7c显示sobel算子。

图7d显示掩模长度为16的canny算子。

图7e显示本披露的分数算子,掩模长度为15,分数阶数为0.5,形状参数为0.5。

图8a显示一个图像,在其上应用不同导数算子进行边缘检测。

图8b显示应用robert算子时的图像边缘检测结果。

图8c显示应用prewitt算子时的图像边缘检测结果。

图8d显示应用sobel算子时的图像边缘检测结果。

图8e显示应用掩模长度为16的canny算子时的图像边缘检测结果。

图8f显示应用本披露分数算子时的图像边缘检测结果,掩模长度为15,分数阶数为0.5,形状参数为1。

图9显示使用条纹图案的3d扫描技术的一个典型实施。

图10显示一个条纹图案的例子。

图11显示根据3d扫描和边缘检测方法计算3d信息的方法框图。

【具体实施方式】

本披露描述了一种使用分数阶微分算子来检测图像内物体边缘的方法。不同于传统的使用分数阶微分算子,本发明使用改进的riesz空间分数阶微分算子来检测图像内物体边缘。当通过在图像上应用改进的

riesz空间分数阶微分算子来计算分数导数时,一种通过尺度高斯核函数(scaledgaussiankernelfunction)的核近似用于局部离散化改进riesz空间分数阶微分算子。本发明披露的方法提高了边缘检测的精度,不需要应用额外的分数积分以抑制噪声,并仅需要较小的掩模长度以达到期望的精度。本发明披露的边缘检测方法可用于使用条纹图案的3d扫描技术。

检测图像内边缘的方法的第一方面,本方法包括:加载一个包括x轴的图像,对该图像的每个像素,沿x轴选择一个像素集合,该像素集合是连续的,如果需要,该像素集合还关于每个像素对称。本方法包括:根据像素集合的强度值,计算该图像的每个像素的内插函数,并通过在内插函数上应用一个改进riesz空间分数阶微分算子来计算该图像的每个像素的分数导数。此外,本方法包括:检测分数导数的一个或多个局部极值,并将其中一个局部极值指定为图像内物体的边缘。

检测图像内边缘的方法的第二方面,本方法包括:加载一个包括x轴的图像,对该图像的每个像素,沿x轴选择一个像素集合,该像素集合是连续的,如果需要,该像素集合还关于每个像素对称。本方法包括:根据像素集合的强度值,计算该图像的每个像素的内插函数。本方法还包括:通过一个尺度高斯核函数来近似分数导数,并通过在内插函数上应用一个分数阶微分算子来计算图像的每个像素的分数导数。此外,本方法包括:检测分数导数的一个或多个局部极值,并将其中一个局部极值指定为图像内物体的边缘。

此外,在另一方面,一种计算3d信息的方法包括:将条纹图案投影到3d物体上,并获取在3d物体上有条纹图案的图像。本方法还包括:根据在第一和第二方面中披露的边缘检测方法,检测图像内条纹图案的边缘。此外,本方法包括:计算3d物体的3d信息。

以下将参照附图更全面地描述本方法,并通过描述显示具体的示例性实施例,构成本发明一部分。但是,本方法可以以各种不同的形式实施,因此,被覆盖或要求保护的本发明主题旨在被解释为不限于所阐述的任何示例性实施例。本方法可以体现为方法、装置、组件或系统。因此,实施例可以采取诸如硬件、软件、固件或其任何组合的形式。

在整个说明书和权利要求书中,术语可以具有上下文中出现的或暗示的微妙含义,超出明确规定的含义之外含义。类似地,如本发明使用的短语“在一个实施例中”不一定是指相同的实施例,如本文所使用的短语“在另一实施例中”不一定是指不同的实施例。例如,要求保护的本发明主题全部或部分地包括示例性实施例的组合。

通常,至少可以部分地从上下文中的使用来理解术语。例如,本发明使用的诸如“和”、“或”或“和/或”的术语可以包括各种含义,其可以至少部分地取决于使用这些术语的上下文。通常,“或”如果用于关联一个列表,如a、b或c,意在表示a、b和c,在此以包含意义使用,以及a、b或c,在此以排他意义使用。此外,本发明使用的术语“一个或多个”或“至少一个”,至少部分地取决于上下文,可用于描述单数意义上的任何特征、结构或特性,或者可用于描述多数意义上的特征、结构或特性的组合。类似地,诸如“一个”或“该”的术语也可以被理解为来传达单数使用或复数使用,至少部分地基于上下文。此外,术语“基于”或“由...确定”可以被理解为不一定意图传达一组排他因素,并且可以替代地允许存在不一定明确描述的附加因素,这至少部分地取决于上下文。

图1显示一种检测图像内物体边缘的方法。本方法包括:上载一个包括x轴的图像(步骤110)。对每个像素,本方法包括:连续选择一个沿着x轴的像素集合,如果需要,关于每个像素对称(步骤120),并根据像素集合的强度值来计算内插函数(步骤130)。本方法还包括:通过在内插函数上应用一个改进riesz空间分数阶微分算子来计算分数导数(步骤140),检测分数导数的一个或多个局部极值(步骤150),并将一个或多个局部极值中的一个指定为图像内物体的边缘(步骤160)。

本方法可以在一个装置上实施。该装置包括一个存储指令的存储器和一个与该存储器通信的处理器。当处理器执行指令时,处理器可以被设置以使该装置执行本方法。该装置可以是电子装置,包括但不限于个人电脑、工作台、手持设备、和任何其它具有计算能力的电子装置。

当该装置上载包括x轴的图像时,该装置可以通过各种途径从各个位置上载图像。例如,图像可以是从存储器、内存储装置、外存储装置、或在线存储媒介上载。该装置可以通过有线或无线通信上载图像。

图像可以是具有x轴和y轴的2d图像。图像也可以是包括不止两个轴的3d图像,如x轴,y轴和z轴。另外,图像可以是灰度图像。当图像不是灰度图像时,装置可以将非灰度图像转换为灰度图像。

该装置选择一个像素集合,该像素集合是沿着x轴连续的,如果需要,该像素集合还是关于图像的每个像素对称的,每个像素都可以是目标像素。例如,如图2所示,每个像素210都是目标像素。该装置沿着x轴选择有n个连续像素的像素集合,其中n是掩模长度,可以是任何大于1的整数。掩模长度的尺寸可以与边缘检测的解析度相关,掩模长度的优选范围是从约5到约20。在图2,作为一个例子,掩模长度n取值为15,像素集合220是沿着x轴连续的,并关于目标像素210对称。所以,像素集合220在目标像素210左侧有7个像素,在目标像素210右侧有7个像素。

像素集合220中的每个像素有其位置(j)230。例如,如图2所示,对于像素集合中的最左边像素,j等于1,对于像素集合中的第二最左边像素,j等于2,以此类推。像素集合220中的每个像素有其x轴位置值(xj)240。例如,像素集合中的最左边像素的x轴位置值为12,从而x1等于12;像素集合中的第二最左边像素的x轴位置值为13,从而x2等于13;以此类推。像素集合220中的每个像素有其强度值(f(xj))250。例如,像素集合中的最左边像素的强度值为57,从而f(x1)等于57;像素集合中的第二最左边像素的强度值为59,从而f(x2)等于59;以此类推。

当目标像素接近或非常靠近图像的起始侧或结束侧时,在目标像素的左侧或右侧可能有不足数目的像素。例如,如图3所示,目标像素310靠近图像的起始侧,在目标像素310的左侧有4个像素。当掩模长度是15,在目标像素310的左侧需要有7个像素来构建像素集合320时,在目标像素310的左侧有不足数目的像素。因此,该装置需要填充4个像素,即像素362、像素364、像素366和像素368。在图3,像素集合320有其位置(j)330、x轴位置值(xj)340、以及强度值(f(xj))350。

在一个示例性实施例中,具有不足像素数目的一侧可以分别用相同强度值的像素填充,强度值与关于图像边缘的对称像素的强度值相同。因此,像素362的强度值等于其关于图像边缘右侧的对称像素(如像素372)的强度值,因此像素362的强度值f(x4)等于67。像素362与其右侧的邻近像素相比,像素362的x轴位置值下降了1,所以x4等于0。类似地,像素364与其右侧的邻近像素362相比,像素364的x轴位置值下降了1,所以x3等于-1;像素364的强度值等于其在右侧上的对称像素的强度值,即像素374(在j=6时),所以f(x3)等于74。像素366与其右侧的邻近像素364相比,像素366的x轴位置值下降了1,所以x2等于-2;像素366的强度值等于其在右侧上的对称像素的强度值,即像素376(在j=7时),所以f(x2)等于78。像素368与其右侧的邻近像素366相比,像素368的x轴位置值下降了1,所以x1等于-3;像素368的强度值等于其在右侧上的对称像素的强度值,即像素310(在j=8时),所以f(x1)等于76。

在另一个实施例中,具有不足像素数目的一侧可以用与图像起始侧或结束侧的像素的强度值相等的强度值像素填充。例如,像素362、364、366和368的强度值可以采用像素372的强度值,因为像素372位于图像的起始侧。因此,由于像素372的强度值等于67,我们可以有f(x1)=f(x2)=f(x3)=f(x4)=67。

在步骤130,装置根据像素集合的强度值来计算一个内插函数u(x)。当掩模长度为n时,像素集合有n个像素,像素集合的x轴位置值是xj,j=1,2,…,n,并且像素集合的强度值为f(xj),j=1,2,…,n,内插函数u(x)满足:

u(xi)=f(xj),j=1,2,…,n(等式1)

内插函数u(x)可以是一系列基本函数的组合,并且这个基本函数的组合可以是线性组合或非线性组合。在一个示例性实施例中,该内插函数u(x)可以被计算为拉格朗日基本函数lj(x),j=1,2,…,n的线性组合:

在步骤140,装置通过在内插函数上应用一个分数阶微分算子来计算分数导数可以对图像的每个像素计算分数导数从而获得图像的分数导数分数阶微分算子可以是任何分数阶次为α的分数阶微分算子。在一个示例性实施例中,分数阶微分算子可以是一个改进riesz空间分数阶微分算子,其可以被定义为两个单侧riemann-liouville分数导数的组合。改进riesz空间分数阶微分算子的格式为:

其中

a不大于x,b不小于x,m是一个小于分数阶α的最大整数。

在步骤150,装置检测到分数导数的局部极值。局部极值可以是一个局部最小值或局部最大值。在一个示例性实施例中,可以根据欧几里得范数计算分数导数的大小,并且通过检测分数导数的峰值来定位局部极值。

在步骤160,装置将具有局部极值的像素指定为图像内物体的边缘。当检测到不止一个局部极值时,装置将对应这些不止一个局部极值的像素指定为图像内单个物体或多个物体的边缘。装置可以在指定的像素上覆盖不同颜色或不同强度以显示物体的边缘。

如图4所示,当装置通过在内插函数u(x)上应用一个分数阶微分算子来计算分数导数时,装置选择一个核函数(步骤410),通过求解一个线性系统确定加权因子(步骤420),并根据加权因子计算分数导数(步骤430)。核函数可以被定义为其中x是第一参数,y是第二参数。加权因子可以被定义为ωj,j=1,2,…,n,分数导数可以表示为:

在步骤410,装置选择一个核函数通过一个特定格式的核函数对函数进行近似,可以获得核近似。在一个示例性实施例中,核函数可以是一个具有形状参数为c的尺度高斯核函数,尺度高斯核函数的格式是该核函数可以是一个简化的尺度高斯核函数形状参数c可以与边缘检测的精度相关,可以是任何大于0的实数。形状参数c的优选值是在约0.5和约1.2之间。

当核函数是一个简化的尺度高斯核函数时,核函数可以表示为指数函数的泰勒展开式,即

另外,幂函数的riemann-liouville分数导数可以是:

通过合并等式5和6,可以获得简化的尺度高斯核函数φ(x)的左侧riemann-liouville分数导数,即

以及简化的尺度高斯核函数φ(x)的右侧riemann-liouville分数导数,即

最后,当分数阶微分算子是一个被定义为两个单侧riemann-liouville分数导数的组合的改进riesz空间分数阶微分算子时,可以通过合并等式7和8计算尺度高斯核函数的改进riesz空间分数阶微分,即

在步骤420,通过求解线性系统来确定加权因子ωj,j=1,2,…,n。在一个示例性实施例中,线性系统的形式是:

其中核函数可以是尺度高斯核函数从而可以通过尺度高斯核函数计算kij。分数阶微分算子可以充当核函数的第一参数,从而可以根据等式9通过计算在计算出kij和之后,可以求解线性系统以确定加权因子ωj,j=1,2,…,n的值。

在步骤430,装置根据加权因子来计算分数导数在一个示例性实施例中,分数导数可以是一个加权因子和像素集合的强度值的线性组合。例如,分数导数可以通过等式4来计算。

图5a-5f显示一个示例性实施例的应用本发明方法来检测图像内的边缘。图5a显示一个灰度图像500。灰度图像500可以是通过相机拍摄3d物体的图像而获取的一个图像。灰度图像500还可以是一个由装置从内部或外部存储器加载的图像。如果初始获取的或加载的图像是一个非灰度图像,那么灰度图像500可以是该非灰度图像被转换成灰度之后的图像。灰度图像500包括条纹512。在以下的描述中,将以白色水平线510为例来说明本发明方法。

图5b显示沿着图5a中白色水平线的像素的强度值。水平轴是像素的x轴位置值xj522。垂直轴是像素的强度值f(xj)520,其是像素的灰度值。图形524显示像素的强度值是关于其相应x轴位置值的一个函数

f(xj),j=1,2,…,n(等式11)

在该示例性实施例中,n等于150,意味着沿着图5a中白色水平线有150个像素。

图5c显示像素的内插函数。水平轴是像素的x轴位置值532。垂直轴是像素的强度值530。曲线534显示像素的强度值是关于其相应x轴位置值的一个函数,从而内插函数u(x)可以计算为拉格朗日基本函数lj(x),j=1,2,…,n的一个线性组合,即

在等式12,n是掩模长度,在此示例性实施例中取为15。等式12中的内插函数满足等式1的关系。

图5d显示像素的分数导数。水平轴是像素的x轴位置值542。垂直轴是像素的分数导数540。曲线544显示像素的分数导数是关于其相应x轴位置值的一个函数。通过应用分数阶微分算子到内插函数来计算分数导数,从而

在此示例性实施例中,分数阶微分算子是改进的riesz空间分数阶微分算子,核函数是尺度高斯核函数。因此,可以通过合并等式9和10确定确定加权因子ωj,j=1,2,…,n的值来计算等式13。在本实施例中,分数阶α取为0.5,形状参数c取为1。

图5e显示像素的分数导数的大小。水平轴是像素的x轴位置值552。垂直轴是像素的分数导数的大小550。曲线554显示像素的分数导数大小是其相应x轴位置值的一个函数。为了比较,在图5e中也显示了像素的强度值的曲线534,作为其相应x轴位置值的一个函数。在本实施例中,通过应用分数导数的欧几里德范数来计算分数导数的大小。

图5f显示通过定位最大值位置而检测峰值。水平轴是像素的x轴位置值552。垂直轴是像素的分数导数大小550。曲线554显示像素的分数导数的大小是其相应x轴位置值的一个函数。为了比较,同样显示了像素的强度值的曲线534,作为其相应x轴位置值的一个函数。在本实施例中,找到局部最大值556,对应于图5a中沿着白线的图像内边缘。

图5g显示白线的边缘检测结果。图像内的像素570对应于图5f中检测到的局部最大值,表明沿着白线检测到的边缘。

图5h显示整个图像的边缘检测结果。当本发明方法应用于整个图像时,图5g内的像素570变成线条,表明在图像内检测到的边缘。

可以根据情况和应用要求来调整边缘检测方法中的参数,例如分数阶数α、形状参数c和掩码长度n。图6a-6d显示当使用具有不同值的不同参数时的不同边缘检测结果。

图6a是一个灰度图像,其将接受不同参数值的本发明边缘检测方法。图6b是当分数阶α等于0.5、形状参数c等于1、掩模长度n等于15时的边缘检测结果。6c是当分数阶α等于0.5、形状参数c等于0.5、掩模长度n等于15时的边缘检测结果。6d是分数阶a等于1.2、形状参数c等于1、掩模长度n等于15时的边缘检测结果。

与以前的边缘检测方法相比,本发明方法提高了边缘检测的精度,不需要应用额外分数积分以抑制噪声,并且只需要较小的掩模长度就可以获得期望的精度。本发明方法可用于使用条纹图案的3d扫描技术。当使用图7a-7e所示的不同的导数近似方法对同一图像进行边缘检测时,与图8a-8e的边缘检测结果相比较,当观察图8f时,本发明方法产生的差异和改进是显而易见的。

图7a显示roberts算子。图7b显示prewitt算子。图7c显示sobel算子。图7d显示掩码长度为16的canny算子。图7e显示本发明方法的分数算子,掩模长度为15,分数阶为0.5,形状参数为0.5。

图8a显示一个灰度图像,在其上使用不同导数算子进行边缘检测,结果如图8b-8f所示。图8b是使用robert算子的整个图像的边缘检测结果,显示高假拒绝率、高错误接受率和对噪声的高灵敏度。图8c是使用prewitt算子的整个图像的边缘检测结果,显示有些边缘被漏掉,并且结果对噪声敏感。图8d是使用sobel算子的整个图像的边缘检测结果,显示有些边缘被漏掉,并且结果对噪声敏感。图8e是使用掩码长度为16的canny算子的整个图像的边缘检测结果,显示由于噪声而导致的一些错误接受。图8f是使用本发明公开方法中的分数算子(掩模长度为15、分数阶为0.5、形状参数为1)的整个图像的边缘检测结果,显示令人满意的性能和结果。

因此,本发明方法可以实现高精度,例如频谱收敛。本发明方法还可以有平滑效应,从而不需要应用额外的分数积分来抑制噪声。此外,本发明方法通常只需要较小的掩模长度以获得期望的精度。

在另一个实施例中,本发明方法可用于使用条纹图案的3d扫描技术,如图9所示。在3d扫描期间,光投影装置930将条纹图案910投影到3d物体950上,图像捕获装置940获取一个3d物体上有条纹图案的图像。对图像内条纹图案进行边缘检测,恢复一个变形的条纹图案,从而重建3d物体的形状。光投影装置930可以是投影仪。图像捕获装置940可以是相机,包括但不限于黑白数码相机和彩色数码相机。

条纹图案可以是灰度条纹图案或二进制条纹图案。二进制条纹图案可以包括一个或多个白色和黑色条纹。条纹图案可以是一个均匀分布条纹的图案或具有不同宽度或长度的不均匀分布条纹的条纹图案的组合。图10显示一个条纹图案的例子。条纹图案包括几个部分。在每个部分白色和黑色条纹的宽度和数量可能不同。

图11显示一种基于3d扫描和边缘检测方法来计算3d信息的方法。该方法包括:将条纹图案投影到3d物体上(步骤1110),获取一个3d物体上有条纹图案的图像(步骤1120),通过检测图像内的边缘来识别一个变形的条纹图案,并计算3d物体的3d信息。

基于3d扫描和边缘检测方法计算3d信息的方法可以在电子设备上实施。电子设备可以包括投光投影设备、图像捕获设备、存储器和处理器。光投影设备将条纹图案投影到3d物体上,图像捕获设备获取3d物体上有条纹图案的图像1122。该过程被配置以执行图像1122内的条纹图案的边缘检测,并计算3d物体的3d信息1142。

基于3d扫描和所披露的边缘检测技术来计算3d信息的方法可以降低图案数量并增加扫描速度。该方法还可以减少错误并提高扫描精度。此外,该方法可以通过子像素精度提高分辨率。

虽然已经参照说明性实施例描述了特定发明,但是本说明书并不意味着是限制性的。根据本说明书,对本发明的说明性实施例和其他实施例进行的各种修改,对本领域技术人员将是显而易见的。本领域技术人员将容易地认识到,在不脱离本发明精神和范围的情况下,可以对本发明所示和所述的示例性实施例进行这些和各种其它修改。因此,所附权利要求将覆盖任何这样的修改和替代实施例。插图中的某些比例可能被夸大,而其他比例可能被缩小。因此,本披露和附图被认为是说明性的而不是限制性的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1