290 likes | 299 Views
Rolf Lakaemper Temple University, Philadelphia,PA,USA. Simultaneous Multi-Line-Segment Merging for Robot Mapping using Mean Shift Clustering. Goal: segment based maps from 2D laser range scans. Motivation: The segment based approach captures structural information
E N D
Rolf Lakaemper Temple University, Philadelphia,PA,USA Simultaneous Multi-Line-Segment Merging for Robot Mapping usingMean Shift Clustering
Goal: • segment based maps from 2D laser range scans
Motivation: • The segment based approach captures structural information 2) Segment post processing is fast 3) The segment based approach is memory efficient
From point maps to segment maps - • Two different ways: • Create segment map from a global map (point based) Example: Hough transform or Split and Merge EM (Latecki/Sobel/Lakaemper, PAMI 2009)
Or, second: • detect segments in single scans (simpler, see e.g. Amigone/Gasparini IROS08) • Superimpose (pose-corrected) single scans • Cluster & merge segments This talk
Remark: • Technique is applicable for all mapping algorithms that result in corrected poses of single scans • NOT restricted to segment based maps
Mean Shift • (Fukunaga/Hostetler 1975) • gradient descent procedure to find multiple modes of density distributions. • Iteratively shifts data points to their mean in a certain neighborhood. • Mean shift: Δm = m(x) - x • data points converging to the same mode belong to one cluster.
Main property: except for the definition of the neighborhood (i.e. kernel K), Mean Shift is parameter free. • Sensitive to kernel definition • In our case, domain knowledge is available to determine the kernel K for robust operation • Mean Shift Δm is in the gradient direction of the density estimate q(x) = ΣpK(p − x) • Mean Shift is steepest gradient ascent to the modes of the density distribution of P (with K) without explicit computation of the density.
Mean Shift for Segment Clustering • Transform segment map to center-direction joint space α x,y α y x
3d space: we omit segment length Assumption: length does not vary too much => split segments if too long
Use Mean Shift in two phases: • Phase 1: detection of locally common directions • Phase 2: Clustering by collinearity • Splitting into 2 phases makes the approach more robust. For ‘simple’ data sets, the phases can be combined (I'll explain later)
Symmetric Gauss Kernel: x,y: we do not assume any expected directions a priori, we do not prefer collinearity to the weaker condition of parallelism. • This is the main difference between the first and second phase (which uses an anisotropic kernel) x,y α
...we do not assume any expected directions a priori, we do not prefer collinearity to the weaker condition of parallelism. = • This prevents us from making a LOCAL, single segment direction cluster decision
Symmetric Gauss Kernel: • σ is related to scale • h defines spatial-angular relation
Phase 2: Clustering by collinearity • aims at sub-clustering each phase 1-cluster using the directional information • Cluster direction = average direction of cluster members • Elongated (in cluster direction) anisotropic kernel • Goal: merge approx. collinear segments • Phase 2 is 2 dimensional clustering! (x,y space only)
Clustering by collinearity Single cluster Sub - clustered Kernel With Covariance Matrix (b,c similar, straightforward)
The single phase approach: • - Applicable if data set is 'simple' (low intra cluster direction deviation in first phase) • - In first (and only) phase, use kernel • with a,b,c defined LOCALLY by i-th segment direction (not by average direction), to determine K_i • - Each segment has different kernel • - Less robust
Segment Merging • Merge segments of each cluster to a single representative segment.
Hallway Points Segments Superimposed segments Merged segments
Hallway • Superimposed segments • Merged segments • Cleaned version (short segments deleted) 59245 points to 255 segments
Conclusion and remarks: • global segment map was built by superimposing local segment maps • Clustering detects a) segments of same direction, b) collinear segments • Merging reduces numbers of segments • Alert! Segments are only hypotheses of point sets and have to be enjoyed with care – but we can always return to points and use segments to augment the data set