Skin in the game — Deep Learning based skin disease classifier (Part 1)
By Monisha Gopal and Vera Xu, Summer Interns
Dermatologist in your pocket
Skin is the largest organ in the human body. According to National Geographic, a human adult has an average of 22 square feet of skin[1]. That’s a bit larger than the entirety of a standard door frame[2]. In addition (maybe even consequently), skin-based diseases are some of the most common in the human population. Every year, in America alone, over 58 million people are affected by benign and malignant growths on their skin[3]. That’s about 18% of the total population. And that statistic doesn’t even include other skin conditions such as acne, rashes, inflammation, infections, etc.
Because of this, dermatologists recommend that people see a certified dermatologist annually for a full-body check-up and if they notice any unusual growths or moles on their skin. But booking an appointment with a dermatologist can be a really frustrating process. Many dermatologists are booked for weeks, some maybe even months[4]. And on top of that, some hospitals require a referral from a primary care physician. That’s even more waiting!
Currently, there are apps that try to let people skip that wait time by implementing telemedicine solutions in which they ask users for a couple of images of their condition, and then send those images to a dermatologist who reviews them and provides professional advice. But as more people use the apps, we run into the same problem we had in traditional healthcare. There just aren’t enough dermatologists to meet demand[5]. Even with telemedicine apps, responses will soon either take more time to get or become more expensive to buy.
To address this, we propose using the latest computer vision and artificial intelligence techniques to build a ‘dermatologist in your pocket’. It’s an app that not only detects different types of skin diseases, but also provides related disease information within minutes and at a low cost. All you need to do is take a picture with your phone!
Data Collection and Labelling: a foundation stone
Skin diseases vary a lot between individuals, so diagnosis is challenging and requires a variety of visual clues such as lesion morphology, scaling, body site distribution, etc. It’s hard to train a dermatologist. It’s even harder to train a machine to recognize different types of skin diseases with high accuracy. Dermatologists use a variety of magnifying instruments to identify possible bad blemishes, so does deep learning models. We need large amount of high resolution data labelled with accurate ground truth bounding boxes for a model to learn pixel by pixel. In addition, skin disease images usually come with a lot of noise such as different skin colors, skin areas, and even skin hair (you don’t want hair to be detected as rashes because of similar distribution). Therefore, being able to exclude noise and find true disease features is also what a model needs to accomplish.
Skin diseases are classified as 23 main classes referring to Dermnet website[6] and the paper by Liao[7].
Deep Learning Models: vision and brain of a dermatologist
Models are the most crucial and exciting part when developing an AI application. Now let’s take a look at the model we will be implementing using TensorFlow framework: ResNet.
Deep convolutional neural networks detect objects by learning features. Theoretically, adding more layers to a CNN enables it to learn more features and achieve higher accuracies; however, it is not such an ideal case in reality. It has come to be acknowledged that training accuracies tend to reach saturation and are then followed by a rapid degradation when adding more layers. ResNet (short for deep residual networks) makes it possible to train very deep neural networks without losing accuracy as a tradeoff. The residual network is characterized by a shortcut connection[8], instead of going from layer to layer in normal cases, two layers (two layers shown in graph, but can be one or more than one layer) are skipped to perform identity mapping, which means outputs from n-2 layer are directly added to the outputs of current layer n. Such skip connection makes learning accuracy degradation evitable since even if the skipped connections don’t achieve anything in learning, the output accuracy from current layer is maintained by the identity mapping from previous n-2 layer. ResNet has been reported to achieve improved accuracy on datasets such as ImageNet and COCO^3, therefore it’s a proper network to implement on our skin disease dataset for which very deep neural network is needed.
Knowledge Graph: missing piece to the puzzle
After getting a diagnosis from a doctor, most people will probably try to find out more about the condition that they have. For example: is their condition serious? Is it treatable? Should they see a specialist?
This is because a diagnosis without actionable next steps or additional information is useless.
So in addition to classifying skin diseases, our application will;
- Inform a user about whether they should go see a doctor
- Prepare a user to ask their doctor questions about treatments, similar diseases, etc.
- Allow a user to answer questions about any skin disease and see relationships between them
To accomplish these goals, we will build a knowledge graph of skin diseases. This graph will not only contain metadata about each disease, but it will also contain information about the relationships between them. In the final application, a user will be able to access the knowledge through the classifier as well as by querying a search engine.
To be continued…
In next post, we will talk about detailed approaches for building the skin disease classifier.
Sources
- https://www.nationalgeographic.com/science/health-and-human-body/human-body/skin/
- https://health.howstuffworks.com/skin-care/information/anatomy/how-much-skin-do-we-have.htm
- https://www.livestrong.com/article/161780-10-most-common-health-diseases/
- https://www.firstderm.com/appointment-wait-time-see-dermatologist-2017/
- https://www.the-dermatologist.com/article/7847
- http://www.dermnet.com/dermatology-pictures-skin-disease-pictures/
- https://pdfs.semanticscholar.org/af34/fc0aebff011b56ede8f46ca0787cfb1324ac.pdf
- https://arxiv.org/pdf/1512.03385.pdf
