3.4 Estrategias en el entrenamiento de la red
3.4.2 Data aumentation
El reducido número de framesque contienen algunas bases de datos como elchallenge público en el que se pretende segmentar las partes de los instrumentos que formen parte de la intervención quirúrgica así como la base de datos propia en la cual se trata el problema de segmentación a partir de una operación de laparoscopia en hígados humanos es una dificultad a la que hay que hacer frente si se quieren conseguir unos resultados coherentes sin que la red llegue a aprenderse los framesde la fase detrain.
Como solución a dicho problema, se ha optado por llevar a cabo una fase de aumento de datos previa al proceso de entrenamiento de tal forma que se garantice que a partir de losframesoriginales, se van a crear, de forma aleatoria, ciertosframescon un determinado ángulo de giro, una determinada traslación posible tanto en el ejexcomo en el ejey, así como una leve distorsión de la imagen que asemeje las situaciones en las que por cualquier motivo, la lente de la cámara empleada para monitorizar la intervención puede no proporcionar una imagen lo suficientemente claro dando lugar a unos framescon una cierta borrosidad.
De esta forma, dentro del aumento de datos se van a producir tres alteraciones en las imágenes originales, rotación, traslación y aplicación del filtro Blur, las cuales serán aplicadas, dependiendo de la alteración, tanto a la imagen RGB así como a su correspondiente GTa fin de intentar proporcionar una mayor variedad a la entrada y evitando en cierto modo, un aprendizaje casi por completo de los datos disponibles al ser estos de una cantidad tan pequeña. Así, el proceso seguido en la aplicación de las variaciones en los diferentesframes ha sido el siguiente:
48 Capítulo 3. Modelado del problema
• Rotación: Estará comprendida entre −5◦ y 5◦ de tal forma que se permita el giro de la imagen tanto a derechas como a izquierdas una vez calculado el punto medio de dicha imagen. El valor del ángulo a girar será elegido de forma aleatoria en cada uno de losframes de entrada y será siempre con variación de una unidad, produciéndose por lo tanto en todos los casos, ángulos enteros a girar. • Traslación: El proceso de traslación es llevado a cabo de una forma muy similar al de rotación solo que en este caso se elegirá en cada frame de forma aleatoria los píxeles a desplazarse para el ejex así como para el ejey. En ambos casos el rango será de−10 a 10, cubriendo así todos los sentidos, arriba-abajo y derecha-izquierda. En la traslación, así como en la rotación, las variaciones será de una unidad por lo que los desplazamientos se producirán de píxel en píxel en todos las direcciones. • Aplicación de una ROI: Una vez realizada la rotación así como la traslación, antes de aplicar una leve distorsión en la imagen, se seleccionará una ROI de la propia imagen a fin de eliminar los posibles píxeles en negros obtenidos tras los cambios de posición de la imagen, píxeles que al ser representados en RGB con (0,0,0) serían considerados como clase fondo, pudiendo perjudicar el baremo de clases realizado durante el entrenamiento con el objetivo de dar pesos a las clases en función de su frecuencia de aparición. Este baremo será comentado en detalle en la parte de entrenamiento. De esta forma, la región a seleccionar se elegiría de dimensiones acorde a cada una de las bases de datos probadas, ya que recordemos que no todas ellas teníanframescon el mismo tamaño. Garantizando así que esos pocos píxeles incluidos tras el desplazamiento fueran descartados al disminuir ligeramente el tamaño de la imagen.
• Filtro Gaussian-Blur: Es la única de las alteraciones que no se realiza sobre elGTde la imagen de entrada, el resto de variaciones sí. En este caso lo que se busca es desenfocar la imagen a través de un filtro que emplea una función gaussiana con la que se calcula la trasnformación que hay que aplicar a cada píxel que conforma la imagen, provocando así una sensación de borrosidad. De esta forma, la ecuación de una función gaussiana en dos dimensiones quedaría representada según se muestra en3.2: [33]
G(x, y) = 1 2πσ2e
−x2+y2
2σ2 (3.2)
Una vez conocida la expresión de una función gaussiana en dos dimensiones y haciendo uso de las librerías de OpenCV disponibles, se puede implementar un filtro gaussiano-Blur de forma muy sencilla con solo especificar el tamaño delkernel, ya que si no se indica nada más, la propia función interpretará que el cálculo deσse realizará a partir de las dimensiones del propiokernel. La función empleada en este caso escv2.GaussianBlur(), cuya documentación sobre su funcionamiento se puede encontrar en [34].
En cuanto a las dimensiones delkernel, éstas serán elegidas de forma aleatoria entre una sucesión de valores especificada previamente, siendo éstos: 1, 3, 5 y 7. En este caso, unkernel de 1 implica que no se produciría sensación de borrosidad en la imagen mientras que a media que aumente el valor, la distorsión será cada vez mayor, siendo por lo tanto, 7, el valor menos apropiado. En base a esto, a la hora de proporcionar uno de los cuatro valores disponibles, se ha optado por asignar a cada uno de ellos una probabilidad de repetición, lo que indicaría que cuanto menor sea esta probabilidad, menos veces saldrá dicho valor como tamaño delkernel. De esta forma, las probabilidades empleadas fueron 0.5, 0.3, 0.15 y 0.05 respectivamente, observándose que a medida que se incrementa el valor delkernel, la probabilidad de repetición es cada vez menor.
Es importante mencionar que en los tres casos, se ha intentado que las modificaciones producidas en la imagen no sean excesivas y puedan, de esta forma, simular un frame que podría existir perfectamente
3.4 Estrategias en el entrenamiento de la red 49
tras un ligero movimiento o giro de la cámara encargada de la grabación o simplemente que dicha imagen pudiera estar más borrosa o menos según las condiciones que se estuvieran dando durante la intervención. Por último, es importante mencionar que este aumento de datos se realiza únicamente en el conjunto de datos de entrenamiento ya que el de validación haría uso de los frames tal cual, sin sufrir ninguna variación.