Reconocimiento cancer pulmonar usando Inteligencia Artificial y Computación Evolutiva

14
Universidad Nacional de San Agustín Escuela Profesional de Ingeniería de Sistemas MODELO HÍBRIDO PARA DIAGNÓSTICO DE CÁNCER PULMONAR EN IMÁGENES ESTÁTICAS USANDO PATRONES CASO: CÉLULAS NO PEQUEÑAS Josimar Chire Saire [email protected]

Transcript of Reconocimiento cancer pulmonar usando Inteligencia Artificial y Computación Evolutiva

Page 1: Reconocimiento cancer pulmonar usando Inteligencia Artificial y Computación Evolutiva

Universidad Nacional de San Agustín Escuela Profesional de Ingeniería de Sistemas

MODELO HÍBRIDO PARA DIAGNÓSTICO DE CÁNCER PULMONAR EN IMÁGENES ESTÁTICAS USANDO PATRONES CASO:

CÉLULAS NO PEQUEÑAS

Josimar Chire Saire [email protected]

Page 2: Reconocimiento cancer pulmonar usando Inteligencia Artificial y Computación Evolutiva

1. Introducción 1.1. Motivación Actualmente, el número de pacientes con cáncer ha aumentado considerablemente siendo más común el cáncer pulmonar. Existen diversas formas de tratarse, el inicio es una tomografía para determinar comienzas o rastros de carcinomas en el pulmón. Sin embargo el paciente debe esperar mucho tiempo para recibir un resultado con cierto grado de precisión, por lo anterior se planteó este trabajo con el fin de apoyar en el diagnóstico de cáncer pulmonar. Otra motivación de la propuesta es el aprendizaje de las técnicas necesarias para la implementación del modelo hibrido. 1.2. Definición del Problema El proyecto de Inteligencia Artificial consiste en el desarrollo e implementación de un sistema capaz de reconocer carcinomas en una tomografía (imagen estática). El problema del reconocimiento de carcinomas en una tomografía se define: “Dado uno o más carcinomas en la tomografía, se debe identificar los carcinomas presentes en la tomografía” 1.3. Objetivos 1.3.1. Objetivo General Proponer un modelo de Sistema Hibrido para el apoyo en el diagnóstico de cáncer pulmonar en tomografía (imágenes digitales). 1.3.2. Objetivo Específicos - Estudiar una técnica de optimización (algoritmos genéticos) para la arquitectura de la red neuronal. - Lograr que el sistema sirva para reconocer carcinomas en tomografías.

- Demostrar el uso de las redes neuronales y algoritmos genéticos es una combinación que puede ser extendida para casos de optimización.

1.4. Formulación de Hipótesis “El modelo híbrido reconoce carcinomas en tomografía”. 1.5. Justificación La Inteligencia Artificial es un medio para resolver este tipo de problemas y mediante este proyecto se pretende dar a conocer a todos aquellos que no están familiarizados con esta rama, lo que se puede llegar hacer si se aplican estos conocimientos para un problema específico, en este caso el reconocimiento carcinomas en una tomografía.

Page 3: Reconocimiento cancer pulmonar usando Inteligencia Artificial y Computación Evolutiva

1.6. Delimitación del Trabajo El presente proyecto solo realiza el reconocimiento de carcinomas en una tomografía (digitales), la cual es axial computarizada. El modelo hibrido presentado reconocerá los carcinomas en las tomografías. 2. Marco de Referencia 2.1. Marco Teórico 2.1.1. Antecedentes El cáncer de pulmón era poco común antes de la aparición de los cigarrillos. Incluso no era reconocida como enfermedad hasta 1761. Diferentes aspectos fueron descritos después en 1810. En 1878 conformaba 1% de todos los casos de cáncer, aumentó a 15% en 1900. En 1912, sólo se contaban 374 casos a nivel mundial, una revisión en las autopsias mostró incremento de 0.3% a en 1852 a 5.66% en1952. En Alemania en 1929, reconoció la relación entre el cáncer y el tabaquismo y en 1964 en USA se recomendó a los fumadores dejar sus hábitos.

La relación con el gas radón se identificó por primera vez en mineros de Sajonia, la extracción comenzó en 1470, estas minas son ricas en uranio y en consecuencia radio y gas radón. Los mineros desarrollaron enfermedades pulmonares, un 75% de los ex-mineros murieron por cáncer pulmonar.

La primera neumonoctomía fue realizada con éxito en 1933. La radioterapia se ha utilizado desde la década de los 40. En la década de 1970, la quimioterapia se ha desarrollado con éxito.

Desde 1956, que se establecen las bases para funcionar como campo independiente a la Inteligencia Artificial. Las aplicaciones en varias áreas de la medicina han sido diversas, desde visión artificial hasta sistemas expertos. En 1970 comienza Vision Computer, abocada a la extracción de información desde una imagen.

Investigadores como Fangzhen Li, pertenciente al instituto de Biofísica en China; ha abocado sus esfuerzos en esta investigación y temas afines. Un trabajo titulado”Automatic recognition of small cell carcinoma base on the self-organizing neural network”. Y así en varios países existen áreas abocadas a la investigación para realizar aportes en áreas de la medicina.

2.1.2. Estado del Arte En la actualidad, el desarrollo de sistemas de reconocimiento de imágenes, sean estáticas, diversos formatos, dinámicas u otras, es llevado a cabo por empresas comerciales. Aunque el campo que abarca el reconocimiento de imágenes es relativamente amplio, los sistemas que se han desarrollado se han encaminado a detectar y reconocer imágenes bajos unas determinadas condiciones. El estudio del reconocimiento de imágenes nos plantea un problema de reconocimiento bidimensional.

Page 4: Reconocimiento cancer pulmonar usando Inteligencia Artificial y Computación Evolutiva

Dentro de dicho estudio, la mayor parte del trabajo realizado abarca la lectura tomografías axiales digitales obtenidas por un tomógrafo, aunque en los últimos años la tendencia es que se investiguen sistemas capaces de soportar diversos formatos de tomografías. Debido a que esta técnica da mejores resultados que una radiografía y permite un mejor diagnóstico. Para realizar los reconocimientos de carcinomas en tomografías, se dispone de dos procedimientos que engloban distintas técnicas y sistemas. Por un lado están los sistemas tradicionales de reconocimiento de imágenes y por otro con los sistemas adaptativos de reconocimiento óptico de imágenes. La diferencia fundamental entre ambos procedimientos reside en que los sistemas tradicionales son capaces de reconocer imágenes, dentro de un conjunto limitado de símbolos y bajo unas determinadas directrices, mientras que los sistemas adaptativos, más recientes, son capaces de adaptar su motor de reconocimiento a partir del reconocimiento tradicional. 2.2. Marco Conceptual 2.2.1 Cáncer Pulmonar Los pulmones son un par de órganos que dan oxígeno a nuestro y expulsa el dióxido de carbono.Los bronquios son unos tubos que llevan el aire inspirado desde la boca hasta los pulmones y éstos a su vez se dividen en tubos más pequeños llamados bronquiolos; hasta forma los alvéolos dónde se produce el intercambio de gases con la sangre venosa. El cáncer del pulmón se produce por el crecimiento exagerado de células malignas en este órgano, si no se diagnostica a tiempo puede llegar a afectar otro órganos. Según la OMS, el cáncer pulmonar produce 1.4 millones de muertes anualmente. Existen tres causas principales: carcinógenos físicos(radiación), carcinógenos químicos(alflatoxinas) y carcinógenos biológicos(bacterias, parásitos). Existen dos tipo de cáncer pulmonar: cáncer pulmonar de células no pequeñas(CPCNP) y el cáncer pulmonar de células no pequeñas.

2.2.2 Tomografía Axial Computarizada( TAC) Tomografía viene del griego tomos que significa corte o sección y de grafía que significa representación gráfica. Por tanto la tomografía es la obtención de imágenes de cortes o secciones de algún objeto.

Page 5: Reconocimiento cancer pulmonar usando Inteligencia Artificial y Computación Evolutiva

La palabra axial significa "relativo al eje". Plano axial es aquel que es perpendicular al eje longitudinal de un cuerpo. La tomografía axial computarizada o TAC, aplicada al estudio del cuerpo humano, obtiene cortes transversales a lo largo de una región concreta del cuerpo (o de todo él).

Computarizar significa someter datos al tratamiento de una computadora. Muchas veces el “objeto” es parte del cuerpo humano, puesto que la TAC se utiliza mayoritariamente como herramienta de diagnóstico médico. La TAC es una tecnología sanitaria de exploración de rayos X que produce imágenes detalladas de cortes axiales del cuerpo. En lugar de obtener una imagen como la radiografía convencional, la TAC obtiene múltiples imágenes al rotar alrededor del cuerpo. Una computadora combina todas estas imágenes en una imagen final que representa un corte del cuerpo como si fuera una rodaja. Esta máquina crea múltiples imágenes en rodajas (cortes) de la parte del cuerpo que está siendo estudiada. Se trata de una técnica de visualización por rayos X. Podríamos decir que es una radiografía de una fina rodaja obtenida tras cortar un objeto. En la radiografía se obtiene una imagen plana (en dos dimensiones) de un cuerpo (tridimensional) haciendo pasar a través del mismo un haz de rayos X. Principio de funcionamiento

El aparato de TAC emite un haz muy fino de rayos X. Este haz incide sobre el objeto que se estudia y parte de la radiación del haz lo atraviesa. La radiación que no ha sido absorbida por el objeto, en forma de espectro, es recogida por los detectores. Luego el emisor del haz, que tenía una orientación determinada (por ejemplo, estrictamente vertical a 90º) cambia su orientación (por ejemplo, haz oblicuo a 95º). Este espectro también es recogido por los detectores. El ordenador 'suma' las imágenes, promediándolas. Nuevamente, el emisor cambia su orientación (según el ejemplo, unos 100º de inclinación). Los detectores recogen este nuevo espectro, lo 'suman' a los anteriores y 'promedian' los datos. Esto se repite hasta que el tubo de rayos y los detectores han dado una vuelta completa, momento en el que se dispone de una imagen tomográfica definitiva y fiable.

Page 6: Reconocimiento cancer pulmonar usando Inteligencia Artificial y Computación Evolutiva

Para comprender qué hace el ordenador con los datos que recibe lo mejor es examinar el diagrama que se aprecia líneas abajo.

La figura '1' representa el resultado en imagen de una sola incidencia o proyección (vertical, a 90º). Se trata de una representación esquemática de un miembro, por ejemplo un muslo. El color negro representa una densidad elevada, la del hueso. El color gris representa una densidad media, los tejidos blandos (músculos). El hueso, aquí, deja una zona de 'sombra'. Los músculos, una zona de 'penumbra'.

En la figura '4' el ordenador dispone de datos de cuatro incidencias: 45º, 90º, 135º y 180º. Los perfiles de la imagen son octogonales, lo que la aproximan mucho más a los contornos circulares del objeto real.

Una vez que ha sido reconstruido el primer corte, la mesa donde el objeto reposa avanza (o retrocede) una unidad de medida (hasta menos de un milímetro) y el ciclo vuelve a empezar. Así se obtiene un segundo corte (es decir, una segunda imagen tomográfica) que corresponde a un plano situado a una unidad de medida del corte anterior.

A partir de todas esas imágenes transversales (axiales) un computador reconstruye una imagen bidimensional que permite ver secciones de la pierna (o el objeto de estudio) desde cualquier ángulo. Los equipos modernos permiten incluso hacer reconstrucciones tridimensionales. Estas reconstrucciones son muy útiles en determinadas circunstancias, pero no se emplean en todos los estudios, como podría parecer. Esto es así debido a que el manejo de imágenes tridimensionales no deja de tener sus inconvenientes.

Un ejemplo de imagen tridimensional es la imagen 'real'. Como casi todos los cuerpos son opacos, la interposición de casi cualquier cuerpo entre el observador y el objeto que se desea examinar hace que la visión de éste se vea obstaculizada. La representación de las imágenes tridimensionales sería inútil si no fuera posible lograr que cualquier tipo de densidad que se elija no se vea representada, con lo que determinados tejidos se comportan como transparentes. Aun así, para ver completamente un órgano determinado es necesario mirarlo desde diversos ángulos o hacer girar la imagen. Pero incluso entonces veríamos su superficie, no su interior. Para ver su interior debemos hacerlo a través de una imagen de corte asociada al volumen y aun así parte del interior

Page 7: Reconocimiento cancer pulmonar usando Inteligencia Artificial y Computación Evolutiva

no siempre sería visible. Por esa razón, en general, es más útil estudiar una a una todas las imágenes consecutivas de una secuencia de cortes que recurrir a reconstrucciones en bloque de volúmenes, aunque a primera vista sean más espectaculares.

2.2.1. Redes Neuronales Las redes de neuronas artificiales (denominadas habitualmente como RNA) son un paradigma de aprendizaje y procesamiento automático inspirado en la forma en que funciona el sistema nervioso de los animales. Se trata de un sistema de interconexión de neuronas en una red que colabora para producir un estímulo de salida. En inteligencia artificial es frecuente referirse a ellas como redes de neuronas o redes neuronales. Las redes neuronales consisten en una simulación de las propiedades observadas en los sistemas neuronales biológicos a través de modelos matemáticos recreados mediante mecanismos artificiales (como un circuito integrado, un ordenador o un conjunto de válvulas). El objetivo es conseguir que las máquinas den respuestas similares a las que es capaz de dar el cerebro que se caracterizan por su generalización y su robustez.

Una red neuronal se compone de unidades llamadas neuronas. Cada neurona recibe una serie de entradas a través de interconexiones y emite una salida. Esta salida viene dada por tres funciones: 1. Una función de propagación (también conocida como función de excitación), que por lo general consiste en el sumatorio de cada entrada multiplicada por el peso de su interconexión (valor neto). Si el peso es positivo, la conexión se denomina excitatoria; si es negativo, se denomina inhibitoria.

Page 8: Reconocimiento cancer pulmonar usando Inteligencia Artificial y Computación Evolutiva

2. Una función de activación, que modifica a la anterior. Puede no existir, siendo en este caso la salida la misma función de propagación. 3. Una función de transferencia, que se aplica al valor devuelto por la función de activación. Se utiliza para acotar la salida de la neurona y generalmente viene dada por la interpretación que queramos darle a dichas salidas. Algunas de las más utilizadas son la función sigmoidea (para obtener valores en el intervalo [0,1]) y la tangente hiperbólica (para obtener valores en el intervalo [-1,1]).

2.2.2. Algoritmos Genéticos Un caso concreto de algoritmos evolutivos son los denominados algoritmos genéticos. Estos algoritmos se caracterizan por utilizar operadores de cruce en el proceso de alteración de la población. Teniendo en cuenta lo anterior, los conceptos básicos que se manejan en la teoría de los algoritmos genéticos son los siguientes: Individuo o cromosoma: Un individuo determina una potencial solución del problema que se pretende resolver mediante el algoritmo genético. Población: Conjunto de individuos con los que se trabaja en el algoritmo genético. En un algoritmo genético los individuos que constituyen la población van cambiando pero generalmente el tamaño de la misma permanece constante. Función fitness: Se trata de una función evaluadora de la calidad de un individuo como solución a nuestro problema. Permite la ordenación de los individuos de la población en cuanto a bondad de los mismos. Cruce: es una de las operaciones fundamentales que intervienen en todo algoritmo genético. Como norma general se aplica después de un proceso de selección de dos individuos y consiste en una combinación de los mismos para obtener como resultado otros dos nuevos individuos.

Page 9: Reconocimiento cancer pulmonar usando Inteligencia Artificial y Computación Evolutiva

Mutación: Constituye otra operación fundamental en un algoritmo genético. En este caso se selecciona un individuo, el cual sufre una pequeña modificación aleatoria en su codificación obteniéndose otro individuo nuevo.

2.2.3 Partición Binaria Local El operador de Local Binary Pattern es introducido en 1996 por Ojala, Pietikäinen y Harwood, como una forma de resumir la estructura de nivel de gris local. El operador toma una vecindad local alrededor de cada píxel, umbraliza los píxeles de la vecindad al valor del píxel central y usa el parche de valores binarios de la imagen resultante como un descriptor de la imagen local. Es un potente medio de descripción de texturas y entre sus propiedades en aplicaciones del mundo real están su poder de discriminación, simplicidad computacional y tolerancia frente a cambios de escala de grises. Este operador fue definido originalmente para vecindades de 3 × 3, dando códigos de 8 bits basados en los 8 píxeles alrededor del píxel central. El operador LBP original forma etiquetas para los píxeles de la imagen umbralizando dicha vecindad de cada píxel con el valor central y considerando el resultado como un número binario. El histograma de esas 28 = 256 etiquetas, celdas o códigos LBP diferentes, puede entonces ser usado como un descriptor de textura. Las primitivas locales codificadas por estas celdas incluyen diferentes tipos de bordes curvados, manchas, áreas planas, etc. El cálculo de los códigos LBP puede hacerse fácilmente en una simple pasada a través de la imagen. Formalmente, el operador LBP toma la forma:

Page 10: Reconocimiento cancer pulmonar usando Inteligencia Artificial y Computación Evolutiva

3. Análisis y Diseño 3.1. Arquitectura

procesamiento imagenes

Extraccion.cpp<<file>>

modelo híbrido

Red.cpp<<file>>

AG.cpp<<file>>

Resultados

Captura_Datos Acceso.cpp<<file>>

AG.h<<file>>

Red.h<<file>>

muestras.h<<file>>

funciones.cpp<<file>>

Figura 3.1: Arquitectura del Sistema

3.2. Diagrama Casos de Uso Como único actor para el diagrama de casos de uso se encuentra el usuario con los siguientes casos de uso:

Usuario

Ingresar Imagen

Realizar Procesamiento

Mostrar Resultados

<<include>>

Figura 3.2: Diagrama de Casos de Uso

Page 11: Reconocimiento cancer pulmonar usando Inteligencia Artificial y Computación Evolutiva

3.3. Diagrama de Clases

Figura 3.3: Diagrama de Clases

AG

+tamPoblacion: Int+nroGeneraciones: Int

+inicializar()+seleccion()+cruzamiento()+mutacion()

RedNeuronal

+patron: Patron

+Entrenar_red()+Usar_red()

patrones

+N_patrones: Int+Inputs: Double**+Outputs: Double**+archivo: Char*

+Leer_archivo()

1 11..* 1

Imagen

+nombre: Char*+imagen: Int **

+val_CvMat()

caracteristicas

+vector_c: Int *

+extraccion_c()

1 1

1

1

4. Pruebas y Resultados

Page 12: Reconocimiento cancer pulmonar usando Inteligencia Artificial y Computación Evolutiva
Page 13: Reconocimiento cancer pulmonar usando Inteligencia Artificial y Computación Evolutiva

5. Conclusiones Las redes neuronales son una solución para el reconocimiento de carcinomas en pentagramas, a pesar de no llegar a una exactitud y precisión del 100%, se obtuvieron resultados favorables. El modelo de sistema propuesto cumplió con el objetivo propuesto en reconocer carcinomas en tomografías, según las limitaciones fijadas en la delimitación del trabajo. El campo del procesamiento de imágenes es muy amplio y en algunas ocasiones parece demasiado complejo el desarrollo de un sistema que pudiese reconocer correctamente cualquier imagen, ya que la cantidad de detalles que estas pueden incluir son muchas. 6. Referencias

[1] “Artificial Neural Networks vs Support Vector Machines for Skin Diseases Recognition”, Michal Antkowiak

[2] “Application of Neural Network in Medical Image Processing”, Zhenghao Shi and Lifeng He [3] “Automatic Recognition of small cell carcinoma based on the self-organizing neural network, Fangshen Shi, Kuanghu Hu, Wanfang Su, Shuyu Li, Nian Cai, Zhiying Huang and Yingxiong Hu

Page 14: Reconocimiento cancer pulmonar usando Inteligencia Artificial y Computación Evolutiva

[4] “Detección De Normalidad Y Anormalidad En Radiografías De Tórax Usando Lbp”, Juan Manuel Carrillo de Gea [5] “Algoritmos Geneticos”, Natyhelem Gil Londoño [6] “Training Feedforward Neural Networks Using Genetic Algorithms”, David J. Montana and Lawrence Davis [7] “Genetic Algorithms for Neural Network Training on Transputers”, Bernhard Omer