H Macher

T Landes
email: tania.landes@insa-strasbourg.fr

P Grussenmeyer
email: pierre.grussenmeyer@insa-strasbourg.fr

POINT CLOUDS SEGMENTATION AS BASE FOR AS-BUILT BIM CREATION

Keywords: 3D modelling, indoor point clouds, space segmentation, as-built BIM, existing buildings, automation

In this paper, a three steps segmentation approach is proposed in order to create 3D models from point clouds acquired by TLS inside buildings. The three scales of segmentation are floors, rooms and planes composing the rooms. First, floor segmentation is performed based on analysis of point distribution along Z axis. Then, for each floor, room segmentation is achieved considering a slice of point cloud at ceiling level. Finally, planes are segmented for each room, and planes corresponding to ceilings and floors are identified. Results of each step are analysed and potential improvements are proposed. Based on segmented point clouds, the creation of as-built BIM is considered in a future work section. Not only the classification of planes into several categories is proposed, but the potential use of point clouds acquired outside buildings is also considered.

INTRODUCTION

The modelling of indoor areas of existing buildings is a huge issue since the emergence of Building Information Modelling in the Architecture, Engineering and Construction (AEC) industry. As-built BIM is particularly helpful for restoration, documentation and maintenance of existing buildings.

As shown in [START_REF] Fai | Parametric modelling (BIM) for the documentation of vernacular construction methods: a BIM model for the commissariat building, Ottawa, Canada[END_REF], a BIM is a 3D model with objects defined as building elements and classified into different categories such as openings, footings and vertical structure, horizontal structure, roof structure. BIM is not only a 3D model as it combines geometric information and a database. [START_REF] Volk | Building Information Modeling (BIM) for existing buildings -Literature review and future needs[END_REF] highlight the fact that despite well established BIM processes for new buildings, the majority of existing buildings is not maintained, refurbished or deconstructed with BIM yet. However, according to [START_REF] Giudice | BIM for Cultural Heritage[END_REF], the need to refurbish the cultural heritage is becoming more important than the construction of new buildings.

The creation of an as-built 3D model requires the acquisition of the as-is conditions of the building. The scanner laser is widely used to achieve this goal because of its fast acquisitions and its accuracy. Point clouds also provide a very high level of geometric information. Unfortunately, the creation of as-built 3D models from point clouds remains currently largely a manual process because of the huge amount of data and because of processes, which are difficult to automate. A key challenge today is thus to automate the process leading to 3D models from point clouds.

The creation of as-built BIM involves 3 tasks: geometric modelling of building elements, object category and material properties assignment as well as object relationship modelling [START_REF] Tang | Automatic reconstruction of as-built building information models from laser-scanned point clouds: A review of related techniques[END_REF]. This paper focuses on geometric modelling based on a three steps segmentation approach from a large scale to a small scale, with aim to make the modelling easier. Object category assignment is proposed in a future work section as a bridge towards as-built BIM.

In a related works section existing approaches of 3D modelling based on indoor point clouds are presented. Then, data acquisition and pre-processing steps are described. Next, each step of our approach is explained and illustrated with the presented datasets. Finally, in a future work section, a way to go towards as-built BIM is proposed.

RELATED WORKS

The façades modelling was already studied in many works (e.g. [START_REF] Pu | Knowledge based reconstruction of building models from terrestrial laser scanning data[END_REF][START_REF] Boulaassal | From Laser Data to Parametric Models: Towards an Automatic Method for Building Façade Modelling[END_REF][START_REF] Dore | Semi-automatic generation of as-built BIM façade geometry from laser and image data[END_REF]. However the modelling based on indoor point clouds of existing buildings requires other methods as it presents more challenges to overcome. Indeed, it is not limited to a plane. Moreover, existing buildings present a lot of occlusions such as desks, computer equipment, chairs and cabinets.

The works reported in the literature deal with different techniques for indoor modelling from point clouds. 3D methods are mainly based on geometric primitive segmentation. Some approaches are based on space segmentation before applying a more detailed segmentation. [START_REF] Macher | Semi-automatic Segmentation and Modelling from Point Clouds towards Historical Building Information Modelling[END_REF] propose the segmentation of sub-spaces corresponding to architectural entities. Similarly, [START_REF] Ochmann | Automatic generation of structural building descriptions from 3d point cloud scans[END_REF] propose a point-toroom labelling which is based on scan positions and detected planar structures.

Another approach consists in extracting planes in a single point cloud. Then, either plane intersections are performed [START_REF] Xiong | Automatic creation of semantically rich 3D building models from laser scanner data[END_REF] or a wireframe model is created based on boundary extraction [START_REF] Jung | Productive modelling for development of as-built BIM of existing indoor structures[END_REF].

2D methods are also used to create 2D or 3D products from indoor point clouds. [START_REF] Huber | Methods for automatically modeling and representing as-built building information models[END_REF] use a 2D projection of point clouds and create, based on point density, floor map models. [START_REF] Mura | Automatic room detection and reconstruction in cluttered indoor environments with complex room layouts[END_REF], for their part, perform a 2D projection of the X-Y plane to process automatic room segmentation.

A key challenge for the modelling of existing buildings is the management of occlusions. [START_REF] Huber | Methods for automatically modeling and representing as-built building information models[END_REF] and [START_REF] Xiong | Automatic creation of semantically rich 3D building models from laser scanner data[END_REF] use a ray tracing algorithm in order to label each surface as occupied, occluded or empty. This algorithm permits to identify occluded parts of point clouds and an inpainting algorithm is then used to reconstruct these parts.

DATA ACQUISITION AND PRE-PROCESSING

Buildings under study

Indoor of two buildings located in Strasbourg (France) were scanned in order to test and develop our approach. These buildings are quite different in terms of construction date and surface. Indeed, the first building is an individual house built during the 1930's (Figure 1a). It is composed of a vaulted cellar, a ground floor, a first floor and an attic with wooden frames for a total surface of 120 sqm. This house will be rehabilitated and was empty at the time of acquisition. Consequently, the resulting point clouds present only a few occlusions.

The second acquired indoor area is a part of a building of the National Institute of Applied Sciences (INSA) in Strasbourg built during the 1960's (Figure 1b). This construction follows the construction fabric of the French national education applied after the Second World War for rebuilding process. It tends to optimize the surfaces by distributing classrooms on both sides of a corridor. The building is of rectangular shape with a flat roof terrace. The ground floor and first floor of the building which represent approximately 2500 sqm were scanned. Unlike the individual house, this building presents a lot of occluding objects such as desks, computer equipment, chairs and cabinets.

Data acquisition

Both buildings were scanned using the laser scanner FARO Focus3D X330. Spheres and checkerboards were placed adequately in order to link scans in a post-processing step. A minimum of 3 targets in common between two scans is required for registration. However, it is recommended to take more than three and to compensate the whole network of targets at once.

The point cloud density was chosen based on the space configuration. Large spaces obviously require a higher density of points, on one hand to cover all the space with a correct density and on the other hand to be able to detect spheres placed in the scene in a post-processing step. This latter condition is induced by the specific target acquisition method of the FARO Focus3D X330. Thus, for example for the INSA building a two times higher density of points was chosen to scan corridors than to scan classrooms.

For both datasets, images of the scenes were also registered by the laser scanner in order to colorize point clouds. For the individual house, a density of one point every 2.4 cm at 10 m range was chosen (about 3 minutes per scan). For the INSA building, densities of one point every 6 mm or 1.2 cm at 10 m range were chosen (respectively about 11 min or 6 min per scan).

22 scans were realized for the individual house against 57 for the INSA building. Figure 2a

FLOOR SEGMENTATION

In order to segment the space into floors, point clouds of each scan are considered separately. Indeed, regarding one point cloud derived from one scan, identification of acquired space elements is easier than in the whole point clouds of the building.

Floor segmentation step is based on two tasks. First, the ground of each scan is identified. Then, based on the Z values of the grounds, floor numbers can be attributed.

Ground altitude identification

For each scan a histogram of the distribution of points along Z axis is realized. Altitudes of points are sorted into bins with an interval of 5 cm. The mean and standard deviation of points per bin are determined and the values upper the mean plus standard deviation are kept. The aim is to detect peaks in the histogram which correspond to horizontal elements of the acquired scene and notably the ground and the ceiling.

Figure 3a shows a point cloud corresponding to an office and Figure 3b shows the associated histogram and the detected peaks. In this histogram, the height of each rectangle indicates the number of elements in the bin. Considering the number of peaks detected, several cases appear.

When the ceiling and the ground are clearly defined, only 2 well separated peaks are detected and their associated altitudes are stored respectively as ground altitude and ceiling altitude.

If more than two peaks are detected, the mean of altitudes associated to the peaks are calculated. Among peaks under the mean, the peak which has the higher occurrence is considered as ground altitude. Similarly, the peak over the mean and with the higher occurrence is considered as the ceiling altitude.

The last case is that for which only one peak is detected. This may appear when the ceiling is not flat. In this case the altitude of the peak is attributed to ground altitude.

Note that at this stage of the developed approach, scans realized in stairs are generally assigned to the downstairs. Moreover, the ceiling altitude is not yet used for floor segmentation.

Floor number attribution

Based on the ground altitude of each scan, scans are grouped into several clusters corresponding to the different floors. In order to do that, the ground altitude of the first scan is assigned to a first cluster. Then, the distance between the ground altitude of the second scan and the altitude corresponding to the first cluster is computed. If this distance is lower than 1 m, the second scan is assigned to the first cluster. Otherwise a new cluster is created. This is repeated until all scans are attributed to a cluster. The number of created clusters corresponds to the number of floors.

The cluster which corresponds to the smallest altitude is assigned to ground floor. The point cloud of the outside of the building will permit us in the future to identify the altitude of the ground floor and of basement-level floors.

Results

Floor segmentation was performed for both datasets. Results are shown in Figure 4. Every floor, namely point clouds corresponding to scans of the same cluster, is presented in a different colour. The results look promising. Indeed, scans corresponding to the same floor are correctly grouped.

ROOM SEGMENTATION

For scans belonging to a same floor, room segmentation is performed. The main idea here is to consider a slice of point clouds at ceiling level. The ceiling level was identified for each scan in the previous step. In this slice there should be no links between rooms. It is supposed here that buildings have flat ceilings.

Image creation and 2D segmentation

Instead of working in the point cloud, it has been decided to create a binary map from the point clouds under study. An image is created based on a slice of 20 cm of point clouds at ceiling level. The advantage of using an image is that time processing is reduced and the complexity induced by calculations in 3D is avoided. A pixel size corresponding to three times the spatial resampling is chosen, that is 3 cm in our case. This value is a compromise to avoid on the one hand holes in the image and on the other hand the disappearance of thin walls. As depicted in Figure 5b, if a pixel contains almost one point, a value of 255 (shown in white) is allocated to it.

Based on the created image, a region growing is performed. Neighbouring pixels of a randomly chosen pixel are analysed and added or not to the region. This process is iterative and once a region is complete, once again a point is selected randomly and so on. Figure 5c shows the result of the region growing applied to the image in Figure 5b.

From 2D to 3D regions

In order to move from 2D to 3D regions representing the rooms, the distances between 2D regions and the floor points are computed. For each 2D region, the 2D Euclidian distances between points of the floor and the corresponding nearest point in the region are determined. Figure 6 shows a part of a 2D region in dark blue superimposed with the floor points projected in 2D in red. The 2D distances between red points and the corresponding nearest dark blue point are determined. If these distances are lower than a predefined threshold, the points are assigned to the region. A threshold of 5 cm was chosen based on the pixel size of 3 cm. Note that 3D regions are created based on a floor point cloud resampled at 5 cm. This sampling is required for the next step namely plane segmentation.

After distances computations and attribution of points to regions, some points are still not assigned to a region. These points, which notably correspond to openings, will be exploited in the future. Figure 8c shows that unattributed points correspond to openings and elements located outside the building but also to pillars located inside this scene. Indeed, in this set of data, pillars occlude the ceiling as depicted in Figure 8a. As a result, the points composing pillars are not attributed to any region. The same observation was made for the first floor where luminaires occlude the ceilings.

An idea to overcome this problem will be to use for each region a mathematical morphological operator to close holes before the step of 2D to 3D regions processing.

PLANE SEGMENTATION

Finally, a segmentation of planes is performed in two steps for each room. First, planes corresponding to floor and ceiling are identified. Then, the rest of the point cloud is segmented twice into planes. Because of its efficiency, RANSAC algorithm is used in both steps. The tolerance defining the inliers of the segment using RANSAC was fixed to 5 cm.

Floor and ceiling segmentation

An histogram is once again used to determine for each room the altitude of floor and ceiling. For each room, two slices of point cloud at floor and ceiling levels are selected and segmentation into planes is performed. The two larger planes, which are horizontal, correspond to floor and ceiling. These planes are stored as floor and ceiling and removed from the point cloud.

Floor and ceiling segmentation constitutes a first step towards as-built BIM creation. Indeed, a category of object is attributed to a geometric entity.

Segmentation of remaining points

Based on point cloud from which floor and ceiling points were removed, plane segmentation is performed again. The major planes are thus extracted. Then, a second segmentation is performed on still unsegmented points. Indeed, given our processing chain, the probability that first segmentation extracts small planes is low.

Results

Plane segmentation was performed for the rooms composing the ground floor of the individual house presented in Figure 7a. As shown in Figure 9a, floors and ceilings are correctly segmented in the first step. Then almost walls are extracted (Figure 9b) and finally small details are highlighted (Figure 9c). In Figure 9c, the red points are still unsegmented points.

FUTURE WORK

The results of plane segmentation need to be exploited. Indeed, even if floors and ceilings are already identified, the other detected planes have to be classified into several categories such as walls, occluding objects or pillars. The classification of geometric entities into different categories of objects constitutes a first step towards as-built BIM creation.

Additionally, knowing space configuration rules, namely that the neighbourhood of each room composes a floor, planes can be grouped together to form walls. They will constitute separation elements between the previous detected regions.

Once planes corresponding to walls are identified and classified, point clouds acquired outside the building can be used as additional information to differentiate façade walls from cross walls and partitions. This will allow separating interior structure of the building from exterior structure of the building. Moreover, detection of windows will probably be performed on exterior walls whereas detection of doors is planned to be performed mainly on interior walls.

CONCLUSION

In this paper, a three steps segmentation approach was proposed and illustrated with two different datasets. The developed approach is semi-automatic because of thresholds which must be defined but the degree of automation can be improved.

Despite some potential improvements, the obtained results look promising. Indeed, the different sub-spaces of indoor buildings namely floors, rooms and planes composing the rooms are correctly identified in point clouds.

The planes composing the rooms still need to be classified into different categories to be used as input for as-built BIM creation. Additionally, planes could be grouped to form walls and to define the structure of the building.

In the future, our approach will be improved and tested on other datasets. Moreover, this approach is based exclusively on the X, Y and Z coordinate of points. The potential use of RGB and intensity information will also be studied.

Figure 1 .

 1 Figure 1. Buildings under study: (a) individual house; (b) INSA building

Figure 2 .

 2 Figure 2. Indoor colorized point clouds: (a) individual house (60 million points); (b) INSA building (1.7 billion points)

  the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume II-5/W3, 2015 25th International CIPA Symposium 2015, 31 August -04 September 2015, Taipei, Taiwan

Figure 3 .

 3 Figure 3. Distribution of points along Z axis: (a) point cloud; (b) corresponding histogram

Figure 4 .

 4 Figure 4. Floor segmentation results: (a) individual house; (b) 3 floors of the INSA building

Figure 5 .

 5 Figure 5. Image creation and 2D segmentation: (a) slice of point clouds at ceiling level; (b) generated image; (c) result obtained after region growing (one colour per detected region)

Figure 6 .

 6 Figure 6. 2D region (dark blue points) and floor points projected in 2D (red points)

Figure 7 .Figure 8 .

 78 Figure 7. Room segmentation results -Individual house: (a) 3D regions; (b) unattributed points 5.3.2 For the INSA building: Figure 8 presents the results obtained for the ground floor of INSA building.

Figure 8 .

 8 Figure 8. Plane segmentation results: (a) floor and ceiling segmentation; (b) wall segmentation; (c) remaining points (in colours) and partially unsegmented (in red)

  the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume II-5/W3, 2015 25th International CIPA Symposium 2015, 31 August -04 September 2015, Taipei, Taiwan

ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume II-5/W3, 2015 25th International CIPA Symposium 2015, 31 August -04 September 2015, Taipei, Taiwan This contribution has been peer-reviewed. The double-blind peer-review was conducted on the basis of the full paper. doi:10.5194/isprsannals-II-5-W3-191-2015

This contribution has been peer-reviewed. The double-blind peer-review was conducted on the basis of the full paper. doi:10.5194/isprsannals-II-5-W3-191-2015

ACKNOWLEDGEMENTS

The authors want to thank for their support the French College of Chartered Surveyors.


E Lachat
email: elise.lachat@insa-strasbourg.fr

H Macher

M.-A Mittet

T Landes
email: tania.landes@insa-strasbourg.fr

P Grussenmeyer
email: pierre.grussenmeyer@insa-strasbourg.fr

FIRST EXPERIENCES WITH KINECT V2 SENSOR FOR CLOSE RANGE 3D MODELLING

Keywords: Kinect v2 Sensor, RGB-D camera, Range Imaging, Calibration, Point Cloud, Assessment

RGB-D cameras, also known as range imaging cameras, are a recent generation of sensors. As they are suitable for measuring distances to objects at high frame rate, such sensors are increasingly used for 3D acquisitions, and more generally for applications in robotics or computer vision. This kind of sensors became popular especially since the Kinect v1 (Microsoft) arrived on the market in November 2010. In July 2014, Windows has released a new sensor, the Kinect for Windows v2 sensor, based on another technology as its first device. However, due to its initial development for video games, the quality assessment of this new device for 3D modelling represents a major investigation axis. In this paper first experiences with Kinect v2 sensor are related, and the ability of close range 3D modelling is investigated. For this purpose, error sources on output data as well as a calibration approach are presented.

INTRODUCTION

Capturing three dimensional environments and objects is a necessary task for many applications in different fields. This is nowadays widely made possible thanks to various technologies such as laser scanners, stereo-vision or triangulation-based systems for example. Regarding some aspects like price or computation time, the recent RGB-D cameras offer new possibilities for the modelling of complex structures particularly in cultural heritage documentation. This type of sensors presents several benefits demanded initially by the gaming and entertainment industry. They are easy to use and some of them are low-cost compared with laser scanners. Regarding these advantages, their use was extended to many other areas such as 3D scene reconstructions or pattern recognition (Kolb et al., 2009) as well as in the robotic field [START_REF] May | 3D time-of-flight cameras for mobile robotics[END_REF]. Kinect v1 and Kinect v2 are based on two different imaging principles. As the accuracy of Kinect v1 limits its use for some engineering measurement tasks, Kinect v2 will probably give better results considering the new technology.

The aim of this paper is first to present the new sensor and its functionalities. In a second part, several tests are carried out and a calibration approach is proposed in order to improve output data. This will highlight not only the errors related to environment and captured object but also errors related to the system itself. Finally, the benefits of the new sensor are listed.

KINECT V2 SENSOR PRESENTATION

Characteristics

Even though Kinect for Windows v2 sensor relies on a different technology than Kinect v1, it also allows the acquisition of three different output streams. It is composed of two cameras, namely a RGB and an infrared (IR) camera, from which just one can be seen on the left side of the sensor (Figure 1). The active illumination of the observed scene is insured by three IR projectors.

Figure 1. Kinect v2 sensor on a photographic tripod

The RGB camera captures color information with a resolution of 1920x1080 pixels, whereas the IR camera is used for the real-time acquisition of depthmaps and also IR data with a 512x424 pixels resolution. The whole acquisitions can be carried out with a framerate up to 30 Hz. A last feature to be mentioned is the field of view for depth sensing of 70 degrees horizontally and 60 degrees vertically.

The technical specifications provided by Microsoft announce an operative measurement range from 0,5 m to 4,5 m. This last characteristic will be verified through different experiments presented in this paper.

To enable the use of the sensor for developers and researchers, the official Microsoft SDK 2.0 (Software Development Kit) is free downloadable. It provides not only the drivers, but also a set of functions or code samples that can be used for own implementations. One should also note the introduction of the Kinect Fusion tool in this SDK, which was initially released by Microsoft for the Kinect v1 because of the success of its device. This tool enables thanks to ICP algorithms the direct creation of 3D meshes under different formats (.stl, .obj or .ply) by using the Kinect as a scanning device moved slowly around the object.

Distance Measurement Principle

As mentioned on Microsoft website and on a Canesta patent, the Kinect v2 sensor is based on time-of-flight principle, whereas the previous Kinect device uses structured light to reconstruct the third dimension. Even though time-of-flight range imaging is a recent technology, many books deal with its principles and its applications [START_REF] Grzegorzek | Time-of-Flight and Depth Imaging -Sensors, Algorithms and Applications[END_REF][START_REF] Hansard | Time of Flight Cameras: Principles, Methods, and Applications[END_REF], Kolb and Koch, 2009[START_REF] Remondino | TOF Range-Imaging Cameras[END_REF]. Moreover in the last decade, a few companies developed range imaging cameras based on this measurement principle, which can be direct or indirect. The distinction between these two different measurement types is based on the light source used, either light pulses (direct ToF) or amplitude modulated light (indirect ToF). Nevertheless, the basic principle stays unchanged: knowing the speed of light, the distance to be measured is proportional to the time needed by the active illumination source to travel from emitter to target.

As Canesta made use of indirect time-of-flight before Kinect v2 sensor development, we can assume that this methodology also appears in the new sensor investigated here. Indeed, direct timeof-flight requires very costly clocks to accurately determine the runtime of single pulses. Therefore it seems unlikely that such a component be part of a low-cost sensor. For indirect time-offlight systems based on light modulation, a phase shift between emitted and received signal is measured, replacing the direct measurement of runtime. In that case, the estimated distance between sensor and captured object depends on the determined phase shift ∆φ by equation (1) (Kolb and Koch, 2009).

(1) where f = modulation frequency c = speed of light It should be noticed that, unlike other time-of-flight sensors, it is impossible to act on the modulation frequency or on the integration time of the input parameters with Kinect v2 sensor.

Point Cloud Acquisition

Sensors based on the digital imaging technology introduced above deliver a measurement of the distances between an entire scene and the sensor. These distances values are directly stored in a matrix which size corresponds to the depth sensor resolution. Indeed, for each pixel of the 512x424 depth images, the measuring device estimates in real-time a distance value to the corresponding object point. This output data is the so-called depthmap (see an example Figure 2), a two-dimensional image from which the 3D-coordinates of the scene can be calculated. After a few post-processing steps, it is then possible to obtain indirectly point clouds of the captured scene or object.

Assuming that Kinect sensor uses a standard lens, camera intrinsic parameters such as focal length f and principal point coordinates (c x , c y ) can be determined. The Z-coordinate for a pixel is already known because it corresponds to the value stored in the depthmap. Using these parameters and the perspective projection relationship (see Dal [START_REF] Dal Mutto | Timeof-Flight Cameras and Microsoft Kinect TM[END_REF], a 3D point X in the camera coordinate system can be mapped from the homogenous image coordinates of a pixel p = [u, v, 1] T through equation ( 2). As each pixel of the depthmap represents a value for the corresponding point cloud, the calculated point clouds count a number of 217088 points.

(2)

Because of the recent release of the Kinect v2 sensor, so far only a little amount of algorithms allows an off-the-shelf use of the sensor.

INVESTIGATION OF SYSTEM PROPERTIES

A good knowledge of sources of errors affecting the measurements of a system is needed to quantify the accuracy of the data provided by it. Even if a large number of these sources are interdependent, we can however try to classify them into four groups, as it is done for terrestrial laser scanners [START_REF] Reshetyuk | Terrestrial laser scanning: error sources, self-calibration and direct georeferencing[END_REF]: instrumental errors, errors related to the scanned object, environmental errors and methodological errors.

Instrumental errors are usually systematic errors assigned to the system design. They should potentially be removed by system design improvement or by calibration. The environment in which the acquisitions are performed has an influence (temperature, brightness, humidity, etc.), as well as the characteristics of the observed object (e.g. albedo, reflectivity, geometry). Once the camera is on its tripod, the user intervention is limited to choosing settings (e.g. time interval, types of output data), therefore the automation level seems to be relatively high. However, errors can occur according to the distance-to-object chosen for the acquisition, the incidence angle, etc. The point cloud quality depends also strongly on the algorithms used for creating the output data (mapping functions, calibration parameters…). It is essential to determine the influence of these parameters on the quality of the distance measurement. To do that, a few tests are presented in this section.

Influence of Frames Averaging

Since individual frame acquisitions suffer from noise inherent to the sensor and its technology, averaging successive frames is a possible improvement step to overcome this phenomenon. This part deals with the influence of the number of acquisitions on the precision of the final measurement. Considering a static scene, several repeated measurements with 500 ms interval are carried out from one unique camera location. A statistical analysis over a large sample of 500 acquired depthmaps has been performed. We also analyzed the behavior observed with 20, 50, 100 and 200 successive depthmaps.

First, acquisitions have been made from an office scene which mainly contains objects of squared shape (Figure 3a). Using the acquired depthmaps, for each pixel the mean value and the standard deviation of distance measurements were calculated.

For this non planar scene, the computed standard deviations shown in Figure 3b are particularly wide at the objects boundaries, but also on reflective surfaces such as metallic parts. This phenomenon can be explained by the measurement noise which appears in these specific cases. It can also be associated to speckle noise present in infrared data. Moreover, considering the different sizes of samples, one should notice a low impact on the computed standard deviations from the 50 depthmaps. Indeed, for 20 successive frames the result seems to be less smooth than for the other samples sizes. However the effect observed at objects borders does not change a lot between the 50 and 500 samples. While frames are added, the main differences arise at far ranges (from about 3 meters), where depth inhomogeneities are reduced and the visual results smoothed. We will see in section 4 that far range measurements are not reliable. For this reason, they will not be treated and considering 50 successive depthmaps seems to be enough.

Secondly, the same test was repeated by positioning the Kinect device in front of a planar wall, at a distance of approximately 1,15 m. Histograms of the distance measurements performed for a central area of one pixel and its neighbors (3 x 3 pixels) were realized for the different samples mentioned before. Figure 4 shows the result obtained with 100 successive measurements. In that case, the standard deviation is lower than 1 mm (approximately 0,7 mm). It can be noticed that this value is almost constant for all sizes of samples we considered. In conclusion, as for the experiment presented above, a larger sample does not provide a better precision. The future tests will thus be carried out with a smaller amount of acquisitions.

Pre-heating Time

Previous studies have shown that some RGB-D sensors need a pre-heating time before providing reliable range measurements [START_REF] Mittet | Mobile outdoor relative localization using calibrated RGB-D cameras[END_REF]. For checking this phenomenon, the time delay necessary for Kinect v2 to achieve constant measurements has been determined. The sensor was placed parallel to a white planar wall and measurements were carried out each 15 seconds during one and a half hour (360 depthmaps recorded). For each recorded depthmap, the distance from the sensor to the wall was determined in a central area of ten per ten pixels. This area was chosen according to the maximal intensities in the corresponding infrared data.

This test permits to establish the value of distance measurements as a function of time. Figure 5 shows that the distance varies from 5 mm up to 30 minutes and becomes then almost constant (more or less 1 mm). It can be noticed that the sensor's ventilator starts after 20 minutes. For future tests, the pre-heating time will be respected even if the distance variation is quite low.

Figure 5. Value of distance measurements as a function of time

Influence of Materials and Colors

To assess the effects of different materials on intensity as well as on distance measurements, samples characterized by different albedos and roughness were measured. The sensor was placed parallel to the plane regrouping the samples (Figure 6a). As shown in Figure 6b and Figure 7, reflective and dark materials stand out among all the samples. Indeed, the intensity provided for very reflective as well as very dark surfaces is particularly low. Thus, the corresponding distances in the depthmaps are larger than expected. This effect in the depthmap is mainly important for a compact disk, i.e. high reflective material as illustrated in Figure 6b. For this sample, distances vary up to 6 cm. It is also visible in Figure 7, which presents a checkerboard of grey levels and the corresponding intensity image. The intensity increases with the brightness of the object (except when it is also very reflective or transparent). On the white parts of this checkerboard, a speckle phenomenon appears and illustrates the measurement noise. Concerning the level of roughness of the grainy textures on the test panel in Figure 6a, their influence is not clearly visible because of the noise inherent to the point cloud.

Outdoor Efficiency

As the previous Kinect was not adapted for sunny outdoor acquisitions, the influence of the brightness conditions on the measurements was also studied. Outdoor acquisitions were performed during a sunny day.

This experiment shows that the sensor is able to work during a sunny day provided that the light does not directly illuminate the sensor. Indeed, strong backlighting conditions cause sensor's disconnections from the computer.

Considering the quality of the acquisitions carried out during a sunny day, two phenomena appear: the number of "flying pixels" increases particularly on the edges of the sensor field of view and the number of points decreases with the light intensity.

The "flying pixels" effect is shown Figure 8.

GEOMETRIC AND DEPTH CALIBRATION

As the lenses used in time-of-flight cameras are standard, the acquired data suffer from distortion effects that can be estimated and corrected through successive calibration steps. Since we hope to use the Kinect v2 sensor as a measuring device, calibration should enable the acquisition of reliable 3D metric information from the acquired point clouds. Because of the specificity of range imaging cameras, the distinction between two successive approaches has to be made.

Geometric Calibration

It appears in lots of works e.g. [START_REF] Hansard | Automatic detection of calibration grids in time-of-flight images[END_REF]) that timeof-flight cameras can be geometrically calibrated with standard methods. For this purpose, as for common 2D sensors, several images of a planar checkerboard were taken under different points of view. It is worth noting that the infrared data were used to handle this geometric calibration, because depth and infrared output streams result from the same sensor.

To determine the necessary intrinsic parameters, our dataset was treated by a Camera Calibration Toolbox proposed by [START_REF] Bouguet | Camera Calibration Toolbox for Matlab[END_REF] under the Matlab software. This algorithm is mainly based on well-known camera models. However, one should underline the fact that changing or removing some of the images makes the computed results vary from a few pixels. This phenomenon is only due to the low sensor resolution. As a matter of fact, best calibration results are considered regarding the lower uncertainties on the parameters.

Note that the Microsoft SDK mentioned earlier also provides a function that returns all these intrinsic parameters (namely GetDepthCameraIntrinsics() function). Deviations towards selfcomputed results are shown in Table 9.

SDK function Deviations

Values (pixels) Std.

Values (pixels) (absolute values)

Focal length (x)

Self-computed calibration

Distortion parameters (radial, then tangential)

Table 9. Estimated intrinsic parameters using self-calibration, with Microsoft function, and related deviations

The application of these distortion coefficients directly on our point clouds computation algorithm allows the gaining of calibrated three dimensional dataset, which is no more affected by the actual distortions of the initial depthmap. It can also be noticed that the point clouds obtained by applying directly the Microsoft mapping functions seem to be pre-calibrated at least for radial distortions of the lens. Indeed, considering acquisitions of a planar surface, the results are visually similar between a point cloud computed through our method with corrections and a point cloud directly obtained with mapping functions. This phenomenon appears especially on the corners of the captured plane, which are not right angles but rather distorted. As a matter of fact, the intrinsic parameters stored in the device are certainly considered in the point clouds mapping functions.

Moreover, a geometric calibration could also be processed for the RGB sensor, which uses a different lens with a different resolution. However, as we do not need the colorimetric information for the rest of the experiments, this calibration has not yet been performed.

Depth Calibration

A systematic depth-related deformation, also depicted as wiggling error by some authors (e.g. [START_REF] Lindner | Time-offlight sensor calibration for accurate range sensing[END_REF] can be observed while working with time-of-flight devices. This deformation is due in part to inhomogeneities in modulation process. Lots of works have been devoted to the understanding of error sources in order to minimize their effects. As a matter of fact, calibration of time-of-flight sensors was a major issue in many studies in the last decade. Most of the time, the introduced approaches are based either on Look-Up Tables [START_REF] Kahlmann | Calibration for increased accuracy of the range imaging camera SwissRanger TM[END_REF] or on curve approximations with Bsplines [START_REF] Lindner | Time-offlight sensor calibration for accurate range sensing[END_REF]. In both cases, the aim is the storage of depth errors depending on the measured distance.

A common way to assess the distance inhomogeneity consists on positioning the camera parallel to a white planar wall at different well-known distances. In our study, the wall has been surveyed beforehand with a laser scanner (FARO Focus3D) in order to assess his planarity with a device of assumed higher accuracy as the investigated sensor. After that, a line has been implanted by tachometry perpendicularly to the wall. Marks have then been fixed on this line at predetermined distances, from which the acquisitions were made with the Kinect placed on a static tripod, as shown in Figure 10. The marks were implanted at ranges from 1m up to 6m from the reference wall, with 25 cm steps to progressively move the sensor away from this wall. An additional position at 0,8m was also set up, even though Microsoft announces a minimal range of 0,5 m. Indeed, measurements acquired at a range of 0,8 m already present a high standard deviation compared to other ranges, as can be seen on Figure 11. This phenomenon will be more important for measurements at a closer range. Moreover to limit the influence of noise, at each sensor position 50 successive depthmaps of the wall were acquired with intervals of one second. Finally, to insure the parallelism between sensor and wall and thus reduce the possible rotation effect, the distances were also surveyed by tachometry at each new position, using little prisms at the two sensor extremities.

Inspired by the work of [START_REF] Lindner | Lateral and depth calibration of PMD-distance sensors[END_REF], a two steps distance calibration based on B-splines approximation was carried out. Firstly, the accuracy of distance measurement for a small central matrix of 10x10 pixels has been investigated. Secondly, the deformations extended to the whole sensor array have been assessed, in order to highlight the need of processing a potential per-pixel correction.

Results

First aim of this experiment was to determine the deviations between real and measured distances as a function of the depth, to produce the result presented in Figure 11. As depicted in this graph, distortions of the averaged central area vary from about 0,5 cm to 2,7 cm. Knowing the curve parameters allows the correction of the measured distances. Another interesting information arises from the observation of the standard deviations calculated over the 50 depthmaps acquired per station. As it can be seen, the standard deviation increases with the range, which means that the measurements become more scattered around the estimated distance when the sensor moves away from the scene. Moreover, at the nearest range of 0,8 m acquired in this test, the standard deviation is higher than for all other sensor positions. As a matter of fact, measurements realized at the minimal announced distance of 0,5 m would probably be still less reliable. Secondly, an important variation of about 1,5 cm at range 4,5 m is observed. This observation confirms the upper value for distance measurement reliability given by Microsoft. The future acquisitions will be limited to this suitable range, observing that in this case the distance deviations are reduced to an interval of about 1 cm.

Looking at this graph, it can also be noticed that despite satisfying results all deviations are positive, meaning that the sensor would systematically measure too short distances. It seems that a systematic offset occurs because of the constant distance (approximately 2 cm) between fixing screw and lens. Indeed, the Kinect was accurately placed on the tripod with respect to its fixing screw, which definitely does not correspond to the optical center of the lens.

In order to eliminate this systematic effect, we suggest subtracting the values of the nearest range (0,8 m) to the values of each respective position. Thus, observing calculated intervals with respect to a first station also affected by the systematic offset provides values no more depending on the unknown misalignment. The realized graph presents the same trend curve as Figure 11, but with values varying between about 5 and -5 mm for ranges from 0,8 to 4,5 m.

Finally, plotting the measured distances over the real distances provides a very high correlation coefficient of r = 0,999.

According to the measurement task, it is possible to neglect the depth calibration step.

The second part of depth calibration consists on an extension of the analysis to the whole sensor array. For this purpose, for datasets of the planar wall acquired before at the ten first positions (from 0,80 m to 3 m), fitting planes were computed by means of least-squares adjustment. To fit correct planes in the Kinect point clouds, some outlying points corresponding to null values in the depthmaps and thus very far from the wall were not considered. Then, the Euclidean distances between a point cloud and its corresponding plane are calculated. It provides a residuals matrix which represents for each pixel of the considered depthmap the deviation between approximating plane and actual measured distance. This representation is shown in Figure 12a for a distance of 1,25 meters with deviations in millimeters. In addition, the histogram of the residuals obtained for this range is also presented (Figure 12b). It appears that the values are normally distributed and almost centered on the null value, with a standard deviation of about 4 mm. It can be mentioned that the standard deviations calculated for the fitted planes increase with the range from about 3 mm up to 16 mm for the latest range of 3 meters.

Moreover, as it can be seen in Figure 12a, the deviations with respect to the adjusted plane are more important at image boundaries and especially on the corners. As known from the literature, these radial effects increase with the distance to the wall. In our case, they can reach variations of a few centimeters up to tens of centimeters in the corners at 3 meters range. Because of this loss of precision and reliability of the measurements at the boundaries, a first approach to reduce depth errors of entire sensor consists on considering only a restricted central array. Tests were realized with a reduced depthmap size of approximately 360x300 pixels from the 512x424 initial frame. Obviously, the area was chosen very central to remove border effects. The same phenomenon can always be detected at the boundaries of the new considered area but with widely reduced residuals. They reach a few millimeters at the range of 1,25 m. In addition, the standard deviations calculated for the fitted planes on the shorter areas were reduced from about 2 to 5 mm.

Nevertheless, a correction approach for the entire sensor area as proposed in [START_REF] Pagliari | Kinect Fusion improvement using depth camera calibration[END_REF] can be adapted to the device investigated here. It consists on delivering signed corrections interpolated from the residuals matrices computed at different ranges. For each pixel of the array, given the distance value it contains, a correction value will be interpolated considering the nearest ranges for which residuals were computed. The obtained correction matrix then just needs to be added to the initial depthmap in order to apply the per-pixel correction.

A two-way conclusion arises from these observations. On the one hand, using the inspected sensor for high accuracy metrology tasks justifies the need of a per pixel correction managed over the whole sensor. Nevertheless, this correction step is time-consuming due to the local treatment of each pixel. Thus, on the other hand, people who foresee to use the Kinect for Windows v2 for lower-accuracy object reconstruction should locate their object on a central and restricted area of the sensor.

DISCUSSION

Main Advantages of Kinect v2

Thanks to the change of technology carried out by Microsoft for the release of its recent Kinect for Windows v2 sensor, the depth measurements achieved are more accurate compared to the first Kinect device. In addition, the computed point clouds present a better resolution because a distance measurement occurs for each pixel of the captured depthmaps. This allows a more accurate detection of small objects for example. The quality of color images has been also increased. These are the two main technical advantages of Kinect v2 compared to Kinect v1.

Tests about the influence of measurements repetition have shown that the averaging procedure has not necessarily a great influence on the final accuracy of the measurements. Indeed, the noise inherent to the sensor is already reduced in comparison to the first Kinect device, and is essentially present at objects boundaries where artifacts are hardly avoidable. Moreover, it has been shown that outdoor acquisitions can be envisaged. Kinect v2 device seems to be much less sensitive to daylight since point clouds were obtained even on a very sunny day. However, some filters need to be applied to overcome the increased noise effects and to reach exploitable results.

Another advantage is the simultaneous release of Kinect sensor and of its official SDK, which allows development of solutions for many tasks such as algorithms for 3D reconstruction.

Nonetheless, a few material drawbacks related to the use of the Kinect v2 sensor itself can be mentioned, such as the necessity of working under a Windows 8 or 8.1 station equipped with USB3 port. The required additional power input makes it also less mobile for SLAM applications for example.

Future Works

To complete our current work, it would be interesting to check the potential of the Kinect v2 device for small object modelling purposes. In this context, point clouds of a limestone fragment (approximately 25 x 20 cm) have already been captured. The acquisitions were made under different points of view all around the stone. Visual results look very satisfying, as it can be seen on Figure 13. The multiple point clouds (eight different positions) of the object now need to be registered in order to obtain a complete 3D point cloud. A first approach will consist on a manual segmentation of each individual point cloud in order to remove the artefacts (or flying pixels) that are clearly visible at the edges and boundaries of the object. Once the final mesh of this object will be produced, an accuracy assessment will be carried out thanks to comparisons with reference meshes acquired by other imaging techniques. In a second time, tests will be performed using the Kinect Fusion tool mentioned before. It enables to directly acquire a meshed representation of the investigated object. This approach has the advantage to use much less point clouds as the manual approach and is a faster modelling method. However the model accuracy achieved through this method must be assessed. For sure, it depends on the way the Kinect is moved around the object.

CONCLUSION

The aim of this paper was to investigate through a set of tests the capacity of the Kinect v2 sensor, a low cost sensor, and to study if it could be an alternative to close range laser scanners for 3D measurements.

Several tests highlighted errors related to environment and to the properties of the captured object but also errors related to the system itself. Moreover, geometric as well as depth calibrations were carried out. Based on the obtained results, the physical limitations of the device could be assessed.

Considering depth measurement precision and outdoor efficiency, the achieved results look promising. Accordingly, the arrival of the second Kinect version can be seen as a real progress for computer vision tasks dealing with range imaging cameras.

In the future, the potential of the Kinect v2 device for small object modelling purposes will be assessed in a qualitative and a quantitative way.

Figure 2 .

 2 Figure 2. Output data: (a) RGB image; (b) infrared image; (c) colored depthmap (colorbar in meters); (d) colorized point cloud

  Figure 3. (a) Acquired scene; (b) Standard deviations calculated for each pixel of 100 successive depthmaps (colorbar in cm)

  Figure 6. (a) Samples characterized by different albedos and roughness; (b) zoom on the red frame: depth variations (m) observed on this area including a compact disk

Figure 7 .

 7 Figure 7. Checkerboard of grey levels (left) and corresponding intensity image (right)

Figure 8 .

 8 Figure 8. Point cloud acquired in sunny conditions: (a) scene without "flying pixels"; (b) scene (white) and "flying pixels" (red) in a profile view

Figure 10 .

 10 Figure 10. Depth calibration experiment (observed area in dotted lines)

Figure 11 .Figure 12 .

 1112 Figure 11. Deviations of measured distances with respect to true distances (without correction of offset distance between fixing crew and lens)

Figure 13 .

 13 Figure 13. Point cloud of a limestone fragment obtained with Kinect v2

  However, the Microsoft SDK (Software Development Kit) provides multiple functions for the recording of the different data types. Respecting the fact that we don't control the mapping functions used by Microsoft to generate point clouds from depthmaps, we developed our own acquisition protocol. Implemented in C# through some code samples available in the SDK, this program enables us to acquire timed acquisitions for each of the different possible output data (RGB images, infrared images, depthmaps, and colorized point clouds).