Yellosis 10-Subject ML Algorithm Prototype
Extending Yellosis's KNN-based image classification algorithm so a prototype could classify 10 urinalysis test subjects instead of the 5 subjects supported by the released products.
Jun 2024 - Aug 2024
Overview
Yellosis had already released AI-powered urinalysis test kit products for both human and pet health. In those released products, users could take a photo of a physical test kit and receive health-related readings from the image. The production system used a KNN-based approach to compare the color of each test area against reference criteria.
When I joined, the released products supported 5 test subjects: blood, pH, protein, glucose, and ketone. My main responsibility was to improve the ML algorithm prototype so it could classify 10 test subjects while keeping the same KNN-based approach.
Problem
The released 5-subject products supported a limited set of urinalysis indicators, while the new ML algorithm prototype needed broader classification coverage. To support 10 total subjects, the algorithm needed additional test-subject definitions, reference color criteria, and level-specific data for each subject. The image flow also needed to handle user photo mistakes more reliably, because poor photo alignment could lead to errors or incorrect criteria matches.
My Contributions
- Extended the existing KNN-based image classification approach into a 10-subject ML algorithm prototype.
- Added new test-subject definitions and reference criteria data to the machine learning pipeline.
- Collected and organized level-specific color criteria for each test subject, such as multi-level pH criteria.
- Integrated the new criteria into the algorithm prototype so the existing KNN approach could classify the additional test subjects.
- Tested the 10-subject ML prototype against medical urinalysis results and observed about 90% accuracy.
- Fixed minor photo-guide edge cases that caused errors or incorrect classifications when users did not take pictures correctly.
Approach
I worked within the original algorithm instead of replacing it. The improved ML prototype classified each test subject by comparing the detected color from the uploaded test-kit image against stored reference colors. My work focused on extending the available criteria, making sure the new subjects had usable reference data, and validating that the broader classification logic still produced reliable results.
I also improved the behavior around guided photo capture. Since image-based classification depends heavily on the photo quality and alignment, small user mistakes could create classification errors. Fixing those cases made the 10-subject ML prototype more reliable for real user input.
Result
The improved algorithm prototype supported 10 total urinalysis test subjects and reached approximately 90% accuracy when compared with medical urinalysis testing. The work helped validate broader classification coverage while preserving the KNN-based design used by the released products.