Part III, Chapter 10
Local Geometric Features
You arrive here with a survey you have already cleaned, indexed and partly labelled. The filtering of chapter 6 removed the noise and the outliers. The normals of chapter 7 gave every point a direction. The ground extraction of chapter 9 split the returns into terrain and everything standing on it. But none of that describes a point well enough for what comes next. Think about what you are holding: one direction per point and one bit of ground membership. Between them, these cannot show whether the surroundings of a point form a wire, a wall or a crown. In this chapter we add the description that can: a fixed-length vector per point computed from the neighbourhood alone. Every analytical stage from chapter 11 onwards reads it.
Here is the difficulty, on real data. Look at the airborne window of figure 10.3, a suburb near Versailles read at a fixed radius of 2 m. For 22 per cent of the points the largest of the three shape features is linearity, and almost none of those points is a wire. They are roof edges and crown margins. Why? Think about what linearity measures. A roof ridge concentrates the local spread along one direction as tightly as a cable does, and that is the whole of it. Now the opposite failure, in the same window. The median planarity of a tree crown at that radius is 0.36 against a median sphericity of 0.27, so the feature that ought to report a volume reports a surface.
So what resolves a collision of that kind? Two things, and this chapter is about both. You choose the radius, and you choose the context the classifier reads alongside it. That leaves you three questions. What should the vector hold? At what radius, or radii, should each entry be computed? And how much of it can you throw away before production? Carry this while you answer them: the catalogue and its scales usually matter more than the choice of classifier. This is what Weinmann et al. (2015) found by comparing feature sets against classifier families on the same benchmarks.
The word scalar in that definition matters more than it might seem to, so let's see what it lets you do. You can watch it on the roof point of figure 10.10, where the neighbourhood holds 21 points at a radius of 0.5 m and 4 786 points at 8 m. The feature returns one number in both cases. That makes neighbourhoods of wildly different sizes comparable, and it is why the entries stack into a vector whose length does not depend on how many points fell inside the ball.
Local geometric features are therefore the interface between the geometric stages of the pipeline and the semantic ones, and a classifier needs exactly that interface. Consider what you could hand it instead. A point on its own is three coordinates, and three coordinates describe no shape, since shape is a property of a neighbourhood and not of a location. So we collect the points around a query point, form their covariance matrix, read the local shape off its eigenvalues, and add the scalar quantities those eigenvalues cannot carry. You hold both prerequisites already. In Section 7.2 we computed the covariance eigenvalues from which every feature in section 10.2 is built. The spatial indexes of chapter 4 serve the millions of neighbourhood queries that feature extraction issues. Let's start with what has to be specified for a feature before any of it is worth computing.
Continue reading Local Geometric Features
€39 opens all 20 chapters in this reader and the 840-page PDF.