Drawing recognition system and drawing recognition method

The drawing recognition system improves accuracy by dividing floor plans based on room count and using type-specific models, addressing inaccuracies in recognizing diverse building plans.

JP7867286B2Active Publication Date: 2026-05-29NOHARA GRP INC

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
NOHARA GRP INC
Filing Date
2023-11-01
Publication Date
2026-05-29

AI Technical Summary

Technical Problem

Existing drawing recognition systems face challenges in accurately recognizing elements in floor plans of buildings of varying sizes, leading to inaccurate recognition results.

Method used

A drawing recognition system that divides floor plans based on the number of rooms, using multiple recognition models tailored to different types of plans, and excludes drawings with unguaranteed accuracy to improve recognition accuracy.

Benefits of technology

Enhances the recognition accuracy of building floor plans by suppressing variations in the number of rooms within divided drawings, utilizing machine learning and type-specific recognition models.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007867286000003
    Figure 0007867286000003
  • Figure 0007867286000004
    Figure 0007867286000004
  • Figure 0007867286000005
    Figure 0007867286000005
Patent Text Reader

Abstract

To improve recognition accuracy of a plane view of a building.SOLUTION: A drawing recognition system 10 includes: an acquisition part 11 which acquires drawing data including a plane view of a building; a division part 13 which generates a division drawing by dividing the plane view according to the number of rooms contained in the plane view; a recognition part 14 which generates a recognition result for a plane view by recognizing an element in the plane view on the basis of the division drawing and an output part 15 which outputs the recognition result of the plane view.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This disclosure relates to a drawing recognition system and a drawing recognition method. [Background technology]

[0002] Non-patent document 1 discloses a machine learning model called "Deep Floor Plan," which is constructed by using a simple floor plan of a house to perform machine learning. This machine learning model recognizes elements contained in the input floor plan of a building. [Prior art documents] [Non-patent literature]

[0003] [Non-Patent Document 1] Zhiliang Zeng, Xianzhi Li, Ying Kin Yu, Chi-Wing Fu, "Deep Floor Plan Recognition Using a Multi-Task Network with Room-Boundary-Guided Attention", The Chinese University of Hong Kong, August 29, 2019 [Overview of the project] [Problems that the invention aims to solve]

[0004] Building floor plans include not only those for small buildings such as detached houses, but also those for large buildings such as hospitals, apartment buildings, and hotels. When attempting to recognize elements contained in floor plans of buildings of different sizes, there is a risk of obtaining inaccurate recognition results. In this technology field, there is a need to accurately recognize elements contained in floor plans of various types of buildings.

[0005] This disclosure describes a drawing recognition system and a drawing recognition method that can improve the accuracy of recognizing floor plans of buildings. [Means for solving the problem]

[0006] A drawing recognition system relating to one aspect of this disclosure includes: an acquisition unit that acquires drawing data including a floor plan of a building; a division unit that generates divided drawings by dividing the floor plan according to the number of rooms included in the floor plan; a recognition unit that generates a floor plan recognition result by recognizing elements included in the floor plan based on the divided drawings; and an output unit that outputs the floor plan recognition result.

[0007] A drawing recognition method relating to another aspect of this disclosure includes the steps of: acquiring drawing data including a floor plan of a building; generating divided drawings by dividing the floor plan according to the number of rooms included in the floor plan; generating a floor plan recognition result by recognizing elements included in the floor plan based on the divided drawings; and outputting the floor plan recognition result.

[0008] In these drawing recognition systems and methods, the floor plan is divided according to the number of rooms it contains, and the elements contained in the floor plan are recognized based on the divided drawings. With this configuration, even if the floor plans of buildings of different scales are divided while taking the number of rooms into consideration, the variation in the number of rooms contained in the divided drawings can be suppressed. Therefore, the accuracy of recognizing the elements contained in the divided drawings can be improved. As a result, it becomes possible to improve the recognition accuracy of the floor plans of buildings.

[0009] In some embodiments, the recognition unit may include a recognition model generated by performing machine learning using multiple plan drawings as training data. The recognition model may receive a segmented drawing and output the recognition result of the segmented drawing. In this case, the accuracy of recognizing the plan drawings of buildings can be improved by training the recognition model with a sufficient number of plan drawings.

[0010] In some embodiments, the drawing recognition system may further include a classification unit that classifies plan drawings into one of several types. The recognition unit may include multiple recognition models corresponding to the multiple types as recognition models. The recognition unit may select one recognition model from the multiple recognition models according to the type of plan drawing and generate a plan drawing recognition result using the selected recognition model. In this case, elements included in the divided drawing are recognized using the recognition model corresponding to the type of plan drawing. This configuration makes it possible to improve the accuracy of plan drawing recognition compared to a configuration that recognizes multiple types of plan drawings using a general-purpose recognition model.

[0011] In some embodiments, the classification unit may determine whether a plan drawing is a drawing for which the accuracy of drawing recognition can be guaranteed or a drawing for which the accuracy of drawing recognition cannot be guaranteed. If the recognition unit determines that a plan drawing is a drawing for which the accuracy of drawing recognition cannot be guaranteed, it does not need to recognize the elements contained in the plan drawing. With this configuration, a decrease in the accuracy of plan drawing recognition can be avoided by excluding plan drawings for which the accuracy of drawing recognition cannot be guaranteed from the recognition target.

[0012] In some embodiments, the output unit may output information indicating that the plan view is not subject to drawing recognition if it is determined that the accuracy of drawing recognition cannot be guaranteed. For example, the user can be made aware that the plan view is not subject to drawing recognition by being notified that it is not subject to drawing recognition.

[0013] In some embodiments, the division section may generate a binarized image by binarizing the floor plan, and the number of rooms may be calculated based on the objects in the white areas included in the binarized image. In this case, the number of rooms can be obtained by image processing the floor plan. Therefore, a division drawing can be generated from a floor plan without using any other information.

[0014] In some embodiments, the division unit may divide the plan view such that the number of rooms included in the divided drawing is not more than a predetermined number. In this case, even if the plan view includes a plurality of rooms, the divided drawing includes not more than a predetermined number of rooms. Therefore, even for plan views of buildings of different scales, the variation in the number of rooms included in the divided drawing can be suppressed. As a result, it becomes possible to improve the recognition accuracy of the plan view of the building.

Effect of the Invention

[0015] According to the present disclosure, the recognition accuracy of the plan view of a building can be improved.

Brief Description of the Drawings

[0016] [Figure 1] FIG. 1 is a block diagram showing an example of the functional configuration of a drawing recognition system according to an embodiment. [Figure 2] FIG. 2 is a diagram showing an example of the hardware configuration of a computer constituting the drawing recognition system shown in FIG. 1. [Figure 3] FIG. 3 is a diagram for explaining the selection of a plan view performed by the user. [Figure 4] FIG. 4 is a diagram for explaining the input of the outer periphery of a building and index lines of actual size values performed by the user. [Figure 5] FIG. 5 is a flowchart of a drawing recognition method performed by the drawing recognition system shown in FIG. 1. [Figure 6] FIG. 6 is a flowchart showing in detail an example of the classification process of FIG. 5. [Figure 7] FIG. 7 is a diagram for explaining the detection process of a diagonal room. [Figure 8] FIG. 8 is a flowchart showing in detail an example of the division process of FIG. 5. [Figure 9] FIG. 9 is a diagram for explaining the division procedure of a plan view. [Figure 10] FIG. 10 is a diagram for explaining the recognition process. [Figure 11] FIG. 11 is a diagram showing an example of the recognition result of a plan view. [Figure 12] Figure 12 shows another example of the recognition results for a plan view. [Modes for carrying out the invention]

[0017] Embodiments of this disclosure will be described in detail below with reference to the drawings. In the description of the drawings, the same elements are denoted by the same reference numerals, and redundant descriptions are omitted.

[0018] First, a drawing recognition system according to one embodiment will be described with reference to Figures 1 and 2. Figure 1 is a block diagram showing an example of the functional configuration of a drawing recognition system according to one embodiment. Figure 2 is a diagram showing an example of the hardware configuration of the computer constituting the drawing recognition system shown in Figure 1.

[0019] The drawing recognition system 10 shown in Figure 1 is a system that recognizes elements included in the floor plan of a building. Examples of buildings include detached houses, apartment buildings, hospitals, clinics, hotels, and welfare facilities. Examples of elements include rooms, walls, and openings. The drawing recognition system 10 receives drawing data, including the floor plan, from the user's terminal device via a communication network. The communication network may consist of either wired or wireless connections. Examples of communication networks include the Internet, WAN (Wide Area Network), and mobile communication networks.

[0020] The drawing recognition system 10 may consist of a single computer 100 (see Figure 2). Alternatively, the drawing recognition system 10 may consist of multiple computers 100, similar to cloud computing. In this case, the multiple computers 100 are connected to each other via a communication network, thereby functioning logically as a single drawing recognition system 10.

[0021] As shown in Figure 2, the computer 100 includes a processor 101, main memory 102, auxiliary storage 103, communication device 104, input device 105, and output device 106. An example of the processor 101 is a CPU (Central Processing Unit). The main memory 102 consists of RAM (Random Access Memory) and ROM (Read Only Memory), etc. An example of the auxiliary storage 103 is semiconductor memory and hard disk drive. An example of the communication device 104 is a network card and wireless communication module. An example of the input device 105 is a keyboard and mouse. An example of the output device 106 is a display. Note that the computer 100 does not necessarily have to include the input device 105 and the output device 106.

[0022] Each functional element of the drawing recognition system 10 is realized by loading a predetermined computer program into hardware such as the processor 101 or main memory 102, and having the processor 101 execute that computer program. The processor 101 operates each piece of hardware according to the computer program, and also reads and writes data to the main memory 102 and auxiliary memory 103.

[0023] As shown in Figure 1, the drawing recognition system 10 includes, as functional elements, an acquisition unit 11, a classification unit 12, a division unit 13, a recognition unit 14, and an output unit 15. The functions (operations) of each functional element will be explained in detail in the drawing recognition method described later, so here we will only briefly explain the functions of each functional element.

[0024] The acquisition unit 11 is a functional element that acquires various types of data. For example, the acquisition unit 11 acquires drawing data, including floor plans, from the user's terminal device via a communication network.

[0025] The classification unit 12 is a functional element that classifies floor plans into one of several types. For example, the classification unit 12 classifies floor plans into drawings that include slanted rooms, drawings that do not include slanted rooms, and drawings for which the accuracy of drawing recognition cannot be guaranteed. Examples of drawings for which the accuracy of drawing recognition cannot be guaranteed include drawings with low resolution, drawings with low image quality, drawings covered with diagonal lines, drawings in which rooms are grayed out, and drawings in which partitions are drawn with dotted lines.

[0026] The division unit 13 is a functional element that generates divided drawings by dividing the floor plan according to the number of rooms included in the floor plan. The division unit 13 determines the number of rooms included in each divided drawing to be a predetermined number (the standard number of rooms N, described later). ref The plan view is divided into sections such that the number of sections is less than or equal to the specified number. For example, the number of sections is 20.

[0027] The recognition unit 14 is a functional element that generates a plan view recognition result by recognizing elements contained in the plan view based on the divided drawings. The recognition unit 14 includes multiple recognition models corresponding to multiple types classified by the classification unit 12. Each recognition model is generated by performing machine learning using multiple plan views of the type corresponding to that recognition model as training data. Each recognition model receives a divided drawing and outputs a recognition result of the divided drawing. The recognition unit 14 selects one recognition model from the multiple recognition models according to the type of plan view acquired by the acquisition unit 11, and generates a plan view recognition result using the selected recognition model.

[0028] The recognition results of the floor plan include, for example, element ID, drawing name, element type, detail type, cost calculation target, predicted value, and units (see Figure 12). The element ID is information that uniquely identifies the element. The element type indicates the type of element, such as room, opening, and wall. The detail type is a subdivision of the element type. For example, a room is subdivided into living room, etc. The cost calculation target is a parameter that defines the size of the element. The predicted value is the value of the cost calculation target obtained by drawing recognition. The units are the units of the predicted value.

[0029] The output unit 15 is a functional element that outputs the results of the floor plan recognition. The output unit 15 outputs (sends) the floor plan recognition results to the user's terminal device, for example, using email.

[0030] Next, the drawing recognition method performed by the drawing recognition system 10 will be explained with reference to Figures 3 to 12. Figure 3 is a diagram illustrating the selection of a floor plan by the user. Figure 4 is a diagram illustrating the input of the building's perimeter and actual-size index lines by the user. Figure 5 is a flowchart of the drawing recognition method performed by the drawing recognition system shown in Figure 1. Figure 6 is a flowchart showing in detail an example of the classification process in Figure 5. Figure 7 is a diagram illustrating the detection process of a slanted room. Figure 8 is a flowchart showing in detail an example of the division process in Figure 5. Figure 9 is a diagram illustrating the division procedure of a floor plan. Figure 10 is a diagram illustrating the recognition process. Figure 11 is a diagram showing an example of the floor plan recognition result. Figure 12 is a diagram showing another example of the floor plan recognition result.

[0031] First, the user uploads the desired drawing data to the drawing recognition application and selects the floor plan within the drawing data. The drawing recognition application is, for example, a web application. The drawing data is, for example, a PDF (Portable Document Format) file. For example, as shown in Figure 3, the user selects the floor plan to be recognized by enclosing it in a rectangular frame F within the drawing data. Note that the frame F contains information such as dimensions in addition to the floor plan of the building.

[0032] Next, the user inputs the perimeter of the building included in the selected floor plan and an index line representing its actual size. For example, as shown in Figure 4, the user inputs the perimeter of the building by drawing a line Lc along the outer wall of the building, enclosing it. Furthermore, the user draws an index line Ls representing the actual length on the drawing and inputs the actual size represented by that index line Ls.

[0033] Upon receiving the above input, the terminal device calculates the vertex coordinates of the outer perimeter of the building and transmits the drawing data and the vertex coordinates of the outer perimeter to the drawing recognition system 10. This initiates the series of processes shown in Figure 5.

[0034] As shown in Figure 5, first, the acquisition unit 11 acquires drawing data, the vertex coordinates of the frame showing the plan view, and the vertex coordinates of the outer perimeter (step S11). Then, the acquisition unit 11 outputs the drawing data, the vertex coordinates of the frame showing the plan view, and the vertex coordinates of the outer perimeter to the classification unit 12 and the division unit 13.

[0035] Next, the classification unit 12 performs classification processing (step S12). In the classification processing of step S12, as shown in Figure 6, the classification unit 12 receives drawing data, vertex coordinates of a frame showing the plan view, and vertex coordinates of the outer perimeter, and extracts the plan view of the building from the drawing data (step S21). For example, the classification unit 12 finds the minimum and maximum values ​​of the X coordinate and the minimum and maximum values ​​of the Y coordinate from the vertex coordinates of the outer perimeter, and calculates the coordinates of the lower left (minimum X coordinate, minimum Y coordinate) and upper right (maximum X coordinate, maximum Y coordinate) of the plan view to be extracted. Then, the classification unit 12 extracts a rectangular area with the lower left coordinate and upper right coordinate as diagonal vertices from the drawing data as the plan view of the building.

[0036] Next, the classification unit 12 removes characters from the extracted plan view (step S22). The classification unit 12, for example, binarizes the plan view and detects continuous regions that satisfy predetermined conditions as character regions. Continuous regions are regions where black pixels are continuous. Then, the classification unit 12 removes the character regions from the binarized plan view to generate a binarized image.

[0037] Next, the classification unit 12 determines whether the plan drawing is a drawing for which the accuracy of drawing recognition can be guaranteed or a drawing for which the accuracy of drawing recognition cannot be guaranteed (step S23). Here, low-resolution drawings (drawings with coarse images) and drawings covered with diagonal lines are used as examples of drawings for which the accuracy of drawing recognition cannot be guaranteed, and the following explanation is given.

[0038] First, the classification unit 12 detects contour points, straight lines, and diagonal lines contained in the binarized image. Contour points are detected, for example, using the findContours module of OpenCV (Open Source Computer Vision Library). If the detected contour points are consecutive, a contour line is generated. Straight lines are detected, for example, using the HoughLinesP module of OpenCV. Diagonal lines are detected, for example, by adding a diagonal line kernel (filter) to the binarized image and performing morphological operations using the dilate and erode modules of OpenCV.

[0039] The classification unit 12 then calculates a resolution score and a diagonal coverage score using contour points, straight lines, and diagonal lines. Here, the classification unit 12 obtains nine image regions by equally dividing the binarized image into three vertical (Y-axis) and horizontal (X-axis) sections, and calculates a score for each image region.

[0040] An example of how to calculate the diagonal line coverage score is described below. The diagonal line coverage score is set to an initial value (zero). The classification unit 12 calculates the ratio of the number of pixels occupied by all detected diagonal lines to the number of pixels occupied by all detected contour lines, and compares this ratio with a predetermined threshold Dth (for example, 0.25). If the ratio is greater than or equal to the threshold Dth, the classification unit 12 determines that the diagonal line coverage is high and adds predetermined points to the diagonal line coverage score. If the ratio is less than the threshold Dth, the classification unit 12 determines that the diagonal line coverage is low and does not add points to the diagonal line coverage score. The diagonal line coverage score is calculated in this way.

[0041] An example of how the resolution score is calculated is described below. The resolution score is set to an initial value (zero). Images with low resolution tend to have many contour points detected. Therefore, the classification unit 12 calculates the ratio of the number of pixels occupied by all detected contour points to the number of pixels occupied by all detected contour lines, and compares this ratio with a predetermined threshold Rth1 (for example, 1.5). If the ratio is greater than or equal to the threshold Rth1, the classification unit 12 determines that the resolution is low and adds a predetermined number of points to the resolution score. If the ratio is less than the threshold Rth1, the classification unit 12 determines that the resolution is high and does not add any points to the resolution score.

[0042] In low-resolution images, many contour points are detected, while straight lines tend to be less easily detected. Therefore, the classification unit 12 calculates the ratio of the number of pixels occupied by all detected straight lines to the number of pixels occupied by all detected contour lines, and compares this ratio with a predetermined threshold Rth2 (for example, 0.5). If the ratio is less than or equal to the threshold Rth2, the classification unit 12 determines that the resolution is low and adds a predetermined number of points to the resolution score. If the ratio is greater than the threshold Rth2, the classification unit 12 determines that the resolution is high and does not add any points to the resolution score.

[0043] Furthermore, the classification unit 12 may calculate the resolution score using feature quantities for a set of contour point clusters. For example, the classification unit 12 smooths the binarized image by applying a blurring process to it, and detects contour points from the smoothed binarized image. The classification unit 12 then applies an expansion process to the detected contour points to merge neighboring contour points together and generate clusters of contour points. The classification unit 12 then removes clusters of contour points whose area is smaller than a predetermined value, and calculates feature quantities for the remaining clusters. For example, the area, width, and height of the pixels formed by the contour point clusters can be used as feature quantities. If these values ​​are greater than or equal to a predetermined threshold, the classification unit 12 adds predetermined points to the resolution score. The resolution score is calculated in this way.

[0044] For example, the classification unit 12 determines that a plan view is a drawing for which the accuracy of drawing recognition cannot be guaranteed if the sum of the resolution score and the diagonal coverage score of any image area exceeds a preset guarantee threshold, and determines that a plan view is a drawing for which the accuracy of drawing recognition can be guaranteed if the sum of the above scores of all image areas is less than the guarantee threshold.

[0045] Furthermore, even in drawings where rooms are grayed out, the coverage rate of the diagonal lines is expected to be high. Therefore, by using the score of the coverage rate of the diagonal lines, it may be possible to determine that drawings in which rooms are grayed out are drawings in which the accuracy of drawing recognition cannot be guaranteed.

[0046] If a drawing in which the accuracy of drawing recognition cannot be guaranteed includes a drawing in which partitions are drawn with dotted lines, the classification unit 12 determines whether or not the drawing has partitions drawn with dotted lines based on the continuous regions included in the binarized image. For example, the classification unit 12 detects the continuous regions included in the binarized image and the continuous regions included in the dilated binarized image. The continuous regions are detected, for example, using the OpenCV module connectedComponentsWithStats. The more parts separated by dotted lines there are, the greater the number of continuous regions after dilation tends to be compared to the number of continuous regions before dilation. Therefore, the classification unit 12 calculates the ratio of the number of continuous regions after dilation to the number of continuous regions before dilation and compares this ratio with a predetermined judgment threshold. If the ratio is greater than or equal to the judgment threshold, the classification unit 12 determines that the plan is a drawing in which partitions are drawn with dotted lines (a drawing in which the accuracy of drawing recognition cannot be guaranteed).

[0047] In step S23, if it is determined that the floor plan is a drawing that can guarantee the accuracy of drawing recognition (step S23: YES), the classification unit 12 determines whether the floor plan includes a slanted room or not (step S24). In step S24, first, the classification unit 12 detects objects in the white areas included in the binarized image. Objects in the white areas are detected, for example, using the OpenCV module connectedComponentsWithStats. Then, as shown in Figure 7, the classification unit 12 draws a bounding rectangle CR1 that does not consider rotation and a bounding rectangle CR2 that does consider rotation for object R. A circumscribed rectangle CR1, without considering rotation, is a rectangle that has sides along the X-axis and sides along the Y-axis and circumscribes object R. A circumscribed rectangle CR2, with rotation considered, is the rectangle that circumscribes object R and has the largest proportion of the rectangle occupied by object R.

[0048] The classification unit 12 determines that object R is a slanted room if, for example, all of the following conditions are met: the angle (0 degrees or more and less than 180 degrees) between any side of the circumscribed rectangle CR2 and the X-axis is greater than or equal to a predetermined angle; the ratio of the area of ​​object R to the area of ​​the circumscribed rectangle CR1 is less than or equal to a predetermined area ratio; and the ratio of the number of pixels in the overlapping area of ​​the circumscribed rectangle CR2 and object R to the number of pixels of the circumscribed rectangle CR1 is less than or equal to a predetermined ratio. The classification unit 12 then determines that the plan view contains slanted rooms if the number of slanted rooms is greater than or equal to a predetermined number, and determines that the plan view does not contain slanted rooms if the number of slanted rooms is less than the predetermined number.

[0049] On the other hand, if in step S23 it is determined that the plan view is a drawing for which the accuracy of drawing recognition cannot be guaranteed (step S23: NO), the classification unit 12 performs the process in step S25 without performing the process in step S24.

[0050] Next, the classification unit 12 outputs the classification result to the recognition unit 14 (step S25). The classification result includes information indicating the type of floor plan (here, a drawing for which the accuracy of drawing recognition cannot be guaranteed, a drawing that includes a slanted room, and a drawing that does not include a slanted room). With this, the classification process of step S12 is completed.

[0051] Next, the division unit 13 performs a division process (step S13). In the division process of step S13, as shown in Figure 8, the division unit 13 receives drawing data, vertex coordinates of the frame showing the plan view, and vertex coordinates of the outer perimeter from the acquisition unit 11, extracts a plan view of the building from the drawing data (step S31), and removes text from the extracted plan view (step S32). Note that the processes in steps S31 and S32 are the same as the processes in steps S21 and S22, so a detailed explanation is omitted here.

[0052] Next, the division section 13 is the number of divisions N of the plan view. div Calculate the number of divisions (step S33). div This is the number of times the plan view is divided into two equal parts. In step S33, the division unit 13 first detects objects in the white areas included in the binarized image. Objects in the white areas are detected, for example, using the OpenCV module connectedComponentsWithStats.

[0053] The division unit 13 then determines whether each of the detected white area objects is a room area. Room areas are considered to have a shape close to a rectangle with a certain width and height. Therefore, the division unit 13 determines that an object is not a room area if any of the following conditions are met: the width or height of the object is less than or equal to a predetermined number of pixels (e.g., 15 pixels); the ratio of the width to the height or the ratio of the height to the height of the object is greater than or equal to a predetermined value; or the area of ​​the object is less than or equal to a predetermined number of pixels (e.g., 300 pixels).

[0054] The division unit 13 may determine that an object is not in the room area if the distance between the centroid of the object's virtual bounding rectangle and the centroid of the object is greater than or equal to a predetermined number of pixels (e.g., 30 pixels). The virtual bounding rectangle is a rectangle having the width (length in the X-axis direction) and height (length in the Y-axis direction) of the object. Alternatively, the division unit 13 may determine that an object is not in the room area if the ratio of the object's area to the area of ​​the virtual bounding rectangle is less than or equal to a predetermined ratio (e.g., 0.5).

[0055] The division unit 13 may determine that an isolated object among multiple objects is not part of the room area. For example, the division unit 13 determines that an object is isolated if no other objects are located within a predetermined range from the virtual bounding rectangle of the object. The predetermined range is, for example, the area enclosed by the virtual bounding rectangle and a rectangle that is located outward from the periphery of the bounding rectangle by half the sum of the average width and average height of all objects.

[0056] In a floor plan, emergency staircases, stairs, and entrances may be represented as a collection of multiple similar objects that are interconnected. The division unit 13 may determine that multiple similar objects that are interconnected are not room areas. Specifically, the division unit 13 first groups the similar objects. Here, if the area and perimeter of one object are within a range of approximately 0.7 to 1.3 times the area and perimeter of another object, these objects are determined to be highly similar. The division unit 13 applies an expansion process to all the grouped objects and connects them. Then, if the area of ​​the connected objects is at least a predetermined multiple (for example, 4.5 times) of the average area of ​​all the objects, the division unit 13 determines that none of the objects within the connected objects are room areas.

[0057] Then, the splitting unit 13 removes the objects determined not to be room areas from the objects in the white areas, and determines the remaining objects as room areas. Then, the splitting unit 13 determines the number of splitting times N ref so that each of the split drawings contains a predetermined number of rooms N div . Specifically, first, as shown in Equation (1), the splitting unit 13 uses the number of objects N room in the room area and the reference number of rooms N ref to calculate the ideal number of split drawings N d . Note that the function int(x) returns an integer by truncating the decimal point of x.

[0058]

Number

[0059] Then, the splitting unit 13 calculates the number of splitting times N d from the ideal number of split drawings N div as shown in Equation (2). Note that the function round(x) returns the result of rounding x to the even number closest to x and greater than or equal to x.

[0060]

Number

[0061] Subsequently, the splitting unit 13 divides the plan view (step S34). In step S34, the splitting unit 13 divides the plan view into two Ndiv equal parts. In other words, the splitting unit 13 performs the two-way splitting of the plan view N div times. As a result, split drawings are generated. For example, as shown in FIG. 9, in the first split, the splitting unit 13 sets a split line L0 connecting the centers of the two long sides of the plan view P. Then, the splitting unit 13 divides the plan view P based on the split line L0 so that the two split drawings P1 and P2 overlap by a predetermined number of pixels. For example, the splitting unit 13 divides the plan view P so that the area of a predetermined number of pixels including the split line L0 in the long side direction is included in each of the drawings P1 and P2.

[0062] In the second division, the division unit 13 sets a dividing line L1 connecting the centers of the two long sides of drawing P1, and divides the plan view P1 based on the dividing line L1 so that the two divided drawings P11 and P12 overlap by a predetermined number of pixels. Similarly, the division unit 13 sets a dividing line L2 connecting the centers of the two long sides of drawing P2, and divides the plan view P2 based on the dividing line L2 so that the two divided drawings P21 and P22 overlap by a predetermined number of pixels. This same division process continues until the number of divisions reaches N. div This is repeated until...

[0063] Next, the division unit 13 outputs the division drawing to the recognition unit 14 (step S35). Note that the number of divisions is N. div If the value is zero, the plan view is not divided. In this case, the division unit 13 outputs the plan view as a divided drawing to the recognition unit 14. With this, the division process of step S13 is completed.

[0064] Next, the recognition unit 14 performs recognition processing (step S14). In step S14, the recognition unit 14 receives the classification result from the classification unit 12 and the divided drawing from the dividing unit 13, and selects one recognition model from among multiple recognition models according to the type of plan drawing. Then, the recognition unit 14 inputs the divided drawing one by one into the selected recognition model and obtains the recognition result of the divided drawing from the recognition model.

[0065] As shown in Figure 10, the recognition unit 14 includes a recognition model M1 and a recognition model M2. Recognition model M1 is a recognition model for recognizing floor plans that include slanted rooms. Recognition model M2 is a recognition model for recognizing floor plans that do not include slanted rooms. If the classification result indicates a drawing that includes slanted rooms, the recognition unit 14 selects recognition model M1 and inputs the divided drawing into recognition model M1. The recognition unit 14 then obtains the recognition result of the divided drawing from recognition model M1. On the other hand, if the classification result indicates a drawing that does not include slanted rooms, the recognition unit 14 selects recognition model M2 and inputs the divided drawing into recognition model M2. The recognition unit 14 then obtains the recognition result of the divided drawing from recognition model M2.

[0066] The recognition unit 14 then generates a plan view recognition result by summing the recognition results of each divided drawing. If a plan view like the one shown in Figure 11 is used as the recognition result, the recognition unit 14 may recombine the divided drawings into a single plan view, or it may use the original plan view as is. The recognition unit 14 then outputs the plan view recognition result to the output unit 15. Furthermore, if the recognition unit 14 indicates that the classification result is a plan drawing for which the accuracy of drawing recognition cannot be guaranteed, it will not perform the recognition process. In this case, the recognition unit 14 will output the recognition result of the plan drawing, which indicates that accuracy cannot be guaranteed, to the output unit 15.

[0067] Next, the output unit 15 outputs the floor plan recognition result (step S15). In step S15, when the output unit 15 receives the floor plan recognition result from the recognition unit 14, it outputs (sends) the floor plan recognition result to the user's terminal device. For example, the output unit 15 sends an email to the user's terminal device containing a URL (Uniform Resource Locator) for displaying the floor plan recognition result. The user can view the floor plan recognition result by clicking the URL on their terminal device.

[0068] As shown in Figure 11, the recognition results of the plan view may be displayed by overlaying the elements included in the plan view, along with their element IDs, onto the plan view. As shown in Figure 12, the recognition results of the plan view may be displayed in a tabular format. For example, for each element, the element ID, drawing name, element type, detail type, cost calculation target, predicted value, and unit may be displayed.

[0069] If the output unit 15 indicates that the accuracy of the plan view recognition result cannot be guaranteed, it notifies the user's terminal device that the selected plan view is not supported. The output unit 15 sends the unsupported notification, for example, via email. This completes the series of processes for the drawing recognition method. Step S13 may be performed before step S12, or it may be performed in parallel with step S12.

[0070] In the drawing recognition system 10 and drawing recognition method described above, the floor plan is divided according to the number of rooms it contains, and the elements contained in the floor plan are recognized based on the divided drawings. With this configuration, even if the floor plans of buildings of different scales are divided while taking the number of rooms into consideration, the variation in the number of rooms contained in the divided drawings can be suppressed. Therefore, the recognition accuracy of the elements contained in the divided drawings can be improved. As a result, it becomes possible to improve the recognition accuracy of the floor plans of buildings.

[0071] Specifically, the division section 13 has a number of rooms included in the division drawing that corresponds to the standard number of rooms N. ref The floor plan is divided as follows. Therefore, even if the floor plan contains multiple rooms, the divided drawings will have a standard number of rooms N. ref The following number of rooms are included. Therefore, even with floor plans of buildings of different sizes, the variation in the number of rooms included in the divided drawings can be suppressed. As a result, it becomes possible to improve the accuracy of recognizing building floor plans.

[0072] The recognition unit 14 includes a recognition model generated by performing machine learning using multiple floor plans as training data. In this configuration, the accuracy of recognizing floor plans of buildings can be improved by training the recognition model with a sufficient number of floor plans.

[0073] Floor plans come in various types (properties), such as those that include slanted rooms and those that do not. In a configuration that recognizes these floor plans using a general-purpose recognition model, the recognition accuracy may decrease. On the other hand, in the drawing recognition system 10, the recognition unit 14 includes multiple recognition models corresponding to the multiple types into which floor plans can be classified, and selects one recognition model from the multiple recognition models according to the type of floor plan to be recognized, and generates the floor plan recognition result using the selected recognition model. In other words, elements included in the divided drawing are recognized using a recognition model corresponding to the type of floor plan. With this configuration, it is possible to improve the recognition accuracy of floor plans compared to a configuration that recognizes multiple types of floor plans using a general-purpose recognition model.

[0074] The classification unit 12 determines whether the plan drawing is a drawing for which the accuracy of drawing recognition can be guaranteed or a drawing for which the accuracy of drawing recognition cannot be guaranteed. If the recognition unit 14 determines that the plan drawing is a drawing for which the accuracy of drawing recognition cannot be guaranteed, it does not recognize the elements contained in the plan drawing. Therefore, since plan drawings for which the accuracy of drawing recognition cannot be guaranteed are excluded from the recognition target, a decrease in the accuracy of plan drawing recognition can be avoided.

[0075] The output unit 15 outputs information indicating that the plan view is not supported by the drawing recognition system if it is determined that the accuracy of the drawing recognition system cannot be guaranteed. For example, by notifying the user that the plan view is not supported by the drawing recognition system, the user can be made aware that the plan view is not supported by the system.

[0076] The division unit 13 generates a binarized image by binarizing the floor plan and calculates the number of rooms based on the objects in the white areas included in the binarized image. With this configuration, the number of rooms can be obtained by image processing of the floor plan. Therefore, a division drawing can be generated from the floor plan without using any other information.

[0077] However, the drawing recognition system and drawing recognition method relating to this disclosure are not limited to the embodiments described above.

[0078] For example, the drawing recognition system 10 does not necessarily have a classification unit 12. In this case, the recognition unit 14 generates the recognition result of the plan drawing using a common recognition model.

[0079] The drawing recognition application may be configured to allow the user to input a classification. In this case, the drawing recognition system 10 does not need to include a classification unit 12. Alternatively, the user may input a type different from the type of plan drawing classified by the classification unit 12. For example, the user may input in the drawing recognition application whether the floor plan is a residential floor plan or a non-residential floor plan. In this case, the recognition unit 14 selects a recognition model from among several recognition models that corresponds to the classification entered by the user, and generates the floor plan recognition result using the selected recognition model.

[0080] The recognition unit 14 may recognize elements included in the plan view by image analysis instead of a recognition model.

[0081] The classification unit 12 does not need to determine whether a plan drawing is one that can guarantee the accuracy of drawing recognition or one that cannot. In this case, the recognition unit 14 performs drawing recognition on all plan drawings. Furthermore, this application discloses the following configuration. [Configuration 1] An acquisition unit that acquires drawing data including floor plans of buildings, A division unit that generates a divided drawing by dividing the floor plan according to the number of rooms included in the floor plan, A recognition unit that generates a recognition result of the plan view by recognizing the elements included in the plan view based on the division drawing, A drawing recognition system comprising an output unit that outputs the recognition result of the plan view. [Configuration 2] The recognition unit includes a recognition model generated by performing machine learning using multiple plan views as training data, The drawing recognition system according to configuration 1 above, wherein the recognition model receives the divided drawing and outputs the recognition result of the divided drawing. [Configuration 3] The system further comprises a classification unit that classifies the aforementioned plan drawings into one of several types, The recognition unit includes, as the recognition model, a plurality of recognition models corresponding to the plurality of types, The drawing recognition system according to configuration 2, wherein the recognition unit selects one recognition model from the plurality of recognition models according to the type of plan drawing, and generates the recognition result of the plan drawing using the selected recognition model. [Structure 4] The classification unit determines whether the plan drawing is a drawing for which the accuracy of drawing recognition can be guaranteed or a drawing for which the accuracy of drawing recognition cannot be guaranteed. The drawing recognition system according to configuration 3, wherein the recognition unit determines that the plan view is a drawing for which the accuracy of drawing recognition cannot be guaranteed, and in the event that the recognition unit does not recognize the elements included in the plan view. [Composition 5] The drawing recognition system according to configuration 4, wherein the output unit outputs information indicating that the plan view is not subject to drawing recognition if it is determined that the accuracy of drawing recognition cannot be guaranteed. [Composition 6] The drawing recognition system according to any one of the above configurations 1 to 5, wherein the dividing unit generates a binarized image by binarizing the plan view, detects objects in the white areas included in the binarized image, and calculates the number of rooms based on the objects. [Composition 7] The drawing recognition system according to any one of the above configurations 1 to 6, wherein the dividing section divides the floor plan so that the number of rooms included in the divided drawing is less than or equal to a predetermined number. [Structure 8] Steps include obtaining drawing data, including floor plans of buildings, The steps include: generating a divided drawing by dividing the floor plan according to the number of rooms included in the floor plan; The steps include: generating a recognition result for the plan view by recognizing the elements included in the plan view based on the divisional drawing; A drawing recognition method, comprising the step of outputting the recognition result of the plan view. [Explanation of Symbols]

[0082] 10... Drawing recognition system, 11... Acquisition unit, 12... Classification unit, 13... Segmentation unit, 14... Recognition unit, 15... Output unit, M1... Recognition model, M2... Recognition model.

Claims

1. An acquisition unit that acquires drawing data including floor plans of buildings, A classification unit that classifies the aforementioned plan view into one of several types, A recognition unit that generates a recognition result of the plan view by recognizing the elements included in the classified plan view, An output unit that outputs the recognition result of the aforementioned plan view, Equipped with, The classification unit determines whether the floor plan includes a slanted room or does not include a slanted room. The recognition unit is a recognition model generated by performing machine learning using multiple floor plans as training data, and comprises a first recognition model for recognizing floor plans that include slanted rooms, and a second recognition model for recognizing floor plans that do not include slanted rooms. The recognition unit generates the recognition result of the plan drawing using a recognition model corresponding to the type of plan drawing, where, If it is determined that the floor plan includes a room at an angle, the recognition result is generated using the first recognition model. If it is determined that the floor plan does not include a slanted room, the recognition result is generated using the second recognition model. Drawing recognition system.

2. An acquisition unit that acquires drawing data including a floor plan of a building, A classification unit that classifies the aforementioned plan view into one of several types, A recognition unit that generates a recognition result of the plan view by recognizing the elements included in the classified plan view, An output unit that outputs the recognition result of the aforementioned plan view, Equipped with, The classification unit determines whether the plan drawing is a drawing for which the accuracy of drawing recognition can be guaranteed or a drawing for which the accuracy of drawing recognition cannot be guaranteed. The recognition unit is a recognition model generated by performing machine learning using multiple plan drawings as training data, and comprises a recognition model corresponding to at least one of the multiple types, and generates the recognition result of the plan drawing using the recognition model corresponding to the type of plan drawing, where, The drawing recognition system wherein the recognition unit determines that the plan drawing is a drawing for which the accuracy of drawing recognition cannot be guaranteed, and therefore does not recognize the elements included in the plan drawing.

3. The drawings for which the accuracy of the aforementioned drawing recognition cannot be guaranteed are at least one of the following: drawings with a resolution lower than a predetermined standard, drawings in which the proportion of diagonal lines in the contour lines is higher than a predetermined standard, drawings in which rooms are grayed out, and drawings in which partitions are drawn with dotted lines. The drawing recognition system according to claim 2.

4. The classification unit determines whether the plan drawing is a drawing that can guarantee the accuracy of drawing recognition or a drawing that cannot guarantee the accuracy of drawing recognition by quantifying the degree to which accuracy cannot be guaranteed for each of the multiple image regions obtained by dividing the plan drawing, and making the determination based on the sum of the quantified degrees of inability to guarantee accuracy for all image regions. The drawing recognition system according to claim 2.

5. The drawing recognition system according to claim 2, wherein the output unit outputs information indicating that the plan view is not subject to drawing recognition if it is determined that the accuracy of drawing recognition cannot be guaranteed.

6. Steps include obtaining drawing data, including floor plans of buildings, The steps include classifying the aforementioned plan view into one of several types, The steps include: generating a recognition result of the plan view by recognizing the elements included in the classified plan view; The step includes outputting the recognition result of the plan view, In the classification step described above, it is determined whether the floor plan includes a slanted room or does not include a slanted room. In the step of generating the recognition result, a recognition model is generated by performing machine learning using multiple floor plans as training data, and this model includes a first recognition model for recognizing floor plans that include slanted rooms and a second recognition model for recognizing floor plans that do not include slanted rooms. The recognition result of the floor plan is then generated using the recognition model corresponding to the type of floor plan. If it is determined that the floor plan includes a room at an angle, the recognition result is generated using the first recognition model. If it is determined that the floor plan does not include a slanted room, the recognition result is generated using the second recognition model. Drawing recognition method.

7. Steps include obtaining drawing data, including floor plans of buildings, The steps include classifying the aforementioned plan view into one of several types, The steps include: generating a recognition result of the plan view by recognizing the elements included in the classified plan view; The step includes outputting the recognition result of the plan view, In the classification step described above, it is determined whether the plan drawing is a drawing that can guarantee the accuracy of drawing recognition or a drawing that cannot guarantee the accuracy of drawing recognition. In the step of generating the recognition result, A recognition model generated by performing machine learning using multiple plan drawings as training data, wherein the recognition result of the plan drawing is generated using a recognition model corresponding to at least one of the multiple types, If the aforementioned plan drawing is determined to be a drawing for which the accuracy of drawing recognition cannot be guaranteed, the elements included in the plan drawing will not be recognized. Drawing recognition method.

8. A program for causing a computer to perform each step of the drawing recognition method described in claim 6 or 7.