Analysis of different noise applied on synthesis images using SVD compression

Jérôme BUISINE b8d3056b54 Merge tag 'v0.0.1' into develop il y a 5 ans
generated 0364eb7a2f Display svd values from data threshold file il y a 5 ans
images 4d8ecac01e Update of documentation; Update of noise displayed il y a 5 ans
modules b466016c81 Update of generation curves script il y a 5 ans
.gitignore 0364eb7a2f Display svd values from data threshold file il y a 5 ans
LICENSE 70e882f053 Initial commit il y a 5 ans
README.md 6f07e1ee53 Add of svd threshold curves script generation il y a 5 ans
generate_all_data.py 1706b563ef Update of projects caused by new version of ipfml il y a 5 ans
generate_all_noise.sh 1706b563ef Update of projects caused by new version of ipfml il y a 5 ans
generate_data_model_random.py 1706b563ef Update of projects caused by new version of ipfml il y a 5 ans
generate_noise_all_curves.sh 1706b563ef Update of projects caused by new version of ipfml il y a 5 ans
noise_computation.py b9f38d55fd Visualization scripts updated il y a 5 ans
noise_svd_tend_visualization.py 6f07e1ee53 Add of svd threshold curves script generation il y a 5 ans
noise_svd_threshold.py 6f07e1ee53 Add of svd threshold curves script generation il y a 5 ans
noise_svd_visualization.py 6f07e1ee53 Add of svd threshold curves script generation il y a 5 ans
requirements.txt 7c4b7a1ad2 First scripts of project added il y a 5 ans

README.md

NoiseAnalysis

Description

Analysis of different noises using singular values vector obtained from SVD compression.

Noise list :

  • cauchy
  • gaussian
  • laplace
  • log_normal
  • mut_white
  • salt_pepper
  • white

Generate all data

Step 1.

First of all you need to generate all noise of each images in /generated folder.

bash generate_all_noise.sh

Step 2.

Once you had generate all noisy images from synthesis scenes, you need to extract features (SVD singular values) using different metrics.

python generate_all_data.py --metric all --step 40 --color 0
python generate_all_data.py --metric all --step 40 --color 1

Step 3.

You can display curves of each noise for each scene :

bash generate_noise_all_curves.sh

This will give you some information about SVD singular values obtained from noise applied synthesis images. All these curves are available into curves_pictures folder after running script.

Scripts

noise_computation.py

This script is used to compute all noise for each image in the images folder.

python noise_computation.py --noise salt_pepper --image path/to/image.png --n 1000 --identical 1 --output image_salt_pepper.png --all 1 --p 0.1

Parameters :

  • noise : specify the noise to use (one available from the list above)
  • image : source path of the image we want to add noise
  • n : level of noise to use
  • identical : same noise or not for each chanel in case of RGB image
  • step : interval of identifier between each image kept
  • output : output image name wanted
  • all : generate all level noise from 1 to n
  • p : optional parameter only used for salt and pepper noise

noise_svd_visualization.py

This script is used to display noise for each level of noise of image.

python noise_svd_visualization.py  --prefix generated/${image}/${noise} --metric lab --n 1000 --mode svdne --interval "0, 200" --step 40 --norm 0 --ylim "0, 0.05"

Parameters :

  • prefix : specify the folder of image for specific noise
  • metric : metric choice to compute in order to extract SVD data
  • n : limit identifier to use for image scene
  • mode : level of normalization ['svd', 'svdn', 'svdne']
  • interval : features to display from singular values vector
  • step : interval of noise to keep for display
  • norm : normalization between only values kept from interval
  • color : specify if we use 3 chanels with different noise or with same noise
  • ylim : ylim to use in order to display curves

noise_svd_tend_visualization.py

Display information about tend of svd values for specific scene

noise_svd_threshold.py

Display threshold information about scene for each noise perceived. It's necessary to have in scene folder one of this file :

  • threshold_data_mean.csv
  • threshold_data_median.csv

These files contains threshold information about a noise such that each row are written like that :

  • ;;