Paper pattern nesting method and device based on clustering

Through the paper sample nesting method combined with clustering and genetic algorithm, the problems of large amount of calculation and low efficiency in the existing technology are solved, efficient paper sample nesting is achieved, fabric waste is reduced, and it is suitable for multiple paper sample nesting tasks.

CN119234221APending Publication Date: 2024-12-31CLO VIRTUAL FASHION INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380041093.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-05-31
Filing Date
2023-05-26
Publication Date
2024-12-31

AI Technical Summary

Technical Problem

When using multiple paper samples, the existing paper sample nesting method has a large amount of calculation and is difficult to effectively reduce fabric waste, and the nesting efficiency is low, so it is impossible to effectively utilize the fabric area.

Method used

The clustered paper sample nesting method is adopted, and the paper sample is clustered and nested based on size information by generating paper sample pairs and using genetic algorithms, and the grid complexity is reduced through preprocessing, and the CPU and GPU are jointly processed to improve efficiency.

Benefits of technology

It significantly shortens the nesting time of paper samples, improves nesting efficiency, can effectively utilize fabric area, is suitable for a large number of paper samples nesting tasks, and improves nesting accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119234221A_ABST
    Figure CN119234221A_ABST
Patent Text Reader

Abstract

According to one embodiment, the paper pattern nesting method comprises the following steps of: generating a paper pattern pair for determining a position relationship between at least two paper patterns in a plurality of paper patterns, so that the relative positions of the at least two paper patterns meet a preset condition; performing clustering on the plurality of paper patterns on the basis of the size information of each of the plurality of paper patterns; and based on the pattern pair and a genetic algorithm, nesting at least one pattern included in each of a plurality of clusters generated according to the clustering result into a fabric.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The following embodiments relate to a paper pattern nesting method and device. Background Art

[0002] Pattern nesting is concerned with the method of arranging multiple patterns on the fabric on which they are to be arranged. The purpose of pattern nesting can be to maximize the use of the fabric. Depending on the way the multiple patterns are arranged on the fabric, the amount of fabric wasted can vary. Since this is directly related to the amount of fabric required to make a garment, pattern nesting can be an important technique for reducing costs.

[0003] Due to the development of computing technology and pattern nesting algorithms, the research and technological development of computing equipment that automatically performs pattern nesting through simulation programs has shown an active trend.

[0004] The above description is information obtained during the process of conceiving the present disclosure, or information already possessed at the time, and is not necessarily known technology before filing this application. Summary of the invention

[0005] Technical solutions to the problem

[0006] According to one embodiment, a paper pattern nesting method using clustering may include the following steps: generating a paper pattern pair that determines the positional relationship between at least two paper samples among a plurality of paper samples, so that the relative positions of the at least two paper samples satisfy a predetermined condition; clustering the plurality of paper samples based on size information of each of the plurality of paper samples; and nesting at least one paper sample included in each of a plurality of clusters generated according to the clustering results into a fabric based on the paper pattern pair and a genetic algorithm.

[0007] According to an embodiment, the predetermined condition may include a condition that at least two paper samples do not overlap each other and are entirely included in the fabric.

[0008] According to one embodiment, the step of generating a paper sample pair may include the following steps: generating a candidate position of the second paper sample based on the first paper sample included in the paper sample pair; calculating the distance between the first paper sample and the second paper sample based on the position of the first paper sample and the candidate position of the second paper sample; determining the candidate position of the second paper sample having the smallest value in the calculated distance as the relative position based on the first paper sample; and generating the paper sample pair based on the determined relative position of the second paper sample.

[0009] According to an embodiment, the size information may include at least one of a value of a sum of a height and a width of a bounding box of each paper sample and an area of ​​the bounding box of each paper sample.

[0010] According to an embodiment, the clustering step may include the following steps: aligning a plurality of paper samples based on size information; and clustering paper samples with larger sizes from among the aligned paper samples based on the size information.

[0011] According to an embodiment, the clustering step may include the following steps: arranging at least one paper sample whose position is fixed on the fabric on the fabric; and clustering the plurality of paper samples except for the at least one paper sample whose position is fixed on the fabric.

[0012] According to one embodiment, the step of nesting into the fabric may include the following steps: aligning clusters in order of sizes of paper samples included in the clusters in multiple clusters; and performing nesting in cluster units based on the alignment results, and nesting at least one paper sample included in the cluster in an area corresponding to the cluster.

[0013] According to an embodiment, the genetic algorithm may include an algorithm for determining an arrangement order of at least one paper sample included in the cluster in a region corresponding to each of the plurality of clusters.

[0014] According to an embodiment, the paper pattern nesting method may further include the following steps: performing preprocessing to reduce the grid complexity of each paper pattern in the plurality of paper patterns.

[0015] According to an embodiment, the step of performing preprocessing to reduce mesh complexity may include the following steps: deforming a contour corresponding to each paper pattern; and triangulating polygons included in the paper pattern whose contour has been deformed.

[0016] According to an embodiment, the step of deforming the outline may include the following steps: when the paper sample becomes smaller due to deformation of the outline, deforming the outline according to whether the amount of change of the paper sample exceeds a threshold value.

[0017] According to an embodiment, the step of deforming the contour may include the following steps: when integrating a plurality of continuous contours into one line, determining the line as a contour according to whether a change in the area of ​​the paper sample exceeds a threshold.

[0018] According to one embodiment, the step of nesting into the fabric may include the following steps: generating candidate positions of paper samples to be arranged based on multiple candidate paper sample arrangement orders generated by a genetic algorithm; arranging the paper samples to be arranged based on whether there is overlap between paper samples in the candidate positions and position determination criteria; and calculating each evaluation score in the multiple candidate paper sample arrangement orders based on the arrangement results.

[0019] According to one embodiment, whether there is overlap between paper samples may include at least one of the following: whether there is overlap between pre-processed paper samples determined by a processor, wherein the pre-processed paper samples include triangular paper samples; and whether there is overlap determined based on pixel units using an auxiliary processor.

[0020] According to one embodiment, the evaluation score may be determined in inverse proportion to the length of one side of a bounding box including the paper samples arranged on the fabric.

[0021] According to one embodiment, the step of nesting into the fabric may include the following steps: generating candidate paper sample arrangements by arranging paper samples on the fabric after changing the selvage angle of at least one paper sample and arranging it on the fabric; and nesting on the fabric based on the evaluation score corresponding to each candidate paper sample arrangement.

[0022] According to an embodiment, the step of changing the selvedge angle of at least one paper sample may include the step of rotating the selvedge angle of at least one paper sample by 180 degrees for arrangement.

[0023] According to another embodiment, a simulation device for performing paper pattern nesting includes: a user interface; a memory; and a processor, wherein the processor can be configured to: generate a paper pattern pair that determines a positional relationship between at least two paper patterns among a plurality of paper patterns, so that the relative positions of the at least two paper patterns satisfy a predetermined condition; cluster the plurality of paper patterns based on size information of each of the plurality of paper patterns; and nest at least one paper pattern included in each of a plurality of clusters generated according to the clustering results into a fabric based on the paper pattern pairs and a genetic algorithm.

[0024] Effects of the Invention

[0025] According to one aspect, by using a graphics processing unit (GPU) (i.e., an auxiliary processor) in addition to a central processing unit (CPU) (i.e., a processor), the pattern nesting time can be shortened, and thus the number of patterns used as pattern nesting targets can also be unlimited.

[0026] According to one aspect, by using the paper pattern nesting method of the present disclosure, other paper patterns can be nested while fixing the position of a specific paper pattern.

[0027] According to one aspect, by using the paper pattern nesting method of the present disclosure, other paper patterns can be nested while adjusting the angle of the rotatable selvage of each paper pattern.

[0028] According to one aspect, the paper pattern nesting method of the present disclosure can improve the accuracy of paper pattern nesting by setting the size of the paper pattern to be the same as the size of the original. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] Figure 1is a flow chart showing a paper pattern nesting method according to an embodiment.

[0030] Figure 2 2 is a diagram illustrating a method for determining whether a contour of a paper pattern is deformed based on a change amount of the paper pattern according to an embodiment.

[0031] Figure 3 FIG. 2 is a diagram illustrating a method for deforming the contour of a paper pattern according to an embodiment.

[0032] Figure 4 2 is a diagram illustrating a method for generating paper sample pairs according to an embodiment.

[0033] Figure 5 2 is a diagram illustrating a paper pattern nesting method using a genetic algorithm according to an embodiment.

[0034] Figure 6 FIG. 2 is a diagram illustrating a method for arranging paper patterns according to an embodiment.

[0035] Figure 7a and Figure 7b is a diagram illustrating a user interface screen for performing paper pattern nesting according to an embodiment.

[0036] Figure 8 2 is a diagram showing a paper pattern nesting result generated according to a change in a selvedge angle of the paper pattern according to an embodiment.

[0037] Fig. 9 is a block diagram illustrating a simulation device according to various embodiments. DETAILED DESCRIPTION

[0038] The specific structure or function description disclosed in this document is only for the purpose of illustrating the embodiments according to the technical concept, and the embodiments can be embodied in various forms and are not limited to the embodiments in this document.

[0039] The terms "first" or "second" can be used to describe a plurality of components, however, these terms are only used to distinguish one component from other components. For example, the first component can be named as the second component, and similarly, the second component can also be named as the first component.

[0040] When it is described that a constituent element is "connected" or "coupled" to another constituent element, it can be directly connected or attached to the other constituent element, however, it can also be understood that there are other constituent elements between them. Conversely, when it is described that a constituent element is "directly connected" or "directly coupled" to another constituent element, it can be understood that there are no other constituent elements between them. Expressions describing the relationship between constituent elements, such as "between", "directly between" or "adjacent", "directly adjacent", etc., should be interpreted as similar.

[0041] In the absence of special instructions in the content, singular expressions include plural meanings. In this specification, the terms "including" or "having" are used to express the existence of features, numbers, steps, operations, constituent elements, accessories or combinations thereof recorded in the specification, and do not exclude the existence of one or more other features, numbers, steps, operations, constituent elements, accessories or combinations thereof, or additional functions.

[0042] In the absence of other definitions, all terms used herein, including technical or scientific terms, have the common meanings understood by those of ordinary skill in the art. Commonly used terms that are the same as dictionary definitions should be understood to have meanings consistent with the common content of the relevant technology and should not be overly idealized or interpreted as formal meanings unless explicitly mentioned in this application.

[0043] Hereinafter, the embodiments will be described in detail with reference to the accompanying drawings. The same reference numerals are given to the same components in each figure.

[0044] Figure 1 is a flow chart showing a paper pattern nesting method according to an embodiment.

[0045] There may be a plurality of paper patterns that are targets of pattern nesting. For example, there may be more than 700 paper patterns that are targets of pattern nesting. The more target paper patterns there are for pattern nesting, the more calculations there are. Therefore, in order to nest many paper patterns, a method may be needed to reduce the complexity of the grids included in the paper patterns and to nest the paper patterns efficiently.

[0046] An efficient pattern nesting method is introduced in detail below.

[0047] In operation 110, the processor 930 according to an embodiment may generate a pattern pair having a positional relationship between at least two of the plurality of patterns. The processor 930 according to an embodiment may generate a pattern pair having a positional relationship between at least two of the plurality of patterns so that the relative positions of the at least two patterns meet a predetermined condition. The processor 930 may predetermine the positional relationship between at least two patterns. For example, the position of pattern B relative to pattern A may be located on the right side based on pattern A. By pre-generating a pattern pair having a determined positional relationship, when arranging the patterns according to the pattern arrangement order, the amount of calculation required to determine the optimal pattern arrangement position may be reduced. For example, when pattern A, pattern B, and pattern C are sequentially arranged on a fabric, after arranging pattern A, the processor 930 may determine the position of pattern B based on pattern A. In this case, based on pattern A, there may be a plurality of candidate positions, and the processor 930 may need to determine whether each candidate position meets a predetermined condition. However, when the paper sample pair of paper sample A and paper sample B is predetermined, the processor 930 may not need to repeatedly calculate and determine the positional relationship between paper sample A and paper sample B each time the nesting simulation is performed, but only needs to arrange paper sample B at a predetermined position relative to paper sample A, which greatly reduces the amount of calculation of the processor 930. The predetermined condition may include a condition that the paper samples do not overlap each other in the fabric. The predetermined condition may include a condition that at least two paper samples do not overlap each other and are all included in the fabric.

[0048] The processor 930 according to an embodiment may generate a paper sample pair by the following operations. The processor 930 according to an embodiment may generate a candidate position of the second paper sample based on the first paper sample. For example, referring to Figure 4 There may be a position relationship 1 400 based on the second paper sample 420 being located at the lower right of the first paper sample 410, a position relationship 2 401 based on the second paper sample 420 being located at the right of the first paper sample 410, or a position relationship 3 402 based on the second paper sample 420 being located at the upper right of the first paper sample 410. Figure 4, only some of the candidate positions of the second paper sample are shown, but other candidate positions may also exist. According to an embodiment, the processor 930 may arrange the second paper sample based on the first paper sample, and may arrange the second paper sample at a candidate position that can minimize the amount of fabric used. Alternatively, according to an embodiment, the processor 930 may calculate the distance between the first paper sample and the second paper sample based on the position of the first paper sample and the candidate position of the second paper sample. For example, the processor 930 may calculate the distance between the first paper sample 410 and the second paper sample 420 in the position relationship 1 400, the distance between the first paper sample 410 and the second paper sample 420 in the position relationship 2 401, or the distance between the first paper sample 410 and the second paper sample 420 in the position relationship 3 402. According to an embodiment, the processor 930 may determine the candidate position of the second paper sample having the minimum value in the calculated distance as the relative position relative to the first paper sample. In the present disclosure, the distance between the first paper sample and the second paper sample may have multiple definitions. For example, the distance may be the x-axis coordinate difference between the first paper sample and the second paper sample, the y-axis coordinate difference between the first paper sample and the second paper sample, or the Euclidean distance between the first paper sample and the second paper sample. The paper sample reference point used to calculate the distance may be a point inside the paper sample or a point on the outline of the paper sample. The processor 930 according to an embodiment may generate a paper sample pair according to the determined relative position of the second paper sample 420. This is because when the relative position of the second paper sample 420 is determined based on the first paper sample 410, the positional relationship between the first paper sample 410 and the second paper sample 420 may be determined.

[0049] In operation 120, the processor 930 according to an embodiment may cluster the plurality of paper samples according to the size information of each of the plurality of paper samples. The size information may include information related to the size of the paper sample. The size information may include at least one of the area of ​​the bounding box of each paper sample, the height of the bounding box, the width of the bounding box, and the sum of the height and width of the bounding box. The processor 930 may align the plurality of paper samples in size order using the size information. When aligning the paper samples, the processor 930 may use one of the area of ​​the bounding box, the height of the bounding box, the width of the bounding box, or the sum of the height and width of the bounding box. The processor 930 according to an embodiment may align the plurality of paper samples according to the size information. The processor 930 may cluster the paper samples starting from a larger size in the aligned paper samples according to the size information. For example, when the processor 930 aligns the paper samples in size order according to the sum of the height and width of the bounding box, the paper samples may be aligned in the order of paper sample A, paper sample B, paper sample C, paper sample D, paper sample E, and paper sample F. The processor 930 may generate a cluster 1 including sample A, sample B, and sample C, and then generate a cluster 2 including sample D, sample E, and sample F.

[0050] According to an embodiment, the processor 930 may perform paper pattern nesting according to the paper pattern arrangement order determined for the plurality of paper patterns using a genetic algorithm. However, as the number of paper patterns increases, the paper pattern nesting performed by the genetic algorithm may result in a situation where the paper patterns are distributed over a large distance within the fabric. Therefore, when the paper patterns serving as paper pattern nesting targets are clustered (or grouped) in order of size, and paper pattern nesting is performed with clusters (or groups) as units, the possibility of the paper patterns being distributed over a large distance within the fabric can be reduced. Thus, the fabric area wasted due to paper pattern nesting can be reduced.

[0051] The processor 930 according to an embodiment may nest at least one paper sample included in each of a plurality of clusters generated according to the clustering result into the fabric based on the paper sample pairs and the genetic algorithm in operation 130 .

[0052] The processor 930 according to an embodiment may determine the arrangement order of the paper samples by using a genetic algorithm with clusters as units. When there is a pair of paper samples included in the cluster, the processor 930 may omit the arrangement position operation of the paper samples corresponding to the pair of paper samples. However, the processor 930 may calculate the best position of the paper samples to be arranged in the paper sample arrangement order based on the previously arranged paper samples.

[0053] Among the paper samples included in the cluster, at least one paper sample may have a fixed position on the fabric. According to an embodiment, the processor 930 may determine the paper sample with a fixed position on the fabric according to the user selection input. According to an embodiment, the processor 930 may nest at least one paper sample with a fixed position on the fabric among the paper samples included in one of the plurality of clusters. For example, referring to Figure 8 , the position of the paper sample 810 may be fixed. According to an embodiment, the processor 930 may nest the remaining paper samples except at least one paper sample with a fixed median value in the cluster on the fabric. For example, the processor 930 may arrange the remaining paper samples 820, 830, and 840 except the paper sample 810 in the paper sample arrangement order. Since the size of the paper sample 820 is larger than the sizes of the other paper samples 830 and 840, the processor 930 may arrange the paper sample 820 first.

[0054] The processor 930 according to an embodiment may arrange the clusters according to the size order of the paper samples included in the clusters in a plurality of clusters. The size of the paper sample may be determined according to the size information of the paper sample. Since the clusters are generated by clustering according to the size order of the paper samples according to the size information of the paper samples, the clusters may be aligned according to the size order of the paper samples included in the clusters. Therefore, the processor 930 may use a genetic algorithm to determine the arrangement order of the paper samples starting from the cluster including the large-sized paper samples, and determine the arrangement position of the paper samples according to the arrangement order. Subsequently, for the paper samples included in the next large cluster, the arrangement order of the paper samples may be determined using a genetic algorithm, and the arrangement position of the paper samples may be determined according to the arrangement order. Alternatively, the processor 930 according to an embodiment may determine the arrangement position of the paper samples after determining the arrangement order of all paper samples of each cluster.

[0055] The processor 930 according to an embodiment may perform nesting in the cluster unit according to the result of the alignment, and may nest at least one paper sample included in the cluster in the region corresponding to the cluster. In the fabric, a region may be allocated for each cluster. In addition, the processor 930 may also nest the paper sample in the region corresponding to each cluster. Since the arrangement of the paper sample cannot exceed the region corresponding to the cluster, the processor 930 may find an optimal solution for arranging the paper sample in the region corresponding to the cluster.

[0056] The genetic algorithm may include an algorithm for determining an arrangement order of at least one paper sample included in a cluster in an area corresponding to each of a plurality of clusters. Figure 5 A method for determining a paper sample arrangement order using a genetic algorithm is described in detail. The processor 930 may initialize a population in operation 510. The processor 930 may obtain an arbitrary paper sample arrangement order by initializing a population in operation 510. For example, the processor 930 may generate a plurality of candidate paper sample arrangement orders by initializing a population in operation 510. In addition, the processor 930 may arrange paper samples on a fabric according to the obtained paper sample arrangement order (or candidate paper sample arrangement order). For example, the processor 930 may obtain a plurality of candidate paper sample arrangement orders using a genetic algorithm for a specific cluster. In addition, the processor 930 may arrange at least one paper sample included in a cluster in an area corresponding to the cluster according to each candidate paper sample arrangement order.

[0057] According to an embodiment, the processor 930 can generate candidate positions of the paper samples to be arranged according to the arrangement order of multiple candidate paper samples generated by the genetic algorithm. In addition, the processor 930 can also arrange the paper samples to be arranged according to whether the paper samples overlap in the candidate positions and the position determination standard. In this process, the processor 930 can arrange the paper samples according to the paper sample arrangement order, and check whether the paper samples overlap each other. For example, the processor 930 can use the NofitPolygon (NFP) algorithm to check whether the paper samples overlap. The position determination standard can be a standard for arranging the arrangement target paper sample at a specific candidate position, thereby minimizing fabric waste. Therefore, the processor 930 can arrange the arrangement target paper sample at the candidate position with the least wasted fabric. For example, after arranging a paper sample, the processor 930 can calculate multiple candidate positions where the next paper sample can be arranged according to the paper sample arrangement order, and then determine an optimal position in the corresponding candidate position as the arrangement position.

[0058] When there are multiple paper samples to be arranged, a large amount of calculations may be consumed in the process of arranging the paper samples to determine whether the paper samples overlap according to the arrangement order of the candidate paper samples. Therefore, a large amount of calculations may need to be processed quickly. According to an embodiment, the processor 930 can determine whether the pre-processed paper samples overlap each other. The pre-processed paper samples can be paper samples with simplified grid complexity so as to quickly determine whether the paper samples overlap each other. As the grid complexity decreases, the amount of calculations required to determine whether the paper samples overlap will also decrease.

[0059] According to one embodiment, the processor 930 can deform the outline of the paper sample to generate a pre-processed paper sample. Figure 2 and Figure 3A method for deforming the outline of a paper pattern is described in detail. In addition, the processor 930 can triangulate the polygons included in the paper pattern after the outline is deformed. The paper pattern after preprocessing can be a triangular paper pattern. Therefore, the processor 930 can use a triangle-triangle intersection algorithm to determine whether the paper pattern overlaps. Since the triangular paper pattern includes triangles in the paper pattern, the processor 930 can determine whether the paper pattern overlaps by using the triangles in the paper pattern. However, since it may take a long time to calculate whether the paper pattern overlaps using only the processor 930, the processor 930 can shorten the time required to determine whether it overlaps by additionally using the auxiliary processor 930. The auxiliary processor 930 is a device for receiving work from the processor 930 and performing calculations, such as a graphics processing unit (GPU), but is not limited thereto. The auxiliary processor 930 can determine whether the paper pattern overlaps in pixel units. As an example and not limitation, the auxiliary processor 930 can use off-screen rendering to obtain a bitmap to determine whether the paper pattern overlaps in pixel units. In addition, the co-processor 930 (or processor 930) can use a stencil buffer to limit the memory area used for rendering. An occlusion query allows a user to check whether a virtual object is visible to the viewer, or whether the object is occluded by another object and is therefore not visible to the viewer.

[0060] The processor 930 according to an embodiment may arrange the paper samples to be arranged in the candidate positions to use less fabric area. For example, when arranging the paper samples to be arranged, the processor 930 may determine the candidate position with the smallest "length" of the fabric used as the final position. For another example, when arranging the paper samples to be arranged, the processor 930 may determine the candidate position with the smallest "width" of the fabric used as the final position.

[0061] When the processor 930 according to one embodiment arranges all the paper samples included in the cluster according to the candidate paper sample arrangement order, the evaluation score corresponding to the candidate paper sample arrangement order can be calculated in operation 520. The evaluation score can refer to a score used to determine whether the amount of fabric waste caused by the paper samples arranged on the fabric according to the candidate paper sample arrangement order is minimized. The evaluation score can be inversely proportional to the length of one side of the bounding box including the paper samples arranged on the fabric according to the candidate paper sample arrangement order. For example, the shorter the "length (height)" of the bounding box, the higher the evaluation score can be calculated by the processor 930. For another example, the shorter the "width" of the bounding box, the higher the evaluation score can be calculated by the processor 930.

[0062] The processor 930 according to an embodiment may determine whether to terminate the genetic algorithm according to the evaluation score in operation 530. When the evaluation score is above a certain standard, exceeds a predetermined number of genetic algorithm iterations, or the evaluation score is the highest evaluation score, the processor 930 may terminate the genetic algorithm and return the result in operation 570, wherein the paper samples are arranged on the fabric according to the candidate paper sample arrangement order. When the evaluation score is below a certain standard, lower than a predetermined number of genetic algorithm iterations, or lower than the highest evaluation score, the processor 930 may continue the genetic algorithm. The processor 930 may perform selection in operation 540. The selection in operation 540 may refer to the process of selecting parents for mating and recombining to produce the next generation of off-springs. For example, the selection in operation 540 may include at least one of roulette wheel selection, stochastic universal sampling (SUS, Stochastic Universal Sampling), tournament selection (Tournament Selection) and rank selection (Rank Selection). In addition, the processor 930 may also perform crossover in operation 550. The crossover in operation 550 may refer to a method for crossing a selected chromosome. For example, the crossover in operation 550 may include at least one of one point crossover, multi point crossover, uniform crossover, cycle crossover, partially matched crossover, and cycle single point crossover. The processor 930 according to an embodiment may perform mutation in operation 560. The mutation in operation 560 may refer to a method for changing the gene value included in the chromosome. The processor 930 according to an embodiment may perform operations 510 to 530 again according to the genes that have completed the crossover in operation 550 and the mutation in operation 560.

[0063] Figure 2 2 is a diagram illustrating a method for determining whether a contour of a paper pattern is deformed based on a change amount of the paper pattern according to an embodiment.

[0064] The processor 930 according to an embodiment may perform preprocessing to reduce the mesh complexity of each of the plurality of paper patterns. In the process of arranging the paper patterns on the fabric according to the paper pattern arrangement order, the processor 930 may check whether the paper patterns overlap with each other. When determining whether there is overlap between the paper patterns, as the mesh complexity of the paper patterns increases (e.g., as the number of polygons included in the paper patterns increases), the amount of calculation required to determine whether there is overlap may increase. Therefore, the processor 930 may need to simplify the paper patterns (e.g., reduce the number of vertices or edges included in the polygons) to determine whether the paper patterns overlap.

[0065] The processor 930 according to one embodiment can deform the outline of the paper pattern to reduce the mesh complexity. The processor 930 according to one embodiment can integrate multiple continuous outlines into one line. For example, the processor 930 can integrate multiple outlines 211, 221, 231 into a new outline 241. The processor 930 can reduce the mesh complexity by simplifying the outline of the paper pattern. For example, the processor 930 can determine the straight line connecting point 250 and point 280 in polygon 200 as a new outline. In this case, the polygon whose outline is deformed may be deleted by lines 210, 220, 230 and points 260, 270. However, when the straight line connecting point 250 and vertex 280 is determined as a new outline, the paper pattern (e.g., polygon 200) may become smaller due to the deformation of the outline. When the paper pattern becomes smaller, the processor 930 can determine whether to deform the outline of the paper pattern according to whether the amount of change of the paper pattern exceeds a threshold. For example, when the amount of change in the paper pattern (e.g., the distance between the new outline and the vertex of the polygon, or the amount of change in the area of ​​the paper pattern) does not exceed a threshold, the processor 930 may determine the straight line connecting the point 250 and the vertex 280 as a new outline. However, when the amount of change in the paper pattern exceeds the threshold, the processor 930 may not determine the new outline as the outline of the polygon.

[0066] There is also a situation that the paper pattern becomes larger due to the deformation of the paper pattern outline. For example, in polygon 201, processor 930 can determine the line connecting point 251 and point 281 as a new outline. In this case, the paper pattern (for example, polygon 201) may become larger. When the paper pattern becomes larger, since the enlargement of the paper pattern does not affect the determination of whether the paper patterns overlap each other, processor 930 can determine the line as a new outline to simplify the paper pattern. For example, when the line connecting point 251 and point 281 is determined as a new outline, polygon 201 can be simplified to a rectangle. In the simplified paper pattern, points 261, 271 and lines 211, 221, 231 can be deleted.

[0067] Figure 3 FIG. 2 is a diagram illustrating a method for deforming the contour of a paper pattern according to an embodiment.

[0068] When the paper sample becomes smaller due to contour deformation, the processor 930 may need to determine whether the change in the paper sample exceeds a threshold. This is because the processor 930 needs to simplify the paper sample to a degree that does not affect the accuracy of determining whether there is overlap between paper samples. When the size of the paper sample is greatly reduced due to contour deformation, thereby affecting the determination of whether the paper samples overlap, the processor 930 cannot use the simplified paper sample to determine whether the paper samples overlap.

[0069] According to an embodiment, the processor 930 may calculate the amount of change of the paper pattern caused by the deformation of the outline. The amount of change of the paper pattern is the amount of change caused by the deformation of the paper pattern outline, for example, the amount of change in the area of ​​the paper pattern, the distance between the new outline and a vertex, etc. Figure 3 , which can describe the distance between the new contour and a vertex. The line connecting point 350 and point 370 in graph 300 can be a new contour 340. The distance between the contour 340 and point 360 can be the variation 390 of the paper sample. The processor 930 can determine whether the variation 390 of the paper sample exceeds a threshold. If not, the processor 930 can generate a new contour with a larger variation of the paper sample. For example, the processor 930 can generate a line connecting point 351 and point 381 in graph 301 as a new contour 341. The distance between the contour 341 and point 361 can be the variation 391 of the paper sample. When the variation 391 of the paper sample exceeds the threshold, the processor 930 can determine the previous contour 340 as the new contour of the paper sample. However, when the variation 391 of the paper sample does not exceed the threshold, the processor 930 can generate a new contour to calculate the variation of the paper sample and determine whether it exceeds the threshold. The processor 930 can repeat the above process to generate the best contour and simplify the paper sample without affecting the determination of whether the paper sample overlaps.

[0070] Figure 4 1 is a diagram showing a method for generating a paper pattern pair according to an embodiment. Figure 1 It has been described in detail and will not be repeated here.

[0071] Figure 5 2 is a diagram showing a paper pattern nesting method using a genetic algorithm according to an embodiment. Figure 1 It has been described in detail and will not be repeated here.

[0072] Figure 6 FIG. 2 is a diagram illustrating a method for arranging paper patterns according to an embodiment.

[0073] There may be an arrangement target sample group 610, which includes a plurality of samples as sample nesting targets. The arrangement target sample group 610 may include sample 1, sample 3, sample 4, sample 5, sample 0, and sample 2. The arrangement target sample group may be divided into a plurality of clusters. For example, cluster 1 621 may include sample 1, sample 3, and sample 4; cluster 2 622 may include sample 5, sample 0, and sample 3. The arrangement order of the samples included in the cluster may be determined according to a genetic algorithm. Therefore, the processor 930 may arrange the samples included in cluster 1 621 in the order of sample 1, sample 3, and sample 4 according to the arrangement order of the samples.

[0074] The processor 930 may arrange the paper sample 1 611 at the position 630 on the fabric. In addition, the processor 930 may also arrange the paper sample 3 612 based on the paper sample 1 611. The processor 930 may generate a plurality of candidate positions 651, 652, 653, 654 based on the paper sample 1 611. The processor 930 may pre-generate a paper sample pair including a positional relationship between one paper sample and another paper sample. Therefore, when the processor 930 generates the candidate positions, the processor 930 may generate the selected candidate positions by using the positional relationship included in the pre-generated paper sample pair.

[0075] The processor 930 according to an embodiment may arrange the paper sample 3 612 at a position where the fabric area used is small, and at the same time determine whether there is overlap between the paper samples. When the processor 930 arranges the paper sample at each candidate position, if the paper sample is arranged outside the fabric or overlaps with the existing paper sample, the processor 930 may not arrange the paper sample at the candidate position. In addition, among the remaining candidate positions, the processor 930 may arrange the paper sample at the position where the fabric area used is the smallest. For example, the candidate position 653 may be a position where the fabric area used is small. In this case, the processor 930 may arrange the paper sample 3 612 at the candidate position 653. After arranging the paper sample 3 612, the processor 930 may arrange the paper sample 4 613. The processor 930 may calculate the candidate position by considering the relationship with at least one paper sample previously arranged so as to arrange the new paper sample. For example, in order to arrange the paper sample 4 613, the processor 930 may calculate the candidate position by considering the positional relationship between the paper sample 4 613 and the previously arranged paper samples 1 611 and 3 612. The processor 930 can calculate candidate positions 671, 672, 673, 674, 675, and 676 of the paper pattern 4 613. Since the candidate positions 671, 672, 673, and 676 are located outside the fabric area, the processor 930 may not arrange the paper pattern at the corresponding candidate positions. The paper pattern 4 613 can be arranged at the candidate position 674 with the smallest fabric area among the candidate positions 674 and 675. When arranging the paper pattern at the candidate position 675, the length of the fabric used will be longer than the length of the candidate position 674, so the processor 930 can arrange the paper pattern 4 613 at the candidate position 674.

[0076] Subsequently, the processor 930 may arrange the paper sample 5, paper sample 0, and paper sample 3 included in the next cluster (i.e., cluster 2 622) on the fabric. According to the genetic algorithm, the paper sample arrangement order may be determined as paper sample 5, paper sample 0, and paper sample 3. Therefore, the processor 930 may determine the position of the paper sample to be rearranged by determining whether there is an overlap between the previously arranged paper sample and the paper sample to be newly arranged. For example, the processor 930 may determine the arrangement position of paper sample 5 according to the positional relationship between paper sample 1 611 and paper sample 5, the positional relationship between paper sample 3 612 and paper sample 5, and the positional relationship between paper sample 4 613 and paper sample 5.

[0077] Figure 7a and Figure 7b is a diagram illustrating a user interface screen for performing paper pattern nesting according to an embodiment.

[0078] Figure 7aIt may be a user interface screen for pattern nesting. The user interface screen may include a pattern nesting result window 710 and a parameter input window related to pattern nesting. The parameter input window related to pattern nesting may include the number of duplicated patterns 730, color 740, selvedge angle variation pattern 750, spacing between patterns 760, unit 770, and fabric size 780. The input window is only an example, and other parameters may be included or some parameters may be omitted.

[0079] The number of duplicated paper patterns 730 may refer to the number of duplicated paper patterns. For example, when the number of duplicated paper patterns is 1, only one paper pattern may be displayed in the paper pattern nesting result window 710. When the number of duplicated paper patterns is 2, the duplicated paper patterns may be displayed one by one in the paper pattern nesting result window 710. Figure 7b shown. Figure 7b 791 is set to 2. When the number of duplicated samples is 3, each of the two duplicated samples may be displayed in the sample nesting result window 710. According to the change in the value of the number of duplicated samples 730, the processor 930 may perform optimal sample nesting on the fabric, including the duplicated samples. In addition, the processor 930 may output the sample nesting result to the sample nesting result window 710.

[0080] Color 740 may be an object related to the color setting of the paper sample.

[0081] The selvedge angle change pattern 750 may include whether to display a pattern with a changed selvedge angle. When the selvedge angle change pattern 750 is 2, a pattern and a pattern with the selvedge angle of the pattern rotated 180 degrees may be displayed in the pattern nesting result window 710 . Figure 7b The case where the selvedge angle variation paper pattern 750 is 2 is shown. Figure 7b , the selvedge angle variation paper pattern 750 is shown as 2. According to the change of the value of the selvedge angle variation paper pattern 750, the processor 930 can perform the best paper pattern nesting on the fabric according to the selvedge angle variation paper pattern. In addition, the processor 930 can output the paper pattern nesting result to the paper pattern nesting result window 710.

[0082] The spacing 760 between paper samples may refer to the minimum spacing between nested paper samples on the fabric.

[0083] The unit 770 may refer to a unit representing the length of the fabric.

[0084] The fabric size 780 may represent the horizontal length and the vertical length of the fabric.

[0085] Figure 8 2 is a diagram showing a paper pattern nesting result generated according to a change in a selvedge angle of the paper pattern according to an embodiment.

[0086] According to one embodiment, the processor 930 may generate a candidate paper sample arrangement by arranging another paper sample on the fabric after changing the selvedge angle of at least one paper sample and arranging it on the fabric. According to one embodiment, the processor 930 may arrange by rotating the selvedge angle of at least one paper sample by 180 degrees. For example, the processor 930 may rotate the selvedge angle of the paper sample 820 by 180 degrees. The selvedge angle may refer to a rotation angle based on the longitudinal direction of the fabric. When the selvedge angle of the paper sample 820 is rotated by 180 degrees, it may be arranged on the fabric like the paper sample 821. Since the position of the paper sample 820 has changed, the positions of other paper samples 810, 830, and 840 arranged on the fabric 800 may also need to be changed. Therefore, the processor 930 may arrange other paper samples, such as the fabric 801, according to the paper sample 821. After arranging the paper sample 821 on the fabric, the processor 930 may generate a candidate paper sample arrangement, which can be used to arrange other paper samples 810, 830, and 840 on the fabric. In addition, the processor 930 can calculate the evaluation score corresponding to each candidate paper pattern arrangement. The processor 930 can determine the final paper pattern nesting based on the evaluation score. For example, the processor 930 can arrange the paper patterns on the fabric 801, such as paper patterns 811, 831, and 841, according to the candidate paper pattern arrangement with the highest evaluation score.

[0087] During the clustering process performed by the processor 930, there may be paper samples with predetermined arrangement positions. For example, the processor 930 may determine the arrangement position of a specific paper sample on the fabric according to user input. In this case, paper samples with fixed arrangement positions may be excluded from clustering. A method for performing clustering except for paper samples with predetermined arrangement positions will be described below. According to an embodiment, the processor 930 may arrange at least one paper sample with a fixed position on the fabric. For example, the processor 930 may arrange a paper sample 810 with a fixed position on the fabric 800. According to an embodiment, the processor 930 may cluster a plurality of paper samples, but does not include at least one paper sample with a fixed position on the fabric. For example, the processor 930 may cluster other paper samples 820, 830, and 840 except for the paper sample 810 with a fixed arrangement position. In addition, according to the clustering results, the processor 930 may perform paper sample nesting for each cluster.

[0088] Fig. 9 is a block diagram illustrating a simulation device according to various embodiments.

[0089] According to one embodiment, the simulation device 900 may be a server. According to another embodiment, the simulation device 900 may be a user terminal (eg, a mobile terminal, a notebook computer, a desktop computer, etc.). Fig. 9According to an embodiment, the simulation device 900 includes a user interface 910, a processor 930, a display 950, and a memory 970. The user interface 910, the processor 930, the display 950, and the memory 970 may be connected to each other via a communication bus 905.

[0090] The user interface 910 may receive user input for each parameter related to pattern nesting.

[0091] The display 950 can display the paper pattern nesting result generated by the processor 930 .

[0092] The memory 970 may store the generated pattern nesting results. The memory 970 may store various information generated during the processing performed by the processor 930. In addition, the memory 970 may store various other data and programs. The memory 970 may include a volatile or non-volatile memory. The memory 970 may include a large-capacity storage medium, such as a hard disk, etc., and store various data.

[0093] The processor 930 may execute the reference Figures 1 to 8 At least one method or an algorithm corresponding to at least one method. The processor 930 may be a data processing device implemented by hardware of a circuit having a physical structure for performing desired operations. For example, the desired operation may include a code or instructions included in a program. The processor 930 may be implemented as a central processing unit (CPU), a graphics processing unit (GPU), or a neural network processing unit (NPU). For example, the simulation device 900 implemented by hardware may include a microprocessor, a central processing unit, a processor core, a multi-core processor, a multiprocessor, an application specific integrated circuit (ASICS), and a field programmable gate array (FPGA).

[0094] The processor 930 may execute a program and control the simulation device 900. The program code executed by the processor 930 may be stored in the memory 970.

[0095] The method according to the embodiment is embodied in the form of a program command that can be executed by a variety of computer means and recorded in a computer read-write medium. The computer read-write medium can include program commands, data files, data structures, etc. in a single or combined form. The program instructions recorded in the medium can be instructions specially designed and constructed to implement the embodiment, or instructions that ordinary technicians in the field of computer software can use based on known knowledge. The computer read-write recording medium can include magnetic media such as hard disks, floppy disks, and tapes; optical media similar to CD-ROMs, DVDs, etc.; magneto-optical media similar to floptical disks, and hardware devices specially constructed for storing and executing program commands similar to read-only memories (ROMs), random access memories (RAMs), flash memories, etc. Examples of program instructions include not only machine language codes generated by compilers, but also high-level language codes that can be executed by computers by using interpreters, etc. To perform the operations of the embodiments, the hardware device can be configured to implement the operations in one or more software modules, and vice versa.

[0096] Software can include a computer program, code, instructions, or a combination of more than one of them, which can cause a processing device to operate in a desired manner, or, individually or collectively, command a processing device. For interpretation by a processing device or to provide commands or data to a processing device, the software and / or data can be permanently or temporarily embody any type of equipment, component, physical device, virtual device, computer storage medium or device, or transmitted signal wave. The software is distributed on computer systems connected by a network and can be stored or executed in a distributed manner. The software and data can be stored in one or more computer read-write storage media.

[0097] In summary, the embodiments are described through limited drawings, and a person skilled in the art can make various changes and modifications based on the description. For example, the described techniques are performed in a different order from the described method, and / or the described systems, structures, devices, circuits and other components are combined or combined in a different form from the described method, or replaced or substituted by other components or equivalents, and appropriate results can also be obtained.

[0098] Therefore, other embodiments, other examples and equivalents of the claims are all within the scope of the claims of the present invention.

Claims

1. A paper pattern nesting method using clustering, characterized in that: The following steps are involved: generating a paper sample pair having a positional relationship between at least two paper samples among a plurality of paper samples, so that the relative positions of the at least two paper samples satisfy a predetermined condition; clustering the plurality of paper samples based on size information of each of the plurality of paper samples; and Based on the paper sample pairs and the genetic algorithm, at least one paper sample included in each of a plurality of clusters generated according to the clustering result is nested into the fabric.

2. The paper pattern nesting method according to claim 1, characterized in that: The predetermined condition includes a condition that the at least two paper samples do not overlap each other and are entirely included in the fabric.

3. The paper pattern nesting method according to claim 1, characterized in that: The step of generating the paper sample pair comprises the following steps: generating a candidate position of the second paper sample based on the first paper sample included in the paper sample pair; calculating a distance between the first paper sample and the second paper sample based on the position of the first paper sample and the candidate position of the second paper sample; determining a candidate position of the second paper sample having a minimum value in the calculated distances as a relative position based on the first paper sample; and The paper sample pair is generated based on the determined relative position of the second paper sample.

4. The paper pattern nesting method according to claim 1, characterized in that: The size information includes at least one of a value of a sum of a height and a width of a bounding box of each of the paper samples and an area of ​​the bounding box of each of the paper samples.

5. The paper pattern nesting method according to claim 1, characterized in that: The clustering step comprises the following steps: aligning the plurality of paper samples based on the size information; and According to the size information, clustering is started on paper samples with larger sizes among the aligned paper samples.

6. The paper pattern nesting method according to claim 1, characterized in that: The clustering step comprises the following steps: arranging at least one paper pattern fixed in position on the fabric on the fabric; and The plurality of paper samples are clustered except for at least one paper sample whose position is fixed on the fabric.

7. The paper pattern nesting method according to claim 1, characterized in that: The step of nesting into the fabric comprises the following steps: aligning the clusters in order of sizes of paper samples included in the clusters among the plurality of clusters; and Nesting is performed in cluster units based on the alignment result, and the at least one paper sample included in the cluster is nested in a region corresponding to the cluster.

8. The paper pattern nesting method according to claim 1, characterized in that: The genetic algorithm includes an algorithm for determining an arrangement order of the at least one paper sample included in the cluster in a region corresponding to each of the plurality of clusters.

9. The paper pattern nesting method according to claim 1, characterized in that: The following steps are also included: Preprocessing is performed to reduce the mesh complexity of each of the plurality of patterns.

10. The paper pattern nesting method according to claim 9, characterized in that: The step of preprocessing to reduce the complexity of the grid comprises the following steps: deforming a contour corresponding to each of said paper samples; and The polygons included in the paper sample whose outline has been deformed are triangulated.

11. The paper pattern nesting method according to claim 10, characterized in that: The step of deforming the contour comprises the following steps: When the paper pattern becomes smaller due to deformation of the outline, the outline is deformed according to whether the amount of change of the paper pattern exceeds a threshold.

12. The paper pattern nesting method according to claim 10, characterized in that: The step of deforming the contour comprises the following steps: When a plurality of continuous contours are integrated into one line, the line is determined as a contour according to whether the variation of the area of ​​the paper pattern exceeds a threshold.

13. The paper pattern nesting method according to claim 1, characterized in that: The step of nesting into the fabric comprises the following steps: Generating candidate positions of paper samples to be arranged based on the arrangement order of multiple candidate paper samples generated by the genetic algorithm; Arranging the paper samples to be arranged based on whether the paper samples in the candidate positions overlap or not and a position determination criterion; and Based on the arrangement result, each evaluation score in the plurality of candidate paper sample arrangement sequences is calculated.

14. The paper pattern nesting method according to claim 13, characterized in that: Whether the paper samples overlap or not includes at least one of the following: The processor determines whether there is overlap between pre-processed paper samples, wherein the pre-processed paper samples include triangular paper samples; and An auxiliary processor is used to determine whether there is overlap based on pixel units.

15. The paper pattern nesting method according to claim 13, characterized in that: The evaluation score is determined in inverse proportion to the length of one side of a bounding box including the paper samples arranged on the fabric.

16. The paper pattern nesting method according to claim 1, characterized in that: The step of nesting into the fabric comprises the following steps: After changing a selvage angle of at least one paper pattern and arranging it on the fabric, generating a candidate paper pattern arrangement by arranging the paper patterns on the fabric; and Nesting is performed on the fabric based on the evaluation score corresponding to each of the candidate paper sample arrangements.

17. The paper pattern nesting method according to claim 16, characterized in that: The step of changing the selvedge angle of the at least one paper sample comprises the following steps: The selvedge angle of the at least one paper sample is rotated 180 degrees for arrangement.

18. A computer program stored on a computer-readable recording medium, for executing the method of claim 1 in combination with hardware.

19. A simulation device for performing paper pattern nesting, characterized in that: include: user interface; Memory; and processor, Wherein, the processor is configured to: generating a paper sample pair having a positional relationship between at least two paper samples among a plurality of paper samples, so that the relative positions of the at least two paper samples satisfy a predetermined condition; clustering the plurality of paper samples based on size information of each of the plurality of paper samples; and Based on the paper sample pairs and the genetic algorithm, at least one paper sample included in each of a plurality of clusters generated according to the clustering result is nested into the fabric.