Online purchases have revolutionized the shopping experience for consumers. However, concerns of fit have deterred many customers from purchasing apparel online, especially shoes. Our friends/girlfriends have complained of bad experiences where the shoes purchased online are of poor fit, sometimes being highly uncomfortable even with the right length being chosen (currently the only determinant of size selection).

We want to allow users to assess how well a shoe of interest will fit when shopping online, with just a one-time physical scan. It can also recommend shoes that would be perfect for the user based on his or her unique foot traits and characteristics.

What it does

When a foot is placed on FeetFit, a detailed image of the customer's foot is sent to a local server. Thereafter, a computer determines all relevant traits of the foot (Size, Length, Width profile, Arch, Toe distribution, etc.), displays it, and stores it on the cloud. The ability of the system to read these traits accurately is improved with each reading, through the implementation of machine learning.

Thereafter, the Customer can visit the website of the retailer to look for shoes whenever he pleases, with the key information of his feet already stored. He or she will then be given a rating as to how well each shoe would fit, all factors considered.

FeetFit is also equipped with an automatic cleaning mechanism which can be activated before each reading. This both ensures the clarity of the footprint through removing smudges, while preventing the spread of foot-borne diseases through disinfection.

How we built it

We collected 100 samples of our foot using the Synaptics touch sensor. We then fed the sample data into Keras Deep Learning Library to learn the positions of key parts of the foot to accurately identify dimensions. With this dimensions, we can then provide relevant data unique to each user's foot.

The automatic cleaning mechanism is done with the use of an Arduino that controls a continuous rotation servo. A belt mechanism then moves the cleaning head up and down when turned on to clean FeetFit's surface.

Challenges we ran into

Initially, we faced problems with converting the 1D array of the input into its HTML5 canvas representation. Input from the touchpad was sent as a 1D array, and we had to translate it to a 2D representation in order to mark the points of the foot as part of our supervised learning. The whole process of figuring out how to do this, and subsequently marking the positions, took us the whole night.

After the data processing was done, we had to figure out how to wire up the frontend to talk to the backend.

Accomplishments that we're proud of

We managed to use a machine learning library to parse the 100 images of our team member’s foot and after the supervised learning, it was able to predict the positions of the foot rather accurately.

We also built a rather nice housing for the touchpad that was able to clean the surface of the touchpad after every use.

What we learned

What's next for FeetFit

FeetFit has good potential to become a viable startup given its significant value propositions to the footwear industry. One of the propositions would be supporting footwear retailers to have a loyalty program, where feet are scanned upon member registration to provide better shoe recommendations on site and/or improve shopping experiences on their online store. On Saturday 11/12, we managed to connect with the leaders of Dressing Room, a developing Chicago-based startup that allows customers to visualize clothes on themselves while shopping online. They said the idea was brilliant and further discussions are planned to evaluate possibilities for partnership. We also found that FeetFit may assist Podiatrists(Foot and Ankle Doctors), who take foot measurements to make customized insoles for patients with various foot conditions.

Built With

  • arduino
  • synaptics-large-touch-sensor
Share this project: