Automatic digitization of garment patterns
The present invention relates to a system and method for digitizing shapes, especially for garment styles by using image scanning techniques. A method is disclosed to digitize garment patterns. First, a physical pattern is scanned into a raster image. Features such as intensity edges in the raster image are recognized and a digital pattern, or a set of relevant information about the physical pattern, including its shape and size; corners on the outline; and lines and curves drawn on it, is produced. The digital pattern includes an explicit representation of the outline such as a series of point coordinates, or some description of curves such as spline parameters.
This application is a continuation of application Ser. No. 10/492,722, filed Apr. 15, 2004, which is a National Stage Entry of international application No. PCT/US02/31177, filed on Sep. 30, 2002, which claims priority from U.S. provisional application Ser. No. 60/329,574, filed Oct. 17, 2001, all of which are hereby incorporated herein by reference in their entireties.
TECHNICAL FIELDThe present invention relates to digitization of garment styles, and, more specifically, automatic or semi-automatic digitization of garment styles through image scanning technique.
BACKGROUND ARTA garment is generally made by sewing together a number of pieces of clothes. A design of a garment, then, is largely determined by the shapes of these pieces. Traditionally, pieces of thick papers with exactly the same shape and size as the pieces of clothes are used to record the shapes that determine the design of a garment. These variously shaped thick papers are called “patterns” in the industry. A collection of patterns that comprise a whole garment is called a style. Given such a style, one can make the pieces of clothes by simply copying the shape of the patterns, and then produce a garment of desired design by sewing the clothes together.
In an industrial setting, where many different designs and sizes of garments are produced, it is a major effort to correctly inventory and manage hundreds or more of styles. Thus, a computerization of the process of recording and managing garment design was introduced to the industry. In a computerized design management system, the shape of each cloth is stored as a set of curves and lines, making a digital pattern. From such a digital pattern, it is easy to plot a life-sized shape on a piece of paper using a plotter, or even automatically cut such a shape out of paper or a cloth using a special plotter that has cutters instead of pens.
There are many benefits to such computerization of the design. When the shape and size of each piece of cloth are recorded in a digital form, it is much easier to record and manage a large set of such designs. Also, digitized design can be transmitted to far off location, where garments are manufactured. The biggest advantage, however, might be the ease of grading. Usually, in an industrial setting, garments of several different sizes of the same basic design have to be manufactured. Modification of styles to produce different sizes of garments is called grading. This process of grading is much easier and faster when done on a computer. The input and output of the system is in a physical form. The output is, of course, the actual garment that is manufactured. In theory, it is conceivable to put the whole process on a computer except for manufacturing; fashion designers, or stylists, could design dresses and suits on a computer screen, and have the results sent out to the factory, where the design is put into a physical form for the first time. However, at least for most of the current generation of stylists, it is much more natural and easier to use a physical form, that is, the physical patterns made of thick papers. Thus, at the beginning of the process, a stylist produces a style, i.e., a collection of physical patterns, and then each pattern is digitized into a digital form by a “modeler,” who uses a “digitizer” to trace the contour of the pattern.
This process of digitizing the physical patterns has been slow and labor-intensive. Typically, the modeler fixes the pattern on a large digitizer board and the trace the contour of the pattern by pointing (with a special pointer) relevant points on the contour one by one and pushing a button that signals the digitizer board to locate and record the position of the pointer on the board.
U.S. Pat. No. 4,575,628 (1986) to Bankart, et al. teaches a pattern scanner. However, it has not been widely used partly because of its inability to automatically identify corners on the outline of patterns. The outline of the pattern is its single most important feature and the discrimination of the points on the outline into those that are corners and that are not is very important. To wit, comers are the most salient feature of the shape of the outline and also are often used as grade points. Almost all computerized design management system currently in use treat corner points differently from other points. Thus in the prior art the user have to either digitize manually with digitizer board or use an existing pattern scanner and then mark corners manually.
The present invention relates to this process of digitizing the physical patterns.
DISCLOSURE OF INVENTIONAccordingly, it is an object of the invention to provide a method to automatically digitize garment patterns. It is further object of the invention to provide a method to automatically digitize garment patterns so that the resulting data includes information on the shape of the pattern, including the identification of corners.
Stage 1: Scan
The first stage (107) scans the physical pattern into a raster image. This can be done with any of current digital imaging techniques. For instance, a flatbed scanner (103) commonly seen in offices, or a CCD digital camera (104) can be used. In an industrial setting, a large-format scanner (105) might be used. The result is a raster image (102), i.e., a digital facsimile of the physical pattern.
Stage 2: Recognition
Given a raster image (102) of the pattern from the first stage, the method extracts relevant information from it. The single most important information about the pattern is its outline (108). Other important features include lines and curves drawn on the pattern (109), which we call internal curves hereafter. Both the outline and the internal curves appear in the raster image as curves. Therefore, the method recognizes curves in the raster image. There is more than one conceivable algorithm to detect and recognize curves. Any algorithm that robustly recognizes curves in the raster image can be used for the present invention.
Such an algorithm finds characteristic pixels in the raster image that are positioned like a curve. What characterizes such a pixel depends on what kind of curves the algorithm is looking for. In the case the color of the background and the pattern paper are known, a pixel on the outline of the pattern is characterized as a boundary of the two colors. A pixel on an internal curve is characterized by its color different from the pattern paper color. Though such simple characterizations by themselves are not enough, they serve as local criteria to narrow down the locus of the curves. Having found a set of candidate pixels that satisfy the local criteria, the algorithm finds curves that lie on such pixels.
The result of this stage is a set of data, which we call a digital pattern. It comprises the representation of curves that constitute the outline and the internal curves. The representation is such that the coordinates of successive points on the curves can be readily calculated. Additionally, the digital pattern may include other accompanying data such as an identification number, date of production, and what kind of fabric should be used, which can be entered to the system manually. It may even include the original raster image so that, should a mistake in the second stage be discovered later, the recognition can be redone, perhaps with a different set of parameters.
Stage 3: Manual Data Input (Optional)
Each pattern has some accompanying data such as an identification number, date of production, and kind of fabric that should be used. This can be entered by an operator manually. Some of the accompanying data is written on the physical pattern. For instance, grading information sometimes is represented as numbers written on the pattern near points on the scanner. In
Here, an embodiment of the present invention is described in detail. The embodiment is a standard PC system equipped with a scanner. The hardware configuration is an ordinary one that is available from computer equipment vendors and can be easily configured by a person skilled in the art.
Scan A physical pattern is scanned by the scanner and sent to the PC (110) and stored in a bitmap format. The format can be any known or proprietary format. In the following, we assume that the background of the scanned image appears in a specific color (e.g., black) that is not used as the color of a physical pattern (i.e., the thick paper shaped as a piece of cloth that is a part of a garment). Although the specific color (black) is not important, the color black is almost never used as the color of the paper for the physical pattern. It is also easy to arrange so that the background appears in the specific color.
Large Format Scanner Here we discuss a large format scanner that is modified to suit the need of scanning garment patterns.
Another problem with typical large format scanner when scanning irregularly shaped objects like garment patterns is that the object (209) tends to be unstable. For instance, it tends to rotate, as shown in
Combining the two modifications,
A different approach (
Recognition
The recognition stage, which extracts relevant information from the bitmap image, is realized as a computer program that runs on the PC system. The program loads the scanned bitmap image and produces a computer file that stores the extracted data. In this embodiment, the outline of the pattern, which is the most important feature of the physical pattern, is extracted.
The outline of a pattern is its most important feature, since the cloth would be cut according to the outline. Accordingly, it is most important for the system to precisely identify the outline of the pattern. To achieve the most precise and robust performance, the embodiment employs a special method just for detecting the outline that uses special properties of outlines. The method exploits the fact that an outline is always a single closed curve. It also uses the information about the colors of the background and the pattern. More specifically, the method finds a closed curve, which is a boundary of the two colors and such that the part of the image outside it is filled with the background color. Some parameters depend on the resolution of the image. For concreteness, a resolution of 75 DPI (Dots Per Inch) is assumed.
Data Structures
The method keeps a data structure Contours, which, as schematically shown in
Detect Outline
The output of the method is the contour stored in ctr, the return value. It is a succession of pixel records, each of which holding a pixel coordinate (pt), curvature at the point (curv) and the information if the point is a comer (corner).
Initialize-Contours
Shrink
First, a Boolean variable moved is initialized to false (601) and ctr is copied to another new contour record data structure C (602). Then, a loop runs through each pixel record in the contour records, incrementing an index i from 0 to size(ctr)−1 (controlled by initialize-step 603, increment-step 611, and exit-test-step 612). Inside the loop, the vector C[i+1].pt−C[i-1].pt is stored in a Vector variable v (604). Remember this vector has integral components. Next, the length |v| of v (that is, the positive square root of (v.x)2+(v.y)2) is taken and its integral part is stored in an integer variable d (605). Here, a function Int(t) is assumed to give the integral part of a number t. More specifically, it returns the largest integer not larger than t if t is nonnegative, and the smallest integer not smaller than t if t is negative. If d is zero (606), the loop continues to the next index. Otherwise, the value (Int(-v.y/d), Int(v.x/d) ) is assigned to v (607), and then it is checked if the point ctr[i].pt+v is inside the image rectangle (608), and if it is, whether the pixel at that point is a background pixel or not (609). If it is a background pixel, then the point coordinates stored in ctr [i].pt in the contour record ctr is changed to the coordinates ctr[i].pt+v and the variable moved is assigned true (610). After the loop exits, the variable moved is returned as a Boolean return value. This represents whether any point coordinate in the contour record ctr has been moved in the subroutine. This subroutine has an effect of moving each point of the contour to an “inside” direction (v), if it does not hit the non-background pixel.
Stretch-Shrink
Loop-Check
Bad-Contour
Calculate-Curvature
Smooth-Curvature
Find-Corners
While only certain preferred features of the invention have been illustrated and described herein, many modifications and changes will occur to those skilled in the art.
For instance, holes on the patterns can be found in essentially the same way. It is just a matter of finding black object inside non-black object, instead of the other way around. Comers in the perimeter of the hole can be identified in the same way as for the outline.
Also, after the curves are identified, they may be smoothed. For instance, one can fit parametric curves such as spline or Bezier curves to the digitized curves. Here it is important to know where corners are, as it is possible in the present invention, because in these parametric curves, comers are treated differently as points where tangent vectors can change discontinuously. The explicit representation of the outline in the digital pattern may then be the parameters of the parametric curves.
Furthermore, the disclosed method can be used to digitize any shapes that are not necessarily garment patterns. Patterns that are used to produce shoes, bags, and other sewed goods are only some ot more obvious examples of the shapes for which the invention can be used.
It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.
Claims
1. A method of digitizing shapes, said method comprising the steps of:
- receiving at least one data representing at least one shape;
- identifying at least one outline of the at least one shape in the at least one data, wherein the outline has a curvature; and
- identifying at least one corner of the at least one outline wherein the corner is identified by calculating the curvature of the outline in a neighborhood of a point on the outline and determining whether the curvature is at least a pre-defined minimum value.
2. The method of claim 1, wherein identifying the at least one corner includes determining whether a point on the outline has the largest curvature in a neighborhood of a point.
3. The method of claim 1, wherein identifying the at least one outline includes identifying a boundary between the color of the pattern and the color of the background.
4. The method of claim 3, wherein the at least one outline is represented by a series of point coordinates.
5. The method of claim 1, wherein the digitized shape corresponds to the shape of a pattern for producing sewn goods.
6. The method of claim 1, wherein the digitized shape corresponds to the shape of a garment pattern.
7. A system for digitizing shapes, said system comprising:
- a memory arrangement including thereon a computer program; and
- a processing arrangement which, when executing the computer program, is configured to: receive at least one data representing at least one shape; identify at least one outline of the at least one shape in the at least one data, wherein the outline has a curvature; and identify at least one corner having a relatively large average curvature of the at least one outline wherein the corner is identified by calculating the curvature of the outline in a neighborhood of a point on the outline and determining whether the curvature is at least a pre-defined minimum value.
8. The system of claim 7, wherein identifying the at least one corner includes determining whether a point on the outline has the largest curvature in a neighborhood of a point.
9. The system of claim 7, wherein identifying the at least one outline includes identifying a boundary between the color of the pattern and the color of the background.
10. The system of claim 9, wherein the at least one outline is represented by a series of point coordinates.
11. The system of claim 7, wherein the digitized shape corresponds to the shape of a pattern for producing sewn goods.
12. The system of claim 7, wherein the digitized shape corresponds to the shape of a garment pattern.
13. A software storage medium which, when executed by a processing arrangement, is configured to digitize shapes, said software storage medium comprising a software program including:
- a first module which, when executed, receives at least one data representing at least one shape;
- a second module which, when executed, identifies at least one outline of the at least one shape in the at least one data, wherein the outline has a curvature; and
- a third module which, when executed, identifies at least one corner having a relatively large average curvature of the at least one outline wherein the corner is identified by calculating the curvature of the outline in a neighborhood of a point on the outline and determining whether the curvature is at least a pre-defined minimum value.
14. The software storage medium of claim 13, wherein identifying the at least one corner includes determining whether a point on the outline has the largest curvature in a neighborhood of a point.
15. The software storage medium of claim 13, wherein identifying the at least one outline includes identifying a boundary between the color of the pattern and the color of the background.
16. The software storage medium of claim 14, wherein the at least one outline is represented by a series of point coordinates.
17. The software storage medium of claim 13, wherein the digitized shape corresponds to the shape of a pattern for producing sewn goods.
18. The software storage medium of claim 13, wherein the digitized shape corresponds to the shape of a garment pattern.
Type: Application
Filed: Dec 30, 2005
Publication Date: Jan 11, 2007
Inventor: Hiroshi Ishikawa (Nagoya)
Application Number: 11/324,163
International Classification: G06K 9/00 (20060101); G06K 9/46 (20060101);