Implementación de una aplicación móvil para diagnósticos de problemas en orquídeas con representación de resultados en 3D
IMPLEMENTATION OF A MOBILE APPLICATION FOR THE DIAGNOSIS OF PROBLEMS IN ORCHIDS WITH REPRESENTATION OF RESULTS IN 3D
Ana Lau1
Nathalie Solís1
Euclides Samaniego González2*
1Licenciatura en Ingeniería de Sistemas y Computación
Facultad de Ingeniería de Sistemas Computacionales
Universidad Tecnológica de Panamá,
2Grupo de Investigación en Inteligencia Computacional
GIICOM-Facultad de Ingeniería de Sistemas Computacionales
Universidad Tecnológica de Panamá
Resumen El presente proyecto consiste en un sistema experto para el diagnóstico de las enfermedades de las orquídeas, convirtiéndose en una herramienta para facilitar el proceso de cultivo y cuidado de las orquídeas. Primeramente, se le suministran al sistema los datos de las características de la orquídea a evaluar; obtenidos mediante un cuestionario. Luego de diagnosticar el problema, se muestran las recomendaciones necesarias para evitar que el problema encontrado se siga esparciendo en la orquídea. Al final se presenta una simulación de una orquídea en holograma 3D con las características del problema que se le diagnosticó.
Palabras claves Orquídea, sistema experto, holograma.
Abstract This research consists in an expert system for the diagnostic of orchid diseases, becoming in a tool to help the cultivation and care process of the orchids. At first, the user should provide the data of the characteristics of the orchid to the system to be evaluated; acquired through a questionnaire. After the diagnostic of the problem, the system shows the recommendations to avoid spreading the problem in the orchid. Finally, it displays a simulation of an orchid in 3D hologram with the characteristics of the diagnosed problem.
Keywords Orchid, expert system, hologram.
* Corresponding author: [email protected]
1. Introducción
Es indudable que desde tiempos prehistóricos el problema de enfermedades y plagas en plantas ya existía, sin embargo, con la llegada de la mano del hombre en el rol de agricultor, se ha ido tratando la tierra para practicar el cultivo. Cuando los factores que inciden en provocar problemas en las plantas tomaron un mayor protagonismo, se da inicio a la búsqueda de estrategias que contrarrestaran el daño encontrado.
Debido a esto, se han venido realizando prácticas conocidas como la de emplear insecticidas (en el caso de plagas), cortes, entre otras, todas ellas con un solo objetivo: mantener sana y en buen estado la planta.
Sin embargo, el alto porcentaje de pérdidas de cultivos ha representado para los agricultores una constante lucha por emplear la mejor solución y disminuir los daños, sin considerar los efectos pocos estudiados o controvertidos que sufre la plantación al aplicar ciertos procedimientos.
La tecnología ha demostrado ser el mejor aliado respecto a este tema, al permitir sintetizar un amplio conocimiento previo, que manejado de la mejor forma coopera en gran medida a realizar análisis en detalle de la problemática hallada y poder entonces determinar la solución adecuada.
Es por ello que han surgido herramientas tales como los sistemas expertos, que contienen un banco de conocimiento aplicado a dar explicación o posible solución a inquietudes surgidas; representaciones gráficas, que buscan describir por medio de modelos bidimensionales o tridimensionales situaciones encontradas; y aplicaciones móviles, que permiten una mayor movilidad de uso de software sin necesidad de un computador de escritorio.
2. Materiales y métodos
2.1 Antecedentes
Un sistema experto es un sistema elaborado con técnicas de inteligencia artificial que, de igual forma que el experto humano al que intenta emular, resuelve los problemas complejos y difíciles que se circunscriben a un dominio específico y delimitado [1].
El sistema experto emplea herramientas que lo ayudan a imitar el raciocinio humano para dar resolución a diversos problemas. Esto lo logra mediante una base de conocimientos, los cuales son proporcionados por un especialista humano en un determinado campo, luego implementados en esta base para que el sistema experto “imite” en su desarrollo como si fuese el especialista en cuestión.
Además, el sistema experto debe tener la capacidad de justificar el porqué de sus decisiones y de las soluciones dadas y mantener un nivel de confianza [2].
Según David Chiles, las aplicaciones (apps) son softwares diseñados para un dispositivo móvil que utiliza un sistema operativo móvil (OS).
Un sistema operativo móvil le permite instalar aplicaciones en los dispositivos móviles. Los dispositivos móviles son ordenadores de mano que se pueden utilizar sin ajuste de ellos hacia abajo.
Los teléfonos celulares, teléfonos inteligentes, tabletas, y asistentes digitales personales (PDA) son los dispositivos móviles [3].
Las apps están presentes en los teléfonos desde hace tiempo; de hecho, ya estaban incluidas en los sistemas operativos Nokia o BlackBerry años atrás. Los móviles de esa época, contaban con pantallas reducidas y muchas veces no táctiles, y son los que ahora llamamos feature phones, en contraposición a los smartphones más actuales [4].
En pocas palabras, una aplicación es esencialmente un software. Para comprender su concepto, las apps son especialmente para móviles, así como los software son para computadores.
Hay que tener claro que para diseñar una aplicación móvil se toman en cuenta algunos aspectos básicos como: el tipo de software, el modelo de negocios y la utilidad que tenga la misma.
El éxito de las apps radica en que solo es necesario contar con un dispositivo móvil que tenga la aplicación instalada (o descargarla) y poder utilizarla en cualquier sitio o área de estudio.
En la rama de computación, cuando hablamos de representación 3D, hacemos referencia a las tres dimensiones de un objeto: largo, ancho y profundidad, aunque técnicamente hablando, el único mundo en 3D, es el mundo real; el ordenador solo permite simular gráficos en 3D, debido a que toda imagen que proviene de este solo contiene dos dimensiones: alto y ancho.
Para que exista animación, la descripción del objeto debe variar con respecto al tiempo: movimiento de objetos y cámaras, cambio de luces y formas, entre otras [5].
La realidad virtual surge desde el siglo XIX, cuando en 1844, Charles Wheatstone crea “el estereoscopio”, el cual fue la base de los primeros observadores de realidad virtual. La técnica consistía en el uso de dos fotografías de manera casi idéntica, pero con la pequeña diferencia en el punto de toma de la imagen; estas son observadas por cada ojo de forma separada y el cerebro la mezcla en una sola, permitiendo una visión de efecto tridimensional. El término holograma proviene del griego, fue acuñado por el físico húngaro Dennis Gabor (1900-1979), tomando la palabra griega holos cuyo significado es completo; más la palabra grama, que significa letra, tratado, carta, dibujo, documento.
Según la RealAcademia Española tiene como definición: “Placa fotográfica obtenida mediante holografía”, y holografía como: “Técnica fotográfica que, mediante iluminación por láser, permite obtener imágenes tridimensionales en color” [6].
Existen diversas técnicas dependiendo de la magnitud y el uso en que se quiere proyectar un holograma: Proyector, Pirámide o Prisma Holográfica.
2.2 Caracterización del problema
Por la falta de conocimiento en el tratamiento para el proceso de cultivo de las orquídeas, además la realización un mal diagnóstico de los problemas que presenta una planta puede provocar daños irreversibles, o inclusive la muerte de la misma.
2.3 Justificación
Al utilizarse tecnologías que permiten de una manera u otra diagnosticar posibles problemas encontrados en una planta no basta con solo tener informes escritos o estadísticos, ya que no necesariamente sean especialistas agrícolas los que consulten un sistema experto o sistema basado en conocimiento orientado a diagnosticar en plantas.
Por tal razón, se desarrolla un sistema de consultoría que nos permite visualizar en detalle las deficiencias, enfermedades de la planta y representaciones visuales.
Con la implementación de este sistema de ayuda orientado a diagnosticar problemas en orquídeas, se busca instruir a las personas que se dedican a cultivar orquídeas, ya que se ha generado un incremento de incertidumbre al momento de diagnosticar un tipo de problema. El sistema que se está proponiendo, aplicando una de las técnicas de inteligencia artificial para la creación del sistema experto, intenta proporcionar un monitoreo adecuado del estado físico de la planta para obtener diagnósticos correctos.
2.4 Restricciones y limitaciones
Basado exclusivamente para el sistema operativo móvil Android. Configurado para ciertas versiones Android.
Para la visualización de los hologramas se hace necesario el uso de un prisma adecuado al tamaño del dispositivo móvil.
2.5 Objetivos
Implementar una aplicación móvil para diagnósticos de problemas en orquídeas con representación de resultados en 3D.
3. Diseño del sistema
3.1 Modelo propuesto del sistema
La aplicación móvil actúa como intermediario entre los diferentes flujos de datos, en donde el usuario ingresa los datos de acuerdo a las peticiones que la aplicación le envíe. Los datos captados entran al sistema experto, desde el cual se realiza la transferencia de datos al servidor (ver figura 1).
Figura 1. Diagrama del sistema base a desarrollar.
Este servidor está enlazado con una base de conocimiento y una base datos. Con la base de conocimiento, se ejecuta un intercambio de datos para verificar que los datos que fueron ingresados por el usuario concuerde con el conocimiento almacenado, para entonces dar paso una nueva transferencia de datos hacia el sistema experto, de donde sale la información que recibe la aplicación móvil, y es mostrado como paquete de diagnóstico con holograma incluido.
3.2 Evaluación de las Técnicas de Inteligencia Artificial Hardware
El aplicativo móvil está compuesto por un sistema basado en decisiones, debido que la inteligencia artificial tiene diferentes formas y técnicas de interpretar y resolver problemas.
Algunas técnicas que se plantearon usar para resolver el sistema basado en decisiones son: Redes neuronales, redes bayesianas y árboles de decisión.
Debido a su arquitectura escalonada para la toma de decisiones decidimos utilizar árbol de decisión para el sistema propuesto.
3.3 Evaluación de los lenguajes de programación para la creación de la aplicación Android
Existen varios tipos de lenguajes de programación para crear aplicaciones o plataformas web robustas, para que solucionen un problema en específico o ayude a impulsar a la sociedad de alguna manera. Los lenguajes analizados para la creación del sistema fueron los siguientes: JavaScript, C# y Java.
Se decidió tomar el último porque cuenta con las características necesarias para una buena personalización e integración con distintos tipos de lenguaje, para así desarrollar distintas plataformas.
3.4 Evaluación de los entornos de desarrollo 3D
La visualización en 3D ha permitido cambiar la perspectiva de la realidad en que vivimos, logrando proyectar ideas que antes eran imposibles.
Para las representaciones en 3D del sistema propuesto, se han considerado dos entornos de desarrollo de amplio uso y de fuertes características de modelado y animación de objetos virtuales: Autodesk 3ds Max y Blender. Para el sistema propuesto, utilizamos Blender, porque se obtiene el mismo resultado mucho más rápido y mantiene una excelente calidad en sus gráficos y animaciones.
3.5 Diagrama del sistema final
El modelo del sistema final está desarrollado en el lenguaje de programación Java, orientado para el desarrollo de aplicaciones Android. Dentro del sistema, se ha tomado en consideración una de las herramientas de inteligencia artificial, árboles de decisiones basados en rutas, que permiten un mejor desenvolvimiento para la comparación de respuestas dentro el funcionamiento del sistema experto (ver figura 2).
3.6 Diagrama de secuencia
Un diagrama de secuencia permite mostrar como un grupo de objetos interaccionan entre sí a través del tiempo. En comparación con
Figura 2.Diagrama del Sistema Final.
el diagrama de casos de uso, el diagrama de secuencia muestra en mayor detalle cómo se implementan las conexiones entre cada objeto en un escenario, considerando aspectos internos y externos del sistema. A continuación, se muestran los diagramas secuenciales del aplicativo en donde se detallan las acciones que fluyen dentro del sistema entre cada uno de los objetos.
3.6.1 Diagrama de secuencia de login
En el diagrama de la figura 3, muestra el usuario inicia abriendo la aplicación. Se encuentra con la interfaz de login que muestra un formulario que debe llenar en los campos de usuario y contraseña para tener acceso.
Figura 3. Diagrama secuencial de login.
Al terminar de ingresarlos, estos datos se envían a un control de validación el cual se conecta a la base de datos para buscar que el usuario y contraseña captados estén registrados. Luego, la base de datos devuelve un resultado de su búsqueda al control de validación: en caso tal de que exista, inmediatamente activa la pantalla de menú principal, de lo contrario, se notifica que existe un error debido a que el usuario introducido no existe.
3.6.2 Diagrama Secuencial de Orquídeas
En el diagrama de la figura 4, se detalla cuando el usuario entra al menú principal, donde muestra las opciones disponibles para navegar en el aplicativo. De las opciones, elige la opción de Orquídeas, permitiendo activar la pantalla Orquídeas.
Figura 4. Diagrama secuencial de orquídeas.
Esta interfaz presenta varias pestañas: ¿Qué son?, Tipos, Factores y Problemas. Cada vez que el usuario selecciona una de estas pestañas, se muestra la información que contiene dependiendo de la temática indicada, siendo este un subproceso dentro de la misma interfaz de Orquídeas.
3.6.3 Diagrama Secuencial de informes
En el diagrama de la figura 5, se detalla cuando el usuario entran al menú principal, y muestran las opciones disponibles para navegar en el aplicativo.
De las opciones, elige la opción de Informes, permitiendo activar la pantalla Informes.
Al acceder a esta interfaz, ella realiza una solicitud a la base de datos para que le transfiera los diagnósticos almacenados. Cada vez que se entre a la interfaz de Informes se actualizan las tablas que muestran al usuario información de los diagnósticos que ha realizado utilizando el sistema experto.
Figura 5. Diagrama Secuencial de Informes.
3.7 Diseño de salidas gráficas
3.7.1 Modelado
En el modelado de orquídeas se empleó el software Blender, dedicado al modelado y animación de objetos en 3D.
Para la creación de moldes se basó de figuras básicas predeterminadas en Blender (plano, cilindros, etc.).
Y con herramientas que nos brinda el programa se fue dando forma y relieves a los diferentes objetos.
Al tener listo el molde, se emplean las configuraciones de U/V Image Editor se procede a darle color y texturas a las plantas.
Con el fin de darle una textura más real a las orquídeas se hizo referencia a varias fotos de orquídeas con sus respectivos síntomas para que cumplan con los estados especificados.
Se utilizaron diversas texturas reales tales como se muestra en la figura 6, dependiendo de la parte a mostrar de la planta: pétalos, hojas, tallos, tierra, raíces; con esto se logra un mejor efecto de diseño en la orquídea.
Figura 6. Muestra de algunas texturas utilizadas.
Al tener el molde con la textura seleccionada, se realiza un reconocimiento de la textura para que se pueda visualizar en modo de renderizado. Para lograr esto se configura el molde en modo objeto. En la opción de Texture, se inserta la imagen de la textura que se va a utilizar (ver figura 7).
Figura 7. Inserción de la textura de un pétalo.
Cuando ya el molde tenga la textura deseada, se aplica el modificador Smooth para suavizar la malla minimizando los ángulos entre las caras que están adyacentes.
Figura 8. Moldes unificados sin textura (izq.) y moldes unificados con sus respectivas texturas y pulidos (der.).
En la figura 8, se muestran los pétalos unificados, la imagen a la izquierda está sin textura, luego a cambiar el modo del objeto de sólido a textura, se puede ver cómo queda la textura integrada a los pétalos y así poder pulirlas si es necesario, tal y como se muestra en la figura en la parte derecha. Al renderizarse, se puede ver la diferencia del aspecto de la flor en modo edición, versus uno de mayor realismo como se muestra en la figura 9.
Figura 9. Visualización de la orquídea renderizada.
De la misma manera como se diseñaron los pétalos, también se procede para hacer las hojas, pote y tallos pote (ver figura 10).
Y empleamos Join para unir las hojas, tallos y, sin olvidar los pétalos de la orquídea.
Al final hacemos otra vez Join para tener un solo objeto renderizado (ver figura 11).
Figura 10. Creación y modelado de hojas, pote y tallos.
Figura 11. Visualización final de la orquídea.
3.7.2 Animación
Luego de terminar con el moldeado de las diferentes plantas se procede a implementar la animación.
Para la animación hicimos que la cámara gire en torno a nuestro objeto, en este caso, en torno a nuestra planta.
Para hacer la trayectoria del recorrido en que la cámara seguirá mientras enfoca a la planta, se utilizó Shift A/ Curve/ Path (ver figura 12). Este es nuestra guía para la cámara.
Figura 12. Configuración de la trayectoria.
Se puede agregar más nodos o vértices en el Path si deseamos para darle una mejor forma al camino del recorrido de la cámara (ver figura 13).
Figura 13. Configuración de los movimientos: modo renderizado.
3.7.3 Videos holográficos
Después de haber renderizado nuestras animaciones, se procede con la realización de los videos holográficos se utiliza el programa Sony Vegas Pro 13.
Se cargan uno a uno los videos de las orquídeas en formato de video .avi, en el área de edición de videos en el Sony Vegas, tal y como se muestra en la figura 14.
Figura 14. Video de la orquídea insertado en modo edición.
Luego se procede a modificar el fondo del video en el cual la orquídea estaba. Esto se logra a través de la opción de Efectos de evento, el cual permite modificar diferentes partes del video insertado.
En este caso se utiliza la opción de la Ventana de Plugins, Clave Cromática Sony, la cual permite quitar el color de fondo, (ver figura 15) lo cual por defecto el fondo toma una tonalidad oscura (negro), que permite que en el video holográfico se pueda apreciar solo el objeto animado, en este caso las orquídeas (ver figura 16).
Luego de este procedimiento, se duplican las pistas de video. En este caso se utilizan 4 pistas del mismo video modificado (ver figura 17).
Se selecciona pista por pista y se configuran sus coordenadas para que encajen con las 4 perspectivas que serían reflejadas en el prisma. Se selecciona los vértices del objeto del video (orquídea) y se va moviendo, rotando o cambiando de tamaño hasta encontrar la posición adecuada. De esta manera, al correrlos se mueven al mismo tiempo solo que en posiciones contrarias.
Figura 15. Configuración del la herramienta de clave cromática sobre el fondo del objeto en el video
Figura 16. Comparación del video con el fondo original y el video sin fondo.
Figura 17. Vista de la línea de pistas de video en Sony Vegas.
Para culminar, se exporta el video con las 4 perspectivas archivo en formato .mp4 en alta definición (HD) logrando un efecto como en la figura 18.
Figura 18. Video holográfico final.
4. Desarrollo y prueba del sistema
4.1 Codificación de la programación
Para la creación del login del aplicativo se escribió en Código Java – Android y la utilización integrado de HTML5 y CSS3.
Para comunicar nuestro login con nuestra base de datos se utiliza código PHP.
4.2 Codificación y pruebas
Enla figura 19, se muestracuando se despliega el menú principal con las opciones habilitadas al usuario. También se puede observar, que cuando el usuario valida su identidad, aparece su nombre de usuario, en este ejemplo es ANA.
Figura 19. Pantalla de Menú Principal de OrquiCare.
A continuación, en la figura 20, el usuario elige la opción de ORQUÍDEAS, donde se despliegan las opciones de Orquídeas, Géneros, Factores Influyentes y Problemáticas.
Figura 20. Opciones de Orquídeas.
De las opciones mostradas en la pantalla anterior de la figura 21, la opción de Orquídeas muestra contenido informativo sobre las orquídeas para ilustrar al usuario acerca de esta planta y todo lo concerniente a ella.
Es importante esta información, ya que así el usuario puede tener más claro qué tipo de flores son las que están cultivando y de qué manera conviven en nuestro hábitat.
Como se observa en la figura 22, la información mostrada es ilustrada para un mejor entendimiento.
Figura 21. Pantalla informativa de Orquídeas.
Figura 22. Parte informativa de Orquídeas.
Cuando el usuario elige la opción SEDFAR del Menú Principal mostrado en la figura 23, esta se dirige al sistema experto encargado de realizar los diagnósticos sobre las orquídeas.
Figura 23.Parte informativa de Orquídeas.
Luego de dar clic en el botón Empezar de la pantalla de SEDFAR, da inicio a una serie de formularios, los cuales muestran preguntas de acuerdo a las partes físicas de la orquídea. Se muestra entonces una interrogante con sus opciones a elegir (ver figura 24).
Figura 24. Ejemplo de formulario de SEDFAR.
Cuando el usuario termine de llenar todos los formularios se mostrará la pantalla de Diagnosticar (ver figura 25), en el cual, al dar clic en el botón de Comenzar, da inicio a realizar internamente la comparación de las respuestas elegidas por el usuario con la base de conocimiento para dictaminar que le sucede a la orquídea en estudio.
Figura 25. Pantalla de Diagnosticar.
4.3 Pruebas de software
El sistema logra con éxito encontrar la problemática, muestra en detalle la proyección del video holográfico emitido desde la aplicación, el ejemplo de una orquídea con los síntomas de la problemática diagnosticada (ver figura 26).
Figura 26. Video holográfico en Prisma.
4.4 Manejo de errores
Dentro del manejo de errores, en la pantalla de login (ver figura 27) si el usuario no ingresa algún dato, se muestra un mensaje de “Completa este campo”, de lo contrario no podrá acceder al sistema y mandar.
Figura 27. Pantalla de login con Manejo de Errores.
Si el usuario intenta de alguna manera ingresar una cuenta de usuario inexistente, el sistema mandará un mensaje de error (ver figura 28).
Figura 28. Manejo de error de usuario.
Cuando el usuario está dentro de los formularios de SEDFAR, si no elige alguna de las opciones mostradas, el sistema no le permitirá avanzar al siguiente formulario y el mostrará un mensaje indicando “Error, Elija una opción” (ver figura 29).
Figura 29. Formulario con Manejo de Errores.
5. Consideraciones finales
El análisis de los requisitos del aplicativo móvil, fueron adquiridos mediante metodología de recolección de información, la cual fue base para el inicio del proyecto, se recurrió a libros, textos, artículos y a técnicos del área del cuidado de plantación de orquídeas, objeto de estudio de este artículo.
Luego de definir los requisitos principales se determinaron los factores influyentes en los diferentes diagnósticos de cada problema que presenta la orquídea, objeto de estudio. Después de saber cuáles eran los factores, se creó una base de datos a partir del conocimiento adquirido y un modelo base del sistema.
En el trabajo, se cumple con los tres primeros objetivos específicos, los cuales abarcan la búsqueda de requisitos, análisis de los requerimientos y confección del primer modelo guía del sistema.
Establecidos los requisitos se definió el lenguaje que emplearía para la creación del sistema propuesto. Luego se procedió a emplear una técnica de inteligencia artificial para el manejo de toma de decisiones
Al tener el lenguaje y la técnica a utilizar, se define qué entorno de desarrollo de modelos y animación 3D íbamos a utilizar para el diseño de los hologramas.
Se cumple con los tres siguientes objetivos específicos cuales abarca la búsqueda de lenguaje de programación a utilizar, búsqueda de la técnica de inteligencia artificial a emplear y la búsqueda del entorno de desarrollo de los modelos y animaciones en 3D para el diseño de los hologramas.
Luego se comienza a desarrollar el sistema experto de diagnósticos dedicado a orquídeas, creado para que funcione en dispositivos móviles con sistema operativo Android.
Después de desarrollar el sistema, se procedió a realizar la conexión base de datos para el manejo de resultados de los diagnósticos.
Desarrollado el sistema y conectada la base de datos, se construye el prototipo físico de proyección holográfica para la visualización de los diagnósticos en 3D. Por último, ya teniendo el SE y nuestro prototipo de proyección holográfico, se evalúa el desempeño de la aplicación móvil, instalando el aplicativo Android generado llamado ORQUICARE en nuestros celulares para visualizar el funcionamiento y manejo del sistema propuesto. Finalmente, al cumplir con los objetivos específicos estipulados en este trabajo de graduación, se puede decir que el objetivo general de Implementar una aplicación móvil para diagnósticos de problemas en orquídeas con representación de resultados en 3D, se cumplió, mostrando así la posibilidad de implementar con mayor escala el sistema propuesto.
Referencias
[1] M. Barceló García, Inteligencia Artificial, Catalunya: UOC, 2002.
[2] R. Pino Diez, A. Gómez Gómez y N. de Abajo Martínez, Introducción a la Inteligencia Artificial: Sistemas Expertos, Redes Neuronales Artificiales y Computación Evolutiva., Oviedo: Servicios de Publicaciones Universidad de Oviedo, 2001.
[3] D. Chiles, Aplicaciones: Todo lo que usted necesita saber, David Pablo Chiles, 2014. [4]
[4] J. Cuello y J. Vittone, Diseñando apps para móviles, 2013.
[5] Oceano, Enciclopedia de la Ciencia y la tecnología, España: Oceano , 2004.
[6] R. A. E. (RAE), «Diccionario de la lengua española,»[En línea]. Available: http://dle.rae.es/?id=KZybj9H.