Revista de la Facultad de Ingenierías y Tecnologías de la Información y Comunicación. Año 3, Volumen 2, Número 6, Julio Diciembre 2019 Tecnología Vital Julio Diciembre 2019 34 Interpolación de Lagrange para el Análisis del Ritmo Circadiano en Plantas Lagrange Interpolation for the Analysis of the Circadian Rhythm in Plants Fabian Fallas-Moya Sede del Atlántico, Universidad de Costa Rica, Costa Rica fabian.fallasmoya@ucr.ac.cr Luis Barboza-Barquero CIGRAS. Universidad de Costa Rica. San José, Costa Rica luisorlando.barboza@ucr.ac.cr Ronald Arias Sede del Atlántico. Universidad de Costa Rica. Cartago, Costa Rica ronald.ariasmadriz@ucr.ac.cr Jairo Calderón Sede del Atlántico. Universidad de Costa Rica. Cartago, Costa Rica jairo.calderon@ucr.ac.cr Manfred Gonzalez-Hernández Sede del Atlántico. Universidad de Costa Rica. Cartago, Costa Rica. manfred.gonzalezhernandez@ucr.ac.cr Recibido 22/abr/2019 Aprobado 20/may/2019 Resumen- La visión por computadora colabora en muchos aspectos de áreas interdisciplinarias. En el caso de la agronomía permite analizar muchos aspectos relevantes con respecto a las plantas. Un aspecto que tiene mucha importancia en agronomía es el ritmo circadiano de las plantas. Este aspecto provee información útil para la agronomía, pues, indica la expresión de genes relacionados con el crecimiento y puede ser analizado mediante el movimiento de las hojas de una planta durante algunos días. El objetivo de esta investigación es presentar un algoritmo basado en la interpolación de Lagrange para determinar si un conjunto de puntos representa un ritmo circadiano o no, en plantas de papaya. Esto es de suma relevancia ya que los algoritmos actuales generan funciones armónicas en lugar de algoritmos exactos mediante interpolaciones. Palabras Claves: agronomía, visión por computadora, ritmo circadiano, interpolación, lagrange. Abstract Context: Computer vision collaborates in many aspects of interdisciplinary areas. In the case of agronomy, it allows analyzing many relevant aspects with respect to plants. One aspect that is very important in agronomy is
Revista de la Facultad de Ingenierías y Tecnologías de la Información y Comunicación. Año 3, Volumen 2, Número 6, Julio Diciembre 2019 Tecnología Vital Julio Diciembre 2019 35 the circadian rhythm of plants. This aspect provides useful information for agronomy since it indicates the expression of genes related to growth and can be analyzed by the movement of the leaves of a plant for a few days. The objective of this research is to present an algorithm based on Lagrange interpolation to determine if a set of points represents a circadian rhythm or not, in papaya plants. This is very important since the current algorithms generate harmonic functions instead of exact algorithms by interpolation. Keywords: agronomy, computer vision, circadian rhythm, interpolation, lagrange. I. INTRODUCCIÓN El ritmo circadiano es un proceso inherente en muchos organismos vivos. Por ejemplo, en los seres humanos controla ciertos aspectos metabólicos como el sueño (Saavedra Torres, Zúñiga Cerón, Navia Amézquita, & Vásquez López, 2013). El ritmo circadiano afecta a los seres vivos en periodos de 24 horas (Kumar, 2017). En el caso de las plantas, sus hojas tienden a moverse durante el día, esto sin importar si hay luz o humedad que afecte directamente a las mismas (Capel, Lozano, Martínez-Zapater, & Jarillo, 2003). En agronomía, entender el ritmo circadiano de una planta puede proveer información útil acerca de la expresión de sus genes. Además, analizar el movimiento de las hojas de una planta es una buena alternativa no invasiva de analizar el movimiento circadiano (Müller, y otros, 2016). Esta investigación plantea un algoritmo que genere una función matemática que represente el movimiento de las hojas de una planta de manera exacta para responder si existe un patrón o no (Fallas-Moya & Torres-Rojas, 2016). Existen soluciones interesantes para el análisis de movimiento del ritmo circadiano. Por ejemplo, TRiP (Greenham, Lou, Remsen, Farid, & McClung, 2015) es un software que toma videos de plantas y responde con la función armónica que se ajusta al ritmo circadiano presente en dichas plantas. Sin embargo, nosotros de antemano contamos con las coordenadas y lo que queremos es generar la función polinómica exacta que nos indiquen esas coordenadas y no función armónica. Se analizaron videos de plantas de papaya por su importancia en el mercado. La papaya es el tercer producto en importancia a nivel mundial con una producción de 11.22 millones de toneladas (Evans & Ballen, 2015). La figura 1 muestra una imagen de la que se obtuvieron los datos. En este caso los datos son coordenadas que se obtuvieron al rastrear el movimiento de las hojas. Figura 1. Una imagen de las plantas de papaya de las que se obtuvieron las coordenadas de los movimientos de las hojas. Nuestros datos corresponden a los movimientos de las hojas de las plantas, coordenadas que fueron obtenidas mediante técnicas de visión por computadora. El problema que se tiene es que algunas coordenadas muestran un movimiento erróneo del ritmo circadiano y otras imágenes muestran un movimiento errático. Se utilizó la interpolación polinómica según lo definido por (Hazewinkel, 1988), (Sauer & Xu, 1995) y (Montiel & Cantoral, 2003). Es la interpolación de un conjunto dado de puntos por el polinomio del grado más bajo posible
Revista de la Facultad de Ingenierías y Tecnologías de la Información y Comunicación. Año 3, Volumen 2, Número 6, Julio Diciembre 2019 Tecnología Vital Julio Diciembre 2019 36 que pasa a través de esos puntos, como se puede observar en la figura 2. Figura 2. Un ejemplo de una interpolación sobre un conjunto de puntos (fuente propia). Con el conjunto de coordenadas se utilizó la interpolación de Lagrange para tener una función a partir de esos puntos. Con el método de Lagrange (Burden & Faires, 2015), si x0, x1,... , xn son n + 1 números distintos y f es una función cuyos valores se dan en estos números, entonces existe un polinomio único P (x) de grado (al menos) n existe con f (xk) = P (xk), para cada k = 0, 1, ..., n. Este polinomio está dado por donde, para cada k = 0, 1, . . . , n, La figura 2 muestra un ejemplo de una interpolación de Lagrange utilizando las fórmulas anteriores. Con la función polinómica restante, podemos analizar dicho polinomio para definir si un conjunto de puntos representa un movimiento circadiano. En la siguiente sección (materiales y métodos) se profundiza en la explicación del algoritmo propuesto. En la sección “Resultados y discusión” se analiza los resultados de nuestros experimentos, y al final se establecen conclusiones de la investigación. Materiales y métodos Para interpretar coordenadas lo que se consideró fue un método que nos indicara si hay un patrón de movimiento. Si se observa la figura 3, se puede apreciar que una manera es considerar todos los puntos como una sola función, y de esta manera cuando se observa que entre dos puntos hay una distancia elevada (como los puntos 17/22:33 y 18/1:12, figura 3), esto puede ser un indicador de que los puntos no muestran un patrón de movimiento. En contraposición, si tenemos una función como la presentada en la figura 4, podemos observar que entre cada par de puntos la pendiente no es pronunciada y hay un patrón de movimiento. Figura 3. Un ejemplo de un conjunto de puntos que no representan un ritmo circadiano adecuado. Figura 4. Un ejemplo de un conjunto de puntos que si representa un ritmo circadiano.
Revista de la Facultad de Ingenierías y Tecnologías de la Información y Comunicación. Año 3, Volumen 2, Número 6, Julio Diciembre 2019 Tecnología Vital Julio Diciembre 2019 37 Es por lo anterior que, para generar el algoritmo, tomamos todos los puntos y generamos una función de interpolación de Lagrange. Debido a que en algunos casos existen más de 80 puntos, esto generaría una función con un grado mayor a 79, como se indica en la fórmula presentada en la sección anterior. Para cualquier lenguaje de programación no es factible de calcular, debido a las restricciones de punto flotante. Por otro lado, según los polinomios de Lagrange, el grado del polinomio es n, siendo n + 1 el número de puntos; como consecuencia, la función polinómica puede tener muchas curvas y tener un comportamiento errático con un grado alto del polinomio. Es decir, a pesar del hecho de que la función pasa sobre todos los puntos, el margen de error entre dos puntos consecutivos (con respecto al movimiento real de la hoja) puede ser alto. Como resultado, nuestra implementación de Lagrange utiliza grupos de 12 puntos para generar diferentes polinomios (con grado 11). Al final se analizó la pendiente entre cada par de puntos (de todos los polinomios), y si la pendiente es demasiado alta, hay un desplazamiento anormal de un punto a otro y este desplazamiento anormal nos da la alerta que indica que los puntos tienen un movimiento irregular. Luego de este análisis inicial, realizamos dos pasos más para filtrar algunos casos extremos (corner cases). Al usar esos polinomios es probable que se ignoren algunos picos (valores extremos), lo cual es un error. Como resultado, después del análisis de Lagrange, realizamos una detección de picos simple. La heurística es sencilla, para cada par de puntos consecutivos, hay un umbral para un cambio máximo en el eje y (un valor de pendiente máximo). Por otro lado, si un conjunto de puntos contiene pequeños cambios en el eje y, formando una línea, el conjunto no es significativo. Por lo tanto, el segundo paso es obtener el punto máximo (según el eje y) y el mínimo. Estos se restan, y el resultado debe mostrar una diferencia significativa (al menos 30 pixeles de diferencia), de lo contrario, el conjunto no es significativo (como se muestra en la figura 3). II. RESULTADOS Y DISCUSIÓN Para experimentar, se programó el algoritmo en Python. Usamos un video de una planta de papaya grabada en un laboratorio en Costa Rica con una cámara GoPro Hero4, donde se tomaron fotografías en intervalos. La primera imagen (fotografía) se tomó el 16 de mayo de 2018 a las 14:00, y la última imagen se tomó el 18 de mayo de 2018 a las 17:30, es decir, 51 horas cubiertas y una cantidad de 87 imágenes (una imagen cada 30 minutos). Cada imagen tiene una dimensión de 2560x1920 píxeles. Con nuestro algoritmo, pudimos tomar 87 conjuntos de puntos y descartar aquellos conjuntos que tienen un comportamiento inusual. De los 87 conjuntos de puntos, 3 dieron un resultado positivo (como el que se muestra en la figura 4), mostrando la efectividad del algoritmo con datos reales de una planta de papaya (se logró la efectividad del 100% en estos datos). Diferentes investigaciones toman en cuenta la posición relativa de la hoja (Müller, y otros, 2016) para rastrear el movimiento circadiano; basados en el hecho de que la posición original es diferente en las plantas, estas coordenadas fueron normalizadas para un análisis meramente objetivo del movimiento. De manera exitosa, nuestro algoritmo logra distinguir cuando un conjunto de puntos pertenece o no a un ritmo circadiano. Se observó un nivel bajo de las hojas al comienzo del experimento. Luego se incrementó mostrando un nivel alto alrededor de las 23:00 horas. Después de eso, empezaron a caer, repitiéndose durante los siguientes días. Las implicaciones en el período (tiempo para un ciclo completo) y la fase (tiempo hasta el pico más alto) se
Revista de la Facultad de Ingenierías y Tecnologías de la Información y Comunicación. Año 3, Volumen 2, Número 6, Julio Diciembre 2019 Tecnología Vital Julio Diciembre 2019 38 tratarán en el trabajo futuro. Los gráficos resultantes son útiles para comprender el comportamiento del ritmo circadiano en la papaya. III. CONCLUSIONES El algoritmo propuesto utiliza la interpolación de puntos para llevar a cabo un análisis de patrones. En concreto, primero se generan polinomios de Lagrange grado 12 y luego se lleva a cabo un análisis de la pendiente entre cada par de puntos. El análisis toma en cuenta la pendiente de la recta entre esos puntos y de esta manera se puede indicar si el conjunto muestra un patrón o no. Además, el algoritmo lleva a cabo un análisis final de casos extremos (corner cases) para tomar en cuenta si los puntos muestran una línea, en cuyo caso, no hay un patrón de movimiento. Esta investigación tomó en cuenta 87 conjuntos de puntos, en los que el algoritmo se comportó de manera satisfactoria, teniendo un acierto del 100% para la tarea que se buscaba, que fue, saber discernir si un conjunto de puntos mostraba un patrón de movimiento o no. Por lo tanto, el algoritmo resultante es una herramienta útil para la agronomía, y en específico, para el problema de analizar el ritmo circadiano. El método puede implementarse en estudios relacionados con fisiología, genética y fitomejoramiento. Además, el algoritmo propuesto debe ser probado en otros cultivos. Como trabajo futuro, proponemos otra técnica de interpolación polinomial como la interpolación de trazadores cúbicos para mantener un grado del polinomio bajo, ya que utiliza un polinomio de grado 3 por cada par de puntos (Mckinley & Levine, 1998). También se puede utilizar la técnica de Optical flow (Horn & Schunck, 2003) y que puede indicar si existe algún tipo de movimiento, como alternativa a la creación de una interpolación de puntos. IV. REFERENCIAS Burden, R., & Faires, J. (2015). Numerical Analysis. Boston, USA: Brooks/Cole. Capel, J., Lozano, R., Martínez-Zapater, J., & Jarillo, J. (2003). Ritmos y relojes circadianos de las plantas. Ecosistemas. Obtenido de http//www.aeet.org/ecosistemas/031/revisiones2.htm Evans, E., & Ballen, F. (2015). Una mirada a la producción, el comercio y el consumo de papaya a nivel mundial. University of Florida Institute of Food and Agricultural Sciences. Obtenido de https://edis.ifas.ufl.edu/fe917 Fallas-Moya, F., & Torres-Rojas, F. (2016). Object Recognition Using Hierarchical Temporal Memory. Intelligent Computing Systems, 1-14. doi:10.1007/978-3-319-76261-6_1 Greenham, K., Lou, P., Remsen, S., Farid, H., & McClung, C. (2015). TRiP: Tracking Rhythms in Plants, an automated leaf movement analysis program for circadian period estimation. Plant Methods. doi:https://doi.org/10.1186/s13007-015-0075-5© Hazewinkel, M. (1988). Encyclopaedia of Mathematics. España: Soviet Encyclopaedia Publishing House. Horn, B., & Schunck, B. (2003). Determining optical flow. Artificial Intelligence Laboratory, Massachusetts Institute of Technology, Cambridge, MA 02139, U.S.A., 185-203. doi:https://doi.org/10.1016/0004-3702(81)90024-2 Kumar, V. (2017). Introduction: special issue on “Rhythms, Calendar and Biological Processes”. Biological Rhythm Research, 673-675.
Revista de la Facultad de Ingenierías y Tecnologías de la Información y Comunicación. Año 3, Volumen 2, Número 6, Julio Diciembre 2019 Tecnología Vital Julio Diciembre 2019 39 doi:https://doi.org/10.1080/09291016.2017.1345423 Mckinley, S., & Levine, M. (1998). Cubic Spline Interpolation. 10491060. Montiel, G., & Cantoral, R. (2003). Una presentación visual del polinomio de lagrange. Revista de Didáctica de las Matemáticas, 3-22. Obtenido de http://funes.uniandes.edu.co/3396/ Müller, N., Wijnen, C., Srinivasan, A., Ryngajllo, M., Ofner, I., Lin, T., . . . Jiménez-Gómez, J. (2016). Domestication selected for deceleration of the circadian clock in cultivated tomato. Nature Genetics, 8993. Obtenido de https://www.nature.com/articles/ng.3447 Saavedra Torres, J., Zúñiga Cerón, L., Navia Amézquita, C., & Vásquez López, J. (2013). Ritmo circadiano: el reloj maestro. Alteraciones que comprometen. Morfolia. Sauer, T., & Xu, Y. (1995). Mathematics of Computation. American Mathematical Society, 1147-1170. doi:10.2307/2153487