Syntesis images noise detection using CNN approach
Jérôme BUISINE 5726eebf5e Merge branch 'release/v0.2.8' | il y a 5 ans | |
---|---|---|
display | il y a 5 ans | |
generate | il y a 5 ans | |
models | il y a 5 ans | |
modules @ 283a56becc | il y a 5 ans | |
prediction | 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 | |
cnn_models.py | il y a 5 ans | |
custom_config.py | il y a 5 ans | |
generate_symlinks.sh | il y a 5 ans | |
oar.example.sh | il y a 5 ans | |
prediction_model.py | il y a 5 ans | |
requirements.txt | il y a 5 ans | |
train_model.py | il y a 5 ans |
git clone --recursive https://github.com/prise-3d/Thesis-NoiseDetection-CNN.git
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.Generate reconstructed data from specific method of reconstruction (run only once time or clean data folder before):
python generate/generate_reconstructed_data.py -h
Generate custom dataset from one reconstructed method or multiples (implemented later)
python generate/generate_dataset.py -h
List of expected parameter by reconstruction method:
Example:
python generate/generate_dataset.py --output data/output_data_filename --features "svd_reconstruction, ipca_reconstruction, fast_ica_reconstruction" --renderer "maxwell" --scenes "A, D, G, H" --params "100, 200 :: 50, 10 :: 50" --nb_zones 10 --random 1
Then, train model using your custom dataset:
python train_model.py --data data/custom_dataset --output output_model_name
Now we have a model trained, we can use it with an image as input:
python prediction/predict_noisy_image.py --image path/to/image.png --model saved_models/xxxxxx.json --features 'svd_reconstruction' --params '100, 200'
The model will return only 0 or 1:
All scripts named prediction/predict_seuil_expe*.py are used to simulate model prediction during rendering process.
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.
The oar.example.sh
is an example of script to run in OAR platform.
oarsub -S oar.sh
Check your JOB_ID
oarstat
Note: Not forget to create symbolic link where it's necessary to logs results
ln -s /where/to/store/you/data data
ln -s /where/to/store/you/results/ results
ln -s /where/to/store/you/models_info models_info
ln -s /where/to/store/you/saved_models saved_models
or simply use this script:
bash generate_symlinks.sh /where/to/store/you