Method for generating a three-dimensional model of an object and apparatus for generating a three-dimensional model.
A three-dimensional model generation device using a single laser sensor and auxiliary points to convert polar to Cartesian coordinates and generate voxels addresses component and computational challenges, ensuring real-time performance and flexible installation.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- NIPPON SIGNAL CO LTD
- Filing Date
- 2021-10-20
- Publication Date
- 2026-04-22
AI Technical Summary
Existing three-dimensional model generation devices require multiple components, including two imaging cameras and a planar light source, which restricts installation locations, and suffer from high computational demands due to the Delaunay triangulation method, making real-time performance difficult.
A method and apparatus using a single laser distance sensor to obtain three-dimensional polar coordinate values, converting them to Cartesian coordinates, and generating voxels with auxiliary points to reduce components and computational load, ensuring real-time performance.
The solution allows for a three-dimensional model generation device with fewer components and reduced computational requirements, enabling real-time performance by using a single laser sensor and auxiliary points to generate voxels on virtual lines, thus overcoming installation restrictions and computational burdens.
Smart Images

Figure 0007849954000001 
Figure 0007849954000002 
Figure 0007849954000003
Abstract
Description
Technical Field
[0001] The present invention relates to a method for generating a three-dimensional model of an object and a three-dimensional model generation device.
Background Art
[0002] Patent Document 1 describes an example of a three-dimensional model generation device. The three-dimensional model generation device described in Patent Document 1 includes a point cloud data acquisition unit that acquires point cloud data having three-dimensional coordinates of an object, a boundary information acquisition unit that acquires boundary information of the object, and a valid polygon generation unit that generates valid triangular polygons based on the point cloud data and the boundary information.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] The three-dimensional model generation device described in Patent Document 1 requires two imaging cameras for imaging an object and a planar light source for irradiating the object with light. Therefore, there are relatively many components of the device, and there is a risk that the installation location and the like are restricted.
[0005] In addition, the three-dimensional model generation device described in Patent Document 1 applies the Delaunay triangulation method to the acquired point cloud data to generate triangular polygons, and removes invalid triangular polygons among the generated triangular polygons based on the acquired boundary information. Therefore, there is also a problem that the amount of calculation is large and it is difficult to ensure real-time performance.
[0006] Therefore, an object of the present invention is to provide a method for generating a three-dimensional model of an object and a three-dimensional model generation apparatus that enable the object to be configured with fewer components compared to the prior art and reduce the amount of calculation compared to the prior art to ensure real-time performance.
Means for Solving the Problems
[0007] According to one aspect of the present invention, A three-dimensional model generation device including a distance measuring sensor and processing device A method for generating a three-dimensional model of an object This method is provided. includes: The aforementioned obtaining three-dimensional polar coordinate values of a plurality of distance measurement points on the object from obliquely above the object using a distance measurement sensor; but, converting the three-dimensional polar coordinate values of the plurality of distance measurement points into three-dimensional orthogonal coordinate values and converting the plurality of distance measurement points into voxels having a size corresponding to the resolution of the distance measurement sensor. and , The aforementioned processing device The processing device sets an auxiliary point for difference calculation for each distance measurement point, having a three-dimensional polar coordinate value obtained by increasing the value of the distance component in the three-dimensional polar coordinate value of each distance measurement point by a predetermined amount; the processing device converts the three-dimensional polar coordinate value of the auxiliary point into three-dimensional orthogonal coordinates and calculates the difference between the three-dimensional orthogonal coordinate values of each distance measurement point and its auxiliary point as a difference coordinate value; the processing device generates a plurality of virtual points at positions on the extension of each virtual line connecting the base point of the distance measurement sensor and each distance measurement point by repeatedly adding the corresponding difference coordinate value to the three-dimensional orthogonal coordinate value of each distance measurement point; and the processing device converts the generated plurality of virtual points into voxels of a size corresponding to the resolution of the distance measurement sensor.
[0008] This device is provided. multiple According to another aspect of the present invention, a three-dimensional model generation apparatus This device is provided. includes a distance measurement sensor installed obliquely above an object and configured to obtain three-dimensional polar coordinate values of a plurality of distance measurement points on the object, and a processing device configured to convert the three-dimensional polar coordinate values of the plurality of distance measurement points obtained by the distance measurement sensor into three-dimensional orthogonal coordinate values, then convert the plurality of distance measurement points into voxels having a size corresponding to the resolution of the distance measurement sensor, and generate virtual points having three-dimensional orthogonal coordinate values at positions on extension lines of respective virtual lines connecting a reference point of the distance measurement sensor and each of the plurality of distance measurement points, and convert the generated virtual points into voxels. multiple multiple The size of the distance measuring sensor according to its resolution ruyo The processing device sets an auxiliary point for difference calculation for each distance measurement point, which has a three-dimensional polar coordinate value obtained by increasing the value of the distance component in the three-dimensional polar coordinate value of each distance measurement point by a predetermined amount. It converts the three-dimensional polar coordinate value of the auxiliary point into three-dimensional Cartesian coordinates and calculates the difference in three-dimensional Cartesian coordinate values between each distance measurement point and its auxiliary point as a difference coordinate value. The processing device generates the plurality of virtual points by repeatedly adding the corresponding difference coordinate value to the three-dimensional Cartesian coordinate value of each distance measurement point. .
Effects of the Invention
[0009] According to the present invention, it is possible to provide a method for generating a three-dimensional model of an object and a three-dimensional model generation apparatus that enable the object to be configured with fewer components compared to the prior art and reduce the amount of calculation compared to the prior art to ensure real-time performance. [Brief explanation of the drawing]
[0010] [Figure 1] This figure shows a schematic configuration of a three-dimensional model generation apparatus according to an embodiment of the present invention. [Figure 2] This flowchart shows an example of the processing in the data generation unit. [Figure 3] This is a diagram illustrating the processing steps of the three-dimensional model generation unit. [Figure 4] This is a diagram illustrating the processing steps of the three-dimensional model generation unit. [Figure 5] This is a diagram illustrating the processing steps of the three-dimensional model generation unit. [Figure 6] This is a diagram illustrating the processing steps of the three-dimensional model generation unit. [Figure 7] This is a diagram illustrating the processing steps of the three-dimensional model generation unit. [Figure 8] This flowchart shows an example of the processing in the three-dimensional model generation unit. [Figure 9] This diagram illustrates an example of the process of generating a three-dimensional model of an object using a three-dimensional model generation device. [Modes for carrying out the invention]
[0011] Hereinafter, embodiments of the present invention will be described based on the attached drawings.
[0012] Figure 1 is a diagram showing the schematic configuration of a three-dimensional model generation apparatus according to one embodiment of the present invention. The three-dimensional model generation apparatus 1 according to the embodiment is configured to generate a three-dimensional model of an object (target) 50. The three-dimensional model generation apparatus 1 includes a laser distance measuring sensor 2 and a processing device 3.
[0013] The laser distance sensor 2 is a so-called ToF (Time of Flight) sensor. The laser distance sensor 2 is configured to emit laser light and simultaneously receive reflected light from the emitted laser light, and to calculate the distance from itself (its base point) to the reflecting object based on the time difference between the timing of laser light emission and the timing of reflected light reception.
[0014] In this embodiment, the laser distance sensor 2 is positioned diagonally above the object 50, facing the direction of the object 50, as shown in Figure 1. The laser distance sensor 2 is configured to scan a laser beam within a predetermined range encompassing the object 50 and receive the reflected light from the object 50, thereby acquiring the three-dimensional polar coordinate values (r, θ, φ) of multiple reflection points (hereinafter referred to as "distance points") P on the object 50. Here, r is the distance component (distance from the base point of the laser distance sensor 2 to the distance point), θ is the polar angle component, and φ is the azimuth angle component.
[0015] In the following, the symbol Pn is used when describing a specific distance measurement point among multiple distance measurement points P. n is a natural number from 1 to the number of distance measurement points. For example, distance measurement point P1 indicates the first distance measurement point, distance measurement point P5 indicates the fifth distance measurement point, and distance measurement point Pm indicates the mth distance measurement point.
[0016] The processing unit 3 is configured to generate a three-dimensional model of an object 50 based on the three-dimensional polar coordinate values (r,θ,φ) of multiple distance measurement points P on the object 50 acquired by the laser distance measurement sensor 2, and to output the generated three-dimensional model. In this embodiment, the processing unit 3 includes a data generation unit 31, a three-dimensional model generation unit 32 that generates a three-dimensional model using the data generated by the data generation unit 31, and a three-dimensional model output unit 33 that outputs the three-dimensional model generated by the three-dimensional model generation unit 32 to an external device such as a display device or a storage device.
[0017] The data generation unit 31 generates model generation data that the three-dimensional model generation unit 32 uses to generate a three-dimensional model of the object 50, based on the three-dimensional polar coordinate values (r,θ,φ) of multiple distance measurement points P on the object 50 acquired by the laser distance measurement sensor 2.
[0018] Specifically, in this embodiment, the data generation unit 31 transforms the three-dimensional polar coordinate values (r,θ,φ) of multiple distance measurement points P on the object 50 acquired by the laser distance measuring sensor 2 into a three-dimensional Cartesian coordinate system. As a result, the data generation unit 31 generates the three-dimensional Cartesian coordinate values (x,y,z) of multiple distance measurement points P on the object 50, in other words, the point cloud data of the surface of the object 50 in a three-dimensional Cartesian coordinate system (hereinafter simply referred to as "three-dimensional point cloud data") as the model generation data.
[0019] Furthermore, the data generation unit 31 sets at least one auxiliary point P' on the extension of each virtual line connecting the base point of the laser distance sensor 2 to each of the multiple distance measurement points P. In other words, the data generation unit 31 sets at least one auxiliary point P' in the blind spot area of the laser distance sensor 2. The data generation unit 31 then transforms the three-dimensional polar coordinate values (r,θ,φ) of each set auxiliary point P' into a three-dimensional Cartesian coordinate system, and generates the difference between the three-dimensional Cartesian coordinate value of each auxiliary point P' and the three-dimensional Cartesian coordinate value of the corresponding distance measurement point P (hereinafter referred to as "difference coordinate value ΔP in the three-dimensional Cartesian coordinate system") as the model generation data. The generated difference coordinate value ΔP in the three-dimensional Cartesian coordinate system is used by the three-dimensional model generation unit 32 to generate at least one virtual point VP located on the extension of each virtual line connecting the base point of the laser distance sensor 2 to each of the multiple distance measurement points P (i.e., in the blind spot area of the laser distance sensor 2), as will be described later.
[0020] The processing of the data generation unit 31 will be explained further. Figure 2 is a flowchart showing an example of the processing of the data generation unit 31.
[0021] In step S21 of FIG. 2, the data generation unit 31 inputs the polar coordinate data of a plurality of distance measurement points P from the laser distance measurement sensor 2, that is, the three-dimensional polar coordinate values (r, θ, φ) of the plurality of distance measurement points P.
[0022] In step S22, the data generation unit 31 starts a loop for the number of distance measurement points.
[0023] In step S23, the data generation unit 31 adds a minute predetermined amount δ to the value of the distance component r of the distance measurement point Pn(r n , n , n , θ n , φ n ), thereby setting an auxiliary point Pn' having a three-dimensional polar coordinate value (r n + δ, θ n , φ n , φ n ) where the value of the distance component r n is larger by the predetermined amount δ with respect to the distance measurement point Pn(r n + δ, θ n , φ n ). The set auxiliary point Pn' is on the extension line of the virtual line connecting the base point of the laser distance measurement sensor 2 and the distance measurement point Pn, and corresponds to a point slightly away from the distance measurement point Pn. The predetermined amount δ is not particularly limited, but is preferably set according to the distance resolution or distance resolution (hereinafter simply referred to as "resolution") of the laser distance measurement sensor 2. In the present embodiment, the predetermined amount δ is set to approximately the same magnitude as the resolution of the laser distance measurement sensor 2.
[0024] In step S24, the data generation unit 31 performs a rectangular coordinate conversion of the distance measurement point Pn as follows. That is, the data generation unit 31 converts the three-dimensional polar coordinate value (r n , θ n , φ n ) of the distance measurement point Pn into a three-dimensional rectangular coordinate system to obtain the three-dimensional rectangular coordinate value (x, y, z) of the distance measurement point Pn. The obtained three-dimensional rectangular coordinate value (x, y, z) of the distance measurement point Pn is used as the model generation data. Pn(x, y, z) = Pn(r n × Ka, r n × Kb, r n × Kc) However, Ka = sinθn cosφ n Therefore, Kb = sinθ n sinus φ n And Kc = cosθ n That is the case.
[0025] In step S25, the data generation unit 31 performs a Cartesian coordinate transformation of the auxiliary point Pn' as shown in the following equation. That is, the data generation unit 31 calculates the three-dimensional polar coordinate value (r n Convert (+δ,θn,φn) to a three-dimensional Cartesian coordinate system to obtain the three-dimensional Cartesian coordinate values (x,y,z) of the auxiliary point P'. Pn'(x,y,z) = Pn'((r n +δ)×Ka,(r n +δ)×Kb,(r n (+δ) × Kc)
[0026] In step S26, the data generation unit 31 calculates the difference coordinate value ΔPn of the three-dimensional Cartesian coordinate system, which is the difference between the three-dimensional Cartesian coordinate value of the virtual point Pn' and the three-dimensional Cartesian coordinate value of the distance measurement point Pn, as shown in the following equation. In other words, the data generation unit 31 calculates the difference between the x, y, and z components of the virtual point Pn' and the distance measurement point Pn. The calculated difference coordinate value ΔPn of the three-dimensional Cartesian coordinate system is used as the model generation data. ΔPn(x,y,z)=Pn´(x,y,z)-Pn(x,y,z)
[0027] Subsequently, the data generation unit 31 proceeds to step S27 and repeats the loop until processing for the number of distance measurement points is completed.
[0028] As the process in step S24 of Figure 2 is repeated for each distance measurement point, the data generation unit 31 generates three-dimensional Cartesian coordinate values (x, y, z) of multiple distance measurement points P on the object 50, that is, three-dimensional point cloud data of the surface of the object 50.
[0029] Furthermore, by repeating steps S23, S25, and S26 in Figure 2 for the number of distance measurement points, the data generation unit 31 generates the difference coordinate values ΔP for the number of distance measurement points, in other words, the difference coordinate values ΔP in the three-dimensional Cartesian coordinate system for each of the multiple distance measurement points P.
[0030] Returning to Figure 1, the three-dimensional model generation unit 32 generates a three-dimensional model of the object 50 using the model generation data generated by the data generation unit 31, namely the three-dimensional point cloud data of the surface of the object 50 (three-dimensional Cartesian coordinate values (x,y,z) of multiple distance measurement points P on the object 50) and the difference coordinate value ΔP of the three-dimensional Cartesian coordinate system for each of the multiple distance measurement points P on the object 50. The process will be explained in detail below with reference to Figures 3 to 7.
[0031] In this embodiment, the three-dimensional model generation unit 32, for example as shown in Figure 3, arranges a plurality of distance measurement points P in a predetermined xyz space (three-dimensional Cartesian coordinate system) applied to the three-dimensional model generation device 1 based on their three-dimensional Cartesian coordinate values (x, y, z). Here, the xyz space is divided into a plurality of unit cells (meshes), each having a size corresponding to the resolution of the laser distance measurement sensor 2. The three-dimensional model generation unit 32 then converts the unit cells (meshes) in the xyz space that contain at least one distance measurement point P into voxels.
[0032] As a result, as shown in Figure 4, for example, each of the multiple distance measurement points P on the object 50 acquired by the laser distance sensor 2 is converted into a voxel of a size corresponding to the resolution of the laser distance sensor 2. In other words, multiple voxels are generated, each containing at least one distance measurement point P. The generated multiple voxels constitute the surface of the object 50.
[0033] Furthermore, the three-dimensional model generation unit 32 generates multiple virtual points VP based on the three-dimensional Cartesian coordinate values (x,y,z) of multiple distance measurement points P and the difference coordinate value ΔP of the three-dimensional Cartesian coordinate system relating to the multiple distance measurement points P, and arranges the generated multiple virtual points VP in the xyz space. The three-dimensional model generation unit 32 then converts the unit cells containing at least one virtual point VP from among the multiple unit cells into voxels. As a result, multiple new voxels are generated (added), each containing at least one virtual point.
[0034] In detail, the three-dimensional model generation unit 32 adds the difference coordinate value ΔP of the corresponding three-dimensional Cartesian coordinate system to the three-dimensional Cartesian coordinate value (x,y,z) of each of the multiple distance measurement points P, k times. k is a natural number greater than or equal to 1. As a result, the three-dimensional model generation unit 32 generates at least one virtual fixed point VP that is located on the extension of each virtual line connecting the base point of the laser distance measurement sensor 2 and each of the multiple distance measurement points P, and has three-dimensional Cartesian coordinate value (x,y,z). The three-dimensional model generation unit 32 then arranges the generated at least one virtual point VP in the xyz space based on these three-dimensional Cartesian coordinate values (x,y,z).
[0035] For example, the three-dimensional model generation unit 32 adds the difference coordinate value ΔP1 of the three-dimensional Cartesian coordinate system relating to the distance measurement point P1 to the three-dimensional Cartesian coordinate value (x,y,z) of the distance measurement point P1, repeating this three times. As a result, three virtual points VP1 relating to the distance measurement point P1 are generated, and as shown in Figure 5, the three generated virtual points VP1 are placed in the xyz space. In other words, three virtual points VP1 are added to the distance measurement point P1 in the xyz space. The three added virtual points VP1 correspond to points located on the extension of the virtual line connecting the base point of the laser distance measurement sensor 2 and the distance measurement point P1.
[0036] The three-dimensional model generation unit 32 performs the same processing for each of the multiple distance measurement points P as the processing for distance measurement point P1. As a result, as shown in Figure 6, multiple virtual points VP (solid lines) are generated, each relating to one of the multiple distance measurement points P (dashed lines), and the generated multiple virtual points VP are placed in the xyz space. In other words, at least one virtual point VP is added to each of the multiple distance measurement points P in the xyz space. The added at least one virtual point VP corresponds to a point located on the extension of the virtual line connecting the base point of the laser distance measurement sensor 2 and the corresponding distance measurement point P.
[0037] Then, when the generated (added) multiple virtual points VP are placed in the xyz space, the three-dimensional model generation unit 32 converts the unit cells in the xyz space that contain at least one virtual point VP (excluding unit cells that have already been voxelized) into voxels. As a result, as shown by the solid lines in Figure 7, each of the multiple virtual points VP is converted into a voxel of a size corresponding to the resolution of the laser distance sensor 2. In other words, in addition to the multiple voxels (see Figure 4) each containing at least one distance measurement point P as described above, a new set of multiple voxels, each containing at least one virtual point VP, are added. The added multiple voxels are located on the extensions of the virtual lines connecting the base point of the laser distance sensor 2 and each of the multiple distance measurement points P (i.e., in the blind spot area of the laser distance sensor 2), and constitute the interior of the object 50. Note that the unit cells shown by the dashed lines in Figure 7 are not converted into voxels (they remain empty space) because they do not contain any virtual points VP.
[0038] The processing of the three-dimensional model generation unit 32 will be explained further. Figure 8 is a flowchart showing an example of the processing of the three-dimensional model generation unit 32.
[0039] In step S31 of Figure 8, the three-dimensional model generation unit 32 receives three-dimensional point cloud data of the object 50 from the data generation unit 31, that is, the three-dimensional Cartesian coordinate values (x,y,z) of multiple distance measurement points P and the difference coordinate value ΔP of the three-dimensional Cartesian coordinate system for each of the multiple distance measurement points P on the object 50.
[0040] In step S32, the three-dimensional model generation unit 32 starts a loop equal to the number of distance measurement points.
[0041] In step S33, the three-dimensional model generation unit 32 sets the distance measurement point Pn(x,y,z) as placement data p(x,y,z) for placing it in the xyz space applied to the three-dimensional model generation device 1.
[0042] In step S34, the three-dimensional model generation unit 32 places the distance measurement point Pn in the xyz space based on the placement data p(x,y,z) set in step S33.
[0043] In step S35, the three-dimensional model generation unit 32 voxels the distance measurement points Pn. Specifically, in this embodiment, the three-dimensional model generation unit 32 converts the unit cell (mesh) in which the distance measurement points Pn are located into voxels.
[0044] In step S36, the three-dimensional model generation unit 32 generates virtual point VP placement data p(x,y,z) for placing virtual point VPn in the xyz space by adding the difference coordinate value ΔPn(x,y,z) to the placement data p(x,y,z) for distance measurement point Pn, as shown in the following equation. As described above, virtual point VP corresponds to a point located on the extension of the virtual line connecting the base point of the laser distance measurement sensor 2 and distance measurement point Pn.
[0045] In step S37, the three-dimensional model generation unit 32 determines that the placement data p(x,y,z) of the virtual point VPn generated in step S36 is limited to the coordinate values (x max , y max , z maxIt is determined whether or not it is within the ). Then, the placement data p(x,y,z) of the virtual point VPn generated in step S36 is within the limit coordinate value (x max , y max , z max If it is within ), that is, if the x component of the placement data p(x,y,z) for the virtual point VPn generated in step S36 is x max Below, the y component is y max The following, and the z component is z max If the following conditions are met, proceed to step S38.
[0046] In this embodiment, the three-dimensional model generation unit 32 sets a preset limit coordinate value (x max , y max , z max It remembers the limit coordinate values (x max , y max , z max ) can be set arbitrarily. For example, the limit coordinate value (x max , y max , z max ) can be set based on the general size of the object 50. For example, if the object 50 is a person, the limit coordinate value (x max , y max , z max ) can be set based on the general body size of an adult. However, it is not limited to this, and the three-dimensional model generation unit 32 may set the limit coordinate value (x max , y max , z max ) may be set. In this case, the three-dimensional model generation unit 32 sets limit coordinate values (x) based on, for example, the minimum or maximum value of the x component at multiple distance measurement points P, the minimum or maximum value of the y component, the minimum or maximum value of the z component, and the general size of the object 50. max , y max , z max ) can be set.
[0047] In step S38, the three-dimensional model generation unit 32 places the virtual point VPn in the xyz space based on the placement data p(x,y,z) for the virtual point VPn generated in step S36. As a result, the virtual point VPn is generated at a position that lies on the extension of the virtual line connecting the base point of the laser distance sensor 2 and the distance measurement point Pn.
[0048] In step S39, the three-dimensional model generation unit 32 voxels the virtual point VPn. That is, the three-dimensional model generation unit 32 converts the unit cell (mesh) in which the virtual point VPn exists into a voxel. As a result, voxels are added to the area that lies on the extension of the virtual line connecting the base point of the laser distance sensor 2 and the distance measurement point Pn, i.e., the blind spot of the laser distance sensor 2.
[0049] Subsequently, the three-dimensional model generation unit 32 returns to step S36, and the placement data p(x,y,z) for the virtual point VPn is set to the limit coordinate value (x max , y max , z max ) until it exceeds that, that is, the x component of the placement data p(x,y,z) for the virtual point VPn generated in step S36 is x max If it becomes larger, or if the y component is y max It becomes larger, or the z component is z max The process of generating the placement data p(x,y,z) for the virtual point VP, placing the virtual point VPn in the xyz space, and voxelizing the virtual point VPn is repeated until it becomes larger.
[0050] Then, the placement data p(x,y,z) for the virtual point VPn generated in step S36 is the limit coordinate value (x max , y max , z max If the number of distance measurement points exceeds (step S37; No), the three-dimensional model generation unit 32 proceeds to step S40 and repeats the loop until processing for the number of distance measurement points is completed.
[0051] The process in steps S33 to S35 is repeated for each distance measurement point, so that multiple distance measurement points P on the object 50 are arranged in the xyz space (see Figure 3), and the unit cell containing at least one distance measurement point P is converted into a voxel (see Figure 4). This generates multiple voxels that make up the surface of the object 50.
[0052] Furthermore, as the process in steps S36 to S39 is repeated for each distance measurement point, at least one virtual point VP is added to each of the multiple distance measurement points P in the xyz space (see Figures 5 and 6), and the unit cell containing at least one distance measurement point P is converted into a voxel (see Figure 7). As a result, multiple voxels constituting the interior of the object 50 are added. Each of the added voxels is located on the extension of a virtual line connecting the base point of the laser distance sensor 2 and one of the multiple distance measurement points P.
[0053] Figure 9 is a diagram illustrating an example of the process of generating a three-dimensional model of an object 50 by the three-dimensional model generation apparatus 1 according to this embodiment. Here, the object 50 is shown as an adult holding an infant.
[0054] In this case, the laser distance sensor 2 acquires the three-dimensional polar coordinate values (r,θ,φ) of multiple distance measurement points P on the surface of adults and infants, as shown in Figure 9(a). The processing unit 3 converts the three-dimensional polar coordinate values (r,θ,φ) of the multiple distance measurement points P acquired by the laser distance sensor 2 into three-dimensional Cartesian coordinate values (x,y,z), and converts the multiple distance measurement points P into voxels of a size corresponding to the resolution of the laser distance sensor 2. As a result, as shown in Figure 9(b), multiple voxels containing the distance measurement points P, i.e., multiple voxels that constitute the surface of adults and infants, are generated. The processing unit 3 also adds voxels at positions on the extensions of the virtual lines connecting the base point of the laser distance sensor 2 and each distance measurement point P, i.e., in the blind spot range of the laser distance sensor 2. However, the range in which voxels are added is limited by the limit coordinate value (x max , y max , z maxIt is restricted by ). As a result, as shown in Figure 9(c), multiple voxels are added to the area inside the thick line, and most of these added voxels constitute the interior of adults and infants.
[0055] As described above, the three-dimensional model generation apparatus 1 according to this embodiment acquires three-dimensional polar coordinate values of multiple distance measurement points P on the object 50 from diagonally above the object 50 using one laser distance sensor 2, converts the three-dimensional polar coordinate values of the multiple distance measurement points P into three-dimensional Cartesian coordinate values, converts the multiple distance measurement points P into voxels of a size corresponding to the resolution of the laser distance sensor 2, and adds at least one voxel at a position on the extension of each virtual line connecting the base point of the laser distance sensor 2 and each of the multiple distance measurement points P, thereby generating a three-dimensional model of the object 50.
[0056] Therefore, unlike conventional technology, there is no need to provide two imaging cameras or a planar light source, and the three-dimensional model generation device 1 can be constructed with fewer components compared to conventional technology, thus suppressing limitations on installation location and other factors.
[0057] Furthermore, since voxels are added at positions on the extensions of the virtual lines connecting the base point of the laser range sensor 2 to each of the multiple range points P, the addition of voxels in spatial locations where the object 50 does not exist is suppressed. Moreover, the positions on the extensions of the virtual lines connecting the base point of the laser range sensor 2 to each of the multiple range points P can be calculated relatively easily based on the three-dimensional polar coordinate values of the multiple range points P. For this reason, a solid model of the object 50 can be easily generated while reducing the amount of computation and ensuring real-time performance compared to conventional technology.
[0058] In particular, the three-dimensional model generation device 1 according to the embodiment adds at least one voxel at a position on the extension of each virtual line connecting the base point of the laser distance sensor 2 and each of the multiple distance measurement points P, by following the procedure below. That is, the three-dimensional model generation device 1 first sets an auxiliary point Pn' for difference calculation for each distance measurement point Pn, which has a three-dimensional polar coordinate value obtained by increasing the value of the distance component r in the three-dimensional polar coordinate value of each distance measurement point Pn by a predetermined amount δ. Next, the three-dimensional model generation device 1 converts the three-dimensional polar coordinate value of the auxiliary point Pn' into three-dimensional Cartesian coordinates and calculates the difference in the three-dimensional Cartesian coordinate values between each distance measurement point Pn and its auxiliary point Pn' as the difference coordinate value ΔPn. Next, the three-dimensional model generation device 1 generates at least one virtual point VPn at a position on the extension of each virtual line by adding or repeatedly adding the corresponding difference coordinate value ΔPn to the three-dimensional Cartesian coordinate value of each distance measurement point Pn. The three-dimensional model generation device 1 then converts each generated virtual point VPn into a voxel of a size corresponding to the resolution of the laser distance measuring sensor 2.
[0059] In other words, when the three-dimensional model generation device 1 adds voxels to generate a solid model of the object 50, it performs coordinate transformation processing from three-dimensional polar coordinates to three-dimensional Cartesian coordinates only (number of distance measurement points × 2), and after that, it only needs to perform addition processing. As a result, the amount of computation is significantly reduced compared to conventional technology, and real-time performance can be improved.
[0060] Although embodiments of the present invention have been described above, the present invention is not limited to the embodiments described above, and can of course be modified and changed based on the technical concept of the present invention. [Explanation of Symbols]
[0061] 1...3D model generation device, 2...Laser distance sensor, 3...Processing device, 31...Data generation unit, 32...3D model generation unit, 33...3D model output unit, 50...Target object
Claims
1. A method for generating a three-dimensional model of an object using a three-dimensional model generation apparatus including a distance measuring sensor and a processing device, The distance measuring sensor acquires three-dimensional polar coordinate values of multiple distance measuring points on the object from diagonally above the object, The processing device converts the three-dimensional polar coordinate values of the plurality of distance measurement points into three-dimensional Cartesian coordinate values, and then converts the plurality of distance measurement points into voxels of a size corresponding to the resolution of the distance measurement sensor. The processing device sets an auxiliary point for calculating the difference, which has a three-dimensional polar coordinate value obtained by increasing the value of the distance component in the three-dimensional polar coordinate value of each distance measurement point by a predetermined amount, The processing device converts the three-dimensional polar coordinate values of the auxiliary points into three-dimensional Cartesian coordinates and calculates the difference between the three-dimensional Cartesian coordinate values of each distance measurement point and its auxiliary point as the difference coordinate value. The processing device generates a plurality of virtual points at positions on the extensions of the virtual lines connecting the base point of the distance sensor and each of the distance points by repeatedly adding the corresponding difference coordinate values to the three-dimensional orthogonal coordinate values of each distance measurement point. The processing device converts the generated number of virtual points into voxels of a size corresponding to the resolution of the distance measuring sensor, Methods that include...
2. Converting the aforementioned plurality of distance measurement points into voxels of a size corresponding to the resolution of the distance measurement sensor is, The plurality of distance measurement points are arranged in an xyz space divided into a unit cell of a size corresponding to the resolution of the distance measurement sensor, Converting a unit cell containing at least one distance measurement point into a voxel, Includes, Converting the aforementioned plurality of virtual points into voxels of a size corresponding to the resolution of the distance measuring sensor is, Placing the plurality of virtual points in the xyz space, Converting a unit cell containing at least one virtual point into a voxel, The method according to claim 1, including the method described in claim 1.
3. The method according to claim 1, wherein the predetermined amount is set according to the resolution of the distance measuring sensor.
4. The method according to any one of claims 1 to 3, wherein the repeated addition of the corresponding difference coordinate values to the three-dimensional orthogonal coordinate values of each distance measurement point is performed until the addition result exceeds a predetermined limit coordinate value.
5. A distance measuring sensor is installed diagonally above an object and configured to acquire three-dimensional polar coordinate values of multiple distance measuring points on the object, A processing device configured to convert the three-dimensional polar coordinate values of the plurality of distance measurement points acquired by the distance measuring sensor into three-dimensional Cartesian coordinate values, then convert the plurality of distance measurement points into voxels of a size corresponding to the resolution of the distance measuring sensor, and generate a plurality of virtual points having three-dimensional Cartesian coordinate values at positions on the extensions of each virtual line connecting the base point of the distance measuring sensor and each of the plurality of distance measurement points, and convert the generated plurality of virtual points into voxels of a size corresponding to the resolution of the distance measuring sensor, Includes, The processing device sets an auxiliary point for difference calculation for each distance measurement point, which has a three-dimensional polar coordinate value obtained by increasing the distance component value in the three-dimensional polar coordinate value of each distance measurement point by a predetermined amount, converts the three-dimensional polar coordinate value of the auxiliary point into three-dimensional Cartesian coordinates, calculates the difference in the three-dimensional Cartesian coordinate values between each distance measurement point and its auxiliary point as a difference coordinate value, and generates the plurality of virtual points by repeatedly adding the corresponding difference coordinate value to the three-dimensional Cartesian coordinate value of each distance measurement point. A three-dimensional model generation device.
Citation Information
Patent Citations
Device and method for generating three-dimensional model
JP2006065608A
Merging Three-Dimensional Models of Varying Resolution
US20140232717A1
System and methods for data point detection and spatial modeling
US20150153444A1
Multi-resolution voxel meshing
US20210225074A1