Sistema de clasificación de imágenes de melanomas
Por Gastón Liberman (Magíster en Explotación de Datos y Descubrimiento del Conocimiento-UBA). El aprendizaje automático (machine learning) tuvo grandes avances en aplicaciones de medicina, específicamente en el diagnóstico de imágenes gracias al auge del aprendizaje profundo (deep learning). En este caso, quise contribuir con mi tesis desarrollando un modelo de clasificación de imágenes de melanomas usando redes neuronales convolucionales (ConvNets o CNNs) y vectores de Fisher.
La misma fue desarrollada en el laboratorio de Procesamiento de Imágenes y Visión por Computadora del Departamento de Computación de la Facultad de Ciencias Exactas y Naturales de la Universidad de Buenos Aires. Mi director fue el Dr. Daniel Germán Acevedo y la Dra. Marta Mejail tuvo una función de codirección.
Introducción
El melanoma constituye el cancer de piel más serio, generando aproximadamente 40000 muertes anuales en el mundo. Se produce cuando las células llamadas melanocitos que se se encuentran en la epidermis se convierten en melanoma. En Estados Unidos, según estudios realizados en la base de datos SEER1, aproximadamente el 98% de los melanomas detectados en una fase inicial son curables. Sin embargo solo el 8% tienen una supervivencia de 5 años cuando es detectado en una fase avanzada (American Cancer Society). Por tal motivo, resulta de vital importancia realizar un modelo para detectar dichas lesiones cutáneas en un estadío temprano y por ende reducir el número de víctimas por esta causa. Para la construcción de dicho modelo me basé en las CNNs, tanto para la segmentación como para la clasificación de las imágenes. Particularmente, las CNNs son un tipo de Red Neuronal Artificial con aprendizaje supervisado. Fueron inspiradas por los trabajos en neurociencia de Hubel y Wiesel [1] en lo que respecta a la corteza visual de los gatos en los años 1960s. Específicamente, estudiaron el comportamiento de la corteza visual primaria (V1) de un gato cuando se le presentan ciertas imágenes en una pantalla. Con lo cual, el funcionamiento de las capas de la CNN imitan dicho comportamiento para identificar distintas características en las entradas con el objetivo de clasificar (o “ver”) los objetos. Para ello, la CNN contiene varias capas especializadas y con una jerarquía: esto quiere decir que las primeras capas pueden detectar líneas, curvas y se van especializando hasta llegar a las capas más profundas que reconocen formas complejas como un rostro o la silueta de un animal. La arquitectura general de una CNN consiste en una capa de entrada, capa(s) intermedia(s) y una capa de salida. Existen varios tipos de capas, entre ellas: las obtenidas por operaciones de convolución, las que se obtienen por operaciones de pooling (submuestreo) y las totalmente conectadas (clasificación). Las capas obtenidas por las operaciones de convolución y pooling se obtienen con los denominados Kernels2.

Figura 1: (Izquierda) Secuencia de bloques básicos que dispone una CNN. (Derecha) Los trabajos en neurociencia de Hubel y Wiesel que inspiraron el funcionamiento de una CNN.
A continuación se explicará el trabajo realizado dividido en las siguientes etapas: preprocesamiento, el modelo para la segmentación, los modelos utilizados para la clasificación, los resultados obtenidos y las conclusiones que se hallaron.
Preprocesamiento (datasets y algoritmo Max-RGB)
Se utilizaron las imágenes recibidas de la Dra. Viviana Kowalckzuc del Hospital Italiano y las de los sitios web: ISIC Archive y Dermnet. A todas las imágenes se les aplicó el algoritmo Max-RGB [2] con el objetivo de reducir la distorsión que puede producir la luz del iluminante al capturar dichas imágenes.

Figura 2: Algoritmo Max-RGB para la reducción de la distorsión de la imagen que puede causar el iluminante.
Segmentación
Se obtuvieron 2 modelos de clasificación, uno utiliza las imágenes de las lesiones segmentadas y el otro las imágenes sin segmentar. Con lo cual, para la segmentación se utilizó una de red custom Encoder-Decoder del tipo U-Net [3]. Se aclara que al área que se encuentra fuera de la lesión se le aplicó una escala de grises para no perder el contexto de la imagen.
Clasificación
El estudio de la clasificación automática de imágenes de melanomas no es nueva. En el año 2005 empezaron a utilizarse los primeros clasificadores en este área, basados en los conocidos métodos utilizados por los dermatólogos: ABCD [4] y Argenziano [5]. La complejidad de los modelos utilizados fue aumentando, desde los tradicionales árboles de decisión hasta las modernas CNNs. Antes de la llegada de este tipo de redes, una técnica ampliamente utilizada eran los vectores de Fisher [6] (y sus variaciones) como codificador de imágenes para luego utilizar un modelo de clasificación sobre estos vectores generados. A modo de ejemplo, en el año 2011 el equipo de Xerox [7] ganó la competencia que se realiza anualmente sobre el dataset ImageNet3 y en el año 2012 el equipo de la Universidad Nacional de Singapur [8] fue el ganador de la competencia que se realiza sobre el dataset PASCAL VOC4. Por ende, un experimento que se podría realizar sería mezclar los vectores de Fisher con las CNNs, conformando un modelo Híbrido. Siguiendo con este razonamiento, se obtuvieron los descriptores de la última capa convolucional de la red VGG-16 [9] ya que sirven como base para el cálculo de los vectores de Fisher. El modelo Híbrido resultante es:

Figura 4: Modelo Híbrido conformado por los vectores de Fisher calculados a partir de los descriptores de la última capa convolucional de la red VGG-16.
Es decir, a los descriptores obtenidos de las imágenes (mediante la red convolucional VGG-16) se les aplicó PCA y GMM para luego calcular los vectores de Fisher. Por último se aplicó un modelo lineal (SVM con kernel lineal) ya que se verifica (según diversos experimentos) que tiene una buena performance cuando se lo emplea con este tipo de vectores.
El método empleado en el presente trabajo para visualizar las zonas de la imagen que “vio” la CNN para realizar la clasificación de la lesión fue el Grad-CAM [10]. El objetivo de este método es constatar si la red está “viendo” zonas que comprenden a la lesión cutánea pigmentada para verificar que el entrenamiento de la red se esté realizando en forma adecuada.

Figura 5: Empleo del método Grad-CAM para verificar las zonas que vió la CNN para realizar la clasificación.
Por otro lado, para entender aún más los modelos entrenados, se visualizaron las imágenes de entrada que producen una máxima activación (en los mapas de activación5) para los kernels de las distintas capas convolucionales de la red VGG-16. A modo de ejemplo se anexa un video que muestra como partiendo de una imagen con ruido (y a medida que transcurren las iteraciones) se llegan a visualizar los patrones específicos que maximizan el mapa de activación de un Kernel en la red utilizada y que ya se encuentra entrenada (VGG-16):
El modelo que tuvo la mejor performance fue el constituido por un Ensamble entre 2 modelos Híbridos (uno con imágenes sin segmentar y otro con imágenes segmentadas) y el modelo que utiliza la red convolucional VGG-16 con las imágenes sin segmentar.
Se aclara que las CNNs fueron entrenadas utilizando las técnicas de Data Augmentation, Transfer Learning y Fine Tuning.
Resultados y conclusiones
Los resultados del Ensamble en los distintos datasets de prueba fueron los siguientes.
Los resultados de este trabajo fueron presentados en el artículo “Clasificación de imágenes de melanomas con vectores de Fisher y deep learning”6 y enviados a la conferencia 23rd Iberoamerican Congress on Pattern Recognition (CIARP) 2018 para su publicación. Dicho artículo fue aceptado el 01/10/2018 y publicado el 22/11/2018.
Dentro de las conclusiones más representativas que se obtuvieron se pueden citar las siguientes:
- Al analizar los distintos modelos se pudo observar que los Híbridos se encuentran levemente correlacionados con aquellos convencionales de arquitectura VGG-16. Esto último podría ser una de las causas por la que el Ensamble tuvo la mejor performance.
- Se observó que cuando los mapas de calor se encuentran fuera del área de la lesión cutánea, la performance de los clasificadores disminuye.
- La baja performance del Ensamble en el dataset HI (Hospital Italiano) puede ser debida a la baja resolución de las imágenes que poseía el mencionado dataset, ya que el modelo fue entrenado con imágenes de resolución más alta.
- Los modelos Híbridos fueron más estables que los modelos convencionales con arquitectura VGG-16 cuando se aplicaron a determinados datasets de prueba.
Con respecto a los trabajos recientes en este campo podemos mencionar los siguientes:
- Existen nuevos trabajos [11] que incorporan los vectores de Fisher como una capa más dentro de las existentes en las CNNs (convolución, pooling, etc.) con el objetivo de aprender sus parámetros por medio del algoritmo backpropagation y por ende incrementar la performance del modelo resultante.
- Por otro lado, existen trabajos como el de Stanford [12] en el cual utilizan una CNN que posee un rendimiento similar al que tiene un dermatólogo promedio en la detección de determinadas lesiones pigmentadas cutáneas malignas. Con lo cual, pensar que en un futuro no muy lejano existirán robots (modelos) que clasifiquen las lesiones cutáneas pigmentadas con una performance superior al que tiene un dermatólogo promedio no resulta para nada descabellado.
Notas al pie
1 https://seer.cancer.gov/data/
2 https://cs231n.github.io/convolutional-networks/#layers
4 https://host.robots.ox.ac.uk/pascal/VOC/
5 https://cs231n.github.io/understanding-cnn/
6 https://link.springer.com/chapter/10.1007%2F978-3-030-13469-3_85
Referencias
[1] Hubel, D. H.; Wiesel, T. N. (1959). «Receptive fields of single neurones in the cat’s striate cortex». The Journal of physiology 148 (3): 574–591.
[2] Gijsenij, Arjan & Gevers, T & Weijer, Joost. (2011). Computational Color Constancy: Survey and Experiments. IEEE transactions on image processing : a publication of the IEEE Signal Processing Society. 20. 2475-89. 10.1109/TIP.2011.2118224.
[3] Ronneberger, Olaf & Fischer, Philipp & Brox, Thomas. (2015). U-Net: Convolutional Networks for Biomedical Image Segmentation.
[4] Stolz, Wilhelm & Riemann, A & B. Cognetta, A & Pillet, L & Abmayer, W & Holzel, D & Bilek, P & Nachbar, F & Landthaler, Michael & Braun-Falco, O. (1994). ABCD rule of dermatoscopy: A new practical method for early recognition of malignant melanoma. European Journal of Dermatology. 4. 521-527.
[5] Argenziano G, Fabbrocini G, Carli P, De Giorgi V, Sammarco E, Delfino M. Epiluminescence Microscopy for the Diagnosis of Doubtful Melanocytic Skin Lesions Comparison of the ABCD Rule of Dermatoscopy and a New 7-Point Checklist Based on Pattern Analysis. Arch Dermatol. 1998.
[6] Sánchez, Jorge & Perronnin, Florent & Mensink, Thomas & Verbeek, Jakob. (2013). Image Classification with the Fisher Vector: Theory and Practice. International Journal of Computer Vision. 105. 10.1007/s11263-013-0636-x.
[7] F. Perronnin, J. Sánchez, “Compressed Fisher vectors for LSVRC”, PASCAL VOC / ImageNet workshop, ICCV, 2011.
[8] Chen, Qiang, Zheng Song, Yang Hua, ZhongYang Huang and Shuicheng Yan. “Hierarchical matching with side information for image classification.” 2012 IEEE Conference on Computer Vision and Pattern Recognition (2012): 3426-3433.
[9] Simonyan, Karen & Zisserman, Andrew. (2014). Very Deep Convolutional Networks for Large-Scale Image Recognition. arXiv 1409.1556.
[10] R. Selvaraju, Ramprasaath & Das, Abhishek & Vedantam, Ramakrishna & Cogswell, Michael & Parikh, Devi & Batra, Dhruv. (2016). Grad-CAM: Why did you say that? Visual Explanations from Deep Networks via Gradient-based Localization.
[11] Wieschollek, Patrick, Fabian Groh and Hendrik P. A. Lensch. “Backpropagation Training for Fisher Vectors within Neural Networks.” CoRR abs/1702.02549 (2017).
[12] Esteva, Andre, Brett Kuprel, Roberto A. Novoa, Justin Ko, Susan M. Swetter, Helen M. Blau and Sebastian Thrun. “Dermatologist-level classification of skin cancer with deep neural networks.” Nature 542 (2017): 115-118.





