CASE STUDY
Bettering the eye care experience with machine learning
Bettering the eye care experience with machine learning
The Challenge
Pupillary distance (PD) and segment height (seg height) are two of the most important measurements required for buying prescription eyeglasses — and a common source of tension for optometrists and consumers alike. When someone receives a bad measurement, they get more than just a pair of glasses that doesn’t fit:
- Wasted time + frustration
- Wasted money from glasses they can’t use
- Sore eyes and headaches
- Long-term eye problems that can impact learning, overall vision development and eye health
OUR
APPROACH
We started with a few weeks of in-depth discovery. In collaboration with Eyefit, Shift performed user interviews, technology research and competitive research. Knowing that other companies are using technology to measure PD and seg height, we dug into how we could make it better and more accurate. In our research process we found :
- Online retailers are less focused on measurement technology; most don’t place significant emphasis on, or appear to have invested heavily into measurement tools
- App-based companies appear to position themselves as disruptors in the process—going more all-in on customization at scale and/or how to shorten the gap from exam to purchase
- Little mention of pain points in eye exam, measurement process, or health impact as it related to online glasses purchase showing a disconnect from customer needs
We also put together a quick prototype to ensure the technology side of things was even possible. We wanted to use Google’s Mediapipe to calculate pupillary distance and other measurements but were unsure of the accuracy. We developed a test utilizing Mediapipe and found it would work. After reporting these findings to Eyefit, we were on our way to development.
The Solution
By utilizing machine learning with Mediapipe and Tensorflow, we created a white-label iOS mobile app designed for eye clinics and optometrists. A simplified app for in-home use calculates patient measurements quickly and easily. The application is built using Flask as a single endpoint that takes an input image and runs it through Mediapipe and Tensorflow, outputting a user’s pupillary distance and seg height.
After the initial build, we still wanted to make it more accurate. We utilized an industry solution, the credit card method, where a credit card is placed on your forehead so the application can more accurately pinpoint the parts of your face. By offering both options, the application is able to be even more accurate, gathering all of the data points an optometrist would need to accurately fit lenses.