[pdal-commits] [PDAL/PDAL] 85d682: Add OptimalNeighborhoodFilter and refactor Covaria...

chambbj noreply at github.com
Wed Jul 15 09:50:45 PDT 2020


  Branch: refs/heads/filters/deep-learning-feature-generation
  Home:   https://github.com/PDAL/PDAL
  Commit: 85d68211a63bf3bdbfb083318ee456fa4855de27
      https://github.com/PDAL/PDAL/commit/85d68211a63bf3bdbfb083318ee456fa4855de27
  Author: Bradley J Chambers <brad.chambers at gmail.com>
  Date:   2020-07-15 (Wed, 15 Jul 2020)

  Changed paths:
    M doc/stages/filters.covariancefeatures.rst
    A doc/stages/filters.optimalneighborhood.rst
    M doc/stages/filters.rst
    M filters/CovarianceFeaturesFilter.cpp
    M filters/CovarianceFeaturesFilter.hpp
    A filters/OptimalNeighborhoodFilter.cpp
    A filters/OptimalNeighborhoodFilter.hpp
    M test/unit/filters/CovarianceFeaturesTest.cpp

  Log Message:
  -----------
  Add OptimalNeighborhoodFilter and refactor CovarianceFeaturesFilter

OptimalNeighborhoodFilter reports the pointwise optimal number of
neighbors (OptimalKNN) and corresponding radius (OptimalRadius), based
on Weinmann, et al. The optimal neighborhood size is found by minimizing
the Shannon entropy of normalized eigenvalues (the eigenentropy) while
sweeping a range a candidate k-nearest neighbors.

    Weinmann, Martin, et al. "Semantic point cloud interpretation based
    on optimal neighborhoods, relevant features and efficient
    classifiers." ISPRS Journal of Photogrammetry and Remote Sensing 105
    (2015): 286-304.

Augment the original CovarianceFeaturesFilter to add optional
specifiation of additional features derived from covariance matrix.

- Omnivariance
- Sum
- Eigenentropy
- Anisotropy
- Surface variation
- DemantkeVerticality
- Density (requires precomputed OptimalKNN and OptimalRadius)

Any feature_set other than "Dimensionality" will output ALL covariance
features. Alternately, covariance features can be passed as a
comma-separated list to the features argument, allowing explicity
definition of the desired features.

Add flexibility to normalize eigenvalues or to compute the standard
deviation along each dimension by taking the square root of the
eigenvalues. The default behavior (a CHANGE!) is to compute features
using the raw eigenvalues.

Update tests to compute all features, setting mode to "SQRT" in keeping
with original defaults.




More information about the pdal-commits mailing list