All projects

FootFit

Team of 5 · Course project, computer vision · BINUS

Measures a foot from one photo, using a bank card as a ruler.

  1. Find the card
  2. Correct the perspective
  3. Measure and classify
85.60 mmlength in mmwidth in mm

Width ÷ length gives the fit: narrow, normal or wide.

Illustration of the method. Classical OpenCV, no neural network.

My role
I built the frontend and part of the backend around the team's computer-vision pipeline.
Team
5 students: Valentino Allen Prasetyo, Bryan Dale, Jonathan Davin, Michael Hendrilie, Shane Anthony
Stack
Python, OpenCV, FastAPI

Problem

FootFit measures foot length and width from a single photo, with no tape measure, and says whether the foot is narrow, normal or wide.

Approach

A standard bank card (85.60 mm wide) in the frame gives the scale and the perspective correction. The pipeline finds the card, straightens the view, separates the foot from the floor with GrabCut, and measures length and width in millimetres.

The Foot Index (width ÷ length) then sorts the foot into narrow, normal or wide. It is classical computer vision in OpenCV, with no neural network. It does not convert to EU, US or UK sizes.

Results

Measurement accuracy has not been validated, so there is no error margin to quote. The live demo runs the full pipeline, from photo to fit category.

Fit category by Foot Index (width ÷ length)
Foot IndexCategory
Below 37.71%Narrow-Fit
37.71% to 42.17%Normal-Fit
42.17% and aboveWide-Fit

What I did

I built the frontend and part of the backend around the team's computer-vision pipeline.

Built with Bryan Dale, Jonathan Davin, Michael Hendrilie and Shane Anthony.

Limitations

The card must be fully visible, flat and contrasting with the floor. Dark or patterned floors cause failures.

The demo runs on a free tier, so the first request can take about a minute.

Next project

Next project: Aspect-Based Sentiment Analysis for Indonesian Reviews