Skip to content

AngeloUNIMI/PalmSeg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

βœ‹ PalmSeg

Palmprint Segmentation and ROI Extraction for Touchless Biometrics

MATLAB License: GPL v3 Repository Topic

MATLAB source code for palmprint segmentation and region-of-interest extraction
Used in the IEEE TIFS 2019 and IEEE CIVEMSA 2019 palmprint recognition works.


🌟 Overview

PalmSeg provides a complete MATLAB pipeline for processing palmprint images acquired in less-constrained or touchless scenarios.

The code extracts the palm shape, detects anatomical landmarks, estimates palm orientation, and crops a normalized palmprint region of interest (ROI) that can be used by recognition systems such as PalmNet.

Input palm image
       β”‚
       β–Ό
Palm segmentation
       β”‚
       β–Ό
Valley-point detection
       β”‚
       β–Ό
Orientation and centroid estimation
       β”‚
       β–Ό
ROI extraction
       β”‚
       β–Ό
Normalized palmprint ROI

🧠 What PalmSeg Does

PalmSeg is designed to support palmprint recognition pipelines by producing consistent ROI crops from hand images.

Main processing steps include:

  • Palm and hand segmentation from the input image
  • Finger-valley localization for geometric alignment
  • Palm center and orientation estimation
  • Adaptive ROI extraction based on hand geometry
  • Graphic result generation for visual inspection
  • Dataset-specific parameter configuration

πŸ“ Repository Structure

PalmSeg/
β”‚
β”œβ”€β”€ launch_PalmSeg.m                         # Main MATLAB script
β”œβ”€β”€ LICENSE                                  # GPL-3.0 license
β”œβ”€β”€ README.md                                # Project documentation
β”‚
β”œβ”€β”€ Functions_Preproc/                       # Pre-processing utilities
β”œβ”€β”€ Functions_ROI/                           # ROI extraction functions
β”œβ”€β”€ Functions_Segm/                          # Segmentation functions
β”œβ”€β”€ params/                                  # Dataset-specific parameter files
β”œβ”€β”€ util/                                    # General utilities
β”‚
└── images/
    └── Tongji_Contactless_Palmprint_Dataset/ # Example dataset folder structure

πŸš€ Getting Started

1. Clone the repository

git clone https://github.com/AngeloUNIMI/PalmSeg.git
cd PalmSeg

2. Prepare the dataset

Place your palmprint images inside the images/ directory, for example:

images/Tongji_Contactless_Palmprint_Dataset/

The default script expects bitmap images:

ext = 'bmp';
dirWorkspace = './images/';

You can modify these values in launch_PalmSeg.m if your images use another extension or folder layout.

3. Select the dataset configuration

PalmSeg uses dataset-specific parameter files stored in params/.

Examples include:

params/params_CASIA_PalmprintV1.m
params/params_IITD_Palmprint_V1.m
params/params_REST_hand_database.m
params/params_Tongji_Contactless_Palmprint_Dataset.m

The main script loads parameters according to the selected dataset name:

run(['./params/params_' dbname '.m']);

4. Run PalmSeg

Open MATLAB in the repository folder and run:

launch_PalmSeg

πŸ“€ Output

For each processed dataset, PalmSeg can generate:

Output Description
SegInfos/ Text files containing segmentation and ROI information
ROIs_possible/ Extracted candidate palmprint ROI images
Results/ Graphic outputs and logs
*_results_graphic.pdf Visual summary of segmentation and ROI extraction results
Log files Per-run processing information

Typical output folders are created under:

images/<dataset_name>/SegInfos/
images/<dataset_name>/ROIs_possible/
Results/<dataset_name>/

πŸ–ΌοΈ Visual Output

When graphic output is enabled, PalmSeg produces visual summaries combining segmentation and ROI extraction results.

Original image  β†’  Segmented hand shape  β†’  Detected ROI  β†’  Saved ROI image

These outputs are useful for quickly verifying whether the segmentation and alignment parameters are appropriate for a specific dataset.


πŸ§ͺ Supported Datasets

PalmSeg includes parameter files for multiple palmprint datasets used in the related research works.

Dataset Notes
CASIA Palmprint Database Contactless palmprint dataset
IITD Palmprint Database Touchless palmprint images
REST Hand Database Hand images for biometric analysis
Tongji Contactless Palmprint Dataset Contactless palmprint images

Dataset download pages:


πŸ”— Related Repository

PalmSeg can be used as a pre-processing and ROI extraction stage for:

PalmNet: Gabor-PCA Convolutional Networks for Touchless Palmprint Recognition

Repository:

https://github.com/AngeloUNIMI/PalmNet

πŸ“š Scientific References

If you use this software, please cite the related works.

@article{genovese2019palmnet,
  author  = {A. Genovese and V. Piuri and K. N. Plataniotis and F. Scotti},
  title   = {PalmNet: Gabor-PCA Convolutional Networks for Touchless Palmprint Recognition},
  journal = {IEEE Transactions on Information Forensics and Security},
  year    = {2019}
}
@inproceedings{genovese2019civemsa,
  author    = {A. Genovese and V. Piuri and K. N. Plataniotis and F. Scotti},
  title     = {Touchless Palmprint Recognition},
  booktitle = {IEEE International Conference on Computational Intelligence and Virtual Environments for Measurement Systems and Applications},
  year      = {2019}
}

πŸ‘₯ Authors

Angelo Genovese, Vincenzo Piuri, and Fabio Scotti
Department of Computer Science
UniversitΓ  degli Studi di Milano, Italy

Konstantinos N. Plataniotis
Department of Electrical Engineering
University of Toronto, Canada


πŸ“„ License

This project is released under the GNU General Public License v3.0.

See the LICENSE file for details.

About

Source code for palmprint segmentation and ROI extraction used in the IEEE TIFS 2019 and IEEE CIVEMSA 2019 papers

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors