Point cloud segmentation system, point cloud segmentation method, and program
Patent Information
- Application Number
- JP2025062199
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-04-04
- Publication Date
- 2026-10-16
AI Technical Summary
【0009】 本開示によれば、各部分点群ファイルにおいて複数の点が互いに近傍となるように、かつ、複数の部分点群ファイル間で点の数を均すように、大規模点群ファイルを複数の部分点群ファイルに分割することができる。
Smart Images

Figure 2026168778000001_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present invention relates to a point cloud segmentation system, a point cloud segmentation method, and a program.
BACKGROUND ART
[0002] Patent Document 1 discloses a technique for generating mesh data from point cloud data.
PRIOR ART DOCUMENTS
PATENT DOCUMENTS
[0003]
PATENT DOCUMENT 1
SUMMARY OF THE INVENTION
PROBLEM TO BE SOLVED BY THE INVENTION
[0004] For example, when a mesh file is generated from a large-scale point cloud file of several hundred gigabytes, the mesh file also becomes large-scale in the same manner, and cannot be directly loaded into, for example, a visualization application. Therefore, as a practical countermeasure, a method of dividing the point cloud file into a plurality of partial point cloud files in advance and individually generating partial mesh files from each of the partial point cloud files is effective. For example, if the upper limit of the data capacity per file that can be loaded by a visualization application is 200 megabytes and the data capacity of the point cloud file is 150 gigabytes, theoretically, the point cloud file must be divided into at least 750 or more parts. It is completely impractical for a user to manually perform such division processing. In addition, since the partial mesh files are individually generated from the respective partial point cloud files, a plurality of points belonging to each partial point cloud file need to be adjacent to each other. Furthermore, if the number of points varies greatly among the plurality of partial point cloud files, the total number of the plurality of partial point cloud files will unnecessarily become enormous.
[0005] The purpose of this disclosure is to provide a technique for dividing a large point cloud file into multiple sub-point cloud files such that multiple points are in close proximity to each other in each sub-point cloud file, and the number of points is evenly distributed among the multiple sub-point cloud files. [Means for solving the problem]
[0006] A means for acquiring a large point cloud file containing multiple point data, each having coordinate data, If the large point cloud file satisfies the first condition, the large point cloud file is divided into multiple sub-point cloud files so as to divide the multiple point data contained in the large point cloud file into a grid according to the coordinate data, and for each sub-point cloud file, if the sub-point cloud file satisfies the first condition, the sub-point cloud file is further divided into multiple sub-point cloud files so as to divide the multiple point data contained in the sub-point cloud file into a grid according to the coordinate data, Output means for outputting the aforementioned multiple partial point cloud files, including, A point cloud segmentation system is provided.
[0007] Computers Obtain a large point cloud file containing multiple point data, each with its own coordinate data. If the large point cloud file satisfies the first condition, the large point cloud file is divided into multiple sub-point cloud files so as to divide the multiple point data contained in the large point cloud file into a grid according to the coordinate data, and each sub-point cloud file is further divided into multiple sub-point cloud files so as to divide the multiple point data contained in the sub-point cloud file into a grid according to the coordinate data if the sub-point cloud file satisfies the first condition, Outputting the aforementioned multiple partial point cloud files, A point cloud segmentation method is provided.
[0008] On the computer, Obtain a large point cloud file containing multiple point data, each with its own coordinate data. If the large point cloud file satisfies the first condition, the large point cloud file is divided into multiple sub-point cloud files so as to divide the multiple point data contained in the large point cloud file into a grid according to the coordinate data, and each sub-point cloud file is further divided into multiple sub-point cloud files so as to divide the multiple point data contained in the sub-point cloud file into a grid according to the coordinate data if the sub-point cloud file satisfies the first condition, Outputting the aforementioned multiple partial point cloud files, A program is provided to execute the process. [Effects of the Invention]
[0009] According to this disclosure, a large point cloud file can be divided into multiple subpoint cloud files such that multiple points are neighbors in each subpoint cloud file, and the number of points is evenly distributed across the multiple subpoint cloud files. [Brief explanation of the drawing]
[0010] [Figure 1] This is a functional block diagram of the point cloud segmentation system. [Figure 2] This is the control flow for a point cloud segmentation system. [Figure 3] This is a functional block diagram of the point cloud division device. [Figure 4] This is a data structure diagram of a large point cloud file. [Figure 5] This is a data structure diagram of a partial point cloud file. [Figure 6] This is an explanatory diagram of the partitioning process. [Figure 7] This is an explanatory diagram of the partitioning process. [Figure 8] This is an explanatory diagram of the partitioning process. [Figure 9] This is an explanatory diagram of the merging process. [Figure 10] This is the control flow for a point cloud segmentation application. [Mode for Carrying Out the Invention]
[0011] (Overview of the Present Disclosure) First, an overview of the present disclosure will be described. Figure 1 is a functional block diagram of a point cloud segmentation system 100.
[0012] The point cloud segmentation system 100 includes an acquisition unit 101, a segmentation unit 102, and an output unit 103.
[0013] The acquisition unit 101 acquires a large-scale point cloud file including a plurality of point data each having coordinate data.
[0014] When the large-scale point cloud file satisfies a first condition, the segmentation unit 102 segments the large-scale point cloud file into a plurality of partial point cloud files so that the plurality of point data included in the large-scale point cloud file are segmented in a grid pattern according to the coordinate data. Further, for each partial point cloud file, when the partial point cloud file satisfies the first condition, the segmentation unit 102 further segments the partial point cloud file into a plurality of partial point cloud files so that the plurality of point data included in the partial point cloud file are segmented in a grid pattern according to the coordinate data.
[0015] The output unit 103 outputs the plurality of partial point cloud files.
[0016] Next, the control flow of the point cloud division system 100 will be explained. Figure 2 shows the control flow of the point cloud division system 100. First, the acquisition means 101 acquires a large point cloud file containing multiple point data, each having coordinate data (S101). Next, if the large point cloud file satisfies the first condition, the division means 102 divides the large point cloud file into multiple sub-point cloud files so that the multiple point data contained in the large point cloud file are divided into a grid according to the coordinate data (S102). Furthermore, for each sub-point cloud file, if the sub-point cloud file satisfies the first condition, the division means 102 further divides the sub-point cloud file into multiple sub-point cloud files so that the multiple point data contained in the sub-point cloud file are divided into a grid according to the coordinate data (S102). Finally, the output means 103 outputs the multiple sub-point cloud files (S103).
[0017] With the above configuration, a large point cloud file can be divided into multiple sub-point cloud files such that multiple points are neighbors in each sub-point cloud file, and the number of points is evenly distributed across the multiple sub-point cloud files.
[0018] (First Embodiment) Next, the point cloud segmentation device 1 in the first embodiment of this disclosure will be described.
[0019] The present invention will be described below through embodiments of the invention, but the invention claimed is not limited to the following embodiments. Furthermore, not all of the configurations described in the embodiments are necessarily essential as means of solving the problem. For clarity of explanation, the following descriptions and drawings have been omitted and simplified as appropriate. In each drawing, the same elements are denoted by the same reference numerals, and redundant explanations have been omitted where necessary.
[0020] In the following embodiments, the description will be divided into multiple sections or embodiments where necessary for convenience. Unless otherwise specified, these are not unrelated, and one may be a modification, application, detailed explanation, or supplementary explanation of part or all of the other. Furthermore, in the following embodiments, when referring to the number of elements (including number, numerical value, quantity, and range), unless otherwise specified or clearly limited to a specific number in principle, it is not limited to that specific number, and may be greater than or less than that number.
[0021] Furthermore, in the following embodiments, the components (including operation steps, etc.) are not necessarily essential unless specifically stated or considered to be fundamentally essential. Similarly, in the following embodiments, when referring to the shape or positional relationship of components, etc., it shall include those substantially similar to or resembling their shape, etc., unless specifically stated or considered to be fundamentally different. The same applies to the numbers, etc. (including number, numerical value, quantity, and range) mentioned above.
[0022] Figure 3 shows a functional block diagram of the point cloud partitioning device 1. The point cloud partitioning device 1 is a specific example of a point cloud partitioning system. In this embodiment, the point cloud partitioning device 1 is implemented by a single device. However, it is not limited to this, and the point cloud partitioning device 1 may be implemented by distributed processing using multiple devices. The point cloud partitioning device 1 is used to acquire large point cloud files and to partition or merge large point cloud files as appropriate.
[0023] In this embodiment, the point cloud segmentation device 1 is implemented by a computer such as a personal computer or workstation. The point cloud segmentation device 1 includes a processor 1a, memory 1b, LCD 1c (Liquid Crystal Display), storage medium interface 1d, input interface 1e, and communication interface 1f.
[0024] Processor 1a is typically one of the following: CPU (Central Processing Unit), GPU (Graphics Processing Unit), FPGA (Field Programmable Gate Array), or ASIC (Application-Specific Integrated Circuit).
[0025] Memory 1b consists of main memory and secondary storage. Main memory is typically RAM (Random Access Memory) or ROM (Read Only Memory). Secondary storage is typically HDD (Hard Disk Drive) or SSD (Solid State Drive).
[0026] Memory 1b stores a point cloud segmentation program that enables the computer to function as a point cloud segmentation application 30. Processor 1a reads and executes the point cloud segmentation program from memory 1b. This allows processor 1a to enable hardware such as processor 1a and memory 1b to function as a point cloud segmentation application 30. Memory 1b also stores temporary work data necessary for the execution of the point cloud segmentation application 30.
[0027] Memory 1b stores a mesh program that enables the computer to function as a mesh application 31. Processor 1a reads and executes the mesh program from memory 1b. This allows processor 1a to enable hardware such as processor 1a and memory 1b to function as a mesh application 31. Memory 1b also stores temporary work data necessary for the execution of the mesh application 31.
[0028] Memory 1b stores a visualization program that enables the computer to function as a visualization application 32. Processor 1a reads and executes the visualization program from memory 1b. This allows processor 1a to enable hardware such as processor 1a and memory 1b to function as a visualization application 32. Memory 1b also stores temporary work data necessary for the execution of the visualization application 32.
[0029] LCD1c is a specific example of an output device. LCD1c may be built into the point cloud segmentation device 1, or it may be an external device of the point cloud segmentation device 1.
[0030] The storage medium interface 1d is an interface for the processor 1a to access external storage media. External storage media typically include SD cards, USB memory sticks, external HDDs, external SSDs, optical discs, NAS (Network Attached Storage), and magnetic tapes.
[0031] The input interface 1e is an interface for the user to input commands to the point cloud segmentation device 1. The input interface 1e is typically a keyboard, mouse, touchpad, or touch panel.
[0032] The communication interface 1f is an interface for the processor 1a to communicate with external devices via a network. The communication interface 1f is typically an Ethernet module (registered trademark), a Wi-Fi module (registered trademark), or a Bluetooth module (registered trademark).
[0033] As shown in Figure 3, the point cloud segmentation application 30 includes an acquisition unit 10, a sorting unit 11, a segmentation unit 12, a joining unit 13, and an output unit 14.
[0034] The acquisition unit 10 is a specific example of an acquisition method. The acquisition unit 10 acquires a large point cloud file containing multiple point data, each having coordinate data. Specifically, it is as follows:
[0035] Figure 4 shows the data structure of the large point cloud file 2. As shown in Figure 4, the large point cloud file 2 is composed of multiple point data 3.
[0036] Each point data 3 may include coordinate data, intensity data, RGB values, time data, point number, and other information. Coordinate data is the position information of the point in three-dimensional space, expressed in absolute or relative coordinates. Intensity data is typically data indicating the received intensity when pulsed light emitted from a LiDAR device is reflected by an object and received by the LiDAR device. RGB values can typically be generated by mapping the coordinates of multiple point data 3 to an RGB image generated by an RGB camera. Time data is data indicating the scan time of the point. The point number is a unique identification number for each point.
[0037] Large-scale point cloud file 2 is a point cloud file obtained by sensing terrain and objects built on that terrain. Typical objects include, but are not limited to, power transmission towers, skyscrapers, radio towers, chimneys, bridges, and wind power plants. Sensing means for sensing objects and generating large-scale point cloud file 2 include LiDAR (Light Detection and Ranging), RADAR (Radio Detection and Ranging), and stereo cameras. However, large-scale point cloud file 2 may also be generated using SfM (Structure from Motion).
[0038] The acquisition unit 10 typically acquires a large point cloud file 2 via a storage medium interface 1d or a communication interface 1f. The large point cloud file 2 consists, for example, of several billion to several tens of billions of point data 3. Therefore, the large point cloud file 2 has, for example, a data capacity of several tens to several hundred gigabytes. The acquisition unit 10 stores the acquired large point cloud file 2 in memory 1b.
[0039] The sorting unit 11 is a specific example of a sorting method. The sorting unit 11 sorts the multiple point data 3 contained in the large point cloud file 2 according to their coordinate data. That is, in the large point cloud file 2 acquired by the acquisition unit 10, the multiple point data 3 are arranged in order of point number, i.e., in order of scan time. Therefore, the sorting unit 11 sorts the multiple point data 3 in ascending order by X coordinate. Examples of sorting methods include quicksort, Timsort, parallel sort, and Hadoop / Spark sort. The sorting unit 11 may also sort the multiple point data 3 in descending order by Y coordinate, or sort the multiple point data 3 in ascending order by Z coordinate. By sorting the multiple point data 3 in ascending or descending order by X coordinate, Y coordinate, or Z coordinate in this way, it contributes to speeding up the partitioning process by the partitioning unit 12 described later.
[0040] The division unit 12 is one specific example of a division means. Figure 5 shows the data structure of a partial point cloud file 4 obtained by dividing a large point cloud file 2. If the large point cloud file 2 satisfies the first condition, the division unit 12 divides the large point cloud file 2 into multiple partial point cloud files 4 such that the multiple point data 3 contained in the large point cloud file 2 are divided in a grid according to the coordinate data. Furthermore, for each partial point cloud file 4, if the partial point cloud file 4 satisfies the first condition, the division unit 12 further divides the partial point cloud file 4 into multiple partial point cloud files 4 such that the multiple point data 3 contained in the partial point cloud file 4 are divided in a grid according to the coordinate data.
[0041] Here, the first condition refers to either the file's data capacity being equal to or greater than the first capacity, or the number of point data points 3 contained in the file being equal to or greater than the first number of data points. For example, if the upper limit of the data capacity per file that the visualization application 32 can read is set to 200 megabytes, then, as an example, the first capacity mentioned above would be 190 megabytes. Also, since the data capacity of the large point cloud file 2 and the partial point cloud file 4 is roughly proportional to the number of point data points 3 they contain, the first number of data points mentioned above is set, as an example, based on the first capacity mentioned above.
[0042] Figures 6 to 8 are explanatory diagrams of the division process performed by the division unit 12. In Figures 6 to 8, multiple points 5 corresponding to multiple point data 3 are shown as white circles. Also, for the sake of explanation, please note that multiple points 5 distributed in 3D space are depicted as being distributed in 2D space.
[0043] Figure 6 shows the distribution of multiple points 5 corresponding to multiple point data 3 contained in the large point cloud file 2. As shown in Figure 6, the distribution of multiple points 5 is not uniform; there are areas where multiple points 5 are distributed at a relatively high density, and areas where multiple points 5 are distributed at a relatively low density. The division unit 12 first determines whether the large point cloud file 2 satisfies the first condition. If the large point cloud file 2 satisfies the first condition, as shown in Figure 7, the division unit 12 divides the large point cloud file 2 into multiple sub-point cloud files 4 so as to divide the multiple point data 3 contained in the large point cloud file 2 into a grid according to the coordinate data. Specifically, it is as follows.
[0044] First, the division unit 12 divides the three-dimensional space into a grid to generate multiple boxes 6. These boxes 6 are typically, but not limited to, cubes. The division unit 12 assigns an identification number 6a to each of the boxes 6. Then, for each of the multiple points 5 corresponding to the multiple point data 3 contained in the large point cloud file 2, the division unit 12 determines, based on the coordinate data of the point 5, which of the multiple boxes 6 it belongs to. For example, point 5(1) belongs to box 6 with identification number 2, and point 5(2) belongs to box 6 with identification number 5. Hereinafter, box 6 with identification number X will also be referred to as box 6(X). Then, for each box 6, the division unit 12 generates a partial point cloud file 4 having multiple point data 3 corresponding to the multiple points 5 belonging to that box 6. In this way, the division unit 12 divides the large point cloud file 2 into multiple partial point cloud files 4.
[0045] As shown in Figure 5, the partial point cloud file 4 consists of multiple point data 3, a self-identification number, and multiple adjacent identification numbers. The self-identification number is the identification number of the box 6 corresponding to the partial point cloud file 4. The multiple adjacent identification numbers are the identification numbers of the multiple boxes 6 adjacent to the box 6 corresponding to the partial point cloud file 4. In Figure 7, the multiple adjacent identification numbers of the partial point cloud file 4 corresponding to box 6(5) are set to "2", which is the identification number of box 6(2) adjacent to box 6(5), "4", which is the identification number of box 6(4), and "6", which is the identification number of box 6(6).
[0046] Furthermore, the splitting unit 12 does not perform the splitting process if the large point cloud file 2 does not satisfy the first condition.
[0047] The division unit 12 then divides each partial point cloud file 4 into multiple partial point cloud files 4, such that if the partial point cloud file 4 satisfies the first condition, the multiple point data 3 contained in the partial point cloud file 4 are divided into a grid according to the coordinate data. Specifically, this is done as follows.
[0048] Specifically, referring to Figure 7, for the sake of explanation, we will assume that the subpoint cloud file 4 corresponding to box 6(6) satisfies the first condition, and that the subpoint cloud files 4 corresponding to the other boxes 6 do not satisfy the first condition. In this case, as shown in Figure 8, the division unit 12 further divides box 6(6) in a grid to generate multiple boxes 6, namely box 6(200), box 6(201), box 6(202), and box 6(203). The multiple boxes 6 are typically, but not limited to, cubes. The division unit 12 assigns a new identification number 6a to the multiple boxes 6. Then, for each of the multiple points 5 located within box 6(6), the division unit 12 determines, based on the coordinate data of the point 5, which box 6 from box 6(200) to box 6(203) the point 5 belongs to. For example, point 5(3) belongs to box 6(200), and point 5(4) belongs to box 6(203). The division unit 12 then generates a partial point cloud file 4 for each box 6, each containing multiple point data 3 corresponding to multiple points 5 belonging to that box 6. In this way, the division unit 12 further divides the partial point cloud file 4 corresponding to box 6 (6) into multiple partial point cloud files 4.
[0049] The division unit 12 appropriately sets the self-identification numbers and adjacent identification numbers of the generated sub-point cloud files 4 as described above. For example, in Figure 8, the adjacent identification numbers of the sub-point cloud file 4 corresponding to box 6(202) are set to "5", which is the identification number of box 6(5) adjacent to box 6(202), "200", which is the identification number of box 6(200), and "203", which is the identification number of box 6(203).
[0050] The splitting unit 12 repeats the above splitting process for any of the multiple partial point cloud files 4 that satisfy the first condition. If none of the partial point cloud files 4 satisfy the first condition, the splitting unit 12 terminates the above splitting process.
[0051] According to the division process by the division unit 12 described above, multiple point data 3 corresponding to multiple points 5 located within one box 6 belong to one subpoint cloud file 4. Therefore, the large point cloud file 2 is divided into multiple subpoint cloud files 4 so that the multiple points 5 are neighbors to each other in each subpoint cloud file 4. Furthermore, according to the division process by the division unit 12 described above, the division process is performed again on subpoint cloud files 4 that satisfy the first condition, so that the large point cloud file 2 is divided into multiple subpoint cloud files 4 so that the number of points 5 is evenly distributed among the multiple subpoint cloud files 4.
[0052] The joining unit 13 is a specific example of a joining means. For each partial point cloud file 4, the joining unit 13 joins the partial point cloud file 4 with other partial point cloud files 4 if the partial point cloud file 4 satisfies the second condition. That is, as mentioned above with reference to Figure 6, the multiple points 5 corresponding to the multiple point data 3 of the large point cloud file 2 are not uniformly distributed in three-dimensional space, but are distributed at a relatively high density in some areas and at a relatively low density in other areas. Therefore, among the multiple partial point cloud files 4 generated by the division unit 12, a partial point cloud file 4 with an extremely small data capacity or an extremely small number of point data 3 may be generated. If the existence of such partial point cloud files 4 is allowed, the number of partial point cloud files 4 will become unnecessarily large and cumbersome. Also, from the viewpoint of generating seamless mesh data, it is desirable to have as few partial point cloud files 4 as possible. Therefore, the joining unit 13 joins partial point cloud files 4 with other partial point cloud files 4 if the data capacity is too small.
[0053] The second condition is that the file's data size is less than the second size, or the number of data points in the file is less than the second number of data points. Here, the second size is set to a value smaller than the first size mentioned above. If the first size is 190 megabytes, the second size is typically set to 150 megabytes, which is slightly smaller than the first size. Similarly, the second number of data points is set to a value smaller than the first number of data points mentioned above. The second number of data points is set based on the second size.
[0054] For the sake of explanation, we will assume that in Figure 8, the subpoint cloud file 4 corresponding to box 6(1) satisfies the second condition. The same applies to boxes 6(2), 6(3), 6(4), and 6(5).
[0055] In this case, the merging unit 13 merges the partial point cloud file 4 corresponding to box 6(1) with other partial point cloud files 4. Hereinafter, the "partial point cloud file 4 corresponding to box 6(1)" will be referred to as the source file, and the "other partial point cloud files 4" will also be referred to as the destination file. The merging unit 13 selects the destination file for the merging process from among multiple partial point cloud files 4 based on the following criteria.
[0056] Firstly, the joining unit 13 selects the destination file from among multiple partial point cloud files 4 so that the combined partial point cloud file 4 does not satisfy the first condition. This is because if the combined partial point cloud file 4 satisfies the first condition, the combined partial point cloud file 4 would have to be split again.
[0057] Secondly, the joining unit 13 selects a subpoint cloud file 4 from among the multiple subpoint cloud files 4 that is adjacent to the source file in three-dimensional space as the destination file. This means the joining unit 13 joins two subpoint cloud files 4 that are adjacent to each other in three-dimensional space. In this way, by joining two subpoint cloud files 4 that are adjacent to each other in three-dimensional space in the above joining process, seamless mesh data can be generated compared to joining two subpoint cloud files 4 that are not adjacent to each other. The joining unit 13 can select the destination file from among the multiple subpoint cloud files 4 based on the adjacent identification number assigned to the source file. This is because the adjacent identification number is nothing more than a number indicating the adjacent relationship in three-dimensional space. For example, in Figure 8, the adjacent identification numbers for the subpoint cloud files 4 corresponding to box 6(1) are set to 2 and 4. Therefore, if the subpoint cloud file 4 corresponding to box 6(1) is used as the source file for joining, the joining unit 13 can extract the subpoint cloud file 4 corresponding to box 6(2) and the subpoint cloud file 4 corresponding to box 6(4) as candidates for the destination file from multiple subpoint cloud files 4 with extremely low computational cost.
[0058] As shown in Figures 8 and 9, the joining unit 13, as an example, joins three partial point cloud files 4 corresponding to boxes 6(1), 6(2), and 6(3), respectively, and joins two partial point cloud files 4 corresponding to boxes 6(4) and 6(5), respectively. The joining unit 13 assigns the identification number 500 to the new box 6 obtained by joining boxes 6(1), 6(2), and 6(3), and the identification number 501 to the new box 6 obtained by joining boxes 6(4) and 6(5).
[0059] The merging unit 13 repeatedly performs the merging process described above until all of the partial point cloud files 4 no longer satisfy the second condition. As a result of the merging process by the merging unit 13, all of the partial point cloud files 4 no longer satisfy the second condition. That is, the data capacity of all of the partial point cloud files 4 became between 150 megabytes and 190 megabytes.
[0060] The output unit 14 outputs multiple partial point cloud files 4, which have been generated through the division process by the division unit 12 and the joining process by the joining unit 13, to the memory 1b.
[0061] The mesh application 31 reads multiple partial point cloud files 4 from memory 1b and generates mesh data for each partial point cloud file 4 based on multiple point data 3 in that partial point cloud file 4. Each mesh data typically includes, in addition to the partial point cloud file 4, data indicating the point numbers of the three point data 3 that represent the vertices of each polygon, and the color information of that polygon. The mesh application 31 then stores the generated multiple mesh files in memory 1b.
[0062] The visualization application 32 reads multiple mesh files from memory 1b and projects them perspectively onto the screen coordinate system of LCD 1c for display. This creates a digital twin of the object, such as a power transmission tower or a high-rise building, on LCD 1c.
[0063] Next, the control flow of the point cloud segmentation application 30 will be explained with reference to Figure 10. Figure 10 shows the control flow of the point cloud segmentation application 30.
[0064] First, the acquisition unit 10 acquires a large point cloud file 2 containing multiple point data 3, each having coordinate data (S300). Next, the sorting unit 11 sorts the multiple point data 3 contained in the large point cloud file 2 according to the coordinate data (S310). Next, the division unit 12 divides the large point cloud file 2 into multiple sub-point cloud files 4 so that the multiple point data 3 contained in the large point cloud file 2 are divided into a grid according to the coordinate data, if the large point cloud file 2 satisfies the first condition (S320). Furthermore, for each sub-point cloud file 4, the division unit 12 further divides the sub-point cloud file 4 into multiple sub-point cloud files 4 so that the multiple point data 3 contained in the sub-point cloud file 4 are divided into a grid according to the coordinate data, if the sub-point cloud file 4 satisfies the first condition (S320). Next, the merging unit 13, for each partial point cloud file 4, merges that partial point cloud file 4 with other partial point cloud files 4 if the partial point cloud file 4 satisfies the second condition (S330). Then, the output unit 14 outputs the multiple partial point cloud files 4 (S340).
[0065] The first embodiment of this disclosure has been described above. The first embodiment has the following features.
[0066] The point cloud splitting device 1 includes an acquisition unit 10, a splitting unit 12, and an output unit 14. The acquisition unit 10 acquires a large point cloud file 2 containing multiple point data 3, each having coordinate data. If the large point cloud file 2 satisfies a first condition, the splitting unit 12 splits the large point cloud file 2 into multiple sub-point cloud files 4 so that the multiple point data 3 contained in the large point cloud file 2 are divided in a grid according to the coordinate data. Furthermore, for each sub-point cloud file 4, if the sub-point cloud file 4 satisfies the first condition, the splitting unit 12 further splits the sub-point cloud file 4 into multiple sub-point cloud files 4 so that the multiple point data 3 contained in the sub-point cloud file 4 are divided in a grid according to the coordinate data. The output unit 14 outputs the multiple sub-point cloud files 4. With the above configuration, the large point cloud file 2 can be split into multiple sub-point cloud files 4 so that multiple points are in close proximity to each other in each sub-point cloud file 4, and so that the number of points is evenly distributed among the multiple sub-point cloud files 4.
[0067] The first condition mentioned above refers to either the file's data capacity being equal to or greater than the first capacity, or the number of data points 3 contained in the file being equal to or greater than the first number of data points. With this configuration, files with excessively large data capacities can be efficiently eliminated.
[0068] Furthermore, the point cloud splitting device 1 further includes a coupling unit 13. For each partial point cloud file 4, the coupling unit 13 combines the partial point cloud file 4 with other partial point cloud files 4 if the partial point cloud file 4 satisfies the second condition. With this configuration, partial point cloud files 4 can be combined with each other as needed.
[0069] Furthermore, the second condition refers to either the file's data size being less than the second size, or the number of data points 3 contained in the file being less than the second number of data points. With this configuration, files with insufficient data size can be efficiently eliminated.
[0070] Furthermore, the joining unit 13 selects other partial point cloud files 4 from among multiple partial point cloud files 4 so that the combined partial point cloud file 4 does not satisfy the first condition. With this configuration, further splitting by the splitting unit 12 becomes unnecessary.
[0071] Furthermore, the joining section 13 joins two subpoint cloud files 4 that are adjacent to each other in three-dimensional space from among the multiple subpoint cloud files 4. This configuration contributes to seamless mesh data.
[0072] Furthermore, the division unit 12 assigns to each partial point cloud file 4 a self-identification number as the identification number of the partial point cloud file 4, and an adjacent identification number as the identification number of the partial point cloud file 4 that is adjacent to the partial point cloud file 4 in three-dimensional space. The joining unit 13 selects other partial point cloud files 4 from the multiple partial point cloud files 4 based on the adjacent identification numbers assigned to the partial point cloud file 4. With the above configuration, two partial point cloud files 4 that are adjacent to each other in three-dimensional space can be extracted with low computational cost.
[0073] Furthermore, the point cloud division device 1 includes a sorting unit 11. The sorting unit 11 sorts multiple point data 3 contained in the large point cloud file 2 according to their coordinate data. This configuration contributes to speeding up the division process performed by the division unit 12.
[0074] Although the present disclosure has been described above with reference to embodiments, the present disclosure is not limited to the embodiments described above. Various modifications to the structure and details of the present disclosure can be understood by those skilled in the art within the scope of the present disclosure. Each of the above embodiments can be modified, for example, as follows:
[0075] In other words, the sorting unit 11 and the joining unit 13 provided in the point cloud segmentation application 30 can be omitted.
[0076] Furthermore, the joining section 13 may combine two subpoint cloud files 4 that are not adjacent to each other in three-dimensional space.
[0077] Furthermore, the box 6 corresponding to the combined partial point cloud file 4 does not have to be a cube or a rectangular prism.
[0078] In the above example, the program can be stored and supplied to the computer using various types of non-transitory computer-readable medium. Non-transitory computer-readable medium includes various types of tangible storage medium. Examples of non-transitory computer-readable medium include magnetic storage media, magneto-optical storage media, CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memory. Examples of semiconductor memory include mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs (Random Access Memory). Alternatively, the program may be supplied to the computer using various types of transient computer-readable medium. Examples of transient computer-readable medium include electrical signals, optical signals, and electromagnetic waves. Transitory computer-readable medium can be supplied to the computer via wired communication channels such as electric wires and optical fibers, or via wireless communication channels.
[0079] Each drawing is merely illustrative to illustrate one or more embodiments. Each drawing may be associated with one or more other embodiments rather than with only one specific embodiment. As those skilled in the art will understand, various features or steps described with reference to any one drawing can be combined with features or steps shown in one or more other drawings, for example, to create embodiments not explicitly shown or described. Not all features or steps shown in any one drawing to illustrate an exemplary embodiment are necessarily required, and some features or steps may be omitted. The order of steps shown in any of the drawings may be changed as appropriate.
[0080] Some or all of the above embodiments may also be described as follows, but are not limited to the following: (Note 1) A means for acquiring a large point cloud file containing multiple point data, each having coordinate data, If the large point cloud file satisfies the first condition, the large point cloud file is divided into multiple sub-point cloud files so as to divide the multiple point data contained in the large point cloud file into a grid according to the coordinate data, and for each sub-point cloud file, if the sub-point cloud file satisfies the first condition, the sub-point cloud file is further divided into multiple sub-point cloud files so as to divide the multiple point data contained in the sub-point cloud file into a grid according to the coordinate data, Output means for outputting the aforementioned multiple partial point cloud files, including, Point cloud segmentation system. (Note 2) The point cloud division system described in Appendix 1, The first condition refers to either the file's data capacity being equal to or greater than a first capacity, or the number of data points in the file being equal to or greater than a first number of data points. Point cloud segmentation system. (Note 3) The point cloud division system described in Appendix 1, For each partial point cloud file, if the partial point cloud file satisfies a second condition, the system further includes a means for combining the partial point cloud file with other partial point cloud files. Point cloud segmentation system. (Note 4) The point cloud division system described in Appendix 3, The second condition refers to either the file's data capacity being less than the second capacity, or the number of data points in the file being less than the second number of data points. Point cloud segmentation system. (Note 5) The point cloud division system described in Appendix 3, The combining means selects the other partial point cloud files from the plurality of partial point cloud files such that the combined partial point cloud file does not satisfy the first condition. Point cloud segmentation system. (Note 6) The point cloud division system described in Appendix 3, The combining means combines two of the plurality of partial point cloud files that are adjacent to each other in three-dimensional space. Point cloud segmentation system. (Note 7) The point cloud division system described in Appendix 6, The division means assigns to each partial point cloud file a self-identification number as the identification number of the partial point cloud file, and an adjacent identification number as the identification number of the partial point cloud files adjacent to the partial point cloud file in three-dimensional space. The combining means selects the other partial point cloud files from the plurality of partial point cloud files based on the adjacent identification number assigned to the partial point cloud file. Point cloud segmentation system. (Note 8) The point cloud division system described in Appendix 1, The system further includes sorting means for sorting the plurality of point data contained in the large point cloud file according to coordinate data. Point cloud segmentation system. (Note 9) Computers Obtain a large point cloud file containing multiple point data, each with its own coordinate data. If the large point cloud file satisfies the first condition, the large point cloud file is divided into multiple sub-point cloud files so as to divide the multiple point data contained in the large point cloud file into a grid according to the coordinate data, and each sub-point cloud file is further divided into multiple sub-point cloud files so as to divide the multiple point data contained in the sub-point cloud file into a grid according to the coordinate data if the sub-point cloud file satisfies the first condition, Outputting the aforementioned multiple partial point cloud files, Point cloud segmentation method. (Note 10) On the computer, Obtain a large point cloud file containing multiple point data, each with its own coordinate data. If the large point cloud file satisfies the first condition, the large point cloud file is divided into multiple sub-point cloud files so as to divide the multiple point data contained in the large point cloud file into a grid according to the coordinate data, and each sub-point cloud file is further divided into multiple sub-point cloud files so as to divide the multiple point data contained in the sub-point cloud file into a grid according to the coordinate data if the sub-point cloud file satisfies the first condition, Outputting the aforementioned multiple partial point cloud files, A program that executes a process.
[0081] Some or all of the elements (e.g., configuration and function) described in Appendices 2 to 8 that are dependent on Appendice 1 may also be dependent on Appendices 9 to 10 in the same way as in Appendices 2 to 8. Some or all of the elements described in any appendice may be applicable to various hardware, software, recording means, systems, and methods for recording software. [Explanation of Symbols]
[0082] 1 Point group segmentation device 2. Large point cloud files 3-point data 4. Partial point cloud files 5 points 6 boxes 6a Identification number 10 Acquisition Department 11. Sorting section 12 Division 13 Joint 14 Output section 30-point cloud segmentation application 31 Mesh Applications 32 Visualization Applications
Claims
1. A means for acquiring a large point cloud file containing multiple point data, each having coordinate data, If the large point cloud file satisfies the first condition, the large point cloud file is divided into multiple sub-point cloud files so as to divide the plurality of point data contained in the large point cloud file into a grid according to the coordinate data, and for each sub-point cloud file, if the sub-point cloud file satisfies the first condition, the sub-point cloud file is further divided into multiple sub-point cloud files so as to divide the plurality of point data contained in the sub-point cloud file into a grid according to the coordinate data, Output means for outputting the aforementioned multiple partial point cloud files, including, Point cloud segmentation system.
2. A point cloud division system according to claim 1, The first condition refers to either the file's data capacity being equal to or greater than a first capacity, or the number of data points in the file being equal to or greater than a first number of data points. Point cloud segmentation system.
3. A point cloud division system according to claim 1, For each partial point cloud file, if the partial point cloud file satisfies a second condition, the system further includes a means for combining the partial point cloud file with other partial point cloud files. Point cloud segmentation system.
4. A point cloud division system according to claim 3, The second condition refers to either the file's data capacity being less than the second capacity, or the number of data points in the file being less than the second number of data points. Point cloud segmentation system.
5. A point cloud division system according to claim 3, The combining means selects the other partial point cloud files from the plurality of partial point cloud files such that the combined partial point cloud file does not satisfy the first condition. Point cloud segmentation system.
6. A point cloud division system according to claim 3, The combining means combines two of the plurality of partial point cloud files that are adjacent to each other in three-dimensional space. Point cloud segmentation system.
7. A point cloud division system according to claim 6, The division means assigns to each partial point cloud file a self-identification number as the identification number of the partial point cloud file, and an adjacent identification number as the identification number of the partial point cloud files adjacent to the partial point cloud file in three-dimensional space. The combining means selects the other partial point cloud files from the plurality of partial point cloud files based on the adjacent identification number assigned to the partial point cloud file. Point cloud segmentation system.
8. A point cloud division system according to claim 1, The system further includes sorting means for sorting the plurality of point data contained in the large point cloud file according to coordinate data. Point cloud segmentation system.
9. Computers Obtain a large point cloud file containing multiple point data, each with its own coordinate data. If the large point cloud file satisfies the first condition, the large point cloud file is divided into multiple sub-point cloud files so as to divide the multiple point data contained in the large point cloud file into a grid according to the coordinate data, and each sub-point cloud file is further divided into multiple sub-point cloud files so as to divide the multiple point data contained in the sub-point cloud file into a grid according to the coordinate data, if the sub-point cloud file satisfies the first condition. Outputting the aforementioned multiple partial point cloud files, Point cloud segmentation method.
10. On the computer, Obtain a large point cloud file containing multiple point data, each with its own coordinate data. If the large point cloud file satisfies the first condition, the large point cloud file is divided into multiple sub-point cloud files so as to divide the multiple point data contained in the large point cloud file into a grid according to the coordinate data, and each sub-point cloud file is further divided into multiple sub-point cloud files so as to divide the multiple point data contained in the sub-point cloud file into a grid according to the coordinate data, if the sub-point cloud file satisfies the first condition. Outputting the aforementioned multiple partial point cloud files, A program that executes a process.
Citation Information
Patent Citations
Information processor, region division method, and region division program
JP2017228234A