Final project for ECE251C: Filter banks and wavelets.
- Study and implement the bilateral filter, multiresolution bilateral filter, guided filter.
- Compare the image denoising and edge-preserving performance of the above algorithms, by peak signal to noise ratio (PSNR) and structural similarity (SSIM) index. (SIDD dataset)
- Further compare the feature preserving performance by comparing the feature detection and matching result before and after denoising using SIFT. The metric is repeatability and homography estimation on Hpatches benchmark dataset.
- download SIDD small sRGB from ftp://sidd_user:[email protected]/SIDD_Small_sRGB_Only.zip
- run 'demo_filters.py' to see result on one patch
python demo_filters.py # run on an example image
- run 'tune_filters_sidd.py' to tune parameters on 40 images
- run 'test_filters_sidd.py' to test filters on SIDD
- GPU
- need a gpu to run (not work on pure cpu version)
- Environments
- python 3.6, pytorch >= 0.4.1
- conda create
conda env create -f environment.yml # env name: py36-imgdn
- use pip
conda create --name py36-imgdn python=3.6
conda activate py36-imgdn
pip install -r requirements.txt
- download HPatches
- HPatches link
- Please put the dataset under
datasets/
.
`-- datasets/
| |-- HPatches
| | |-- i_ajuntament
| | | ...
`-- ...
- set
config
file.
python export_classical.py export_descriptor configs/example_config.yaml sift_test_small
python evaluation.py <path to npz files> [-r, --repeatibility | -o, --outputImg | -homo, --homography ]
python evaluation.py logs/sift_test_small/predictions -r -homo
- Do export, then evaluate the prediction.
./run_export.sh
# check help
python run_eval_good.py -h
- Change the parameters from
sequence_info.get_sequences
.- set
['exp_name', 'param', mode, 'filter', filter_d]
.
- set
- Run for collecting samples
python run_eval_good.py test_0330 --dataset hpatches --model sift --runEval
- Check output and check exist
python run_eval_good.py test_0330 --dataset hpatches --model sift -co -ce
Please refer to final_report.pdf
and presentation.pdf
.
This implementation is developed by Yigian Wang and You-Yi Jau.