CN110136155B - 一种图案边缘轨迹智能提取方法及其应用 - Google Patents
一种图案边缘轨迹智能提取方法及其应用 Download PDFInfo
- Publication number
- CN110136155B CN110136155B CN201910416052.XA CN201910416052A CN110136155B CN 110136155 B CN110136155 B CN 110136155B CN 201910416052 A CN201910416052 A CN 201910416052A CN 110136155 B CN110136155 B CN 110136155B
- Authority
- CN
- China
- Prior art keywords
- image
- path
- pattern
- sewing
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/149—Segmentation; Edge detection involving deformable models, e.g. active contour models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/194—Segmentation; Edge detection involving foreground-background segmentation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种花样图案边缘轨迹智能提取方法及其在电脑花样机上的应用,目的在于解决缝制行业图案的花样文件的生成主要依靠人工测量,通过平面矢量绘图软件像按绘制而严重影响了缝制效率的问题。本申请以计算机视觉、人工智能(AI)等方法为基础,经过对大量相关的数字图像处理算法研究,提出了一种图像矢量化技术自动生成花样文件的算法。算法在图像轮廓提取中,采用基于图像Matting抠图理论,从图案的边缘出发找出一条符合要求的准确的目标轮廓。在图像矢量化方面,提出基于多边形矢量线条,采用三次样条曲线对其进行了转角的光滑处理。最后,发明人对以上算法生成的花样文件在电脑花样机上进行了实现验证,实验结果有效验证了本发明的实用性和可行性。
Description
技术领域
本发明涉及图像处理领域,具体为一种图案边缘轨迹智能提取方法及其应用。本申请能实现对花样图案的轮廓轨迹智能提取和生成,大幅提高轮廓轨迹的提取效率和精度,使得缝制效果更为精细。
背景技术
随着当今人们生活水平的提高,人们对生活质量的要求也越来越追求完美。尤其是在对自己穿着打扮方面要求更是苛刻,这就使得缝制的花样图案越来越复杂。传统的花样图案是人们通过AUTOCAD等软件按照要缝制的花样图案绘制出缝制轨迹,然后再利用专用的花样文件生成软件生成能供花样机读取的花样文件。
其中,人工绘制缝制轨迹这一步是最耗时的,而绘制的准确度直接影响了最终的花样图案的缝制。另外,在人工绘图的时候,需要绘图的工作人员利用手里现有的尺寸测量工具,按照要缝制的效果进行尺寸测量,然后再CAD软件上按照1:1的比例将其绘制出来。另外,有些线条属于不规则的曲线,这对人工测量无疑是很高的难度,且人工绘制的图像美观程度也达不到保障。于是,针对当前花样图案获取速度慢、美观性不好、准确性差等这些特点,如何快速、精准、美观地提取待缝制的花样图案已经成为了缝制行业发展的一个关键性问题。
为此,迫切需要一种新的方法,以解决上述问题。
发明内容
本发明公开了一种花样图案边缘轨迹智能提取方法及其在电脑花样机上的应用,目的在于解决缝制行业图案的花样文件的生成主要依靠人工测量,通过平面矢量绘图软件像按绘制而严重影响了缝制效率的问题。本申请以计算机视觉、人工智能(AI)等方法为基础,经过对大量相关的数字图像处理算法研究,提出了一种图像矢量化技术自动生成花样文件的算法。算法在图像轮廓提取中,采用基于图像Matting抠图理论,从图案的边缘出发找出一条符合要求的准确的目标轮廓。在图像矢量化方面,提出基于多边形矢量线条,采用三次样条曲线对其进行了转角的光滑处理。最后,发明人对以上算法生成的花样文件在电脑花样机上进行了实现验证,实验结果有效验证了本发明的实用性和可行性。为了实现上述目的,本发明采用如下技术方案:
一种图案边缘轨迹智能提取方法,包括如下步骤:
(1)图像抠图
选取待处理的自然图像,将自然图像中像素点的值归一化至[0,1]范围,目标内部部分为1,背景部分则为0;而在目标与背景分界出的值属于(0,1)之间;
将图像中的像素点采用如下公式进行约束化处理:
s.t.αk=Eyk (1-22);
其中E=[e1,...,eK],分别对应ML矩阵最小特征值所对应的K个特征向量;式(1-23)表示在每个像素的所有Matte组分之和必须为1;
其中,ML矩阵的通项为:
式(1-8)中:μk和Σk是窗口k像素的均值和方差,δij为克罗内克函数;
在式(1-21)中,令其中的k=1,而ρ的值定为0.9,因此式(1-21)可以变为:
f(α)=α0.9+(1-α)0.9 (1-24)
式(1-24)便是最终选择的CRF特征函数,其表示了在各个像素点α的值对总的损失函数的贡献;
然后,使用条件随机场来智能获取目标轮廓,在0<α<1之间众多的序列中寻找一条闭合的路径,并且这条路径必须要满足以下条件:
1)、相应的锚点位置不能处于背景或者目标像素,并且锚点之间的连线不能与B和F有交集;
2)、路径的方向只能沿着B和F之间的区域,不能回旋;
3)、路径的选取要以包容目标像素为主,这样得到的路径才是准确的;
4)、尽可能的减少锚点数量,减少轮廓线的毛刺;
(2)图像矢量化处理
将步骤1提出的轮廓进行图像矢量化处理,将线条的几何图元生成对应的矢量文件。
所述步骤1中,针对某一条序列,得到下式:
其中,p(l|s)定义为:
式中:l代表的是具体某条序列(轨迹),而s则代表在F和B之间所有的α所带来的总的损失值。
所述步骤1中,ML矩阵L可以利用矩阵A来进行表示:
L=ATCA (1-28);
于是边缘处的狄利克雷积分表示为:
这个积分表示的是目标边缘向A方向的所有像素点的集合。
前述方法在缝制行业设备上的应用。
将现有缝料图像采集后,采用前所述1~3算法步骤处理后,自动生成用于缝制图样的花样文件。将其用于缝制用的花样文件的自动生成中。
将其用于自然图像向缝制用花样文件的自动生成中。
如前所述,传统的花样文件制作方式是采用人工测量和计算机辅助设计进行基本图样的绘制,然后采用其他第三方花样文件编辑软件处理后,导入到缝制设备控制器中,进行花样缝制。在缝制品的款式发生变化时,这种工作方式严重的限制了缝制效率提高,同时,企业耗费更多的时间和精力在花样文件的绘制和修改上。往往使得最后缝制的成品不美观、缝制数据不完整,从而导致企业生产成本大大增加、产品制作周期大大延长。因此,研究如果更好、更美观、更快、更稳定、更准确的花样文件生成方法是行业发展的重要方向。
在花样图案提取过程中,最重要的问题是如何精准、光滑和快速的提取出目标特征线条。传统的边缘提取算法,多数是利用图像像素与像素之间的亮度差异进行提取,这种性质的方法会引入特别多的噪声点,这对缝纫轨迹自动生成来说是不能解决的问题。本申请的研究是基于花样图案的智能提取与花样文件的自动生成算法。
在花样图案提取中,目前还没有比较优秀、快速、高效、准确的办法。为此,本申请提出一种图案边缘轨迹智能提取方法及其应用。
本申请中,发明人通过研究传统图像处理方式和基于深度学习的图像处理方式对图像轮廓提取的优缺点,提出适用于嵌入式系统的自然图像轮廓提取算法。注意,缝制花样图案的提取对象一般都是拍摄的自然景物图像。因此,针对自然景物图像轮廓的提取是本申请所要解决问题的核心。为此,发明人提出了一种新的目标轮廓提取方法。实验结果表明,基于Matting的目标轮廓提取算法能够较好地提取出想要目标的轮廓,并且提取出的轮廓干净、光滑、无太多毛刺并且没有孤岛等情况存在,基本满足缝制设备要求。
同时,发明人对图像矢量化也进行了优化。图像矢量化过程中,采用三次样条曲线提取出的矢量轮廓同样具有比较规整、光滑的边缘,并且本文的矢量化算法较其他算法具有时间上的优势。
综上所述,本申请提出了一种新的利用机器视觉、数字图像处理等方法自动提取目标轮廓的算法。算法从轮廓提取和矢量化速度方面都得到了很好的提升,对于实际应用具有重要意义。本申请能够很好地从一副自然图像中提取出指定目标的轮廓,并且提取出的轮廓毛刺少、无孤岛和连续。本申请实现了对自然图案的目标轮廓提取,其有效地解决了传统图像的噪声多、不精准、速度慢等特点,使得该算法能够较好地运用的缝纫机系统当中去。
由于花样图案采用的是点描述方式,那就需要将普通的位图转换成矢量表达方式,这样后期转换成花样文件的时候才可以根据矢量描述细化图元,从而使得缝制轨迹一步一步缝制完成。为此,本申请基于取出的轮廓,提出了一种采用样条曲线进行图像矢量的方法,能够很好地拟合前面所提取出的图像轮廓。
为了验证本申请的可行性,发明人搭建了相应的运行的平台以及算法实现的硬件平台,然后利用通用的编程语言对算法进行了实验。为了使算法运行时间更快以及更好、更快地控制缝纫机系统,需要将算法移植到FPGA平台,采用硬件描述语言来增加算法的运行时间,以此达到实时运行的目的。实验证明,本申请提取路径轮廓精度高,无人工参与编辑绘图,使得缝制设备的自动化程度提高了。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1为实施例1中图像Matting示例。
图2为实施例1中2D Random Walks模型。
图3为实施例1中基于Matting的随机步长。
图4为实施例1中获得的一个绘制实例。
图5为实施例1中的线条局部放大图。
图6至图9分别为不同的轮廓提取实例。
图10为实施例2中路径提取示意图。
图11为实施例2中直线路径示意图。
图12为实施例2中非直线路径示意图。
图13为实施例2中多边形轮廓路径示意图。
图14为实施例2中3.2的轮廓曲线图。
图15为实施例2中3.2的锯齿效应图。
图16为实施例2中Bezier曲线图。
图17为实施例2中转角平滑算法示意图。
图18为实施例2中转角优化效果图。
图19为处理流程图。
图20为生成的花样文件。
图21为缝制仿真图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
实施例1
花样图像的获取,主要是由图像传感器感受相机镜头缩小后的场景光后,经过曝光记录而产生。在图像生成的过程中,往往会受到传感器、镜头,甚至是环境光的影响,使得最后生成的图片里面含有大量不利于图像处理的噪声。噪声的出现会直接导致图像处理的结果偏差很大,或者直接得出错误的结果。
利用传统的图像处理算法,对自然图片的处理过程中,会出现对图像的目标和背景区分不完全的情况发生,这导致了最终图像分割过程中存在目标和背景相互融合的现象发生。这样的方式对于图像处理系统是不适合的,因此,后期还需要人工区分背景和目标,从而提取出一个完成、连续的轮廓线。为此,需要找到一种更精细、更完整同时更智能地提取出目标的主要轮廓线的方法。
本实施例中,发明人对缝制设备的需要的花样图案进行了研究,并根据这些花样特点,分别对传统图像处理、深度学习、本发明的方法进行了详细实验和分析。
对于缝制系统来说需要的线条轮廓必须要求干净,尽可能不要引入其他无关的噪声,并且对于线条粗细有硬性要求。传统的图像处理方式能够提取出比较干净纤细的线条,但是容易引入较大误差,使最终提取出的目标轮廓断线条、孤岛较多,因而不利于工业缝制花样。基于人工智能的方式的图像轮廓提取,能够很大程度上减少噪声,使得提取的出的轮廓更接近实际情况,但是线条本身粗大,也不能直接用于工业缝制系统。
1、图像Matting
(1)图像Matting即图像抠图,从形式上看与图像分割中的语义分割类似,但实际上两者有较大差距。语义分割主要是要对图像中的像素进行理解,要将相同语义的像素分到同一个部分,最终得到的结果就是若干个块状,至于块与块之间有没有联系、联系是什么、连接自然与否都不考虑。而图像抠图着重是把图像分为前景和背景两部分,抠图则是要把前景从背景中分离出来。从结果上看,图像分割属于硬分割,即不同目标之间的连接是硬连接;而抠图在前景与背景之间有一个过渡区域,这个过渡区域也称之为前景与背景相互融合的部分,属于软分割,如图1所示。
如果把图像中像素点的值归一化至[0,1]范围,那么从图1中可以看出目标内部部分为1,背景部分则为0;而在目标与背景分界出的值属于(0,1)之间。所以图像抠图与图像分割的最大区别也就是在对目标边缘处理上。图像抠图明显比直接采用图像分割具有更为真实的边缘。
(2)原理
抠图理论与图像分割的直接作加法不同,由于在目标的边缘处有目标和背景相互融合的现象。因此在数字图像处理领域和计算机图像学中,抠图理论的表示式子表达为:
Ii=Fiαi+Bi(1-αi) (1-1),
式中:Ii表示通过相机或者其他图像获取设备获得的原始图像;Fi表示我们将要从原始图像中获取的目标图像(前景图);Bi表示要获取的原始图像中的背景图;α表示目标像素的不透明度,很明显我们可以发现α在目标图的内部取值为1表示没有背景成分,在背景中则为0表示没有目标成分,而在目标与背景边缘处α则介于0到1之间的某个值。在一张普通的自然图像中,上式右边全是未知量,而我们的任务则是要根据仅有的原始图像像素值,再根据一些假设性的先验理论求出上式中的目标图像Fi、背景图像Bi,这也就意味着我们要将上式右边中的不透明度先求出。将上式经过整理变形可以将α表达如下:
式中:实际上,在真实情况下除了确定的背景与目标外,在目标与背景结合的地方的每个像素值都具有不同的α值,但是为了计算方便快速,上式的得出我们作了一个假设:在一个以i为中心的很小的窗口内,我们假定前景色的不透明度是一个常量。于是我们可以得到不透明度的一个损失函数:
式中:W表示在第j个窗口中像素的总个数。于是有:
将式(1-6)回带入式(1-5)中,可以得到:
上式中的最后一项简化了所有矩阵,其中L(N×N)称为Matting Laplacian(以下简称ML矩阵)矩阵。经计算,它的通项为:
式中:μk和Σk是窗口k像素的均值和方差,δij为克罗内克函数。通过定义我们可以知道,(1-8)式中的L(i,j)是一个比较稀疏的矩阵。如果没有其他约束,要想从(1-8)求得唯一解,几乎不太可能。因此,我们必须依靠用户手工标注来表示已知的前景和背景像素,以此来约束(1-8)式的解。这样,问题就变成了:
将上式变形为:
minαTLα+λ(α-αK)TD(α-αK) (1-10),
式中:αK是N×1的向量,其值在前景像素位置为1,在其他位置为0;D是一个对角矩阵,他的对角元素在用户输入的位置为1,其他位置为1。λ是一个非常大的数(经验值),它主要是用来将用户输入强制与最终的解拉近。于是(1-10)式的求解就可以等效为:
(L+λD)α=λαK (1-11)。
从式(1-11)中我们便可求得唯一解。结果如图1所示。另外,值得一提的是,由于照片各异,要想从照片中准确提取出我们需要的目标的轮廓,必须要人工标定一下哪是背景哪是目标。由于要进行处理的照片因相机、环境、取景等因素影响,尤其是照片背景复杂清晰的情况下,软件不可能知道到底哪是目标,哪是背景。这也就是导致稀疏矩阵(1-8)无法直接求解的原因,因此在人工标定确定的目标和背景像素之后,稀疏矩阵变得不再稀疏,就可以采用式(1-11)直接求得唯一解了。
2、基于Random Walks的图像分割,尤其是二维Random Walks模型。
(1)二维Random Walks也是一种交互式的模型方法,可以用于交互式图像分割,因为往往待分割的图像色彩丰富,要分割的目标和背景边缘都比较清晰。因此需要手工标定一些“种子”像素,然后利用这些标定好的“种子”像素进行基于RW的随机扩散。具体方式就是以未标记的点作为初始点,向已经标定的“种子”像素计算首次到达已经标记点的概率,然后再次根据这些概率大小,划分出不同的区域结果。
如图2,其中使用阴影的像素是利用人工标记的点L1、L2和L3。问号所标记的像素属于待标记像素,每两个相邻像素之间还有一个权重,用如下表达式描述:
式中,i、j表示两个相邻像素之间的编号,gi和gj分别表示像素点i、j的灰度值。从一维RW问题中我们就了解到,要求解首次达到标记点的问题,实际上就是求解Dirichlet问题,也就是寻找一个满足边界条件的函数,调和函数满足拉普拉斯方程:
也就是Dirichlet积分达到最小值的时候的解,就为调和函数:
图2所对应的Laplace矩阵为:
式(1-15)中di=∑wij是两个定点的所有权值之和,vi,vj是Laplace矩阵的索引。当然,根据矩阵的分解可以将L表示成:
L=ATCA (1-16)。
实际上,A就是边-定点的m×m关联矩阵,有:
而C就是一个基本的对角阵,其元素为相应边的权值。于是Dirichlet的离散形式就可以根据上面的矩阵表示为:
在上式中,矩阵L为半正定矩阵,因此D具有唯一的极小值。将图像的像素点分为两个不同集合:VM代表人工标定的目标/背景像素,VU表示没有经过标记的那些像素点。明显有VM∪VU=V和于是式(1-18)可以利用矩阵分解为:
式中,xM和xU分别对应标记后的和为标记后的节点的势。于是要求(1-19)的极小值,只需对D进行微分得:
LUxU=-BTxM (1-20)。
与一维的Random Walks模型问题一样,式(1-20)其实就是一个线性方程组,其中xU为未知数。
3、基于自然图案的目标轮廓提取算法
本申请旨在提取出特定背景下的目标轮廓线条,并且尽量要保持干净、减少毛刺、减少断线条,因此本文在Matting和RM模型的基础上提出了一种基于CRF的轮廓提取算法。
通过式(1-7)可以知道,ML矩阵L的特征向量其实就是不透明度α的解,由于矩阵L有若干个特征向量,而且这其中大部分特征向量对于不透明度α来说是没有意义的。能够知道,矩阵L的最小特征值所对应的特征向量所包含的Matting信息最为丰富,不同的特征向量代表不同的Matting组分。因此我们可以将(1-7)式中的求最小值问题转换为如下约束优化问题:
s.t.αk=Eyk (1-22);
其中E=[e1,...,eK],分别对应ML矩阵最小特征值所对应的K个特征向量;式(1-23)表示在每个像素的所有Matte组分之和必须为1。在式(1-21)中,由于我们最终得到的Matte只有唯一的一个,因此其中的k=1,而ρ的值定为0.9,因此式(1-21)可以变为:
f(α)=α0.9+(1-α)0.9 (1-24),
式(1-24)便是最终选择的CRF特征函数,其表示了在各个像素点α的值对总的损失函数的贡献。
要使用条件随机场来智能获取目标轮廓,将图像模型抽象为图3所示。从图3中可以看出,轮廓线出现的位置只能是在背景和目标之间的位置,也就是0<α<1的位置。轮廓提取的目标就是在0<α<1之间众多的序列中寻找一条闭合的路径,并且这条路径必须要满足以下条件:
1)、相应的锚点位置不能处于背景或者目标像素,并且锚点之间的连线不能与B和F有交集;
2)、路径的方向只能沿着B和F之间的区域,不能回旋;
3)、路径的选取要以包容目标像素为主,这样得到的路径才是准确的;
4)、尽可能的减少锚点数量,减少轮廓线的毛刺。
从上述条件中可以知道,这条路径并不唯一,但是在实现本算法的时候只要找到一条符合要求的路径就可以结束程序。于是针对某一条序列可以得到下式:
其中,p(l|s)定义为:
式中:l代表的是具体某条序列(轨迹),而s则代表在F和B之间所有的α所带来的总的损失值。其中,F表示前景图像,B表示背景图像。这样一来,通过极大似然估计法就可以求得最终的一条比较准确的轨迹。上式跟logistic回归的表达式基本一致,不过CRF模型注重的是序列,换句话说式(1-26)其实就是逻辑回归的序列号版本。
实际上面的表达式是无法完成整个的轮廓的提取的。其中还有2个未知量:带评定的序列(轨迹)和轨迹步长。
从式(1-8)所代表的矩阵中可以定以如下标记方向矩阵:
这其中的eij采用默认的方向进行初始化,vk则代表图像中边缘处的顶点。于是ML矩阵L可以利用矩阵A来进行表示:
L=ATCA (1-28);
于是边缘处的狄利克雷积分表示为:
这个积分表示的是目标边缘向A方向的所有像素点的集合。综合上述,如果能够找到一条序列使得D能够达到最小,那么这条序列必定满足干净、路径最短、毛刺少、无孤岛等特点,获得的最终序列轮廓能够很好地利用到缝制系统中,如图4所示。图4中,左侧为原图,中间为算法二值化处理结果图,右侧为提取的轮廓线。
由于本实施例提取的轮廓序列是从Matting边缘中得到的,因此,边缘的准确性高于传统的图像边缘提取方式。并且,从上图中还可以看到,提取出的轮廓中,干净、无孤岛、无断线条。另外,传统图像处理的过程中,往往会受到图像本身的影响而造成最终提取的轮廓不光滑,有许多“折线”条;而本申请由于进行了优化,因此得到的线条比较光滑,如图5所示。
进一步,利用实施例1的轮廓提取方法对四个自然图像进行处理,相应的自然图像及提取轮廓如图6、7、8、9所示。
本实施例基于Matting的图像轮廓提取算法,并结合了传统图像处理和深度学习中的优点,并克服了相应的不足。边缘提取的好坏会直接影响后面的矢量文件生成,处理结果也表明,本实施例提出的算法能够精准地按照目标的外边缘轮廓中抽取出一条光滑、连续、毛刺少、无断线条的轮廓线。
实施例2
图像矢量化的目的就是利用位图中图像结构相关的信息,提取出位图中的特征点,特征图元,然后生成矢量图。在缝制花样图案中,位图不能够表现出实际的尺寸大小,这对缝制会造成一定影响。只有将位图矢量化变成计算机能够识别的结构后计算机才能根据图样描述进行图案修制工作。在现有研究的基础上,本实施例提供一种耗时较小少的图像矢量化方法。
要将一个位图转换为矢量线条,最重要的就是要提取出位图中的路径。本申请的图像矢量化方法能将位图自动转换为矢量轮廓线,而不需要人工的参与,这很大程度上降低了人工标定的误差。在图像矢量化的过程中,发明人针对位图的单位路径进行逐步优化,采用直线拟合路径边缘,最终利用三次样条曲线进行转角优化,最后使得提取的路径比较精确,算法耗时较现有编程语言较低。
1.1位图分解为路径
在路径分解前,首先我们假设输入的位图是一张二值图(实际上以二值图像作为输入能够提升软件运行速度,并且能够大大提高路径提取的准确度)。实施例1中采用基于Matting的方式提取了目标的轮廓,实际上实施例1中算法生成的直接结果就是一张二值图像,只是为了方便观察对二值图进行了简单的边缘提取。然后将这张输入的二值图像放置在一个笛卡尔坐标系中,当然每个像素的左边假定为都是整数(为了方便计算)。为了分清目标和背景,进一步假设目标为白色,背景为黑色。
为了确定图中目标的位置,需要构造一个有向图。假设p为图像中某一点,当然为了方便起见,我们只考虑p点的四邻域像素。如过p点的4邻域内像素的点的颜色并不完全相同,就称p点为一个顶点。如果v和w都是顶点,并且v和w的欧式距离为1,那么就称在v和w之间有一条边。并且,如果v和w之间的这条边将v和w分成了一个白色像素和一个黑色像素,那这条边就叫做有向边(方向固定为左边为白色,右边为黑色),由所有有向边和顶点所组成的图形就是有向图G。
其实,位图到矢量图中的路径就是一系列顶点{v0,...,vn}的集合,并且从vi到vi+1(i=0,1,...,n-1)都有一条清晰的边。如果v0=vn,则称这个路径是封闭的。路径的长度定义为路径包括的边的条数。所以路径分解的目的就是从有向图G中找出一系列封闭的路径,使得G中的每条边仅仅出现一次。如图10所示,本实施例从位图中分解出路径的方法是从一对不同颜色的像素开始的。
如图10所示,本实例的程序是采用选择具体的某一行开始,读取该行最左边的两个像素,如果这两个像素恰好在一条边上相遇(实际上就是恰恰有两个不同颜色的像素),那么就改变边的朝向,使得白色像素在边的左边,黑色像素在边的右边。然后继续沿着这条边在像素间移动,每当遇到需要换向的时候只需判断左转、右转、还是直行就行了。以此类推,直到遇到标记开始的那个像素,就完成了一次路径搜索。
每当我们找到了一条闭合的路径后,需要将其所包含的像素颜色进行反转,使其与背景颜色相同(移除已经标记了的像素),这种方式实际上又生成了一个新的位图,然后依次递归这一系列操作,直到整幅图片全部为背景颜色,从而达到搜索整幅位图中的路径。
1.2路径方向确定
在图10中,前面三种情况在大多数情况下实用,但是图10(d)中的情况下程序会不知道具体向哪个方向确定路径。实际上在上述情况下无论是左转还是右转都对结果没有多大影响,因为最终搜寻的路径都是封闭的。不过由于转向的不同,会导致路径的形状有所变化。既然在有路径方向歧义的地方会导致程序的运行不确定性,并且这个歧义的结果也不会对算法的结果造成多大影响,因此在实现该算法的时候需要默认指定转向的方向(向左向右均可)。在指定默认的转向方式后,程序每次遇到图10(d)中的情况都会按照默认的转向设定方式进行。另外前面提到的背景颜色和目标颜色并不固定为黑色和白色,如果有变化可以直接在程序中指定白色为背景,黑色为目标。
1.3滤波
在经过前面的路径搜索和提取之后,可能由于输入的位图的影响,可能会导致提取中的路径中有很多很小的孤岛存在。去除这些孤岛非常简单,实施例1中已经提取出了所有位图中的闭合的路径,只需要计算出这些闭合路径所包含的目标像素的个数。如果计算出的值不大于某个参数t(滤波的阈值,人为指定),直接删除对应的路径即可。计算路径所包含的像素个数实际上就是计算路径所包含的面积,用下面公式进行计算:
Sarea=∫ydx=∫yx'dt (2-1);
由上式计算出对应路径包含的面积(实际就是包含的像素个数)后,如果值不大于给定的某个阈值,说明对应的像素可能就是拍摄图像的时候引入的一些杂质,或者其他的与目标没有什么关系像素。因此,这些像素所对应的路径是不必要的,可以将其直接剔除。
2路径的直线表示
在前述提取出路径中,由于搜寻方式是以像素为单位的,因此最终得出的路径中会与位图有类似的锯齿形状或者很明显的折线路径出现。这会导致路径的不连续性,而实际的路径往往每条边是由一条条线段组成的,并没有许多的锚点出现。为了获取准确、美观的边缘,就势必要对前述路径进行优化。
2.1直线路径定义
假设有两个点z0=(x0,y0)、z1=(x1,y1)均在坐标平面内,这里不需要要求这两个点的坐标必须为整数。定义两点的最大投影距离为:
d(z0,z1)=max{|x1-x0|,|y1-y0|} (2-2);
以上公式表示,与点(1/2,1/2)最大投影距离不超过1/2的点的集合,实际上就是以点(1/2,1/2)为中心的那些像素。对于坐标平面内的两点a、b(坐标不要求必须为整数),使用表示连接a、b两点的直线。假设现在有一条非闭合的路径p={v0,...,vn},如果在上存在至少一点ci使得以下式子成立:
图11中,黑色的圆点表示路径中的顶点;方框不是单纯表示一个像素,而是以顶点为中心的其他像素。对于路径p,在第i(i=1,…,n-1)个顶点的方向实际就是vi+1-vi,有以下四种可能:(0,1),(1,0),(0,-1),(-1,0)。如果一条路径可以用一根直线来近似,那么这条路径中的顶点方向只会出现至多3种情况,不会同时出现上述4种方向。图11所示的几种情况都类似于直线边缘,并且边缘处基本都是朝着一个方向,因此其才可以使用一根直线来近似代表。如果路径中出现了4中不同的路径方向,就意味着当前路径有“回旋”趋势,并不是单纯沿着某一个方向,当然就不能用一根直线来表示。
如图12所示,图中的路径最右侧有一个路径的方向很明显有着“回转”的趋势,因此,图中的直线并不能用来代替整个路径,实际上上述直线也不满足式(2-3)。当然,如果一条路径可以用一条直线来近似,那么这条路径的子路径也能被这条直线的一段来近似。为了能够使程序方便检测某条路径是直的,可以采用如下方式,假设路径p={v0,...,vn}中未同时出现4中不同的路径方向,如果对于路径中的任意一个具有3个元素索引的3元组(i,j,k),0≤i<j<k≤n,由vi和vk确定的直线上存在一点w使得d(vj,w)≤1,那么就可以说这条路径是可以由一条直线来近似替代的。
2.2多边形轮廓
假设p={v0,...,vn}表示一条闭合路径,其中v0=vn,所以该路径的长度为n。对于任意i,j∈{0,1,...,n-1},pi,j就表示其路径p中的一条子路径,并且在满足式(2-3)的条件下可以用一根直线路径来表示。因此,闭合路径p就可以用一个多边形来表示其形状,如图13所示。
实际上,各种不同的闭合路径在程序运行中会有各种不同的情况,这也就导致了一个闭合路径会有多种不同的多边形存在。实际上可以由多边形的条数来决定一个路径的优良程序,比如图13所示,左边有14条直线段,右边有17条直线段,所以左边比右边更能够表达路径所表示的图形。那么如果直线段数量相同的情况又该如何区分具体哪一个更好呢?首先,对于每条直线段都有一个Loss Function,假设在路径vi到vj之间有一条直线段Loss表示如下:
式中,|vj-vi|表示直线段的长度(欧几里得长度),表示顶点vk到直线段的距离,表示人为添加的一个超参数,主要是防止所求得的偏差值变化太大。所以,上式综合描述就是直线段的长度乘以该路径上每个点到该直线的距离的标准差。实际上直线段的距离越短,Loss越小,并且每个点到这条直线段的距离越小(越靠近直线)Loss越小,也符合表达式的物理意义。式(2-5)在实际实现过程中可以用图像的统计学原理来完成计算,因此这个式子的计算比较高效。
3曲线路径的生成
本实施例将采用多边形的轮廓表示进一步转换为采用贝塞尔曲线来表示,进一步完善轮廓图像的光滑矢量过渡。采用贝塞尔曲线的方式来拟合轮廓基本不会有向直线拟合那样会造成边缘轮廓的突变,更多是采用光滑的曲线来表示。
3.1直线锚点重定位
在前面直线的拟合过程中,实际上也谈不上拟合,因为直线的构成是由固定的锚点连接而成,只是选取了不同的“步长”来达到减小Loss的目的。但是实际上,直线的最佳位置并不是通过直接连接锚点,而是需要通过真正意义上的直线拟合。因此,需要将锚点的位置通过拟合的直线进行重定位。所以,对于一条闭合路径中的多边形,记连续的两个多边形顶点为ik和ik+1,实际上在这两个顶点之间还有若干个路径的顶点的组合因此直接采用最小二乘法就可以计算出这些点拟合出的最优直线Lk,k+1。
现在考虑连续的3个多边形顶点ik-1,ik和ik+1。需要对多边形顶点进行重定位的路径顶点记为ak,显然ak的最优解就为直线Lk-1,k和Lk,k+1的交点。但是如果完全将重定位的点放置在相邻直线的交点,势必会造成重定位的点ak与路径顶点的距离相差太大。为了避免此现象发生,我们需要把ak放置在其与原顶点的最大投影距离的方框内。当然,如果直线Lk-1,k和Lk,k+1的交点恰恰在该方框内,就直接将ak放置在该交点即可;否则,就把ak放置在距离交点最近的方框内。这样一来,重定位的点到直线Lk-1,k和Lk,k+1的距离的平方和也是最小的。
3.2采用Bezier曲线优化多边形转角
在本实施例的矢量生成算法中,主要采用贝塞尔曲线来优化多边形转角。
在许多矢量生成算法中,都是直接采用多边形方式进行矢量图形输出的,这样得到的轮廓从大体结构上与贝塞尔曲线路径类似,如图14所示(图14中,左:二值图;中:多边形路径;右:贝塞尔路径)。
然而,细节部分多边形路径比贝塞尔路径具有更大的锯齿效应,如图15所示。
所以,采用贝塞尔曲线来优化多边形的转角后得到的矢量路径与多边形路径相比具有更为真实的边缘轮廓。本实施例主要采用三次贝塞尔曲线来进行优化,其主要原因是三次贝塞尔具有比二次更多的控制点,能够很高效地拟合各个锚点;同时,高次贝塞尔曲线计算复杂,会大大增加算法的运行时间。因此,综合考虑,采用三次贝塞尔曲线进行多边形的转角优化。三次贝塞尔曲线的表达式为:
B(t)=(1-t)3Z0+3t(1-t)2Z1+3t2(1-t)Z2+t3Z3 (2-6)
式中,Z0、Z1、Z2、Z3为三次贝塞尔曲线的4个控制点。为了使其适用于本文的转角描述,假设由控制点确定的两条直线Z0Z1、Z2Z3相交于点O,也就是说这两天直线不平行。同时需要限制曲线是凸的,并且其变化在180°内,这也就是确定了Z1在Z0和O之间、Z2在Z3和O之间,如图16所示。
这样一来,就能够使用图16的模型来模拟所有多边形转角的情况了。在3.1直线锚点重定位中已经重定位了多边形的所有顶点a0,...,ak-1。取出多边形每条边上的中点b0,...,bk-1,其中bi=(ai+ai+1)/2。于是,就有图17所示的转角bi-1、ai、bi+1,我们的目的就是要优化所有的上述多边形转角。
为了判别一个转角是否需要进行贝塞尔曲线优化,本实施例按照以下方法来进行:首先,以点ai为中心绘制一个单位方形;然后,找到一条平行于bi-1bi的平行线;然后,朝着ai点移动,使其刚刚接触到以ai为中心的单位方框并将这条线记为Li。这时,Li的长度与bi-1bi的比值记为γ,然后令:
式中的α便是最终的转角优化判别式,实际上α是贝塞尔曲线的顶点与Li相切时,另外两个控制点占当前边的比例。依据多边形转角的大小,α的值可能有以下两种情况:
(1)、α≤1,这就意味着这时的转角角度比较大,需要采用贝塞尔曲线进行转角优化;
(2)、α>1,这个时候的多边形角度非常小,边与边之间形成了“锋利”的尖角,这时我们直接使用Li来优化转角。即使用Li“切掉”尖角。
经过上述方式进行多边形的转角优化后,得出的路径轮廓比较光滑,不会有很明显的阶梯折线出现,如图18所示。
4算法运行时间比较
表2-1给出了实施例2与目前存在的算法运行时间对比。处理的图像为图14左边的位图,然后连续运行8次输出。
表2-1各矢量算法运行时间对比
实验结果表明,本实施例在轮廓提取精度上能够满足花样文件的要求,与此同时,与其他算法相比具有时间上的优势,对实现实时性应用具有很大的帮助。同时,本实施例的图案边缘轨迹智能提取方法具有准确度高,实时性好等特点。
5.综合测试
5.1操作流程如图19所示。
基于实施例1和实施例2的算法,实际在运行的时候全部使用C语言进行实现,然后运行在基于嵌入式Linux操作系统的ZYNQ平台的PS端。最终输出的是一个花样文件,花样文件可采用U盘拷贝,然后放入花样机系统中进行缝制工作。
5.2缝制仿真结果
最后将生成出的花样文件拷贝至花样机打版器里面如图20所示(图20中,左侧为多线性轮廓,右侧为样条曲线轮廓)。
为了对比,将多边形轮廓和采用样条曲线的轮廓分别进行仿真试验,并记录生成的花样文件缝制所需针数,缝制的实际效果如图21所示(图21中,左侧为多线性轮廓,右侧为三次样条轮廓)。
实际的缝制效果与仿真效果图是一样的。从图中可以看出,经过三次样条曲线处理过的缝制路径会有比较多的缝制点,这也就意味着缝制路径更加细化了,同时缝制的针数就增加了,精度也同时增加了。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。
Claims (4)
1.一种图案边缘轨迹智能提取方法,其特征在于,包括如下步骤:
(1)图像抠图
选取待处理的自然图像,将自然图像中像素点的值归一化至[0,1]范围,目标内部部分为1,背景部分则为0;而在目标与背景分界出的值属于(0,1)之间;
将图像中的像素点采用如下公式进行约束化处理:
s.t. αk=Eyk (1-22);
其中,E=[e1,...,eK],分别对应Matting Laplacian矩阵最小特征值所对应的K个特征向量,Matting Laplacian矩阵简称ML矩阵;式(1-23)表示在每个像素的所有Matte组分之和必须为1;
在式(1-21)中,由于我们对于每个像素最终得到的Matte只有唯一的一个,因此其中的k=1,而ρ的值定为0.9,因此式(1-21)可以变为:
f(α)=α0.9+(1-α)0.9 (1-24),
式(1-24)便是最终选择的CRF特征函数,其表示了在各个像素点α的值对总的损失函数的贡献;
其中,ML矩阵的通项为:
式(1-8)中,μk和Σk是窗口k像素的均值和方差,δij为克罗内克函数;
然后,使用条件随机场来智能获取目标轮廓,在0<α<1之间众多的序列中寻找一条闭合的路径,并且这条路径必须要满足以下条件:
a)、相应的锚点位置不能处于背景或者目标像素,并且锚点之间的连线不能与B和F有交集;
b)、路径的方向只能沿着B和F之间的区域,不能回旋;
c)、路径的选取要以包容目标像素为主,这样得到的路径才是准确的;
d)、尽可能的减少锚点数量,减少轮廓线的毛刺;
所述步骤(1)中,针对某一条序列,得到下式:
其中,p(l|s)定义为:
式中:l代表的是具体某条序列,而s则代表在F和B之间所有的α所带来的总的损失值;F表示前景图像,B表示背景图像;
所述步骤(1)中,ML矩阵L可以利用矩阵A来进行表示:
L=ATCA (1-28);
于是边缘处的狄利克雷积分表示为:
这个积分表示的是目标边缘向A方向的所有像素点的集合,上述目的就是找到一条序列使得D能够达到最小;
(2)图像矢量化处理
将步骤1提出的轮廓进行图像矢量化处理,将线条的几何图元生成对应的矢量文件。
2.前述权利要求1所述方法在缝制行业设备上的应用方法。
3.根据权利要求2所述的应用方法,其特征在于,将现有缝料图像采集后,采用前述权利要求1提取方法处理后,自动生成用于缝制图样的花样文件。
4.根据权利要求2所述的应用方法,其特征在于,将前述权利要求1提取方法应用于自然图像向缝制用花样文件的自动生成中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910416052.XA CN110136155B (zh) | 2019-05-19 | 2019-05-19 | 一种图案边缘轨迹智能提取方法及其应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910416052.XA CN110136155B (zh) | 2019-05-19 | 2019-05-19 | 一种图案边缘轨迹智能提取方法及其应用 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110136155A CN110136155A (zh) | 2019-08-16 |
CN110136155B true CN110136155B (zh) | 2022-10-21 |
Family
ID=67571549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910416052.XA Active CN110136155B (zh) | 2019-05-19 | 2019-05-19 | 一种图案边缘轨迹智能提取方法及其应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110136155B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112258545A (zh) * | 2020-11-27 | 2021-01-22 | 云南省烟草农业科学研究院 | 一种烟叶图像在线背景处理系统及在线背景处理方法 |
CN112634138B (zh) * | 2020-12-31 | 2024-08-02 | 紫光展锐(重庆)科技有限公司 | 图像处理方法、装置、设备及存储介质、芯片、模组设备 |
CN114657712B (zh) * | 2022-03-11 | 2023-08-04 | 杰克科技股份有限公司 | 一种基于边缘识别的花样图案优化方法 |
CN116071429B (zh) * | 2023-03-29 | 2023-06-16 | 天津市再登软件有限公司 | 一种被子图案轮廓识别方法、装置、电子设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007050707A2 (en) * | 2005-10-27 | 2007-05-03 | Nec Laboratories America, Inc. | Video foreground segmentation method |
CN102651135B (zh) * | 2012-04-10 | 2015-06-17 | 电子科技大学 | 一种基于优化方向采样的自然图像抠图方法 |
CN104240192B (zh) * | 2013-07-04 | 2017-09-26 | 西南科技大学 | 一种快速的单幅图像去雾方法 |
CN106506899B (zh) * | 2015-09-08 | 2019-02-12 | 东莞市智觉电子科技有限公司 | 一种基于机器视觉的图像采集与重建方法及装置 |
CN106683081B (zh) * | 2016-12-17 | 2020-10-30 | 复旦大学 | 基于影像组学的脑胶质瘤分子标记物无损预测方法和预测系统 |
CN107025687B (zh) * | 2016-12-27 | 2019-09-06 | 西北大学 | 一种基于视觉依赖曲率估算的文物线图绘制方法 |
-
2019
- 2019-05-19 CN CN201910416052.XA patent/CN110136155B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110136155A (zh) | 2019-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110136155B (zh) | 一种图案边缘轨迹智能提取方法及其应用 | |
Ning et al. | An efficient outlier removal method for scattered point cloud data | |
Ji et al. | Easy mesh cutting | |
US8711143B2 (en) | System and method for interactive image-based modeling of curved surfaces using single-view and multi-view feature curves | |
US7129942B2 (en) | System and method for performing domain decomposition for multiresolution surface analysis | |
CN102509357B (zh) | 基于笔触的铅笔素描模拟和绘制系统 | |
Berretti et al. | 3d mesh decomposition using reeb graphs | |
US10650524B2 (en) | Designing effective inter-pixel information flow for natural image matting | |
Pound et al. | A patch-based approach to 3D plant shoot phenotyping | |
CN106327506A (zh) | 一种基于概率分区合并的三维模型分割方法 | |
CN110688947A (zh) | 一种同步实现人脸三维点云特征点定位和人脸分割的方法 | |
JP2007241996A (ja) | 解析曲面セグメンテーション装置、方法、プログラム及び記録媒体 | |
Agathos et al. | Protrusion-oriented 3D mesh segmentation | |
Yogeswaran et al. | 3d surface analysis for automated detection of deformations on automotive body panels | |
Hu et al. | Geometric feature enhanced line segment extraction from large-scale point clouds with hierarchical topological optimization | |
Unnikrishnan et al. | Robust extraction of multiple structures from non-uniformly sampled data | |
Zeng et al. | Interactive shape from shading | |
Tierny et al. | Enhancing 3D mesh topological skeletons with discrete contour constrictions | |
Kang et al. | Image-based modeling of plants and trees | |
CN114140485A (zh) | 一种三七主根切割轨迹生成方法及系统 | |
Brown | Interactive part selection for mesh and point models using hierarchical graph-cut partitioning | |
Inthiyaz et al. | Pre-informed level set for flower image segmentation | |
CN110533781B (zh) | 一种多类别三维模型部件自动标注方法 | |
Ghafarianzadeh et al. | Efficient, dense, object-based segmentation from RGBD video | |
Xu et al. | An Mesh Segment Algorithm Based On Graph Cuts |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |