Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ESTUDIANTES
DOCENTE
UNIVERSIDAD DE LA AMAZONIA
FACULTAD DE INGENIERÍA
INGENIERÍA DE SISTEMAS
FLORENCIA-CAQUETÁ
2023
TABLA DE ILUSTRACIONES
Ilustración 1, Librerías Necesarias......................................................................................................3
Ilustración 2, ScreenManager............................................................................................................4
Ilustración 3, Clase Principal...............................................................................................................4
Ilustración 4, Inicialización de aplicación............................................................................................4
Ilustración 5, Cambios de Estilo..........................................................................................................4
Ilustración 6, Comparación de videos................................................................................................6
Ilustración 7, Bucle de videos.............................................................................................................6
Ilustración 8, Fin de lectura de cuadros.............................................................................................6
Ilustración 9, Comparación de poses.................................................................................................7
Ilustración 10, Resultados en Consola................................................................................................7
Ilustración 11, Comparación por puntos............................................................................................8
Ilustración 12, Abrir videos................................................................................................................8
Ilustración 13 ,Ejecución de MainApp................................................................................................8
Ilustración 14, Importe de librerías....................................................................................................8
Ilustración 15, Template.....................................................................................................................9
Ilustración 16, Template de Escena....................................................................................................9
Ilustración 17, Interfaz.....................................................................................................................10
Ilustración 18, Grid de ordenamiento..............................................................................................11
TABLA DE GRAFICOS
Grafica 1, Pantalla principal..............................................................................................................11
Grafica 2, Interfaz de comparación..................................................................................................12
Grafica 3, Video siendo comparado.................................................................................................13
Grafica 4, Pose errónea....................................................................................................................14
Grafica 5, Posibles bugs....................................................................................................................15
Grafica 6, Caso con dos personas.....................................................................................................16
INTRODUCCION
La visión computacional se dedica a reproducir en las máquinas la habilidad que nuestros ojos
poseen. Su objetivo consiste en analizar y comprender las imágenes captadas por dispositivos
como cámaras, identificando objetos, entornos y ubicaciones en el espacio (Loyo, 2017).
Esta disciplina tiene aplicaciones en muy diversas áreas, se puede aplicar a casi cualquier aspecto
laboral, como la medicina, la seguridad, la robótica, la realidad aumentada, entre muchas más.
Esta tecnología continúa evolucionando para mejorar la precisión y eficiencia en el analisis de
datos visuales.
Para empezar, vamos a listar las librerías necesarias para desarrollar el ejercicio
Ilustración 2, ScreenManager
La Ilustración 2, nos muestra la definición de una clase “UI”, que hereda de “ScreenManager”. Esta
clase no tiene funcionalidades adicionales y se utiliza para cargar la interfaz de usuario definida en
un archivo llamado “design.kv”.
En la Ilustración 4, la línea 15 define el método “Build”, que se llama al iniciar la aplicación, el cual
en las líneas 16 y 17 establece un estilo de colores para la aplicación.
En las líneas 33 y 34 se crean las instancias “VideoCapture” de “OpenCV” para el video original y
de prueba, los cuales se comparan para saber si el movimiento deseado se esta realizando
correctamente. Por último, en las líneas 36 y 37 se crean listas vacías para almacenar las poses
detectadas en el video original y de prueba respectivamente.
En la Ilustración 7, en la línea 37 iniciamos una sentencia “While” que crea un bucle que se ejecuta
mientras ambos videos están abiertos y se pueden leer los cuadros, luego en las líneas 40 y 41 lee
los cuadros del video original y el de prueba.
Después, en las líneas 46 y 47 convierte los cuadros de los videos del formato BGR al formato RGB,
debido a que “Mediapipe” solo recibe imágenes en este ultimo formato, luego en las líneas 49 y 50
se procesan las imágenes de los cuadros utilizando la instancia de “pose” para obtener los
resultados de las poses. Luego en las líneas 52 y 53 agrega los puntos de referencia de las poses a
las listas correspondientes.
En las líneas 55 y 57 se crean copias de las imágenes originales para dibujar los puntos clave de las
poses y finalmente en las líneas 56 y 58 se dibujan los puntos clave de las poses en las imágenes
originales y de prueba.
En las líneas 66 y 67 se convierten las imágenes de nuevo al formato BGR para mostrarlas en la
ventana de la línea 70 la cual muestra la imagen de prueba con los puntos clave y el texto en una
ventana.
En la línea 72 se crea otra sentencia “if” que espera la entrada del teclado, si se presiona la tecla
“Q”, se sale del bucle, por último, en las líneas 76 y 77 se liberan los recursos utilizados por el
video de prueba y cierra todas las ventanas.
En la Ilustración 11, definimos la función “poses_are_different” (línea 93), que compara las poses
basadas en la posición de los puntos de referencia de los videos y devuelve “True” si las poses son
diferentes y “False” en caso de que sean similares.
En la Ilustración 12, en las líneas de la 103 a la 105 se define el método “open_video_window” que
se encarga de abrir los videos en ventanas separadas utilizando hilos para el procesamiento en
segundo plano.
En la Ilustración 13, en las líneas 108 a la 110 se verifica si el archivo es el archivo principal y crea
una instancia MainApp y la ejecuta.
En las líneas 1 y 2 se importan las librerías para las transiciones que hace la aplicación.
Ilustración 15, Template
Después se creo un “UI” el cual va a tener toda la interfaz almacenada, este va a tener el texto de
título (línea 64, Ilustración 17) y en la línea 67 se crea un MDSwitch, que es donde estarán
albergadas las opciones de posiciones de rugby.
Ilustración 18, Grid de ordenamiento
Esta es la interfaz gráfica final (Grafica 1), cuenta con el título de la aplicación “Rugby
Uniamazonia”, el interruptor para cambiar los temas entre oscuro y claro en la esquina superior
derecha y un grid con las poses principales del Rugby.
Grafica 2, Interfaz de comparación
En la Grafica 3 podemos ver que al acceder al botón “comparar”, se muestra el video con los
puntos de referencia y un letrero indicando si es correcto, este se compara con el original o los
puntos de referencia del video original, estos deciden si se esta ejecutando bien la pose o no.
Grafica 4, Pose errónea
En el caso de la Grafica 4, nos indica que la pose se está haciendo mal y no va acorde a la pose
original del video del que se tomaron los puntos de referencia.
Grafica 5, Posibles bugs
Se pueden presentar casos en el que pequeños errores se hacen presentes, como el de la Grafica 5
donde los puntos de referencia no son capaces de ajustarse a la estructura del modelo.
Grafica 6, Caso con dos personas
Cuando hay dos o mas cuerpos en el video, el aplicativo tiende a fallar un poco más, pero en este
caso, los puntos de referencia se ajustan lo mejor posible y son capaces de determinar si se esta
haciendo un movimiento correcto.
BIBLIOGRAFIA