FootFit
Team of 5 · Course project, computer vision · BINUS
Measures a foot from one photo, using a bank card as a ruler.
- Find the card
- Correct the perspective
- Measure and classify
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.
| Foot Index | Category |
|---|---|
| Below 37.71% | Narrow-Fit |
| 37.71% to 42.17% | Normal-Fit |
| 42.17% and above | Wide-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.