This repository is related to the paper "A feature selection method for multimodal multispectral sensing", which includes:
- The dataset collected from 30 material specimens in 4 material classes by using our multimodal multispectral (MM) LiDAR prototype
- The proposed multiclass group feature selection algorithm based on an all-in-one support vector machine (MGSVM FS)
- The 10-fold cross-validation as the evaluation framework and three evaluation metrics (i.e., F1 score, stability index, and selection probability) for decision-making
- The ablation study comparing MGSVM FS with three other feature selection algorithms (i.e., random FS, RF-MDPA FS, and MRMR FS)
The list of required packages:
cvxpy==1.4.3
matplotlib==3.6.2
mrmr-selection==0.2.8
pandas==2.0.3
scikit-learn==1.1.3
scipy==1.9.3
seaborn==0.12.2
numpy==1.23.3
The dataset of the MM features collected from the material collection can be found in the folder Dataset_MM_features.
To plot the MM features (as shown in Fig. 7 of the paper), please implement the following command.
python MM_features_plotting.py
Multiclass group feature selection algorithm based on an all-in-one support vector machine
- Embedded feature selection
- Group feature selection / Group LASSO for structured data / Structural sparsity
- Multiclass classification / All-in-one SVM
Please refer to the subfolder FS_algorithm\MGSVM FS.
The evaluation framework
10-fold cross-validation
Three evaluation metrics
1. F1 score
2. Kuncheva's stability index
3. Selection probability
Options of modality combinations
1. DoLP
2. R
3. d
4. R+d
5. R+DoLP
6. d+DoLP
7. R+d+DoLP
R: Reflectance
d: Distance
DoLP: Degree of linear polarization
Target number of selected spectral channels (feature groups)
1 --> 28
Example command -- Evaluate the feature selection algorithms for arbitrary modality combinations and save the evaluation metrics
Different modality combinations can be set in the file Evaluation_feature_selection_methods.py.
The corresponding evaluation metrics can be output by implementing the following command to run the evaluation framework.
python Evaluation_feature_selection_methods.py
Four feature selection algorithms
1. Random feature selection
2. RF-MDPA feature selection
3. MRMR feature selection
4. MGSVM feature selection
All evaluation metrics for all modality combinations can be found in the subfolder Results_evaluation_metrics.
To plot the evaluation metrics (as shown in Figs. 8-10 of the paper), please implement the following command.
python Evaluation_metrics_plotting.py
If you find our dataset and/or code useful, we appreciate your consideration in citing our publication.
@article{HAN202442,
title = {A feature selection method for multimodal multispectral LiDAR sensing},
journal = {ISPRS Journal of Photogrammetry and Remote Sensing},
volume = {212},
pages = {42-57},
year = {2024},
issn = {0924-2716},
doi = {https://doi.org/10.1016/j.isprsjprs.2024.04.022},
author = {Yu Han and David Salido-Monzú and Jemil Avers Butt and Sebastian Schweizer and Andreas Wieser}
}