Synthesis Images noise detection metrics developed including all approaches using SVD or others compression methods
Jérôme BUISINE b37b2a3e06 Merge branch 'release/v0.5.0' into master | il y a 4 ans | |
---|---|---|
analysis | il y a 4 ans | |
data_processing | il y a 5 ans | |
display | il y a 4 ans | |
generate | il y a 4 ans | |
modules @ 270de3a969 | il y a 5 ans | |
others | il y a 5 ans | |
prediction | il y a 5 ans | |
run | il y a 5 ans | |
simulation | il y a 5 ans | |
.gitignore | il y a 5 ans | |
.gitmodules | il y a 5 ans | |
LICENSE | il y a 5 ans | |
README.md | il y a 5 ans | |
__init__.py | il y a 5 ans | |
custom_config.py | il y a 4 ans | |
data_attributes.py | il y a 4 ans | |
models.py | il y a 5 ans | |
requirements.txt | il y a 6 ans | |
train_keras_svd.py | il y a 4 ans | |
train_model.py | il y a 4 ans |
Project developed during thesis in order to detect noise (perceptual noise) generated during rendering process using SVM models and attributes (features) extracted from an image.
pip install -r requirements.txt
For noise detection, many features are available:
Generate all needed data for each features (which requires the whole dataset. In order to get it, you need to contact us).
python generate/generate_all_data.py --feature all
You can also specify feature you want to compute and image step to avoid some images:
python generate/generate_all_data.py --feature mscn --step 50
pip install -r requirements.txt
You have to create a symbolic link to your own database which respects this structure:
Create your symbolic link:
ln -s /path/to/your/data dataset
modules/config/global_config.py
run/runAll_*.sh
script.model_comparisons.csv
file used for store models performance.Remark: Note here that all python script have --help command.
python generate_data_model.py --help
Parameters explained:
data
folder.This is an example of how to train a model
python train_model.py --data 'data/xxxx' --output 'model_file_to_save' --choice 'model_choice'
Expected values for the choice parameter are ['svm_model', 'ensemble_model', 'ensemble_model_v2'].
Now we have a model trained, we can use it with an image as input:
python prediction/predict_noisy_image_svd.py --image path/to/image.png --interval "x,x" --model saved_models/xxxxxx.joblib --feature 'lab' --mode 'svdn' --custom 'min_max_filename'
The model will return only 0 or 1:
All SVD features developed need:
custom_config.py
file.data_attributes.py
file.Now we have a model trained, we can use it with an image as input:
python prediction_scene.py --data path/to/xxxx.csv --model saved_model/xxxx.joblib --output xxxxx --scene xxxx
Remark: scene parameter expected need to be the correct name of the Scene.
All scripts with names display/display_*.py are used to display data information or results.
Just use --help option to get more information.
All scripts named prediction/predict_seuil_expe*.py are used to simulate model prediction during rendering process. Do not forget the custom parameter filename if necessary.
Once you have simulation done. Checkout your threshold_map/%MODEL_NAME%/simulation_curves_zones_*/ folder and use it with help of display_simulation_curves.py script.