Syntesis images noise detection using CNN approach

Jerome Buisine 153ef98eae Update code with use of IPFML package 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
.gitignore 67c2a0d3a5 Creation of modules for models il y a 5 ans
README.md 394af0dcca Generate database script updated il y a 5 ans
RESULTS.md 2c8ad26c6b Add of model using SVD of images il y a 5 ans
classification_cnn_keras.py 153ef98eae Update code with use of IPFML package il y a 5 ans
classification_cnn_keras_cross_validation.py 153ef98eae Update code with use of IPFML package il y a 5 ans
classification_cnn_keras_svd.py 153ef98eae Update code with use of IPFML package il y a 5 ans
classification_cnn_keras_svd_img.py 153ef98eae Update code with use of IPFML package 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 153ef98eae Update code with use of IPFML package il y a 5 ans
preprocessing_functions.py 153ef98eae Update code with use of IPFML package il y a 5 ans
requirements.txt 153ef98eae Update code with use of IPFML package il y a 5 ans
run.sh 153ef98eae Update code with use of IPFML package 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 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

How to contribute

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