Git Product home page Git Product logo

hrtf_individualize_dl's Introduction

HRTF Individualization using Deep Learning

Material from paper HRTF Individualization using Deep Learning, Miccini and Spagnol, 2020

UPDATE: This repository if provided for reference only; please check our latest devopments! Take a look at our new paper and source code for a fully-functional HRTF individualization solution.

Structure

  • utils_data.py: a collection of functions for loading and processing data (HRTFs, ear pictures, anthropometric measurements, etc)
  • utils_model.py utils_model_1d.py utils_train.py: a collection of functions for generating and training deep learning models
  • utils_plot.py: a collection of functions for showing the results (latent space visualization, comparison of reconstructed HRTFs or ear pictures, correlation matrices, etc)
  • a series of Jupiter notebooks, constituting the experiments, where all the aforementioned scripts are used:
    • vae_hutubs.ipynb: autoencoding HRTFs (2d elevation-azimuth representation)
    • vae_hutubs_hrtf.ipynb: autoencoding HRTFs (2d frequency-elevation representation)
    • vae_hutubs_gpu1.ipynb: preliminary experiments with autoencoding pinna depth maps
    • vae_hutubs_ears.ipynb: autoencoding pinna depth maps using Inception layers
    • vae_hutubs_chen2019.ipynb: autoencoding individual HRTFs using dense or 1D-convolutional layers
    • vae_hutubs_3d.ipynb: autoencoding HRTFs patches and reconstructing one-hot representation
    • pca_dnn.ipynb: predicting HRTF principal components using anthropometric measurements (k-fold validation)
    • ear_pca_dnn.ipynb: predicting HRTF principal components using anthropometric measurements and principal components from pinna depth maps (k-fold validation)

Instructions

Setup

  • Install conda (an environment and dependency manager for Python)
  • Create environment: conda env create -f environment.yml
  • Run Jupyter: jupyter-lab

Usage

Notebooks can be accessed from the browser at 127.0.0.1:8888. The cells within the notebooks contains precomputed output related to the latest execution. However, each notebook has hyperparameters that can be adjusted. Unfortunately, most notebooks are not entirely polished, presenting unused code, duplicated sections, and various data, reflecting the exploratory and experimental nature of the research.

When attempting to run any of the code, access to the generated datasets is necessary. If needed, the data can be requested by contacting the paper authors.

Riccardo Miccini, 2019-2020

hrtf_individualize_dl's People

Contributors

miccio-dk avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.