Skip to content

saatvikkher/SoleMate

Repository files navigation

Logo

SoleMate

Official implementation of "Improving and Evaluating Machine Learning Methods for Forensic Shoeprint Matching"

Try it out at solemate.streamlit.app

Getting Started

See demo.ipynb for a pipeline walkthrough.

Prerequisites

Before you begin, make sure you have the following software installed:

Installation

  1. Clone the repo
    git clone https://github.com/saatvikkher/SoleMate.git
  2. Install required dependencies
    conda create --name solemate --file requirements.txt
  3. Activate the environment
    conda activate solemate

Datasets

To grow and evaluate our model, we use data from three sources within CSAFE:

  1. Their public longitudinal shoe outsole impression dataset. These data correspond to our Pristine AN (Baseline), Partial, and Pristine Time 2 and 3 prints.
  2. Their public 2D footware dataset. These data correspond to our Pristine 150 prints.
  3. Their degraded / blurry print dataset, created in "The effect of image descriptors on the performance of classifiers of footwear outsole image pairs". Available upon request to the authors. These data correspond to our Blurry prints.

Random forest growth

Following our approach, you can reproduce the growth of our model via the script grow_solemate_model.py, which generates a random forest trained on the previously extracted similarity metrics found in results/ and saves the model to solemate_model.joblib.

Similarity Metric Extraction

To extract fresh similarity metrics from a directory of images, see the script extract-solemate-metrics-pipeline.py and the function parseArgs() for a description of important command line arguments.

Model Predictions

To get probability of matedness (that both prints came from the same shoe) for pairs, use get_model_predictions.py which expects a solemate_model.joblib model. This can be run like:

python get_model_predictions.py --metrics_fp results/RESULT_BASELINE_TEST.csv --output_fp model_predictions

Developed by Simon Angoluan, Divij Jain, Saatvik Kher, Lena Liang, Myer Liebman, Simon Socolow, Charlie Theras, Yufeng Wu, and Ashley Zheng.

We conducted our research in collaboration with the Center for Statistics and Applications in Forensic Evidence.

About

Official implementation of "Improving and Evaluating Machine Learning Methods for Forensic Shoeprint Matching".

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors