版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一种基于机器学习的边缘检测算法研究目录TOC\o"1-2"\h\u13548一、绪论 115175(一)引言 13087(二)图像边缘检测的研究背景和意义 19312(三)图像边缘检测的研究现状 222756(四)机器学习技术的原理及特点 410917二、训练样本集创建 528777三、特征提取 64918(一)Harr特征原理及实现方法 67923(二)方向梯度直方图特征原理及实现方法 728160四、分类器训练 932251(一)AdaBoost算法和决策树算法原理 96865(二)基于AdaBoost和决策树的分类器训练 1120846五、实验仿真结果及分析 1327629六、总结 14绪论(一)引言边缘检测是在模式识别、机器人视觉系统、图像分割、图像匹配、目标识别和跟踪、图像压缩等领域研究的基本工具,对图像处理和计算机视觉系统等多个领域的研究也起着重要作用。传统的边缘检测方法通过局部的亮度、颜色、梯度和纹理或者其他人工设计特征进行边缘或者非边缘的分类。诸如著名的Sobel和Canny之类的传统边缘算子主要集中在图像梯度的使用上。但是,边缘通常具有丰富的语义信息,仅通过局部线索很难获得令人满意的结果。虽然由于其高效,目前仍有应用,但是其准确率很难达到现代应用的要求。机器学习(MachineLearning)是计算机科学的一个分支,它使用已知数据(数据可以是历史数据或实时更新的数据)来预测或响应未知数据,可以通过不断模拟学习人类行为完善自身性能。它与模式识别、计算统计学和人工智能等领域密切相关。本文提出了一种基于机器学习的边缘检测算法。该算法将图像中的像素点分为边缘点和非边缘点,并通过计算某个点是边缘点的概率来进行分类,最终结果得到的是一幅表明边缘可行度的概率图像。最终的实验结果表明,与其他传统算法相比,基于机器学习的边缘检测方法具有较强的自适应性,可以得到更清晰的边缘图像。(二)图像边缘检测的研究背景和意义随着科学技术的不断发展,人们开始越来越重视图像边缘检测的研究和探索。图像边缘提取是保证图像边缘检测成功的基础和前提,应引起重视。边缘是图像的最基本特征,从中可以看到整个图像的层次感和文理特点。图像处理工作的完成必须依靠边缘信息。边缘的基本概念目前,人们通常认为边缘是灰度急剧变化的像素集合,是指两个具有不同灰度的均匀图像区域的边界,即该边界反映了局部的灰度变化。边缘对一个完整的图像来说意义较大,在从一个图像中寻找特定的物体时,边缘就发挥了其作用。对于边缘有一些基本概念需要理解:边缘法线方向是指在垂直于边缘方向的某个点上灰度变化最大的方向。边缘方向是指目标边界的切线方向,即垂直于边缘法线的方向。边缘强度是图像局部沿边缘法线方向的变化强度的量度。理想边缘大致可以分为两种,一种是阶跃状边缘(step-edge),边缘两侧像素的灰度值急剧变化,如图1.1所示;另一种为屋顶状边缘(pulse-edge),边缘像素的灰度值由减小到增大再减小,如图1.2所示。图SEQ图\*ARABIC1.1阶跃状边缘灰度函数图像图1.2屋顶状边缘灰度函数图像2.边缘检测的基本概念边缘检测,是基于灰度突变或者渐变来检测边缘的。边缘检测的目的是标识数字图像中灰度变化明显的点。边缘检测的基本思想是通过检测每个像素和其邻域的状态来确定该像素是否位于对象的边界上。如果像素位于对象的边界上,则其邻域像素的灰度值会存在相对较大的变化。如果可以应用某种算法来检测此变化并对其进行量化,则可以确定对象的边界。边缘检测算法有如下四个步骤:(1)图像滤波:边缘检测算法主要是基于图像强度的一阶和二阶导数,但是导数的计算对噪声非常敏感,因此必须使用滤波器来提高与噪声相关的边缘检测器的性能。需要指出的是,大多数滤波器在降低噪声的同时会导致边缘强度的损失。因此,在增强边缘和降低噪声之间需要权衡。(2)图像增强:增强边缘的基础是确定图像每个点的邻域强度的变化值。增强算法可以突出显示邻域(或局部)强度值显著变化的点。边缘增强通常是通过计算梯度幅度完成的。(3)边缘检测:图像中有许多点具有相对较大的梯度幅度,并且这些点在特定的应用领域中并非全部是边缘,因此应使用某种方法来确定哪些点是边缘点。梯度幅值阈值判据是最简单的边缘检测判据。(4)图像定位:如果某个应用需要确定边缘位置,则可以以子像素分辨率估算边缘位置,并且也可以估算边缘方位。在边缘检测算法中,前三个步骤非常常见。这是因为在大多数情况下,仅需要边缘检测器来指出边缘出现在图像中的某个像素附近,而不必指出边缘的精确位置或方向。边缘检测误差通常是指边缘误分类误差,即,将假边缘区分为边缘并保留,而将真边缘区分为假边缘并去除。边缘估计误差使用概率统计模型来描述边缘位置和方向误差。在使用过程中需要将边缘检测误差和边缘估计误差区分开来,因为它们的计算方法完全不同,并且它们的误差模型也完全不同。边缘检测的三个共性准则:良好的检测结果,指的是边缘的错误检测率尽可能低,也就是说,出现图像边缘的地方应该出现检测结果,但是不要出现虚假的边缘;边缘位置必须准确,即我们标记的边缘位置必须足够接近图像上真实边缘的中心位置;对相同边缘的响应次数应尽可能少,即,检测响应优选为单像素。(三)图像边缘检测的研究现状图像的边缘是指图像中一个区域的结束和另一区域的开始。图像中相邻区域之间的像素集合构成了图像的边缘。因此,图像的边缘可以理解为图像灰度中具有空间突变的像素的集合。图像边缘有两个要素,即:方向和幅度。沿边缘方向的像素值变化相对平缓;而沿着垂直于边缘方向,像素值的变化相对较大。因此,根据这种变化的特征,通常使用一阶和二阶导数来描述和检测边缘。综上,可以通过求灰度值的导数来对图像中的边缘进行检测,并且可以由微分算子来计算该导数。在数字图像处理中,通常使用差分计算来近似代替微分运算。所以边缘检测可以近似认为,用一个定义的模板,来对图像进行滤波的过程,之后,可以适当地使用简单全局阈值处理。常用的一阶微分算子包括Roberts,Prewitt,Sobel等,常用的二阶微分算子包括Laplacian,Kirsh,LoG(LaplaceofGaussian),Canny和其他算子。在实际的处理操作中,经常使用模板矩阵和图像像素值矩阵的卷积来实现微分运算。由于垂直边缘方向上的像素和噪声是灰度不连续点,因此在变换到频域时,它们都是频域中的高频分量,直接使用微分运算不可避免地会很大受噪音影响。因此,微分算子仅适用于图像噪声较小的简单图像。为了解决这个问题,LoG算子和Canny算子先采用对图像进行平滑和滤波的方法,然后再利用微分算子对图像进行卷积,以得到更好的边缘检测结果。其中,LoG算子使用Laplacian算子来计算高斯函数的二阶导数,而Canny算子是高斯函数的一阶导数。两种算子在噪声抑制和边缘检测之间取得了更好的平衡。下面介绍几种典型的算子模板:Roberts算子模板实现如图1.3:图1.3Roberts算子模板Prewitt算子模板实现如图1.4:−1图1.4Prewitt算子模板Sobel算子模板实现如图1.5:−1图1.5Sobel算子模板Laplacian算子模板实现如图1.6:0图1.6Laplacian算子模板LoG算子模板实现如图1.7:0−10图1.7LoG算子模板(四)机器学习技术的原理及特点人与动物的最根本的区别就是人拥有智能。在日常生活中人们总是本能使用复杂而又高效的智能算法,基于经验可以得出不同的结论。而当机器需要完成类似操作时就需要利用机器学习。从广泛的意义上来说,机器学习意味着使用机器(计算机的硬件和软件)从数据中获得知识,也意味着赋予机器从环境中学习的能力。具体而言,机器学习就是对某个实际问题建立计算模型,并利用已知的经验来提升模型效果的一类方法。一些常用的机器学习的工具有贝叶斯、神经网络、支持向量机等。当计算机需要处理、分析的数据中存在一定相同的模式,并且想把其中的知识写成一定的规则、形式化的固定下来,但又无法穷尽时,这时就可以使用机器学习的方法。
训练样本集创建创建真实可靠的训练数据样本集是影响算法分类器效果的关键点之一。在机器学习的过程中,只有提供足够多的训练样本,分类器的训练才能获得丰富的学习信息,提高分类器的可信度和可靠性。该算法选择了48×48像素的图像块作为训练数据。训练数据样本分为正样本和负样本。正样本指的是其中心点为边缘点的图像块,而负样本指的是任何其他图像块。本文将BSDS500(Berkeleysegmentationdataset)中的图像用作实验数据。BSDS500是边缘检测领域中许多学者使用的数据集。它由200张训练图像,100张验证图像和200张测试图像组成。边缘检测领域中的数据集往往是不同标注者进行标注,他们标注时所利用的知识只限于他们本身对目标物体或者目标部分物体的认知。尽管认知因人而异,但他们在标记同一图像的边缘时具有很高的一致性。图2.1显示了数据库中一组图像的原始图像及其人工注释的图像。根据手动标记的边缘图像,可以获得图2.2和图2.3中所示的正样本示例和负样本示例。在该实验中,正样本的数量为3,000,负样本的数量为5,000。(a)原始图像图(b)人工标注图像图2.1BSDS数据库图像图SEQ图\*ARABIC2.2正样本图2.3负样本
特征提取图像特征是指可以在图像中用作标志的属性,可以分为统计特征和视觉特征。图像的统计特征是指一些人工定义的特征,可以通过变换获得这些特征,例如图像的直方图,矩和频谱。图像的视觉特征是指人类视觉可以直接感受到的自然特征,例如区域的亮度,纹理或轮廓等。在对图像中的像素进行分类时,可以使用图像的某些特征作为弱分类器,可以通过算法将多个弱分类器训练成一个强分类器,以实现最终的分类目标。在本文中,该算法选择了Haar-like的特征和方向梯度直方图(HoG)进行训练。由于这些特征的普遍性,该边缘检测方法的应用领域非常广泛,并且这两个特征在图像上下文中保留了视觉信息,提高边缘检测的准确性。(一)Harr特征原理及实现方法Haar-like特征是一种非常经典的特征提取算法,最早由Papageorgiou等人应用到面部检测中,因为它类似于Haar小波(Harrwavelet)而得名。Viola和Jones在此基础上使用3种类型4种形式的特征。特别是当它与AdaBoost结合使用时,对面部检测具有良好的效果。一般而言,当提到Haar-like时,它将与AdaBoost,级联分类器,人脸检测,积分图等一起出现。Haar特征分为三类:边缘特征,线性特征,中心特征和对角线特征,它们被合并为特征模板。特征模板中有白色和黑色矩形,并且模板的特征值定义为白色矩形像素和与黑色矩形像素和之差。Haar特征值反映图像的灰度变化。但是,矩形特征仅对某些简单的图形结构(例如边缘和线段)敏感,因此它只能描述具有特定方向(水平,垂直,对角线)的结构。图3.1Harr-like矩形对于图中的A,B和D之类的特征,特征值的计算公式(3-1)为: V=Sum白而对于C来说,计算公式(3-2)如下: V=Sum黑色区域像素总和乘以2的原因是为了使两个矩形区域中的像素数相同。通过更改特征模板的大小和位置,可以在图像子窗口中穷举出大量特征。上图的特征模板称为“特征原型”;将特征原型在图像子窗口中扩展(平移伸缩)出的特征称为“矩形特征”;矩形特征的值称为“特征值”。矩形特征可以位于图像的任何位置,并且大小也可以任意更改,因此矩形特征值是矩形模板类别,矩形位置和矩形大小这三个因素的函数。因此,类别,大小和位置的变化使一个小的检测窗口包含许多矩形特征。例如,在尺寸为24*24像素的检测窗口中,矩形特征的数量可以达到160,000。根据实现原理计算Haar特征非常复杂,因此通常使用积分图(IntegralImage)来简化计算过程。积分图与动态规划算法相似,仅遍历一次图像即可获得图像中所有像素的总和,大大提高了图像特征值的计算效率。积分图的主要思想是将图像从起点到各个点的矩形区域中的像素之和存储为数组中的数组元素。当要计算某个区域中的像素之和时,可以直接索引数组的元素,而不用重新计算该区域的像素总和,从而加快了计算。积分图可以使用相同的时间(常数时间)在多个尺度下计算不同特征,从而大大提高了检测速度。方法如下:(1)计算积分图,在公式(3-3)中ii(x,y)表示在位置(x,y)上,相应积分图像中的像素是该位置左上角所有像素的总和。 iix,y=(2)首先公式(3-4)每一行都递归计算s(x,y),计算完毕之后公式(3-5)在每一列都计算ii(x,y)。 sx,y=s iix,y=ii初始值 sx,−1=0,ii其中s(x,y)为点(x,y)所在行以左的像素之和。(3)计算某个方块内的像素和根据(2)我们计算出各点左上的像素之和ii(x,y),如图3.2中D区域内部的像素和我们可以写作iiD=iiiiD表示D区域内部的像素和图3.2Haar-like特征积分图(二)方向梯度直方图特征原理及实现方法方向梯度直方图(HistogramOfOrientedGradients,HoG)是用于目标检测的特征描述符。它通过计算并统计图像局部区域的梯度方向直方图来构成特征。核心思想是可以通过要测试的图像的梯度或边缘方向的密度分布来描述图像中检测到的对象的外观和形状,这主要用于计算机视觉和图像处理领域。与其他特征描述方法相比,HoG在图像的局部网格单元上进行操作,因此可以对图像的几何和光学变形保持良好的不变性。这两种形变只会出现在更大的空间领域中。HoG特征提取过程是先对图像进行灰度化处理,然后将图像分成小单元格(我们称其为细胞单元),然后计算每个单元格中每个像素的方向梯度。然后统计每个单元格中不同梯度的数量以形成每个单元格的HoG描述子,最后进行归一化以形成每个块的HoG特征。通常将梯度方向分为8个方向,每个方向相隔45º,图像单元数为3×3,如图3.3所示。图3.3方向梯度直方图
分类器训练对于提供的训练样本(包括正样本和负样本),分别提取其Harr特征和梯度直方图(HoG)特征,以获得一组高维特征向量。对于高维特征数据,本文采用Adaboost和决策树算法相结合的方法,取得了较为理想的效果。(一)AdaBoost算法和决策树算法原理1.决策树算法原理决策树(DecisionTree)是一种非参数有监督分类方法。它可以从具有特征和标签的一系列数据中总结决策规则,并以树状图结构显示这些规则以解决分类和回归问题。决策树分类算法是一种基于实例的归纳学习方法,可以从给定的无序训练样本中提取树型分类模型。若要生成决策树,首先根据相似性把所有数据点分为两组,然后针对每组重复这个二分过程。叶节点的每一层都包含比上一层更少的数据点,但具有更高的同质性。决策树的理论基础是,相同路径上的数据点彼此是相似的。树中的每个非叶节点都记录了用于判断类别的特征,并且每个叶节点都代表最终判断的类别。每个叶节点的根节点都形成一个分类路径规则。测试新样本时,只需要从根节点开始,在每个分支节点进行测试,然后沿着相应的分支递归地进入子树以再次进行测试,直到到达叶节点为止,该叶节点表示的类别就是当前测试样本的预测类别。图4.1显示了标准决策树模型。要构建一颗标准决策树,仅需要两个步骤:步骤1:确定一个二元选择题,它能够把数据点拆分为两组,并最大限度地提高每组数据点的同质性。步骤2:对每个叶节点重复步骤1,直到满足终止条件并且无法进行进一步划分。图4.1决策树分枝示意尽管决策树易于使用和理解,但它们具有不稳定(易于过拟合)和不准确的缺点。为了尽可能避免这种情况,我们可以结合使用随机森林或AdaBoost算法,使预测结果具有较好的稳定性和准确性。2.AdaBoost算法原理Boosting
算法是由
Robert
T
.Schapire
提出的。Boosting算法将更多注意力放在分类错误的样本上。对于这样的样本来加强学习,就像背单词一样,当第一遍背完一个
List
的单词,第二遍进行复习时,并不是这个
List
中的每一个单词都会花费同样的时间再去决定,而是会重点关注那些第一遍之后还设有记住的单词。
Boosting算法在其实现中也使用了这种想法。首先,对每个训练样例赋予相同的权重,然后通过训练构造第一个弱分类器,对这个弱分类器进行测试,将那些分类错误的测试样例增加权重,然后再将调整权重后的训练集去训练第二个弱分类器,并重复上述过程,直到最终获得足够好的分类器。但是,Boosting算法在解决实际问题时存在一个重大缺陷,即它们都需要先了解弱分类器算法的分类正确率下限,但这在实际同题中很难解决,所以后来
Freund和
Schapire提出了AdaBoost(AdaptiveBoosting,自适应增强)算法,这个算法可以很容易地应用于解决实际问题中。
如图4.2所示,这就是Adaboost的结构,最后的分类器YM是数个弱分类器的组合,等同于最后m个弱分类器进行投票以确定分类,并且每个分类器的“话语权”α不一样。图4.2Adaboost结构Adaboost算法主要是在整个训练集上维护一个分布权值向量,使用加权训练集生成弱分类器,然后计算该弱分类器的错误率,并使用此错误率更新分布权值向量,为分类错误的样本分配较大的权值,为分类正确的样本分配较小的权值。每次更新后,将使用相同的弱分类算法来生成新的分类假设。这些分类假设的顺序构成了一个多分类器。最后,将这些多分类器与加权方法相结合,以获得决策结果。该方法的优点在于它不需要单个分类器就具有高识别率,也就是说,它不需要寻找具有高识别率的基本分类算法。Adaboost实现过程:假设现在一共有M个分类器,N个训练样例,每个训练样例Xn的正确分类结果为tn,ym(xn)(1)对于每一个训练样例i,首先初始化它的权重为1N ωm,i=(2)对于每一个弱分类器m,从第一个开始重复以下步骤。=1\*GB3①计算误差函数: εm=这个公式(4-2)的含义即为,对于当前ym这个弱分类器,遍历所有的训练样例,若在y=2\*GB3②公式(4-3)计算该分类器的话语权α: ∝m=更新权重后如公式(4-4)所示: ωm+1,i=(3)现在,针对每一个弱分类器,我们都得到了与其相对应的话语权α,用这个就可以更加合理地整合弱分类器从而成为一个强分类器,如公式(4-5)所示。 YMxAdaboost是一种实现简单,应用也简单的算法。Adaboost算法通过组合弱分类器获得强分类器。同时,分类误差率的上限随着训练的增加而稳步下降,并且不会产生过拟合。应该说,它是可以应用于各种分类场景的算法。但是,如果有个别极端数据导致分类器的分类失败,则Adaboost算法将重点关注这种极端数据的情况,这会使Adaboost算法对异常值非常敏感,异常样本可能会在迭代中获得更高的权重。这会影响最终强学习器的预测准确性,因此本文将决策树和AdaBoost算法结合使用来进行分类器训练。(二)基于AdaBoost和决策树的分类器训练决策树是归纳学习的多级分类算法。它从一组无序和不规则的样本数据中训练以树状表示的分类规则。对于两种类型的分类问题,训练好的决策树是一个二叉树。本文将决策树算法的思想与AdaBoost算法相结合,对所有训练样本训练分类器,区分图像中的边缘点和非边缘点,并获得二叉树。二叉树上的叶节点是边缘点和非边缘点的数据。通过AdaBoost算法训练每个节点上的数据,以获得强分类器。将二叉树分为左子树和右子树,并从根节点递归执行分类操作。由于引入了决策树算法,训练数据样本S被分为两个新的样本集Sleft和S图4.3基于Adaboost的决策树算法训练过程示意图Adaboost二元分类实现过程:决策树对每个类别做二分类,即如果一个样本属于该类别则为1,如果不属于则为-1。假设现在一共有m个样本,k个类别,将样本与类别组合,这样对每个类别都有m个样本,然后对每个类别训练二分类的弱分类器,最后根据整体的分类准确率来分配新的权重。给定m个样本,样本xi的类别标签集合为(1)首先初始化每个样本每个类别的权重为1mk。(2)在第t轮迭代中,对每个类别,在m个样本上训练弱分类器,共得到k个弱分类器。对于样本xi,关于类别l的分类结果为:ht(另外由公式(4-6): Y[l]=+1,l∈Y−1,l∉Y可得:如果分类正确Yi[l], rt=在公式(4-7)中rt表示第t轮分类结果的准确性,如果全部分类正确,那么rt=1(3)第t轮弱分类器的权重如公式(4-8): αt=之后进一步更新样本权重如公式(4-9): Dt+1i,l Z
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度个人企业经营周转贷款抵押合同模板2篇
- 二零二五年度绿色生态农业项目合同书4篇
- 2025年度个人抵押车借款数据安全保密合同
- 2025年度农业废弃物资源化利用技术服务合同8篇
- 2025年度喷砂机销售与产业升级合作合同4篇
- 课题申报参考:面向深度学习双向调节学习困惑:聚焦多模态诊断与调节支架设计的研究
- 2025年度家庭影院定制装修服务合同范本
- 2025版智能爬架租赁与维护一体化服务合同4篇
- 2025年建筑工程流动资金借款合同终止条款3篇
- 2025年度新型断桥门窗安装与节能改造合同4篇
- 2024年山东省泰安市高考语文一模试卷
- 五年级上册计算题大全1000题带答案
- 工程建设行业标准内置保温现浇混凝土复合剪力墙技术规程
- 北师大版物理九年级全一册课件
- 2024年第三师图木舒克市市场监督管理局招录2人《行政职业能力测验》高频考点、难点(含详细答案)
- RFJ 006-2021 RFP型人防过滤吸收器制造与验收规范(暂行)
- 盆腔炎教学查房课件
- 新概念英语课件NCE3-lesson15(共34张)
- GB/T 3683-2023橡胶软管及软管组合件油基或水基流体适用的钢丝编织增强液压型规范
- 电视剧《琅琊榜》特色分析
- 5A+Chapter+1+Changes+at+home+课件(新思维小学英语)
评论
0/150
提交评论