This is the MATLAB implementation from our BMVC 2017 Cross-Domain Forensic Shoeprint Matching and arXiv Cross-Domain Image Matching with Deep Feature Maps submissions.
- Clone this repo:
git clone --recurse-submodules https://github.com/bkong/MCNCC
- Follow the instructions at http://www.vlfeat.org/matconvnet/install/ to install MatConvNet.
- Download the dataset (e.g., fid300)
bash scripts/download_dataset.sh fid300
- Startup MATLAB
matlab
- Extract the ResNet-50 res2bx features by running the appropriate feature extraction function
>> gen_resnetfeats_fid300(2)
- Compute the MCNCC scores
>> alignment_search_eval_fid300(1:300, 2)
1:300
specifies which cropped crime scene images to evaluate against the reference images of FID-300. Because this is a slow process, you can evaluate just a subset of the crime scene images. Alternatively, you can manually distribute the workload by specifying different subsets on different machines/GPUs to accelerate the task.
- Generate a CMC plot comparing the MCNCC against the baselines
>> baseline_comparison_cmc_fid(2)
- Download the dataset (e.g., facades)
bash scripts/download_dataset.sh facades
- Startup MATLAB
matlab
- Extract the ResNet-50 res2bx features by running the appropriate feature extraction function
>> gen_resnetfeats_facades(2)
- Compute the MCNCC scores
>> no_search_eval_facades(2, 'mcncc')
'mcncc'
can be changed to any of these values {'cosine', 'euclidean', '3dncc', 'mcncc'}
- Generate a CMC plot comparing the four correlation/distance metrics on the training set
>> baseline_comparison_cmc_facades(2, true)
The second parameter can be set to false
to generate a CMC plot on the testing set.
If you use this code for your research, please cite our paper.
@inproceedings{KongSRF_BMVC_2017,
author = "Kong, Bailey and Supan{\vc}i{\vc}, James Steven and Ramanan, Deva and Fowlkes, Charless C.",
title = "Cross-Domain Forensic Shoeprint Matching",
booktitle = "British Machine Vision Conference (BMVC)",
year = "2017"
}