-
-
Killer Eye - Diagnosing Wilson's Disease.
-
Killer Eye Classification On An Uploaded Image.
-
Killer Eye On An Eye Without Wilson's.
-
Killer Eye On An Object That Is Not An Eye.
-
Killer Eye On An Eye With An Extreme Case Of Wilson's.
-
Killer Eye On An Eye Without Wilson's.
-
Killer Eye On An Eye With Wilson's.
-
Killer Eye On An Eye With Wilson's.
Inspiration
Over 20,000 people face organ or liver failure due to Wilson's disease. Wilson's disease is a recessive genetic disorder that impedes with your bodies ability to dispose of excess copper, leading to a build-up that will prove fatal. However, this disorder can be treated if an early diagnosis is made. Unfortunately some people in rural and underserved areas may not have access to healthcare services. We focused on this part of the population and created a web-based application that can diagnose Wilson’s disease using a common symptom called Kayser-Fleischer rings, which are brown rings surrounding the iris caused by a excess of copper.
What it does
Killer Eye gets a webcam or static image input and then classifies each frame using TensorFlow. The website was created using HTML, JavaScript, and jQuery. Our program uses a neural network to recognize Kayser-Fleischer rings. The machine learning model was uploaded to Google's servers. When you launch the website, it downloads the model, and the ML image processing occurs locally. You can test the program using the images we have uploaded in the GitHub (none of these were used in teaching the ML algorithm).
How It Works
The algorithm was a generic ml algorithm that was repurposed and redesigned to be more lightweight and work for our usage. The algorithm was trained with 35 images of Kayser-Fleischer rings from patients with blue eyes, to create the Wilson's Positive classification. It was trained with 25 images of blue eyes without rings, to create the Wilson's Negative classification. Finally, it was trained with 50 random images to create the No Eye Detected classification. There was a total of 500 epochs. We uploaded the model to be hosted on an external server. Then, the website, which included HTML/CSS, JavaScript, and JQuery, was hosted on GitHub. The website was coded to accept a webcam or static image input, process it through the machine learning algorithm, and output a classification. The website only pulls the model once from the external server, then all processing occurs locally. Even though all processing happens locally, the program is extremely fast and accurate.
How we built it
We made multiple revisions of Killer Eye as a team. We worked in shifts to accomplish a variety of goals including but not limited to as coding, debugging, and filming. We split the work but ended up really taking shifts on the labor portion of the work.
Challenges
The most challenging part of this project was figuring out how to import files in a virtual camera and figuring out how to use TensorFlow specifically for classification. Another big issue was figuring out how to run the application on a locally hosted server.
Accomplishments that we are proud of
We are proud for making an actual solution that can effectively diagnose Wilson's disease. It's pretty humbling to realize that a fun project we did over a weekend could potentially save lives around the world. We also are proud of how much we learned from this project, both about Wilson’s disease and about coding in general.
What we learned
We learned a ton about Wilson's and its impact in underserved communities. When it comes to CS knowledge, we gained a deeper understanding about how to apply classifications to HTML. We also learned how to create a functional user interface that is both somewhat pleasant to look at and practical.
How to Use It
Visit http://emmanuelroyourboy.github.io/Killer-Eye/ to open the website. Find two images on the internet: one of a blue eye, and another of a blue eye with "Kayser-Fleischer rings." You can also find sample images on this post. Either use the webcam or upload to get an analysis of the two images!
What's next for Killer Eye - Diagnosing Wilson's Disease.
We want to develop Killer Eye so that it could diagnose Wilson's disease at the same level or better then an Ophthalmologist. In order to do this we will be increasing the number images and image quality in our dataset. We also will focus on improving user interface for revision two.
Goals for the future:
Finish training the Kayser-Fleischer ring detection algorithm.
Increase the accuracy of diagnosis by using a larger dataset.
Enable diagnosis of multiple eye colors. Currently the machine can only diagnose blue eyes as they are the most abundant eye color of people with Wilson’s.
Check for other symptoms of Wilson’s disease such as jaundice and liver cirrhosis.
Add animations and a better user interface for the website.
Add research to make AI more accurate
Possibly expand this project to diagnose other diseases as well.
Extend usability to mobile platforms. Currently, only the static image recognition works, not the live webcam feed.
Built With
- css
- github
- html
- javascript
- jquery
- machine-learning
- tensorflowjs

Log in or sign up for Devpost to join the conversation.