Photoelastic decoder

Experimental stress measurement using CNNs

Photoelasticity is well-known technique for measuring the principal stresses in a specimen spatially. If you ever help up a transparent plastic spoon against the sun and started twisting it you will notice rainbow like patterns in the spoon. The stresses in transparent material such as the Polystyrene in your spoon alter the wavelength of light causing this patterns to appear. These patterns can be interpreted to estimate the stresses in the spoon and estimate how close it is to breaking.

In experimental settings, an experienced technician interprets these patterns and translates them into stress. This makes this method a bit unaccessible to non-specialists. I thought about using convolution neural networks (CNNs) to map photoelastic fringes to stress maps. The training data for this algorithm is generated from known analytical stress profiles. I show an example below for a 3 point beam bend test.

The measured intensity I of light is given in terms of celerity c, thickness of material h, principal stress difference σ1 - σ2, and wavelength λ \begin{equation*} I = \sin^2\left(\dfrac{ch\pi(\sigma_1-\sigma_2)}{\lambda}\right). \end{equation*} The top image shows the principal stress difference σ1 - σ2, while the bottom image shows I. Solving for σ1 - σ2 is not straight forward because of the sin2 term.

  

This is a work in progress and the code and repository will be made publicly available once I have implemented the CNN decoder.

open source code