Examinando por Autor "Adame Prudencio, Jorge"
Mostrando 1 - 2 de 2
- Resultados por página
- Opciones de ordenación
Ítem ESTUDIO DE ALGORITMOS DE ESTIMACIÓN DEL PULSO DE FORMA REMOTA EN VÍDEOS DEL ROSTRO.(Universidad Rey Juan Carlos, 2023-07-03) Adame Prudencio, JorgeTrabajo en python orientado a la rama de Visión Artificial en el que se aplican conocimientos sobre el tratamiento de imágenes de un rostro de una persona para estimar el pulso fundamentado en el campo de estudio de la fotopletismografía remota. En este trabajo se crean todos los pasos que se necesitan para estimar el pulso mediante procesamiento de señal, centrándose más específicamente en el paso de obtener una señal pulsátil empleando algunos algoritmos de fotopletismografía que existen. Estos algoritmos son explicados desde el punto de vista teórico y se profundiza con la implementación en python para finalmente ser comparados entre ellos en cuanto a velocidad, correlación con respecto a una señal medida por un sensor (como por ejemplo un pulsómetro) y calidad de la señal.Ítem ESTUDIO E IMPLEMENTACIÓN DE MEJORAS PARA UNA BIBLIOTECA C++ DE DETECCIÓN DE LANDMARKS FACIALES EN IMÁGENES(Universidad Rey Juan Carlos, 2024-01-18) Adame Prudencio, JorgeEste Trabajo de Fin de Grado consiste en evolucionar una biblioteca C++ que, utilizando técnicas de Visión Artificial, permite entrenar y ejecutar estimadores de la posición 2D (mediante árboles de regresión) en la imagen de puntos de interés sobre el rostro (landmarks). El objetivo principal es permitir la ejecución del entrenamiento e inferencia de los regresores desde python. Esto abre la posibilidad de expansión de este TFG con el uso de bibliotecas de Aprendizaje Automático (p.ej. Scikit-learn, PyTorch o TensorFlow) para conectarlas con el código C++. Como objetivos secundarios están: unificar los métodos de guardado en disco y guardar los modelos entrenados en un formato XML legible y editable, y permitir la generación de canales para extraer características a partir de una imagen desde funciones implementadas en python. El código base hace uso de las bibliotecas OpenCV para procesamiento de imágenes, Boost C++ para gestión de punteros y lectura de ficheros, Cereal para realizar el guardado de los modelos en ficheros y OpenMP para paralelizar operaciones. El software final tiene partes desarrolladas en C++ (wrapper y serialización en XML) y en python para la generación de canales personalizada y los ejemplos de uso del código empleando el wrapper. Durante el desarrollo del recubrimiento python de la biblioteca C++ es necesario asegurarse de que los resultados obtenidos tanto en el entrenamiento como de inferencia de los detectores de landmarks son los mismos. Para ello, se han realizado varios experimentos con diferentes bases de datos que contienen imágenes y anotaciones manuales de landmarks, las cuales son: COFW, 300w y WFLW. Por otro lado, también se evalúa la diferencia de tamaño entre los ficheros XML y binarios generados de los regresores entrenados. Se ha conseguido crear un wrapper de una biblioteca C++ empleando la biblioteca Pybind11 para ser llamado desde python que devuelve los mismos resultados con un rendimiento muy similar y empleando aproximadamente la misma cantidad de recursos que utilizando la biblioteca desde C++. Por último, se ha conseguido añadir la funcionalidad de guardar los modelos entrenados en formato XML a la ya existente de guardar en formato binario.