pinna-anthropometry-extraction
Extraction of anthropometric features from pinna depth images
https://github.com/davidefantini/pinna-anthropometry-extraction
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 13 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.3%) to scientific vocabulary
Keywords
Repository
Extraction of anthropometric features from pinna depth images
Basic Info
- Host: GitHub
- Owner: DavideFantini
- License: mit
- Language: MATLAB
- Default Branch: main
- Homepage: https://doi.org/10.5281/zenodo.14338958
- Size: 4.36 MB
Statistics
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
Pinna Anthropometry Extraction
Extraction of anthropometric features from pinna landmarks and depth images. The description of the anthropometric parameters and their automatic measurement is reported in anthropometry_documentation.pdf.
This repository is part of the following paper :
Davide Fantini, Federico Avanzini, Stavros Ntalampiras and Giorgio Presti (2024) "Toward a Novel Set of Pinna Anthropometric Features for Individualizing Head-Related Transfer Functions", In Proceedings of the 21st Sound and Music Computing Conference. Sound and Music Computing Network.
The supplementary research data for the paper are included in this repository are available in the public repository
Tested with Matlab R2023b.
How to use
The script pinnaanthropometryextraction_demo.m provides a simple demonstration of how this repository can be used to obtained a set of pinna anthropometric parameters extracted from a pinna landmarks and range depth images. The script's workflow is straightforward. First, the configuration parameters are loaded in the structure cfg, then the example pinna landmarks and depth images included in the file pinna_demo.mat are loaded. Then, the function get_pinna_anthropometry is called. Finally, in the script the function plot_results.m is called to plot the landmarks and the anthropometry on the pinna range images.
The function get_pinna_anthropometry performs all the operations needed to extract the pinna features from the range image. In the follwing, we describe the inputs and the outputs of the function get_pinna_anthropometry:
INPUT
- REQUIRED
- cfg: this is the structure containing all the configuration parameters for the repository. You can get it by calling the function get_cfg.m. By editing this function, you can act on the behaviour of the code, for example by changing the parameters of the anthropometry measurement.
- pinna_images: pinna depth image(s) from which measure anthropometry. These images must be provided as 3D arrays with shape [# pinna images × height resolution × width resolution].
- landmarks: the coordinates of the $K=205$ pinna landmarks used to measure anthropometry. The provided landmarks must follow the annotation scheme described in the paper (Fantini et al., 2024).
The landmarks can be provided either as a 2D or a 3D array:
- If landmarks is a 2D array of shape [# pinnae × # landmarks * 2], then the 1st dimension represents the number of pinnae, while the 2nd dimension represent the landmarks $x$ and $y$ coordinates in the form ${x1, y1, x2, y2, ..., xK, yK}$ where $K=205$ is the total number of landmarks.
- If landmarks is a 3D array of shape [# pinnae × # landmarks × 2], then the 1st dimension represents the number of pinnae, the 2nd dimension represents the number of landmarks, while the 3rd dimension represents the $x$ and $y$ coordinates.
- OPTIONAL
- xy_scale [default: 1]: scale factor of the $x$ and $y$ coordinates of the range image. The measurements made in $x$ and $y$ coordinates are multiplied by xy_scale to convert them from pixel units to the unit of measurement of your interest (e.g. cm). For example, if in the range images you provides, 1 pixel corresponds to 0.1 cm, setting xy_scale=0.1 convert the anthropometric measurements from pixels unit to centimenters.
- z_scale [default: 1]: scale factor of the $z$ coordinate. The measurements made in z coordinate are multiplied by this factor to convert them from pixel units to the unit of measurement of your interest (e.g. cm).
OUTPUT
- anthropometry: table of shape [# pinna images × # anthropometry] with the measured anthropometry. The columns represent the anthropometric parameters, while the rows represent the pinnae.
- landmarks: landmarks with $x$, $y$ and $z$ coordinates returned as a 3D array of shape [# pinna images × # landmarks X 3 coordinates]. If you provided landmarks in input, the output is the same with the $z$ coordinates values in addition.
- info: struct including information on pinna components
Repository structure
- anthropometry_documentation.pdf: documentation of the pinna anthropometry extraction implemented in this repository
- pinnaimgdemo.mat: mat file including the left and right pinnae range images of the subject with ID 3 in HUTUBS dataset
- scripts
- pinnaanthropometryextraction_demo.m: demo of how the repository works. Execute this script to measure the anthropometry for the pinna depth images in pinnaimgdemo.mat file.
- mesh2image_HUTUBS.m: script used to convert the HUTUBS 3D head meshes into pinna range images
- pinna-anthropometry-extraction
- getpinnaanthropometry.m: core funtion for the extraction of pinna anthropometry
- get_cfg.m: function to get the configuration structure. Modify the variables in this configuration to change the code behavior.
- core: folder of the main functions to extract the pinna anthropometry
- measure_anthropometry.m: function to measure the pinna anthropometry given the landmarks
- getcavityinfo.m: function to extract the information needed for the pinna cavities
- plot: folder of the visualization functions
- plot_results.m: plot the results obtained from anthropometric measurement for the pinna depth image
- plotlandmarkson_images.m: plot the given landmarks on a depth image
- utils: folder of utility functions
How to cite
If you use this code, please cite the following :
bibtex
@inproceedings{fantini2024toward,
title={Toward a Novel Set of Pinna Anthropometric Features for Individualizing Head-Related Transfer Functions},
author={Fantini, Davide and Ntalampiras, Stavros and Presti, Giorgio and Avanzini, Federico},
booktitle={Proceedings of the 21st Sound and Music Computing Conference},
year={2024},
month={July},
organization={Sound and Music Computing Network},
doi={https://doi.org/10.5281/zenodo.14338958}
}
Acknowledgments
This work is part of SONICOM, a project that has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 101017743.
Owner
- Name: Davide Fantini
- Login: DavideFantini
- Kind: user
- Repositories: 1
- Profile: https://github.com/DavideFantini
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Fantini"
given-names: "Davide"
orcid: "https://orcid.org/0000-0003-1332-0890"
- family-names: "Ntalampiras"
given-names: "Stavros"
orcid: "https://orcid.org/0000-0003-3482-9215"
- family-names: "Presti"
given-names: "Giorgio"
orcid: "https://orcid.org/0000-0001-7643-9915"
- family-names: "Avanzini"
given-names: "Federico"
orcid: "https://orcid.org/0000-0002-1257-5878"
title: "pinna-anthropometry-extraction"
url: "https://github.com/DavideFantini/pinna-anthropometry-extraction"
preferred-citation:
type: conference-paper
authors:
- family-names: "Fantini"
given-names: "Davide"
orcid: "https://orcid.org/0000-0003-1332-0890"
- family-names: "Ntalampiras"
given-names: "Stavros"
orcid: "https://orcid.org/0000-0003-3482-9215"
- family-names: "Presti"
given-names: "Giorgio"
orcid: "https://orcid.org/0000-0001-7643-9915"
- family-names: "Avanzini"
given-names: "Federico"
orcid: "https://orcid.org/0000-0002-1257-5878"
title: "Toward a Novel Set of Pinna Anthropometric Features for Individualizing Head-Related Transfer Functions"
conference:
name: "Proceedings of the 21st Sound and Music Computing Conference"
month: 7
year: 2024
organization: "Sound and Music Computing Network"
doi: "https://doi.org/10.5281/zenodo.14338958"
GitHub Events
Total
- Push event: 1
Last Year
- Push event: 1