[发明专利]一种误差可控的细分曲面图像矢量化方法有效
申请号: | 201710304102.6 | 申请日: | 2017-05-03 |
公开(公告)号: | CN107256557B | 公开(公告)日: | 2020-05-22 |
发明(设计)人: | 陈爱芬;李桂清;王宇攀;聂勇伟 | 申请(专利权)人: | 华南理工大学 |
主分类号: | G06T7/13 | 分类号: | G06T7/13;G06T5/00;H04N19/94 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 罗观祥 |
地址: | 510640 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种误差可控的细分曲面图像矢量化方法,包括如下步骤:1)检测图像边缘特征,得到一个像素宽的初始图像特征线段;2)构造基于图像特征的初始网格,并在网格中标记图像特征;3)简化初始网格,构造保持图像特征的基网格;4)误差可控的Loop细分曲面拟合求得控制网格;5)光栅化矢量表示。给定一张光栅图像,本发明能够得到较好的矢量图像,如果初始重构结果的误差不能满足用户需求,本发明可以衡量出矢量化的重构图像与原图像误差,通过对基网格进行自适应细分以达到一定范围内的指定误差,做到误差可控。本发明研究使用细分曲面技术进行图像矢量化,目的是将光栅图像转换为满足误差要求的矢量表示,具有实际应用价值。 | ||
搜索关键词: | 一种 误差 可控 细分 曲面 图像 矢量 方法 | ||
【主权项】:
一种误差可控的细分曲面图像矢量化方法,其特征在于,包括以下步骤:1)检测图像边缘特征图像边缘是最显著的图像特征,为了在构造保持图像特征的基网格,使用图像边缘线段检测方法来提取图像的一个像素宽的特征线,其步骤为:①高斯滤波:用高斯核卷积图像来抑制图像噪声和平滑图像;②计算梯度幅值和边缘方向图:首先使用梯度算子分别计算出像素点的水平和垂直梯度,然后算出图像梯度幅值图,与此同时,比较像素水平和垂直梯度的大小,确定该像素点的边缘方向,如果水平梯度较大,则认为通过该像素是个垂直方向边缘,反之亦然;③提取锚点:锚点被认为是边缘结束的地方,即在水平和垂直方向特征变化剧烈的像素点,这里选择局部梯度极值作为锚点,通过比较像素点与其相邻像素点的梯度值来判断该像素点是否是锚点,对于一个水平方向的像素点,将其与左右相邻的像素点比较,如果该像素点的梯度值比左右相邻像素梯度值大指定阈值,则认为该像素点为锚点;④连接锚点形成线段:根据梯度幅值和边缘方向图来连接相邻锚点,每次从还未被检测过的锚点开始,观察穿过该锚点的边缘方向,如果是水平边缘,通过向左和向右行进开始连接过程,如果垂直边缘通过锚点,通过向上和向下行进进行连接过程,在移动期间,仅考虑三个直接邻居像素,并且选择具有最大梯度值的那个邻居像素,当遇到梯度幅值为0的像素点或遇到之前已经检测过的边缘像素时,该次处理过程停止;2)构造基于图像特征的初始网格,并在网格中标记图像特征在2D图像平面上建立像素分辨率的初始三角网格M:首先,建立初始网格顶点,图像中的每个像素点对应网格中的一个顶点,并在顶点的属性中记录像素点的颜色值,然后以行和列的方式连接网格顶点形成矩形网格,根据图像特征线将网格中的每个矩形网格划分成两个三角网格;图像颜色不连续性与至少两个具有非常不同颜色强度的相邻像素相关联,单独的图像边缘线不足以表示图像颜色的不连续性,因此,提出使用双特征线来表示图像颜色的不连续,该策略首先使用等值线追踪算法找出图像特征两侧的距离一像素的平行线段,然后通过比较两侧的图像梯度选择平均梯度大的线段作为另一特征线,并对受影响的三角网格进行重新三角化;接下来,对初始网格的边和顶点的类型进行标记,从而在后续的网格简化、细分操作中对不同的类型进行不同的处理以保持重要的图像特征;将网格的边分为三种类型:边界边、平滑边、折痕边,将网格的顶点分为四种类型:边界点、平滑点、折痕点、角点;将图像的双特征线标记为折痕边,将图像矩阵边界的边标记为边界边,其他边为平滑边;对于网格顶点,如果顶点只与平滑边缘连接,则该顶点标记为平滑点;折痕顶点与两条邻接的折痕边连接;边界点与两条邻接的边界边连接;图像特征线端点、特征线交叉点标记为角点;为了固定矩形图像边界,四个角被标记为角点;3)简化初始网格,构造保持图像特征的基网格采用QEM简化算法来简化图像初始网格,得到基网格MB,将网格的颜色属性看成高度场来计算二次误差代价,并且在简化过程中使用细分曲线来拟合图像特征线段来保持图像特征;在上一步骤中,根据图像特征对网格的顶点和边做了分类,为了保持图像的形状和特征,对于不同的特征采取不同的处理方式:①角点不允许被折叠;②边界点只能与其邻接的同边界的两个边界点折叠;③折痕点只能与其邻接的同折痕边的两个折痕点折叠;④滑点可以折叠到特征点;此外,为了得到一个高质量的保持图像特征的基网格,改进QEM算法的边折叠代价,在边折叠代价中加入特征边形变代价Qfeature、三角形正则性代价Qre、面积代价Qarea,并赋予它们相应的权重,用Qqem表示QEM代价,则能够把边折叠的代价表示为:Cost(v1,v2)=αQqem(v1,v2)+βQfeature(v1,v2)+γQre(v1,v2)+δQarea(v1,v2) (1)式中,权重α,β,γ,δ由用户指定,边折叠顺序按照Cost(v1,v2)从小到大进行;需要特别说明的是,为了保证简化后二维网格的质量,除了在计算QEM代价时,将网格M的颜色属性看成高度场,在计算其他代价时,考虑的都只是二维图像网格,不考虑颜色属性,其中QEM代价Qqem、特征边形变代价Qfeature、三角形正则性代价Qre、面积代价Qarea的定义如下:QEM代价Qqem:用二次误差代价来计算边的二次误差代价,其衡量的是三维空间点到平面的距离,而网格M是个二维网格,所以将网格M的颜色属性看成高度场,分别用RGB的值作为高度,则每条边可计算出三个代价,将其和作为该边的二次误差代价Qqem;特征边形变代价Qfeature:QEM代价没有考虑到模型的尖锐特征,不能反映图像的特征,定义Qfeature为折叠前的特征点到其邻接的两个特征点连线的距离,用来衡量特征边折叠结果与折叠点的偏离程度,Qfeature值越小,表明偏离越小,如果折叠的边是非特征边,则Qfeature值为0;三角形正则性代价Qre:在边折叠代价中加入三角形正则性代价是为了减少狭长的三角面片的出现,三角形的正则性被用来表示其接近正三角形的程度,能够用R(t)=cos(∠A)+cos(∠B)+cos(∠C)来度量三角形t=ΔABC的正则性,令Re(t)=3‑2R(t),则0≤Re(t)≤1,Re(t)的值越小,表明该三角形的正则性越高,则定义三角面片集合T的正则性为:Re(t)=max Re(t) (2)把Qre定义为边折叠前后,相关三角面片的正则性增量,则边折叠的正则性代价定义为:Qre(v1,v2)=Re(NF(v‾))-max{Re(NF(v1)),Re(NF(v2))}---(3)]]>式中,表示顶点的邻接三角面片;面积代价Qarea:三角形正则性代价Qre反映了三角面片的形状,没有反映面片大小,因此,在总代价中加入面积代价来约束面片的面积,把面积代价Qarea定义为边折叠后新顶点所有邻接面的面积总和,则边折叠的面积代价定义为:Qarea(v1,v2)=Σt∈NF(v‾)area(t)---(4)]]>式中,area(t)表示三角形t的面积;其中,网格简化算法的主要步骤如下:①设置边折叠代价公式(1)中的各项权值;②将网格M的颜色属性看成高度场,计算网格所有边的QEM代价Qqem;③计算所有可折叠边的折叠代价,根据折叠代价将其放入最小堆中,根据公式(1)计算出每条边对应的两条半边的折叠代价,则边的折叠代价取两个半边代价的小值,并记录折叠方向;④从堆中取出最小折叠代价的边,判断其折叠后相关面是否会反生翻转,若会,则给该边的代价加一个惩罚值,更新其在堆中的位置;若不会反生翻转,则判断该边是否是特征边,若是特征边,拟合调整特征点的位置并判断其折叠后拟合误差是否符合要求,若不符合,则不折叠该边,将其从堆中删除;否则就完成该边的折叠操作,重新计算相关边的折叠代价并更新它们在堆中的位置;⑤若达到简化的要求或最小堆为空,则转到⑥,否则转到④;⑥删除网格中的独立顶点,更新网格,输出基网格;虽然在网格简化过程中考虑了面片正则性、面积等因素,但是仍不能保证能得到一个高质量基网格,因此使用最简单的Laplacian算子对网格进行几何优化:Δv=1|N(v)|Σi∈N(v)(vi-v)---(5)]]>其中N(v)和|N(v)|分别表示顶点v的1邻域的所有顶点集合和个数;网格中顶点的新位置由vnew=v+λΔv迭代式给出,其中λ取值为0.3;为了保持图像的特征,对网格特征顶点进行特殊处理:首先,角点不进行移动,对于边界顶点和特征点v,设(va,v)和(v,vb)为v所在的两条特征边,则v只根据va和vb的位置进行调整,即Laplacian算子定义为:Δv=12Σi∈{a,b}(vi-v)---(6)]]>需要说明的是,网格优化能够在网格简化的过程中进行,也能够在网格简化结束后进行,如果网格优化会造成面片翻转,则暂时不进行优化;4)误差可控的Loop细分曲面拟合求得控制网格经过网格的简化和优化得到反映图像特征的基网格后,提出带误差控制的Loop细分曲面拟合来对图像颜色进行拟合,在计算控制网格的过程中进行误差控制,用户能够通过指定重构图像的误差来获得满足需求的矢量图像,该过程包括三个部分:控制网格的计算、误差控制以及自适应细分,具体如下:4.1)控制网格的计算为了增加拟合目标的数据量,首先对基网格MB进行一次1‑4细分得到网格然后使用网格对原图像进行采样得到MR,将MR作为拟合的目标;像素点的颜色值在图像特征区域有着显著的变化,为了采样到准确的颜色值,对不同的网格特征采用不同的采样方式得到顶点的颜色值:对于折痕顶点,它的目标颜色为它所在的图像特征线上和它位置最接近的像素点的颜色值;对于角点,它在简化过程和细分过程中的位置都没有移动,所以它的目标颜色为顶点坐标确定的图像像素点的颜色值;对于平滑顶点,其颜色由其周围的像素点进行双线性插值得到;在网格简化过程中已经拟合了网格的特征顶点位置,为了计算方便,这里只拟合网格顶点的颜色,因此所要计算的控制网格MC和基网格MB具有相同的拓扑结构,对控制网格MC进行一次Loop细分后获得的网格和MR具有相同的拓扑关系;根据Loop极限模版求网格的极限得到细分极限曲面MS,拟合目标就是:MR=MS (7)设基网格MB和目标网格MC的顶点数分别为n和m,分别用MC、MR、MS表示网格MC、MR、MS的顶点颜色构成的向量,则根据带尖锐特征的Loop细分模版和极限模版,存在有细分矩阵Sm×n和极限矩阵Lm×m使得:所以可以将Loop细分拟合方程(7)表示为:Lm×mSm×nMC=MR (8)令Zm×n=Lm×mSm×n,方程组(8)变换为:Zm×nTZm×nMC=Zm×nTMR---(9)]]>通过求解线性方程组(6)就能够得到控制网格MC,因为这里拟合的是网格顶点的颜色,所以MC和MR的大小分别为n×3和m×3,RGB三种颜色能够分开求解;4.2)误差控制将每个像素点的重构误差定义为重构图像与原图像对应像素点颜色值的欧式距离,而将整个图像的重构误差e定义为所有像素点重构误差的均值,每个基网格面片的重构误差ef定义为该面片光栅化后所对应的所有像素点重构误差的均值;在上一步骤中,通过Loop细分曲面拟合求得控制网格,使其对应的细分曲面尽可能接近原图像,但是控制网格的顶点数目依赖于网格简化,如果简化过度,使得控制网格顶点数目过少,自由度过大,就可能导致重构图像与原图像在某些区域存在较大的重构误差,因此通过对误差较大的区域进行自适应细分来控制图像的重构误差,使得用户能够得到指定误差的重构图像;对于重构误差的计算,首先根据带尖锐特征的Loop细分规则和极限规则估计控制网格的极限曲面,计算出极限曲面上每个像素点的颜色值,即光栅化矢量表示,然后根据每个像素点所在的基网格面片,计算基网格每个面片的重构误差ef,最后计算整个重构图像的误差e;通过以上分析,误差可控的控制网格的求取的主要流程如下:①备份基网格MB,使用Loop曲面拟合方法计算控制网格MC;②根据细Loop分规则和极限规则估计控制网格MC的极限曲面MS;③对于原光栅图像每个像素点的颜色值I(i),根据重心坐标计算出极限曲面MS上对应像素点的颜色值I′(i),计算像素点误差ei,并找到该像素点对应的基网格面片,然后计算基网格MB每个面片内所有像素点的平均误差ef,最后计算整个图像的平均重构误差e;④如果平均重构误差e小于用户指定的平均误差阈值ε,则终止算法,输出控制网格MC;否则找出基网格中MB前k个最大平均误差的面片集合,并标记这些面片为需要进行自适应细分;其中k≥1由用户指定,k越大,平均误差下降越快;⑤对被标记的基网格面片进行自适应细化求得新的基网格MB,然后再转到步骤①,继续整个过程,直到得到指定误差的重构图像;4.3)自适应细分自适应细分允许只对感兴趣的区域进行细分,在误差控制中,需要对被标记为不满足误差要求的面片进行自适应细分来局部增加控制顶点的数目,从而减少误差;为了避免新网格产生裂缝,必须对被标记的面片和其邻面都进行细分;对于被标记的网格面片,对其进行1‑4细分,对于没被标记的面片,根据其邻面被标记的情况来进行细分:①如果该面片具有0个被标记的邻面,则不对其进行细分;②如果该面片具有1个被标记的邻面,则对其进行1‑2细分;③如果该面片具有2个被标记的邻面,则对其进行1‑3细分;④如果该面片具有3个被标记的邻面,则对其进行1‑4细分;对基网格的所有面片用上述细分模式进行细分后,就完成一次自适应细分,形成新的基网格;5)光栅化矢量表示为了在显示设备中显示前面步骤得到的矢量表示MC,需要渲染控制网格MC面片和它们相关的颜色信息到一个离散的光栅图像,也将该过程称为矢量表示光栅化;矢量表示是基于细分曲面,所以要先求得对应的细分曲面,再将其离散化成光栅图像,其中,光栅化流程为:①根据带尖锐特征的Loop细分规则对控制网格MC做r次细分得一个细化的网格Mr,r=2,3…;②根据带尖锐特征的Loop极限规则将Mr的顶点都移到对应的极限位置,从而得到逼近的分段细分曲面MS;③由于MS是个分段线性曲面,曲面上的任一点颜色值都能够用该点所在三角面片的三个顶点颜色值进行线性表示;使用重心坐标来计算三个顶点的权重,对于整个极限曲面网格MS,其渲染流程:循环遍历MS的每个面片,对于每个三角面片,找出这个面片的包围盒,对于包围盒里面的每个整数像素点,判断该点是否属于该三角面片,如果是,求出它的重心坐标,最后根据重心坐标算该像素点的颜色值;在遍历网格全部三角面之后,即能够将对应的光栅图像素点的颜色全部填满,从而实现光栅图像的生成。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710304102.6/,转载请声明来源钻瓜专利网。