Skip to content

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

License

Notifications You must be signed in to change notification settings

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

Prerequisites

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

Installation

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

Usage

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.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages