Syntesis images noise detection using CNN approach

Jérôme BUISINE 2f351b0e9a Merge tag 'v0.0.8' into develop 2 years ago
img_train a22b32b71a First CNN model version 2 years ago
img_validation a22b32b71a First CNN model version 2 years ago
.gitignore 67c2a0d3a5 Creation of modules for models 2 years ago
LICENSE.md 0c40621cc5 Update of documentation 2 years ago
README.md 0c40621cc5 Update of documentation 2 years ago
RESULTS.md 2c8ad26c6b Add of model using SVD of images 2 years ago
classification_cnn_keras.py 153ef98eae Update code with use of IPFML package 2 years ago
classification_cnn_keras_cross_validation.py 0c40621cc5 Update of documentation 2 years ago
classification_cnn_keras_svd.py 153ef98eae Update code with use of IPFML package 2 years ago
classification_cnn_keras_svd_img.py 153ef98eae Update code with use of IPFML package 2 years ago
config.json c1bfd6ee47 Update of generate dataset and add of config file 2 years ago
generate_dataset.py 0c40621cc5 Update of documentation 2 years ago
preprocessing_functions.py 153ef98eae Update code with use of IPFML package 2 years ago
requirements.txt 153ef98eae Update code with use of IPFML package 2 years ago
run.sh 153ef98eae Update code with use of IPFML package 2 years ago

README.md

Noise detection project

Requirements

pip install -r requirements.txt

How to use

Generate dataset (run only once time or clean data folder before):

python generate_dataset.py

It will split scenes and generate all data you need for your neural network. You can specify the number of sub images you want in the script by modifying _NUMBER_SUBIMAGES variable or using parameter.

python generate_dataset.py --nb xxxx

There are 3 kinds of Neural Networks:

  • classification_cnn_keras.py: based on cropped images and do convolution
  • classification_cnn_keras_cross_validation.py: based on cropped images and do convolution. Data are randomly split for training
  • classification_cnn_keras_svd.py: based on svd metrics of image

After your built your neural network in classification_cnn_keras.py, you just have to run it:

python classification_cnn_keras_svd.py --directory xxxx --output xxxxx --batch_size xx --epochs xx --img xx (or --image_width xx --img_height xx)

A config file in json is available and keeps in memory all image sizes available.

Modules

This project contains modules:

  • modules/image_metrics: where all computed metrics function are developed
  • modules/model_helper: contains helpful function to save or display model information and performance

All these modules will be enhanced during development of the project

License

MIT