Thanks to visit codestin.com
Credit goes to github.com

Skip to content

GW-Wang-thu/StrainNet3D

Repository files navigation

StrainNet-3D

Pytorch implementation of StrainNet-3D.

(Including training codes of SubpixelNet and RefineNet, and the affine-transformation-based 3D displacement calculation workflow)

Introduction

  • A CNN-based 3D displacement calculation method for stereo speckle images. (To realize real-time and high-precision 3D-DIC)
  • Method work flow:The workflow of StrainNet-3D method
  • Simulated stereo speckle images with displacement labels (to train or to evaluate this method) can be found in my another repository Here
  • Core CNN used to calculate subpixel displacement: A light-weight CNN named SubpixelCorrNet (Architecture shows below). The architecture of SubpixelCorrNet
  • For algorithm details and the principles, please see Wang et al., 2022

Requests

  • python38
  • opencv-python (4.4.0 used)
  • numpy (1.22.1 used)
  • torch with cuda (torch1.9.0+cu111)

Run this code

  • Train the networks
    • Run Train_FlowNet.py
    • If you want to train FuseNet, displacement cache file calculated by SubpixelCorrNet should be generated first.
    • If you want to generate your own training dataset, please refer to the Stereo Speckle Generator
  • 2-D displacement (and deformation) calculation
    • Run DispCalculator2D.py, remember to shift the model filepath and the image filepath to your own ones.
    • Strain calculation using gradient filter technique is provided.
  • 3-D displacement (and deformation) calculation
    • Run DispCalculator3D.py, remember to shift the model filepath and the image filepath to your own ones.
    • The calibration parameters and other settings should be set correctly.
    • Simple strain calculation code using gradient filter is provided.

Pre-trained model

  • Pre-trained parameter file of SubpixelCorrNet can be download from Google drive.

Demonstration

  • Comparison of the 3D displacement calculated using StrainNet3D and 3D-DIC of one test set. Comparison of 3D displacement calculated using StrainNet-3D and 3D-DIC
Tabel.1 Comparison of Mean Absolute Error(MAE) of the results (Pixels)

Tabel1

Tabel.2 Comparison of the calculation speed(POI/s)

Tabel2

  • Experimental speckle images calculation in extreme light conditions. experiment calculation

  • Light-changing real-time displacement monitoring demo. The Realtime demo video can be found here RealtimeDemo

Cite this work

@article{WANG2022107184,
title = {StrainNet-3D: Real-time and robust 3-dimensional speckle image correlation using deep learning},
journal = {Optics and Lasers in Engineering},
volume = {158},
pages = {107184},
year = {2022},
issn = {0143-8166},
doi = {https://doi.org/10.1016/j.optlaseng.2022.107184},
url = {https://www.sciencedirect.com/science/article/pii/S0143816622002378},
author = {Guowen Wang and Laibin Zhang and Xuefeng Yao}

About

Pytorch implementation of StrainNet3D

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages