Automatización de la Evaluación del Rango de Movimiento del Hombro Mediante Human Pose Estimation (HPE)
Autor: Jesús Sánchez Rodríguez
Grado en Ingeniería Informática
Especialidad: Inteligencia Artificial
Consultor: Ferran Diego Andilla
Profesora responsable de la asignatura: Susana Acedo
Este proyecto tiene como objetivo desarrollar un software que, mediante una cámara, identifica puntos articulares y mide el rango de movimiento (ROM) del hombro utilizando técnicas de Human Pose Estimation (HPE).
El proyecto se compone de los siguientes archivos principales:
utils.py: Contiene funciones auxiliares utilizadas en el procesamiento de datos y análisis de imágenes.process.py: Contiene el núcleo del algoritmo de estimación de pose y cálculo del ROM del hombro.
Para ejecutar el software, se necesitan los siguientes requisitos:
- Python 3.x
- Librerías especificadas en
requirements.txt
- Clona el repositorio a tu máquina local:
git clone https://github.com/jsr90/ROM_Shoulder_Estimation.git
- Navega al directorio del proyecto:
cd ROM_Shoulder_Estimation - Instala las dependencias:
pip install -r requirements.txt
Puedes ejecutar el software directamente en un Jupyter Notebook. A continuación se muestra un ejemplo de cómo hacerlo:
-
Instalación de Requisitos
Para instalar las dependencias necesarias, ejecuta el siguiente código en una celda de tu Jupyter Notebook:
!pip install -r requirements.txt -q
Esto instalará todas las bibliotecas necesarias especificadas en el archivo
requirements.txtde forma silenciosa (-q). -
Importación de
analyse_poseA continuación, importa la función
analyse_posedel archivoprocess.py. Esta función es la encargada de analizar el rango de movimiento del hombro.from process import analyse_pose
-
Establecer el Diccionario de Resultados
Crea un diccionario llamado
resultspara almacenar los resultados del análisis del rango de movimiento. Inicializa todas las claves conNone.results = { "abd_left": None, "abd_right": None, "add_left": None, "add_right": None, "flex_left": None, "flex_right": None, "ext_left": None, "ext_right": None }
-
Obtener Resultados
Utiliza la función
analyse_posepara obtener los resultados del análisis del rango de movimiento del hombro para diferentes movimientos y lados del cuerpo.results['abd_left'], results['add_left'] = analyse_pose(left=True, func_='ABD/ADD') results['abd_right'], results['add_right'] = analyse_pose(left=False, func_='ABD/ADD') results['flex_left'], results['ext_left'] = analyse_pose(left=True, func_='FLEX/EXT') results['flex_right'], results['ext_right'] = analyse_pose(left=False, func_='FLEX/EXT')
Aquí, se están calculando los resultados para la abducción (ABD), aducción (ADD), flexión (FLEX) y extensión (EXT) del hombro para ambos lados del cuerpo.
-
Imprimir los Resultados
Por último, imprime los resultados del análisis del rango de movimiento del hombro utilizando el diccionario
results.print(results)
Esto mostrará los resultados en la salida de la celda del Jupyter Notebook.
Para cualquier duda o consulta, por favor contacta con:
- Jesús Sánchez Rodríguez: jsr90pro@gmail.com