Las redes neuronales convolucionales son una evolución de las redes neuronales artificiales multicapa. La ventaja de este tipo de redes es su capacidad de adaptación a tareas de visión por computador, ya que asemejan su funcionamiento al de las neuronas de la corteza visual primaria de un cerebro biológico. La diferencia de este tipo de redes con las redes neuronales es su arquitectura multicapa formada por capas de consolación (convolution) y reducción (pooling). Estas arquitecturas son capaces de detectar bordes, lineas, etc y componer en características más complejas hasta detectar lo que se buscan.
La principal desventaja inicial de este tipo de redes fue su necesidades de cómputo. Debido al alto número de operaciones que deben realizar es necesario contar con equipos de cómputo especializados para esta tarea. Esto se consigue con computadores equipados con tarjetas gráficas GPU (graphics processing unit), capaces de realizar millones de operaciones por segundo gracias a sus procesadores dedicados a tal fin. Gracias a los avances en computación originados por las tarjetas GPU, hoy en día somos capaces de computar gran cantidad de imágenes para poder diseñar e implementar modelos basados en visión por computador. A esto lo conocemos como Deep Learning (aprendizaje profundo) ya que debemos trabajar con miles de imágenes para poder modelar las redes neuronales convolucionales.
En el proyecto presentado aquí se ha trabajado con aproximadamente 10000 imágenes por año. En total en torno a las 25000 imágenes totales. Estas imágenes han sido capturadas en la plantación de ciruelo japonés de la Finca La Orden-Valdesequera, donde se encuentra la parcela de cultivo utilizada en el proyecto. Consta de una superficie de 2 ha de ciruelo japonés donde hay principalmente 3 variedades de ciruela con diferentes ciclos de maduración, Angeleno, Black Diamond y Red Beaut.
Entre los objetivos del proyecto encontramos la necesidad de detectar la semana de maduración de la ciruela con la que se trabaja utilizando para ello imágenes RGB. Dichas imágenes han sido adquiridas con una cámara de fotos convencional en condiciones no controladas, es decir en la propia plantación de ciruelo japonés. Por cada variedad se han adquirido imágenes semanalmente o quincenalmente desde que nace la ciruela hasta el día de su recolección. Con ello se obtiene el ciclo completo de maduración de la ciruela en el árbol.
Una vez obtenidos los data set de imágenes con las diferentes variedades es hora de utilizar el Depp Learning y las redes neuronales convolucionales para poder detectar la variedad de cada ciruela. Para poder obtener los resultados que presentamos a continuación se han utilizado varias máquinas de cómputo equipadas con tarjetas GPU NVida Tesla K20c, Nvidia GeForce GTX 1080 y Nvidia GeForce GTX 1080ti. La implementación y obtención de los modelos realizados con las redes neuronales convolucionales se han llevado a cabo con la plataforma llamada NVIDIA DIGITS, con los framework Caffe y Tensorflow la cual nos ha permitido desplegar redes como AlexNet o GoogleNet con el objetivo de obtener modelos capaces de detectar la variedad de la ciruela.
Para poder modelar una red neuronal convolucional que permita detectar la semana de maduración de una ciruela debemos trabajar con un conjunto de imágenes únicas de la variedad en cuestión. Aquí presentamos los resultados obtenidos utilizando TensorFlow sobre el framework DIGIST para la variedad de Angeleno. Es la variedad con el ciclo más largo, por lo que las capturas en el campo se distanciaban entre 15 y 20 días, ya que la ciruela no presenta grandes cambios en su fase central de maduración. La siguiente imagen muestra el modelo obtenido con 17000 imágenes aproximadamente. Si vemos la eficacia de la red en el acierto de la semana concreta de maduración podemos observar que se obtiene un 80% de aciertos. Pero si aumentamos el rango de error de la red en + - 1 semana, el porcentaje de acierto de la red es del 92%.