Analysis of different noise applied on synthesis images using SVD compression

Jérôme BUISINE a878769b4f Merge branch 'release/v0.0.4' 10 months ago
analysis b976361670 Use of modules dependency 10 months ago
display b976361670 Use of modules dependency 10 months ago
generate b976361670 Use of modules dependency 10 months ago
generated 0364eb7a2f Display svd values from data threshold file 1 year ago
images 4d8ecac01e Update of documentation; Update of noise displayed 1 year ago
modules @ d5de038bdc f1da2fa553 Add of modules dependency to project 10 months ago
.gitignore ed96ae9e32 Update of git cache 10 months ago
.gitmodules f1da2fa553 Add of modules dependency to project 10 months ago
LICENSE 70e882f053 Initial commit 1 year ago
README.md b976361670 Use of modules dependency 10 months ago
custom_config.py b976361670 Use of modules dependency 10 months ago
data_attributes.py b976361670 Use of modules dependency 10 months ago
generate_all_noise.sh b976361670 Use of modules dependency 10 months ago
generate_noise_all_curves.sh b976361670 Use of modules dependency 10 months ago
noise_computation.py b976361670 Use of modules dependency 10 months ago
requirements.txt 7c4b7a1ad2 First scripts of project added 1 year ago

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 :

  • noise;threshold;color(0, 1)

LICENSE

The MIT license