CN112862701A - 一种自动排版方法 - Google Patents
一种自动排版方法 Download PDFInfo
- Publication number
- CN112862701A CN112862701A CN202110059608.1A CN202110059608A CN112862701A CN 112862701 A CN112862701 A CN 112862701A CN 202110059608 A CN202110059608 A CN 202110059608A CN 112862701 A CN112862701 A CN 112862701A
- Authority
- CN
- China
- Prior art keywords
- daughter board
- value
- daughter
- loss function
- board
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 103
- 238000004364 calculation method Methods 0.000 claims abstract description 31
- 239000000463 material Substances 0.000 claims abstract description 20
- 230000000630 rising effect Effects 0.000 claims abstract description 9
- 238000012545 processing Methods 0.000 claims description 18
- 238000007906 compression Methods 0.000 claims description 10
- 230000006835 compression Effects 0.000 claims description 10
- 230000001174 ascending effect Effects 0.000 claims description 8
- 238000003491 array Methods 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 claims description 2
- 239000010985 leather Substances 0.000 abstract description 17
- 230000001788 irregular Effects 0.000 abstract description 16
- 238000004519 manufacturing process Methods 0.000 abstract description 8
- 230000006870 function Effects 0.000 description 32
- 238000010586 diagram Methods 0.000 description 31
- 230000008569 process Effects 0.000 description 14
- 230000008859 change Effects 0.000 description 6
- 238000009958 sewing Methods 0.000 description 6
- 206010044565 Tremor Diseases 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000013519 translation Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 235000002566 Capsicum Nutrition 0.000 description 2
- 239000006002 Pepper Substances 0.000 description 2
- 241000722363 Piper Species 0.000 description 2
- 235000016761 Piper aduncum Nutrition 0.000 description 2
- 235000017804 Piper guineense Nutrition 0.000 description 2
- 235000008184 Piper nigrum Nutrition 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000011478 gradient descent method Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 150000003839 salts Chemical class 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
-
- 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/11—Region-based segmentation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
- Preparing Plates And Mask In Photomechanical Process (AREA)
Abstract
Description
技术领域
本发明涉及计算机自动排版算法技术领域,尤其涉及采用随机初始位置的变步长最抖上升算法的精细角度二维排版方法。
背景技术
智能机器人作为一门新兴学科已经发展了半个世纪的时间。机器人正在逐渐走向高度智能化,应用领域不仅包括小规模作业,也包括大规模的工业、制造业。在此类应用之中,自主移动的机器人扮演了意义重大的关键角色。
随着工业智能化进程的不断加快,自主路径规划的机器人越来越常见,智能缝纫机器人便是其中的一种。智能缝纫机器人的主要应用领域之一是皮革行业。中国的皮革行业在国家发展中兴起,经历了数十年的成长,但远远没有成为皮革强国,主要原因就是因为在皮革生产中自动化、智能化程度较低。
目前,国内的智能缝纫机器人和国外相比,还处于十分落后的阶段,在皮革的自动排板,自动嵌套技术等方面还几乎是空白。自动排板技术,又称计算机嵌套(ComputerNesting)技术,该技术中二维几何嵌套技术,是实现自动缝纫,皮革工业自动化的关键所在。它是将一组待排板切割的子板紧密的排列在一定形状的皮革母板上,需要避开瑕疵,并且要能够提高皮革母板的利用率。一般来说,二维几何嵌套问题一般是指区域形状和图案形状规则的情况。然而,在制鞋等皮革行业中,子板往往是不规则的形状,在少数情况下,区域也是不规则的。毫无疑问,在大小、形状和质量各不相同的不规则皮革薄片上进行最佳嵌套具有较强的挑战性。
发明内容
本发明的主要目的在于提供一种自动排版方法,以解决不规则材料嵌套技术问题,提高母板材料的利用率。
为了实现上述目的,根据本发明的第一个方面,提供了一种自动排版方法,其步骤包括:
S1对母板、子板进行第一处理程序,以生成栅格图数据;
S3根据步骤S2计算的子板损失函数结果进行最抖上升排列,获取子板损失函数最大值的位置的结果。
优选地,其中所述步骤S3中的最抖上升排列步骤包括:
B1为所有的子板i挑选初始位置z0,设m=0;
D={(1,0,0),(0,1,0),(0,0,90),(-1,0,0),(0,-1,0),(0,0,-90)}
B5返回步骤B2,循环执行。
为了实现上述目的,根据本发明的第二个方面,还提供了一种自动排版方法,其步骤包括:
S1对母板、子板进行第一处理程序,以生成栅格图数据;
S3根据步骤S2计算的子板损失函数结果进行变步长最抖上升排列,获取子板损失函数最大值的位置的结果。
优选地,其中所述步骤S1中的第一处理程序包括:
A1采集子板的图像数据以进行分割,提取及角度旋转处理;
A2采集母板的图像数据以进行分割,提取处理;
A3对步骤Al-A2处理后的图像数据进行压缩处理,以生成栅格图数据。
优选地,其中所述步骤S2中的损失函数中:
β(i,z,A)=∑overlap of pieces+∑overlap of surface boundary;
γ(i,z,A)=∑interspace between pieces+∑interspace between boundary;
σ(i,z,A)=∑value of pieces。
优选地,其中所述步骤S3中的变步长最抖上升排列步骤包括:
B1为所有的子板i挑选初始位置z0,设m=0;
D={(x[n],0,0),(0,y[n],0),(0,0,θ[n]),(-x[n],0,0),(0,-y[n],0),(0,0,-θ[n])}
其中x[n]表示x方向的步长变动数组中的下标为n的值,同理y[n]和θ[n]则分别表示了y方向和角度的步长变动数组中的下标为n的值;
B5返回步骤B2,循环执行。
优选地,其中所述步骤S3中的变步长最抖上升排列步骤还包括:
C1预排列子板,遍历全局,筛选出子板可排列位置;
C2根据第一规则设置子板初始位置;
C3设置梯度下降步长,采用梯度下降法搜索子板最佳排列位置。
优选地,其中所述步骤C2中的第一规则包括:将已经排入母板的一块子板做为基础,设置定位区域;在定位区域中选取预设数量的随机点以供设置为子板初始位置。
优选地,其中所述步骤C2中的第一规则包括:在母板全局均匀排列预设数量的点,以在预设点范围内随机选择子板初始位置。
优选地,该自动排版方法,步骤还包括:
优选地,其中所述奖惩值的设定步骤包括:
D1设定初始奖、惩值数组,并从各数组中各选取至少一个参数组成作为当前迭代进化的奖、惩值;
D2在迭代进化计算后更换参数;
D3比较各组参数得到的结果,选取最好的一组参数作为奖、惩值。
综上所述,本发明提供的该自动排版方法,可以有效解决传统的排样算法中计算量大,耗时长的难点,并且可以使得母板利用率显著提高,对于皮革等需要进行不规则嵌套排版生产的产业,能大幅提高生产效率,减少用料成本,使得本发明极具实用及推广价值。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明的自动排版方法的子板的原始数据集示意图;
图2为本发明的自动排版方法的子板带有噪声的示意图;
图3为本发明的自动排版方法的子板经过平滑滤波后的图像;
图4为本发明的自动排版方法的子板经Sobel以及二值化后的图像;
图5为本发明的自动排版方法的子板旋转15度的原图像;
图6为本发明的自动排版方法的子板处理后的15度图像;
图7为本发明的自动排版方法的子板处理后的45度的图像;
图8为本发明的自动排版方法的子板处理后的50度的图像;
图9为本发明的自动排版方法的子板压缩后的原图;
图10为本发明的自动排版方法的子板旋转15度的压缩图像;
图11为本发明的自动排版方法的子板的数学表达示意图;
图12为本发明的自动排版方法的子板α(i,z,A)示意图;
图13为本发明的自动排版方法的子板β(i,z,A)示意图;
图14为本发明的自动排版方法的子板aγ(i,z,A)上参数示意图;
图15为本发明的自动排版方法的子板bγ(i,z,A)左参数示意图;
图16为本发明的自动排版方法的α(i,z,A)的实例示意图;
图17为本发明的自动排版方法的实例放大示意图;
图18为本发明的自动排版方法的α(i,z,A)的实例示意图;
图19为本发明的自动排版方法的β(i,z,A)的实例示意图;
图20为本发明的自动排版方法的β(i,z,A)的另一实例示意图;
图21为本发明的自动排版方法的γ(i,z,A)的实例示意图;
图22为本发明的自动排版方法的γ(i,z,A)的另一实例示意图;
图23为本发明的自动排版方法的σ(i,z,A)的实例示意图;
图24为本发明的自动排版方法的最抖上升的实例子板示意图;
图25为本发明的自动排版方法的子板排入母板的初始位置示意图;
图26为本发明的自动排版方法的从初始位置进行最抖上升的过程第一示意图;
图27为本发明的自动排版方法的从初始位置进行最抖上升的过程第二示意图;
图28为本发明的自动排版方法的全局遍历算法结果实例示意图;
图29为本发明的自动排版方法的最抖上升算法结果实例示意图;
图30为本发明的自动排版方法的十字区域初始位置示意图;
图31为本发明的自动排版方法的全局随机固定点初始位置示意图;
图32为本发明的自动排版方法的十字区域的最抖上升结果示意图;
图33为本发明的自动排版方法的全局随机固定点的最抖上升结果示意图;
图34为本发明的自动排版方法的步长算法算法实例1结果示意图;
图35为本发明的自动排版方法的步长算法算法实例2结果示意图;
图36为本发明的自动排版方法的迭代进化实例示意图;
图37为本发明的自动排版方法的当前网格搜索下最优结果实例示意图;
图38为本发明的自动排版方法的实例验证1结果示意图;
图39为本发明的自动排版方法的实例验证2结果示意图。
具体实施方式
下面对本发明的具体实施方式进行详细地说明。以下示例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本领域的技术人员更好的理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,在本领域普通技术人员没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
本发明的自动排版方法,优选以随机单张不规则多边形的原料皮革为母板,以随机复数不规则多边形的用料皮革为子板,以解决不规则材料嵌套技术问题,提高母板材料的利用率。但本领域技术人员应当理解,本发明的实施例中虽然以皮革排版为例进行说明,但并未对此进行限制,本领域技术人员应当理解,在可能的替换实施方式中,也可以采用本发明的方案在其他自动缝纫,或其他材料加工领域使用,以利用本发明的自动排版方案,最大限度提高母板材料的利用率,因此凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的揭露及保护范围之内。
(一)
具体来说,本发明的自动排版方法,其主要步骤包括:
S1对母板、子板进行第一处理程序,以生成栅格图数据。
具体的,所述第一处理程序包括:先对采集的各母板、子板的图像数据进行分割和提取,同时基于该图像数据通过OPENCV的映射函数实现小角度旋转处理并记录,以进行数据扩张,其中在本实施例中该母板/子板的旋转角度优选以精细到1度为例进行说明。最终对通过上述处理的各图像数据进行压缩处理,以生成栅格图数据,而本实施例中优选生成TXT格式的栅格图数据文件,以供主程序读取。
其中需要说明的是该母板在优选实施方案下也可以不进行旋转处理,因此下述实施例中主要以对子板进行第一处理程序的过程进行详细的说明,但若在其他必要的实施方式中需要对该母板进行旋转处理的,也可以依照下述子板的处理步骤进行。
如图1所示,其中该第一处理程序的处理步骤包括:首先对子板和母板的信息进行同一尺度下的拍摄采集,产生所需进行第一处理程序的原始皮革数据集,如图1所示为子板的原始数据集展示,piece[1-10]表示了10种不同类型的皮革子板。
其次对该10种子板进行分割,平滑滤波,去除了可能的噪点,如椒盐噪声等,便于之后的自动阈值二值化。精细角度旋转是通过OPENCV的反射变换以原图像的中心为原点进行旋转,然后再进行同样的操作完成平滑滤波和二值化。以子板1(piecel) 为例,图2表示的是通过相机拍摄的大小为3024*3024像素的带有噪声的原图,经过窗口大小为10*10的平滑滤波,我们得到了如图3所示的结果,结果显示该滤波有效的去除了椒盐噪声。最终我们通过Sobel算子进行边缘提取,然后对原图进行了自动阈值的二值化处理,得到了图4所示结果。图4所示的图像只有黑白两色,便于我们进行压缩。图5表示的是通过OPENCV反射变换得到以原图中心点为旋转中心得到的旋转15度后的子板,进行上述同样处理过程后的结果为图6。图7、8分别为旋转45度和50度的结果。本实例中的旋转角度精细到了5度,但并非最精细的角度,本发明的方法至少可以支持精细到1度。
由于在旋转过程中存在图像的放大,在压缩过程中需要对图像的大小进行归一化的压缩完成栅格化处理,因此该归一化压缩步骤包括:首先找到旋转中心,然后以旋转中心为压缩的中心,划定一个规定像素大小的正方形区域。本实施例中该规定的大小优选为3000*3000像素。这样可以保证去除反射变化产生的子板图像大小不一的情况,完成图像大小的标准化处理。随后进行压缩,压缩的策略为:划定30*30像素的小方格在图像上进行演算,一共生成了100*100个这样的方格区域。每个方格区域都进行遍历,如果出现一个白色的像素,我们就认为此方格为子板的有效方格,如果全部为黑色像素,则不是子板方格。这样做的目的是,不放过任何一个可能为子板的区域,避免压缩后的结果并不能使得原本的子板能够完整的嵌入其中,这样做会使得压缩后的子板面积稍大于真实的子板面积,但可以有效避免错误。图9和10分别展示了原图压缩后和旋转15度后的压缩结果。这便完成了图像栅格化压缩的过程。
通过上述步骤后,就可以对生产的100*100像素的压缩图像进行保存,方法是通过文件格式转换将Src文件转换为数组存储在TXT文件中,且其中每个子板的每一个角度对应一个文件,这在整个算法中可以单独运行,因此在工程中可以作为单独的预处理部分,并不会对于排版的耗时产生影响。
对于子板在母板上的表示,本实施例中设立了如下的模型。如图11所示,在母板上排列规定数量的子板,由于放置位置,放置角度,放置顺序的不同,会产生不同的可行解。每一种可行解用A来表示,A={(i1,z1),(i2,z2),..(ij,zj)},其中每个元素 (ij,zj)中的ij表示子板类型1≤ij≤n,zj=(x,y,θ)表示子板的矩形包络的左上角的位置以及角度。
在当前的可行解A下,如果子板ij不与其它的子板、母板外部的区域重叠,则认为ij放置在了一个可行的位置上。
现在需要定义一个损失函数,该目标函数可以用于评价子板ij在当前解决方案中的优劣程度,并为之后可能需要进行的迭代进行服务。定义目标损失函数为此函数的值越大,代表当前子板在当前的解决方案中,位置越接近最优情况。如果在此位置的损失函数值较小,则代表当前位置并非最优情况,需要进行位置的调整并进行重新计算。
本实施例中该损失函数算法定义如下述公式:
其中:
3)β(i,z,A)=∑overlap of pieces+∑overlap of surface boundary
4)γ(i,z,A)=∑interspace between pieces+∑interspace betweenboundary
5)σ(i,z,A)=∑value of pieces
该式子中的参数解释如下:
其中α(i,z,A)是一个密度函数,它表示了在当前解决方案下,寻找到子板所占据的像素中横坐标最大的位置,在母板上此位置以右所有子板占据的可行的像素数量,与此位置以右所有母板占据的像素数量之比。该密度函数使得子板有着向左边边缘不断靠拢的趋势。如图12所述,α(i,z,A)即是该图中矩形和椭圆形所占的像素与虚线左边母板所占像素的比值。
其中β(i,z,A)是一个与图形间相契合程度有关的函数,它表示了在当前解决方案下,该子板的矩形包络中,其余子板所占像素与母板的不可用区域以及母板边缘所占的像素数。利用图像凸包描述了子板与子板、或者子板与母板边缘的契合程度。如图13所示,β(i,z,A)即是对于椭圆形的矩形包络中,矩形所占的像素和母板外界不可用区域所占的像素之和。
其中γ(i,z,A)也是一个与图像契合度有关的函数,如图14和15所示,但是它同时带有方向的指向性。这个方向性表示了向左和向上的两个方向参数。向左的方向参数表示了从子板每一行从左数第一个像素点开始,到母板上这块子板左边第一个不可以放置的像素点之间一共有多少个像素点。向上的方向参数表示了从子板每一列从上数第一个像素点开始,到母板上这块子板上方第一个不可以放置的像素点之间一共有多少个像素点。γ(i,z,A)是这两个参数的和。
其中σ(i,z,A)表示的是一个迭代参数,初始值为1,表示了子板每一个像素在母板上占据位置的价值。第一次迭代时,母板的每一个像素价值都为1。当进化到后面几代的时候,根据子板的占用情况进行改变,从而实现迭代进化提高利用率。
对于这四个参数的实例分析如下:图16为实例1,为一块矩形子板放置在母板上的图形,图17为区域放大图。在图17中可以清楚的看出矩形子板大小为4*2像素。对于此块子板,当前的α(i,z,A)值为0.5714。具体的计算方式为,当前所有子板的最右边线以左的母板像素共有14个,其中子板占据了8个。所以α(i,z,A)值为 8/14=0.5714。同理如图18所示的实例2中,该子板的α(i,z,A)值为0.1836。具体的计算方式为,当前所有子板的最右边线以左的母板像素共有49个,其中子板占据了9 个。所以α(i,z,A)值为9/49=0.5714。
图19是β(i,z,A)的实例1,为两块子板排在母板上。当前排入子板是用虚线框包围的子板,另一块子板是先前已经排入的子板。对于当前排入的子板,β(i,z,A)值为0。具体的计算方式为,当前子板矩形凸包(虚线标出)中属于别的子板或者母板之外部分的像素数量为0个,所以β(i,z,A)值为0。同理如图20所示的β(i,z,A)实例 2中,该子板的β(i,z,A)值为3。具体的计算方式为,当前子板矩形凸包(虚线标出) 中属于别的子板或者母板之外部分的像素数量为3个,在图中用深色网格标出了属于另外一个子板却在当前排入子板的凸包当中的三个像素。所以β(i,z,A)值为3。
图21是γ(i,z,A)的实例1,为一块子板排在母板上。对于当前排入的子板,γ(i,z,A)值为20。具体的计算方式为,当前子板左边缘向左方向直到母板边缘(或其余子板边缘)的像素数量为6个,上边缘向上方向直到母板边缘(或其余子板边缘) 的像素数量为14个,所以γ(i,z,A)值为6+14=20(图中用深色网格标出)。同理如图 22所示的γ(i,z,A)实例2中,该子板的γ(i,z,A)值为12。具体的计算方式为,当前子板左边缘向左方向直到母板边缘(或其余子板边缘)的像素数量为3个,上边缘向上方向直到母板边缘(或其余子板边缘)的像素数量为9个,所以γ(i,z,A)值为3+9=12 (图中用深色网格标出)。
图23是σ(i,z,A)的实例,为一块子板排在母板上。对于当前排入的子板,σ(i,z,A)值为8。具体的计算方式为,当前子板占据的像素为8个,若每个像素的价值都为1,则总价值为8,即σ(i,z,A)值为8。但是当进行第二次排列的时候,第一次排列时子板占据的部分价值将会下降,其余部分则价值上升。若设置奖励值为0.5,惩罚值为-0.1,则当前占据的位置每个元素价值变为0.9。此时若子板排列位置不变,σ(i,z,A)将会降低为0.9*8=7.2。在计算过程中,子板为了得到更高的损失函数值,将会趋向于价值高的区域,通常不会处于第一次排列的位置,从而是子板优先排入难以排列的高价值区域,更有效的利用面积。
S3根据步骤S2计算的子板损失函数结果进行最抖上升排列,找到子板损失函数最大值的位置的结果。
第一步:为所有的子板i挑选初始位置z0,设m=0。
返回步骤二,循环执行。
具体来说,同样给出使用一块子板的实例对上述算法进行说明:初始化一块如图24所示的子板,当子板排列的初始位置为图25所示时,损失函数的计算值为-26.8904,其中α(i,zm,A)的值为8/73=0.1096,γ(i,zm,A)的值为0,β(i,zm,A) 的值为35,σ(i,zm,A)的值为8,所以损失函数我们对于子板进行上述算法的6个方向的改变,如图26所示从左到右分别为,上移1 像素,下移1像素,左移1像素,如图27所示从左到右分别为右移1像素,顺时针旋转90度和逆时针旋转90度。对应的损失函数分别计算为:-12.836735,-39.920792, -21.8904,-30.8904,-26.8904,5.428571。
籍此对于上述的6种变化以及原位置的对比,很明显发现逆时针旋转90度为下一步的最佳位置,所以我们将子板逆时针旋转90度,则图27中该子板逆时针旋转90 度的排列为下一步的初始位置,经过计算发现没有该位置的接下来的6种移动都不能超越当前位置,从而便可将子板此时的位置认为是最好的位置。这种最抖上升的方法效率很高,可以解决全局遍历计算损失函数的计算量大,速度慢的问题,并且母板的局部位置可以得到最优解,从而可以较好的解决不规则材料嵌套技术问题,提高母板材料的利用率。
(二)
另一方面,由于实施例一中的子板初始位置的选择对于最优解影响较大,且容易陷入局部最优解。图28显示了将20块子板用全局遍历找到损失函数最大值的位置的结果,图29则为使用最抖上升得到的结果。在实验中发明人发现该方案可以发现最抖上升在效率上大幅度提高,同时在实际实验计算过程中,可将原来耗时24小时的任务变为3分钟左右,但是准确率却有所下降,因此为了得到一种方法在兼顾效率的同时,跳出局部最优解,找到全局最优解,以提高母板材料全局利用率,本发明另一方面还提供了一种自动排版方法,其在实施例一的基础上,还提出了变步长随机初始位置策略的计算。
具体来说,为了解决步骤S3中最抖上升算法陷入局部最优解以及初始位置难以选择的问题,本实施例中提出了随机初始位置的变步长最抖上升算法。(由于该算法存在大量的试排列过程,因此需要采用适当的预排列方法。这同样对于后续可选实施例中的迭代进化策略和网格搜索有着非常重要的减少计算量的作用。)
S3根据步骤S2计算的子板损失函数结果进行变步长最抖上升排列,找到子板损失函数最大值的位置的结果,该步骤包括:
C1:预排列:预排列子板,遍历全局,筛选出子板i可排列位置。
本实施例中优选采用了初始化禁忌表格的方法,先将每一种类型的子板的每一个角度遍历全局的每一个位置,当出现不可排列的位置时,就在表格的相应位置标为 1。这样,在之后的计算中,在相应位置如果出现标记为1,则可以直接跳过该位置,不再进行重复计算。从而达到简化计算量的目的。
C2:设置初始位置:根据第一规则设置子板i初始位置。
其中该第一规则包括:将已经排入的一块子板为基础,围绕其设置一个定位区域,如图30所示,本实施例中优选为一个十字状的区域,在该定位区域中选取预设数量的随机点以供初始位置选择,如在本实施例中,优选为121个随机点进行初始位置的选择。
如图30所示为例:当子板方块作为已经排入的第一块子板,那么第二块子板的初始位置选择将会是围绕这一块子板的一个十字状区域内,在这个区域中固定选取 121个点为初始位置,分别进行最抖上升计算,找到损失函数最大的位置,即可得到很好的排列结果。
而在另一种优选实施方式中,如图31所示,该第一规则也可包括:预先在全局均匀排列预设数量的点,如121个点进行初始位置的选择。如图31所示为例,则是在全局固定选取121个点作为初始位置的待选位置,在这121个初始位置中进行随机选择,分别进行最抖上升计算,找到损失函数最大的位置,也可以得到很好的排列结果。同时还能减少排版过程中的随机性。
C3:设置梯度下降步长,采用梯度下降法搜索子板i最佳排列位置。
由于采用梯度下降法所设置的步长一般为1(提高计算精细度),对于图片来说搜索效率过慢,并容易陷入局部最优解,虽然也可以实现本发明的目的。但为了更好的提高计算效率,本实施例优选采用变步长的方式进行搜索,可极大的减少计算量,由于变步长的具体步长设置范围及规律可以根据具体领域及经验进行不同设置,因此本实施例并不进行限制,如在本实施例中,为了进行解释实施的概念,如:步长100像素逐渐减少到1像素。旋转角度由90度逐步减少到5度。举个例子,当步长为100 时,搜索到当前的最佳位置,随后再将步长改为50继续搜索,在原先的最佳位置上精细化搜索。这一步骤也有利于跳出局部最优解找到全局最优解。随机每一块子板的初始位置,可以有利于跳出进化中的局部最优,找到最优的进化方式。
如图34、35所示的两组实例,其中图34的实例1代表了平动步长为[100,50, 10,4,1],转动步长为[180,90,45,15,5]时,采用全局固定121点的随机初始位置的最抖上升方式排列20块的结果。图35的实例2代表了平动步长为[10,5,2, 1],转动步长为[90,45,15,5]时,采用全局固定121点的随机初始位置的最抖上升方式排列20块排列结果,因此不但兼顾计算效率,同时都可以跳出局部最优解,找到全局最优解,以提高母板材料全局利用率。
(三)
为了在实施例二的基础上进一步提高母板材料全局利用率,本实施例在实施例二的基础上,还将对实施例二的排版结果进行迭代进化策略计算。具体的,该步骤S4 包括:根据步骤S3的结果进行迭代进化计算。
其中当通过实施例二中C3的梯度下降计算完成了第一代的排列结果后,对于已经被子板占据位置的母板像素,其价值σ(i,z,A)应该相应减少,而对于没有被占据的位置,其价值σ(i,z,A)应该相应上升。因此本实施例中将设定一个奖励值和惩罚值,这样可以在进化迭代的过程中不断改变的值,实现利用率的进化,从而寻求更高的母板材料全局利用率。
如图36所示为例,选取一组平动步长为[100,50,10,4,1],转动步长为[180, 90,45,15,5]时,奖励值设置为0.1,惩罚值设置为-0.1的50块排入实例进行展示。图36的a-f展示了前6代的结果,在实际实验数据中,第六代出现最好结果,有效利用率从74.905%提高到了77.931%,排入了43块。可以发现该迭代方法可以有效地重新改变子板的排列顺序和位置,使得母板难以利用的部分得到重复利用,从而进一步有效提高了母板材料全局利用率。
(四)
在实施例三的基础上,为了能够得到最优的惩罚值和奖励值,本实施例中记载了一种参数自动化调节的方法,以对本发明实施例中的惩罚值和奖励值参数进行自动化的调节,使得本发明的自动排版方案,在处理不规则材料嵌套计算时更为智能。
其中由于该奖惩值参数根据不同的子板及母板形状,会有不同的设置情况,因此每更换一组子板母板,都需要对该奖惩值参数进行重新的搜索,因此本实施例中,优选选取网格搜索的方式,以确保奖惩值参数在当前母板和子板的情况下最优。
具体的方式为:初始化了两个参数数组,如奖励数组为{0.8,0.5,0.25,0.1,0.05},惩罚数组为{-0.8,-0.5,-0.25,-0.1,-0.05},从两个数组中各选取一个参数作为当前迭代进化的参数,在迭代出最佳结果后更换参数,对这25组参数得到的结果进行比较,得到最好的一组参数,对于沿用本发明上述实施例的数据集来说,最好的参数为奖励值0.5,惩罚值为-0.1。如图37所示,展示了该参数情形下的最佳结果自动排版结果,使得母板材料利用率达到80.108%。
实验例
本实验例以单张不规则的皮革为研究对象,以实施例四为例,实现初始化不规则子板的排列作为最终目的。以C++为基础,利用部分OPENCV库,使用拉格朗日优化算法以及随机梯度下降优化算法实现不规则多边形在不规则母板上的排列,为最终缝纫机器人的运动做好初步规划。
首先使用随机初始位置的变步长最抖上升算法。放入了50种不同的零件类型,得到了一个优化的安排。与现有技术相比,在相同的高分辨率模型下,优化方法的速度有了明显的提高。对于50片类型的排列,现有技术中如全局遍历算法需要3天,而本发明的方法仅需要20分钟左右。且综合的利用率可以提高5%左右。
实例验证:1.当排入50块时,初始的奖励值设为0.1,惩罚值设为-0.1时,迭代到第六代出现当前参数的最优解。共计排入44块,皮革利用率为77.931%,结果如图 38所示。2.当排入50块时,初始的奖励值设为0.5,惩罚值设为-0.1时,迭代到第四代出现当前参数的最优解。共计排入46块,皮革利用率为80.108%,结果如图39所示。显然本发明的自动排版方法,对不规则子板和母板所进行的高效率排版,可以得到利用率高于传统算法的结果。
综上所述,本发明的自动排版方法的上述实施例中,主要运用目标损失函数,在高和低分辨率两种情形下进行全局均匀取初始点的变步长随机梯度下降方法,得到了较好的初始化排列结果。最后通过拉格朗日迭代算法进行优化。并通过网格搜索的算法得到迭代的最佳参数。此发明可以解决传统的排样算法中计算量大,耗时长的难点,并且可以使得母板利用率显著提高,对于皮革等需要进行不规则嵌套排版生产产业,有着非常重要的实际应用价值。
此外需要说明的是,本发明中的各实施例中的相关计算步骤,在未脱离本发明构思的情况下,还可以进行多种替换实施方式,如栅格化的始化方案可以用拟合多边形代替;损失函数可以自行设置为恰当的适用于特定图形的损失函数,如矩形模板可以用长宽比、面积大小等参数;拉格朗日迭代算法可以替换为遗传算法或蚁群算法;网格搜索可以替换为随机搜索或者近邻搜索等。
因此可见,以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
本领域技术人员可以理解,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
此外实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
此外,本发明实施例的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。
Claims (10)
4.根据权利要求3所述的自动排版方法,其中所述步骤S1中的第一处理程序包括:
A1采集子板的图像数据以进行分割,提取及角度旋转处理;
A2采集母板的图像数据以进行分割,提取处理;
A3对步骤A1-A2处理后的图像数据进行压缩处理,以生成栅格图数据。
7.根据权利要求6所述的自动排版方法,其中所述步骤S3中的变步长最抖上升排列步骤还包括:
C1预排列子板,遍历全局,筛选出子板可排列位置;
C2根据第一规则设置子板初始位置;
C3设置梯度下降步长,采用梯度下降法搜索子板最佳排列位置。
8.根据权利要求7所述的自动排版方法,其中所述步骤C2中的第一规则包括:在母板全局均匀排列预设数量的点,以在预设点范围内随机选择子板初始位置。
10.根据权利要求9所述的自动排版方法,其中所述奖惩值的设定步骤包括:
D1设定初始奖、惩值数组,并从各数组中各选取至少一个参数组成作为当前迭代进化的奖、惩值;
D2在迭代进化计算后更换参数;
D3比较各组参数得到的结果,选取最好的一组参数作为奖、惩值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110059608.1A CN112862701B (zh) | 2021-01-15 | 2021-01-15 | 一种自动排版方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110059608.1A CN112862701B (zh) | 2021-01-15 | 2021-01-15 | 一种自动排版方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112862701A true CN112862701A (zh) | 2021-05-28 |
CN112862701B CN112862701B (zh) | 2022-11-18 |
Family
ID=76007163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110059608.1A Active CN112862701B (zh) | 2021-01-15 | 2021-01-15 | 一种自动排版方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112862701B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120218273A1 (en) * | 2011-02-25 | 2012-08-30 | Esobi Inc. | Dynamic typesetting method of display image |
CN103500255A (zh) * | 2013-10-16 | 2014-01-08 | 南通大学 | 用于矩形件的智能排样方法 |
CN104281722A (zh) * | 2013-07-04 | 2015-01-14 | 广州中国科学院先进技术研究所 | 自动排料方法 |
CN104298820A (zh) * | 2014-09-30 | 2015-01-21 | 广东瑞洲科技有限公司 | 一种皮革切割的排版方法及其系统 |
CN105844341A (zh) * | 2016-03-14 | 2016-08-10 | 华北理工大学 | 毛皮料优化排版系统及方法 |
CN106971242A (zh) * | 2017-03-21 | 2017-07-21 | 上海大学 | 一种服装自动优化排料方法 |
-
2021
- 2021-01-15 CN CN202110059608.1A patent/CN112862701B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120218273A1 (en) * | 2011-02-25 | 2012-08-30 | Esobi Inc. | Dynamic typesetting method of display image |
CN104281722A (zh) * | 2013-07-04 | 2015-01-14 | 广州中国科学院先进技术研究所 | 自动排料方法 |
CN103500255A (zh) * | 2013-10-16 | 2014-01-08 | 南通大学 | 用于矩形件的智能排样方法 |
CN104298820A (zh) * | 2014-09-30 | 2015-01-21 | 广东瑞洲科技有限公司 | 一种皮革切割的排版方法及其系统 |
CN105844341A (zh) * | 2016-03-14 | 2016-08-10 | 华北理工大学 | 毛皮料优化排版系统及方法 |
CN106971242A (zh) * | 2017-03-21 | 2017-07-21 | 上海大学 | 一种服装自动优化排料方法 |
Non-Patent Citations (2)
Title |
---|
曾明华: "遗传算法和神经网络在布局子问题中的应用", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 * |
胡志刚: "二维不规则零件优化排样系统的研究与开发", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112862701B (zh) | 2022-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109118500B (zh) | 一种基于图像的三维激光扫描点云数据的分割方法 | |
CN109978839B (zh) | 晶圆低纹理缺陷的检测方法 | |
Ciresan et al. | Flexible, high performance convolutional neural networks for image classification | |
US9449253B2 (en) | Learning painting styles for painterly rendering | |
CN111178190B (zh) | 基于深度图像的目标检测方法、装置及存储介质 | |
CN104036244B (zh) | 一种适用于低质量图像的棋盘格角点检测方法及装置 | |
US20120033873A1 (en) | Method and device for determining a shape match in three dimensions | |
CN114913138A (zh) | 一种基于人工智能的移印机产品缺陷检测方法及系统 | |
CN107194414A (zh) | 一种基于局部敏感哈希的svm快速增量学习算法 | |
Rika et al. | A novel hybrid scheme using genetic algorithms and deep learning for the reconstruction of portuguese tile panels | |
CN112862701B (zh) | 一种自动排版方法 | |
Ye et al. | Automatic threshold selection based on artificial bee colony algorithm | |
CN114612450A (zh) | 基于数据增广机器视觉的图像检测分割方法、系统、电子设备 | |
Katsigiannis et al. | MIGS-GPU: microarray image gridding and segmentation on the GPU | |
CN109815975A (zh) | 一种基于机器人的目标分类方法及相关装置 | |
CN109712075A (zh) | 一种数字图像数据原图识别方法及装置 | |
CN117765287A (zh) | 一种结合lwr和密度聚类的图像目标提取方法 | |
CN104156696B (zh) | 基于双方向图的快速局部不变特征描述子的构造方法 | |
CN107742036A (zh) | 一种鞋样自动排料加工系统 | |
CN1502303A (zh) | 基于辐射模板的旋转人脸检测方法 | |
CN111507338A (zh) | 基于二值图像骨架相似性计算的中国象棋棋子识别方法 | |
CN110147799A (zh) | 一种基于超像素的显微图像目标区域提取方法及系统 | |
CN117689677B (zh) | 一种砂轮磨损状态识别方法、系统、设备及介质 | |
CN117557807B (zh) | 基于加权滤波增强的卷积神经网络图像预测方法 | |
CN117422633B (zh) | 样本视野图像的处理方法和装置 |
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 |