Introducción
La cirugía laparoscópica consiste en la inserción de una cámara y dispositivos quirúrgicos a través de pequeñas incisiones. Ha reemplazado en gran medida a la cirugía tradicional en diversos campos quirúrgicos, como la cirugía abdominal, ginecología, torácica, etc., debido a que presenta una menor incidencia de infecciones y una recuperación más rápida, y generalmente deja menos secuelas que la cirugía tradicional. En este tipo de procedimientos se realizan cauterizaciones en los tejidos, lo cual origina vapor de agua y monóxido de carbono que disminuyen la visibilidad de las cámaras usadas. Esta falta de visibilidad aumenta el tiempo de la cirugía e incluso la probabilidad de errores cometidos por el cirujano, lo que puede derivar en consecuencias negativas para la salud del paciente1. Comúnmente, el proceso de eliminación de humo se realiza con instrumentos médicos, pero esta manera resulta costosa y poco práctica, por lo que se requiere otra opción para resolver el problema. Lo anteriormente mencionado ha motivado el desarrollo de investigación en procesamiento digital de imágenes, la cual se ha enfocado en la búsqueda de métodos para reducir los efectos del humo y, por tanto, aumentar la visibilidad.
Una de las técnicas clásicas más usadas para este propósito parte del modelo de dispersión atmosférica, en el que se estima el mapa de transmisión (el cual contiene información acerca de la densidad de humo) y las componentes de la luz en una imagen determinada2. Por ejemplo, Wang, et al.1 proponen una técnica basada en el modelo físico de la dispersión del humo, similar al modelo usado en el procesamiento de imágenes para eliminar los efectos de niebla (dehazing), en el que se determina el nivel de humo considerando el hecho de que en los píxeles que lo contienen se presenta un bajo contraste, así como bajas diferencias entre canales. Basándose en esta observación, se define una función de costo y se resuelve utilizando un método de Lagrange. Kotwal, et al.3 formulan la cuestión de la niebla y la eliminación de humo en las imágenes laparoscópicas como un problema de inferencia bayesiana, en el cual se usa un sistema probabilístico con modelos de las imágenes sin niebla, así como un mapa de transmisión que indica la atenuación del color en presencia de humo. Gu, et al.4 implementan un sistema digital basado en el principio del canal oscuro (DCP, Dark Channel Prior), en donde se observa que estadísticamente las imágenes libres de niebla en exteriores contienen algunos píxeles con muy baja intensidad al menos en uno de los canales de color.
Muchos problemas en el procesamiento de imágenes, gráficos y visión requieren la conversión de una imagen de entrada a una imagen de salida determinada. Hasta hace un par de años, como se ha comentado, la mayor parte de la investigación se realizaba mediante métodos diseñados «ingenierilmente», es decir, el investigador analizaba y buscaba patrones sobre los que diseñaba un algoritmo explícito. En la actualidad, con los nuevos avances del aprendizaje automático (machine learning), el cual es una parte de la inteligencia artificial y trata sobre modelos que mejoran con la experiencia, la situación ha cambiado radicalmente. Ahora, gracias sobre todo al aprendizaje profundo (deep learning) basado en redes neuronales convolucionales (CNN, Convolutional Neural Network) que son capaces de encontrar patrones y abstracciones autónomamente, la tarea del investigador se enfoca en adaptar o desarrollar y ajustar un modelo de aprendizaje automático. Las redes generativas antagónicas (GAN, Generative Adversial Network) propuestas en 2014 están formadas por dos redes neuronales y son una solución de propósito general que ha obtenido buenos resultados en una amplia variedad de aplicaciones que requieren un mapeo de imagen a imagen, siendo actualmente la tecnología puntera en muchas de ellas5-9. Las GAN constan de dos partes principales: una red neuronal que actúa como una función generadora, en la cual a partir de una imagen de entrada se genera una imagen de salida con determinados cambios, y una función discriminadora que evalúa la imagen generada con una imagen real con el fin de clasificarla como real o falsa. La idea básica de las GAN es lograr la generación de imágenes tan fieles a las originales que el discriminador no logre encontrar diferencia alguna. Isola, et al.5 demuestran que este enfoque es efectivo para sintetizar imágenes a partir de mapas de etiquetas, reconstruir objetos a partir de mapas de bordes y colorear imágenes originalmente en escala de grises. En trabajos recientes se han propuesto arquitecturas de aprendizaje profundo para reducir el efecto del humo en las imágenes laparoscópicas10,11. Chen, et al.12 proponen el uso de las GAN para el aprendizaje no supervisado y la eliminación del humo en las imágenes. En este trabajo presentamos los resultados de aplicar una GAN y además proponemos un método híbrido que combina una técnica de procesamiento de imágenes con una GAN. En la figura 1 se muestra un ejemplo de la arquitectura aquí propuesta, en donde se usa el DCP como etapa de preprocesamiento bajo la hipótesis de la reducción en la complejidad de los patrones presentes en las imágenes que posteriormente ingresan a una arquitectura GAN.
Los experimentos fueron realizados sobre un conjunto de datos con imágenes de laparoscopia a las cuales se les generó artificialmente el efecto del humo mediante un software de edición de vídeo. De acuerdo con las métricas usadas para evaluar los métodos propuestos, el uso de GAN para reducir el efecto del humo mejora la reconstrucción de la imagen frente al enfoque basado en el DCP y el modelo de dispersión.
El presente trabajo está estructurado de la siguiente forma: en el apartado «II» (marco teórico) se presentan los fundamentos teóricos y conceptuales usados para la implementación de la red, así como las métricas para la evaluación de los resultados; en el apartado «III» (método propuesto) se explican las configuraciones usadas en el diseño del experimento; en el apartado «IV» (resultados) se presentan los resultados obtenidos, así como las tablas comparativas respecto a trabajos relacionados; y finalmente se incluyen una discusión, unas conclusiones y una perspectiva de futuras investigaciones.
Marco teórico
En este apartado se presentan los fundamentos teóricos necesarios para la implementación de la metodología propuesta.
MODELO DE DISPERSIÓN ATMOSFÉRICA
La degradación atmosférica es un fenómeno físico causado por partículas en el medio atmosférico que absorben y dispersan la luz13. Esta degradación puede ser expresada, utilizando el modelo dicromático14, como:
I(x,y)=J(x,y)t(x,y)+A(1-t(x,y))
donde I(x,y) es la intensidad de la imagen de color en cada pixel (x,y) con presencia de niebla, J(x,y) es la intensidad de la imagen RGB en cada píxel (x,y) sin degradación, A es la matriz normalizada de la componente de la luz atmosférica en cada canal de la imagen y t(x,y) representa el mapa de transmisión en un atmósfera homogénea, modelado por:
t(x,y)=e-iβd(x,y),0<t(x,y)<1,
donde β es el coeficiente de dispersión, que depende principalmente del tamaño de la partícula de dispersión14 y d(x,y) representa la distancia de la cámara a la escena en la posición del píxel (x,y).
Utilizando el modelo dicromático es posible obtener la imagen sin los efectos de neblina J(x,y) siempre y cuando se pueda obtener una estimación precisa de t(x,y) y A13.
CANAL OSCURO
El canal oscuro Idark para cada píxel se define como:
donde Ω{x,y} es un kernel generalmente cuadrado centrado en la posición (x,y) (utilizar un kernel cuadrado no tiene mayor motivación que reducir al máximo el tiempo requerido para el procesamiento), Ic(z) son los elementos de la imagen en las posiciones z∈Ω{x,y}, representa cada imagen en los respectivos canales RGB y es el valor de en cada una de las componentes c.
El DCP se basa en la observación de que, en imágenes sin neblina, al menos un canal de color tiene una intensidad muy baja en algunos píxeles. En otras palabras, la intensidad en una sección Ω de la imagen debería tener un valor muy bajo en algún canal si no hay neblina entre la cámara y el objeto capturado. Esto se encuentra definido como la relación estadística entre el canal oscuro y las regiones sin neblina, donde se cumple:
Idark (x,y)→0
La relación existente entre Idark y t se expresa como:
t(x,y)=1-ωIdark (x,y)
donde 0<ω<1 representa el nivel de restauración. De acuerdo con He, et al.15, ω=0.95, argumentando que este valor produce un mejor aspecto en las imágenes restauradas. Por otra parte, la luz atmosférica puede ser estimada mediante la ecuación:
donde h es la altura y ω es el ancho de la imagen.
REDES ANTAGÓNICAS GENERATIVAS
Las GAN, presentadas en 2014 por Goodfellow, et al.16, son una clase de métodos de inteligencia artificial de aprendizaje no supervisado, implementados por un sistema de dos redes neuronales que compiten mutuamente, y un generador (G) que se encarga de generar una imagen falsa a partir del entrenamiento de muchas imágenes originales, que aprende las características fundamentales de un tipo de imagen en particular; por ejemplo, si esta etapa es entrenada con muchos rostros diferentes, tendrá la capacidad de generar rostros falsos con características reales. En una segunda etapa se conecta un discriminador (D) que tiene como objetivo identificar si una imagen es real o falsa. Al estar conectadas las dos etapas en un proceso iterativo, el trabajo G es generar imágenes falsas con características tan reales que logre «engañar» a la etapa D, momento en que se considera que la GAN está entrenada y en la aplicación se usa solo la etapa G. Tanto la etapa G como la etapa D se implementan usando capas convolucionales. En el caso de G, se realizan operaciones convolucionales para hacer una reducción de dimensionalidad en las imágenes y posteriormente una operación inversa o deconvolucional, hasta generar una imagen de iguales dimensiones a la imagen de entrada. La etapa D, por su parte, usa operaciones convolucionales hasta el punto de tener un clasificador binario que decida si la imagen generada es real (se asigna un valor de 1) o falsa (se asigna un valor de 0).
CAPAS CONVOLUCIONALES
Las operaciones convolucionales en imágenes están inspiradas en el córtex visual del ojo humano, en donde algunas células se especializan en detectar formas particulares, como líneas y bordes. A lo largo de la jerarquía de la corteza, la complejidad de los estímulos se va incrementando. De manera análoga, las capas convolucionales conectadas en una jerarquía permiten que las primeras capas detecten características simples de la imagen y, a medida que se incrementan las capas, se van logrando niveles mayores de abstracción. Esta cualidad confiere a las redes neuronales convolucionales la capacidad de «ver» e identificar objetos. Específicamente, cada neurona de un mapa de características está conectada a una región de neuronas vecinas en la capa anterior. El nuevo mapa de características se puede obtener haciendo una convolución de la entrada y luego aplicando una función de activación.
UNIDAD LINEAL RECTIFICADA
La unidad lineal rectificada (ReLU, Rectified Linear Unit) es una de las funciones de activación no saturada más notable, la cual se define como:
donde z(i,j,k) es la entrada de la función de activación en la ubicación (i,j) en el canal k - th. ReLU es una función lineal por partes que poda la parte negativa a cero y retiene la parte positiva. La simple operación max(·) de ReLU le permite computar mucho más rápido que las funciones de activación sigmoide o tanh(·), y también induce la dispersión en las unidades ocultas y permite a la red obtener fácilmente representaciones dispersas. Se ha demostrado que las redes profundas pueden ser entrenadas eficientemente usando ReLU17.
REDES CONDICIONALES GENERATIVAS ANTAGÓNICAS
Las GAN son modelos generativos que aprenden un mapeo a partir de un vector de ruido aleatorio z para una imagen de salida y, G:z→y. Por su parte, las redes condicionales generativas antagónicas (cGAN) aprenden a partir de la imagen de entrada x y el vector de ruido aleatorio z5, es decir, G:x,z→y. Este tipo de red es muy utilizado en métodos que requieren una traslación de imagen a imagen.
Método
En este apartado se describe la metodología usada para la obtención de los datos y la implementación del algoritmo propuesto.
Obtención de la base de datos
Las imágenes utilizadas en este trabajo se obtuvieron de vídeos de distintos repositorios públicos, así como de vídeos proporcionados por un grupo de médicos especialistas en cirugía laparoscópica. Puede verse un vídeo comparativo de los resultados de los métodos propuestos en un vídeo quirúrgico real en https://www.youtube.com/watch?v=QvUKcHonCHw&feature=youtu.be. De los vídeos disponibles se obtuvieron 6000 imágenes representativas de diferentes niveles de afectaciones por humo. Para generar los datos de entrada se simuló artificialmente el humo, usando el software de procesamiento gráfico de código abierto Blender, formando imágenes de entrada con dimensiones de 512 × 512 píxeles.
Métricas
Para tener una visión del desempeño del método propuesto en este trabajo se evalúan los resultados empleando métricas ampliamente utilizadas en la literatura: la proporción máxima de señal a ruido (PSNR, Peak Signal-to-Noise Ratio) y el índice de similitud estructural (SSIM, Structural Similarity Index). A continuación se explican brevemente estos conceptos:
– La PSNR es una medida cuantitativa de la calidad de una reconstrucción18. Se utiliza ampliamente en imágenes. Para definir la métrica PSNR es necesario definir el error cuadrático medio (MSE, Mean Squared Error), el cual, para dos imágenes monocromas I y J de tamaño m × n, se define como:
Y la PSNR se obtiene mediante una relación logarítmica de base 10 dada por:
donde MAX = 2B − 1 y B es el número de bits utilizados en la imagen. Valores altos de PSNR indican mejores restauraciones.
– El SSIM es una métrica de similitud de imagen perceptiva que fue propuesta como alternativa al MSE y la PSNR para aumentar la correlación con la evaluación subjetiva. Para las imágenes originales y reconstruidas I y J, el SSIM se define como:
donde m, s y sIJ son la media, la varianza y la covarianza de las imágenes, respectivamente.
Método propuesto
El método propuesto se basa en el supuesto de que una red neuronal cGAN tiene un mejor rendimiento en tanto su entrada sea más parecida a su salida esperada. Se espera entonces que al aplicar el canal oscuro antes de entrenar la red neuronal, el rendimiento de esta se vea incrementado. Para realizar un análisis del rendimiento del enfoque propuesto se propusieron tres experimentos:
1) Técnica basada en el canal oscuro:
El canal oscuro ha dado excelentes resultados en tareas de dehazing; no obstante, el problema abordado es distinto, ya que la atmósfera no es homogénea, por lo que ya no existe una relación entre el canal oscuro y la distancia de los objetos. Sin embargo, la distancia d(x) de la cámara al cuerpo humano es despreciable, por lo cual el canal oscuro tiene una correspondencia directa con el coeficiente de dispersión β. Por esta razón, el canal oscuro tiene también validez para esta condición. La relación entre el canal oscuro y la transmisión se puede expresar como:
Sustituyendo (1) en (5) y considerando además que la atmósfera no es homogénea, se obtienen diferentes coeficientes de dispersión para cada elemento (x,y):
Por tanto:
Suponiendo la distancia del cuerpo constante y ω=1:
Podemos decir que la relación del canal oscuro con la transmisión está en función ahora del coeficiente y la densidad de partículas β en cada uno de los píxeles, resultando útil para la eliminación de los efectos.
En la figura 2 se muestra el método basado en el DCP implementado.
2) Utilizando la cGAN propuesta:
En la figura 3 se muestra un diagrama de la red neuronal utilizada. En las tablas 1 y 2 se muestran la arquitectura y los hiperparámetros del generador y del discriminador empleados. Como función de optimización en la red neuronal se empleó la estimación del momento adaptativo (ADAM, Adaptive Moment Estimation). Este algoritmo es una extensión del descenso de gradiente estocástico para actualizar los pesos de red de forma iterativa en función de los datos de entrenamiento; recientemente ha visto una adopción más amplia para aplicaciones de aprendizaje profundo en visión por computadora y procesamiento de lenguaje natural. Como métrica de pérdida se utiliza el MSE, el cual se usa como la función de pérdida para la regresión.
Capa | Conv | Kernel | Salto | Definición | Tamaño |
---|---|---|---|---|---|
1 | 64 | 4 | 2 | Conv->Batchnorm->Leaky ReLU | (256, 256, 4) |
2 | 128 | 4 | 2 | Conv->Batchnorm->Leaky ReLU | (128, 128, 128) |
3 | 256 | 4 | 2 | Conv->Batchnorm->Leaky ReLU | (64, 64, 256) |
4 | 512 | 4 | 2 | Conv->Batchnorm->Leaky ReLU | (32, 32, 512) |
5 | 512 | 4 | 2 | Conv->Batchnorm->Leaky ReLU | (16, 16, 512) |
6 | 512 | 4 | 2 | Conv->Batchnorm->Leaky ReLU | (8, 8, 512) |
7 | 512 | 4 | 2 | Conv->Batchnorm->Leaky ReLU | (4, 4, 512) |
8 | 512 | 4 | 2 | Conv->Batchnorm->Leaky ReLU | (1, 1, 512) |
9 | 512 | 4 | 2 | Deconv->Batchnorm->ReLU->Dp(0.5) | (2, 2, 1024) |
10 | 512 | 4 | 2 | Deconv->Batchnorm->ReLU->Dp(0.5) | (4, 4, 1024) |
11 | 512 | 4 | 2 | Deconv->Batchnorm->ReLU->Dp(0.5) | (8, 8, 1024) |
12 | 512 | 4 | 2 | Deconv->Batchnorm->ReLU->Dp(0.5) | (16, 16, 1024) |
13 | 512 | 4 | 2 | Deconv->Batchnorm->ReLU | (32, 32, 1024) |
14 | 256 | 4 | 2 | Deconv->Batchnorm->ReLU | (64, 64, 512) |
15 | 128 | 4 | 2 | Deconv->Batchnorm->ReLU | (128, 128, 256) |
16 | 64 | 4 | 2 | Deconv->Batchnorm->ReLU | (256, 256, 128) |
17 | 3 | 4 | 2 | Tanh | (512, 512, 3) |
Capa | Conv | Kernel | Salto | Definición | Tamaño |
---|---|---|---|---|---|
1 | 64 | 4 | 2 | Conv->Batchnorm->Leaky ReLU | (256, 256, 4) |
2 | 128 | 4 | 2 | Conv->Batchnorm->Leaky ReLU | (128, 128, 128) |
3 | 256 | 4 | 2 | Conv->Batchnorm->Leaky ReLU | (64, 64, 256) |
4 | 0 | 0 | 0 | ZeroPadding2D | (32, 32, 512) |
5 | 512 | 4 | 1 | Conv | (16, 16, 512) |
6 | 0 | 0 | 0 | BatchNorm->Leaky ReLU->ZeroPadding | (8, 8, 512) |
7 | 1 | 4 | 1 | Conv | (4, 4, 512) |
3) Usando una combinación de los enfoques mencionados:
Las imágenes de entrada en la figura 3 son las imágenes de salida J de la figura 2. La evaluación del desempeño para cada caso se representa en la figura 4, en la que se muestra la metodología propuesta para evaluar el desempeño de las tres configuraciones mencionadas.
Resultados
En las figuras 5 y 6 se muestra la comparación de las métricas SSIM y PSNR para los métodos DCP, cGAN y DCP-cGAN. La primera observación importante en estas figuras es la mejora significativa de los métodos cGAN y DCP-cGAN frente a la reconstrucción basada únicamente en DCP, el cual alcanzó valores de SSIM = 0.75 y PSNR = 20.71, mientras cGAN alcanzó valores de SSIM = 0.88 y PSNR = 24.79. En cuanto al desempeño entre cGAN y DCP-cGAN, se observa que la métrica de PSNR fue ligeramente superior para DCP-cGAN, con un valor PSNR = 25.00, frente a PSNR = 24.79 logrado por cGAN. En el caso de la métrica SSIM, cGAN obtuvo un valor medio de SSIM = 0.88, frente a SSIM = 0.87 con DCP-cGAN. El hecho de agregar una etapa previa DCP antes de la cGAN abre un camino a una arquitectura de deep learning que enfoque el aprendizaje en las regiones de mayor incidencia de humo. Los resultados actuales pueden ser mejorados ajustando los parámetros del canal oscuro, así como hiperparámetros como el número de capas ocultas, el número de convoluciones por capa y tamaño de los filtros en la convolución, entre otros.
Discusión
La figura 7 muestra una comparación que permite observar cualitativamente el desempeño de los distintos métodos implementados. Si bien la técnica basada únicamente en DCP logra reducir de manera significativa la presencia de humo en las imágenes, se puede apreciar también una alteración en los colores originales. Por su parte, la técnica basada solo en GAN conserva mejor los colores originales de la imagen y logra una buena reducción del humo, pero algunos detalles finos, principalmente los bordes y los reflejos de luz, se ven alterados con respecto al ground-truth. Finalmente, el método propuesto DCP + GAN logra una reducción del humo conservando también los colores originales, así como una mejor recuperación de zonas con altos niveles de brillo y de bordes, en comparación con cada una de las técnicas por sí solas.
Los resultados cuantitativos y cualitativos indican que la combinación de cGAN con una etapa previa en la que se calcule el canal oscuro ayuda a la identificación de las regiones con presencia de humo, haciendo que la generación de imágenes sintéticas por parte de cGAN se enfoque más en dichas regiones que en el resto de la imagen. Algo muy importante que se debe mencionar es que, aunque se visualiza un mejor rendimiento con el método propuesto DCP + cGAN, la ventaja no es significativa en términos estadísticos, ya que como se puede ver en las figuras 5 y 6 existe un solapamiento en los boxplots; sin embargo, los resultados son un buen punto de inicio para la experimentación de una mezcla de conceptos más refinada.
Conclusiones
En este artículo se propone un método para mejorar la reducida visibilidad en imágenes laparoscópicas causada por la obstrucción visual debida al humo generado por la combustión de los tejidos durante la cirugía. El método propuesto se basa en la combinación de un método clásico de procesamiento, el DCP, y un método de inteligencia artificial, la cGAN. Este método es capaz de reducir la influencia del humo en la imagen de salida y recuperar la gama de colores similar a la imagen original, mostrando que un método híbrido puede incrementar el desempeño de otros métodos. Esta combinación de técnicas ha mostrado tener un alto desempeño en la reconstrucción de las imágenes objetivo, de acuerdo con las métricas PSNR e SSIM usadas en el presente trabajo.
Este artículo abre un nuevo panorama en la investigación relacionada al mostrar que la mezcla de un método clásico con uno de inteligencia artificial puede superar los resultados de ambos aislados. Como trabajo futuro, se espera mejorar el comportamiento de la cGAN al agregar una función de pérdida especialmente diseñada para la resolución del problema expuesto. Por otra parte, se plantea hacer una búsqueda exhaustiva de los parámetros en el modelo de dispersión con el fin de ajustar la etapa de preprocesamiento en la entrada de la cGAN.