Syntesis images noise detection using CNN approach

jbuisine f1f448e312 Merge tag 'v0.0.6' into develop il y a 5 ans
img_train a22b32b71a First CNN model version il y a 5 ans
img_validation a22b32b71a First CNN model version il y a 5 ans
modules 67c2a0d3a5 Creation of modules for models il y a 5 ans
.gitignore 67c2a0d3a5 Creation of modules for models il y a 5 ans
README.md c1bfd6ee47 Update of generate dataset and add of config file il y a 5 ans
RESULTS.md 2c8ad26c6b Add of model using SVD of images il y a 5 ans
classification_cnn_keras.py c1bfd6ee47 Update of generate dataset and add of config file il y a 5 ans
classification_cnn_keras_cross_validation.py c1bfd6ee47 Update of generate dataset and add of config file il y a 5 ans
classification_cnn_keras_svd.py c1bfd6ee47 Update of generate dataset and add of config file il y a 5 ans
config.json c1bfd6ee47 Update of generate dataset and add of config file il y a 5 ans
generate_dataset.py c1bfd6ee47 Update of generate dataset and add of config file il y a 5 ans
requirements.txt 2c8ad26c6b Add of model using SVD of images il y a 5 ans

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 variables.

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

Note that the image input size need to change in you used specific size for your croped images.

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

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

How to contribute

This git project uses git-flow implementation. You are free to contribute to it.