Skin Cancer Check with Skin Photos - Online App

This skin cancer check online app can identify potential skin cancer from skin photo images or directly from camera of mobile devices. It measures probability of risk or being cancerous for skin lesions and moles. This is software service provided by Artificial Intelligence (AI) Deep Learning Neural Network Models powered by CMSR Machine Learning Studio. This system has very high accuracy. But is NOT 100% accurate! (See Limitations & System Accuracy.) Note that this is not a medical diagnosis system nor clinical screening device. It's a measuring device for skin risk, especially for skin cancer risk. For much accurate medical diagnosis, you may need biopsy and pathological tests. There are limitations what photos can tell you! Visual photo analysis cannot replace biopsy and pathological tests. Certain skin cancer lesions look alike pimple or rash, especially at early stage, and skin infection. This system can make errors. Note that pimple or rash normally improves or disappears in days. Unhealing skin infections which look similar to skin cancer may still require treatment. Therefore if conditions don't improve, please see a doctor or dermatologist for medical diagnosis and treatments.

Online app is not available to general public. If you want to use for trial purpose, please Contact Us. We will provide back door information. If you are interested in licensing this technology, also Contact Us. Models are available in web, Java, C/C++/Objective-C and Swift.

If you want your skin photos examined by dermatology doctor(s), you may try Scanoma website. Note that it's a paid service. You will need to install Android/iOS app to submit your photos.

Skin Cancer Detection Method

Skin cancer is "the abnormal growth of abnormal cells" in the outer skin layer. When you have malignant skin cancer, you will notice some of the following conditions in your skin lesions, moles, spots;

  • Grow in size or new
  • Change color
  • Change shape
  • Bleed or ooze or crusty
  • Itch or sore

If some of these conditions occur in your skin lesions and conditions do not improve, it's safer to see a doctor or dermatologist for diagnosis and treatment before too late.

Skin Cancer Detection and Machine Learning - Deep Learning Method

In combination with the above conditions, skin lesion photo images can be used to detect skin cancer using artificial intelligence machine learning techniques, specifically deep learning convolutional neural networks. To succeed machine learning, the followings should be noted;

  • Training data creation: Good training dataset creation is the most important process. Methodological systematic data creation is essential for good models.
  • Neural network architecture configuration and initialization: Good network configuration determines network's learning capability and efficiency. This can be obtained with systematic experiments. Good initialization is also essential as otherwise can result in poor learning. Training multiple models with different initialization is a solution. Note that most initializations won't produce good training. Discard models with poor learning.
  • Neural network training: Networks should be fully trained with methodological guided training methods. Generalization should be achieved with systematic image augmentation.
  • Model validation: Models should be validated with images not used in training data creation. Error images should be added to training datasets. Networks should be incrementally re-trained. This process can be repeated as many times as needed.

It is noted that neural network training can take months or years of computation on high performance computer. Just executing Python code with a bunch of images won't produce good models. Systematic training data creation and methodological model training is needed. You need powerful dynamic tools with which you can guide training process like driving a car with dashboard information and handles. For example, CMSR Machine Learning Studio.

Luck is very important part of neural network training as it relies on randomizations: random initialization of network weights and random shuffling of training data. Exceptionally good models can come with exceptional luck! Try multiple times to get that luck.

About one million augmented images are needed for high accuracy on unseen images. But training such large data will be very time challenging. It can take years on average computers. Fast GPU with thousands of cores is recommended. Fast GPU can speed up training over hundreds or even thousands times fast.

Regression vs Classification

Skin cancer detection can be modeled as either regression or classification. Regression predicts probability of being skin cancer. Classification classifies as either true(=cancer) or false(=no cancer). It is noted that regression will have a single output variable while classification will have two output variables. Obviously training single output variable can be much easier than training two output variables. Regression will be more accurate and preferred.

Dealing with Neural Network Divergence

Neural network training is a very tricky business. Neural network divergence is a common problem. There are two network divergence cases. One is Not a Number (NaN). This happens when absolute parameter values become too large. When this number is detected, network is dead. You will need to reinitialize network or abandon it. Another is that network accuracy drops suddenly and then unable to recover. Too high error correction ratio is the main reason of neural network divergence. By controlling error correction ratio, network divergence can be avoided. Network divergence is prominent with SGD. Mini batch size of 8 can avoid these problems while retaining SGD's traits.

CMSR Machine Learning Studio keeps best versions. When divergence happens, you can return back to the best version which does not have divergence and keep training with lower error correction ratio. In this way, divergence can be overcome. The following figure shows that accuracy drops to the bottom. After returning to the best previous version with smaller error correction ratio, the network recovers.

Significant level of augmentation also helps to avoid network divergence. Augmentation is essential.

System Accuracy

Neural network models used in this software were developed using very powerful machine learning modeling system CMSR Machine Learning Studio. Four deep convolutional neural network models, employing advanced proprietary algorithms and trained with 1 million photo images, are used. It has very high accuracy well over 90%. On 1 million training dataset images, 99.45% sensitivity and 97.52% specificity, 98.46% combined accuracy. (Note that sensitivity is the rate of detecting cancer as cancer. Specificity is the rate of detecting non-cancer as non-cancer.) On training dataset, 89.65% skin cancer images score as 99% risk probability. 96.90% of skin cancer images score as 90% or higher risk probability. Further tests on 1,853 skin cancer photos that were mostly not used in training showed over 97.4% detection rates. With good quality photos, detection rates will be much higher. Errors were mostly with poor or confusing photo quality. Notice that this is not 100% detection rate! So care should be taken. Accuracy of detecting not-cancer images as not-cancer is high. But less accurate than detecting cancer images. Note that some bad skin infection photos look alike cancer on visual level. So this system may rate as high risk. When conditions don't improve, always check with a doctor!


Testing revealed the following three main sources of errors;

  1. Blurry skin lesions: Unfocused or tiny skin lesions on low resolution photos can cause this error. Keep camera well focused while taking photos. Use high resolution close-up photos.
  2. Similarity of cancer and non cancer images: Some skin cancer looks like skin infection, rash or pimple. This can make false positive and false negative errors. If conditions don't improve, see a doctor or dermatologist.
  3. No clear color difference: When a skin lesion has no clear color difference from surrounding area, this can make false negative errors.

The first problem is for users to improve photo quality. The other two problems have no clear solutions at the moment. In these cases, use this system with these in mind.

[False negatives] Certain skin cancer looks similar to pimples or skin rash. In this case, this system may classify as low risk. Note that pimples and skin rash improve or disappear in days. If conditions don't improve in days, see a doctor or dermatologist.

[False positives] Some bad skin infections look similar to skin cancer. This system may make mistakes. If conditions don't improve, you may need to see a doctor for treatment.

Note that this system doesn't work well with dark skin. This is a limitation of this system.

Skin Cancer Types Detected

All three main types of skin cancer are detected: melanoma, basal cell carcinoma (BCC), and squamous cell carcinoma (SCC);

  1. Melanoma is the most dangerous skin cancer. It can grow quickly and spread. Melanoma can become life-threatening in as little as six weeks. When detected or in doubt, see a doctor immediately!

  2. Basal cell carcinoma (BCC) is the most common but least dangerous. It grows slowly on head, neck and upper body.

  3. Squamous cell carcinoma (SCC) can grow over months and spread to other parts of body.

Merkel cell carcinoma (MCC) and Bowen's disease (BD) are also detected. Actinic keratosis (AK), which can become cancerous, is also detected.

Photo Requirements

To be accurate, well-focused close-up or well-focused high resolution color photos are recommended. Please take photos with these requirements in mind;

  • Color photos. Black and white photos may not be accurate.
  • Blurry photos are bad. Keep camera well focused while taking photos.
  • Highest resolution that your camera supports recommended.
  • Close-up photos are recommended. Relative sizes of skin lesion in photos should not be too tiny. 5% to 50% of photo size is recommended. Lower ratio will be fine for high resolution photos. Use the "zoom image" option to enlarge.
  • Photos should not be everything too bright or too dark. Clearly discernable skin lesions are essential for high accuracy.
  • Avoid excessive light reflection. It can cause errors.
  • Supported file formats: JPEG, PNG, WebP, GIF, BMP, etc.

System Requirements

This system runs on any JavaScript-enabled web browser. Your computer or mobile device may need at least 2GB RAM to enable JavaScript to process images. In addition, a digital camera or a camera enabled mobile device may be needed to take photos.

About Data and Privacy

This site does not collect data nor use cookies. Only the selected parts of images are sent to a server for analysis. Then discarded!

Software Version

Version 3.2 (3, January, 2023)