System with approximation means for recognizing graphical elements in a drawing

Abstract: A drawing recognition system is disclosed which recognizes even a complex low-quality drawing containing overlapping charts, or many blurs or discontinuations with less operations. The system includes both a program for approximating a graphical object to be recognized and a program for approximating positions on the approximated graphical object. The system further includes a means for creating a chart model according to the designation, and a chart recognition means for matching the chart model and the chart to be recognized in the drawing.

Description: The present invention relates generally to image processing systems and, more particularly, to systems for recognizing graphical objects in drawings, such as for generating drawing databases. A conventional system for recognizing particular features in a map is known from "Maris": Map recognition input system" by Suzuki and Yamada, Pattern recognition, Vol. 23, No. 8 pp. 919-933, 1990. A conventional system for recognizing graphical objects in a drawing is discussed in "Interactive Drawing Input System," Nikkei CG, pages 120-130, April 1987. This system relies on a line tracking recognition strategy. The configuration of this conventional system is shown in Fig. 1. The drawing recognition system comprises an image reader 11, a video display 12, an input device 13, a data processing system 14, having a memory 14a and a processor 14b, and a drawing plotter 15. The data processing system 14 executes a drawing recognition program 65 for recognizing graphical objects in an image that has been read by the image reader 11. The major components of the drawing recognition program 65 are shown in Fig. 2. The drawing recognition program 14 comprises a tracking start point determination program 66, a line tracking program 67, and a tracking candidate determination program 68 The operation of the conventional system will now be described with reference to an example shown in Figs. 3a-3d. First, a drawing is digitized by the image reader 11 to produce digital image data, and the data is fed to the data processing system 14. In this context, a "drawing" is any printed image on a suitable physical medium, such as paper. Digital image data is represented as an x-y coordinate grid of pixels represented by binary values. The digital image data is then displayed on the video display 12 so that an operator may view the image that has been read. The operator then uses the input device 13, which may be a mouse or tablet, to designate a type of a chart to be recognized, by selecting the type from a pre-programmed menu list. For example, the list may include a number of patterns which may be recognized such as polygons, lines of different thicknesses, circles and arcs, etc. Examples of types of charts to be recognized are defined in connection with Fig. 23a-23d. A simple chart (Fig. 23a) is a line of constant width and indefinite length, which may be solid, broken or a chain. In an equipment drawing, a simple chart may represent an electrical power line, for example. A compound chart is a combination of simple charts, which in an equipment drawing may represent equipment. Three examples are shown in Fig. 23b. A graphic pattern is a pattern illustrating configurations of objects. On a map, a graphic pattern may represent roads and houses (see Fig. 23c). Symbols are marks of constant sizes which indicate specific objects. On a map a symbol may represent, for example, a school or post office. On equipment drawings it may represent, for example, an electric power pole (see Fig. 23d). In the present example, assume that the operator selects a "polygon" with the input device 13 (Fig. 1). Having specified the chart type, the operator specifies a position P in the vicinity of a tracking start point for the graphical object 70 (Fig. 3a) to be recognized. The position P is identified by using the input device 13 (Fig. 1) to move a cursor on the video display 12 to the desired position. Then, a tracking start position determination program 66 (Fig. 2) calculates a point Q on graphical object 70 (Fig. 3a) closest to the specified point P. Point Q, known as the tracking start position, is the point at which tracking of the graphical object 70 begins. In general, the point P, designated by an operator, is not located on the chart to be recognized. Thus, a point Q, on the chart, must be found which corresponds to the designated point P. Referring to Fig. 24, the point Q is found by cutting an area 200, in the vicinity of point P, from the image data. The contour of the image data, designated by arrows 201-204 is used to determine a core line vector 205. A line is drawn normal to the core line vector, passing through the designated point P. The point of intersection of this normal line and the core line vector is the desired point Q. In known CAD systems, a designated point P must be on a line in the image. This requirement in typical systems results in fatigue and annoyance of the operator. Once the tracking start position Q is designated, a line tracking program 67 (Fig. 2) is executed to begin tracking a line in any direction on the object 70 (Fig. 3a) from the tracking start point Q. Tracking of a line is performed on the basis that for each line a function can be determined to define the line in terms of y = ax + b, where a is the slope of the line and b is an offset. Also, a thickness can be determined. Similarly, the radius of curvature defines arcs and circles. Tracking of a line is performed by incrementing x, determining y, and determining if image data is found at the newly determined x,y coordinates, with the desired line thickness. When there is no more data in a given direction; tracking in that direction stops, and a new direction is determined. In the example of Fig. 3a, the tracking progresses in the direction of the arrow X (Fig. 3a) as indicated by the shaded region 72 in Fig. 3b. When branch point T is reached, tracking continues in the same direction, as it is possible to continue. At the corner C, the direction of tracking is changed. When branch point K is reached, a decision must be made as to whether tracking should continue in direction "R" or whether alternatively to proceed along line "S". This determination is made based upon the type of graphical object that is to be recognized. That is, the shape of the object to be recognized can suggest the proper changes in tracking direction. In this instance, branching is carried out nearly orthogonally. Therefore, tracking is continue in the rectilinear direction, the direction "R" in which the tracking of the object 70 is optimized. When it is not clear which tracking direction should be selected, a tracking candidate determination program 68 (Fig. 2) presents multiple tracking candidates to the operator in descending order of probability and requests the operator to designate a candidate. In Fig. 3c, tracking directions R and S are presented as candidates. In response to these candidates, the operator manipulates the input device 13 (Fig. 1) to select the correct tracking direction R. Then, the line tracking program 67 (Fig. 2) resumes tracking. When the line tracking program 67 (Fig. 2) completes tracking a line of an intended graphic (i.e., the tracking is completed around the graphical 70), the system has a complete recognized graphical object. In the example case at Fig. 3d, the tracking has returned to the tracking start point Q. For objects which are not closed, tracking terminates when the object has been recognized or when no more image data remains to be traced. At this point, the system recognizes that the graphical object 70 is a "polygon" and tracking is terminated. The above described steps are repeated for each of the graphical objects in the drawing. The steps are repeated until all of the graphical objects have been recognized. In order to recognize a chart in a drawing containing overlapping graphics, an operator of the conventional system must designate which line is tracked at every point at which the currently tracked line overlaps another graphic. Thus, the operator is forced to carry out a number of complicated operations. Furthermore, if a drawing contains a dashed line or a dot-dash line which overlaps another graphic or has deteriorated due to frequent copying so that lines discontinue or blur, a conventional drawing recognition system fails to track a line and extract an object graphic. Likewise, when a graphical object is made of multiple charts (hereafter referred to as a "compound chart") each line must be designated in order for the compound chart to be recognized. This increases an operator's work load and may also result in the failure to track a line due to a discontinuation in the line. When symbols are appended to a chart or a compound chart, the operator must designate the chart and symbols separately. When the drawing contains isolated symbols or a row of characters exist in an area where various graphic elements are arranged densely, entry of such isolated symbols or character row requires the operator to designate positions, inclinations and types of such symbols or characters. Furthermore, recognition of a graphic in the drawing is done in such a manner that the operator appoints graphics one-by-one so that appointment of another graphic for recognition cannot be done until the result of recognition of the preceding graphic is obtained. Moreover, conventional drawing recognition system cannot separate image data of a recognized graphical object from a background or a sketch. Therefore, unless all data has been recognized, the background or sketch cannot be combined with the recognized graphic. This restricts the application range of recognized data. SUMMARY OF THE INVENTION: The object of the present invention is to solve the aforesaid problems or to provide a drawing recognition system capable of recognizing the type, shape, precise position of a graphic forming a line or compound graphic in a drawing which contains overlapping graphics or has deteriorated because of frequent copying, and then separating the recognized graphic from the background or sketch, when an operator designates an approximate type of graphic and its approximate position. Another object of the invention is to provide a drawing recognition system for recognizing the type and precise position of a symbol accompanying a line or compound line simultaneously with a chart or compound chart, and then separating a recognized graphic from a background or a sketch. It is also an object of the present invention to provide a drawing recognition system in which even isolated symbols or characters in the drawing can be recognized in terms of their types, positions and inclinations, by a rough indication of approximate positions of such symbols or characters. It is also an object of the present invention to provide a drawing recognition system in which, when approximate positions of graphical objects are consecutively designated, such graphical objects are recognized in accordance with such position information. According to the present invention, a system in accordance with claim 1 is provided. The chart recognizing means may include a simple chart recognizing means which corrects a chart model forming a straight line or a dashed line according to the image data of a recognition graphic in a drawing, and then recognizing the type, shape, and position of the line by using the corrected chart model. The chart recognizing means also may include a symbol recognizing means which recognizes the type, shape, and precise position of a symbol connected to a line or a compound line according to the characteristic of the image data of an area in the vicinity of the approximate position. The chart recognizing means also may include a compound chart recognizing means which extracts the contour lines of a compound chart by using the chart model made up of a combination of lines, the image data in a drawing, and the designated approximate position, and then recognizing the type, shape, and precise position of the compound chart. The chart recognizing means may include an isolated symbol recognition means which extracts the image data constituting the isolated symbol, on the basis of the designated approximate position, as well as approximate classification of the symbol and the image data obtained from the drawing. The isolated symbol recognition means then recognizes the type, inclination and exact position of the isolated symbol on the basis of the extracted image data. The chart recognition means may include a character row recognition means which extracts image data constituting a character row, on the basis of the image data in the drawing, and the designated approximate position as well as with the knowledge that the object to be recognized is characters. The character row recognition means then recognizes, on the basis of the extracted image data, the type, size and inclination of the character row. An approximate chart designating means allows an operator to designate an approximate type of an intended graphic. An approximate position designating means allows the operator to designate an approximate position and shape of the graphic to be recognized in the drawing. A chart model creating means creates a chart model used for recognition according to the approximate type, position, and shape of the graphic, which the operator enters. A chart recognizing means matches the chart model and the image data of the graphic to be recognized, and thus recognizes the type, position, and shape of the chart in the drawing. Thereby, even a graphic to be recognized residing in a complex drawing containing overlapping graphics or in a drawing which has deteriorated due to frequent copying, a portion of the graphic which an operator designates can be extracted, recognized, and then entered in a computer. A simple chart recognizing means matches the chart model and the linear image data in the vicinity in accordance with the positional relationship between the image data in a drawing and the chart model, and then recognizes the type, shape, and position of a designated chart. Therefore, not only a straight line but also a chart formed with a dashed line or a dot-dash line can be recognized in a complex drawing containing overlapping graphics. Moreover, the shape of a line can be faithfully approximated, and the recognized shape of a line can be trimmed. When a pattern or a graphic constituting a symbol exists on the chart or on the compound chart, the type and position of the symbol connected to the chart or the compound chart can be recognized simply by designation of the symbol position through the approximate position designating means. Therefore, the burden on the operator is greatly relieved because of elimination of the work for separate designation of the chart and symbols and the work for synthesizing the data concerning such chart and symbols. A compound chart recognizing means extracts the contour lines of the image data forming a compound chart according to the positional relationship between the image data in a drawing and the chart model, and then recognizes the data inside the contour lines to identify the type of graphic. Therefore, an operator need not designate charts one by one but fetches a compound chart as a unit. The isolated symbol recognizing means picks up image data of the area in the vicinity of the designated approximate position, so that the operator need not exactly designate the inclination and position of the symbol. The character row recognizing means picks up image of area in the vicinity of the designated approximate position and recognizes the character row by separating the image constituting the character row, so that the operator need not exactly designate the position, inclination and the size of the character row. The approximate position designating means can designate approximate position of each object to be recognized. In addition, the approximate position indicating means can consecutively designate approximate positions of a plurality of objects and produce the results of the recognition of such objects. It is therefore possible to enter the drawing information to a computer in a short time. By having an approximate graphic designating means, an approximate position designating means, a chart model creating means, and a chart recognizing means, the drawing recognition system of the present invention can recognize a drawing containing overlapping charts or a drawing which has deteriorated because of frequent copy and contains a graphic with many discontinuations. The incorporation of a simple chart recognizing means permits recognition of not only a straight line but also a dashed or dot-dash line overlapping another graphic. The incorporation of a symbol recognizing means permits recognition of symbols connected to a chart with less operations. The incorporation of a compound chart recognizing means permits recognition of a compound chart made up of multiple lines and overlapping other graphic with less operations. The invention also provides an advantage in that any isolated symbol in the drawing can be recognized with reduced operations by virtue of the provision of the isolated symbol recognition means. The invention also provides an advantage in that any character row in the drawing can be recognized with a reduced operation, by virtue of the provision of the character row recognition means. The present invention further provides an advantage in that it can consecutively recognize a plurality of objects in the drawing, thus enabling recognition of the drawing in a very short time, by virtue of the provision of the approximate position indicating means. The foregoing and other objects, features and advantages of the invention will be more completely understood in view of the following detailed description of a preferred embodiment, when read in conjunction with the attached drawing, in which: Fig. 1 is a block diagram showing the configuration of a conventional drawing recognition system; Fig. 2 is a block diagram of a conventional drawing recognition program that is run on the data processing system 14 of Fig. 1; Figs. 3a-3d are diagrams illustrating the operation of the conventional drawing recognition system of Fig. 1; Fig. 4 is a block diagram showing the configuration of programs used in a drawing recognition system in accordance with an embodiment of the present invention; Fig. 5 is a block diagram showing the chart recognition program of Fig. 4 in more detail; Fig. 6 shows an example of a drawing to be recognized; Fig. 7 is a flowchart depicting an overview of the operation of the system in accordance with the embodiment of Fig. 4 of the present invention; Fig. 8 is a flowchart of the operations performed by the simple chart recognition program 21 of Fig. 5; Figs. 9a and 9b are diagrams illustrating how the approximate positions are designated in a drawing; Figs. 10a-10e depict portions of the drawings of Figs. 9a and 9b and illustrate how a chart in the drawing is recognized; Figs. 11a-11c depict a chart, a result of approximating the chart and a result of trimming the chart, respectively; Figs. 12a and 12b illustrate how a chart with symbols connected is recognized; Fig. 13 is a flowchart of the steps performed by the symbol recognition program 23 of Fig. 5; Fig. 14 is a diagram of a double circle symbol and its associated histogram that is useful for explaining operation of the symbol recognition program 23 of Fig. 5; Fig. 15 is a flowchart of the steps performed by the compound chart recognition program 22 of Fig. 5; Figs. 16a and 16b are diagrams showing a compound chart and how the compound chart is designated; Figs. 17a-17e are diagrams of the compound chart of Figs. 16a and 16b which are useful for explaining operations of the compound chart recognition program 22 of Fig. 5; Figs. 18a and 18b are example drawings that are useful for explaining image deletion in background creation; Fig. 19 is a flowchart describing how symbol type and position information is delivered to the chart recognizing program by the chart model creating program; Figs. 20a and 20b are diagrams showing symbols to be recognized; Figs. 21a and 21b are diagrams showing characters to be recognized; Fig. 22 is a diagram for explaining integration of multiple recognized data values; Fig. 23a-23d are examples of types of charts; and Fig. 24 is a diagram of image data extracted to determine a tracking start position. A first embodiment of the present invention will now be described in conjunction with the drawings. The illustrative embodiment utilizes the same hardware as employed in the conventional system of Fig. 1. The illustrative embodiment differs from the conventional system in how it is programmed. The major components of the program for the drawing recognition system of the preferred embodiment are shown in Fig. 4. The system includes an approximate graphic designation program 13a, which allows the operator to designate an approximate type of graphical object to be recognized and an approximate position designation program 13b, which allows the operator to designate an approximate position and shape of the graphical object to be recognized in the drawing. The system further includes a drawing recognition program 73 for recognizing graphical objects in the input drawing. The drawing recognition program is made from several other programs and components: a chart model creation program 16, a chart recognition program 17, a dictionary 20, a recognition result display program 18, and an interactive correction program 19. The chart model creation program 16 is used for creating a chart model (i.e., a rough sketch of a graphical object) for use in recognizing the graphical object according to the approximate type of object and its approximate position (which the operator designates). The chart recognition program 17 matches image data of the drawing with the rough sketch created by chart model creating program 16. The recognition dictionary 20 stores characteristics about objects for use in recognizing objects, such as normalized histograms of ideally-drawn symbols. The recognition result display program 18 super-imposes on the video display 12 (Fig. 2) a recognition result over the input image data. The interactive correction program 19 corrects the recognition result or separates the recognized object from the image data of the input drawing to produce a background. The aforesaid programs are run on the data processing system 14 (Fig. 1). Each of these programs will be described in more detail below. Figure 5 is a block diagram of the chart recognition program 17. The chart recognition program includes a simple chart recognition program 21 for recognizing charts formed by a simple line, such as a straight line or a dashed line. The chart recognition program 17 also includes a compound chart recognition program 22 for recognizing compound charts made from a compound line, such as multiple straight lines or dashed lines. Lastly, the chart recognition program 17 includes a symbol recognition program 23 for recognizing a symbol that is connected to a chart or compound chart. The chart recognition program 17 may also include an isolated symbol recognizing program 24 for recognizing any symbol graphic existing in the drawing. The chart recognition program 17 may also include a character row recognizing program 25 for recognizing any character row existing in the drawing. Before discussing the details of the programs employed in the system, it is helpful to briefly review the operation of the system as shown in the flowchart of Fig. 7. The image reader 11 receives a drawing as input and digitizes an image of the drawing (step 80 in Fig. 7) to produce digital image data. Digital image data can also be obtained through other means. For example, such data may be stored on an optical or magnetic recording media. An example of a drawing to be digitized, which depicts a portion of a map, is shown in Fig. 6. The image data from the image reader 11 is passed to the data processing system 14 (Fig. 1) and then passed to the display 12, where the image is displayed. The approximate designation program may, for example, display a list or table of possible graphical objects which can be recognized. A standard menu-like selection may then be made. The input device 13 is used to designate an approximate type of graphical object to be recognized (step 82 in Fig. 7). From this list, for example, the operator may select a "chart" including a "straight line", may select a "compound chart" made from multiple lines, or may select a symbol, or may select a character. When a "chart" is selected, it is also possible to designate whether to approximate charts in detail or to trim the charts instead. Trimming a chart refers to correction of distorted image data into "true" form. For example, a straight line image entered from original data drawn on paper, particularly when hand-written, may be distorted. The image data can be corrected by changing data in the digitized image data to make a line straight, with constant thickness. Next, the approximate position designating program operates to allow an operator to enter information concerning the approximate position of a chart to be recognized. An operator uses the input device 13 (Fig. 1) to designate several points on the displayed image representing the chart to be recognized, as approximate positions (step 84 in Fig. 7). If there is a symbol connected to the chart for compound chart, the approximate position of the symbol is also designated. When a symbol or a character row is to be recognized, a single point, indicating the approximate position of the symbol or character row, is designated. When the input device 13 (Fig. 1) is a mouse, the designation is effected by clicking the mouse. Specifically, the mouse is clicked once to designate a turning point of a line and clicked twice to designate a symbol point. Once the approximate positions have been designated, the drawing recognition program 14 recognizes the designated graphical object, and the drawing plotter 15 outputs the resulting recognized graphical object (step 86 in Fig. 7). The operation of the drawing recognition program 73 will now be described in more detail. First, the operation of the drawing recognition program 73 will be described for an instance wherein the program is seeking to recognize a simple chart formed with a straight line or a dashed line. The recognition of such a chart is performed by the simple chart recognition program 21, which will be described below in conjunction with the flowchart of Fig. 8. Assume that a dashed line "H" shown in Fig. 9a, is to be recognized. The operator designates that a "chart" is to be recognized, using the input device 13 (Fig. 1). Then, points "A" and "C" are designated by the operator in the vicinities of the end points of the dashed line "H" in the drawing, which is displayed on the video display 12 (Fig. 1), and a point "B", is designated by the operator in the vicinity of the turning point of the dashed line "H". Rough sketch lines (i.e., a chart model) are created (by the chart model creating program 16) on line segments "AB" and "BC", on the basis of the approximate shape of the designated chart, each line segment linking the designated points "A", "B" and "C" (step 31). Then, points are generated along each line segment of the rough sketch, such as line segment "AB", at regular intervals to generate points "A 1 ", "A 2 ", ..., "A n ", where "A n " = "B" (see step 32 in Fig. 8), as shown in Fig. 10a, which shows only a portion of the drawing depicted in Figs. 9a and 9b. The intervals are intended to be constant, though some error exists due to digitization. The size of the interval may be adjusted as needed. Next, as shown in Fig. 10b, each of the respective points on the line segment "AB" which are located closest to corresponding points "A 1 ", "A 2 ", ..., "A n " are retrieved from the image data of the drawing. Then, the positions of the points "A 1 ", "A 2 ", ..., "A n " are changed to those of the retrieved points (see step 32 in Fig. 8). The image data may include information representing the thickness of the line segment. Therefore, the closest points on the line segment are associated with points located inwardly by half the thickness of the line segment. The positions of the points "A l ", "A 2 ", ... , "A n " are changed to those of the inward black points (see step 32). Next, the directions of the line segments formed between the respective points "A 1 ", "A 2 ", ..., "A n " (e.g., "A 1 A 2 ", "A 2 A 3 ", etc.) are calculated, based on the locations of the start and end points of the segments in the x-y coordinate system. If a set of line segments are aligned in a direction represented with a certain threshold, as determined by the line thickness and generally 15° to 20°, the set is deemed to be a correct interval. On the other hand, if a set of line segments lies outside of the threshold the line segments are deemed to be an incorrect interval. In Fig. 10c, "A 1 " to "A 3 " and between points "A 6 " to "A n " are deemed to be correct intervals, while the line segments from points "A 3 " to "A 6 " are deemed to be an incorrect interval (step 33 in Fig. 8). For an incorrect interval, a rough sketch is re-created. For example, the incorrect interval (Fig. 10c) between points "X" and "Y" as shown in Fig. 10d, is re-drawn to create the line 90 (shown in Fig. 10e). Then, the processing of steps 32 and 33 is repeated, using smaller intervals when dividing the line segment, to correctly recognize the resulting line (step 34 in Fig. 8). Next, the type of converged line on points A 1 to A n is recognized. When the image data of the points A 1 to A n in the drawing are represented as alternating white and black pixel illuminance values, the program recognizes that the line is a dashed line. When the number of black pixels per a specified area of the line exceeds certain threshold, the program recognizes the line as a solid line (step 35 in Fig. 8). This processing is performed for each line of the rough sketch. Then, the type of the chart, and the precise position and shape of the chart specified with the final state of the matched rough sketch are output as resultant code data (step 36). The above discussion focuses on operation of the chart recognition program 17 (Fig. 5) when the program recognizes a simple chart such as a straight line or a dashed line. Now consider operation of the program when recognizing a dashed curve like that shown in Fig. 11a. When the image data of a drawing shown in Fig. 11a is to be recognized, a shape like that of Fig. 11b, which is created merely by linking points designated with a mouse, may be encoded or trimmed. Alternatively, a recognized rough sketch like that shown in Fig. 11c may be encoded faithfully to track the original image of Fig. 11a. The chart recognition program 17 (Fig. 5) may also be used to recognize graphical objects like the double-circle symbols and the dashed line linking the doubled circles that are shown in Fig. 12a. In this case, the chart (i.e., the dashed line 92) and symbols (i.e., the double circles 94) are recognized as a unit by performing almost the same operations as those performed for a chart. Specifically, an operator designates a "chart" and also designates points "A" and "C" in the vicinities of the double-circle symbols 94, Lastly, the operator designates a point "B" in the vicinity of the turning point of the line 92 (see Fig. 12b) so that the double-circle symbols and the dashed line linking the double circles will be recognized. Then, rough sketch lines 96 are drawn by linking the designated points "A" and "B", and "B" and "C" as shown in Fig. 12b. Thereafter, the simple chart recognition program 21 (Fig. 5) is executed to recognize the dashed line as described previously. After the dashed line is recognized, the symbol recognition program 23 (Fig. 5) is executed to recognize the symbols according to the flowchart of Fig. 13. is an explanatory diagram showing a double-circle symbol like the symbol 94 of Fig. 12b in enlarged scale. Initially, a symbol retrieval range which is "d A " long and "d B " wide (see Fig. 14) is specified beyond an end "A 1 " of the recognized dashed line, and is cut out from the image data of the drawing (step 41 in Fig. 13). For example, a new image may be made, represented by a grid of pixels d B wide by d A long. Next, the length of a string of white points relative to a center line "QA 1 " (white run length) is calculated to produce a histogram (see Fig. 14) across the length of d A (step 42 in Fig. 13). The histogram represents for each set of points along the length d A of the cut out image, the amount of white pixels in a line segment normal to the center line QR of the cut out image (white run length). Then, a histogram of a symbol that is held in the recognition dictionary 20 (Fig. 4) is matched with the histogram of Fig. 14 to identify the symbol (step 43). In this case, the symbol is identified as a double-circle. Then, a candidate for the center point of the symbol is fetched. During matching, for example, the histogram of Fig. 14 is normalized, and the recognition dictionary (containing a histogram of a ideally-drawn symbol) 20 (Fig. 4) is matched with the normalized histogram to fetch matched data exceeding a certain threshold. The fetched data or a center point candidate is denoted as "P" in Fig. 14 (step 43 in Fig. 13). A center line "ST" is drawn to pass through "P" (Fig. 14) and to lie perpendicularly to a line segment "AQ 1 ". Then, the operations of the steps 42 and 43 (Fig. 13) are repeated to identify the center, size, and type of the symbol (step 44). Using this symbol recognition procedure, any symbol can be recognized despite a variation in size or despite a disconnection. Lastly, the drawing recognition program 73 (Fig. 4) may recognize a compound chart made from multiple lines. The compound chart recognition program 22 (Fig. 5) performs recognition of this compound chart. The operation of this program 22 will be described in conjunction with the flowchart of Fig. 15. Assume that a compound chart made up of multiple lines, as shown in Fig. 16a, is to be recognized. The operator designates that a "compound chart" is to be recognized using the input device 13 (Fig. 1). The operator also designates points "D" and "F" in the vicinities of the end points of the compound chart and designates a point "E", in the vicinity of the turning point of the compound chart. Then, as shown in Fig. 16b, rough sketch lines 98 and 100 are drawn on line segments "DE" and "EF" (step 51 in Fig. 15). Next, for a rough sketch line, such as the rough sketch line 98 for line segment "DE", a line segment "D 1 D n " that passes through point "D" and lies perpendicularly to "DE" and a line segment "E 1 E n " that passes through the point "E" and lies perpendicularly to "DE" are generated as shown in Fig. 17a, which shows only the relevant portion of the drawing of Figs. 16a and 16b. Similar line segments are also generated for the line segment "EF" (step 52 in Fig. 15). Next, points are designated across line segments "D 1 D n " and "E 1 E n " (see Fig. 17a) at regular intervals to generate end point candidates "D l ", "D 2 ", ..., "D n " and "E 1 ", "E 2 ", ..., "E n ' (step 53 in Fig. 15), respectively. Next, sampling line segments "D 2 E k " linking end points "D ℓ " (ℓ = 1, 2, ..., n) with end points "E k " (k = 1, 2, ..., n) are generated as shown in Figs. 17b and 17c. Fig. 17b illustrates the case wherein points "D 3 " - "D n " are connected with respective points "E1" - "E n-2 ". Fig. 17c, in contrast, illustrates the case wherein points "D 1 " - "D n " are connected with points "E 1 " - "E n ". Then, as shown in Fig. 12d, sampling points are generated along sampling line segments D ℓ E k (ℓ, k = 1, 2, ..., n) at regular intervals. Then, points representing black illuminance values in the image data of the drawing and which correspond to the sampling points are counted (step 54 in Fig. 15). The two parallel line segments having the largest total are fetched from among the sampling line segments of Figs. 17b and 17c. The sampling line segments "S' that are shown in Fig. 17e are adopted as contour lines. The distance between the adopted two parallel line segments "S" approximates the width of the compound chart (step 55 in Fig. 15). The type of the compound chart is determined according to the state of distribution of black illuminance values inside the fetched contour lines "S" (Fig. 17d). This means that when contour lines "S" and their internal black illuminance values are apparent, the type of compound chart, such as the two lines and compound chart shown in Fig. 16a, can be recognized. The foregoing processing is performed on each rough-sketch line. Lastly, the type, position, and shape of the compound chart is output (step 57 in Fig. 15). When a symbol in the drawing is to be recognized, "symbol" is selected by the approximate position designating program, and the coordinate values of the approximate position designated on the drawing is picked up for each symbol by the approximate position designating program. The chart model creating program delivers the information concerning the type and position of the symbol directly to the chart recognizing program, whereby the symbol is recognized by the isolated symbol recognizing means. This operation will be described with specific reference to a flow chart shown in Fig. 19. It is assumed that the operator has designated an approximate position F for a symbol as shown in Fig. 20(a). First of all, a rectangular area k 1 , k 2 , k 3 , k 4 centered at the point F is taken out of the image data of the original drawing. (Step 191) Then, labels are attached to continuous regions of black and white pixels inside the rectangular area k 1 , k 2 , k 3 , k 4 . Regions which spread out of the rectangular area are excluded from the labeling. Thus, in case of the drawing shown in Fig. 15(b), only the regions L 1 , L 2 and L 3 are taken out of five continuous white pixel regions L 1 to L 5 . (Step 192) Subsequently, amounts of geometrical characteristics are computed for each continuous region. For instance, areas, shapes, circumferential lengths and relative positions of the regions are determined. (Step 193) Then, a matching operation is executed to obtain matching between the determined characteristic amounts and characteristic amounts which have been beforehand registered in a dictionary for each of the symbols, thereby determining the type, center and inclination of the symbol. (Step 194) The operator can select, for example, "circle" when he selects the "symbol" in the approximate type selection. Selection of such additional condition restricts the candidate area so as to enable more exact recognition. When a character row existing in the drawing is to be recognized, the approximate graphic designating program selects "character", and coordinate values of the approximate position designated on the drawing are taken out for each character row by the approximate position designating program. The chart model creating means then delivers the information concerning the type and the position of the character row directly to the chart recognizing program, whereby the character row is recognized by the character row recognizing program on the basis of the above-mentioned information. It is assumed that a point G has been designated by the operator for a character row as shown in Fig. 21(a). As in the case of recognition of an isolated symbol, a rectangular area k 5 , k 6 , k 7 , k 8 centered at the point G is taken out of the image data of the original drawing. Then, a label is attached to each continuous region of black pixels inside the rectangular area k 5 , k 6 , k 7 , k 8 , and such continuous pixel regions are extracted. Then, the inclination of the character row is determined by interconnecting the centers of these continuous pixel regions and the inclination of image data of each character row is corrected on the basis of the thus determined inclination. Then, the operator executes entry of data through the keyboard while observing the image. Alternatively, image data may be sent to a conventional character recognition device. It is thus possible to extract the type, size, position and inclination of the character row. A recognized chart, symbol or character is presented to the operator by superimposing the results of recognition on image data of the drawing that is displayed on the video display 12 (Fig. 1). This operation is performed by the recognition result display program 18. A deletion range in the image data serving as a sketch, which corresponds to the recognized chart, symbol or character is displayed at the same time on the video display 12. The interactive correction program 19 (in Fig. 4) corrects the results of recognition; that is, the types, positions, and shapes of a chart, symbols and characters to correspond with the designated type. Alternatively, the types of charts or symbols that are well-matched during recognition may be presented to the operator in descending order of match levels to prompt the operator to designate a desired type. When an error in the position or shape of a chart is to be corrected, the error interval may be designated so that the processing beginning at step 32 in Fig. 8 will be performed on the interval. This permits correction with fewer operations than would otherwise be required. Operations for deleting the image data of a recognized chart from an original drawing to produce a background will be described in conjunction with Figs. 18a and 18b. First, a recognized chart is converted into image data of a line 60. Then, a portion 61 of the line 60 is fetched. This portion 61 has the same thickness as the line 60. Then, the portion 62 is deleted by deleting the corresponding image data of the portion (Fig. 18a). When a compound chart is to be deleted, a rectangular area, including recognized contour lines, is deleted such as shown in Fig. 17b. As for each symbol in the drawing, the size, shape, and center position of the symbol are calculated to delete the image data of the symbol from the drawing. In an embodiment shown in Figs. 4 and 5, when a chart shown in Fig. 22 is to be recognized. First, charts "P 1 ", "P 2 " and "P 3 " are designated by an operator, and then they are recognized. Second, charts "P 4 ", "P 2 " and "P 5 " (a symbol "P 2 " is excluded) are designated and then are recognized. When the second recognition process (i.e., the process of recognizing charts P 4 , P 2 and P 5 ) terminates, the recognized data from the two steps are merged automatically to produce integrated data. The approximate position designating means can perform the following function, in addition to the function for designating a graphic object to be recognized and obtaining the recognition result. For instance, when there are a plurality of graphic objects to be recognized, the operator designates the approximate positions for these graphic objects so that these approximate positions are stored. Then, the recognition execution instruction is selected so that processes starting from the chart model creating program down to the recognition result display program are executed as a background processing. Then, a correction is effected by an interactive correction program, starting from the object the recognition of which has been completed. In an alternative method, the computer performs steps from the chart model creating program down to the recognition result display program as a single process, simultaneously with the entry of the approximate positions of the chart, symbols and character rows by the operator. The operator then designate approximate positions of the successive graphic objects on the display, so that the recognition results are displayed successively in accordance with the order of designation. By employing the described procedure, it is possible to shorten the time for the entry of the graphics on the drawing. The image data of the recognized chart is deleted from the image data of the original drawing, whereby the image data of the background is obtained. By effecting a line-refining operation on the thus-obtained background data, and effecting also a vector processing which describes all the lines with straight lines, it is possible to compress the data of the background. Consequently, a composite image composed of the recognized data such as the chart and the background superposed thereon can be displayed at a high speed. When a drawing is very long or large, it may be divided into multiple portions, each portion being input from the image reader 11 (Fig. 1). In order to recognize charts or symbols on the boundaries of the multiple portions, disconnected lines forming the charts or symbols must be re-connected. In the past, this has been very difficult to achieve. According to the present invention, since symbols or charts are recognized by using image data only, a drawing can be reconstructed merely by merging the image data of divided portions. Therefore, symbols or charts on the boundaries of the divided portions can be recognized by reading out image data extending beyond the boundaries. The present invention may be used to recognize, for example, equipment drawings. Attributes may be connected provided for the equipment indicated by the drawing, which enables administration of the equipment via a computer program. While the present has been described with reference to a preferred embodiment thereof, those skilled in the art will know of various changes in detail and form that may be made without departing from the scope of the invention as defined in the appended claims.

Claims: A drawing recognition system for recognizing a drawing and inputting the drawing information to a computer, comprising: a type assignment means (13a) for designating a type of graphical object to be recognized in the drawing; an approximate position designating means (13b) for designating an approximate position and shape of said object in said drawing; a chart model creating means (16) for creating a chart model according to the type of the object designated by said type assignment means (13a) and the approximate position and shape designated by said approximate position designating means (13b), and an object recognizing means (17) for matching said graphical object in said drawing and said chart model, recognizing said object, and then outputting the information of said object, wherein said object recognizing means (17) includes: a simple object recognizing means (21) for approximating the position and shape of the chart model to the data of the graphical object in the drawing to correct the position and shape of the chart model, and then recognizing the type, shape, and position of the object using the corrected chart model, and a compound object recognizing means (22) for processing the data of the object in the drawing and a chart model to fetch contour lines of the image data forming the compound object, calculating the distribution of data values in the image data within the contour lines, and then recognizing the type, shape, and position of the compound object, and a symbol recognizing means (23) for processing an approximate position of a symbol connected to a line or a compound line in the drawing, which has been designated by said approximate position designating means, and the position of the recognized object to acquire the image data of areas in the vicinities of the symbol and line, calculating the distribution of data values in the image data, and then recognizing the type and position of the symbol. A drawing recognition system according to claim 1, wherein said object recognizing means (17) includes an isolated symbol recognizing means (24) which, when an isolated symbol in the drawing is to be recognized, picks up image data of the area in the vicinity of said symbol in the basis of the approximate position information designated by said approximate position designating means (13b), determines the amounts of characteristic such as the size and the shape of regions formed by black pixels and white pixels in said image data, and conducts matching of the characteristic amounts with a recognition dictionary (20), thereby recognizing the type, position and inclination of the isolated symbol. A drawing recognition system according to claim 1, wherein said object recognizing means (17) includes a character row recognizing means (25) which, when a character row in the drawing is to be recognized, extracts continuous black pixel regions in the image data of the area in the vicinity of said character row on the basis of the approximate position information designated by said approximate position designating means (13b), thus extracting the image data constituting the character row, thereby recognizing the type, size, position and inclination of the isolated symbol. A drawing recognition system according to claim 1, wherein said approximate position designating means (13b) includes: means for storing entered approximate position for each of a plurality of graphics as the recognition objects; and means for simultaneously recognizing the objects on the basis of the stored approximate positions in response to a recognition execution instruction. A drawing recognition system according to claim 1, wherein said approximate position designating means (13b) has means for consecutively recognizing the graphic objects on the basis of the designated approximate positions.

Inventors: MAEBARA HIDEAKI, TANAKA SATOSHI, MAEBARA, HIDEAKI, TANAKA, SATOSHI, Maebara, Hideaki, c/o Mitsubishi Denki K. K., Tanaka, Satoshi, c/o Mitsubishi Denki K. K.
Applicants: MITSUBISHI ELECTRIC CORP, MITSUBISHI DENKI KABUSHIKI KAISHA
Application year: 1992
Main classification: G06K9
IPC codes: G06K9