Search method for determining measurement position for three-dimensionally measuring inside of building using 3D scanner, and program
The method optimizes 3D scanner positioning within buildings by generating distance maps from architectural drawings, addressing inefficiencies in existing 3D scanning methods to minimize scans and reduce computational load.
Patent Information
- Application Number
- JP2024044169
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-19
- Publication Date
- 2025-10-02
AI Technical Summary
The challenge of efficiently measuring the interior of large and complex buildings using a 3D scanner is exacerbated by the need for multiple scans due to obstructions and unpredictable measurement ranges, leading to increased computational loads and prolonged processing times.
A search method and program that generates a distance map from architectural drawings to determine optimal measurement positions for a 3D scanner, reducing the number of scans required by identifying wall and floor measurement points that can cover the entire interior efficiently.
This approach reduces calculation load and processing time by converting complex 3D measurement simulations into simpler 2D geometric problems, ensuring comprehensive coverage with fewer scans.
Smart Images

Figure 2025144412000001_ABST
Abstract
Description
[Technical Field]
[0001] An embodiment of the present invention relates to a search method and program for determining measurement positions for three-dimensionally measuring the interior of a building using a 3D scanner. [Background technology]
[0002] Research and development is underway to measure the internal structure of existing buildings in three dimensions, acquire the information as Building Information Modeling (BIM), and utilize it (for example, Patent Document 1). Terrestrial 3D laser scanners (hereinafter simply referred to as 3D scanners) are used to measure the internal structure of buildings in three dimensions, but the larger and more complex the internal structure of a building, the more frequently it is necessary to change the position of the 3D scanner for scanning, which increases the number of scans. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 2022-142994 Summary of the Invention [Problem to be solved by the invention]
[0004] When measuring the interior of a building with a 3D scanner, the 3D scanner must rotate 360 degrees while performing high-density measurements, resulting in a long processing time for each measurement. Therefore, there is a demand for minimizing the number of scans required while still covering the entire interior of the building. When actually measuring a building, the effects of obstructions and the measurable range of the 3D scanner must be taken into account, making it difficult to predict the measurement range. This means that measurements must be taken over a wider area than necessary or multiple times, increasing the measurement load. To solve this problem, rigorous simulations of the measurement location would require high computational loads for processing the 3D data representing the building's structure, making them unrealistic.
[0005] In view of the above problems, one object of one embodiment of the present invention is to provide a search method or program for efficiently determining measurement positions when performing three-dimensional measurements of the interior of an existing building. [Means for solving the problem]
[0006] A search method according to one embodiment of the present invention is a search method for determining measurement positions for three-dimensionally measuring the interior of a building using a 3D scanner, and is executed by a computer to generate a distance map based on a binary image showing the contour line of the building, including the measurement target range and obstacle position information, from an architectural drawing of the building, obtain wall measurement points by excluding measurement points that satisfy predetermined conditions from the measurement point candidates in the distance map, based on the distance from the contour line to the measurement point, obtain floor measurement points based on an unmeasured range obtained by excluding the measurement range identified based on the wall measurement points from the measurement target range, and determine the measurement positions of the 3D scanner by adding the floor measurement points to the wall measurement points.
[0007] In the above search method, the distance map is a composite map that combines a first distance map that calculates the distance to a measurement point that is far from the contour line and a second distance map that defines the distance to an unmeasured contour line among the contour lines.
[0008] In the above search method, excluding measurement points from the measurement point candidates means excluding measurable contours for each of the measurement point candidates.
[0009] In the above search method, excluding measurement points from the measurement point candidates means excluding measurement points that allow measurement of the entire contour line even after excluding the measurement points to be excluded.
[0010] In the above search method, obtaining floor measurement points based on an unmeasured range means calculating measurement points that can measure the unmeasured range.
[0011] In the above search method, calculating measurement points that can measure the unmeasured range means approximating the unmeasured range with a rectangle and calculating whether measurement is possible from outside the rectangle.
[0012] In the above search method, calculating measurement points that can measure the unmeasured range means approximating the unmeasured range with a rectangle and calculating whether measurement is possible from inside the rectangle.
[0013] A program according to one embodiment of the present invention causes a computer to execute the above-described search method. [Effects of the Invention]
[0014] According to one embodiment of the present invention, when performing three-dimensional measurements of the interior of an existing building, measurement positions can be determined efficiently, thereby reducing the calculation load required for calculation processing. [Brief explanation of the drawings]
[0015] [Figure 1] 1 is a diagram illustrating a configuration of a search device according to an embodiment of the present invention. [Figure 2] FIG. 2 is a diagram illustrating a configuration of a search function in an embodiment of the present invention. [Figure 3] FIG. 2 is a diagram showing an example of two-dimensional data obtained by executing a search function 100 according to an embodiment of the present invention. [Figure 4] 1A is a diagram illustrating the preprocessing function in the preprocessing unit, and FIG. 1B is an image 201a generated by the derivation unit 1012. [Figure 5] (A) A diagram illustrating the range and angle that can be measured by a fixed-point type 3D scanner. (B) A diagram illustrating the range and angle that can be measured by a fixed-point type 3D scanner. [Figure 6] (A) A diagram illustrating the relationship between the distance from the measurement point Pa where the 3D scanner is placed to the wall to be measured and the measurable range of the wall from the measurement point. (B) A diagram illustrating a method for calculating the measurable range from the measurement point. [Figure 7] FIG. 10 is a diagram illustrating a wall measurement point calculation function in a wall measurement point calculation unit. [Figure 8] (A) An image containing the measurement range and obstacle location information in an architectural drawing. (B) An example of a distance map image based on the image. [Figure 9] (A) An image in which candidate wall measurement points are placed inside the contour line shown in the image. (B) A distance map image generated based on the wall measurement points. [Figure 10] (A) An image showing an unmeasured wall other than the measured wall. (B) A distance map image showing the relationship between the unmeasured wall and a point close to the unmeasured wall. [Figure 11] This is the composite map image after blending two distance map images. [Figure 12] 10 is a flowchart showing a wall measurement point calculation method. [Figure 13] 10 is a flowchart showing a method for searching for whether or not a measurable wall exists for a wall measurement point. [Figure 14] (A) A diagram showing that the range from measurement point O to line segment AB of the wall can be measured. (B) A diagram showing that line segment OA or line segment OB intersects with another wall CD. (C) A diagram showing the case where vertex Q of another wall exists within triangle OAB. [Figure 15] 17 is a flowchart showing a method for thinning out candidates for wall measurement points shown in step S1700. [Figure 16]FIG. 10 is a diagram showing an example of the positional relationship between a wall and wall measurement points. [Figure 17] FIG. 10 is a diagram illustrating a floor measurement point calculation function executed in a floor measurement point calculation unit. [Figure 18] (A) A diagram showing wall points divided from measurement points. (B) and (C) are diagrams explaining the case where an additional floor is measured when conditions (1) and (2) are not met. [Figure 19] (A) An image showing measurement points where all walls (all contours) can be measured using a 3D scanner. (B) An image showing an unmeasured area that cannot be measured from the wall measurement points. (C) Image 220c showing an area approximated to a rectangle. [Figure 20] 10A is a diagram showing two points that circumscribe a rectangular area at a distance Xmin apart when the length of the long side of the area is within 2Xmax. [Figure 21] This is a diagram showing a rectangular area and two measurement points arranged so that the rectangular area is inscribed in two circles of radius Xmax. [Figure 22] 10 is a flowchart illustrating a floor measurement point calculation method. [Figure 23] 10 is a flowchart showing a method in which the floor measurement range calculation unit calculates a floor measurement range based on wall measurement points. [Figure 24] 10 is a flowchart showing a method by which a floor measurement point calculation unit calculates floor measurement points that can measure the entire rectangular area of a rectangular region. DETAILED DESCRIPTION OF THE INVENTION
[0016] An embodiment of the present invention will be described in detail below with reference to the drawings. The embodiment described below is merely an example of an embodiment of the present invention, and the present invention should not be construed as being limited to these embodiments. In the drawings referred to in this embodiment, identical parts or parts having similar functions are designated by the same or similar symbols (symbols consisting of only a number followed by A, B, etc.), and repeated explanations of such parts may be omitted.
[0017] [overview] According to one embodiment of the present invention, a search device is provided for determining measurement positions for three-dimensionally measuring the interior of a building using a 3D scanner. The search device generates a distance map based on a binary image showing the building's contour line, including the measurement target range and obstacle position information, from an architectural drawing of the building. Wall measurement points are obtained by excluding measurement points that satisfy predetermined conditions from the measurement point candidates in the distance map, based on the distance from the contour line to the measurement point. Floor measurement points are obtained based on an unmeasured range obtained by excluding the measurement range identified based on the wall measurement points from the measurement target range. The measurement positions of the 3D scanner are determined by adding the floor measurement points to the wall measurement points. The search device is described in detail below.
[0018] The 3D scanner applied to this invention refers to a non-contact 3D scanner. A non-contact 3D scanner uses light or laser to measure the distance to an object and generates a 3D model based on that data. Furthermore, this invention applies a fixed-point (tripod-fixed) non-contact 3D scanner, in which the 3D scanner is fixed to a tripod for scanning. Fixed-point 3D scanners are suitable for large objects such as spaces and environments.
[0019] [Hardware configuration] FIG. 1 is a diagram showing the configuration of a search device 1 according to one embodiment of the present invention. The search device 1 includes a control unit 10, a storage unit 20, a communication unit 30, and an input / output unit 40. The control unit 10 includes a CPU, RAM, ROM, etc. The control unit 10 performs processing according to instructions defined in a program by executing a program stored in the storage unit 20 using the CPU. The control unit 10 is an example of a computer. This program includes instructions for realizing a function (search function) of executing a search method for determining measurement positions for three-dimensionally measuring the interior of a building using a 3D scanner. The search function will be described later.
[0020] The storage unit 20 includes a storage device such as a nonvolatile memory, and stores a program to be executed by the control unit 10. This program may be provided to the search device 1 in a state where it is stored in a computer-readable recording medium such as a magnetic recording medium, an optical recording medium, a magneto-optical recording medium, or a semiconductor memory, as long as it is executable by a computer. In this case, the search device 1 may be provided with a device for reading the recording medium. The program may also be provided to the search device 1 by downloading it via the communication unit 30.
[0021] The storage unit 20 stores data used in the search function and data generated in the search function. An example of data stored in the storage unit 20 includes architectural drawings expressed as two-dimensional data showing the internal structure of a building. The architectural drawings include information expressed as two-dimensional coordinates (x, y) corresponding to the positions of structural elements such as walls, floors, and pillars on each floor of the building when viewed from above. In addition, the storage unit 20 may store intermediate data and output data generated in implementing the search function described below.
[0022] The communication unit 30 includes a wireless communication module, and connects to a network NW to transmit and receive various data to and from external devices such as a server in accordance with control from the control unit 10. The network NW includes, for example, the Internet.
[0023] The input / output unit 40 is an interface with the user. The input / output unit 40 includes at least one of a keyboard, a mouse, a speaker, a display, a touch panel, a scanner, etc. An external input / output device may be connected to the input / output unit 40 as needed.
[0024] [Exploration feature overview] Next, the search function will be described. The control unit 10 executes a program stored in the storage unit 20, and realizes the search function in accordance with instructions written in the program.
[0025] 2 is a diagram showing the configuration of the search function 100 according to one embodiment of the present invention. The search function 100 is realized by a preprocessing unit 101, a wall measurement point calculation unit 102, and a floor measurement point calculation unit 103.
[0026] When performing a rigorous simulation of the measurement location using architectural drawings represented as 3D data to measure the internal structure of a building in 3D, the calculation load required for the calculation process becomes high. Therefore, the search function 100 according to one embodiment of the present invention reduces the calculation load required for the calculation process and the load of the 3D measurement by converting the 3D problem into a 2D geometric problem, even under complex measurement conditions that are close to reality.
[0027] FIG. 3 is a diagram showing an example of two-dimensional data obtained by executing the search function 100 according to an embodiment of the present invention.
[0028] The architectural drawings used in the search function 100 contain information on the measurement range and the location of obstacles. Here, the measurement range and obstacles in the architectural drawings are defined by, for example, walls, floors (or ceilings), and columns. Architectural drawings also contain elements such as doors and stairs, but if the search function 100 is executed using data on the architectural drawings that contains information other than the measurement range and the location of obstacles, the calculation load will increase. Therefore, the search function 100 uses a simplified model (also called two-dimensional data) in which elements other than the measurement range and obstacles have been removed from the architectural drawings.
[0029] FIG. 3A is an example of an image 200a including a measurement range and obstacle position information from an architectural drawing. As shown in FIG. 3A, the measurement range and obstacle position information are represented by contour lines. Specifically, image 200a may be an image in which elements other than walls, floors, and pillars have been removed from a building blueprint. Alternatively, image 200a may be an image in which the walls, floors, and pillars are represented by contour lines tracing the walls, floors, and pillars based on a planar image of the building.
[0030] FIG. 3(B) is an example of an image 210a after processing by the pre-processing unit 101. Based on the image 200a, the pre-processing unit 101 derives a plurality of vertices that characterize the measurement range and the position of obstacles, and line segments that connect adjacent vertices among the plurality of vertices. The vertices correspond to the vertices of walls, and the line segments correspond to walls. The pre-processing unit 101 also divides the derived line segments so that they can be measured by a 3D scanner. A method for dividing the line segments will be described later. The image 210a is an image after the process of deriving a plurality of vertices and line segments that characterize the measurement range and the position of obstacles, and the process of dividing the line segments have been executed.
[0031] FIG. 3(C) is an example of image 220a after processing by the wall measurement point calculation unit 102. In the following description, the position at which the 3D scanner is placed to measure one wall or divided walls is referred to as the wall measurement point. The wall measurement point calculation unit 102 calculates the position of the 3D scanner required to measure the entire wall based on the conditions of the vertices and line segments. The wall measurement point calculation unit 102 determines, for example, whether at least one divided wall can be measured for all candidate wall measurement points. Image 220a is an image showing measurement points P1 to P4 at which all walls (all contours) can be measured by the 3D scanner.
[0032] FIG. 3(D) is an example of image 230a after processing by the floor measurement point calculation unit 103. As will be described in detail later, due to the characteristics of 3D scanners, measurements cannot be made within a certain range from the position where the 3D scanner is placed. Therefore, it may not be possible to measure the entire floor using only the processing of the wall measurement point calculation unit 102. Therefore, to enable measurements to be made within a certain range from the position where the 3D scanner is placed, the floor measurement point calculation unit 103 calculates the position at which the 3D scanner should be placed, which is necessary to measure the entire floor, based on the conditions of the vertices, line segments, and the area enclosed by the line segments. Image 230a is an image after measurement point P5 has been added to image 220a. Measurement point P5 is a point that allows measurements to be made on the floor that cannot be measured by the 3D scanner from measurement points P1 to P4.
[0033] In the following explanation, the preprocessing function and preprocessing method executed by the preprocessing unit 101, the wall measurement point calculation function and wall measurement point calculation method executed by the wall measurement point calculation unit 102, and the floor measurement point calculation function and floor measurement point calculation method executed by the floor measurement point calculation unit 103 will each be explained in detail.
[0034] [Preprocessing function] First, a description will be given of the preprocessing function in the preprocessing unit 101. The control unit 10 executes a program stored in the storage unit 20, and realizes the preprocessing function in accordance with instructions written in the program.
[0035] 4(A) is a diagram illustrating the preprocessing function of the preprocessing unit 101. The preprocessing unit 101 is realized by a two-dimensional data acquisition unit 1011, a derivation unit 1012, and a division unit 1013. The two-dimensional data acquisition unit 1011 acquires two-dimensional data (image 200a shown in FIG. 3(A)) including the measurement target range and obstacle position information from an architectural drawing. The two-dimensional data acquisition unit 1011 acquires the image 200a by reading it from the storage unit 20, for example.
[0036] The derivation unit 1012 extracts a plurality of vertices that characterize the measurement range and the positions of obstacles based on the two-dimensional data, and derives line segments connecting adjacent vertices from the plurality of vertices. The derivation unit 1012 may use an existing algorithm to derive the vertices and line segments representing walls, floors, and pillars, for example, OpenCV (function used: findCountours()) as a library. FIG. 4(B) shows an image 201a generated by the derivation unit 1012. As shown in FIG. 4(B), the vertices of the walls (black circles) and line segments representing one surface of the walls are derived from the image 201a.
[0037] The dividing unit 1013 divides the line segments based on units measurable by the 3D scanner. Here, the units measurable by the 3D scanner refer to the smallest units measurable by the 3D scanner. As shown in image 201a, the line segments representing the walls vary in length. The wall measurement point calculation unit 102, described later, determines whether the 3D scanner can measure all of the walls. In this case, if the line segments representing one surface of the wall are long, the wall measurement point calculation unit 102 can only search for measurement points that can measure the entire long line segment, resulting in a limited number of measurement points. Therefore, by dividing the wall based on units measurable by the 3D scanner, the wall measurement point calculation unit 102 can determine whether each divided wall has been measured or not. Figure 3(B) shows image 210a after the dividing unit 1013 has divided the line segments into units measurable by the 3D scanner. The multiple black circles arranged between the vertices of the walls represent the divided walls.
[0038] FIG. 5(A) is a diagram explaining the range that can be measured by a fixed-point type 3D scanner. FIG. 5(B) is a diagram explaining the angle that can be measured by a fixed-point type 3D scanner. In the case of a fixed-point type 3D scanner, the measurable range is a radius X from the measurement point P. min radius greater than or equal to X max In the case of a fixed-point type 3D scanner, it is not possible to measure the area directly below the tripod. Therefore, as shown in FIG. 5(A), the area that cannot be measured from the measurement point P is defined as a radius X min Radius X max The angle θ can be set appropriately depending on the performance of the 3D scanner and the amount of information to be acquired. As shown in FIG. 5B, the angle θ between the measurement point P and the measurement target (the wall 401 in this embodiment) in two dimensions is min The angle θ at which the light or laser emitted from the 3D scanner is incident on the wall is preferably equal to or greater than the angle θ. min If it is less than this, it becomes difficult to measure the wall.
[0039] FIG. 6(A) is a diagram explaining the relationship between the distance from measurement point Pa, where the 3D scanner is placed, to the wall 402 to be measured, and the range of the wall that can be measured from measurement point Pa. As shown in FIG. 6(A), the range of the wall that can be measured from measurement point Pa is determined by the distance to the wall 402 to be measured. The closer measurement point Pa is to the wall 402 to be measured, the smaller the range of the wall that can be measured by the 3D scanner becomes. FIG. 6(B) is a diagram explaining a method for calculating the range that can be measured from measurement point Pa. As shown in FIG. 6(B), measurement point Pa, which is closest to the wall to be measured, is the smallest range that can be measured by the 3D scanner, so the measurement range len when the distance between the 3D scanner and the wall is the shortest min Calculate.
[0040] Measurement range len min is the distance between the wall and the measurement position of the 3D scanner, X min The angle θ at which the infrared light emitted from the 3D scanner is incident on the line segment is the smallest. min When the distance between the 3D scanner and the wall to be measured is the shortest, the measurement range len is expressed as follows: min is the smallest unit for dividing a wall, len min This becomes:
[0041]
number
[0042] [Wall measurement point calculation function] Next, we will explain the wall measurement point calculation function executed in the wall measurement point calculation unit 102. The control unit 10 executes a program stored in the storage unit 20, and realizes the wall measurement point calculation function in accordance with the instructions written in the program.
[0043] The wall measurement calculation function determines candidate measurement points for measuring the walls of a building. Measurement points that meet all of the following predetermined conditions are determined as candidate wall measurement points. (1) As far away from the wall as possible, regardless of whether it is a wall that has already been measured or not. (2) As far away as possible from already measured walls and already explored measurement points (3) Proximity to an unmeasured wall
[0044] In order to determine candidates for wall measurement points, in this embodiment, a distance map, which will be described below, is used.
[0045] 7 is a diagram illustrating the wall measurement point calculation function in the wall measurement point calculation unit 102. The wall measurement point calculation function is realized by a distance map generation unit 1021, a distance map update unit 1022, a wall measurement point determination unit 1023, a search termination condition determination unit 1024, and a wall measurement point candidate thinning unit 1025. The two-dimensional data storage unit 1201, the distance map data storage unit 1202, the wall measurement point candidate data storage unit 1203, and the wall measurement point data storage unit 1204 are stored in the memory unit 20.
[0046] The distance map generator 1021 generates a distance map based on the two-dimensional data acquired from the two-dimensional data storage unit 1201. The two-dimensional data corresponds to an image (a black-and-white binary image) containing the measurement target range and the positional information of obstacles in an architectural drawing. FIG. 8A shows an image 200a containing the measurement target range and the positional information of obstacles in an architectural drawing. Image 200a is the same as image 200a described in FIG. 3A. Specifically, image 200a is a contour image showing the positions of walls, floors, and pillars. A distance map is a calculation of the distance from each pixel to the nearest pixel value 0 (black) when a contour image is input. FIG. 8B shows an example of a distance map image 211a based on image 200a. As shown in FIG. 8B, in the distance map image 211a, the distance from each pixel in the contour image to the nearest contour pixel (pixel value 0) is written at each pixel position in the contour image. In the distance map image 211a, areas far from the wall are displayed brightly regardless of whether the wall is a measured wall that satisfies the condition (1). The brightly displayed areas are candidates for wall measurement points.
[0047] The distance map update unit 1022 reads out the distance map image from the distance map data storage unit 1202 and updates the distance map. The distance map update unit 1022 generates a distance map that takes into consideration conditions (1) and (2) of the wall measurement point candidates, generates a distance map that takes into consideration condition (3), and finally generates a distance map (also called a composite map) that blends the two distance maps.
[0048] FIG. 9(A) shows image 200b in which candidates for wall measurement point Pb are arranged inside the contour line shown in image 200a. In image 201a, the brightly displayed areas of distance map image 211a are designated as wall measurement points Pb. FIG. 9(B) shows distance map image 211b generated based on wall measurement point Pb. Distance map image 211b shows the relationship between wall measurement point Pb and points far from measured walls and searched wall measurement point Pb. As shown in FIG. 9(B), the distance map is generated by regarding wall measurement point Pb as a searched wall, so the area near wall measurement point Pb is displayed dark.
[0049] FIG. 10A shows an image 200c representing an unmeasured wall other than a measured wall. FIG. 10B shows a distance map image 211c representing the relationship between an unmeasured wall and a point close to the unmeasured wall. Distance map images 211a and 211b based on conditions (1) and (2) cannot distinguish between measured and unmeasured walls. Furthermore, in the distance map image 211b shown in FIG. 9B, it takes time to search a narrow range such as area Ra from the wall measurement point Pc. Therefore, to take the unmeasured wall into consideration, a distance map image based on the unmeasured wall is generated according to condition (3). To generate a distance map for determining points close to the unmeasured wall, image 201b representing the unmeasured wall is generated by inverting black and white based on the image of the measured wall. Finally, distance map image 211b and distance map image 211c are blended to generate a composite map. 11 shows a distance map image 211d (synthesized map image) obtained after blending the distance map image 211b and the distance map image 211c. The distance map update unit 1022 selects areas or points with high pixel values in the distance map image 211d and determines them as candidates for wall measurement points.
[0050] The distance map image 211 a generated by the distance map generating unit 1021 and the distance map images 211 b to 211 c generated by the distance map updating unit 1022 may be stored in the distance map data storage unit 1202 .
[0051] The wall measurement point determination unit 1023 determines whether or not a measurable wall exists for the wall measurement point candidate determined by the distance map update unit 1022. When the wall measurement point determination unit 1023 determines that a measurable wall exists among the walls to be measured for the wall measurement point, it stores the wall measurement point as a candidate wall measurement point in the wall measurement point candidate data storage unit 1203. When the wall measurement point determination unit 1023 determines that a measurable wall does not exist for the wall measurement point, it excludes the measurement point from the wall measurement point candidates and stores it in the wall measurement point candidate data storage unit 1203 as a measured measurement point.
[0052] The wall measurement point candidate thinning unit 1025 executes a process of further thinning out wall measurement points from the wall measurement point candidates selected by the wall measurement point determination unit 1023. The wall measurement point candidate thinning unit 1025 determines whether it is possible to measure all walls even if the wall measurement points of the thinning candidates are excluded from the wall measurement point candidates. If the wall measurement point candidate thinning unit 1025 determines that it is possible to measure all walls even if the wall measurement points of the thinning candidates are excluded, it excludes the wall measurement points of the thinning candidates from the wall measurement point candidates. If the wall measurement point candidate thinning unit 1025 determines that it is not possible to measure all walls if the wall measurement points of the thinning candidates are excluded, it stores the wall measurement points in the wall measurement point data storage unit 1204. The wall measurement points selected by the wall measurement point candidate thinning unit 1025 are determined as the final wall measurement points.
[0053] The wall measurement point calculation function generates a distance map and updates it to determine candidates for wall measurement points. At this time, by updating the distance map according to predetermined conditions, the number of candidates for wall measurement points can be significantly reduced. In addition, by determining whether all candidates for wall measurement points can be thinned out and performing a process to thin out wall measurement points that can be thinned out, the number of final wall measurement points can be further reduced.
[0054] [Wall measurement point calculation method] Next, a wall measurement point calculation method executed in the wall measurement point calculation function will be described.
[0055] 12 is a flowchart showing a wall measurement point calculation method. This flowchart starts when the distance map generating unit 1021 acquires two-dimensional data (image 200a including the measurement target range and obstacle position information in the architectural drawing) from the two-dimensional data storage unit 1201.
[0056] The distance map generating unit 1021 generates a distance map based on the acquired two-dimensional data (step S1100). The distance map updating unit 1022 updates the distance map based on the predetermined conditions described with reference to FIGS. 8(A) to 11. When performing the process of step S1100 for the first time, the condition (2) for determining the wall measurement point candidates, that is, being as far as possible from already measured walls and already searched measurement points, may be omitted. In this way, the wall measurement point candidates are determined (step S1200). Next, the wall measurement point determining unit 1023 determines whether or not a measurable wall exists among the walls to be measured for the wall measurement point candidates (step S1300). The process of step S1300 will be described in detail later with reference to FIG. 13. When the wall measurement point determining unit 1023 determines that a measurable wall exists for the wall measurement point (step S1300; YES), the wall measurement point candidates are stored in the wall measurement point candidate data storage unit 1203 (step S1400). Next, measurable walls for the wall measurement point are excluded from the measurement target (step S1500). Here, an image showing the contour line excluding measurable walls from the measurement target (image of the measured wall) may be stored in the two-dimensional data storage unit 1201. In a later process, when generating a distance map image in the distance map update unit 1022, an image showing an unmeasured wall can be generated by inverting black and white based on the image of the measured wall. Next, if there is an unmeasured wall or if the search has not been performed for all candidate wall measurement points (step S1600; YES), the search termination condition determination unit 1024 returns to the process of step S1200 and searches for candidate wall measurement points. In step S1200, the distance map image is updated based on the searched wall measurement points and measured walls, regardless of whether they have become candidate wall measurement points. Thereafter, the processes of steps S1300 to S1600 are performed as described above. The processes of steps S1200 to S1600 are repeated until there are no unmeasured walls and until the search for all candidate wall measurement points has been completed.
[0057] If there are no unmeasured walls and the search for all wall measurement point candidates has been completed (step S1600; NO), the search termination condition determination unit 1024 proceeds to the processing of step S1700. The wall measurement point candidate thinning unit 1025 executes processing to further thin out the wall measurement point candidates selected by the processing of steps S1200 to S1600 (step S1700). The processing of step S1700 will be described in detail later with reference to FIG. 14. The wall measurement point candidate thinning unit 1025 determines the remaining wall measurement point candidates as wall measurement points, and ends the wall measurement point calculation function.
[0058] Next, the processing of step S1300 will be described in detail. Fig. 13 is a flowchart showing a method for searching whether or not a measurable wall exists for the wall measurement point shown in step S1300. The wall measurement point determination unit 1023 determines whether or not a measurable wall exists for the wall measurement point.
[0059] The wall measurement point determination unit 1023 first determines whether the wall measurement point satisfies the distance condition. At this time, when one surface of the wall is to be measured from the wall measurement point, the distance from the wall measurement point to the vertex of the wall or the point of the divided wall is X min More than X max For example, if the distance from the wall measurement point to the vertex of the wall and the distance from the wall measurement point to the divided wall point are less than X min More than X max If the measurement range of one side of the wall is less than or equal to len, min For example, the distance from the wall measurement point to the divided wall point and the distance from the wall measurement point to the divided wall point are X min More than X max If the measurement range of one side of the wall is less than or equal to len, min For example, both the distance from the wall measurement point to the vertex of the wall and the distance from the wall measurement point to the vertex of the wall and the vertex of the wall adjacent to the vertex of the wall can be measured. min More than X maxIf the distance from the wall measurement point to the vertex or divided wall point is X or less, the wall measurement point can measure the entire surface of the wall. min More than X max If it is determined that the angle is equal to or less than θ (step S1301; YES), the process proceeds to step S1302. Next, it is determined whether the wall measurement point satisfies the angle condition. If the angle between the wall measurement point and the wall is θ min If it is determined that this is the case (step S1302; YES), the process proceeds to step S1303. Next, if it is determined that there is no obstacle between the wall measurement point and the wall (step S1303; YES), the process proceeds to step S1400.
[0060] The obstacle determination in step S1303 is performed based on the following predetermined conditions. (1) At the measurement target wall AB and measurement point O, line segment OA or line segment OB must not intersect with other walls. (2) The vertex of the wall does not lie within the triangle formed by the wall AB to be measured and the measurement point O. In this embodiment, the wall AB corresponds to one divided wall, but it may correspond to a plurality of divided walls or one surface of a wall.
[0061] Fig. 14(A) is a diagram showing that the range from measurement point O to line segment AB of the wall can be measured. Fig. 14(B) is a diagram showing that line segment OA or line segment OB intersects with another wall CD. Fig. 14(C) is a diagram showing the case where vertex Q of another wall exists within triangle OAB.
[0062] As condition (1), to determine whether the line segment OA does not intersect with another wall, calculate the cross product of the line segment CD of the wall between the line segment OA and the line segment OA, and determine that they do not intersect if st<0 and s't'<0. The same determination is made for the line segment OB. s=OA×OC, t=OA×OD s'=CD×CO, t'=CD×CA
[0063] As condition (2), to determine whether another vertex exists in triangle OAB, calculate the z components of the following three cross products, and if the signs of the z components are consistent, determine that another wall vertex Q exists in triangle OAB. AO×OP, OB×BP, BA×AP
[0064] The distance from measurement point O to line segment AB on the wall is X min More than X max If it is not equal to or less than this (step S1301; NO), the angle between the wall measurement point and the wall is θ min If it is not equal to or greater than this (step S1302; NO), or if there is an obstacle between the wall measurement point and the wall (step S1303; NO), the process proceeds to step S1600, where the wall measurement point is excluded from the candidates.
[0065] Next, the processing of step S1700 will be described in detail. Fig. 15 is a flowchart showing a method for thinning out candidates for wall measurement points shown in step S1700. The wall measurement point candidate thinning unit 1025 executes processing for thinning out candidates for wall measurement points based on predetermined conditions.
[0066] The wall measurement point candidates obtained by completing the processing of step S1600 are stored in the wall measurement point candidate data storage unit 1203. First, all wall measurement point candidates stored in the wall measurement point candidate data storage unit 1203 are sorted in ascending order of the number of measurable walls (step S1701). Next, one thinned-out candidate is selected from the wall measurement point candidates sorted in ascending order (step S1702). Here, the first wall measurement point sorted in ascending order is selected. Next, it is determined whether all walls can be measured even if the selected wall measurement point is excluded (step S1703).
[0067] Whether all walls can be measured even after excluding the wall measurement points selected in step S1703 is determined based on the following predetermined conditions. (1) Create a matrix in which the rows are measurement points and the columns are measurement targets, and the measurement availability is expressed as 0 or 1. (2) Generate an array (sum array) that sums the columns. (3) An array is obtained by subtracting the rows of the wall measurement points corresponding to the thinning candidates from the sum array.
[0068] Fig. 16 is a diagram showing an example of the positional relationship between walls 403 to 405 and wall measurement points Pc to Pe. As shown in Fig. 16, the walls that can be measured from wall measurement point Pc are walls 404 and 405. The walls that can be measured from wall measurement point Pd are walls 403 and 405. The walls that can be measured from wall measurement point C are walls 404 and 405. This relationship can be expressed as a matrix as follows. In this embodiment, a case will be described in which each of walls 403 to 405 corresponds to one divided wall.
[0069]
number
[0070] The array obtained by subtracting the array of wall measurement points Pc from the sum array is as follows: If the minimum value in the array is 1 or greater, the wall measurement points can be thinned out.
[0071]
number
[0072] The array obtained by subtracting the wall measurement point Pd from the sum array is as follows: If the minimum value in the array is 0, the measurement point cannot be thinned out.
[0073]
number
[0074] As explained above, in step S1703, if all walls are measurable even after excluding the thinned-out candidates (step S1703; YES), the wall measurement point is excluded from the candidates (step S1704). Next, if all of the wall measurement point candidates sorted in ascending order have not been searched (step S1705), the process returns to step S1702, and steps S1703 to S1705 are executed for the next wall measurement point candidate. If all of the wall measurement point candidates sorted in ascending order have been searched, the thinning process ends, and the wall measurement point calculation function is terminated.
[0075] According to the wall measurement point calculation method described above, it is possible to determine whether or not the divided wall can be measured for all candidate wall measurement points. As a result, instead of calculating for all wall points, the wall can be decomposed into edges and vertices, which makes it a simple geometric problem, thereby reducing the calculation load. By decomposing the measurement object into edges and vertices, the conditions can be made into a simple geometric problem, thereby reducing the calculation load. The calculation load can be reduced by considering the candidates for wall measurement points to be thinned out as a matrix.
[0076] [Floor measurement point calculation function] Next, we will explain the floor measurement point calculation function executed by the floor measurement point calculation unit 103. The control unit 10 executes a program stored in the storage unit 20, and realizes the floor measurement point calculation function in accordance with the instructions written in the program.
[0077] 17 is a diagram illustrating the floor measurement point calculation function executed in the floor measurement point calculation unit 103. The floor measurement point calculation function is realized by a floor measurement range calculation unit 1031, an unmeasured floor calculation unit 1032, a floor measurement point calculation unit 1033, and an end condition determination unit 1034. The floor measurement point data storage unit 1205 is stored in the memory unit 20.
[0078] The floor measurement range calculation unit 1031 acquires wall measurement points from the wall measurement point data storage unit 1204 and calculates the measurement range of the floor by coloring the measurable floor range from each wall measurement point to the divided wall points. The floor measurement range calculation unit 1031 determines whether the wall points divided from the wall measurement points satisfy the following predetermined conditions. (1) The distance from the wall measurement point to the divided wall point is X max Within. (2) The obstacle condition is satisfied in the range from the wall measurement point to the divided wall point. For the obstacle condition, see the explanation of FIG. 14.
[0079] 18(A) to 18(C) are diagrams explaining the conditions for calculating the floor measurement range from the wall measurement point. FIG. 18(A) is a diagram showing point AB on the divided wall from measurement point Pf. FIG. 18(B) and FIG. 18(C) are diagrams explaining the case where the floor is additionally measured when conditions (1) and (2) are not satisfied. In FIG. 18(A), the distance from wall measurement point Pf to point A on the divided wall and the distance from wall measurement point Pf to point B on the divided wall are X. max If the distance is within the range, condition (1) is satisfied. In this case, if there is no obstacle in the range from the wall measurement point Pf to the wall point AB, it is determined that the floor in the range from the wall measurement point Pf to the wall point AB can be measured. Figure 18(B) shows the case where the distance from the measurement point Pf to the wall point AB is X max As shown in FIG. 18(B), even if the condition (1) is not satisfied, the distance from the wall measurement point Pf to X max Therefore, there is an X between the wall measurement point Pf and point A of the divided wall. max Point A' is located at the wall measurement point Pd and point B on the divided wall. max18C is a diagram illustrating a case where condition (1) is satisfied and an obstacle exists in the range between the wall measurement point Pf and the wall vertex EF. Another wall exists between the measurement point Pf and the wall vertex E, and another wall exists between the wall measurement point Pf and the wall vertex F. In this case, it is not possible to measure the range from the wall measurement point Pf to the wall vertex EF. However, since no other wall exists in the range from the wall measurement point Pf to the vertex G and point H, it is determined that the floor can be measured in the range from the measurement point Pf to the vertex G and point H of the divided wall.
[0080] 19(A) is an image 220a showing measurement points P1 to P4 at which all walls (all contours) can be measured using a 3D scanner. In image 220a shown in FIG. 19(A), the range that can be measured from wall measurement point P1 is colored to correspond to the area that satisfies conditions (1) and (2). For wall measurement points P2 to P4, the range that can be measured from wall measurement points P2 to P4 is also colored based on conditions (1) and (2), similar to the case of wall measurement point P1. Once the range that can be measured from all wall measurement points P1 to P4 has been colored, it is possible to determine the range in image 220a that cannot be measured from wall measurement points P1 to P4.
[0081] The unmeasured floor calculation unit 1032 extracts unmeasured floor areas based on the range in which the floor can be measured by the floor measurement range calculation unit 1031. The unmeasured floor areas are areas other than the colored areas in the image 220a. FIG. 19(B) is an image showing an unmeasured area Rb that cannot be measured from the wall measurement points P1 to P4. In this embodiment, the description is given assuming that there is one unmeasured area, but the number of unmeasured areas is not particularly limited. As shown in FIG. 19(B), the shape of the area Rb is irregular, so it is difficult to calculate floor measurement points for measuring the area Rb as is. Therefore, the irregular area Rb is approximated to a rectangle, and then floor measurement points that can measure the area Rb are calculated. FIG. 19(C) is an image 220c showing an area Rc obtained by approximating the area Rb to a rectangle.
[0082] The floor measurement point calculation unit 1033 calculates measurement points that can measure the entire area of the region Rc. Measurement points that can measure the entire area of the region Rc are called floor measurement points. Measurement points that satisfy the following predetermined conditions are determined as floor measurement points. (1) The length of the long side of the rectangular area Rc is within the specified range (2X max ) or less (2) X in a rectangle min It is possible to measure a rectangular area Rc from two circumscribed points that are apart from each other.
[0083] In Figure 20(A), the length of the long side of the rectangular region Rc is 2X max If the distance X is within the range min This is a diagram showing two points Pg and Ph that are circumscribed apart. In other words, the rectangular area Rc has a radius X max The white circle surrounding the measurement points Pg and Ph is the distance X min FIG. 20(B) is a diagram for explaining a method for determining whether a rectangular area Rc from point Pg can be measured. As shown in FIG. 20(B), it is further determined whether the following conditions are met for sides IJ, JK, and KL. (3) The distance from point Pg to points I, J, K, and L of the rectangle is X. max Within. (4) The obstacle condition is satisfied within the range from point Pg to each of sides IJ, JK, and KL. For the obstacle condition, see the explanation of FIG.
[0084] Points Pg and Ph are judged to see if they satisfy conditions (3) and (4), and if they do, they can be used as floor measurement points. Note that it is sufficient if at least one of points Pg and Ph satisfies conditions (3) and (4).
[0085] If the condition (1) is not satisfied, the floor measurement point calculation unit 1033 calculates floor measurement points that can measure the rectangular area Rc from inside the rectangular area Rc. max 21 shows that measurement points Pi and Pj are arranged so as to be inscribed in a circle. According to Fig. 21, a range of Lx × Ly is possible for each measurement point. Lx and Ly are expressed by the following equations.
[0086]
number
[0087] The floor measurement point calculation unit 1033 calculates how many measurement ranges from the measurement point are required to measure the entire rectangular area Rc, depending on the length of Lx and the length of Ly. The floor measurement point calculation unit 1033 calculates whether adding measurement ranges from the measurement point to the rectangular area Rc in the row direction or the column direction will result in the smallest number of measurement ranges from the measurement point. In FIG. 21, a radius X is added to the rectangular area Rc so that the two measurement ranges overlap. max Therefore, if the rectangular area Rc is larger, the circle of radius X max The number of circles increases by two. In this way, the rectangular area Rc increases by 2X max If the number of wall measurement points exceeds , the wall measurement points are arranged at equal intervals within the rectangular region Rc.
[0088] The termination condition determination unit 1034 determines whether or not there is an unmeasured area in the image 220b. If it is determined that there is an unmeasured area in the image 220b, floor measurement points are calculated for the unmeasured area. If it is determined that there is no unmeasured area in the image 220b, the floor measurement point calculation function is terminated.
[0089] [Floor measurement point calculation method] Next, a floor measurement point calculation method executed in the floor measurement point calculation function will be described.
[0090] FIG. 22 is a flowchart illustrating a floor measurement point calculation method. This flowchart begins when the floor measurement range calculation unit 1031 acquires wall measurement point data from the wall measurement point data storage unit 1204. The floor measurement range calculation unit 1031 calculates the floor measurement range based on the wall measurement points (step S2100). Next, the unmeasured floor calculation unit 1032 calculates the unmeasured floor area based on the floor measurement range (step S2200). The unmeasured floor calculation unit 1032 also approximates each unmeasured floor area with a rectangle (step S2300). Next, the floor measurement point calculation unit 1033 calculates floor measurement points based on the size of the rectangular area under predetermined conditions (step S2400). Next, if the termination condition determination unit 1034 determines that an unmeasured floor area exists in the image 200b (step S2500; Yes), the process returns to step S2400 and executes steps S2400 to S2500. If the termination condition determination unit 1034 determines that there is no unmeasured floor in the image 200b (step S2500; NO), the floor measurement points are output (step S2600) and the wall measurement point calculation function is terminated (end). The calculated floor measurement points may be stored in the floor measurement point data storage unit 1205.
[0091] Next, the processing of step 2100 will be described in detail. FIG. 23 is a flowchart showing a method by which the floor measurement range calculation unit 1031 calculates the floor measurement range based on the wall measurement points. When the floor measurement range calculation unit 1031 acquires wall measurement point data, it selects one of the multiple wall measurement points and determines whether it satisfies the distance condition (step S2101). If the distance condition is satisfied (step S2101; YES), it determines whether the wall point from the wall measurement point satisfies the obstacle condition (step S2103). If it is determined that the obstacle condition is satisfied (step S1203; YES), it determines the floor measurement point range for that wall measurement point (step S2105). If it is determined that there are no uncalculated wall measurement points, it proceeds to the processing of step S2200. If it is determined that there are unmeasured measurement points, it returns to the processing of step S2101.
[0092] In the process of step S2101, if it is determined that the distance condition is not satisfied (step S2101; NO), as shown in FIG. 19(B), a distance X max A point representing the obstacle is added (step S2102). If it is determined in the process of step S2103 that the obstacle condition is not met (step S2103; NO), a range in which the floor can be measured is added as shown in FIG. 19(C) (step S2104).
[0093] Next, the processing of step 2400 will be described in detail. Figure 24 is a flowchart showing a method by which the floor measurement point calculation unit 1033 calculates floor measurement points that can measure the entire rectangular area of the rectangular area Rc in step 2400. This flowchart starts when the floor measurement point calculation unit 1033 acquires an image 220a showing the rectangular area Rc.
[0094] The floor measurement point calculation unit 1033 calculates the rectangular area Rc by dividing the area Rc by the radius X max The floor measurement point calculation unit 1033 determines whether the rectangular area Rc is within the range of the circle of radius X (step S2401). maxIf it is determined that the rectangular area Rc is within the range of the circle (step S2401; YES), it is determined whether the entire rectangle can be measured from a point outside the rectangular area Rc (step S2402). If the floor measurement point calculation unit 1033 determines that the entire rectangle can be measured from the rectangular area Rc (step S2402; YES), it determines that measurement point as a floor measurement point (step S2403) and terminates the floor measurement point calculation function. Note that in step S2401, if it is determined that the entire rectangular area is not within the range of the circle with radius Xmax (step S2401; NO), or if it is determined that the entire rectangle cannot be measured from a point outside the rectangular area (step S2402; NO), it calculates a floor measurement point from inside the rectangular area (step S2404).
[0095] According to the floor measurement point calculation method described above, the unmeasured floor area can be calculated by calculating the measurable floor area based on the wall measurement points. Even if the unmeasured floor area has an irregular shape, it can be approximated to a rectangular area, making it possible to analytically calculate the optimal floor measurement points quickly.
[0096] By displaying the wall measurement points P1 to P4 calculated by the wall measurement point calculation unit 102 and the floor measurement point P5 calculated by the floor measurement point calculation unit 103 on one image, it is possible to determine the measurement positions for three-dimensionally measuring the interior of a building using a 3D scanner. [Explanation of symbols]
[0097] 1: Search device, 10: Control unit, 20: Memory unit, 30: Communication unit, 40: Input / output unit, 100: Search function, 101: Preprocessing unit, 102: Wall measurement point calculation unit, 103: Floor measurement point calculation unit, 200a, 200b, 201a, 210a: Image, 211a to 211d: Distance map image, 220a, 230a: Image, 401 to 405: Wall, 1011: 2D data acquisition unit, 1012: Derivation unit, 1013: Division unit, 1021: Distance map generation unit, 1 022: Distance map update unit, 1023: Wall measurement point determination unit, 1024: Search termination condition determination unit, 1025: Wall measurement point candidate thinning unit, 1031: Floor measurement range calculation unit, 1032: Unmeasured floor calculation unit, 1033: Floor measurement point calculation unit, 1034: Termination condition determination unit, 1201: 2D data storage unit, 1202: Distance map data storage unit, 1203: Wall measurement point candidate data storage unit, 1204: Wall measurement point data storage unit, 1205: Floor measurement point data storage unit
Claims
1. A search method for determining a measurement position for three-dimensionally measuring the interior of a building using a 3D scanner, comprising: generating a distance map based on a binary image showing the contour of the building including the measurement target range and obstacle position information from an architectural drawing of the building; acquiring wall measurement points obtained by excluding measurement points that satisfy predetermined conditions from the measurement point candidates in the distance map according to the distance from the contour line to the measurement points; acquiring floor measurement points based on an unmeasured range obtained by excluding a measurement range identified based on the wall measurement points from the measurement target range; A search method executed by a computer, in which the measurement position of the 3D scanner is determined by adding the floor measurement point to the wall measurement point.
2. 2. The search method according to claim 1, wherein the distance map is a composite map obtained by combining a first distance map that calculates the distance between the measurement point and a point that is far from the contour line and a second distance map that defines the distance between the measurement point and an unmeasured part of the contour line.
3. The search method according to claim 1 , wherein excluding the measurement points from the measurement point candidates includes excluding measurable contours for each of the measurement point candidates.
4. The search method according to claim 3 , wherein excluding the measurement points from the measurement point candidates includes excluding measurement points that are capable of measuring the entire contour line even after excluding the measurement points to be excluded.
5. The search method according to claim 1 , wherein acquiring the floor measurement points based on the unmeasured range comprises calculating measurement points that can measure the unmeasured range.
6. The search method according to claim 1 , wherein calculating measurement points at which the unmeasured range can be measured comprises approximating the unmeasured range with a rectangle and calculating whether measurement is possible from outside the rectangle.
7. The search method according to claim 1 , wherein calculating measurement points at which the unmeasured range can be measured comprises approximating the unmeasured range with a rectangle and calculating whether the unmeasured range can be measured from inside the rectangle.
8. A program for causing a computer to execute the search method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Model generation device, model generation method, and model generation program
JP2022142994A