RealPi2dDIC

A low-cost and open-source approach to in-situ 2D DIC applications


Digital Image Correlation (DIC) is a non-contact optical technique that can be used to monitor the shape deformation and motion of rigid objects. Here we present RealPi2dDIC, a Python based open source real time DIC software, which provides a solution to the real time DIC applications using a very low-cost and mobile hardware interface. It can effectively compute in-plane full-field surface displacement and strain to sub-pixel accuracy by continuously capturing images of any rigid body in motion using a Pi camera module. This program is simple to use and can come up with highly accurate DIC results.

The application of Real Time DIC is limitless. To express it in a nutshell, this prevalent method can be used to get full field displacement and strain data of any rigid structure under tensile or compressive loading. It can be used in:

It also has the potential to be the viable alternative of manual inspection techniques of large civil engineering structures like buildings and power generation infrastructures and this list goes on.

As, the computation of gradual displacement from image data requires enormous amount of computational capability of the hardware interface, typically commercial in-situ DIC measurement equipment are very costly. Mostly a number of commercial vendors provide such services which are not relatively affordable for most research groups and companies. Hereby, we have developed this low-cost approach to in-situ DIC, which uses a Pi camera module v2 (30$) and a Raspberry Pi system (35$) to capture images and process them in an efficient algorithm to produce quality in-plane DIC measurements. This can be used in any indoor or outdoor applications and can be controlled remotely, thanks to the form factor of Raspberry Pi and its camera module. To add to its value, the program can be developed more to comply with nVidia Jetson NX or similar single board computers and Digital SLR cameras for faster computation.

How to use?

Surface Preparation

The basic operation of DIC is nothing but tracking a unique pattern, namely Speckle Pattern, on the object surface. Creation of speckle pattern is easy but it has to be good as the results significantly depend on the quality of this pattern. In order to provide unique information to track every data point or subset, the pattern should be non-repetitive, isotropic and of high contrast. The following qualities- the pattern must have:

Bad Pattern Types

Good Pattern Types

Procedure

Speckle Pattern can be applied in a number of ways. In our experiment, we have used Rust Oleum black spray on white spray print over the surface. This is one of the easiest and most used methods to apply speckle patterns, mostly in small to intermediate scale applications. It is a good choice for metallic, polymeric or composite materials specimens.

In the following picture, you can see the speckle pattern on an Aluminum specimen.

0

Considerations regarding applying spray paints include:

For much smaller scale samples, toner powder, carbon black or graphite powder can be used. For very large-scale applications, like civil structures, one can literally print each dot and the dots can be huge compared to the position of the camera and size of the structure. You can Know more about the types of speckle patterns and application here provided by Correlated Solutions Ltd.

Hardware Setup

RealPi2dDIC application requires two specific hardware:

Schematic Diagram

Here a schematic diagram of a quasi static test of a flat Aluminum dog-bone shaped specimen incorporated with RealPi2dDIC setup is shown:

Actual Setup

actual2

We have attached the Pi Camera module to the MTS Testing Equipment as shown in the above picture. An external light source is used instead of the room light for better exposure only on top of the specimen and to have less environmental noise. The camera should be parallel to the plane of the specimen to get accurate results. Any out of plane motion should be avoided.

Software Setup

Install Modules

RealPi2dDIC is based on Python3. You have to install Python3 if it is not installed already (instructions) . It also requires the following modules:

Module NameInstallation Instructions
numpyClick Here
opencv-pythonClick Here
matplotlibClick Here
scipyClick Here
picameraClick Here

Application Instructions

After installing all of the modules you can run RealPi2dDIC. To run it, you need to clone it from the GitHub Repository or you can download from here. To clone the repository from GitHub, you need Git.

From your raspberry pi command line:

Step 1

At first give a name to a folder where all the raw images and result files will be saved.

DeepinScreenshot_select-area_20200813144858

 

Step 2

A camera preview screen and a window consisting the image capture parameters will appear. Select the best settings based on your lighting conditions. Then press c to confirm. Then it will capture the reference image and convert it to hsv mode.

DeepinScreenshot_select-area_20200813145112

Recommended settings:

Step 3

In this step, you have to draw a rectangular Region of Interest on the specimen surface. If you want to reset the area and select it again press r. Then press c to confirm.

Fig_roi

The software will divide the surface in small mesh grids (10 pixels x10 pixels)*. After you press any button the application will start collecting and processing the image data. It will plot in-situ full field strain on the reference image until you stop the process. To stop the process, press ctrl+c.

All the raw images, raw calculation data and strain field plots will be stored in the folder you selected which can be used for post processing.

*you can change this size inside the source code

Output Example

examplee2

Figure: In-situ true strain field of a specimen at different time of a quasi-static test (a. Transverse, b. Longitudinal), c. Specimen breaks in the place where the strain is maximum.

Demonstration Video

Documentation & Theory

Documentation can be found here. The theory and algorithm of the code is explained in a journal article (to be submitted for review soon)

Contributing

You can fork the RealPi2dDIC repo, develop new algorithms and send us a pull request. To ensure great software quality please follow the following guidelines:

Authors

Acknowledgements

This work has been carried out at the Institute of Predictive Performance Methodologies (IPPM), the University of Texas at Arlington Research Institute (UTARI). The authors acknowledge the support from IPPM students and staff for their enormous support throughout the development of the application.

Thanks to the other open source DIC projects like pydic, muDIC, PReDIC py2dic, DICe, etc. for their intense effort in developing different algorithms for DIC applications. These have supported primarily to develop the overall concept and algorithm of RealPi2dDIC.

Support

For any bug reporting and suggestions, please reach out to parthapratim.das@mavs.uta.edu or mdrassel.raihan@uta.edu

License

This software is licensed under the MIT License. See LICENSE.md for more details.