Point cloud generating device, point cloud generating method, and point cloud generating program
The point cloud generation device corrects measurement positions and orientations to generate smooth and accurate three-dimensional point clouds by identifying and correcting displacement periods, addressing distortion issues in mobile mapping systems without relying on costly IMUs.
Patent Information
- Application Number
- JP2021211033
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-12-24
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2041-12-24
AI Technical Summary
The generation of distorted three-dimensional point clouds due to errors between forward and backward dead reckoning in mobile mapping systems, especially when satellite visibility is lost, leading to inaccuracies in self-position calculation, which are not effectively addressed by high-performance IMUs, and are exacerbated by the increasing demand for smooth point clouds in diverse environments.
A point cloud generation device that corrects measurement positions and postures using satellite positioning data, inertial measurement data, and odometer data to identify and correct displacement periods, generating three-dimensional point clouds with reduced distortion by aligning positions and orientations before and after these periods.
Enables the production of smooth and accurate three-dimensional point clouds without the need for expensive high-performance IMUs, ensuring natural drawings and eliminating distortion through post-processing, even in satellite-invisible environments.
Smart Images

Figure 0007607551000001 
Figure 0007607551000002 
Figure 0007607551000003
Abstract
Description
[Technical field]
[0001] This disclosure relates to the generation of three-dimensional point clouds by Mobile Mapping Systems (MMS). [Background technology]
[0002] In the case of MMS, when the measurement environment is poor and the measurement vehicle is stationary with no satellites visible, the self-position calculated by post-processing moves slightly even though the measurement vehicle is stationary. This phenomenon occurs due to an error between forward and backward dead reckoning, and will occur as long as an IMU is used. IMU is an abbreviation for Inertial Measurement Unit. Using a high-performance IMU can reduce this phenomenon to some extent, but it comes at a huge cost, making MMS using a high-performance IMU unlikely to be feasible.
[0003] This problem has existed since the beginning of the development of MMS. However, up until now, it was rare to deliver 3D point clouds that were distorted by the above phenomenon, and people had to visually correct the distortion of the 3D point clouds when drawing up the drawings. Also, since measurements were performed by specially trained personnel, the occurrence of the above phenomenon was low.
[0004] In recent years, as MMS has become more common, 3D point clouds have become the subject of deliveries, and distortion of 3D point clouds has become a problem. In addition, measurement is no longer a specialized job, and there is a demand for relaxation of measurement rules. Furthermore, in order to obtain a large amount of measurement data, it has become necessary to perform measurements regardless of the driving environment. For this reason, there is a demand for obtaining smooth 3D point clouds, even when the measurement vehicle is stuck in traffic on a highway where satellites are not visible and the vehicle stops intermittently.
[0005] Patent Document 1 discloses a technique for generating a three-dimensional model using a three-dimensional point group. However, if the 3D point cloud is distorted, an accurate 3D model cannot be generated. [Prior art documents] [Patent documents]
[0006] [Patent Document 1] JP 2010-287156 A Summary of the Invention [Problem to be solved by the invention]
[0007] An object of the present disclosure is to enable a three-dimensional point cloud with little distortion to be obtained. [Means for solving the problem]
[0008] The point cloud generating device of the present disclosure is a position calculation unit that calculates a position and an attitude of the vehicle at each time as a measured position and a measured attitude based on satellite positioning data obtained by a receiver attached to the vehicle and inertial measurement data obtained by an inertial measurement unit attached to the vehicle; a position correction unit that identifies a stop time zone of the vehicle based on travel distance data obtained by an odometer attached to the vehicle, identifies a time zone during which the measurement position changes within the stop time zone as a displacement time zone, determines a representative position for the displacement time zone based on the measurement position at each time of the displacement time zone, corrects the measurement position at each time of the displacement time zone to the representative position, and corrects the measurement position and measured attitude at each time before and after the displacement time zone based on the representative position; The vehicle is equipped with a point cloud generation unit that generates three-dimensional point cloud data based on the corrected measurement position at each time, the corrected measurement attitude at each time, and laser point cloud data obtained by a laser scanner attached to the vehicle. Effect of the Invention
[0009] According to the present disclosure, a three-dimensional point cloud with little distortion can be obtained. [Brief description of the drawings]
[0010] [Figure 1] FIG. 1 is a configuration diagram of a point cloud generating system 200 according to a first embodiment. [Diagram 2] FIG. 2 is a diagram showing a configuration of vehicle measurement data 220 according to the first embodiment. [Diagram 3] FIG. 1 is a configuration diagram of a point cloud generating device 100 according to a first embodiment. [Figure 4] 3 is a flowchart of a point cloud generating method according to the first embodiment. [Diagram 5] 11 is a flowchart of step S130 in the first embodiment. [Figure 6] 4 is a flowchart of step S200 in the first embodiment. [Figure 7] 13 is a flowchart of step S220 in the first embodiment. [Figure 8] 11 is a flowchart of step S230 in the first embodiment. [Figure 9] FIG. 4 is a diagram showing a group of epochs before correction in the first embodiment. [Figure 10] FIG. 2 shows a representative epoch in the first embodiment. [Figure 11] FIG. 11 is a diagram showing a group of epochs after correction in the first embodiment. [Figure 12] FIG. 11 is a diagram showing the correction of an influenced epoch group in the first embodiment. [Figure 13] FIG. 2 is a schematic diagram of a process according to the first embodiment. [Figure 14] FIG. 13 is a diagram showing a distorted 3D point cloud. [Figure 15] FIG. 13 is a diagram showing an example in which the self-position moves forward when the measurement vehicle is stopped. [Figure 16] FIG. 16 is a diagram showing a three-dimensional point cloud based on the self-location of FIG. 15 . [Figure 17] FIG. 13 is a diagram showing a discrepancy in self-position between forward processing and backward processing. [Figure 18]FIG. 13 is a diagram showing the movement of the self-position when stationary and the trajectory of the original self-position. [Figure 19] A diagram showing a distorted 3D point cloud. [Figure 20] 13A and 13B are diagrams showing a trajectory of a self-position before and after correction; [Figure 21] 1A and 1B are diagrams showing a 3D point cloud before and after correction. [Figure 22] 1A and 1B are diagrams showing a 3D point cloud before and after correction. [Figure 23] 1A and 1B are diagrams showing a 3D point cloud before and after correction. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] In the embodiments and drawings, the same or corresponding elements are denoted by the same reference numerals. Descriptions of elements denoted by the same reference numerals as those of the elements described above will be omitted or simplified as appropriate. Arrows in the drawings mainly indicate data flow or processing flow.
[0012] Embodiment 1 The point cloud generation system 200 will be described with reference to FIGS.
[0013] ***Configuration Description*** The configuration of a point cloud generation system 200 will be described with reference to Fig. 1. The point cloud generation system 200 corresponds to a mobile mapping system (MMS). The point cloud generating system 200 includes a measurement vehicle 210 and a point cloud generating device 100.
[0014] The measurement vehicle 210 is equipped with measurement equipment such as one or more receivers 211 , one or more laser scanners 212 , an IMU 213 , one or more cameras 214 , and an odometer 215 . The measuring instruments (except for the odometer 215) are attached to a carrier, and the carrier is installed on the roof of the measuring vehicle 210. The odometer 215 is attached to a tire. However, the location where the measuring instruments are installed is not limited.
[0015] The receiver 211 is a receiver for a satellite positioning system and performs satellite positioning. Specifically, the receiver 211 receives positioning signals from four or more positioning satellites and determines its own position. A specific example of a satellite positioning system is the Global Positioning System (GPS). The laser scanner 212 performs laser measurement. Specifically, the laser scanner 212 irradiates a laser beam and receives the laser beam reflected at the point where the laser beam is irradiated (measurement point). The laser scanner 212 then calculates the distance (relative distance) to the measurement point based on the time from when the laser beam is irradiated to when the laser beam is received. The laser scanner 212 also determines the direction in which the laser beam is irradiated as the bearing (relative orientation) to the measurement point. The IMU 213 is an inertial measurement unit that performs inertial measurements. Specifically, the IMU 213 measures angular velocity and acceleration in three dimensions. The camera 214 takes pictures and generates images. The odometer 215 measures the distance traveled.
[0016] The measurement vehicle 210 travels through a measurement area, and the measurement instruments perform various measurements. The data obtained by the measuring instruments of the measuring vehicle 210 is referred to as vehicle measurement data 220.
[0017] The configuration of the vehicle measurement data 220 will be described with reference to FIG. The vehicle measurement data 220 includes satellite positioning data 221 , laser point cloud data 222 , inertial measurement data 223 , image data 224 , and traveled distance data 225 . Satellite positioning data 221 is data obtained by receiver 211. Satellite positioning data 221 indicates a position at each time. "Each time" is a time at regular intervals. "Position" is expressed as a three-dimensional coordinate value. The laser point cloud data 222 is data obtained by the laser scanner 212. The laser point cloud data 222 includes laser point data for each measurement point. The laser point data indicates the measurement time, the relative distance, and the relative direction. The inertial measurement data 223 is data obtained by the IMU 213. The inertial measurement data 223 indicates a three-dimensional angular velocity and a three-dimensional acceleration at each time. The image data 224 is data obtained by the camera 214. The image data 224 represents an image for each shooting time. The traveled distance data 225 is data obtained by the odometer 215. The traveled distance data 225 indicates the traveled distance at each time.
[0018] Returning to FIG. 1, the explanation will be continued. The point cloud generating device 100 generates three-dimensional point cloud data 230 using vehicle measurement data 220. The three-dimensional point cloud data 230 includes three-dimensional point data for each measurement point. The three-dimensional point data indicates three-dimensional coordinate values of the measurement point.
[0019] The point cloud generating device 100 may be mounted on the measurement vehicle 210 or may be provided separately from the measurement vehicle 210.
[0020] The configuration of the point cloud generating device 100 will be described with reference to FIG. The point cloud generating device 100 is a computer including hardware such as a processor 101, a memory 102, an auxiliary storage device 103, a communication device 104, and an input / output interface 105. These hardware components are connected to each other via signal lines.
[0021] The processor 101 is an IC that performs arithmetic processing and controls other hardware. For example, the processor 101 is a CPU, a DSP, or a GPU. IC is an abbreviation for Integrated Circuit. CPU is an abbreviation for Central Processing Unit.
[0022] The memory 102 is a volatile or non-volatile storage device. The memory 102 is also called a primary storage device or a main memory. For example, the memory 102 is a RAM. Data stored in the memory 102 is saved in the secondary storage device 103 as necessary. RAM is an abbreviation for Random Access Memory.
[0023] The auxiliary storage device 103 is a non-volatile storage device. For example, the auxiliary storage device 103 is a ROM, a HDD, a flash memory, or a combination of these. Data stored in the auxiliary storage device 103 is loaded into the memory 102 as needed. ROM is an abbreviation for Read Only Memory. HDD is an abbreviation for Hard Disk Drive.
[0024] The communication device 104 is a receiver and a transmitter. For example, the communication device 104 is a communication chip or a NIC. The communication of the point cloud generating device 100 is performed using the communication device 104. NIC is an abbreviation for Network Interface Card.
[0025] The input / output interface 105 is a port to which an input device and an output device are connected. For example, the input / output interface 105 is a USB terminal, the input device is a keyboard and a mouse, and the output device is a display. Input and output of the point cloud generation device 100 is performed using the input / output interface 105. USB is an abbreviation for Universal Serial Bus.
[0026] The point cloud generating device 100 includes elements such as a receiving unit 110, a position calculation unit 120, a position correction unit 130, a point cloud generating unit 140, and an output unit 150. These elements are realized by software.
[0027] The auxiliary storage device 103 stores a point cloud generation program for causing a computer to function as the reception unit 110, the position calculation unit 120, the position correction unit 130, the point cloud generation unit 140, and the output unit 150. The point cloud generation program is loaded into the memory 102 and executed by the processor 101. The auxiliary storage device 103 further stores an OS. At least a part of the OS is loaded into the memory 102 and executed by the processor 101. The processor 101 executes a point cloud generating program while executing the OS. OS is an abbreviation for Operating System.
[0028] Input and output data of the point cloud generation program are stored in the storage unit 190. The memory 102 functions as the storage unit 190. However, a storage device such as the auxiliary storage device 103, a register in the processor 101, or a cache memory in the processor 101 may function as the storage unit 190 instead of the memory 102 or together with the memory 102.
[0029] The point cloud generating device 100 may include multiple processors instead of the processor 101.
[0030] The point cloud generation program can be recorded (stored) in a computer-readable manner on a non-volatile recording medium such as an optical disk or a flash memory.
[0031] ***Explanation of Operation*** The procedure of the operation of the point cloud generation system 200 (particularly the operation of the point cloud generation device 100) corresponds to a point cloud generation method. The procedure of the operation of the point cloud generation device 100 corresponds to the procedure of processing by a point cloud generation program.
[0032] The point cloud generation method will be described with reference to Fig. 4. Step S130 is the main feature. The other steps are the same as those in MMS.
[0033] In step S101, the measurement vehicle 210 travels through a measurement area. During the travel, the measurement instruments of the measurement vehicle 210 perform various measurements. As a result, vehicle measurement data 220 is obtained.
[0034] In step S110, the receiving unit 110 receives the vehicle measurement data 220. For example, a user inputs vehicle measurement data 220 to the point cloud generating device 100. Then, the receiving unit 110 receives the input vehicle measurement data 220.
[0035] In step S120, the position calculation unit 120 calculates the position of the measurement vehicle 210 at each time and the attitude of the measurement vehicle 210 at each time based on the satellite positioning data 221 and the inertial measurement data 223. The calculated position of the measurement vehicle 210 is referred to as the "measurement position." The calculated attitude of the measurement vehicle 210 is referred to as the "measurement attitude."
[0036] The method of calculating the measured position and attitude is the same as that in MMS. For example, the measured position and attitude are calculated by a method called GNSS-INS combined navigation.
[0037] The position calculation section 120 may further use the traveled distance data 225. For example, the traveled distance data 225 is used to correct the measurement position and the measurement attitude.
[0038] In step S130, the position correction unit 130 corrects the measured position and the measured attitude at each time based on the traveled distance data 225. Step S130 will be described in detail later.
[0039] In step S140, the point cloud generating unit 140 generates three-dimensional point cloud data 230 based on the measurement positions at each time, the measurement orientations at each time, and the laser point cloud data 222. This process is called laser three-dimensionalization. The laser 3D modeling is similar to the method used in the MMS. The 3D coordinate values of a point at a relative distance in a relative direction from the laser scanner 212 are the 3D coordinate values of the measurement point.
[0040] The point cloud generator 140 may further use the image data 224. For example, the image data 224 is used to identify the color of the measurement point.
[0041] In step S150, the output unit 150 outputs the three-dimensional point cloud data 230. For example, the user connects a storage medium to the point cloud generation device 100. Then, the output unit 150 stores the three-dimensional point cloud data 230 in the connected storage medium.
[0042] The procedure of step S130 will be described with reference to FIG. In step S131 , the position correction unit 130 identifies a time period during which the measurement vehicle 210 is stopped, based on the traveled distance data 225 . The stop time period is the time period during which the measurement vehicle 210 was stopped.
[0043] Specifically, the outage time period is specified as follows: First, the position correction unit 130 refers to the traveled distance at each time indicated in the traveled distance data 225, and calculates the amount of change in the traveled distance from the reference time to each time after the reference time, with each time being set as a reference time. The calculated amount of change corresponds to the traveled distance of the measurement vehicle 210. Next, the position correction unit 130 compares each calculated change amount with a distance threshold, which is a predetermined value. Then, the position correction unit 130 identifies a time period during which the calculated amount of change is equal to or less than the distance threshold value. The identified time period is the stop time period.
[0044] For example, if the distance threshold is 1 meter, the longest time period during which the measurement vehicle 210 moves a distance of 1 meter or less is the stop time period.
[0045] In step S132, the position correction unit 130 identifies a displacement time period based on the measured positions at each time during the stop time period. The displacement time period is a time period during which the measurement position changes within the stop time period.
[0046] Specifically, the displacement time period is identified as follows. First, the position correction unit 130 calculates the amount of change in the measured position from each time during the stop time period as a reference time to each time after the reference time. The calculated amount of change corresponds to the error (measurement error) of the measured position. At this time, the position correction unit 130 calculates the amount of change in the measurement position on the horizontal plane (two dimensions). However, the position correction unit 130 may calculate the amount of change in the measurement position in three dimensions (including height). Next, the position corrector 130 compares each calculated change amount with a displacement threshold, which is a predetermined value. Then, the position correction unit 130 identifies a time period during which the calculated amount of change is equal to or greater than the displacement threshold value. The identified time period is the displacement time period.
[0047] For example, if the displacement threshold is 50 centimeters, the shortest time period during the stop time period in which the measurement error is 50 centimeters or more is the displacement time period.
[0048] In step S133, the position correction unit 130 determines a representative position in the displacement time zone based on the measured positions at each time in the displacement time zone. The representative position is a position that represents the measurement positions during the displacement time period.
[0049] Specifically, the position correction unit 130 calculates the average of the measured positions during the displacement time period. The calculated average is the representative position. However, the position correction unit 130 may determine a position other than the average of the measurement positions as the representative position. For example, the position correction unit 130 may select a measurement position at any time during the displacement time period as the representative position.
[0050] In step S134, the position correction unit 130 corrects the measured positions at each time in the displacement time zone to representative positions.
[0051] In step S200, the position correction unit 130 corrects the measured positions and measured attitudes at each time before and after the displacement time period based on the representative position. This correction is a process for smoothly connecting the measured positions and the representative positions at each time before and after the displacement time period.
[0052] The procedure of step S200 will be described with reference to FIG. In step S210, the position corrector 130 determines a first adjustment time period and a second adjustment time period. The first adjustment time period is a specific time period before the displacement time period. The second adjustment time period is a specific time period following the displacement time period.
[0053] Specifically, the first adjustment time period and the second adjustment time period are determined as follows. First, the position correction unit 130 calculates the amount of change in the measured position during the displacement time period. The calculated amount of change corresponds to the error in the measured position (measurement error). At this time, the position correction unit 130 calculates the amount of change in the measurement position on the horizontal plane (two dimensions). However, the position correction unit 130 may calculate the amount of change in the measurement position in three dimensions (including height). Next, the position correction unit 130 multiplies the calculated change amount by an adjustment coefficient. The value calculated in this way is called an adjustment amount. Then, the position correction unit 130 determines a first adjustment time period and a second adjustment time period based on the adjustment amount. The first adjustment time period and the second adjustment time period are satellite invisible time periods that are consecutive to the displacement time period. The satellite invisible time period is a time period in which the positioning satellite is invisible. The satellite invisible time period is identified by referring to the satellite positioning data 221. For example, a time period in which the position is not indicated in the satellite positioning data 221 is a satellite invisible time period. In each of the first adjustment time period and the second adjustment time period, the amount of change in the measurement position is equal to or less than the adjustment amount.
[0054] For example, the first adjustment time period is identified based on the adjustment amount as follows: First, the position correction unit 130 selects the time immediately preceding the displacement time period. The selected time is referred to as the end time. Next, the position correction unit 130 calculates the amount of change in the measured position from the end time to each time before the end time. Next, the position correction unit 130 selects the earliest time for which the calculated change amount is equal to or less than the adjustment amount. The selected time is referred to as the start time. The time period from the start time to the end time is referred to as the provisional time period. Then, the position correction unit 130 refers to the satellite positioning data 221 of the provisional time period and identifies the satellite invisible time period that includes the end time. The identified satellite invisible time period is the first adjustment time period.
[0055] For example, the second adjustment time period is identified based on the adjustment amount as follows: First, the position correction unit 130 selects a time immediately following the displacement time period. The selected time is referred to as the start time. Next, the position correction unit 130 calculates the amount of change in the measured position from the start time to each time after the start time. Next, the position correction unit 130 selects the latest time at which the calculated change amount is equal to or less than the adjustment amount. The selected time is referred to as the end time. The time period from the start time to the end time is referred to as the provisional time period. Then, the position correction unit 130 refers to the satellite positioning data 221 of the provisional time period and identifies the satellite invisible time period that includes the start time. The identified satellite invisible time period is the second adjustment time period.
[0056] In step S220, the position correction unit 130 corrects the measurement position and the measurement attitude at each time in the first adjustment time zone. As a result, the group of measurement positions in the first adjustment time period is smoothly connected to the measurement positions at the time immediately preceding the first adjustment time period (the previous time) and the representative positions. The measurement position group is a set of measurement positions and is made up of one or more measurement positions.
[0057] In step S230, the position correction unit 130 corrects the measurement position and the measurement attitude at each time in the second adjustment time zone. As a result, the group of measurement positions in the second adjustment time period is smoothly connected to the representative position and the measurement position at the time immediately following (later time) the second adjustment time period.
[0058] The order of steps S220 and S230 may be reversed.
[0059] The procedure of step S220 will be described with reference to FIG. In step S221, the position correction unit 130 rotates and moves the group of measurement positions in the first adjustment time period so that the group of measurement positions in the first adjustment time period is smoothly connected to the representative position.
[0060] For example, the group of measurement positions after translation is rotated as follows. First, the position correction unit 130 calculates an approximation line that corresponds to the group of measurement positions in the first adjustment time period. Next, the position correction unit 130 rotates the approximation line so that the representative position is located on the approximation line, with the measurement position at the previous time being the base point of the rotation. Then, the position correction unit 130 rotates and moves each measurement position of the group of measurement positions in the first adjustment time period by the same amount as the amount of rotation of the approximation line, with the measurement position at the previous time becoming the base point of the rotation.
[0061] In step S222, the position correction unit 130 corrects the measured attitude at each time in the first adjustment time zone in accordance with the rotational movement. That is, the position correction unit 130 corrects the measurement attitude at each time in the first adjustment time period to an angle obtained when the attitude is tilted by the same amount as the amount of rotation in step S221.
[0062] In step S223, the position correction unit 130 corrects each measurement position of the group of measurement positions after the rotational movement so that the measurement positions at the previous time and each measurement position of the group of measurement positions after the rotational movement and the representative position are arranged at equal intervals. For example, the position correction unit 130 moves each measurement position of the group of measurement positions after the rotational movement along the direction of a straight line that passes through the measurement position at the previous time and the representative position.
[0063] The order of steps S222 and S223 may be reversed.
[0064] The procedure of step S230 will be described with reference to FIG. In step S231, the position correction unit 130 rotates and moves the group of measurement positions in the second adjustment time period so that the group of measurement positions in the second adjustment time period is smoothly connected to the representative position. Step S231 is similar to step S221.
[0065] In step S232, the position correction unit 130 corrects the measured attitude at each time in the second adjustment time zone in accordance with the rotational movement. Step S232 is similar to step S222.
[0066] In step S233, the position correction unit 130 corrects each measurement position of the group of measurement positions after the rotational movement so that the representative position, each measurement position of the group of measurement positions after the rotational movement, and the measurement positions at the later time are aligned at equal intervals. Step S233 is similar to step S223.
[0067] Steps S220 and S230 may be executed separately for the horizontal direction and the height direction. That is, the position correction unit 130 corrects the horizontal component (two-dimensional) of the measurement position and the horizontal component (yaw angle) of the measurement attitude at each time in the first adjustment time period (step S220). The position correction unit 130 also corrects the horizontal component of the measurement position and the horizontal component of the measurement attitude at each time in the second adjustment time period (step S220). Furthermore, the position correction unit 130 corrects the height component of the measurement position and the height component of the measurement attitude (pitch angle) at each time in the first adjustment time period (step S220). The position correction unit 130 also corrects the height component of the measurement position and the height component of the measurement attitude at each time in the second adjustment time period (step S220).
[0068] ***Explanation of specific examples*** 9 to 12 show specific examples of the correction of the measurement position and the measurement attitude (step S130). Each mark on the line represents an epoch, which corresponds to a measurement position. The black circles represent displacement epochs, which correspond to measurement positions at each time in the displacement time period. The white circles represent satellite invisible epochs, which correspond to the measured positions at each time during the satellite invisible time period. The triangles represent fix epochs, which correspond to the measured positions at each time during the satellite's visible time period.
[0069] Figure 9 shows the epoch groups before correction and the displacement epoch groups. The displacement epoch groups are epoch groups in the displacement time zone. An epoch group is a set of epochs, and consists of one or more epochs. The thick lines represent the displacement time zone. First, the time range during which the measurement vehicle 210 was stopped (stop time zone) is identified based on the record of the odometer 215 (travel distance data 225) (step S131). Next, a section in which the self-position is moving (displacement time period) is extracted from the stop time period (step S132).
[0070] Figure 10 shows a representative epoch. The representative epoch corresponds to a representative position. Next, the average value of the displacement epochs is determined as the representative epoch (step S133). Next, each displacement epoch is modified to a representative epoch (step S134). Then, since the epochs are still distorted, the satellite non-visible epochs around the representative epoch are shifted (step S200).
[0071] Specific examples of step S200 are shown in Figures 10 to 14. The thick lines indicate the adjustment time periods. First, the range of influence (adjustment time period) is determined (step S210). The range of influence is the range in which each epoch is changed. For example, the size of the influence range is 100 times the amount of movement of the displacement epoch group. However, the fix epoch group is excluded from the influence range. The first epoch outside the range of influence is called the junction epoch. The junction epoch corresponds to the measurement position at the time before the first adjustment time slot or the measurement position at the time after the second adjustment time slot.
[0072] Figure 11 shows the epochs after correction, where the shaded circles represent the corrected epochs. Then, the epochs in the influenced range are regenerated so that the joining epoch, the representative epoch, and the epochs in the influenced range are smoothly connected (steps S220 and S230).
[0073] FIG. 12 shows a specific example of step S220. There is a discrepancy between the representative epoch, which is the averaged epoch, and the last affected epoch, which is not averaged. The purpose of step S220 is to smoothly join the representative epoch and the group of influenced epochs by rotating and stretching the group of influenced epochs.
[0074] FIG. 12 shows the rotational movement of the influence epochs and the joint epochs. Since the relationship between the representative epoch and the group of influenced epochs is distorted, the group of influenced epochs is rotated around the joining epoch as the center of rotation (step S221). Also, the measured posture in each influenced epoch is corrected by the rotation angle (step S222). This corrects the direction of movement, and smoothly connects the joining epoch, the group of influence epochs, and the representative epoch. In addition, since the distance between the representative epoch and the affected epoch group is lengthened (or shortened), the distance between the affected epoch group is lengthened (or shortened). In other words, the affected epoch group is dispersed (step S223). This ensures that the joint epoch, each of the influence epochs, and the representative epoch are spaced at equal intervals.
[0075] ***Features of the First Embodiment*** Fig. 13 is a diagram illustrating an outline of the process in the embodiment 1. Fig. 13 shows the relationship between the self-position and a three-dimensional point group. The first embodiment is characterized in that the distortion of the laser point cloud (three-dimensional point cloud) is corrected by correcting the distortion of the self-position. Correction of the self-position distortion is performed before the calculation of the laser point cloud (3D point cloud).
[0076] ***Advantages of the First Embodiment*** The effects of the first embodiment will be described with reference to FIGS. Figure 14 shows a distorted 3D point cloud, where the arrows indicate the location of the distorted 3D point cloud. In the case of MMS, if the measurement environment is poor and the measurement vehicle is stationary with no satellites visible, the self-position calculated by post-processing will move slightly even though the measurement vehicle is stationary. This phenomenon causes distortion of the 3D point cloud.
[0077] FIG. 15 shows an example in which the self-position has moved forward while the measurement vehicle was stopped (see the part indicated by the arrow). Figure 16 shows a 3D point cloud based on the self-location in Figure 15. The part indicated by the arrow appears to be elongated. Thus, the movement of the self-position causes distortion of the 3D point cloud.
[0078] Figure 17 shows the discrepancy between the self-position in forward and backward processing. Two circles represent the self-position at the same time. The movement of the self-position when stationary is caused by the discrepancy between the trajectory of the self-position during the forward processing and the backward processing. When attempting to match the self-position in the forward process with the self-position in the backward process, a mismatch in the trajectories occurs. If the measurement vehicle is driven under visible satellite conditions and the GNSS-INS combined processing is sufficiently trained, then trajectory discrepancies are unlikely to occur. However, trajectory discrepancies will appear when the measurement vehicle stops.
[0079] Figure 18 shows the movement of the self-position when stationary (within the circle (1)) and the original self-position trajectory (2). The black circles represent the self-position of the measurement vehicle at regular intervals. In (1), the black dots in the circle represent the vehicle's own position during the period when the vehicle was stopped (including the period when the vehicle was moving at a very low speed). However, these black dots have moved. The black circles in (1) should actually be arranged as in (2). If a 3D point cloud is generated based on the self-position shown in (1), the 3D point cloud will be distorted. Figure 19 shows a distorted 3D point cloud. The 3D point cloud is distorted in the circle.
[0080] FIG. 20 shows the trajectory of the self-position before and after the correction. By correcting the self-position and generating a 3D point cloud based on the corrected self-position, the distortion of the 3D point cloud is eliminated.
[0081] Figures 21, 22, and 23 show a 3D point cloud based on the self-position before correction (upper figure) and a 3D point cloud based on the self-position after correction (lower figure). Figure 21 is a top view, and Figures 22 and 23 are side views. By correcting the self-position, the distortion of the 3D point cloud is eliminated (see circle).
[0082] The first embodiment provides the following advantages. As the self-position is corrected, distortion of the 3D point cloud is eliminated, making the 3D point cloud drawing more natural. It can eliminate distortion of 3D point clouds without using expensive IMUs. No re-measurement is required for distortion elimination, and distortion can be eliminated only by post-processing. In post-processing, it is possible to ensure that parts that do not cause distortion will not change.
[0083] ***Addition to the first embodiment*** The first embodiment is an example of a preferred embodiment, and is not intended to limit the technical scope of the present disclosure. Each embodiment may be implemented partially or in combination with other embodiments. The procedures described using flow charts, etc. may be modified as appropriate.
[0084] The point cloud generating device 100 may be composed of multiple devices. Each element of the point cloud generating device 100 may be realized as software, hardware, firmware, or a combination of these. The "part" of each element of the point cloud generating device 100 may be interpreted as a "process," a "step," a "circuit," or a "circuitry." [Explanation of symbols]
[0085] 100 point cloud generating device, 101 processor, 102 memory, 103 auxiliary storage device, 104 communication device, 105 input / output interface, 110 reception unit, 120 position calculation unit, 130 position correction unit, 140 point cloud generating unit, 150 output unit, 190 storage unit, 200 point cloud generating system, 210 measurement vehicle, 211 receiver, 212 laser scanner, 213 IMU, 214 camera, 215 odometer, 220 vehicle measurement data, 221 satellite positioning data, 222 laser point cloud data, 223 inertial measurement data, 224 image data, 225 travel distance data, 230 three-dimensional point cloud data.
Claims
1. a position calculation unit that calculates a position and an attitude of the vehicle at each time as a measured position and a measured attitude based on satellite positioning data obtained by a receiver attached to the vehicle and inertial measurement data obtained by an inertial measurement unit attached to the vehicle; a position correction unit that identifies a stop time zone of the vehicle based on travel distance data obtained by an odometer attached to the vehicle, identifies a time zone during which the measurement position changes within the stop time zone as a displacement time zone, determines a representative position for the displacement time zone based on the measurement position at each time of the displacement time zone, corrects the measurement position at each time of the displacement time zone to the representative position, and corrects the measurement position and measured attitude at each time before and after the displacement time zone based on the representative position; a point cloud generating unit that generates three-dimensional point cloud data based on the corrected measurement position at each time, the corrected measurement attitude at each time, and laser point cloud data obtained by a laser scanner attached to the vehicle; A point cloud generating device comprising:
2. The position correction unit identifies, as the stop time period, a time period in which a change in the traveled distance indicated in the traveled distance data is equal to or less than a distance threshold. The point cloud generating device according to claim 1 .
3. The position correction unit identifies a time period during which the change in the measured position is equal to or greater than a displacement threshold as the displacement time period. The point cloud generating device according to claim 1 or 2.
4. The position correction unit determines an average of the measured positions during the displacement time period as the representative position. The point cloud generating device according to any one of claims 1 to 3.
5. The position correction unit determines a first adjustment time period which is a specific time period before the displacement time period and a second adjustment time period which is a specific time period after the displacement time period, corrects the measurement position and the measurement attitude at each time of the first adjustment time period so as to smoothly connect the measurement position and the representative position at a time before the first adjustment time period, and corrects the measurement position and the measurement attitude at each time of the second adjustment time period so as to smoothly connect the representative position and the measurement position at a time after the second adjustment time period. The point cloud generating device according to any one of claims 1 to 4.
6. the position correction unit calculates an amount of change in the measurement position during the displacement time period, calculates an amount of adjustment by multiplying the amount of change by a coefficient, and determines the first adjustment time period and the second adjustment time period based on the amount of adjustment; the first adjustment time zone and the second adjustment time zone are satellite invisible time zones adjacent to the displacement time zone, In each of the first adjustment time period and the second adjustment time period, the amount of change in the measurement position is equal to or smaller than the adjustment amount. The point cloud generating device according to claim 5 .
7. The position correction unit is rotating and moving the group of measurement positions in the first adjustment time period so as to be smoothly connected to the representative position, correcting the measurement attitude at each time point in the first adjustment time period in accordance with the rotational movement, and correcting each measurement position of the group of measurement positions after the rotational movement so that the measurement position at the previous time point, each measurement position of the group of measurement positions after the rotational movement, and the representative position are aligned at equal intervals; The group of measurement positions in the second adjustment time period is rotated and moved so as to be smoothly connected to the representative position, the measurement attitude at each time of the second adjustment time period is corrected in accordance with the rotational movement, and each measurement position of the group of measurement positions after the rotational movement is corrected so that the representative position, each measurement position of the group of measurement positions after the rotational movement, and the measurement position at the later time are aligned at equal intervals. The point cloud generating device according to claim 5 or 6.
8. a position calculation unit calculates a position and an attitude of the vehicle at each time as a measured position and a measured attitude based on satellite positioning data obtained by a receiver attached to the vehicle and inertial measurement data obtained by an inertial measurement unit attached to the vehicle; a position correction unit identifies a stop time zone of the vehicle based on travel distance data obtained by an odometer attached to the vehicle, identifies a time zone during which the measurement position changes within the stop time zone as a displacement time zone, determines a representative position for the displacement time zone based on the measurement position at each time of the displacement time zone, corrects the measurement position at each time of the displacement time zone to the representative position, and corrects the measured position and measured attitude at each time before and after the displacement time zone based on the representative position; A point cloud generating unit generates three-dimensional point cloud data based on the corrected measured position at each time, the corrected measured attitude at each time, and laser point cloud data obtained by a laser scanner attached to the vehicle. Point cloud generation method.
9. a position calculation process for calculating a position and an attitude of the vehicle at each time as a measured position and a measured attitude based on satellite positioning data obtained by a receiver attached to the vehicle and inertial measurement data obtained by an inertial measurement unit attached to the vehicle; a position correction process for identifying a stop time zone of the vehicle based on travel distance data obtained by an odometer attached to the vehicle, identifying a time zone during which the measurement position changes within the stop time zone as a displacement time zone, determining a representative position for the displacement time zone based on the measurement position at each time of the displacement time zone, correcting the measurement position at each time of the displacement time zone to the representative position, and correcting the measurement position and measured attitude at each time before and after the displacement time zone based on the representative position; a point cloud generation process for generating three-dimensional point cloud data based on the corrected measurement positions at each time, the corrected measurement attitudes at each time, and laser point cloud data obtained by a laser scanner attached to the vehicle; A point cloud generation program for running the above on a computer.
Citation Information
Patent Citations
Vehicle position correcting system
JP1998185600A
On-board navigation apparatus
JP2007298339A
GPS receiver
JP2009236517A
Model generation apparatus, model generation method, model generation program, point group image generation method and point group image generation program
JP2010287156A
Position correction data generation device, position rating device, user interface device, position correction data generation method of position correction data generation device, position rating method of position rating device, information processing method of user interface device, position correction data generation program, position rating program and user interface program
JP2012242318A