Skip to content

Deriving saltwater concentrations from the values of light intensity is a long-established image processing practice in laboratory scale investigations of saline intrusion.

License

Notifications You must be signed in to change notification settings

GeorgiosEtsias/Computer-Vision-MATLAB-Sandbox-Images

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Application of computer vision on laboratory sandbox investigations

Table of contents

Citing this work

This project is part of the Saline Intrusion in Coastal Aquifers (SALINA) research project. Data acquisition and analysis was conducted in Queen’s University Belfast (2019-2020). Funding was provided by EPSRC Standard Research (Grant No. EP/R019258/1).

If you use Computer-Vision-Sandbox-Images as part of your workflow in a scientific publication, please consider citing the repository with the following DOI:

Etsias, G.; Hamill, G.A.; Benner, E.M.; Águila, J.F.; McDonnell, M.C.; Flynn, R.; Ahmed, A.A. Optimizing Laboratory Investigations of Saline Intrusion by Incorporating Machine Learning Techniques. Water 2020, 12, 2996. DOI: 10.3390/w12112996.

Compatibility

The algorithms of this repository utilize functions present in the following MATLAB toolboxes: Deep Learning Toolbox, Global Optimization Toolbox, Image Processing Toolbox, Statistics and Machine Learning Toolbox, Parallel Computing Toolbox, Optimization Toolbox

Project overview

Deriving saltwater concentrations from the values of light intensity is a long-established image processing practice in laboratory scale investigations of saline intrusion. The current repository presents a novel methodology that employs the predictive ability of machine learning algorithms in order to determine saltwater concentration fields. The proposed approach consists of three distinct parts, image pre-processing, ground profile classification (bead structure recognition) and saltwater field generation (regression). It minimizes the need for aquifer-specific calibrations, significantly shortening the experimental procedure by up to 50% of the time required.

A detailed description of the project and its individual components can be found here.

alt text A graphical outline of the investigation

Image pre-processing

Current part filters out the impact of back lighting in the experimental images by formulating a novel variable named Mean Homogenization Factor. This error filtering procedure significantly helps neural training in the next stages of the investigation.

Scripts: MeanHomoFactorCalculator.m

Datasets: subset1.mat, subset2.mat, subset3.mat, subset4.mat

Classification

This part derives the heterogeneous structure (strata) of the test aquifers by conducting classification analysis on freshwater-only test images.

Scripts: ClassificationTrainingData.m (prepares data for neural training),

ANNClassifiationGenerator.m (trains on parallel a deep classification ANN)

Data: subset4.mat (used as the training dataset, containing 3 freshater-only aquifer images, one for every utilized bead size)

Necessary variables: MeanHomofactorRGB.mat derived from the execution of MeanHomoFactorCalculator.m

Scripts: ClassificationData.m (prepares data for testing),

ANNPrediction.m (executes the neural prediction),

ANNPredictionProbability.m (executes the neural prediction while further post-processing it to get optimum results)

Data: ANNclassification.mat (pre-trained deep classificstion neural network), testdataset.mat (3 stratified test aquifers)

Necessary variables: MeanHomofactorRGB.mat derived from the execution of MeanHomoFactorCalculator.m

Regression

This part is executed after the classification analysis and it derives the saltwater concnentration fields in the investigated test aquifers.

Scripts: RegressionTrainingData.m (prepares data for neural training),

ANNTrainingRegression.m (trains on parallel a regression ANN)

Data: Cal780G.mat, Cal1090G.mat, Cal1325G.mat (green (G) light intensity values for each one of the utilized bead sizes, each subset includes the 8 calibration concentration images)

Scripts: RegressionTestData.m (prepares data for testing),

ANNPredictionRegression.m (executes the neural prediction),

Data: ANNregression.mat (pre-trained regression neural network),

Str10907801090.mat (aquifer heterogenous structure derived from the classification analysis of the previous section),

Layered3SW0.mat, Layered3SW100.mat, Layered3Test1.mat (Green (G) light instensity values of saline intrusion test images in a heterogeneous aquifer)

Necessary variables: MeanHomofactorRGB.mat derived from the execution of MeanHomoFactorCalculator.m

This part determines the optimum combination between the Perfect C=0% and Predect C=100% predictions generated by the ANN in the previous section.

Scripts: GeneticAlgorithmSWCombination.m (main script executing the genetic algorithm iotimization),

ObjectiveSWcombination.m (the objective function that was optimmized),

gaplotbestcustom.m (ploting function)

Data: PredictionC0.m, PredictionC100.m (ANN prediction results for the 24 calibration images,corresponding to 3 homogeneous aquifers),

RealSW,mat (the actual calibration concentration of the 24 images, used to evaluate the preformance of the neural prediction)

Common error

When neural training using relatively big datasets (similar to the ones in this repository) is attempted, MATLAB might return an out-of-memory error.

In the conference paper titled 'The effect of colour depth and image resolution on laboratory scale study of aquifer saltwater intrusion' our research team proved that in the laboratory studies of saltwater intrusion, images of reduced dimension can still recreate high quality saltwater concentration fields. The imeresize.m built in MATLAB function is an easy way of modifying the available datasets.

About

Deriving saltwater concentrations from the values of light intensity is a long-established image processing practice in laboratory scale investigations of saline intrusion.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages