Point cloud processing device, point cloud processing method, and point cloud processing program

The point cloud processing device and method automate the separation of ceiling and wall surfaces in room interiors by using point density analysis, enhancing efficiency and reducing manual effort.

JP7770082B2Active Publication Date: 2025-11-14TOPCON CORPORATION
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2021155816
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-09-24
Publication Date
2025-11-14
Estimated Expiration
2041-09-24

AI Technical Summary

Technical Problem

The manual process of separating point clouds for ceilings from room interiors in fields like architecture and interior design is cumbersome and requires significant effort.

Method used

A point cloud processing device and method that cuts out point clouds using a thin, flat, planar space to identify and separate point clouds based on point density, allowing for the automatic identification of wall and ceiling surfaces within a room.

Benefits of technology

Enhances the efficiency of processing point clouds by enabling automated separation and identification of room surfaces, reducing manual effort and improving data management.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007770082000001
    Figure 0007770082000001
  • Figure 0007770082000002
    Figure 0007770082000002
  • Figure 0007770082000003
    Figure 0007770082000003
Patent Text Reader

Abstract

To provide a point group processing apparatus, a point group processing method and a point group processing program that improve efficiency of point group processing.SOLUTION: A processing apparatus 400 of a point group that is obtained by laser scanning for an object including a surface comprises: a point group cutting unit 411 that cuts the point group by means of a thin and flat planar space, and obtains a plurality of cut point groups; a point number calculation unit 412 that calculates a number of points in each of the plurality of cut point groups; and a surface point group detection unit 413 that detects a point group constituting a surface from among the plurality of cut point groups on the basis of the number of points.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to processing point clouds. [Background technology]

[0002] There is known a technique for obtaining a point cloud (also called point cloud data) by laser scanning (see, for example, Patent Documents 1 and 2). In laser scanning, data on the positions of a large number of reflection points of laser scanning light is obtained. In laser scanning, the direction and distance from the laser scanning device are measured for each point. Here, if the position and orientation of the laser scanning device in the coordinate system used are known, the coordinates of each point in that coordinate system can be determined.

[0003] The set of coordinate data for each point is called a point cloud. Note that the distance and direction data for each point acquired by a laser scanning device may also be called a point cloud. In this case, the position of each point can be described in polar coordinates with the position of the laser scanning device as the origin. Also, the reflection intensity data for each point may be included in the point cloud data. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Patent No. 6184237 [Patent Document 2] U.S. Patent No. 9,671,217 Summary of the Invention [Problem to be solved by the invention]

[0005] For example, consider an image (point cloud image) in which a point cloud of a room is acquired and displayed as points. In this case, if only the point cloud of the ceiling can be removed or separated, a point cloud image that shows the interior of the room from above can be obtained. The technology for obtaining such point cloud images is effective in fields such as architecture and interior design, for example, BIM (Building Information Modeling). It is also an effective technology for investigating old buildings such as shrines and temples.

[0006] Until now, the task of obtaining point cloud images like the one above has been done manually by workers looking at the point cloud images displayed on a screen. For example, it was necessary to manually specify the point cloud for the ceiling using a GUI. This work was cumbersome and required a great deal of effort.

[0007] In this context, an object of the present invention is to provide a technique that can improve the efficiency of processing point clouds. [Means for solving the problem]

[0008] The present invention provides a processing device for a point cloud obtained by laser scanning an object including a surface, the processing device comprising: a point cloud cutting unit that cuts out the point cloud using a thin, flat, planar space to obtain a plurality of cut-out point clouds; a point number calculation unit that calculates the number of points in each of the plurality of cut-out point clouds; and a surface point cloud detection unit that detects a point cloud that constitutes the surface from the plurality of cut-out point clouds based on the number of points; The object is an interior of a room, the flat, planar space is parallel to a horizontal plane, and the point cloud processing device selects the point cloud with the lowest density from the multiple cut-out point clouds, regards the set of horizontally distributed points included in the selected point cloud as a set of wall surface points, and expands the set of horizontally distributed points vertically to obtain a point cloud of the wall surface.

[0011] The present invention provides a method for processing a point cloud obtained by laser scanning an object including a surface, the method comprising the steps of: cutting out the point cloud by a thin, flat, planar space to obtain a plurality of cut-out point clouds; calculating the number of points in each of the plurality of cut-out point clouds; and detecting a point cloud constituting the surface from the plurality of cut-out point clouds based on the number of points; The object is an interior of a room, the flat space is parallel to a horizontal plane, and the point cloud with the lowest density of points is selected from the plurality of cut point clouds. A set of horizontally distributed points included in the selected point cloud is regarded as a set of wall surface points, and the set of horizontally distributed points is expanded vertically to obtain a wall surface point cloud. It can also be understood as a point cloud processing method.

[0012] The present invention is a program for causing a computer to process a point cloud obtained by laser scanning an object including a surface, the program causing the computer to cut out the point cloud by a thin, flat, planar space to obtain a plurality of cut-out point clouds, calculate the number of points in each of the plurality of cut-out point clouds, and, based on the number of points, detect a point cloud that constitutes the surface from the plurality of cut-out point clouds; The object is an interior of a room, the flat space is parallel to a horizontal plane, and the point cloud with the lowest density of points is selected from the plurality of cut point clouds. A set of horizontally distributed points included in the selected point cloud is regarded as a set of wall surface points, and the set of horizontally distributed points is expanded vertically to obtain a wall surface point cloud. It can also be understood as a program for processing point clouds. [Effects of the Invention]

[0013] According to the present invention, the processing of point clouds is made more efficient. [Brief explanation of the drawings]

[0014] [Figure 1] FIG. 1 is a conceptual diagram illustrating the principle of the invention. [Figure 2] FIG. 1 is a conceptual diagram illustrating the principle of the invention. [Figure 3] 10 is a graph showing the distribution of point cloud density in the Z direction. [Figure 4] FIG. 2 is a block diagram of a point cloud processing device. [Figure 5] 10 is a flowchart illustrating an example of a processing procedure. [Figure 6] 10 is a graph showing the distribution of point cloud density in the Z direction. [Figure 7] 1 is a photograph used as a substitute for a drawing, showing an example of a point cloud image. [Figure 8] 1 is a photograph used as a substitute for a drawing, showing an example of a point cloud image. [Figure 9] 1 is a photograph used as a substitute for a drawing, showing an example of a point cloud image. [Figure 10] 1 is a photograph used as a substitute for a drawing, showing an example of a point cloud image. DETAILED DESCRIPTION OF THE INVENTION

[0015] (Basic principle) FIG. 1(A) shows a model of a rectangular parallelepiped room 100. FIG. 1(B) shows a point cloud 200 of the room 100 displayed on a screen. FIG. 1(B) also shows point clouds of the ceiling and wall surfaces of the room 100. Note that the floor is not visible in FIG. 1. It is also assumed that there is no furniture inside the room 100, and that there are no protruding beams or pillars.

[0016] The point cloud image in Fig. 1(B) was created by installing a laser scanning device inside the room 100, obtaining point clouds of the four walls, ceiling, and floor from inside the room, and displaying these point clouds as a collection of points on an appropriate coordinate system. In other words, Fig. 1(B) shows the point cloud 200 of the inner surface of the room 100 as seen from a viewpoint outside the room 100.

[0017] Usually, multiple point clouds are obtained by performing laser scans from multiple machine points (viewpoints), and then these are integrated to obtain a point cloud like the one shown in Figure 1(B).In Figure 1(B), the points are displayed in different ways to make it easier to identify the three surfaces: the ceiling surface and two wall surfaces.

[0018] The following describes the case where only the point cloud of the ceiling surface is separated from the point cloud 200 of the room 100. This separation is performed as follows. Figure 2 shows the point cloud 200 shown in Figure 1(B). First, consider the XY plane 210 in the Z-axis direction. The XY plane 210 is a layered, flat space with a certain thickness (dimension in the Z-axis direction). Here, the thickness of the XY plane 210 is assumed to be, for example, 10 cm.

[0019] Here, the XY plane 210 is moved in the Z-axis direction (vertical direction) relative to the point cloud 200 of the room 100, and the number of point clouds included in the XY plane 210 is counted. Figure 3 shows states (A) ⇒ (B) ⇒ (C) as the XY plane is slid from bottom to top relative to the point cloud 200.

[0020] FIG. 3 is a graph in which the vertical axis indicates the Z-axis direction and the horizontal axis indicates the density (relative value) of the points in the point cloud obtained by the above method.

[0021] When the XY plane 210 is moved in the Z-axis direction, the number of points included in this XY plane 210 changes. In this case, the number of points (point density) included in the XY plane 210 is maximum at the Z positions of the floor surface 101 and the ceiling surface 102.

[0022] Therefore, by using the above-mentioned XY plane 210 as a filter layer and examining the number (density) of points in the Z-axis direction (vertical direction), it is possible to detect the point clouds of the floor surface 101 and the ceiling surface 102. In other words, the Z position of the XY plane 210 containing the maximum number of points in the point cloud can be detected as the position of the floor surface and the ceiling surface.

[0023] In the case of Figure 3, position A in the Z-axis direction is the Z position of the floor surface, and position B is the position of the ceiling surface. Point cloud data with Z coordinate A can be identified as the floor surface point cloud, and point cloud data with Z coordinate B as the ceiling surface point cloud. In this way, point clouds can be filtered by attributes such as floor surface or ceiling surface.

[0024] By setting the XZ and YZ planes using the same principle as the XY plane 210 in Figure 2, it is also possible to extract point clouds for each of the four wall surfaces. In this way, the point clouds that make up the total of six surfaces of the floor, ceiling, and four walls of the room 100 can be sorted and individually identified.

[0025] By identifying the data for each surface, it is possible to easily perform processes such as separating or deleting only the point cloud of the ceiling surface from the point cloud 200.

[0026] In reality, however, furniture, lighting equipment, air conditioning equipment, windows, pillars, beams, and other objects exist, so the data will not be as neat and simple as that shown in Figure 3. Even so, for example, the point cloud on the ceiling surface is distributed on the XY plane, so if the XY plane 200 that functions as a filter layer is set to a specific Z position, the number of points contained there will be maximized, and the point cloud on the ceiling surface can be identified.

[0027] (Point cloud data processing device) FIG. 4 shows a block diagram of a point cloud processing device 400 that performs processing using the present invention. The point cloud processing device 400 is configured using a PC (personal computer). The point cloud processing device 400 can also be configured using dedicated hardware. The point cloud processing device 400 can also be configured using a processing server.

[0028] The point cloud processing device 400 comprises a calculation unit 410, a storage unit 420, an interface unit 430, and a communication unit 440. The calculation unit 410 performs various calculations related to point cloud processing. The storage unit 420 stores data required for processing, programs required for operation, data obtained as a result of processing, etc. The interface unit 430 performs operations related to the PC used, data input, data output, processing related to image display, and processing related to GUI operation. The communication unit 440 communicates with the outside.

[0029] The calculation unit 410 includes, as functional units, a point cloud cutting unit 411, a point number calculation unit 412, and a surface point cloud detection unit 413. The point cloud cutting unit 411 performs processing related to step S105 in Fig. 5. The point number calculation unit 412 performs processing related to step S106 in Fig. 5. The surface point cloud detection unit 413 performs processing related to step S114 in Fig. 5.

[0030] (Example of processing procedure) Fig. 5 is a flowchart showing an example of a processing procedure. The processing in Fig. 5 is executed by the point cloud data processing device 400 in Fig. 4. A program for executing the flowchart in Fig. 5 is stored in an appropriate storage medium or storage area, and is read and executed by the computer constituting the point cloud data processing device 400 in Fig. 4.

[0031] Here, the processing target is a point cloud measuring the inside of a room as shown in Fig. 1. When the processing starts, first, the point cloud data processing device 400 reads data of the point cloud to be processed (step S101). That is, the point cloud data processing device 400 acquires the target point cloud.

[0032] Next, the XY plane of the point cloud is identified based on the acquired point cloud (step S102). In this case, the XY plane is a horizontal plane. Typically, a laser scanning device is installed horizontally and then laser scanning is performed. The point cloud acquired in step S101 is created by integrating point clouds obtained by laser scanning from multiple viewpoints. In this case, it is necessary to describe the multiple point clouds to be integrated on a common coordinate system.

[0033] This coordinate system can be either an absolute coordinate system or a local coordinate system, but in either case the horizontal direction is specified. Note that an absolute coordinate system is the coordinate system used for map information and GNSS.

[0034] Therefore, the XY plane (horizontal plane) can be identified from the information on the coordinate system that describes the point group obtained in step S101.

[0035] Next, the upper and lower limits in the Z direction (vertical direction in this case) of the point cloud obtained in step S101 are detected (step S103), and the average density of the point cloud obtained in step S101 is calculated (step S104).

[0036] The average density is calculated as follows. First, the spatial extent of the point cloud obtained in step S101 is quantitatively grasped. Specifically, a three-dimensional figure that fits the point cloud is obtained, and the number of points per unit volume of this three-dimensional figure is calculated. This number of points per unit volume becomes the average density.

[0037] If the volume V of the target room is known, the total number of points in the point cloud can be set to N, and N / V can be set to the average density of the points in the point cloud.

[0038] Next, the point cloud is sliced ​​parallel to the XY plane at intervals of h (step S105). In this process, a thin, flat XY plane with a thickness of h is used as a filter layer for extracting the point clouds of the floor and ceiling surfaces. This filter layer is sequentially shifted on the Z axis at intervals of a distance h, and the point cloud obtained in step S101 is sliced ​​into layers with a thickness of h in the Z-axis direction. This separates the point cloud obtained in step S101 into multiple flat layers with a thickness of h. When the interval between points in the Z direction is d, h is set to approximately 2d≦h≦10d. Specifically, h is set to approximately 5 mm to 20 cm.

[0039] Next, in step S105, the number of points in each sliced ​​layer is counted. Here, the point cloud density (layer density) in each layer is calculated (step S106). That is, the density of points included in each layer of thickness h is calculated.

[0040] The layer density is calculated as follows. First, let S be the maximum value of the cross-sectional area in the horizontal direction of the three-dimensional figure used to calculate the average density. Let Nn be the total number of points in the layer. Here, the layer density is calculated by Nn / (h×S). Note that instead of the density of the points, the total number of points included in the layer may be counted. Alternatively, the density of points on the surface, Nn / S, may be used as the layer density.

[0041] Figure 6 is a graph with the Z axis on the vertical axis and the density of the point cloud in the sliced ​​layer (layer density: relative value) on the horizontal axis. Figure 6 also includes point clouds above the ceiling (if there is an opening in the ceiling, point clouds above the ceiling will also be acquired), protruding pillars and beams into the room, and point clouds of indoor furniture, air conditioning equipment, lighting equipment, etc.

[0042] Next, a threshold value n is set (step S107). This threshold value n is used as a threshold value for extracting point clouds on the floor and ceiling surfaces.

[0043] Next, the point cloud density (layer density) of each layer calculated in step S106 is compared with the average density, and locations where the point cloud density (layer density) is n times or more the average density are detected (S108). This process is related to multiple layered point clouds, and point clouds with point density equal to or greater than a threshold (number of points equal to or greater than a threshold) are considered to be floor and ceiling surfaces. Note that the size of the surfaces to be detected can be adjusted by setting the threshold n in step S107.

[0044] Next, it is determined whether the number of layers detected in step S108 is two (two layers) (step S109). That is, it is determined whether point clouds of two surfaces, the floor surface and the ceiling surface, have been detected in step S108.

[0045] If the number of layers detected in step S108 is one or less, the threshold value n is reset to a smaller value (step 110), and steps S108 and subsequent steps are executed again. If the number of layers detected in step S108 is three or more, the threshold value n is reset to a larger value (step 110), and steps S108 and subsequent steps are executed again.

[0046] If step S109 is YES, the process proceeds to step S111. In step S111, the distance between the two layers detected in step S108 is detected. Next, it is determined whether the distance between the two layers detected in step S111 is appropriate (step S112). The distance between the two layers is the distance between the floor and ceiling. In a typical home or office, this distance is about 2 m to 2.5 m. Therefore, the approximate expected value of this distance is known in advance. If the distance is different from this expected value, the determination in step S112 is NO, and the process proceeds to step S113.

[0047] If the process proceeds to step S113, the slice interval h is changed, and step S105 and subsequent steps are executed again.

[0048] If the distance between the two layers detected in step S111 is appropriate, the process proceeds from step S112 to step S114. In step S114, the point clouds of the two layers detected in step S111 are identified as point clouds of the ceiling and floor surfaces. That is, the point cloud of the lower layer is identified as a point cloud of the floor surface, and the point cloud of the upper layer is identified as a point cloud of the ceiling surface.

[0049] The identified floor point cloud and ceiling point cloud are stored in an appropriate storage area in a state where they can be identified as "floor point cloud data" and "ceiling point cloud data."

[0050] Next, the point cloud of the wall surface is identified (step S115). In this process, the point cloud density of each layer obtained in step S105 is first compared, and the layer with the lowest density is selected. Then, the set of points distributed in the XY directions included in this layer is considered to be the set of points of the wall surface. Note that this set of points is usually distributed linearly in the horizontal direction.

[0051] Then, the set of points distributed in the horizontal direction is expanded in the Z direction. The end points of the expansion are the floor and ceiling surfaces identified in step S114. In this way, a point cloud of the wall surfaces is obtained. The point cloud of the identified wall surfaces is stored in an appropriate storage area in a state where it can be identified as "point cloud data of the wall surfaces." For example, if there are four wall surfaces, they are stored in a state where they can be identified as "point cloud data of the first wall surface," "point cloud data of the second wall surface," "point cloud data of the third wall surface," and "point cloud data of the fourth wall surface."

[0052] In the case of reflection points such as furniture in a room, reflections from non-vertical surfaces and overlapping points in the X and Y directions on the same horizontal surface occur. This increases the number of reflection points on the filter layer. Utilizing this, the points reflected from the wall surface are detected.

[0053] Next, the X-axis and Y-axis are set based on the wall surface identified in step S115 (step S116). In this example, one wall surface extending in the Z direction is selected, and the direction perpendicular to the surface is set as the X-axis, and the direction perpendicular to the X-axis and Z-axis is set as the Y-axis.

[0054] Next, point clouds other than the floor, ceiling, and wall surfaces are identified (step S117). These point clouds include furniture, lighting equipment, air conditioners, and other points.

[0055] (superiority) The above process allows you to manage the point clouds of the floor, ceiling, and wall surfaces of a room separately. For example, you can digitize the point clouds by attribute, such as the point cloud of the floor, the point cloud of the ceiling, and the point cloud of the wall.

[0056] Figure 7 is a photograph used as a drawing of the display screen when a point cloud of a room obtained by installing a laser scanning device inside the room is displayed on a screen. Figure 7 shows the point cloud obtained for the interior of the room as seen from a viewpoint outside the room. Figure 7 also shows point clouds for the fluorescent lights and air conditioning unit installed on the ceiling. As the interior of the air conditioning unit was also partially scanned, the point cloud for the structure of the part embedded in the ceiling is visible.

[0057] 7 shows a state in which each point constituting the point cloud has been colored by image processing based on an image captured by a camera. This is also the case for FIGS. 8 to 10.

[0058] Figure 8 shows the case where the point cloud of the ceiling surface is identified by the process of Figure 5 and colored to distinguish it from other point clouds. Figure 9 shows the state where the point cloud of the ceiling surface has been removed from Figure 7. Figure 10 shows the state seen from a different viewpoint than Figure 9.

[0059] By performing the processing shown in Figure 6, the point cloud of the ceiling surface can be identified. In other words, the attribute data "ceiling surface" can be associated with the point cloud data of the ceiling surface. This makes it easy to remove or move only the point cloud data of the ceiling surface. In other words, with a simple operation, the display state of Figures 9 and 10 can be obtained from Figure 8.

[0060] (Other embodiments) As explained in the principle section, by setting a surface (filter layer) that functions as a filter, it is possible to extract point clouds from vertical wall surfaces. Also, if the ceiling surface is slanted, it is possible to extract point clouds from the ceiling surface by setting a filter layer that corresponds to the slanted ceiling surface.

[0061] Furthermore, by setting a filter layer corresponding to a curved surface, it is possible to extract a point cloud of the curved surface. Also, by setting a filter layer with a shape that combines a wall surface and a ceiling surface, it is possible to simultaneously extract point clouds of the wall surface and the ceiling surface. It is also possible to continuously move the filter layer and detect continuous changes in the number of points included in the filter layer.

[0062] If there are furniture, lighting fixtures, or air conditioning equipment, the points in those areas of the floor, ceiling, and walls will be missing. In this case, the missing surfaces can be interpolated by extending the surfaces that make up the floor, ceiling, and walls. [Explanation of symbols]

[0063] 100...room, 200...point cloud obtained by laser scanning the room from the inside, 210...XY plane (filter layer).

Claims

1. A processing device for a point cloud obtained by laser scanning an object including a surface, comprising: a point cloud cropping unit that crops the point cloud using a thin, flat, planar space to obtain a plurality of cropped point clouds; a point number calculation unit that calculates the number of points in each of the plurality of cut point groups; a surface point cloud detection unit that detects a point cloud that constitutes the surface from among the plurality of cut point clouds based on the number of points; Equipped with the object is indoors, The flat space is parallel to a horizontal plane, selecting a point cloud with the lowest density of points from the plurality of clipped point clouds; A set of horizontally distributed points included in the selected point cloud is regarded as a set of wall surface points; A point cloud processing device that expands the set of points distributed in the horizontal direction in the vertical direction to obtain a point cloud of the wall surface.

2. 1. A method for processing a point cloud obtained by laser scanning an object including a surface, comprising: cutting the point cloud by a thin, flat, planar space to obtain a plurality of cut-out point clouds; Calculating the number of points in each of the plurality of cropped point clouds; Detecting a group of points constituting the surface from among the plurality of cut point groups based on the number of points; the object is indoors, The flat space is parallel to a horizontal plane, selecting a point cloud with the lowest density of points from the plurality of clipped point clouds; A set of horizontally distributed points included in the selected point cloud is regarded as a set of wall surface points; A point cloud processing method for expanding the set of points distributed in the horizontal direction in the vertical direction to obtain a point cloud of the wall surface.

3. A program that causes a computer to process a point cloud obtained by laser scanning an object including a surface, To the computer cutting the point cloud by a thin, flat, planar space to obtain a plurality of cut-out point clouds; Calculating the number of points in each of the plurality of cropped point clouds; executes a process of detecting a group of points constituting the surface from among the plurality of cut point groups based on the number of points; the object is indoors, The flat space is parallel to a horizontal plane, selecting a point cloud with the lowest density of points from the plurality of clipped point clouds; A set of horizontally distributed points included in the selected point cloud is regarded as a set of wall surface points; A point cloud processing program that expands the set of points distributed in the horizontal direction in the vertical direction to obtain a point cloud of the wall surface.

Citation Information

Patent Citations

  • Mineral fiber board to which reticulate body is charged and manufacture thereof

    JP1986084237A

  • Information processing program, information processing method, and information processing apparatus

    JP2018151835A

  • Three-dimensional drawing production system using point group data

    JP2022101927A

  • Structure measuring unit for tracking, measuring and marking edges and corners of adjacent surfaces

    US9671217B2