Physics-based regularization (PBR) using generative adversarial networks
Code is adapted from Jason Brownlee's blog post on using Pix2Pix GANs to translate satellite images to Google Maps images: https://machinelearningmastery.com/how-to-develop-a-pix2pix-gan-for-image-to-image-translation/
This code translates a high-elastic contrast composite image to its corresponding (normalized) 2D stress fields in the 11, 12, and 22 directions. Various physics-based regularization terms enforcing stress equilibrium are incorporated into either the generator or discriminator loss. This code was used to study the effect of different learning rates and loss weights on different loss functions, so you will notice that each implementation has different learning rate and loss weight values. The model variation across different training sessions for the same implementation was also studied using this code.
The baseline method using the original Pix2Pix objective, with an L2-regularization instead of L1:
All regularization methods are enforcing stress equilibrium defined by the divergence of stress,
Add the divergence of generated stress fields like a regularization term to the generator loss. The model is penalized if it deviates from zero divergence.
The divergence from the dataset is not exactly zero divergence but converges to a value very close to zero. The idea here is to get the model to converge to a similar stress equilibrium solution similar to that of the training dataset. The root-mean-square (RMS) of the divergence field is evaluated for both target and generated stress fields and compared through the difference with a
Similar to the
With
and the final objective becomes
Tensorflow=2.6.2
Keras=2.6.0
matplotlib=3.6.2
numpy=1.19.5
See the requirements.txt file for the minimum packages needed to recreate the Python environment, or the requirements_full_env.yml for an exhaustive list of packages used.
The train, test, and validation are available in the link below. The datasets were generated using EVP-FFT. Each train (~450 MB), validation (~90 MB), and test (~90 MB) are in a .npz file format. The best performing models from the different training sessions for each method are also available. A separate study with 30 different training sessions for each method was done, where the best, median, and worst performing models for each method are avaible in the same link.
https://buckeyemailosu-my.sharepoint.com/:f:/g/personal/lenau_1_buckeyemail_osu_edu/EuVrFbk_eglNj8vIRJF2XwUB57Bc1G5r-FoqqnfJg7HgrQ?e=3zWfsW