Marie-Anne Mittet
email: marie-anne.mittet@mines-paristech.fr

Houssem Nouira
email: houssem.nouira@mines-paristech.fr

Xavier Roynard
email: xavier.roynard@mines-paristech.fr

Francois Goulette
email: franois.goulette@mines-paristech.fr

J.-E Deschaud

EXPERIMENTAL ASSESSMENT OF THE QUANERGY M8 LIDAR SENSOR

published or not. The documents may come

INTRODUCTION

Multi-laser scanning systems based on Time-of-flight (TOF) are widely used in engineering fields such as robot navigation, automatic guided vehicle [START_REF] Moosmann | Velodyne SLAM[END_REF], and threedimensional measurement [START_REF] Neumann | Towards a Mobile Mapping Robot for Underground Mines[END_REF] application in several industries. Several sensors of this kind are now available on the market. They have many advantages. Indeed, they provide 3D informations about their environment in real time, whitout contact, at wide range, and with high precision measurement [START_REF] Amann | Laser ranging: a critical review of usual techniques for distance measurement[END_REF].

There are two main approaches employed in Time-of-flight technology : direct and indirect TOF methods. The direct method is based on the measurement of time interval between an emitted and detected signals, which are very short pulsed lights [START_REF] Kilpela | Precise pulsed time-of-flight laser range finder for industrial distance measurements[END_REF]. In the case of the indirect method, the distance is obtained by using a phase shift of a modulated light with either a sinusoidal signal or a pulsed signal [START_REF] Jang | Design of Indirect Timeof-Flight Based Lidar for Precise Three-Dimensional Measurement Under Various Reflection Conditions[END_REF].

The targeted applications require a high level of accuracy, so it is important to consider the distance range, the resolution and the accuracy of the sensor. To achieve this level of precision, it is required to study and analyzed the noise level of the laser scanner. Measurement made by multi-laser scanning systems are often distorded due to a set of phenomena. The measurements error of LIDAR system may come from different sources. [START_REF] Reshetyuk | Terrestrial laser scanning: error sources, self-calibration and direct georeferencing[END_REF] classify them into four groups : instrumental errors, errors related to the scanned object, environmental errors and methodological errors. Instrumental errors are due to the system design and can be removed by calibration or by design improvement. The environnement during the acquisition also has an influence, like for instance phenomena such as temperature, brightnss or humidity. Similarly, the characteristics (albedo, reflectivity, etc.) of the observed object has an influence. However, errors can occur according to the distance-to-object, or according to the indice angle. It is essential to determine the influence of these parameters on the quality of the distance measurement. * Corresponding author A well known system is the Velodyne HDL-64E S2. In the context of the autonomous vehicle of new sensors are emerging. An attractive cheaper model of LIDAR is the M8 LIDAR system. This is a new rotating LIDAR system funded by the Quanergy company. This unit consist in 8 lasers located on a spinning head. The aim of this paper is to provide a presentation of the M8 LI-DAR system and its functionalities. In a second part some tests are carried out in order to characterize the sensor. Errors due to the environment such as errors due to the system itself will be pointed.

QUANERGY M8 SENSOR PRESENTATION

The Quanergy M8 LIDAR system consist in 8 2D line scanners located on a spinning head wich can spin at a rate from 5 Hz to 30 Hz. The 8 lasers are spread out over a 20 • vertical field of view (FOV) and the entire unit rotates to give a full 360 • by 20 • FOV. An overview of the specifications for the M8 scanner is given in 1, and a picture of the scanner head is given in Figure 1. To enable the use of the sensor, Quanergy provide a SDK and an application to record data, both based on the so called framework ROS.

Parameter

SENSOR CHARACTERIZATION

As mentionned by [START_REF] Reshetyuk | Terrestrial laser scanning: error sources, self-calibration and direct georeferencing[END_REF], measurement errors can have different sources. In this part, we attempt to evaluate the errors due to the system design and the environment. Indeed, it is necessary to determine the influence of these parameters on the distance measurement. Firstly, the repeatability of the measurement is presented. In a second time the consistency of the sensor is studied and finally the pre-heating time of the sensor was assessed.

Measurement repetability

Considering a static scene, the M8 is positioning in front of a planar wall, at a distance of approximatively 8.5 m. Histograms of the distance measurement performed from a single laser point with almost 0 • vertical angle and 0 • horizontal angle were realized. On the Figure 2 the histogramm obtained for 100 successive measurement is presented. During this measurement the standard deviation is about 0.79 cm and the maximal difference between any two measurements is 3.9 cm. The absence of measurement for some distances makes us think that a quantization phenomenon exists.

Laser consistency

To examine the consistency between the different laser of the M8, a point cloud of a wall in a room was acquired (Figure 3). Points measured are colored regards to their laser. Ideally, if the sensor had lower noise, the walls should have looked much thinner.

Pre heating time

We attempt to study pre-heating time for the M8 LIDAR system.

The unit was set up to scan a wall at a known distance. In order to evaluate the influence of the environment, the manipulation was performed indoors and outdoors.

Indoor pre heating time

In order to evaluate the pre heating time indoor, ranges were sampled every second for a period of appromatively one hour. On the Figure 4 each measurement is plotted as blue circles and the red line higlihts the average trend. The variability appears bounded approximativel by ± 15 cm. We can observe a slight increase in the measured distance, with a stabilization at around 40 minutes. As mentionned in (Glennie and Lichti, 2011), a longer term study would be conducted. However, it is important to note that a too long pre-heating time is incompatible with many intended applications. We can observe that the pre-heating time seems consistent with the handling carried out indoor. Moreover, we can notice that the measurements appear to be more noisy than during the first manipulation.

3.3.3 Quantization On the Figure 6, we can observe a part of the measurement. The quantization phenoma is confirmed and the intervals appear to be arround 0, 5 cm.

ACCURACY OF DISTANCE MEASUREMENT

The M8 sensor is announced to be a smart sensing solutions for real-time 3D mapping and object detection, tracking, and classification. All these applications require the use of very accurate sensors. The time-of-flight sensors often suffer from depth-related deformation. It is necessary to assess these errors. A common way to evaluate these errors consist in positionning the sensor parallel to a wall at different known distances. The M8 LIDAR system is intended to be use both indoor and outdoor, so our study was conducted indoor and outdoor (Figure 7). To ensure the parallelism of the sensor during acquisitions, a fixation was realized. This fixation also permits to monitoring the true distance between the planar surface and the sensor. This sytem is composed consists of two laser rangefinders (BOSCH PLR 50C). The precision rangefinders is sufficient for using them as reference measurements (± 4.5 mm at 50 m). The fixation was performed using a computer numerical control milling machine whose accuracy is sub centimetric (Figure 8). Quanergy have given us precisely the position of the origin of the sensor. This one is in the center of the sensor, so we aligned the origin of the rangefinders with the origin of the sensor (Figure 8). The manufacturer also specifies that the angular step at 180 degrees is aligned with the cable, the zero being the opposite.

During the indoor acquisition a wall was used as surface. For the outdoor experiment a calibration pattern was used. The albedo can have a influence on the distance measurement, so the calibration pattern was covered (Figure 7). Both used surfaces were surveyed with a scanner laser (FARO Focus 3D) in order to assess the planarity with a device of assumed higher accuracy as the investigated sensor. The scanner also allowed us to control the truth distance between the surfaces and the sensor. Indeed a target was placed on the sensor. The position of the target is obtained thanks to acquisitions made by the scanner. So we used two controls to get the truth distance. The difference in distance measurement between the two controls is always less than 2 mm.

Two acquisitions were made. First an indoor dataset, for distances ranging from 2 m to 14 m, data were recorded every 2 meters. The second acquisition was performed outdoor between 10 m and 40 m. First of all, every meter until 15 m, and after that every 5 m. The aim of this experiment was to establish the deviation between real and measured distances as a function of the depth. To evaluate the sensor behavior under different conditions, two experiments were conducted: indoor, and outdoor. The results obtained are presented in Figure 9 and Figure 10.

The fixing realized has allowed to control the parallelism of the sensor relative to a planar surface. Thus, the true distance used is the point having a vertical and horizontal angle of 0 • . In order to limit the noise, 100 successive measurements were used. The measurements were performed taking into account the previously determined pre heating time. These measurements are represented by crosses, while the red dots represent average distances, finally standard deviations are shown in blue.

Indoor study

Regarding the indoor acquisition, the error seems to be relatively constant. As depicted on the Figure 9, distortions of the central point vary from -1.79 cm to -4.47 cm. The standard deviations calculated over the 100 point cloud acquired is fearly constant, except for one measurement. We observe that the measured distance is always too high compared to the real distance. Anyway, knowing the curve parameters allows the correction of the measured distances.

Figure 9: Deviations of measured distances with respect to true distances (indoor)

Outdoor study

As regards the outdoor acquisition, firstly the error seams to increase. However, stabilization of this error is observed from 23 meters. The distorsions of the central point vary from 1.70 cm and 16.03 cm. In a logical way, the standard deviation increases with the distance. The indoor and outdoor measurements have relatively different results (Figure 9, Figure 10). Indeed, on the common range between 10 meters and 14 meters, for the indoor acquisition, distortions of the central point vary from -2.91 cm and -4.19 cm, while for the outdoor acquisition, distortions vary from 1.70 cm and 6, 86 cm.

According to the datasheet, the range accuracy expected for this sensor is < 5 cm (1σ at 50 m). However, for outdoor measurements, this value is exceeded before 50 meters. In fact, this error is reached at a distance of 11 meters.

DISCUSSION AND FUTURE WORK

The Quanergy LIDAR is a new type of sensor. It is presented as a sensor for many applications, such as mobile mapping or autonomous vehicles. To assess this sensor , different experiments were conducted. First of all, a study of the repeatability of the measurement was conducted. In this experiment, a quantization effect was identified. This effect was confirmed in the study of the temporal stability of the sensor. The experiment on temporal stability did not permit to determine a precise short-term heating time. However, a longer phenomenon is not excluded. It would be interesting to conduct this study for much longer periods. Nevertheless, a too long rise in temperature could be incompabible with the intended applications.

The various experiment, and the fixation made were used to evaluate the error of distance measurement according to the distance.

It was found that the error announced by the manufacturer at 50m is reached much faster in terms of distance. Moreover, it has been shown that indoor and outdoor expriment provide different resultas in term of measurement error. For applications such as autonomous vehicle, excessive distance error is not acceptable, given the safety issue. It is important to note that the received sensor is one of the first versions released. Thus, it is possible that most of the results obtained here will be fixed in subsequent versions.

Future work

To complete our current work, it would be interesting to conduct all of these experiments on all lasers sensor. Moreover, beyond the measurement error study, the next step of our work will be to determine the calibration parameters to correct these errors.

It could be interessting to determine the origine of the identified error. For example, in determining the existence of horizontal and vertical offset. Finally, it is plannned to examine kinematic data obtained by placing the sensor on a mobile mapping platform equiped with a navigation grade GNSS/INS unit. It will be then possible to study the accuracy of the sensor for high accuracy mobile mapping applications.

CONCLUSION

The aim of this paper was to investigate through a set of tests the quality of the Quanergy M8 sensor. This sensor is a new lidar, cheaper, and which can be sold in bulk. Our study was designed to assess the measurements provided by it in order to determine if it was possible to use it in the applications covered by the manufacturer. Several tests highlighted errors related to environment but also errors related to the system itself. Based on the obtained results, the physical limitations of the device could be assessed. Again, it is important to remember that the received sensor is one of the very first delivered. We hope that future versions will correct errors encountered. Accordingly, the arrival of this sensor can be seen as an opening for wider distribution of this type of sensor. In addition, other manufacturers are challenged, and offer more and more LIDAR models.

Figure 1 :

 1 Figure 1: Quanergy M8 sensor

Figure 2 :

 2 Figure 2: Histogram of 100 distance measurements performed for a single laser point (vertical angle : 0 • , horizontal angle : 0 • )

Figure 3 :

 3 Figure 3: Top view of a wall

Figure 4 :

 4 Figure 4: Pre heating time indoor 3.3.2 Outdoor pre heating time The same experiment was conducted outdoors, but over a period of 40 minutes.

Figure 5 :

 5 Figure 5: Pre heating time outdoor

Figure 6 :

 6 Figure 6: Illustration of the quantization phenomenon

Figure 7 :

 7 Figure 7: Experience on the evaluation of the accuracy of the distance measurement (outdoor)

Figure 8 :

 8 Figure 8: Fixation made for experimentation

Figure 10 :

 10 Figure 10: Deviations of measured distances with respect to true distances (outdoor)

Table 1 :

 1 Datasheet provided by Quanergy

	Specification


H Nouira

J E Deschaud

F Goulette

POINT CLOUD REFINEMENT WITH A TARGET-FREE INTRINSIC CALIBRATION OF A MOBILE MULTI-BEAM LIDAR SYSTEM

Keywords: LIDAR, Intrinsic, Calibration, Mobile Mapping, 3D, Automatic, Computer Processing, Velodyne

LIDAR sensors are widely used in mobile mapping systems. The mobile mapping platforms allow to have fast acquisition in cities for example, which would take much longer with static mapping systems. The LIDAR sensors provide reliable and precise 3D information, which can be used in various applications: mapping of the environment; localization of objects; detection of changes. Also, with the recent developments, multi-beam LIDAR sensors have appeared, and are able to provide a high amount of data with a high level of detail. A mono-beam LIDAR sensor mounted on a mobile platform will have an extrinsic calibration to be done, so the data acquired and registered in the sensor reference frame can be represented in the body reference frame, modeling the mobile system. For a multibeam LIDAR sensor, we can separate its calibration into two distinct parts: on one hand, we have an extrinsic calibration, in common with mono-beam LIDAR sensors, which gives the transformation between the sensor cartesian reference frame and the body reference frame. On the other hand, there is an intrinsic calibration, which gives the relations between the beams of the multi-beam sensor. This calibration depends on a model given by the constructor, but the model can be non optimal, which would bring errors and noise into the acquired point clouds. In the litterature, some optimizations of the calibration parameters are proposed, but need a specific routine or environment, which can be constraining and time-consuming. In this article, we present an automatic method for improving the intrinsic calibration of a multi-beam LIDAR sensor, the Velodyne HDL-32E. The proposed approach does not need any calibration target, and only uses information from the acquired point clouds, which makes it simple and fast to use. Also, a corrected model for the Velodyne sensor is proposed. An energy function which penalizes points far from local planar surfaces is used to optimize the different proposed parameters for the corrected model, and we are able to give a confidence value for the calibration parameters found. Optimization results on both synthetic and real data are presented.

INTRODUCTION

Light Detection and Ranging (LIDAR) sensors are useful for many tasks: mapping [START_REF] Nuchter | 6D SLAM with an Application in Autonomous Mine Mapping[END_REF], localization [START_REF] Narayana | Localization For Mobile Mapping Systems, Experimental Results, Analysis and Post-Processing Improvements[END_REF] and autonomous driving (Grand Darpa Challenge, 2007) are some of the tasks where LIDAR sensors are useful. Multi-beam LIDAR sensors give data with a high density of points and are more precise than mono-beam sensors: they are also evolving fast, and become cheaper with time. To give accurate data, multi-beam sensors have an intrinsic calibration which needs to be done: generally, this calibration depends on the geometric disposition of the beams in the sensor. The calibration follows a model, which is given by the constructor: the model can be corrected in order to give more precise data. The different representations of each acquired point are illustrated with figure 1, with the different reference frames. The intrinsic calibration describe the transformation of the acquired from spherical coordinates to cartesian coordinates, referenced in the same reference frame. The optimization we are speaking of consists in finding some additionnal parameters for each beam of the LIDAR sensor. A beam is set as a reference, and we optimize the intrinsic calibration parameters of the other beams regarding this reference. The procedure is described with more details in section 3.. In this article, we will call calibration of the sensor the intrinsic calibration of the multi-beam LIDAR sensor: the intrinsic calibration of the sensor allows to have data correctly referenced in the cartesian sensor reference frame. The solution we propose is, Figure 1. Geo-referencement of the data after the acquisition, to estimate the parameters of the calibration that give the "best" -depending on some criteria -point cloud. We present an unsupervised calibration method for multi-beam LIDAR sensors, which does not need any calibration target. This paper is organized as follow: in section 2., we present the state of the art concerning the algorithms for the intrinsic calibration of multi-beam LIDAR systems. Section 3. presents our optimization methods for the intrinsic calibration parameters. Section 4. shows some experimentation results obtained with our algorithm. Finally, section 5. finally gives a conclusion to this paper.

RELATED WORK

Figure 1 shows our mobile mapping system, with a LIDAR sensor mounted on the roof which is the Velodyne HDL-32E: we give its specificities in section 3.. The figure also gives the different representations of an acquired point by the mapping system.

• Raw data are acquired by the multi-beam sensor mounted on the Vehicle, which are the distance of the point acquired to the sensor and two angles.

• The raw data can be expressed in the Cartesian reference frame of the sensor: this is done using the intrinsic calibration parameters of the sensor.

• The extrinsic calibration gives the geometric transformation between the sensor and the IMU -which are mounted on the mobile platform -and is needed to have coordinates registered in the navigation reference frame. There are six parameters to retrieve, three rotations and three translations.

• The data can also be geo-referenced by applying the transformation between the navigation reference frame and the world reference frame to these data. This transformation is given by the fusion of data from many sensors embedded on the vehicle, such as an IMU and a GPS.

The calibration of a LIDAR sensor is an important task, whether it has many beams or not. It allows the sensor to give correctly referenced data during the process of acquisition, which is necessary for many tasks, such as point clouds segmentation [START_REF] Serna | Detection, Segmentation and Classification of 3D Urban Objects using Mathematical Morphology and Supervised Learning[END_REF] for example. In this section, we will talk about some of the intrinsic calibration techniques for multi-beam LIDAR acquisition systems.

Multi-beam LIDAR sensors can be separated into two categories:

• Sensors made of several mono-beam LIDAR sensors, for which the data are fusionned and which provide 3D information with a specific calibration routine, such as the riegl sensor (Riegl LIDAR sensor datasheet, 2015).

• Multi-beam LIDAR sensors such as the Velodyne (Velodyne site web, 2015) or the quanergy (Quanergy product page, 2015).

Because mono-beam LIDAR sensors may be cheaper than multibeam, some 3D mapping system are constructed around several mono-beam sensors. These sensors also need to be calibrated, and some automatic algorithm exist. This is for example the case in [START_REF] Sheehan | Selfcalibration for a 3D laser[END_REF], where the authors propose an automatic method for the self-calibration of a 3D-laser. The 3D laser is made of 3 mono-beam LIDARs SICK LMS-151 placed on a rotating plate, and for the self-calibration of the sensor, he measures the quality of the acquired point clouds and corrects the calibration parameters in consequence.

In [START_REF] Lin | Calibration Method for Extending Single-Layer LIDAR to Multi-Layer LI-DAR[END_REF], another automatic optimization for the calibration of a self-made multi-layer LIDAR sensor is proposed. He mounted a single-layer HOKUYO UTM-30LX LIDAR sensor on a pan-tilt unit, and estimated the new parameters induced by the pan-tilt unit by correcting the structure of planar surfaces which were not correctly planar with bad calibration parameters.

In this section, we will talk about the existing work on the intrinsic calibration of Velodyne sensors, first because these sensors are widely popular since 2007, but also because this is the kind of sensor we used for our experimentations. The Velodyne sensors appeared recently -around the year 2007 -, but we already can find some calibration techniques which are specific to this kind of sensor. Indeed,(Glennie and Lichti, 2010) and [START_REF] Muhammad | Calibration of a rotating Multi-Beam LIDAR[END_REF] propose an optimization of the intrinsic parameters for the 64-beam version, and [START_REF] Chan | Feature-based selfcalibration of Velodyne HDL-32E LiDAR for terrestrial mobile mapping applications[END_REF] proposes an intrinsic calibration for the 32-beam model. In [START_REF] Lichti | Static Calibration and Analysis of the Velodyne HDL-64E S2 for High Accuracy Mobile Scanning[END_REF] and [START_REF] Muhammad | Calibration of a rotating Multi-Beam LIDAR[END_REF], the authors use a particular calibration environment to optimize the intrinsic parameters, which contains many planar walls: these walls are extracted from the acquired point cloud, and their structure is corrected in order to optimize the calibration parameters. In [START_REF] Chan | Feature-based selfcalibration of Velodyne HDL-32E LiDAR for terrestrial mobile mapping applications[END_REF], the optimization of the intrinsic parameters is done statically, by using environment information such as planar wall and vertical cylinders. In [START_REF] Chan | Automatic in Situ Calibration of a Spinning Beam LIDAR System in Static and Kinematic Modes[END_REF], the authors propose an extension of the method presented in [START_REF] Chan | Feature-based selfcalibration of Velodyne HDL-32E LiDAR for terrestrial mobile mapping applications[END_REF]: they also correct the intrinsic calibration parameters in a kinematic mode, by correcting planar walls and culinders extracted from the point clouds.

In [START_REF] Huang | Extrinsic Calibration of a multi-beam LIDAR System with improved Intrinsic Laser Parameters using V-Shaped Planes and infrared Images[END_REF], the authors propose a full extrinsic calibration of a system made of a Velodyne 64 beams LIDAR sensor and an infra-red camera: they also optimize some intrinsic calibration parameters of the LIDAR sensor. They use a calibration target, and with the infra-red images, they have the impacts of the LIDAR sensor on the target. In [START_REF] Atanacio-Jiménez | Lidar Velodyne HDL-64E Calibration using Pattern Planes[END_REF], the authors present an automatic algorithm to optimize the intrinsic and extrinsic parameters of a Velodyne HDL-64E sensor. A corrected model for the intrinsic parameters is proposed and the parameters are optimized to fit the model. All the optimization are done by using a calibration target. Finally, there is also another optimization for the intrinsic calibration parameters which is proposed in [START_REF] Levinson | Unsupervised Calibration for Multi-beam Lasers[END_REF]. For the optimization, the authors defined an energy function which penalizes points that are far away from planar surfaces extracted from the acquired data. For the intrinsic optimization, the authors start from an initial estimate, and iteratively compute values of their energy function by modifying the concerned intrinsic parameters in the neighborhood of the initialization. They use a grid search to optimize the parameters and reduce the size of the neighborhood at each iteration. The main problem is that the minimization can be long if a high precision is required. Also, because the neighborhood is a discrete space, it is possible not to reach the optimal solution.

To optimize the calibration parameters of the multi-beam sensor, we use an energy function which only needs information extracted from the acquired point clouds. No calibration target is used, and the process is unsupervised. The defined energy function is also minimized iteratively, as it is explained in section 3.. However, the differences with respect to existing methods are manyfold:

• First, the energy is defined as the sum of the squared distance of each points to the closest plane it should belong to, and its expected optimal (minimum) value is related to the global covariance of the point cloud noise.

• We also introduce in the energy weights which exploit the local planarity of data.

• Our method leads to a more accurate calibration for the point cloud, and does not need a precise initialization.

• The numerical resolution is faster than existing methods, and is done in acceptable times.

• We give an analysis of the precision obtained for the calibration parameters with the resolution.

PROPOSED OPTIMIZATION METHOD

To do our acquisitions, we have a mobile mapping system, presented in figure 1. It is equipped with many sensors to precisely The points in a point cloud come from the combination of the acquisitions of each beam of the multi-beam LIDAR sensor: during the motion of the vehicle, adjacent beams on the sensor will acquire at different times points that belong to the same surface.

Figure 2 shows the expected result: with a wrong calibration, points acquired by neighbor beams will not be co-linear, where with a good calibration, lines of points acquired by close beams will overlap. For the optimization of the intrinsic parameters, we suppose that the extrinsic calibration parameters are already optimized: the optimization is done with the algorithm presented in [START_REF] Nouira | Target-free Extrinsic Calibration of a Mobile Multi-Beam LIDAR System[END_REF], where an optimization method for the extrinsic parameters is detailed.

Definition of the energy function

To optimize the calibration parameters, we want to consider points which belong to planar surfaces and exploit the previous observation, which is that these surfaces are not exactly planar with a wrong calibration. We start with an initial calibration, and only use information extracted from the point clouds. We do not use any information on the point cloud beforehand, and relie on information obtained during the optimization: no particular data is needed, we suppose that with the density of the LIDAR sensor, points belong to locally planar surfaces. Eq. ( 1) gives the energy function we defined to optimize the calibration parameters:

J(R, T ) = B i=1 i+N j=i-N k w i,j,k * d 2 i,j,k (R, T ) B i=1 i+N j=i-N k w i,j,k (1)
where:

   d i,j,k (R, T ) = n i,k • (p i,k (R, T ) -m j,k (R, T )) p i,k (R, T ) = Rnav(p i,k ) * (R * p i,k + T ) + Tnav(p i,k ) m j,k (R, T ) = Rnav(m j,k ) * (R * m j,k + T ) + Tnav(m j,k )
In equation 1, the other terms are:

• B is a sample of the Velodyne sensor beams, with B ⊂ 0; 31

• N is half the number of neighbor beams to beam i taken into account

• k iterates on a subset of the points of beam i

• w i,j,k is a weight, which value is 1 depending on a threshold on the distance between points p i,k and m j,k .

• n i,k is the normal at point p i,k to the tangent plane to point p i,k .

• p i,k and m j,k are respectively the k th point of beam i, projected in the global reference frame and its nearest neighbor on beam j, also projected in the same reference frame.

• p i,k and m j,k are respectively the k th point of beam i, projected in the sensor coordinate frame and its nearest neighbor on beam j, also projected in the same coordinate system.

• Rnav and Tnav are respectively the rotation matrix and translation vector from the navigation reference frame to the global reference frame. These matrix and vector depend on the time of the acquisition, thus they change from a point to another.

• The energy we defined has a relation to physics: indeed, the energy unit is a square distance (m 2 ), since it is a sum of squared distances between two points. We suppose that the point cloud contains some noise coming from various sources -motion of the vehicle; errors from the navigation system; errors from the LIDAR sensor -, and that for each point taken into account in the calculation of the energy J, this noise is independent, centered, reduced and follows a normal distribution: with these hypothesis, the energy J follows a chi-squared distribution. Energy J gives an estimate of the variance σ 2 of the point cloud noise when Nt is big enough.

In this section, we will present the optimization of the intrinsic calibration parameters. The optimization of the energy will be detailed.

Optimization of the calibration parameters

For the intrinsic parameters optimization, we use the energy J defined in (1). Figure 3 gives an illustration of the acquisition of data. Indeed, the Velodyne HDL-32E is composed of 32 beams, which are placed on the same vertical plane. On figure 3 a), there is an example with 2 fibers. The fiber 15 is called "reference": we choose it as a reference because its vertical angle is equal to zero.

For each acquisition, the sensor gives the following informations:

• The vertical angle φi of each beam, regarding the reference fiber.

• The distance ρ i,k between the origin of fiber i and the acquired point k.

• The horizontal angle θi, which is introduced by the motion of the sensor.

The intrinsic calibration of the Velodyne 32-beams can be represented with three equations, which transforms the spherical coordinates of each acquired point into cartesian coordinates. The three equations for a point p' acquired by a fiber i at time t are given in equation ( 2):

p i (t) =   x(t) y(t) z(t)   =   ρi(k) * cos(θi(t)) * cos(φi) -ρi(k) * sin(θi(t)) * cos(φi) ρi(k) * sin(φi)   (2)
We want to correct the model for the intrinsic calibration presented in equation ( 2). Indeed, the model used by the constructor supposes that the sensor is perfect. We choose the following corrected model for each beam, which was presented in [START_REF] Chan | Feature-based selfcalibration of Velodyne HDL-32E LiDAR for terrestrial mobile mapping applications[END_REF]):

• Between each beam, it is supposed that there is the same vertical angle separation. We add an offset δφi on each vertical angle φi to correct little errors which could exist.

• All the beams are supposedly placed on the same vertical plane. An error of alignment can exist, and we add an offset δθi on the horizontal angle θi.

• We add an offset δρi on the distance ρi(k) between the origin of beam i and the acquired point k.

• Finally, all the beams are supposed to have the same origin, which is not obvious. We add a little vertical offset for each beam, which takes into account small errors due to differents origins.

All of the offsets we added to equation 2 give a new intrinsic transformation:

p i (t) =   (ρi(k) + δρi) * cos(θi(t) + δθi) * cos(φi + δφi) -(ρi(k) + δρi) * sin(θi(t) + δθi) * cos(φi + δφi) (ρi(k) + δρi) * sin(φi + δφi) + Hz,i  
A linearization at the first order gives the following equations for point p i :

p i,k (t) = p 1,i,k (t) + p 2,i,k (t) * δρi + p 3,i,k (t) * δθi + p 4,i,k (t) * δφi + p 5,i (3)
where:

                                                   p 1,i,k (t) =   ρi(k) * cos(θi(t)) * cos(φi) -ρi(k) * sin(θi(t)) * cos(φi) ρi(k) * sin(φi)   p 2,i,k (t) =   cos(θi(t)) * cos(φi) -sin(θi(t)) * cos(φi) sin(φi)   p 3,i,k (t) =   ρi(k) * cos(θi(t) + 90) * cos(φi) -ρi(k) * sin(θi(t) + 90) * cos(φi) ρi(k) * sin(φi)   p 4,i,k (t) =   ρi(k) * cos(θi(t)) * cos(φi + 90) -ρi(k) * sin(θi(t)) * cos(φi + 90) ρi(k) * sin(φi + 90)   p 5,i =   0 0 Hz,i  
Then, for the calculation of these offsets (which are unknown), we first choose a fiber as a reference: this way, we reduce the number of degrees of freedom of the system, which allows us to find a unique solution for these offsets.The fiber chosen as a reference is the fiber 15 of the velodyne, which has a vertical angle of 0 • . We then use the linearization of equation (1) to optimize our intrinsic parameters: in total, there are 4 * 31 = 124 parameters to optimize. In the equation, these parameters appear in the terms p i,k and m j,k . We then have a linear least squares problem to solve, with the objective function:

S(δXint) = B i=1 i+N j=i-N k w i,j,k * (B i,j,k + A i,j,k • δXint) 2 (4)
                                                                   δXint = ([δρi δθi δφi Hz,i] i∈ 0,31 \15 ) T B i,j,k = n i,k •   Tnav (p i,k ) -Tnav (m j,k ) + Rnav (p i,k ) * (R(α, β, γ) * p 1,i,k + T (tx , ty , tz )) -Rnav (m j,k ) * (R(α, β, γ) * m 1,j,k + T (tx, ty , tz ))   A i,j,k = n i,k •                   0 1,4 * i ,1 Rnav(p i,k ) * R(α, β, γ) * p 2,i,k Rnav(p i,k ) * R(α, β, γ) * p 3,i,k Rnav(p i,k ) * R(α, β, γ) * p 4,i,k Rnav(p i,k ) * R(α, β, γ) * 0 0 1 T 0 1+4 * (i+1),4 * j ,1 Rnav(m j,k ) * R(α, β, γ) * m 2,j,k Rnav(m j,k ) * R(α, β, γ) * m 3,j,k Rnav(m j,k ) * R(α, β, γ) * m 4,j,k Rnav(m j,k ) * R(α, β, γ) * 0 0 1 T 0 1+4 * (j+1),124 ,1                   i and j = 15
In eq. ( 4), we have i < j, otherwise the p i and m j terms are inverted, and i > 0 and j < 31; if not, the null vectors are not needed. The solution which minimizes the objective function ( 4) is the solution of the following linear system:

Cint × δXint = -Vint (5)
with:

Cint = B i=1 i+N j=i-N k w i,j,k * A i,j,k * A T i,j,k Vint = B i=1 i+N j=i-N k w i,j,k * B i,j,k * A i,j,k

Validity of the calibrations

We defined in the previous sections an energy function that, with an optimization process, should give better calibration parameters for our points clouds. We discuss in this section about the condition that validate a calibration obtained with our optimization process. The value of the energy J should be small enough, under a threshold: as said in section 3.1, our energy follows a chi-squared distribution. A validation threshold at 97% is 3σ 2 , with σ 2 the variance of the point cloud noise. For example, for real data, the noise comes from different sources; with our mobile mapping system, we have a good precision, with a standard deviation for the noise around 5cm. It gives us a threshold of around 75 cm 2 for the value of energy J, in order to validate the calibration process.

We also define an error value for each category of intrinsic parameter, to characterize the difference between each offset of an intrinsic parameter and the associated ground truth when known.

The error is the sum of the squares of the final offsets for the intrinsic parameters, which gives:

         ∆ρ = 31 i=0/i =15 (δρi) 2 ∆θ = 31 i=0/i =15 (δθi) 2 ∆φ = 31 i=0/i =15 (δφi) 2 ∆Hz = 31 i=0/i =15 (δHz,i) 2 (6)
In the ideal case, these errors should be close to 0 for each parameter. For a real point cloud, these errors should be small.

EXPERIMENTAL RESULTS

In this section, we will only present different calibration results on 3 point clouds: 1 is simulated, and 2 come from an acquisition in a real urban area. We tested the optimization on others simulated and real data, and obtained the same results in general.

Data used for the optimizations

The simulated data used is point clouds which represent an acquisition in a urban area. The environment is made of verticalto represent walls and fac ¸ades -and horizontal -the ground, representing the road -planes. This data are used to validate our algorithms: indeed, for this kind of point cloud, we know the ground truth, which are the optimal intrinsic calibration parameters. To validate our optimization, some error is added to each calibration parameter that we want to retrieve, and the expected result is to have the δX as close to zero as possible. The simulated data which is made of 5 million points has the following features: Point cloud #1, which is presented in figure 4, is made of a ground and two vertical planes. The vehicle is doing a turn, and there is no variation of altitude in this point cloud.

The real data come from two different acquisitions, one in the city of Montbeliard, and the other in the city of Dijon, both in France. They are used to show some optimization results on data acquired in different environments: 5 is a point cloud, part of an acquisition in the city of Montbeliard, in France. The point cloud presented contains some turns, several fac ¸ades and a small variation of altitude. The point cloud is made of 10 million points.

• Point cloud #2, presented in figure
• Point cloud #3, presented in figure 6 is a point cloud, part of an acquisition in the city of Dijon, in France. This time, there is no turn during the acquisition, several fac ¸ades and a little variation of altitude. The point cloud is made of 5 million points.

Datasets

In our experiments, we use the same information for both data, simulated and real. We have raw information from the sensor, which is composed of: • the position and orientation of the vehicle at a frequence of 100 Hz. This is the position of the IMU in the world reference frame, fused with other information from proprioceptive sensors, such as the GPS and the odometer.

• the coordinates of each acquired point in the spherical coordinate system of the sensor reference frame. Since we are optimizing the intrinsic calibration parameters, these data are necessary.

• the "beam" which acquired each point, since we work with a multi-beam sensor.

These information give us the position of the vehicle and its trajectory with a good observability: indeed, we only work on the calibration parameters of the acquisition system, and to have a well reconstructed point cloud at the end of the optimization, we need to precisely know the trajectory of the vehicle.

Implementation and algorithm parameters

The algorithm we presented was implemented in C++. The EIGEN library (Eigen library, 2015) was used for all the operations on matrices or vectors, and the FLANN library (FLANN library, 2015) (Fast Library for Approximated Nearest Neighbor) was used for the nearest neighbors search. The different algorithms run on a computer with a Windows 7 -64 bits OS, 32 GB of RAM and an intel core-i7 processor, with a clock up to 2.80 GHz.

Our algorithm was tested with synthetic and real urban data: for the synthetic data, the parameters were known precisely. For the real data, we have the simplified intrinsic calibration model, and we want to find little biases which correct the model. For both data, we started with initial intrinsic biases, arbitrarily chosen. In our algorithm, we have some parameters to set. We start with subsampling the data about 1 point out of 3, because the point clouds have a high resolution and it reduces the computation times and the use of memory, without changing the results. The number of neighbor beams for a beam bi was fixed to 4 (N=2). Concerning the weights w i,j,k , a threshold of 20 cm was chosen for the maximal distance dmax between a point p i,k and its nearest neighbor m j,k on the neighbor beam. The parameters were fixed for all the tests which were done: different values were tested, but the ones presented give both good optimization results and computation times.

Optimization of the intrinsic calibration parameters

In this section, we will present the results of the optimization of the intrinsic calibration parameters as presented in section 3.. We will show the robustness of our optimization method and the improvements on the point cloud.

4.4.1 Results on simulated data. For the simulated data, and because the intrinsic calibration parameters are optimal -this is the way the simulated data are constructed -, we added some biases to the calibration parameters, and compared the results between the optimization of the extrinsic calibration parameters only, and the optimization of all the calibration parameters. The errors added to the intrinsic parameters were between -3 • and 3

• for the angles parameters (φ and θ), and between -10 cm and 10 cm for the distance (ρ and Hz). We show the optimization results for point cloud #1; we expect final biases as close to zero as possible. Figure 4 presents the same point cloud, on top with bad intrinsic calibration parameters and at the bottom with corrected parameters after our optimization. We see that with the optimization of the intrinsic calibration parameters, we have improved the quality of the point cloud: the plans are correctly planar after the optimization. Figure 10 gives the evolution of the energy through the iterations, and we can see that the energy decreases from a value of 404.58 cm 2 to a value of 0.28 cm 2 . Also, we show the evolution of the total weight used to normalize the energy, which has the same evolution as the energy: when the energy decreases, the total weight increases, until the energy converges. It shows that the optimization improves the structure of the point cloud and correctly register the data acquired by the different beams, as explained in section 3.1. Finally, table 11 gives the errors we defined in section 3.3 before optimization, and after optimization of the intrinsic parameters: we can see that the errors are smaller after the optimization, and close to 0 as expected. The final energy is small, and the final intrinsic biases are close to 0, which validate the results of our optimization.

For the computation time of the optimization of the intrinsic calibration parameters, we have for point cloud #1 a computation time of 5 minutes, which is acceptable regarding the high number of parameters optimized.

4.4.2 Results on real urban data. In this section, we will present some results on real urban data. For the real data, we do not know the ground truth: we suppose that the simplified model can be corrected, and expect small biases to add to the model, as presented in section 3.. With our tests, we have seen that there is no visual improvements when there is no intrinsic parameters errors added at the start of the optimization; still, the energy is reduced a little and the final biases for the intrinsic parameters are small, under 10 cm for the translation ones and under 1 degree for the rotation ones. For the presented optimizations results, we added some important errors to the intrinsic parameters -to visu- Figure 8 shows the improvements on point cloud #2 with our op-timization: on top, this is the point cloud with the added errors, and at the bottom with optimized intrinsic parameters. Figure 12 gives the evolution of the energy with the iterations for point cloud #2: we see that the energy has an important decrease, from a value of 387.39 cm 2 to a value of 55.03 cm 2 , which shows that the structure of the point cloud has been improved, and which can validate the optimization result. Finally, table 13 gives the final errors for the optimized intrinsic parameters: as expected, we can see that with the optimization, we have smaller intrinsic biases.

We have the same observations for point cloud #3: figure 9 shows the improvements on the point cloud, and figure 14 the evolution of the energy with the iterations. Table 15 shows the same results as for point cloud #2. Finally, the computation times are longer for the real point clouds, because there is more iterations for the optimization. We have respectively for point cloud #2 and #3 computation times of 25 minutes, and 12 minutes.

CONCLUSION

We presented in this paper a novel method for doing the automatic optimization of the intrinsic calibration parameters of a terrestrial LIDAR system, in a post-processing application. We correct the intrinsic model of a multi-beam LIDAR with an optimization problem. The optimization process we use is robust to large initial errors, as showed with the optimization results: it gives corrected calibration parameters and a well-structured point cloud, where the global noise is reduced. Also, we presented results on real point clouds acquired by a Velodyne multi-beam sensor: our optimization can be applied to any multi-beam LIDAR sensor configuration, as long as there is overlapping data between the beams.

Figure 2 .

 2 Figure 2. Side-view of a planar surface get its absolute position during the acquisitions: a BEI DHO5S odometer and an iXBlue LANDINS IMU are used to precisely follow the motion of the vehicle; a Novatel FlexPak 6 GPS is used to retrieve the global position of the vehicle when possible.There is also the multi-beam LIDAR sensor, the 32-beam Velodyne, which is mounted on top of the vehicle, as shown on figure1. The Velodyne sensor provides up to 700 000 points/s, and covers a vertical field of view of 40 • -from -8 • to 32 • -and an horizontal field of view of 360 • . Also, we know the vehicle global pose at each control point, given by the frequence of the fusion IMU+GPS, which is 100 Hz. For our need, we only use the Multi-beam sensor to acquire data, and for geo-referencing the data, we use information given by the proprioceptive sensors: the global position of the vehicle is retrieved by fusioning data from the IMU and the GPS. For the optimization of the intrinsic calibration parameters, we assume that the localization of the vehicle is properly provided by the navigation sensors presented before.

Figure 3 .

 3 Figure 3. Description of the intrinsic parameters for the Velodyne sensor

Figure 4 .Figure 5 .Figure 6 .

 456 Figure 4. Point cloud #1

Figure 7 .

 7 Figure 7. Simulated point cloud #1: top, before optimization of the parameters; bottom, after optimization. The two images have the same point of view.

Figure 8 .

 8 Figure 8. Real point cloud #2: top, before optimization of the parameters; bottom, after optimization. The two images have the same point of view.

Figure 9 .

 9 Figure 9. Real point cloud #3: top, before optimization of the parameters; bottom, after optimization. The two images have the same point of view.

Figure 10 .Figure 12 .Figure 14 .

 101214 Figure 10. Evolution of the energy of synthetic point cloud #1. In blue, we show the evolution of our energy during the optimization; in red, this is the number of paired points at each iteration for our optimization method ∆ρ(cm 2 ) ∆θ( •2 ) ∆φ( •2 ) ∆Hz(cm 2 ) Initial errors 3100 193.75 279 3100 Final errors after our optimization 1.02 * 10 -2 1.16 * 10 -5 2.73 * 10 -4 5.47 * 10 -1Table11. Final errors of the intrinsic parameters of synthetic point cloud #1