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

The point cloud processing system simplifies parameter setting for flattening processes by using a user-friendly interface and automated parameter adjustment, addressing the challenge of parameter complexity and enhancing processing efficiency and accuracy.

JP2025112210APending Publication Date: 2025-07-31RICOH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024006372
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-01-18
Publication Date
2025-07-31

AI Technical Summary

Technical Problem

Users face difficulty in appropriately setting various parameters for the flattening process of point cloud data due to the large number of parameters involved, leading to inefficiencies in obtaining desired flattening effects.

Method used

A point cloud processing system that includes a storage unit, screen generation unit, reception unit, and flattening process unit, which allows for easy setting of parameters through a user-friendly interface and automated parameter adjustment based on representative parameters, enabling users to achieve desired flattening results without manual trial and error.

Benefits of technology

Enables users to easily set parameters for point cloud flattening, reducing labor and time required for achieving desired quality in point cloud processing, thereby improving efficiency and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025112210000001_ABST
    Figure 2025112210000001_ABST
Patent Text Reader

Abstract

To enable easy setting of various parameters used for flattening processing of point cloud data.SOLUTION: A point cloud processing system comprises: a storage unit for storing point cloud data representing a three-dimensional point cloud; a screen generation unit for generating a screen to be displayed on a display unit; a reception unit for receiving information inputted by using the screen; and a planarization processing unit configured to execute flattening processing on the point cloud data read from the storage unit by using a plurality of parameters included in a parameter group related to the flattening processing.SELECTED DRAWING: Figure 9
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a point cloud processing system, a point cloud processing method, and a program.

Background Art

[0002] Conventionally, a technique for performing a flattening process by fitting a point cloud to a plane is known. Patent Document 1 discloses, as one of the flattening processes, a point cloud smoothing filtering method based on a normal vector.

Summary of the Invention

Problems to be Solved by the Invention

[0003] However, since there are a large number of parameters indicating the degree of flattening in the flattening process, it has been difficult for the user to appropriately set various parameters in order to obtain a desired flattening effect.

[0004] The present invention has been made in view of the above, and an object thereof is to enable easy setting of various parameters used for the flattening process of point cloud data.

Means for Solving the Problems

[0005] The point cloud processing system according to the present invention includes a storage unit that stores point cloud data indicating a three-dimensional point cloud, a screen generation unit that generates a screen to be displayed on a display device, a reception unit that receives information input using the screen, and a flattening process unit that executes the flattening process on the point cloud data read from the storage unit using a plurality of parameters included in a parameter group related to the flattening process.

Effects of the Invention

[0006] According to the present invention, various parameters in the flattening process for point cloud data can be easily set.

Brief Description of the Drawings

[0007]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Mode for Carrying Out the Invention

[0008] In industries such as civil engineering and construction, for the purposes of addressing the declining birthrate and aging population, improving labor productivity, etc., the process of BIM (Building Information Modeling) / CIM (Construction Information Modeling) is being promoted.

[0009] BIM is a solution for utilizing information in all processes from the design, construction to the maintenance and management of buildings, which is a database of buildings obtained by adding attribute data such as cost, finish, and management information to a three-dimensional digital model of a building (hereinafter referred to as a 3D model) created on a computer.

[0010] CIM is a solution for the civil engineering field (covering all infrastructure such as roads, electricity, gas, water supply, etc.) proposed following BIM which has been promoted in the architectural field. Similar to BIM, it aims to improve and sophisticate a series of construction production systems by sharing information among relevant parties centered around a 3D model.

[0011] An important point in promoting BIM / CIM is how to easily obtain 3D information of the spaces of buildings and public facilities. The 3D information mentioned here refers to a three-dimensional point cloud (hereinafter sometimes simply referred to as a point cloud) that holds distance information of a space obtained by a laser scanner (hereinafter referred to as an LS), a mesh object generated based on point cloud data indicating the three-dimensional point cloud, a 3D-CAD (Computer Aided Design) model, etc.

[0012] When constructing a structure from scratch, it is easy to introduce BIM / CIM because a complete product can be designed from scratch using BIM / CIM software. On the other hand, in the case of existing buildings, there are situations where the design drawings from the time of construction do not exist, or where the current situation differs from the design drawings due to renovations over time. In such cases, the hurdle for BIM / CIM implementation increases. The BIM implementation of such existing buildings is called As-Build BIM and is an important issue for promoting future BIM / CIM implementation.

[0013] As a means to realize As-Build BIM, there is a workflow of using the above-mentioned LS for spatial measurement and creating a 3D-CAD model from the measured point cloud data. Conventionally, methods such as measuring using photos and measuring tools or sketching by hand have been used for this work. However, due to the size of the space, the presence or absence of installed equipment, and complexity (such as the way pipes are intertwined), a significant amount of work cost may occur. Therefore, introducing LS, which can acquire 3D information of the space, has been attracting attention as a powerful method to solve this problem.

[0014] In As-Build using LS, although the acquisition of 3D information has become easier, a new task of point cloud processing for point cloud data that did not exist in conventional work has emerged. In general point cloud processing, "multi-point measurement using LS", "generation of an integrated point cloud by aligning each point cloud", "removal of unnecessary point clouds such as noise", "mesh conversion of the point cloud, texture mapping to the mesh, 3D-CAD model conversion", "flattening process of the point cloud", etc. are carried out.

[0015] In the flattening process of the point cloud, the accuracy of the position of the point cloud is improved and the quality of the 3D model represented by multiple planes is changed by fitting the point cloud to a plane.

[0016] These processes are carried out using commercially available point cloud processing software. However, point cloud processing software is multifunctional and has a large number of parameters to be set for each function. Therefore, it is difficult for users without know-how about point cloud processing to handle it.

[0017] In particular, in the planarization process, it is necessary to adjust various parameters such as the size of the plane for fitting the point cloud, the degree of the plane, and the number of planes. Until the user obtains the desired accuracy and quality of the results, it is necessary to repeat trial and error, or manually correct the processing results, etc., which requires labor and man-hours for post-processing.

[0018] (Embodiment) In view of the above problems, the purpose of this embodiment is to enable a user who is an inexperienced person lacking experience in point cloud processing to easily perform planarization processing with the desired quality. Hereinafter, with reference to the accompanying drawings, embodiments of a point cloud processing system, a point cloud processing method, and a program will be described in detail.

[0019] FIG. 1 is an overall configuration diagram of a point cloud processing system according to an embodiment of the present invention. The point cloud processing system 1 of this embodiment is constructed by a terminal device 3, which is an example of a communication terminal, and a management server 5.

[0020] FIG. 1 is an overall configuration diagram of a point cloud processing system according to an embodiment of the present invention. The point cloud processing system 1 of this embodiment is constructed by a terminal device 3, which is an example of a communication terminal, and a management server 5.

[0021] The management server 5 is an example of a point cloud processing device that executes one or more point cloud processes on point cloud data indicating a three-dimensional point cloud.

[0022] Here, the three-dimensional point cloud is an aggregate of coordinate points in the X, Y, Z directions, etc. corresponding to the measurement points on the surface of an object when measuring a certain space of the object using a laser scanner LS or the like. Each coordinate point is represented, for example, as (1, 3, 5). Also, color information may be added to each coordinate point, and the RGB values of each coordinate point may be added as color information. The three-dimensional point cloud is sometimes called a point cloud. The point cloud data is data that can be handled by a computer or the like as an aggregate of coordinate points in a virtual three-dimensional space.

[0023] Note that the measurement data serving as the basis for the point cloud data is, for example, image data on a two-dimensional plane (XY plane) where the coordinate value in the Z direction is the depth value (or distance value). This image data has the value of each pixel as the depth value (or distance value) and is called a depth image (or distance image).

[0024] In the above, an example of measuring a three-dimensional point cloud using the laser scanner LS has been shown, but the three-dimensional point cloud may also be measured using other optical measurement means or mechanical measurement means. Examples of other optical measurement means include a method using a stereo camera and a method using Visual SLAM (Simultaneous Localization And Mapping).

[0025] The terminal device 3 and the management server 5 can communicate via the communication network 100. The communication network 100 is constructed by the Internet, a mobile communication network, a LAN (Local Area Network), etc. The communication network 100 may include not only wired communication but also networks by wireless communication such as 3G (3rd Generation), WiMAX (Worldwide interoperability for Microwave Access), LTE (Long Term Evolution), and 5G (5th Generation). Also, the terminal device 3 can communicate by a short-range communication technology such as NFC (Near Field Communication) (registered trademark).

[0026] <Hardware Configuration> FIG. 2 is a hardware configuration diagram of the terminal device and the management server according to the present embodiment. Each hardware configuration of the terminal device 3 is indicated by a reference numeral in the 300s. Each hardware configuration of the management server 5 is indicated by a reference numeral in the 500s in parentheses.

[0027] The terminal device 3 includes a CPU (Central Processing Unit) 301, a ROM (Read Only Memory) 302, a RAM (Random Access Memory) 303, an HD (Hard Disk) 304, an HDD (Hard Disk Drive) 305, a recording medium 306, a media I / F 307, a display 308, a network I / F 309, a keyboard 311, a mouse 312, a CD-RW (Compact Disc-Re Writable) drive 314, and a bus line 310.

[0028] Among these, the CPU 301 controls the operation of the entire terminal device 3. The ROM 302 stores programs used to drive the CPU 301. The RAM 303 is used as a work area for the CPU 301. The HD 304 stores various data such as programs. The HDD 305 controls the reading or writing of various data to and from the HD 304 according to the control of the CPU 301. The media I / F 307 controls the reading or writing (storage) of data to and from the recording medium 306 such as a flash memory. The display 308 displays various information such as a cursor, menu, window, characters, or images. The network I / F 309 is an interface for data communication using the communication network 100. The keyboard 311 is a type of input means having a plurality of keys for inputting characters, numerical values, various instructions, etc. The mouse 312 is a type of input means for selecting and executing various instructions, selecting a processing target, moving a cursor, etc. The CD-RW drive 314 controls the reading or writing of various data to and from the CD-RW 313 as an example of a removable recording medium. The terminal device 3 may further include a configuration for controlling the reading or writing (storage) of data to and from an external PC (Personal Computer) or an external device connected by wire or wirelessly such as Wi-Fi (Wireless Fidelity).

[0029] In addition, the management server 5 includes a CPU 501, a ROM 502, a RAM 503, an HD 504, an HDD 505, a recording medium 506, a media I / F 507, a display 508, a network I / F 509, a keyboard 511, a mouse 512, a CD-RW drive 514, and a bus line 510. Since these have the same configurations as the above-described configurations (CPU 301, ROM 302, RAM 303, HD 304, HDD 305, recording medium 306, media I / F 307, display 308, network I / F 309, keyboard 311, mouse 312, CD-RW drive 314, and bus line 310) respectively, the descriptions thereof are omitted.

[0030] Note that the CD-RW drive 314 (514) may be replaced with a CD-R drive or the like. Also, the terminal device 3 and the management server 5 may each be constructed by a single computer, or may be constructed by a plurality of computers arbitrarily assigned by dividing each part (function, means, or storage unit).

[0031] FIG. 3 is a functional block diagram of the point cloud processing system according to the present embodiment.

[0032] <Functional Configuration of Terminal Device> As shown in FIG. 3, the terminal device 3 includes a transmission / reception unit 31, a reception unit 32, a display control unit 34, and a storage / readout unit 39. Each of these units is a function or means realized by any of the components shown in FIG. 2 operating according to an instruction from the CPU 301 according to a program expanded from the HD 304 onto the RAM 303. Also, the terminal device 3 has a storage unit 3000 constructed by the RAM 303 and the HD 304 shown in FIG. 2.

[0033] (Functional Configuration of Terminal Device) Next, each component of the terminal device 3 will be described.

[0034] The transmission / reception unit 31 is an example of a reception means, and performs transmission and reception of various data (or information) with other terminals, devices, or systems via the communication network 100, based on instructions from the CPU 301 shown in FIG. 2 and realized by the network I / F 309.

[0035] The reception unit 32 is an example of a reception unit, and mainly receives various inputs by the user, based on instructions from the CPU 301 shown in FIG. 2 and realized by the keyboard 311 and the mouse 312.

[0036] The display control unit 34 is an example of a display control means, and causes the display 308, which is an example of a display unit, to display various images and screens, based on instructions from the CPU 301 shown in FIG. 2.

[0037] The storage / reading unit 39 is an example of a storage control means, and performs processing for storing various data in the storage unit 3000, the recording medium 306, the CD-RW 313, and external PCs or external devices, or reading various data from the storage unit 3000, the recording medium 306, the CD-RW 313, and external PCs or external devices, based on instructions from the CPU 301 shown in FIG. 2 and executed by the HDD 305, the media I / F 307, the CD-RW drive 314, and external PCs or external devices.

[0038] <Functional Configuration of Management Server> The management server 5 has a transmission / reception unit 51, a processing unit 53, a determination unit 55, a generation unit 57, and a storage / reading unit 59. Each of these units is a function or means realized by operating based on instructions from the CPU 501 according to a program expanded from the HD 504 onto the RAM 503 by any of the components shown in FIG. 2. Further, the management server 5 has a storage unit 5000 constructed by the HD 504 shown in FIG. 2. The storage unit 5000 is an example of a storage unit.

[0039] (Functional Configurations of Management Server) Next, each component of the management server 5 will be described. The management server 5 may be configured to distribute and implement each function across a plurality of computers. Further, although the management server 5 is described as being a server computer existing in a cloud environment, it may also be a server existing in an on-premises environment.

[0040] The transmission / reception unit 51 is an example of transmission means, and is realized by instructions from the CPU 501 shown in FIG. 2 and the network I / F 509, and transmits and receives various data (or information) to and from other terminals, devices, or systems via the communication network 100.

[0041] The processing unit 53 is realized by instructions from the CPU 501 shown in FIG. 2 and performs various processes described later. The processing unit 53 is an example of a flattening processing unit.

[0042] The determination unit 55 is realized by instructions from the CPU 501 shown in FIG. 2 and makes various determinations.

[0043] The generation unit 57 is realized by instructions from the CPU 501 shown in FIG. 2 and performs various generations such as screen generation described later.

[0044] The storage / reading unit 59 is an example of storage control means, and is executed by instructions from the CPU 501 shown in FIG. 2, and the HDD 505, media I / F 507, CD-RW drive 514, and external PC or external device, and stores various data in the storage unit 5000, recording medium 506, CD-RW 513, and external PC or external device, or reads various data from the storage unit 5000, recording medium 506, CD-RW 513, and external PC or external device. The storage unit 5000, recording medium 506, CD-RW 513, and external PC or external device are examples of storage means.

[0045] The memory unit 5000 constructs a user information management DB 5001, a setting information management DB 5002, a memory processing management DB 5003, a point cloud management DB 5004, and a processing result management DB 5005, which are configured by a setting information management table.

[0046] The user information management DB 5001 stores and manages the file names of three-dimensional point cloud data in association with user information. The setting information management DB 5002 stores and manages various setting information. The memory processing management DB 5003 stores and manages various processing programs for executing point cloud processing. The point cloud management DB 5004 stores and manages point cloud data. The processing result management DB 5005 stores and manages processing result information indicating the processing results obtained by executing point cloud processing on the point cloud data.

[0047] FIG. 4 is a diagram showing an example of a flattening process according to the present embodiment. Here, the broken line represents the plane for fitting the point cloud, the black circles represent the point cloud before the flattening process, and the white circles represent the point cloud after the flattening process, and these exist in the space represented by the three axes of XYZ. Each point of the point cloud is moved in the direction indicated by the arrow in FIG. 4(a) (the direction toward the plane) and fitted to the position on the plane indicated by the white circles in FIG. 4(b). When the point cloud is data obtained by measuring a plane such as a wall or a floor of a building, such a flattening process corrects the measurement error and improves the accuracy of the data.

[0048] FIG. 5 is a diagram showing an example of the processing result of performing a flattening process on a point cloud. FIG. 5(a) is an example when the degree of flattening (planarity) is low, and the point cloud is fitted to a large number of small planes. FIG. 5(b) is an example when the planarity is medium, and the point cloud is fitted to a medium number of medium-sized planes. FIG. 5(c) is an example when the planarity is high, and the point cloud is fitted to a small number of large planes. Thus, by changing the parameter of the planarity, the quality of the 3D model represented by a plurality of planes is changed.

[0049] Here, it is assumed that the flatness by the planarization process is higher when the number of planes is larger and lower when the number is smaller. Also, it is assumed that the flatness is higher when the number of points fitted to a certain plane is larger and lower when the number is smaller.

[0050] Next, the planarization process and examples of parameters used in the process will be described. FIG. 6 is a diagram showing an example of the procedure of the planarization process. The planarization process is executed, for example, in the order of (1) segmentation process, (2) planar approximation process of segments, and (3) planar fitting process of point clouds.

[0051] The segmentation process is a process of labeling a specific point cloud in the three-dimensional point cloud so that it can be distinguished from other point clouds, and by labeling each of the plurality of point clouds with a different label, each of the plurality of specific point clouds can be mutually distinguishable. Here, the point cloud identified with the same label is called a segment. Also, the segmentation process can be said to be a process of performing segment separation that separates the point cloud data into a plurality of segments.

[0052] FIG. 6(a) shows an example in which the segmentation process (segment separation process) is performed on the three-dimensional point cloud. In this example, a point cloud consisting of 27 points is labeled with three types of labels and divided into three segments. In FIG. 6(a), each point belonging to each segment is represented by black for the first label, hatched for the second label, and speckled for the third label.

[0053] The planar approximation process of segments is a process of obtaining a plane (approximate plane) that approximates each segment. For example, a model estimation algorithm such as RANSAC (Random Sample Consensus) that estimates a plane from the given point cloud can be used. The plane indicated by the broken line in FIG. 6(b) shows the approximate plane of each segment.

[0054] The planar fitting process of the point cloud is a process of fitting the points belonging to each segment to the approximate plane of each segment. The arrows extending from each point in Fig. 6(b) indicate the direction in which each point moves due to fitting. Fig. 6(c) shows each point cloud after the fitting process. Note that the procedure (3) of the planarization process may be realized by the model replacement process of the point cloud instead of the fitting process of the point cloud. For example, a plurality of approximate planes are stored in advance as models in the storage unit 5000 or the like, each segment is collated with each of the plurality of models, and the segment is replaced with the approximate plane having the closest shape. Here, as an example, the approximate plane having the closest shape is an approximate plane obtained by calculating the distances from the approximate plane to each point of the point cloud belonging to the segment and having a small total of those distances.

[0055] Fig. 7 is a conceptual diagram showing an example of the parameters used in the planarization process. In Fig. 7, "processing classification" indicates the content of the process to which each parameter is applied. Also, the "lower limit value for reducing flatness" indicates the limit value at which each parameter acts in the direction of reducing flatness, and the "upper limit value for increasing flatness" indicates the limit value at which each parameter acts in the direction of increasing flatness. Note that the lower limit values and upper limit values of the parameters shown in Fig. 7 are examples, and other values may be used as the lower limit values and upper limit values. In this way, a parameter group (parameter group related to the planarization process) including a plurality of parameters is used in the planarization process. Hereinafter, how each parameter in Fig. 7 acts on the flatness in the planarization process will be described.

[0056] The parameter of "distance on the image between adjacent points" is a parameter used in the process of correcting a segment by determining whether to include (or exclude) the points (adjacent points) adjacent to the points (boundary points) near the boundary of the segment in the segment after the above-described segmentation process. Here, the "distance on the image" is the distance in the depth image that is the basis of the point cloud data and is calculated in units of pixels.

[0057] When including adjacent points in the segment, set this parameter to a positive value. If the distance on the image between the boundary point and the adjacent point is less than or equal to the parameter value, the adjacent point is included in the segment; if it is greater than the parameter value, it is determined that the adjacent point is not included in the segment. For example, when the parameter value is 5 pixels, if the distance on the image is 4 pixels, the adjacent point is included in the segment; if it is 6 pixels, the adjacent point is not included in the segment. Therefore, setting this parameter to a large positive value will increase the number of points included in the segment and act in the direction of increasing flatness.

[0058] When excluding the point to be processed from the segment, set this parameter to a negative value. If the distance on the image between the boundary point and the adjacent point is less than or equal to the absolute value of the parameter, the adjacent point is excluded from the segment; if it is greater than the absolute value of the parameter, it is determined that the adjacent point is not excluded from the segment. For example, when the parameter value is -5 pixels, adjacent points with a distance within 5 pixels on the image are excluded from the segment. Therefore, setting this parameter to a large negative value will increase the number of points excluded from the segment and act in the direction of decreasing flatness.

[0059] The parameter of "distance of adjacent points" is a parameter used in the process of determining whether an adjacent point is an outlier (outlier value) and correcting the segment after the above-mentioned segmentation process. Here, "distance" is the distance between two points in the space of the three-dimensional point cloud and is calculated in units of, for example, mm (millimeter).

[0060] If the distance from the boundary point to the adjacent point is less than or equal to the parameter value, it is determined that the adjacent point is included in the segment; if it is greater than the parameter value, it is determined that the adjacent point is not included in the segment. For example, when the parameter value is 10 mm, if the distance is 12 mm, it is determined to be an outlier value and the adjacent point is excluded from the segment. Therefore, setting this parameter to a large value will increase the number of points included in the segment and act in the direction of increasing flatness; setting it to a small value will decrease the number of points included in the segment and act in the direction of decreasing flatness.

[0061] The parameter of "normal line angle of adjacent points" is a parameter used in the process of determining whether an adjacent point is an outlier and correcting the segment after the above-mentioned segmentation process. Here, the "normal line angle" is the angle formed by the normal line of the boundary point and the normal line of the adjacent point, and is calculated in units of degrees, for example. Note that the normal line of a point can be obtained as a line perpendicular to the tangent plane of the surface when the segment to which the point belongs is regarded as a curved surface.

[0062] If the normal line angle is less than or equal to the parameter value, it is determined that the adjacent point is included in the segment, and if it is greater than the parameter value, it is determined that the adjacent point is not included in the segment. For example, when the parameter value is 20 degrees, if the normal line angle is 25 degrees, it is determined as an outlier and the adjacent point is excluded from the segment. Therefore, if this parameter is set to a large value, the number of points included in the segment increases, acting in the direction of increasing flatness, and if it is set to a small value, the number of points included in the segment decreases, acting in the direction of decreasing flatness.

[0063] The parameter of "distance to plane" is a parameter used as a threshold for determining outliers during the plane fitting process of the point cloud. Here, the "distance to plane" is the distance from the points belonging to the segment to the approximate plane of the segment, and is calculated in units of mm, for example.

[0064] In the plane fitting process of the point cloud, only the points whose distance from the approximate plane is less than or equal to the parameter value are fitted to the approximate plane. For example, when the parameter value is 100 mm, only the points whose distance to the plane is 100 mm or less are fitted. Therefore, if this parameter is set to a large value, the number of points fitted to the plane increases, acting in the direction of increasing flatness, and if it is set to a small value, the number of points fitted to the plane decreases, acting in the direction of decreasing flatness.

[0065] This parameter is an important parameter that determines how much unevenness on the plane is absorbed. Concave and convex shapes smaller than the value of this parameter may disappear due to fitting to the plane. Therefore, if you want to preserve a shape of a certain size, it is necessary to set the value of this parameter to be larger than that size.

[0066] This parameter can also be used as a threshold for outlier determination during the plane approximation process of the segment. In this case, the approximate plane of the segment is set so that the number of points whose distance to the plane is equal to or less than the parameter value is maximized. That is, if the distance to the plane is greater than the parameter, it is determined as an outlier. For example, when the parameter value is 100 mm, if the distance to the plane is 120 mm, that point is determined as an outlier. Therefore, if this parameter is set to a large value, the number of outliers decreases and the number of points belonging to the segment increases, which acts in the direction of increasing flatness. If it is set to a small value, the number of points included in the segment decreases, which acts in the direction of decreasing flatness. Note that the value of the parameter in the plane approximation process of the segment may be the same as or different from the value of the parameter in the plane fitting process of the point cloud.

[0067] The parameter of "the number of points on the plane" is a parameter used in the process of determining whether to approximate a segment to a plane in the plane fitting process of the point cloud. Here, "the number of points on the plane" is the number of points fitted to the plane by the plane fitting process. The determination of whether to fit a point to the plane is made using the parameter of "the distance to the plane" described above for the distance from the point to the plane. Note that other parameters may also be used for this determination. For example, the parameter of "the normal angle of adjacent points" described above or the color information attached to the point may be used for the determination. Points determined not to be fitted to the plane (outliers) are not counted in the number of points on the plane.

[0068] If the number of points in the plane is greater than the parameter value, it is determined that the segment is approximated to the plane; if it is less than or equal to the parameter value, it is determined that the segment is not approximated to the plane. For example, when the parameter value is 500, if the number of points in the plane is 800, the segment is approximated to the plane; if the number of points in the plane is 300, the segment is not approximated to the plane. Therefore, if this parameter is set to a small value, the segment is more likely to be approximated to the plane, acting in the direction of increasing flatness. If it is set to a large value, the segment is less likely to be approximated to the plane, acting in the direction of decreasing flatness.

[0069] This parameter is an important parameter that determines how finely the point cloud data is fitted to the plane. By reducing the value of this parameter, a smaller approximate plane can be obtained, and more points can be fitted to the plane.

[0070] The "inlier ratio" parameter is used in the process of determining whether to approximate a segment to a plane in the plane fitting process of point cloud data. Here, the "inlier ratio" is the ratio (%) of the number of points in the plane to the number of points belonging to the segment, and is calculated by the following formula, for example.

[0071] inlier ratio = (number of points in the plane / number of points belonging to the segment) × 100

[0072] If the inlier ratio is greater than the parameter value, it is determined that the segment is approximated to the plane; if it is less than or equal to the parameter value, it is determined that the segment is not approximated to the plane. For example, when the parameter value is 60%, if the inlier ratio is 70%, the segment is approximated to the plane; if the inlier ratio is 50%, the segment is not approximated to the plane. Therefore, if this parameter is set to a small value, the segment is more likely to be approximated to the plane, acting in the direction of increasing flatness. If it is set to a large value, the segment is less likely to be approximated to the plane, acting in the direction of decreasing flatness.

[0073] The parameter of "angle between adjacent planes" is a parameter used in the process of determining whether to approximate two adjacent segments to separate planes or to integrate the segments and approximate them to one plane during the planar approximation process of segments. Here, the "angle between adjacent planes" is the angle between two approximate planes obtained from adjacent segments, and is calculated, for example, in degrees. When the two approximate planes have the same inclination in the same direction with respect to the horizontal plane, the angle between adjacent planes is 0 degrees.

[0074] If the angle between adjacent planes is less than or equal to the parameter value, the adjacent segments are integrated, and an approximate plane is obtained for the integrated segments. For example, when the parameter value is 20 degrees, if the angle between adjacent planes is 15 degrees, the adjacent segments are integrated. Therefore, if this parameter is set to a large value, the number of integrated segments increases, acting in the direction of improving flatness, and if it is set to a small value, the number of integrated segments decreases, acting in the direction of reducing flatness.

[0075] This parameter is an important parameter that determines how smooth the shape represented by the point cloud data is. By setting a large value for this parameter, planarization processing can be performed using fewer planes. Also, by adjusting this parameter to, for example, 90 degrees, planes that are not perpendicular to each other can be integrated, and the plane after planarization processing can be arranged to be perpendicular to three orthogonal axes. As a result, a hypothesis called the Manhattan world hypothesis (the assumption that the planes constituting artificial structures are arranged perpendicular to three orthogonal axes) can be applied to the point cloud data representing artificial objects such as rooms and buildings.

[0076] The parameter of "area ratio of adjacent planes" is a parameter used in the process of determining whether to approximate two adjacent segments to separate planes or to approximate the segments by integrating them into one plane during the plane approximation process of segments. Here, the "area ratio of adjacent planes" is the ratio (%) of the areas of two approximate planes obtained from adjacent segments, and is calculated, for example, by the following formula. Here, it is assumed that the area of the first approximate plane is less than or equal to the area of the second approximate plane.

[0077] Area ratio of adjacent planes = (Area of the first approximate plane / Area of the second approximate plane) × 100

[0078] If the area ratio of adjacent planes is less than or equal to the parameter value, the adjacent segments are integrated, and an approximate plane is obtained for the integrated segments. For example, when the parameter value is 30%, if the area ratio of adjacent planes is 20%, the adjacent segments are integrated. Therefore, if this parameter is set to a large value, the number of integrated segments increases, acting in the direction of improving flatness, and if it is set to a small value, the number of integrated segments decreases, acting in the direction of reducing flatness.

[0079] The parameter of "inlier ratio of adjacent planes" is a parameter used in the process of determining whether to approximate two adjacent segments to separate planes or to approximate the segments by integrating them into one plane during the plane approximation process of segments. Here, the "inlier ratio of adjacent planes" is the inlier ratio (%) when the points of the segment with the smaller approximate plane among two adjacent segments are fitted to the approximate plane of the other segment, and is calculated, for example, by the following formula.

[0080] Inlier ratio of adjacent planes = (Number of points fitted to the approximate plane of the other segment / Number of points belonging to the segment with the smaller approximate plane) × 100

[0081] If the inlier ratio of adjacent planes is equal to or greater than the parameter value, integrate adjacent segments and find an approximate plane for the integrated segments. For example, when the parameter value is 60%, if the inlier ratio of adjacent planes is 70%, integrate the adjacent segments. Therefore, if this parameter is set to a small value, the number of integrated segments increases, acting in the direction of increasing flatness, and if it is set to a large value, the number of integrated segments decreases, acting in the direction of decreasing flatness.

[0082] In this way, many parameters are used in the planarization process of the point cloud, and the effects on the flatness obtained in the planarization process vary for each parameter. When setting the value of each parameter one by one, as described above, the three parameters of the distance to the plane, the angle of adjacent planes, and the number of points on the plane are particularly important and need to be set preferentially. Conversely, the three parameters related to segment correction have little influence on the processing result and the priority is low. However, since these parameters affect each other, setting the value of each parameter one by one requires time and effort even for an expert. Therefore, it is preferable that the user can easily set each parameter to an optimal value so that the result of the point cloud processing can be obtained with the desired quality. Note that the above-mentioned parameters are just examples, and other parameters may be used to change the flatness. Also, the determination method based on each parameter may be changed to another determination method for use.

[0083] In this embodiment, the parameters (Pij) of the planarization process described above are set using a representative parameter (P) whose value ranges from 0 to 1. Here, i indicates the number of the processing classification, and takes values from 1 to 3 in the example of FIG. 7. Also, j indicates the number of the parameter used in each processing classification, and takes values from 1 to 3 in the example of FIG. 7. The representative parameter P is a normalized value such that each parameter of the planarization process is in the range of 0 to 1. Also, P = 0 corresponds to the lower limit value for decreasing flatness, and P = 1 corresponds to the upper limit value for increasing flatness.

[0084] When the lower limit value for reducing the flatness of FIG. 7 and the upper limit value for increasing the flatness are the minimum value (PijMin) and the maximum value (PijMax) of the parameter, respectively, the parameter of the planarization process is expressed by the following formula (1) using the representative parameter.

[0085] Pij = PijMin + P × (PijMax - PijMin) ···(1)

[0086] Also, when the lower limit value for reducing the flatness and the upper limit value for increasing the flatness are the maximum value (PijMax) and the minimum value (PijMin) of the parameter, respectively, the parameter of the planarization process is expressed by the following formula (2) using the representative parameter.

[0087] Pij = PijMax + P × (PijMin - PijMax) ···(2)

[0088] [[ID=D15]] For example, when the representative parameter is 0.25, P11 (the distance on the image of adjacent points) in FIG. 7 is -5, and P22 (the number of points on the plane) is 775. Also, the representative parameter is defined such that the flatness is the lowest when the value is 0 and the flatness is the highest when the value is 1.

[0089] By using such a representative parameter, the user can easily perform the planarization process with the desired quality (flatness) without individually setting the complex parameters of the planarization process by setting the representative parameter.

[0090] Note that for the number of points on the plane, inlier ratio, and inlier ratio of the adjacent plane, where the lower limit value for reducing the flatness and the upper limit value for increasing the flatness are the maximum value (PijMax) and the minimum value (PijMin) of the parameter, respectively, the determination method may be changed as follows. By doing so, for all parameters, since the lower limit value for reducing the flatness and the upper limit value for increasing the flatness correspond to the minimum value (PijMin) and the maximum value (PijMax) of the parameter, respectively, all parameters can be obtained using formula (1).

[0091] "Number of points in a plane": If the number of points in a plane is less than or equal to the parameter value, it is determined that the segment is approximated to the plane; if it is greater than the parameter value, it is determined that the segment is not approximated to the plane.

[0092] "Inlier ratio": If the inlier ratio is less than or equal to the parameter value, it is determined that the segment is approximated to the plane; if it is greater than the parameter value, it is determined that the segment is not approximated to the plane.

[0093] "Inlier ratio of adjacent planes": If the inlier ratio of adjacent planes is less than the parameter value, the adjacent segments are integrated, and an approximate plane is obtained for the integrated segment.

[0094] [[ID=1I2]]FIG. 8 is a sequence diagram showing an example of point cloud processing according to the present embodiment.

[0095] The reception unit 32 of the terminal device 3 receives an input operation related to user information (step S1). The transmission / reception unit 31 transmits a request for a setting screen including the user information received in step S1 to the management server 5 of the terminal device 3, and the transmission / reception unit 51 of the management server 5 receives the request transmitted from the terminal device 3 (step S2).

[0096] Next, the storage / reading unit 59 of the management server 5 searches the user information management DB5001 using the user information included in the request received in step S2 as a search key, reads out the file name of the three-dimensional point cloud data associated with the user information included in the request, and the generation unit 57 of the management server 5 generates a display screen including a setting screen based on the file name read by the storage / reading unit 59 (step S3).

[0097] This setting screen is a GUI (Graphical User Interface) screen on which images such as an input means for point cloud information, a selection means for point cloud processing, and a setting means for representative parameters of planarization processing are arranged.

[0098] The transmission / reception unit 51 transmits display screen information including the setting screen information related to the setting screen generated in step S3 to the terminal device 3, and the transmission / reception unit 31 of the terminal device 3 receives the display screen information transmitted from the management server 5 (step S4).

[0099] Next, the display control unit 34 of the terminal device 3 causes the display 308 to display a display screen including the setting screen received in step S4 (step S5). The reception unit 32 of the terminal device 3 receives a predetermined input operation of the user with respect to the displayed setting screen. This input operation includes an operation of inputting point cloud information and information on point cloud processing. In the present embodiment, it is assumed that the user inputs information for instructing flattening processing and representative parameters used for the flattening processing as information on point cloud processing. The representative parameters may be selected from a plurality of values or options. Further, for example, any numerical value between 0 and 1 may be input.

[0100] The transmission / reception unit 31 transmits input information related to the input operation received by the reception unit 32 to the management server 5, and the transmission / reception unit 51 of the management server 5 receives the input information transmitted from the terminal device 3 (step S6). This input information includes the input point cloud information and information on point cloud processing.

[0101] The storage / reading unit 59 of the management server 5 reads out three-dimensional point cloud data to be subjected to flattening processing by searching the point cloud management DB5004 using the point cloud setting information included in the input information received in step S6 as a search key.

[0102] Further, the storage / reading unit 59 reads out a point cloud processing program (in the present embodiment, a program for flattening processing) by searching the setting information management DB5002 using the information on point cloud processing included in the input information received in step S6 as a search key.

[0103] The processing unit 53 of the management server 5 generates point cloud processing information based on the three-dimensional point cloud data, the flattening processing program, and the representative parameters read from the storage / reading unit 59 (step S7). The point cloud processing information is information on the result of flattening the point cloud data based on the representative parameters.

[0104] Step S7 is an example of a point cloud processing step that performs a flattening process on point cloud data indicating a three-dimensional point cloud.

[0105] The generation unit 57 of the management server 5 generates a display screen including the display of the point cloud processing information (the result of the flattening process) and a selection screen where the user can select whether to end the flattening process or execute it again. The selection screen is a GUI (Graphical User Interface) screen on which images of adjustment means for representative parameters and individual parameters are arranged. Also, the transmission / reception unit 51 transmits the generated display screen information to the terminal device 3 (step S8). Step S8 is an example of a generation step.

[0106] The transmission / reception unit 31 of the terminal device 3 receives the display screen information transmitted from the management server 5, the display control unit 34 of the terminal device 3 causes the received display screen to be displayed on the display 308, and the reception unit 32 of the terminal device 3 receives a predetermined input operation of the user with respect to the displayed display screen (step S9). The software for displaying the result of the flattening process may be a general viewer (display software) that allows the user to interactively change the viewpoint of the point cloud, or may simply display an image of the point cloud viewed from a certain viewpoint.

[0107] This input operation includes a selection operation for selecting the end or re-execution of the flattening process, and an adjustment operation for adjusting the processing result of the flattening process. The selection operation may be one that selects one result from the results of the flattening process corresponding to a plurality of representative parameters. The adjustment operation may be one that adjusts the representative parameters corresponding to the flattening process executed in step S7. Also, it may be one that individually adjusts the individual parameters corresponding to the representative parameters.

[0108] The transmission / reception unit 31 transmits input information related to the input operation received by the reception unit 32 to the management server 5, and the transmission / reception unit 51 of the management server 5 receives the input information transmitted from the terminal device 3 (step S10).

[0109] When this input information includes selection information indicating the end of the flattening process, the processing unit 53 of the management server 5 determines the processing result of the flattening process.

[0110] On the other hand, when the input information includes selection information indicating the re-execution of the flattening process or adjustment information by an adjustment operation, the processing unit 53 of the management server 5 re-executes the flattening process in step S7 based on this information.

[0111] The processing unit 53 converts the processing result information into a file format readable by point cloud processing software, a file format readable by 3D-CAD software, a file format readable by BIM / CIM software, etc., and the storage / reading unit 59 stores the converted processing result information in the processing result management DB5005, the recording medium 506, or the CD-RW513 (step S11). Step S11 is an example of a storage step.

[0112] The transmission / reception unit 51 transmits the determined processing result information to the terminal device 3 (step S12).

[0113] The transmission / reception unit 31 of the terminal device 3 receives the processing result information transmitted from the management server 5, and the display control unit 34 of the terminal device 3 causes the received processing result to be displayed on the display 308 (step S13).

[0114] In the above, the functions of the management server 5 in FIG. 3 may be integrated into the terminal device 3, and the processing of the management server 5 in FIG. 8 may also be executed by the terminal device 3.

[0115] FIG. 9 is an explanatory diagram showing an example of a setting screen according to this embodiment. FIG. 9 shows a display screen 1000 displayed on the display 308 of the terminal device 3 in step S5 of the sequence diagram shown in FIG. 8.

[0116] The display control unit 34 of the terminal device 3 causes the user information display screen 1100 and the setting screen 1200 to be displayed on the display screen 1000.

[0117] The setting screen 1200 includes a point cloud setting screen 1210, a processing setting screen 1220, and an execution button 1230.

[0118] The point cloud setting screen 1210 is a screen that accepts a point cloud setting operation for setting point cloud data indicating a three-dimensional point cloud used to execute point cloud processing. The display control unit 34 causes the point cloud setting areas 1212 and 1214 to be displayed in association with the file names of the plurality of point cloud data read by the storage / reading unit 59. A plurality of point cloud setting areas 1212 and 1214 can be set.

[0119] The processing setting screen 1220 is a screen that accepts a setting operation for setting the type of point cloud processing. The display control unit 34 causes the processing setting areas 1221, 1222, and 1223 to be displayed in association with the names of the plurality of point cloud processes. When setting the flattening process, the representative parameter setting area 1224 is displayed. Further, the display control unit 34 displays a pointer 1240 such as a mouse 312 for selecting the processing setting areas 1221 to 1223 and setting the representative parameter setting area 1224.

[0120] Furthermore, the display control unit 34 displays a pointer 1240 such as a mouse 312 for performing selection of the processing setting areas 1221 to 1223 and setting of the representative parameter setting area 1224.

[0121] Here, the representative parameter setting area 1224 is composed of a slide bar that can set any value from 0 to 1, and an area (numerical value area) that displays the value of the set representative parameter. The user can operate the slide bar with the pointer 1240 to set the representative parameter. The value of the set representative parameter is displayed in the numerical value area on the right side of the slide bar. Note that the value of the representative parameter may also be directly input into the numerical value area on the right side of the slide bar using the keyboard 311 or the like. Further, instead of the slide bar, it may be possible to select from a pull-down menu. The menu (options) when using the pull-down menu may be a plurality of numerical values between 0 and 1 such as 0, 0.25, 0.5, 0.75, 1, etc., or words such as "high flatness", "medium flatness", "low flatness", etc. associated with the numerical values between 0 and 1.

[0122] When the receiving unit 32 of the terminal device 3 is clicked on various setting areas by the pointer 1240, the display control unit 34 displays black circles or dots in the various setting areas as shown in the figure. The receiving unit 32 receives various setting operations, and when the execution button 1230 is operated, the various setting operations are completed and the flattening process is executed.

[0123] Specifically, as described in steps S6 and S7 of FIG. 8, the transmission / reception unit 31 transmits input information including various setting information based on the various setting operations received by the receiving unit 32 to the management server 5, and the processing unit 53 executes the flattening process.

[0124] FIG. 10 is an explanatory diagram showing an example of a selection screen and an adjustment screen according to the present embodiment. FIG. 10 shows an example of a selection screen when the flattening process is selected and the value of the representative parameter is set to 0.6 and the setting operation is confirmed in FIG. 9.

[0125] FIG. 10(a) shows the display screen 1000 displayed on the display 308 of the terminal device 3 in step S9 of the sequence diagram shown in FIG. 8. The display control unit 34 of the terminal device 3 causes the selection screen 1300 to be displayed on the display screen 1000.

[0126] The selection screen 1300 includes a processing result area 1310 for displaying planarization processing information and a parameter adjustment area 1320 for receiving an adjustment operation for adjusting the parameters of the planarization processing. The display control unit 34 causes the processing result area 1310 to display the result 1350 of the planarization processing executed by the processing unit 53 of the management server 5 in step S7 of FIG. 8, together with the file name of the point cloud data and the values of the representative parameters used. Further, the display control unit 34 causes the parameter adjustment area 1320 to display a representative parameter setting area 1324 for setting the representative parameters, individual adjustment buttons 1360 for receiving an operation for individually adjusting each parameter, an execution button 1330 for executing the planarization processing after finishing various selection operations, and a confirmation button 1390 for confirming the planarization processing result. Furthermore, the display control unit 34 displays a pointer 1340 such as a mouse 312 for performing settings such as the setting of the representative parameter setting area 1324.

[0127] The representative parameter setting area 1324 is the same area as the representative parameter setting area 1224 described in FIG. 9, and the value of the representative parameter displayed in the representative parameter setting area 1324 is the value of the representative parameter displayed in the processing result area 1310 immediately after the selection screen 1300 is displayed. The user can operate the slider bar of the representative parameter setting area 1324 with the pointer 134 et al. to adjust (re-set) the setting of the representative parameter.

[0128] When the user selects not to adjust the parameters of the planarization processing, the adjustment operation using the representative parameter setting area 1324 is not performed, and the user can click the confirmation button 1390 to confirm the planarization processing with the content displayed in the processing result area 1310.

[0129] When the user adjusts the parameters of the flattening process, the user can reset the value of the representative parameter using the representative parameter setting area 1324 and click the execution button 1330 for executing the flattening process, thereby checking the result 1350 of the flattening process executed by the processing unit 53 with the reset parameters. At this time, the value of the representative parameter after resetting is displayed in the processing result area 1310. By repeating such adjustment operations, the user can adjust the parameters while checking the result 1350 of the flattening process so as to obtain a desired quality. Then, the user can click the confirmation button 1390 to confirm the adjustment operation.

[0130] When the user adjusts each parameter of the flattening process individually, the user can click the individual adjustment button 1360 and use the individual adjustment screen 1410 shown in FIG. 10(b) to adjust the parameters. When the individual adjustment button 1360 is clicked, the display control unit 34 switches the display screen 1000 to the individual adjustment screen 1400 shown in FIG. 10(b). The individual adjustment screen 1400 includes an individual setting area 1420 including parameter setting areas 1421, 1422, 1423 for setting the values of the respective parameters, a return button 1470 for returning to the selection screen 1300, an icon 1450 indicating that there are other pages, and a page switching button 1460 to other pages. The display control unit 34 displays these configurations on the display screen 1000 and also displays a pointer 1440 for setting each parameter and an execution button 1430 for executing the flattening process after finishing the individual adjustment operation.

[0131] In FIG. 10(b), parameter setting areas 1421, 1422, and 1423 for setting three out of each parameter are displayed. The icon 1450 indicates that by clicking on the right or left side of the switching button 1460, it is possible to switch to a page for individually adjusting other parameters. When individually adjusting the nine parameters in FIG. 7 using the individual adjustment screen 1400 shown in FIG. 10(b), the display control unit 34 can display three pages each including a setting area for three parameters. Also, the page numbers (1 / 3, 2 / 3, 3 / 3) are displayed in the upper right part of the individual setting area 1420. The user can switch pages like 1 / 3, 2 / 3, 3 / 3, 1 / 3... each time the right side of the switching button 1460 is clicked, and like 1 / 3, 3 / 3, 2 / 3... each time the left side of the switching button 1460 is clicked.

[0132] Each of the parameter setting areas 1421, 1422, and 1423 is an area similar to the representative parameter setting area 1224 described in FIG. 9. The user can operate the slide bar of the parameter setting area 1421 etc. with a pointer 1440 etc. to adjust (reset) the setting of each parameter. Note that by making the parameter setting areas 1421 etc. smaller or reducing the number of parameters that can be set individually, a layout can be adopted such that page switching of the individual setting area 1420 is not performed. In that case, a layout can be adopted where the icon 1450 and the switching button 1460 are not arranged.

[0133] Immediately after the user adjusts the representative parameters on the selection screen 1300 and switches to the individual adjustment screen 1400, the values of the respective parameters corresponding to the representative parameters set on the selection screen 1300 are displayed in the parameter setting area 1421 and the like. After the user adjusts each parameter using the parameter setting area 1421 and the like, the user can click the execute button 1430 to execute the flattening process. When this flattening process is executed, the screen returns from the individual adjustment screen 1400 to the selection screen 1300, and the result 1350 of the flattening process is displayed in the process result area 1310. When returning to the selection screen 1300 after changing each parameter, for example, the number of the representative parameter in the process result area 1310 can be made blank, or the color of the slider bar or number in the representative parameter setting area 1324 can be made light gray to indicate that the parameter has been adjusted individually.

[0134] After the user checks the result 1350 of the flattening process, the user can return to the individual adjustment screen 1400 again and continue to adjust the parameters further. Also, the user can click the confirm button 1390 to confirm the adjustment operation. Furthermore, after adjusting each parameter, the user can click the back button 1470 to return from the individual adjustment screen 1400 to the selection screen 1300, and by operating the representative parameter setting area 1324, the user can cancel the individual adjustment and return to the adjustment operation using the representative parameters. For example, when the color of the slider bar or number in the representative parameter setting area 1324 is light gray, these colors can be returned to black to indicate that the individual adjustment has been canceled.

[0135] In this way, by using the setting screen 1200 and the selection screen 1300, the user can easily set the representative parameters, and without individually setting the complex parameters of the flattening process, the user can easily execute the flattening process with the desired quality (flatness). Also, by using the individual adjustment screen 1400, the user can adjust each parameter obtained using the representative parameters, and without setting each individual parameter from scratch, the user can easily execute the flattening process with the desired quality (flatness).

[0136] Incidentally, the planarization process described above can also be executed while gradually changing the granularity (size) of the segments. For example, after executing the planarization process with a relatively large representative parameter using a relatively large segment, the planarization process can be executed again with a smaller segment while adjusting the representative parameter.

[0137] (First Modification Example) In the above-described embodiment, all the parameters included in the parameter group related to the planarization process can be set from one representative parameter. However, as in the modification example described below, each parameter may be set using a plurality of representative parameters.

[0138] The representative parameter can include, for example, a plurality of sub-parameters. Since the sub-parameter is also a kind of representative parameter, it can also be said that the representative parameter can include a plurality of representative parameters.

[0139] FIG. 11 is a diagram showing an example of the correspondence between each parameter and the sub-parameter included in the parameter group of the planarization process. In this example, the representative parameter includes three sub-parameters P1, P2, and P3, the parameters of the planarization process include three subsets each consisting of a plurality of parameters, and each sub-parameter and each subset correspond one-to-one. In FIG. 11, the sub-parameter P1 corresponds to the first subset (P11, P12, P13), the sub-parameter P2 corresponds to the second subset (P21, P22, P23), and the sub-parameter P3 corresponds to the third subset (P31, P32, P33).

[0140] The sub-parameter P1 is a parameter for controlling the size (range) of the segment. By adjusting the value of P1, the area of the plane approximating the segment can be adjusted.

[0141] The sub-parameter P2 is a parameter that controls how much a segment is approximated to a plane (how well the points belonging to the segment are fitted). By adjusting the value of P2, the degree of flatness (to what degree the point group included in the segment is replaced with a plane) can be adjusted.

[0142] The sub-parameter P3 is a parameter that controls the number of planes (the number of planes into which the point group is replaced). By adjusting the value of P3, the granularity (roughness) of the shape represented by the point group can be adjusted.

[0143] The sub-parameters Pi (i = 1 to 3) are normalized values such that each parameter belonging to the corresponding subset is in the range of 0 to 1. Also, Pi = 0 corresponds to the lower limit value for reducing flatness, and Pi = 1 corresponds to the upper limit value for increasing flatness.

[0144] When the lower limit value for reducing the flatness and the upper limit value for increasing the flatness in FIG. 7 are the minimum value (PijMin) and the maximum value (PijMax) of the parameter, respectively, the parameter for the planarization process is represented by the following formula (3) using the sub-parameter Pi (i = 1 to 3).

[0145] Pij = PijMin + Pi × (PijMax - PijMin) ···(3)

[0146] Also, when the lower limit value for reducing the flatness and the upper limit value for increasing the flatness are the maximum value (PijMax) and the minimum value (PijMin) of the parameter, respectively, the parameter for the planarization process is represented by the following formula (4) using the sub-parameter Pi.

[0147] Pij = PijMax + Pi × (PijMin - PijMax) ···(4)

[0148] Note that, as described above, when changing the method for determining the number of points on a plane, the inlier ratio, and the inlier ratio of adjacent planes so that the lower limit value for reducing flatness and the upper limit value for increasing flatness correspond to the minimum value (PijMin) and the maximum value (PijMax) of the parameters, respectively, each parameter can be obtained using only Equation (3).

[0149] FIG. 12 is a diagram showing an example of the setting screen 1200 in the first modification. The difference from that described in FIG. 9 is that the processing setting screen 1220 includes a sub-parameter setting area 1225 instead of the representative parameter setting area 1224. Since the other parts are the same as the setting screen 1200 already described, these descriptions are omitted.

[0150] Here, the sub-parameter setting area 1225 is composed of a slide bar that can set an arbitrary value from 0 to 1 for each of the three sub-parameters P1, P2, and P3 included in the representative parameter, and an area (numerical area) for displaying the set value of the sub-parameter. The user can operate the slide bar with the pointer 1240 to set each sub-parameter.

[0151] FIG. 13 is a diagram showing an example of the selection screen 1300 and the individual adjustment screen 1400 in the first modification. The difference from that described in FIG. 10 above is that the representative parameters displayed in the processing result area 1310 are the three sub-parameters, and the parameter adjustment area 1320 includes a sub-parameter setting area 1325 instead of the representative parameter setting area 1324. Since the other parts are the same as the selection screen 1300 already described, these descriptions are omitted.

[0152] Here, the sub-parameter setting area 1325 is the same area as the sub-parameter setting area 1225 described in FIG. 12. The values of the sub-parameters displayed in the sub-parameter setting area 1325 are the respective values of the sub-parameters displayed in the processing result area 1310 immediately after the selection screen 1300 is displayed. The user can operate each slide bar in the sub-parameter setting area 1325 with the pointer 1340 or the like to adjust (re-set) the setting of the sub-parameters.

[0153] Regarding the individual adjustment screen 1410 and various areas shown in FIG. 13(b), since they are the same as those shown in FIG. 10(b), these descriptions are omitted. Here, on the individual adjustment screen 1400 displayed by clicking the individual adjustment button 1360, first, the parameters belonging to the first subset are displayed as in FIG. 10(b), but it may be configured to display the parameters belonging to other subsets. For example, instead of the individual adjustment button 1360, a pull-down menu is arranged and configured so that any of the three subsets can be selected, thereby displaying a screen for individually adjusting the parameters belonging to the selected subset.

[0154] Note that when returning to the selection screen 1300 and displaying the sub-parameter setting area 1325 after adjusting each parameter on the individual adjustment screen 1400, the color of the slide bar or the like of the sub-parameter corresponding to the adjusted parameter may be set to light gray. In that case, by changing the color of the slide bar or the like only for the sub-parameter corresponding to the adjusted parameter, it is possible to distinguish which parameter corresponding to the sub-parameter has been individually adjusted.

[0155] Thus, in this modification example, each parameter is classified into a plurality of subsets, and each parameter is set by sub-parameters corresponding to each subset. Therefore, the quality (flatness) can be adjusted more finely than when setting each parameter using only one representative parameter. Also, by making the number of sub-parameters less than the number of parameters for the flattening process, it is possible to easily execute the flattening process with a desired flatness without individually setting many parameters.

[0156] (Second Modification Example) Another example using a plurality of representative parameters will be described. The representative parameters can include, for example, one main parameter P and a plurality of sub-parameters Pij. Here, since the main parameter P obtains each parameter by Equation (1) or Equation (2) in the same manner as one representative parameter P in the first embodiment, it is represented using the same symbol "P". Also, similar to the plurality of sub-parameters in the first modification example, the sub-parameter Pij is a parameter for obtaining each parameter belonging to the subset corresponding to each sub-parameter by Equation (3) or Equation (4). Note that since the main parameter and the sub-parameters are also a type of representative parameter, it can also be said that the representative parameters can include one representative parameter and a plurality of representative parameters.

[0157] In this modification example, the setting screen displayed in step S5 of FIG. 8 is the same as the setting screen 1200 described in FIG. 9. The main parameter P (representative parameter) is set using a slide bar or the like in the representative parameter setting area 1224.

[0158] In this modification example, the selection screen displayed in step S9 of FIG. 8 is the same as the selection screen 1300 described with reference to FIG. 13. The values of the three sub-parameters (representative parameters) displayed in the processing result area 1310 are the same as the main parameter set on the setting screen 1200. Also, the values of the sub-parameters displayed in the sub-parameter setting area 1325 are, immediately after the selection screen 1300 is displayed, the values of the sub-parameters displayed in the processing result area 1310 (however, since only one main parameter is set on the setting screen, all have the same value in this modification example).

[0159] Regarding the setting screen 1200 and the selection screen 1300, since their functions other than those described above are the same as those already described, these descriptions are omitted.

[0160] In this modification example, in the first flattening process, each parameter belonging to each subset is set by the main parameter. Therefore, by using one main parameter in the first flattening process, the user can easily execute the flattening process with a desired quality (flatness) without individually setting the complex parameters of the flattening process. Also, when adjusting the result of the first flattening process, each parameter belonging to the corresponding subset is reset by the sub-parameter. By using the sub-parameters corresponding to each subset, the flatness can be adjusted in more detail than when resetting each parameter using only one main parameter.

[0161] (Third Modification Example) The above-described flattening process can be performed not only on the entire point cloud data but also on a part of the point cloud data. For example, after the segmentation process described with reference to FIG. 6(a), the user can select the segment for which the process is to be performed and execute the flattening process only on the selected segment. Also, before performing the flattening process, the point cloud data can be separated into a plurality of segments by various methods described later, the segment for which the flattening process is to be performed can be selected from the separated segments, and the flattening process can be executed only on the selected segment.

[0162] FIG. 14 is a diagram showing an example of the setting screen 1200 in the third modification. The difference from what was described in FIG. 9 is that the processing setting screen 1220 includes a display of the segmentation result 1226. Since the other parts are the same as the setting screen 1200 already described, these explanations are omitted.

[0163] In this modification, the processing unit 53 of the management server 5 executes a segmentation process on the point cloud data when generating the setting screen, and generates the segmentation result 1226 to be displayed on the processing setting screen 1220. Here, the processing unit 53 is an example of a segment separation unit. In the segmentation result 1226 of FIG. 14, the contour lines of each segment are displayed.

[0164] The user can select a specific segment by clicking inside the contour line displayed in the segmentation result 1226 with the pointer 1240. The selected segment may be made to appear selected by changing the color of the contour line and the segment. When a segment is selected and the execute button 1230 is operated, a flattening process is executed for only the selected segment using the representative parameters set in the representative parameter setting area 1224.

[0165] Note that a plurality of segments may be selected. For example, after selecting a plurality of segments and operating the execution button 1230, flattening processing is executed for only the selected segments using the representative parameters set in the representative parameter setting area 1224. Also, different representative parameters may be used for each of the plurality of segments. For example, after selecting a segment and setting representative parameters, another segment may be selected and different representative parameters may be set so that different representative parameters can be set for the two segments. In this case, in the display of the segmentation result 1226, the numerical values of the representative parameters set for each segment may be superimposed and displayed near the selected segment so that the representative parameters set for each segment can be confirmed. By such an operation, after setting a plurality of representative parameters for a plurality of segments, by operating the execution button 1230, flattening processing can be executed for each of the selected plurality of segments using different representative parameters.

[0166] According to this modification example, among the point cloud data representing the entire scene, flattening processing can be performed only on the point cloud (segment) corresponding to a specific object such as a wall, a floor, or a ceiling. Even in the point cloud corresponding to one object, flattening processing can be performed only on the point cloud (segment) corresponding to a part of the object such as the top surface of a table. Also, flattening processing can be performed using different representative parameters for each segment.

[0167] In addition to the segmentation process for selecting segments described in Fig. 6(a), various other methods can be used. Also, the segments may be selectable from among pre-determined object types. For example, check boxes indicating categories such as "desk" and "wall" may be displayed on the processing setting screen 1220, and the user can select a category using the pointer 1240 or the like. In this case, the processing unit 53 of the management server 5 executes a segmentation process using a method called semantic segmentation (region classification), recognizes segments corresponding to the selected category, and performs a flattening process on the recognized segments. Also, the selection of the category may be performed using a large language model and executed in natural language. For example, the user may be allowed to input a category name such as "rabbit's ear".

[0168] Also, the segmentation process can be executed on the image data associated with the point cloud data. Here, the image data associated with the point cloud data is an image obtained by projecting the depth image that is the basis of the point cloud data onto a plane from a certain viewpoint. For these images as well, segments corresponding to the selected category can be recognized using semantic segmentation, and a flattening process can be performed on the recognized segments. Furthermore, the segmentation process may be executed using a method called superpixel.

[0169] (Fourth Modification Example) Since the above-described flattening process requires complex three-dimensional projection calculations, high-speed calculation may be difficult depending on the scale of the point cloud data and the capabilities of the processing system. On the other hand, in order for the user to perform interactive parameter adjustment, it is necessary to display the processing result each time in a short time. In this modification example, the flattening process is executed in advance using the sampled representative parameters, and by storing the coefficients representing the trajectories of the points of the point cloud data based on this, the flattening process is executed at high speed.

[0170] FIG. 15 is a flowchart showing a processing procedure in a fourth modification example. First, based on the file name and the like input on the setting screen, the storage / reading unit 59 of the management server 5 reads out point cloud data to be flattened from the point cloud management DB 5004 (step S20). In this modification example, since the management server 5 calculates the coefficients in advance and then the user sets (or adjusts) the representative parameters, the representative parameter setting area 1224 is not used (or not displayed) on the processing setting screen 1220 in FIG. 9.

[0171] Next, the processing unit 53 of the management server 5 calculates the coefficients of each point according to the procedure described later and stores them in the storage / reading unit 59 (step S21). In this modification example, the processing up to this point is executed before the user sets (or adjusts) the representative parameters.

[0172] Next, the generation unit 57 of the management server 5 generates the selection screen 1300, and using the generated selection screen 1300, the user sets the representative parameters (step S22). Note that when the selection screen 1300 is first displayed, the result 1350 of the flattening process is not displayed until the execution button 1330 is clicked and the flattening process is executed.

[0173] Next, the processing unit 53 of the management server 5 calculates the position of each point using the set representative parameters and the coefficients read from the storage / reading unit 59, and executes the flattening process (step S23). Also, the result 1350 of the flattening process is synthesized on the selection screen 1300 and displayed on the display 308 of the terminal device 3 (step S24).

[0174] Note that when the user re-sets the representative parameters, the quality of the flattening process can be adjusted by repeating the procedures of steps S22 to S24. Since the flattening process can be executed at high speed using the coefficients, interactive parameter adjustment becomes possible.

[0175] FIG. 16 is a flowchart showing a processing procedure for obtaining coefficients of each point in a point group. First, the processing unit 53 of the management server 5 samples representative parameters and executes a flattening process using each representative parameter (sample value) set by the sampling (steps S30, S31). The representative parameters are sampled at intervals of, for example, 0.1 between the minimum value of 0 and the maximum value of 1. In this case, the flattening process is executed for each of the sample values (0, 0.1, 0.2, ··· 0.9, 1).

[0176] Next, the processing unit 53 obtains the locus (function) of each point moved by the flattening process using each representative parameter (sample value) from 0 to 1 (step S32). This function is a function that approximates the position of each point with respect to the representative parameter P and represents a straight line or a curve. For example, when the x - coordinate px of the position of a certain point is approximated by a straight line, the coordinate px is represented by the following equation (5) using the representative parameter P and the coefficients Ax, Bx. Here, the coefficients Ax, Bx are the coefficients of the straight line representing the locus where the position coordinate px of the point moves with respect to the change in the representative parameter.

[0177] px = Ax×P + Bx ···(5)

[0178] These coefficients are calculated for each of the x - coordinate, y - coordinate, and z - coordinate of each point and stored in the storage / reading unit 59 (steps S32, S33). Note that the function used for approximating the locus of each point may be a function representing a curve such as a quadratic function or a cubic function.

[0179] As a result, when the user sets the representative parameters, the position of the point after the flattening process can be obtained by simply performing the simple calculation as shown in Equation (5). Thus, complex three-dimensional projection calculations are not required, and the calculation time of the flattening process can be significantly reduced. As a result, after the user sets the representative parameters, the processing result can be displayed in a short time (real time). Due to this real-time property, when the user adjusts the representative parameters, the adjustment result is immediately reflected in the point cloud and displayed on a display or the like, so that fine quality adjustment of the flattening process can be easily performed.

[0180] (Fifth Modification Example) In the present embodiment, the representative parameters set by the user may be selectable from those stored in the storage / reading unit 59 in advance. For example, by storing a set of representative parameters recommended according to the user's use case and needs in the storage / reading unit 59, the user can appropriately select from them to set the representative parameters.

[0181] FIG. 17 is a diagram showing an example of the setting screen 1200 in the fifth modification example. FIG. 17(a) is different from that described in FIG. 9 in that a use selection button 1227 for selecting the use of the point cloud data is added to the representative parameter setting area 1224. Since the other parts are the same as the setting screen 1200 of FIG. 9 already described, the descriptions thereof are omitted. Further, FIG. 17(b) is different from that described in FIG. 12 in that the use selection button 1227 is added to the sub-parameter setting area 1225. Since the other parts are the same as the setting screen 1200 of FIG. 12 already described, the descriptions thereof are omitted.

[0182] In the setting screen 1200 of FIG. 17(a) or (b), when the user clicks the use selection button 1227, appropriate representative parameters corresponding to the selected use are read from the storage / reading unit 59 and set as the values of the representative parameters.

[0183] In the application of "body dimension measurement", point cloud data is used to measure dimensions such as wall - to - wall distance, ceiling height, openings, etc. in a 3D model of a space such as a room (e.g., a digital model used in BIM, etc.). When the user performs planarization processing on the point cloud data used for body dimension measurement, it is necessary to accurately restore a large plane of the space, but the restoration of fine shapes is not very necessary. When setting representative parameters for such applications, it is preferable to increase the value of the representative parameters to such an extent that the structure of the room and the necessary shapes for measurement are not distorted. Therefore, the representative parameters read from and set by the memory / reading unit 59 by the "body dimension" button in Fig. 17(a) are relatively large values (e.g., 0.7 - 0.9).

[0184] When setting sub - parameters for the application of body dimensions, if the values of P1, P2, and P3 are increased, and particularly the value of P3 that controls the number of planes is set large, it becomes easier to integrate segments, and only the planes necessary for body dimension measurement are easily extracted, which is preferable. Therefore, the sub - parameters read from and set by the memory / reading unit 59 by the "body dimension" button in Fig. 17(b) are relatively large values (e.g., 0.7 - 0.9), and particularly P3 is a larger value (e.g., 0.8 - 0.9) compared to P1 and P2.

[0185] In the application of "move - in plan", when moving equipment and machinery into a facility, etc., point cloud data is used to pre - check whether the machinery, etc. can be moved in without colliding with walls or other machinery, etc., and whether there is space to place the moved - in machinery, etc., and to plan the route and procedure. When the user performs planarization processing on the point cloud data used for the move - in plan, since small protrusions, etc. may prevent the move - in, it is necessary to preserve fine shapes. When setting representative parameters for such applications, it is preferable that the values are as small as possible so that small shapes are not lost. Therefore, the representative parameters read from and set by the memory / reading unit 59 by the "move - in plan" button in Fig. 17(a) are as small as possible (e.g., 0.1 - 0.3).

[0186] Even when setting sub-parameters for the use of the move-in plan, it is preferable to set the values of P1, P2, and P3 to be small, and in particular, to set the value of P3 that controls the number of planes to be small, so that small shapes are less likely to disappear. Therefore, the sub-parameters read from and set by the memory / reading unit 59 by the "move-in plan" button in Fig. 17(b) are small values (for example, 0.1 to 0.3), and in particular, P3 is a smaller value (for example, 0.1 to 0.2) compared to P1 and P2.

[0187] In the case of the "AR (Augmented Reality)" use, point cloud data is used to arrange three-dimensional objects in the virtual space, etc., so as to match the space and objects in the real world, and to superimpose and display them on the video of the real world. When performing a flattening process on the point cloud data used by the user in AR, it is necessary to accurately restore the spatial position of objects, etc., while even if the accuracy of fine shapes is low, there are few problems. When setting representative parameters for such uses, it is preferable to set them to large values so that small objects do not disappear. Therefore, the representative parameters read from and set by the memory / reading unit 59 by the "AR" button in Fig. 17(a) are moderately large values (for example, 0.5 to 0.7).

[0188] Even when setting sub-parameters for the AR use, if the values of P1, P2, and P3 are moderately increased, and in particular, if the value of P1 that controls the size (range) of segments is set to be large, the number of points determined as outliers will decrease, so that the occurrence of shape gaps will be less likely, which is preferable. Also, by increasing P3 that controls the number of planes and reducing the number of planes, the data volume of three-dimensional data can be reduced, and the real-time performance can be improved. Therefore, the sub-parameters read from and set by the memory / reading unit 59 by the "AR" button in Fig. 17(b) are moderately large values (for example, 0.5 to 0.7), and in particular, P1 and P3 are larger values (for example, 0.6 to 0.7) compared to P2.

[0189] In the application of "digital archive", point cloud data is used when generating and storing three-dimensional data of buildings, articles, etc., such as heritage and cultural properties, in a virtual space. When performing a flattening process on the point cloud data used by the user for digital archive, it is necessary to accurately restore even fine shapes. Also, although it is important to moderately increase the flatness to improve the appearance, even if the number of planes is large, there are few problems. When setting representative parameters for such applications, it is preferable to make the values of the representative parameters as small as possible so as not to damage the fine shape. Therefore, the representative parameters read from and set by the memory / reading unit 59 by the "digital archive" button in Fig. 17(a) are small values (for example, 0 to 0.3).

[0190] When setting sub-parameters in the application of digital archive, if the values of P1, P2, and P3 are made small and especially the value of P3 that controls the number of planes is made slightly larger, it is possible to ensure a certain degree of flatness while maintaining the fine shape. Therefore, the sub-parameters read from and set by the memory / reading unit 59 by the "digital archive" button in Fig. 17(b) are small values (for example, 0 to 0.3), and especially P3 is a larger value (for example, 0.2 to 0.3) compared to P1 and P2.

[0191] As described above, by previously storing the representative parameters corresponding to the application of the point cloud data in the memory / reading unit 59 and reading them according to the user's selection, representative parameters corresponding to the user's use case and needs can be set, so that the flattening process can be easily executed.

[0192] Note that the application of the flattening process is not limited to those described above, and representative parameters corresponding to other applications can be stored in and read from the memory / reading unit 59. Also, although the values of the representative parameters recommended for each application are exemplified, the values of the representative parameters stored in and read from the memory / reading unit 59 are not limited to the exemplified values, and other values may be stored and read.

[0193] Aspects of the present invention are as follows, for example. <1> A point cloud processing system that performs a flattening process on point cloud data indicating a three-dimensional point group, comprising: a storage unit that stores the point cloud data; a screen generation unit that generates a screen to be displayed on a display device; a reception unit that receives information input using the screen; and a flattening process unit that executes the flattening process on the point cloud data read from the storage unit using a plurality of parameters included in a parameter group related to the flattening process. The screen generation unit generates an input screen on which a representative parameter related to the flattening process is input, the reception unit receives the input representative parameter, and the flattening process unit sets the plurality of parameters based on the received representative parameter. <2> The representative parameter includes a plurality of sub-parameters, the parameter group includes a plurality of subsets each consisting of a plurality of the parameters, each of the subsets corresponds to each of the sub-parameters, and the plurality of parameters belonging to the subset are set based on the sub-parameter corresponding to the subset. The point cloud processing system according to <1>. <3> The representative parameter includes a main parameter and a plurality of sub-parameters, the parameter group includes a plurality of subsets each consisting of a plurality of the parameters, each of the subsets corresponds to each of the sub-parameters, the plurality of parameters belonging to the subset are set based on the main parameter, and the plurality of parameters belonging to the subset are reset based on the sub-parameter corresponding to the subset. The point cloud processing system according to <1>. <4> The flattening process includes parameters related to at least one of the area of the plane, the degree of the plane, and the number of planes. The point cloud processing system according to any one of <1> to <3>. <5> Further comprising a segment separation unit that separates the point cloud data into a plurality of segments, and the flattening process unit executes the flattening process on the point cloud data belonging to a part of the separated plurality of segments. The point cloud processing system according to any one of <1> to <4>. <6> Representative parameters corresponding to the use of the point cloud data are stored in the storage unit, the reception unit receives use information indicating the use, the flattening processing unit reads out the representative parameters from the storage unit based on the received use information, and the flattening processing unit sets the plurality of parameters based on the read representative parameters. The point cloud processing system according to any one of <1> to <5> above. <7> The flattening processing unit sets a plurality of sample values between the minimum value and the maximum value of the representative parameter, and executes a flattening process on the point cloud data using each of the sample values as the representative parameter. For each point of the point cloud data on which the flattening process has been executed, the flattening processing unit calculates a coefficient representing the trajectory of movement of each point and stores the calculated coefficient in the storage unit. The flattening processing unit executes a flattening process on the point cloud data based on the received representative parameter and the stored coefficient. The point cloud processing system according to any one of <1> to <6> above. <8> The flattening process includes at least one of a fitting process of fitting the point cloud to a plane and a substitution process of substituting the point cloud with a plane model. The point cloud processing system according to any one of <1> to <7> above. <9> A point cloud processing method for performing a flattening process on point cloud data indicating a three-dimensional point cloud, including a storage step of storing the point cloud data in a storage unit, a screen generation step of generating a screen to be displayed on a display device, a reception step of receiving information input using the screen, and a flattening process step of performing the flattening process on the point cloud data read from the storage unit using a plurality of parameters included in a parameter group related to the flattening process. The screen generation step generates an input screen for inputting a representative parameter related to the flattening process, the reception step receives the input representative parameter, and the flattening process step sets the plurality of parameters based on the received representative parameter. It is a point cloud processing method. <10> A program that causes a computer to function as a storage means for storing point cloud data indicating a three-dimensional point cloud, a screen generation means for generating a screen to be displayed on a display device, a reception means for receiving information input using the screen, and a flattening processing means for executing a flattening process on the point cloud data read from the storage unit using a plurality of parameters included in a parameter group related to the flattening process. The screen generation means generates an input screen for inputting a representative parameter related to the flattening process, the reception means receives the input representative parameter, and the flattening processing means sets the plurality of parameters based on the received representative parameter.

Explanation of Signs

[0194] 1 Point cloud processing system 3 Terminal device 5 Management server 32 Reception unit 34 Display control unit 39 Storage / Reading unit 53 Processing unit 57 Generation unit 100 Communication network 308 Display 311 Keyboard 312 Mouse

Prior Art Documents

Patent Documents

[0195]

Patent Document 1

Claims

1. A point cloud processing system that performs a flattening process on point cloud data representing a three-dimensional point group, comprising: a storage unit that stores the point cloud data; a screen generation unit that generates a screen to be displayed on a display device; a reception unit that receives information input using the screen; a flattening processing unit that executes the flattening process on the point cloud data read from the storage unit using a plurality of parameters included in a parameter group related to the flattening process; and the screen generation unit generates an input screen for inputting representative parameters related to the flattening process; the reception unit receives the input representative parameters; the flattening processing unit sets the plurality of parameters based on the received representative parameters. A point cloud processing system.

2. The representative parameters include a plurality of sub-parameters; the parameter group includes a plurality of subsets each consisting of a plurality of the parameters; each of the subsets corresponds to each of the sub-parameters; the plurality of parameters belonging to the subset are set based on the sub-parameter corresponding to the subset. The point cloud processing system according to claim 1.

3. The representative parameters include a main parameter and a plurality of sub-parameters; the parameter group includes a plurality of subsets each consisting of a plurality of the parameters; each of the subsets corresponds to each of the sub-parameters; the plurality of parameters belonging to the subset are set based on the main parameter; the plurality of parameters belonging to the subset are re-set based on the sub-parameter corresponding to the subset. The point cloud processing system according to claim 1.

4. The flattening process includes parameters related to at least one of the area of the plane, the degree of the plane, and the number of planes. The point cloud processing system according to any one of claims 1 to 3.

5. further comprising a segment separation unit that separates the point cloud data into a plurality of segments; the flattening processing unit executes the flattening process on the point cloud data belonging to a part of the separated plurality of segments. The point cloud processing system according to any one of claims 1 to 3.

6. Representative parameters corresponding to the use of the point cloud data are stored in the storage unit; the reception unit receives use information indicating the use; Based on the received usage information, the flattening processing unit reads the representative parameter from the storage unit, The point cloud processing system according to any one of claims 1 to 3, wherein the flattening processing unit sets the plurality of parameters based on the read representative parameter.

7. The flattening processing unit sets a plurality of sample values between the minimum value and the maximum value of the representative parameter, and executes a flattening process on the point cloud data using each of the sample values as a representative parameter. For each point of the point cloud data on which the flattening process has been executed, the flattening processing unit calculates a coefficient representing the trajectory along which each point moves, and stores the calculated coefficient in the storage unit. The point cloud processing system according to any one of claims 1 to 3, wherein the flattening processing unit executes a flattening process on the point cloud data based on the received representative parameter and the stored coefficient.

8. The point cloud processing system according to any one of claims 1 to 3, wherein the flattening process includes at least one of a fitting process of fitting the point cloud to a plane and a substitution process of substituting the point cloud with a plane model.

9. A point cloud processing method for performing a flattening process on point cloud data indicating a three-dimensional point cloud, A storage step of storing the point cloud data in a storage unit, A screen generation step of generating a screen to be displayed on a display device, A reception step of receiving information input using the screen, A flattening process step of executing the flattening process on the point cloud data read from the storage unit using a plurality of parameters included in a parameter group related to the flattening process, comprising The screen generation step generates an input screen for inputting a representative parameter related to the flattening process, The reception step receives the input representative parameter, The flattening process step sets the plurality of parameters based on the received representative parameter. A point cloud processing method.

10. A computer, Storage means for storing point cloud data indicating a three-dimensional point cloud, Screen generation means for generating a screen to be displayed on a display device, Reception means for receiving information input using the screen, Flattening processing means for executing a flattening process on the point cloud data read from the storage means using a plurality of parameters included in a parameter group related to the flattening process, functioning as The screen generation means generates an input screen for inputting representative parameters related to the planarization process, The reception means receives the input representative parameters, The planarization processing means is a program that sets the plurality of parameters based on the received representative parameters.

Citation Information

Patent Citations

  • Point cloud smoothing filtering method based on normal vectors

    JP2023509888A