Técnicas de Visión Computacional para determinar el estado fitosanitario en plantaciones de brócoli

Computer vision techniques to determine the health status in broccoli plantations

Darwin Caina
Universidad Central del Ecuador, Ecuador
René Carillo
Universidad Central del Ecuador, Ecuador
Marcelo Carrillo
Laboratorios Siegfried S.A., Ecuador

Siembra

Universidad Central del Ecuador, Ecuador

ISSN: 1390-8928

ISSN-e: 2477-8850

Periodicidad: Semestral

vol. 4, núm. 1, 2017

siembra.fag@uce.edu.ec

Recepción: 31 Marzo 2017

Aprobación: 02 Mayo 2017



DOI: https://doi.org/10.29166/siembra.v4i1.499

Autor de correspondencia: drcaina@uce.edu.ec

Resumen: La demanda de brócoli se ha incrementado notablemente en las últimas décadas debido a los beneficios que el consumo de este producto ofrece para la salud humana. Esto plantea nuevos retos para los productores, quienes cada vez más se apoyan en la tecnología para mejorar sus procesos productivos, incrementar los rendimientos y con ello satisfacer la demanda actual. Uno de los campos de la tecnología que ha cobrado interés en la producción agrícola es la aplicación de modelos de Visión Computacional, la cual puede proporcionar soporte y asistencia en la producción de alimentos. En este trabajo se propone un algoritmo basado en la detección de color del brócoli, el cual, a nivel “macro”, sea capaz de identificar problemas fitosanitarios en plantaciones de brócoli; y, a nivel “micro”, pueda ser empleada para identificar el producto apto para la comercialización y el consumo. El desarrollo del algoritmo utiliza herramientas de software libre, como OpenCV y Python, lo cual refleja que estas herramientas pueden ser desarrolladas a bajo costo; y que sus resultados son similares o superiores a los obtenidos con softwares comerciales.

Palabras clave: visión computacional, brócoli, procesamiento de imágenes, OpenCV, HSV.

Abstract: The demand for broccoli has increased significantly in the last years due to the benefits of its consumption for human health. This poses new challenges for producers, who increasingly rely on technology to improve production processes, increase yields and thereby meet the current demand. One of the technology fields that has gained interest in crop production the use of Computer Vision models, which can provide support and assistance in food production. This paper proposes an algorithm based on color detection of broccoli, which, at the macro level can identify phytosanitary problems in broccoli plantations; and, at the micro level can be used to identify the product that is suitable for consumption. The algorithm uses open source tools such as OpenCV and Python, so that it can be developed at low cost with results similar or better than those obtained with commercial softwares.

Keywords: computer vision, broccoli, digital image processing, OpenCV, HSV.

1. Introducción

La producción y demanda de brócoli se han incrementado considerablemente en las últimas décadas debido, fundamentalmente, a los beneficios que su consumo acarrea para la salud humana, por los nutrientes que este posee (Kehr & Diaz, 2012). En gran medida, debido al aumento de la demanda de esta hortaliza, en los últimos años se ha evidenciado el interés por parte de los productores para utilizar recursos tecnológicos modernos para mejorar los procesos en la cadena de producción de esta hortaliza. Sin duda, el aparecimiento y rápido avance de las nuevas tecnologías han contribuido a la adopción de estas herramientas de una manera confiable por parte de los agricultores.

La Visión Computacional y el Procesamiento Digital de Imágenes, como un componente más del primero, son tecnologías que actualmente han cobrado mucha importancia en varias disciplinas, debido a que la Visión Computacional o Visión de Máquina, emula la percepción visual del hombre, con el objeto de cumplir ese rol en ciertas tareas (Szeliski, 2011).

Los resultados obtenidos con el uso de estas tecnologías, han incentivado a un mayor número de agricultores para introducir estas herramientas en sus labores diarias con un cierto nivel de confianza y de efectividad.

En el ámbito de la agricultura, las técnicas de Visión Computacional han sido utilizadas exitosamente, por ejemplo, clasificar frutas (Bajaj & Sharma, 2014), asistir el cultivo de lechuga (Fernández et al., 2013), identificar plagas y evaluar el nivel de afectación en cultivos (Huddar et al., 2012), así también el reconocimiento automatizado de los vegetales (Biswas & Hossain, 2013). Existen varias experiencias en el cultivo de brócoli, entre las cuales se destaca el trabajo de Wilhoit, et al. (1990) sobre la determinación del tamaño de la cabeza del brócoli.

Uno de los aspectos característicos del brócoli es su color, en base al cual, por ejemplo, es posible determinar el estado fitosanitario y la aptitud para el consumo, características que se determinan de forma visual. Por ejemplo, un color verde oscuro, generalmente indica que el brócoli está en buen estado. Similarmente la regularidad en el color en una plantación refleja un cultivo saludable, y rendimientos potencialmente buenos.

Con estos antecedentes, en el presente trabajo se propone el desarrollo de un algoritmo basado en técnicas de visión computacional y procesamiento digital de imágenes para: i) identificar problemas fitosanitarios en el cultivo de brócolis, y ii) determinar si el producto está listo para el consumo.

2. Materiales y métodos

2.1 Datos

Los datos fotográficos se recolectaron en una plantación de brócoli ubicada en el cantón Machachi, provincia de Pichincha. Los datos para analizar el cultivo (datos tipo 1) fueron tomados a través de una cámara del dron “Phantom 3” (Dji, 2017), y los datos para analizar el estado fitosanitario del brócoli (datos tipo 2) fueron capturados con una cámara fotográfica digital Nikon. Para la recolección de datos se realizó un seguimiento por varias semanas a la plantación, tomando en consideración que el brócoli presenta sus propias fases de cultivo, las cuáles son: crecimiento, inducción floral, formación de pellas, floración y fructificación (Santoyo & Martínez, 2011). Los datos tipo 1 fueron tomados en las etapas de formación de pellas (Figura 1a), y los datos tipo 2 fueron tomados en la etapa de floración (Figura 1b).

a) Toma aérea de un cultivo de brócoli, obtenida con el dron,
b) Toma fotográfica de diferentes tipos de brócoli,
obtenida con la cámara fotográfica
Figura 1
a) Toma aérea de un cultivo de brócoli, obtenida con el dron, b) Toma fotográfica de diferentes tipos de brócoli, obtenida con la cámara fotográfica

Los datos tipo 1 son útiles para analizar a través del color, cualquier anormalidad en el cultivo, es decir, una coloración no uniforme y discontinua, constituye una alarma para el encargado del cultivo, el cual debe inspeccionar las posibles causas de esta anomalía, y tomar las correcciones para evitar complicaciones posteriores.

Para capturar el segundo tipo de datos, se buscó tener un escenario controlado, con el propósito de mostrar de manera más clara los resultados esperados. Al igual que con los datos tipo 1, se utilizó el criterio del color, es decir, en base a esta característica se determinó e identificó el producto considerado saludable y apto para el consumo humano.

Luego de haber definido el origen y el tipo de los datos, se procedió a plantear un algoritmo para el análisis del brócoli basado en el uso del color, el mismo que está fundamentado en técnicas de Visión Computacional (Figura 2), y que fue implementado mediante la utilización del lenguaje de programación Python y de las librerías OpenCV (Howe, 2013). Ambos softwares son gratuitos, con lo cual se cumple los lineamientos y regulaciones gubernamentales, en lo concerniente a la utilización de softwares libre con el objeto de alcanzar la soberanía y autonomía tecnológica del país (MCCTH, 2017).

Algoritmo para el análisis del estado fitosanitario del brócoli basado en el color.
Figura 2
Algoritmo para el análisis del estado fitosanitario del brócoli basado en el color.

Las librerías OpenCV (Open Source Computer Vision), desarrolladas por Intel mediante código C/C++, las mismas que proporcionan varios algoritmos para el procesamiento de imágenes y de visión por computadora. La Figura 3, muestra la estructura de OpenCV. La versión de OpenCV 3.0, es la empleada para el desarrollo de este trabajo.

 Estructura
básica de OpenCV.
Figura 3
Estructura básica de OpenCV.
Bradski & Kaehler (2008)

Python, es un lenguaje de programación interpretado o de script, usa tipado dinámico, es multiplataforma y orientado a objetos. Fue creado por Guido van Rossum a finales de los años ochenta y tiene una licencia de código abierto denominada Python Software Foundation Licence. La versión de Python utilizada en el presente trabajo es la 2.7.11.

2.2. Algoritmo

Antes de proseguir es importante hacer una descripción del algoritmo propuesto, indicando los principales fundamentos y tareas realizadas en cada uno de los bloques del algoritmo mostrado en la Figura 2.

a) Imagen Original. - Son las fotografías tomadas en base a lo descrito en la Figura 1, y que han sido almacenadas en el computador en formato JPEG, con un tamaño de 4000x3000 píxeles para las fotografías aéreas tomadas con el dron, y con un tamaño 4608x3456 píxeles para las fotografías tomadas con la cámara digital.

b) Escalar. - En base a lo descrito en el literal a, las fotografías son de gran tamaño, por lo que es recomendable reducir su tamaño para un mejor manejo de las imágenes dentro del desarrollo del algoritmo y su visualización. En este sentido se tomó un factor de reducción al 25% del tamaño original.

c) RGB a HSV. - Generalmente los dispositivos electrónicos obtienen las imágenes en términos de RGB (red, green, blue), sin embargo, en situaciones donde la descripción del color es de gran interés, se usa el modelo HSV (hue, saturation, value), ya que un color determinado se puede distinguir más fácilmente en HSV (Hamachi, et al., 2013). El espacio de color RGB se representa en coordenadas rectangulares, mientras que el HSV es un espacio de color que se representa en coordenadas cilíndricas, tal como se aprecia en la Figura 4. En el caso del brócoli, su color característico va desde el color verde intenso a verde grisáceo (Kehr & Díaz, 2012).

a) Espacio de color RGB, b) Espacio de color HSV.
Figura 4
a) Espacio de color RGB, b) Espacio de color HSV.
Latoschik (2006)

d) Operaciones morfológicas. - Estas permiten cambiar la forma y la estructura de las regiones de píxeles. Luego de filtrar el color deseado con HSV, se obtiene una imagen binaria, es decir, una imagen únicamente con dos valores, generalmente los píxeles filtrados en base al color toman un valor de 1 o 255 (color blanco), y el resto de los elementos de la imagen son ceros (color negro). En esta nueva imagen, hay elementos dispersos, es decir, píxeles que posiblemente no tienen relación con un determinado objeto dentro de la imagen, los cuáles pueden ser eliminados a través de una operación denominada de erosión, mientras que ciertas regiones que presentan “huecos”, pueden ser llenadas a través de una operación de dilatación.

e) Determinación de contornos. - Es el último paso del algoritmo que permite identificar los diferentes grupos de pixeles agrupados dentro de la imagen, luego que se han aplicado las operaciones morfológicas. Un algoritmo utilizado para este propósito es el de Douglas-Peucker (Ramer, 1972), el cual identifica los grupos de píxeles y extrae ciertos descriptores como el centro de gravedad del conjunto de píxeles, las coordenadas del cuadrado circunscrito, entre otros, con cuyos valores se procede a dibujar los cuadrados en la imagen escalada sobre el brócoli identificado, y en donde se puede ver claramente los resultados del algoritmo propuesto.

3. Resultados y discusión

Para validar el algoritmo propuesto en la Figura 2, se ha realizado las pruebas con los dos tipos de datos expuestos en la Figura 1. La determinación del color verde a filtrar se realizó experimentalmente de acuerdo a las características de color del brócoli en la fotografía, es así que, para la fotografía captada mediante el uso del dron, se definió un rango de valores para el color verde, el cuál fue filtrado con HSV. El límite inferior tiene los valores H=90, S=10, V=20, y el límite superior fue H=150, S=255, V=255. La Figura 5 muestra resultado de aplicar cada uno de los pasos del algoritmo propuesto con una fotografía, con el objetivo de identificar las zonas que presentan una coloración uniforme y continua, lo cual es un indicador de un cultivo saludable, mientras que la discontinuidad en las hileras del cultivo hace prever un cultivo con anomalías. En los resultados se observa que el algoritmo permite filtrar solo el rango de color fijado, por tal motivo la hierba que está dentro de la plantación de brócoli no ha pasado el filtro establecido, y simplemente ha sido eliminada para el resto del proceso.

Estos resultados obtenidos en el primer caso pueden ser de utilidad para el productor, ya que permiten identificar en primera instancia y de una manera rápida, las zonas con un desarrollo normal, y por otro lado las zonas que exhiben algún tipo de problema. En plantaciones grandes, el reconocimiento visual por parte del encargado del cultivo sería un proceso complejo y dilatado, por lo que el uso de esta técnica sería más efectivo y recomendable en plantaciones de gran extensión.

Caracterización
cualitativa de la plantación de brócoli, basado en su coloración.
Figura 5
Caracterización cualitativa de la plantación de brócoli, basado en su coloración.

Un segundo experimento se muestra en la Figura 6. En el mismo se identifican pellas de brócoli que están en “buen estado”, es decir, se marcan solamente aquellas que cumplan cierto nivel de color y se ignoran las que están fuera de ese rango. Con esto se pretende emular la evaluación visual de un productor y seleccionar solo aquellas pellas que se considera tienen la apariencia deseada. Es decir, el algoritmo marca solo las hortalizas que están aptas para el consumo. Para lograr este propósito, con el segundo tipo de datos, se utilizó nuevamente la segmentación basada en color, con el espacio de color HSV, definiendo el rango de color también calculado de una manera experimental, en donde el límite inferior tomó valores de H=55, S=20, V=100, mientras que el límite superior tuvo los siguientes valores H=85, S=60 y V=255.

Detección
de pellas en buen estado, según su coloración.
Figura 6
Detección de pellas en buen estado, según su coloración.

A pesar de los buenos resultados obtenidos, es importante destacar que este tipo de tecnología no garantiza una confianza del 100% para reemplazar a la inspección visual del ser humano, ya que la estructura de las máquinas en donde se ejecutan estos algoritmos, no son comparables a la anatomía de los seres humanos. Sin embargo, son resultados que muestran que estas herramientas pueden ser de gran ayuda para asistir al agricultor en la toma de decisiones.

El algoritmo propuesto puede ser una alternativa al método propuesto por Wilhoit (Wilhoit, 1990), para determinar el tamaño de las cabezas de brócoli, pero esta vez usando el color en vez del análisis de texturas. Hay que tener presente que un problema de este tipo no tiene solamente una vía de solución, ya que un mismo problema puede ser resuelto con diferentes técnicas de Visión Computacional.

4. Conclusiones

logía de Visión Computacional para evaluar el estado fitosanitario del cultivo de brócoli e identificar el tiempo propicio para cosecha y consumo, con la ventaja de que emplea menos recursos y toma menor tiempo.

La selección de un rango de color adecuado es vital, el mismo que por medio del espacio de color HSV, permite obtener buenos resultados en la segmentación, lo que hace posible aislar los elementos de interés, discriminando incluso ciertos elementos como malezas, las cuales pese a tener un color similar al del brócoli, son eliminadas o simplemente no son tomadas en cuenta para las siguientes etapas del algoritmo.

La utilización de herramientas de software libre y gratuito, permiten obtener una herramienta de bajo costo, y al mismo tiempo confiable; lo que demuestra que los resultados aquí obtenidos son similares e incluso superiores a los obtenidos con herramientas comerciales que se emplean para este mismo fin.

Para determinar de una manera exacta la posible localización de las irregularidades dentro del sembrío, se podría tomar los datos del GPS que posee el dron, lo que haría posible crear un mapa de la plantación en donde se puedan mostrar las posibles zonas que requieren una atención particular.

En un siguiente estudio se podría agregar algoritmos de aprendizaje de máquina, lo cual permitiría hacer predicciones y estimaciones de los sitios que presentan anomalías en el cultivo, y de esta forma, sería posible atender esas zonas conflictivas, ya sea con un tratamiento en terreno, o la eliminación de alguna plaga o enfermedad.

Referencias

Bajaj, D., & Sharma, S. (2014). A Survey of Machine Vision Techniques for Fruit Sorting and Grading. International Journal of Engineering Research & Technology, 3(7), 1187-1193.

Biswas, H., & Hossain, F. (2013). Automatic Vegetable Recognition System. International Journal of Engineering Science Invention, 2(4), 377-41.

Bradski, G., & Kaehler, A. (2008). Learning OpenCV. Sebastopol, California (USA): O’Reilly Media, Inc.

Dji. (2017). Phantom 3 Professional Specs. Recuperado de: http://www.dji.com/phantom-3-pro/info#specs.

Fernández, D., Escarabajal, D., Ruiz, A., Conesa, J., & Molina, J. (2013). A digital image-processing-based method for determining the crop coefficient of lettuce crops in the southeast of Spain. Biosystems engineering, 117, 23-34.

Hamachi, T., Tanabe, H., & Yamawaki, A. (2013). Development of a Generic RGB to HSV Hardware. Proceedings of the 1st International Conference on Industrial Applications Engineering, Kitakyushu, Japan.

Huddar, S., Gowri, S., Keerthana, K., Vasanthi, S., & Rupanagudi, S. (2012). Novel algorithm for segmentation and automatic identification of pests on plants using image processing. Computing Communication & Networking Technologies (ICCCNT).

Howe, J. (2013). OpenCV Computer Vision with Python. Birmingham: Packt Publishing Ltd.

Kehr, M., & Díaz, P. (2012). Producción de Brócoli para la Agroindustria. Temuco, Chile. Recuperado de: http://www2.inia.cl/medios/biblioteca/informativos/NR38925.pdf.

Latoschik, M. (2006). Color Models. Recupera do de: https://www.techfak.uni bielefeld.de/ ags/wbski/lehre/digiSA/WS0607/3DVRCG/ Vorlesung/8a.RT3DCGVR-color.pdf

MCCTH. (2017). Decreto Ejecutivo N° 1014. Quito-Ecuador: Ministerio Coordinador de Conocimiento y Talento Humano Recuperado de: https://softwarelibre.conocimiento.gob.ec/documentos-tecnicos/decreto-1014/

Ramer, U. (1972). An Iterative Procedure for the Polygonal Approximation of Plane Curves. Computer Graphics and Image Processing, 1, 244-256.

Santoyo, J., & Martínez, C. (2011). Tecnología de producción de brócoli. Sinaloa, México: Fundación Produce Sinaloa A.C. Recuperado de: http://www.fps.org.mx/portal/index.php/component/phocadownload/category/35-otros?download=171:tecnologia-de-produccion-de-brocoli.

Szeliski, R. (2011). Computer Vision: Algorithms and Applications. London: Springer.

Wilhoit, J., Byler, R., Koslav, M., & Vaughan. (1990). Broccoli Head Sizing Using Image Textural Analysis. Transactions of th ASAE, 33(5), 1736-1740.

Notas de autor

drcaina@uce.edu.ec

Modelo de publicación sin fines de lucro para conservar la naturaleza académica y abierta de la comunicación científica
HTML generado a partir de XML-JATS4R