Official implementation of "Improving and Evaluating Machine Learning Methods for Forensic Shoeprint Matching".
Try it out at SoleMate.streamlit.app
Before you begin, make sure you have the following software installed:
- Clone the repo
git clone https://github.com/saatvikkher/SoleMate
- Install required dependencies
conda create --name solemate --file requirements.txt
- Activate the environment
conda activate solemate
Create Soles
Q = Sole("path/to/image")
K = Sole("path/to/image")
Q.plot()
K.plot()
Create a SolePair
pair = SolePair(Q, K, mated=True)
pair.plot()
Align a SolePair
sc = SolePairCompare(pair,
icp_downsample_rates=[0.05],
shift_up=True,
shift_down=True,
shift_left=True,
shift_right=True,
two_way=True) # icp is called here
pair.plot(aligned=True)
Generate metrics
sc.min_dist() # Calculate Euclidean Distance metrics
sc.percent_overlap() # Calculate Percent Overlap metrics
sc.pc_metrics() # Calculate Phase-correlation metrics such as peak value, MSE, correlation coefficient
sc.jaccard_index() # Jaccard similarity coefficient
sc.cluster_metrics() # Clustering-based metrics
sc.pc_metrics() # Phase Correlation metrics
Developed and maintained by Simon Angoluan, Divij Jain, Saatvik Kher, Lena Liang, Yufeng Wu, and Ashley Zheng.
We conducted our research in collaboration with the Center for Statistics and Applications in Forensic Evidence.