Inspiration

Currently, diabetic retinopathy is responsible for 0.8 million blind and 3.7 visually impaired people globally. This number has been estimated to be 191.0 million by 2030. These alarming statistics inspired us to create a product which would allow the healthcare industry to reduce the number of diabetic patients by providing earlier diagnosis to diabetic patients.

What it does

Our product allows the user to upload a fundus images of their eyes (they can obtain these images from optometrists or other healthcare specialists). Our CNN will then analyze the inputted image and output whether the patient has diabetes or not.

How we built it

We built the project using convolutional neural networks through the python libraries keras, tensorflow, numpy, and scikit-learn. We preprocessed the idea by converting the images to numpy arrays that stored pixel values. We also built the website using HTML, CSS, and bootstrap. This allowed us to create aesthetically pleasing websites.

Challenges we ran into

During the process of the development of this project, we ran into multiple challenges regarding the development of the convolutional neural network and the development of the website/app. While creating the cnn, we ran into issues with the dimensionality of the images. Because the images were so large, the CPU did not have enough space/memory to run the code, this resulted in continuous errors that prohibited the progress of the project. In order to mitigate this, we reduced the size of the images from 2100 x 2100 to 512 x 512. This allowed our cnn to work. In regards to the frontend part of our project, we used the programming language of Dart (which goes hand-in-hand with Flutter). We faced some problems with this at first, as the SDK wasn’t installed. After installing the software development kit (SDK), we faced spree more challenges regarding the computer processes. Due to the amount of memory all the browsers and android studio were taking up, the IDE kept freezing, and a lot of our recent changes weren’t saving. This was very aggravating and frustrating as it had a huge affect on the amount of time we spent on the project, altogether.

Accomplishments that we're proud of

We are incredibly proud of our high accuracy for our model. Generally, to obtain high accuracy for neural networks, an extensive amount of training data is required. However, with our time constraints, we were not able to use a very large dataset. Despite this, we were able to achieve a relatively high accuracy even though it can be improved in the future. We are also very proud of our presentation and our product’s applicability to the real world. Our product could prompt revolutionizing impacts to the real world by helping identify diabetes at an earlier stage.

What we learned

We learned more about how to create convolutional neural networks and how to develop aesthetic websites using bootstrap and HTML. We learned about the negatives of large dimensionality data and we learned how to use Bootstrap HTML website templates. We were able to put the code into a repository and edit the parts that we needed.

What's next for Diabetes Detector

In the future, we hope to first import our accuracy of the model by incorporating more training data. Additionally, we hope to make the website’s user-interface more appealing by adding more visual elements, images, and descriptions. Lastly, we hope to tailor our product toward a wider audience, not just healthcare specialists and underprivileged communities.

Share this project:

Updates