Git Product home page Git Product logo

nah-khcnn's Introduction

A Physics-Informed Neural Network Approach for Nearfield Acoustic Holography

Repository of "A Physics-Informed Neural Network Approach for Nearfield Acoustic Holography"

M. Olivieri, M. Pezzoli, F. Antonacci, A. Sarti

MDPI, Sensors, 2021
Special Issue in "Audio Signal Processing for Sensing Technologies"

In this manuscript we describe a novel methodology for Nearfield Acoustic Holography (NAH). The proposed technique is based on Convolutional Neural Networks, with an autoencoder archictecure, to reconstruct the pressure and velocity fields on the surface of the vibrating structure using the sampled pressure soundfield on the holographic plane as input. The loss function used for training the network is based on a combination of two components. The first component is the error in the reconstructed velocity. The second component is the error between the sound pressure on the holographic plane and its estimate obtained from forward propagating the pressure and velocity fields on the structure through the Kirchhoff-Helmholtz integral, thus bringing some knowledge about the physics of the process under study into the estimation algorithm. Due to the explicit presence of the Kirchhoff-Helmholtz integral in the loss function, we name the proposed technique as Kirchhoff-Helmholtz-based Convolutional Neural Network, KHCNN. KHCNN has been tested on two large datasets of rectangular plates (dataset released) and violin shells. Results show that it attains a very good accuracy, with a gain in the NMSE of the estimated velocity field that can top 10 dB with respect to state-of-the-art techniques. The same trend is observed if the Normalized Cross Correlation is used as a metric.

Proposed architecture

alt text Overall scheme of the proposed KHCNN model. The CNN architecture (yellow block) predicts the real and imaginary parts of Ps and V (stacked in two channels) from the input Ph. The two outputs are then propagated with the KH model in order to obtain the estimate of Ph. A proper loss function is built on top of the velocity ground truth and the pressure at the hologram.

About the code

The repo code is structured in the following folders:

├── src                         # code
│   ├── network_module              
│   │   ├── cnn_models.py
│   │   ├── kh_discretisation_tf.py
│   │   └── khcnn_network.py
│   ├── test_module              
│   │   ├── plot_results.py
│   │   └── test_kh_rec.py      # main
│   └── utils
│       ├── data_processing.py
│       ├── metrics.py
│       └── params.py           # initial parameters
├── data
│   ├── rectangular_plate              
│   │   └── test_rec.mat        # examples of rectangular plate data
│   └── weights
│       ├── khcnn_rec_1024.h5   # trained weights for 1024 P_h input points
│       └── khcnn_rec_64.h5     # trained weights for 64 P_h input points
└── images
    └── KHCNN_architecture.png                     

nah-khcnn's People

Contributors

marcoolly 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.