Although approximately six to nine million Americans in the US have scoliosis, only about 600,000 people actually are diagnosed, and even less get it treated. This is because current medical diagnosis is expensive and time-consuming (ex: x-ray, MRI). Scoliosis is often overlooked, even though the risks are high if progression is unchecked.
What it does
SpineAlign provides an effective way for individuals to determine whether they are at risk for scoliosis without having to face the economic costs associated with its diagnosis. The visuals included in the app are designed to be efficient and user-friendly.
How we built it
We used XCode and Swift to build both front-end and back-end of our app with the UIKit. We designed the UI and graphics in Sketch. We then implemented the gyroscope functionality, and used AVFoundation to access, display, and pass on the user’s image to the imaging model. We obtained good datasets to feed into the imaging model to obtain accurate prediction results.
Challenges we ran into
We ran into challenges involving implementing the gyroscope and especially with the shoulder machine learning imaging. We initially could not get our algorithm to distinguish the left and right shoulders, because it was hard to obtain a sufficient and good data set in the limited time that we had. We also had issues with the OpenCV framework file being too big to push to git. We also had issues with translating our Python code to C++ code.
Accomplishments that we're proud of
We are proud of being able to use our technical knowledge to create an application that will educate and impact many. Overcoming our obstacle through being resourceful and persistent was very meaningful to us. As a team, we were all able to use our strengths to contribute to the app. Devfest taught us to apply knowledge that we have gained through the learnathon.
What we learned
We learned how to develop our product to cater to a broad audience without exclusion. We also learned how to implement the gyroscope functionality using CoreMotion and computer vision libraries. We also learned how to implement C++ into Swift using C++ wrapper. Throughout this experience, we tried many different ways of training shoulder recognition algorithms, ultimately settling with the most efficient one. Additionally, we enhanced our teamwork skills and learned how to communicate effectively with each member when confronting struggles that arose in our project.
What's next for SpineAlign
In the future, we would like to expand our data set to improve the precision of our machine learning model. Furthermore, we aim to develop a system in which users can share their results with their medical practitioners. Lastly, we also plan to record the results of spinal check-ups over time to track the progression of scoliosis for each patient.