A user-friendly app for simple analysis of urine test strips. Automatic test result generation based on the colors of the chemical pads.
A startup approached us with a task of developing an image recognition neural network which would be capable of analyzing urine test strip photos and comparing the colors of chemical pads to the coloured scale. The system would determine the presence and amount of various chemicals based on the color changes of the test strip. The user would receive accurate test results with a snap of a photo - quickly and without the need to visit the hospital.
The color variability caused by different lighting conditions, different backgrounds and camera settings has presented the biggest challenge when working on a neural network. The slightest difference in colors of the chemical pads can affect the test results significantly, so it was critical for the system to detect them. Calibrating the photo to achieve accurate color rendering was a necessary step.
Since color accuracy is the most important step during preprocessing, the user is prompted to take a photo next to a special calibration background which is then used to automatically adjust the colors in the image to be as accurate as possible.
Before the image is sent to be color calibrated, the neural network detects the edges and crops the image to remove the unnecessary background that may interfere with the recognition process. After the preprocessing, the CV neural network compares each chemical pad to the calibration background and calculates the test results.
The neural network we have developed has been implemented into a mobile app which is now being tested with a limited audience. We have achieved high accuracy of recognition - high enough to use in a medical setting.