prototipo del sistema 3d-body-hub - instituto de biomecánica
TRANSCRIPT
3D-body-hub
Prototipo del sistema 3D-body-hub
Entregable: E2.1
Paquete de trabajo: PT2
3D-body-hub 3
©
Prototipo del sistema 3D-body-hub
ÍNDICE
1. INTRODUCCIÓN 5
2. REPOSITORIO DE BASES DE DATOS 5
2.1 Tipos de datos almacenados 6
3. RECUPERACIÓN Y VISUALIZACIÓN DE DATOS 11
herramientas para la Selección y filtrado de datos 11
herramientas para el Modelado PCA 14
herramientas para la obtención de Métricas digitales 17
herramientas para el Posicionamiento de marcadores 18
Herramientas de visualización 20
3D-body-hub 5
Prototipo del sistema 3D-body-hub
©
1. INTRODUCCIÓN
Este entregable muestra los resultados obtenidos tras la ejecución del Paquete de Trabajo 2 (Implementación del sistema) del proyecto 3D-body-hub (Desarrollo de herramientas digitales para la gestión y uso de las bases de datos antropométricas de la población para la innovación en el diseño de nuevos productos, procesos y servicios).
El objetivo de este paquete de trabajo ha sido realizar un primer prototipo de plataforma digital. El sistema integra el repositorio con las bases de datos disponibles y las funcionalidades de conservación, gestión, recuperación y visualización de datos descritas en el entregable E1.2 Arquitectura del sistema de la anualidad anterior.
La conceptualización descrita en este documento incluía las siguientes herramientas:
Herramientas de conservación y gestión de datos. Permiten el almacenamiento estructurado de la información antropométrica disponible. En el entregable se realizó un primer planteamiento de estructura que ha sido mejorado y optimizado durante la segunda anualidad. Además, se ha volcado la información antropométrica disponible siguiendo la
estructura y procedimientos definidos. Este trabajo se describe en la sección 2 de este entregable.
Herramientas de recuperación de datos. Estas herramientas permiten realizar consultas a los datos almacenados en el repositorio del proyecto. Además, permiten obtener métricas digitales de uno o varios individuos y la generación de modelos digitales estadísticos. Las herramientas de recuperación de datos desarrolladas durante el proyecto se describen en la sección 3 de este entregable.
Herramientas de visualización de datos. Estas herramientas permiten acceder a los resultados de la recuperación de datos, en diferentes formatos: mallas tridimensionales, tablas de
medidas, parámetros estadísticos, etc. Las herramientas de visualización de datos desarrolladas durante el proyecto se describen en la sección 3 de este entregable.
2. REPOSITORIO DE BASES DE DATOS
Para la conservación y gestión de los datos, se ha partido de las especificaciones definidas en la anualidad anterior del proyecto, contenidas en el entregable E1.2 Arquitectura del sistema.
Los datos se están almacenando en un disco duro propiedad del IBV, denominado Enio. Es un
disco de 4 teras con un backup semanal.
6
©
El sistema 3D-body-hub asegura el cumplimiento de la normativa aplicable en materia de protección de datos de carácter personal1. En particular, se han establecido mecanismos que aseguran que la información almacenada no es de carácter personal. Todos los datos almacenados en el disco Enio son anónimos.
2.1 TIPOS DE DATOS ALMACENADOS
Los datos almacenados en el servidor se han organizado en siete categorías, en base a su procedencia, nivel de procesado y a la accesibilidad para posteriores aplicaciones. Los
requisitos que se han propuesto para organizar y documentar los datos antropométricos y de forma almacenados en el disco duro enio son los siguientes:
- Disponer de una base de datos que permita nutrir todo tipo de análisis y desarrollos relacionados con la antropometría, las formas humanas y su movimiento.
- Que la base de datos se pueda ampliar con nuevas colecciones de datos individuales y versiones mejoradas o nuevas de los algoritmos para el procesado de este tipo de datos.
- Tener trazabilidad de los datos anonimizados en todos los niveles de procesado hasta el dato nativo generado en el estudio de campo correspondiente.
- Tener trazabilidad de los procesados a los que se someten los datos originales y de los resultados conseguidos para, en caso de que sea necesario reproducir o actualizar un proceso y sus resultados.
Las siete categorías en las que se organiza la información del disco duro y su contenido se describen a continuación:
NATIVOS. La información antropométrica o de forma de esta categoría procede directamente del equipo de medida. Son colecciones de datos que tienen en común el equipo de registro con el que han sido generados y el protocolo de la sesión de medida que se ha utilizado con cada sujeto de dicha colección. Además, cada colección de datos
también puede contener ficheros que incluyen otro tipo de información de los sujetos, como características o medidas antropométricas. También se incluyen documentos tanto gráficos como descriptivos, que describen el protocolo de adquisición del estudio y el tipo de datos generado en el mismo.
BRUTOS. Son ficheros generados a partir de los datos nativos, que han sido traducidos y exportados a un formato de intercambio estándar. Tienen en común la parte del cuerpo que representan, el modo de adquisición y los parámetros de exportación con los cuales han sido generados a partir de los datos nativos (resolución, formato de salida, tipo de elemento que contienen, etc.). Para dar cumplimiento al primer requisito de este
repositorio de datos se han creado réplicas en formatos de intercambio estándar de toda la parte de datos nativos cuyo formato no es estándar. El objetivo es evitar la pérdida de
1 https://www.aepd.es/normativa/index.html
3D-body-hub 7
Prototipo del sistema 3D-body-hub
©
datos por obsolescencia del software nativo con el que fueron generados, aplicando los parámetros de exportación más ambiciosos en el momento de realizar la operación y generando siempre alguno de los formatos de intercambio más convencionales actualmente, como STL o CSV.
PROCESADOS. Cuando se aplica algún tipo de operación a un fichero de datos brutos se convierte en un fichero de datos procesado. Existen diferentes tipos de procesado: remallado, transformaciones de postura, operaciones para anonimizar el rostro, etc. Estas colecciones de datos tienen en común la parte del cuerpo que representan, el
modo o modos de adquisición, los parámetros de exportación y el tipo de procesado al cual han sido sometidos. Sin embargo, hay parámetros que pueden variar de una colección a otra, por tanto, cuando se crea una colección de datos procesados se debe documentar la siguiente información: procedencia de los datos, modo o modos de adquisición presentes en la colección y parámetros de exportación. Las colecciones de datos que se almacenan en esta categoría tienen caducidad, condicionada al momento en que los procesos que los han generado se actualizan para dar lugar a nuevos datos con cualidades mejoradas. Cuando esto sucede, los datos pueden ser reemplazados, a condición de que exista una versión utilizable y documentada del software que los ha generado, así como un registro de la existencia en el pasado de dicha colección de datos.
DEEP LEARNING. Son colecciones de datos preparados específicamente para nutrir los procesos de entrenamiento de algoritmos mediante técnicas de Deep Learning. Los datos pueden proceder de cualquiera de las tres categorías ya descritas: nativos, brutos o procesados. El tipo de datos contenidos en esta categoría puedes ser formas 3D en estático, formas 3D en movimiento (4D), imágenes, coordenadas de puntos, medidas antropométricas o incluso colecciones mixtas donde se encuentre una variedad de estos u otro tipo de datos. Cada vez que se crea una colección de datos para Deep Learning se debe documentar la procedencia de los datos, los objetivos para los cuales se crea dicha colección de datos y los algoritmos entrenados. La documentación siempre puede estar
ubicada en la misma ruta que los datos o bien tratarse de un enlace a la ubicación de un
repositorio igualmente documentado y estructurado.
DIGITAL HUMAN MODELS. En esta categoría se encuentran colecciones de ficheros resultantes de los distintos análisis sobre datos antropométricos y de forma. Se deberá documentar: la procedencia de los datos originales para dicho análisis, descripción del modelado digital y de los avatares resultantes del modelado aplicado. Los datos y ficheros resultantes del análisis se guardarán en una ruta establecida para cada caso hasta el momento en que se realice un análisis mejorado que invalide los resultados anteriores. En el momento de ser reemplazados, se deberá revisar la documentación asociada a los datos iniciales para garantizar que es posible volver a generar los mismos resultados a partir de dicha documentación. Igualmente, debe quedar un registro del vínculo entre los
datos reemplazados y los nuevos datos. Si no se puede conseguir esta garantía, los datos no serán reemplazados por los nuevos, sino que los más recientes serán etiquetados de forma que quede constancia de la relación entre las dos versiones de los ficheros.
8
©
TEMPLATES. En esta categoría se encuentran los templates utilizados para el ajuste de homólogos de los distintos escaneados. Esta categoría está concebida como un repositorio de templates. Se organizan por la parte del cuerpo que representan y se diferencian por las características de sus elementos, las cuales están descritas en un catálogo de templates donde se identifican las distintas versiones del mismo template.
En el disco duro enio cada categoría de datos representa una carpeta, y en cada una de ellas existen a su vez otras subcarpetas dentro de las cuales se organizan las colecciones de datos. Cada colección de datos, especialmente los de la categoría de nativos, tienen información adicional que puede no ser primordial para el tipo de análisis para los que se ha concebido esta base de datos estructurada, esta información son los llamados metadatos, y quedará almacenada en la carpeta de nativos. La Tabla 1 contiene una descripción de las categorías de datos definidas, el tipo de datos que almacenan, los subniveles de carpetas que puede contener cada carpeta raíz (categoría), las claves fijas y opcionales que se van a utilizar para la descripción de datos, la información adicional asociada a cada categoría y si los datos que alberga pueden ser o no obsolescentes.
3D-body-hub 9
Prototipo del sistema 3D-body-hub
©
Tabla 1. Descripción y contenido de las siete categorías de colecciones de datos creadas en el disco duro ENIO para el almacenamiento de bases de datos antropométricas.
CATEGORÍANATURALEZA DE LOS DATOS
(Descripción)TIPO NIVELES CLAVES FIJAS* Descripción de las claves fijas
CLAVES
OPCIONALES*
INFORMACIÓN ADICIONAL (METADATOS
y DATOS POST-PROCESADOS)OBSOLESCENTES EJEMPLOS
NATIVOSDatos antropométricos o de forma que
proceden directamente del equipo de
medida.
C: Ficheros en formato
nativo
R: Información adicional
1. Equipo de registro (FIJO)
2. Protocolo de adquisición (FIJO)
3. Estado de edición (OPCIONAL)
4. Lugar de medida (OPCIONAL)
5. ID_SUJETO (OPCIONAL)
1. Equipo de registro (Etiqueta del catálogo)
2. Protocolo de adqusición (Etiqueta del catálogo)
- PROTOCOLO de ADQUISICIÓN: Descripción textual y gráfica de
la operativa y del tipo de datos adquiridos en el estudio.
- EQUIPO DE REGISTRO: Ficheros de configuración del equipo de
registro (si los hubiere), asociados al protocolo de medida
específico de dicha colección de datos.
- Estado de edición
- Lugar de medida
- ID_Sujeto
1. Medidas antropométricas adicionales tomadas con
instrumentos tradicionales.
2. Medidas antropométricas obtenidas con el software
nativo.
3. Tablas de características de los sujetos (Información
demográfica, respuestas de valoración subjetiva,
hábitos, estado de salud, etc.)
4. Ficheros de medidas objetivas no antropométricas.
5. Catálogo de modos de adquisición
No
Datos de forma: FBD,
CSF, S4D, VTK, BMP, etc.
Información adicional:
XLSX, CSV, TXT, JPG
BRUTOS
Ficheros generados a partir de los datos
nativos, que han sido traducidos y
exportados a un formato de intercambio
estándar.
C: Ficheros en formato
bruto
1. Parte del cuerpo (FIJO)
2. Modo de adquisición (FIJO)
3. Lugar de medida (OPCIONAL)
4. ID_SUJETO (OPCIONAL)
1. Parte del cuerpo (Etiqueta del catálogo)
2. Modo de adquisición (Etiqueta del catálogo))
3. Parámetros de exportación (TXT adjunto a la colección
de datos)
4. Dato origen (TXT adjunto a la colección de datos)
- PARTE DEL CUERPO: que está representada en el fichero bruto.
Se identifican por las etiquetas de las carpetas (una parte de la
ruta)
- MODO DE ADQUISICIÓN: Cada protocolo está compuesto por
varios modos de adquisición, pero el mismo modo de
adquisición puede haber sido utilizado en distintos protocolos.
- PARÁMETROS DE EXPORTACIÓN: Se describe la resolución,
formato de salida, tipo de elemento que contiene el fichero y
aplicación utilizada para exportar.
- ID_Sujeto1. Tabla con características básicas de los sujetos
2. Catálogo de modos de adquisiciónNo CSV, PLY, OBJ, STL
PROCESADOSFicheros resultantes de aplicar lagún tipo
de procesado digital sobre los datos brutos
o nativos.
C: Ficheros individuales
resultantes de un
procesado
R: de aplicaciones de
procesado
1. Parte del cuerpo (FIJO)
2. Tipo de procesado_VERSIÓN (FIJO)
3. Fecha (OPCIONAL)
4. ID_SUJETO (OPCIONAL)
1. Parte del cuerpo (Etiqueta del catálogo)
2. Tipo de procesado (Etiqueta del catálogo con FECHA DE
CREACIÓN)
3. Dato origen (TXT adjunto a la colección de datos con
relación al dato origen de cada dato procesado)
- PARTE DEL CUERPO: que está representada en el fichero
procesado. Se identifican por las etiquetas de las carpetas (una
parte de la ruta)
- TIPO DE PROCESADO: Existe un repositorio de aplicaciones
propias y/o comerciales, con gestión de versiones, registradas
en un catálogo y debidamente etiquetadas para crear una
estructura de carpetas.
- RELACIÓN CON EL DATO ORIGEN: En un TXT se guardará la
relación de cada dato procesado con su dato origen.
- Vesión del procesado
- Formato de salida
- Otros parámetros del
output
1. Relación al algoritmo de procesado o aplicación
comercial
2. Medidas y otros parámetros que se pueden calcular
a partir de la forma procesada
3. Catálogo de algoritmos y aplicaciones para el
procesado de formas 2D, 3D y 4D
Sí
Partes del cuerpo
extraídas para RB_Bkool
o Maniquíes BodyPass
DL
Son colecciones de datos preparados
específicamente para nutrir los procesos de
entrenamiento de algoritmos mediante
técnicas de Deep Learning.
C: Ficheros individuales
rutilizados para el
entrenamiento de
algoritmos mediante
técnicas de DL.
R: de algoritmos
entrenados mediante
técnicas de DL y sus
versiones
1. Parte del cuerpo (FIJO)
2. EntrenamientoDL_VERSIÓN (FIJO)
3. Fecha (OPCIONAL)
1. Parte del cuerpo (Etiqueta del catálogo)
2. DL (Etiqueta del catálogo con FECHA DE CREACIÓN)
3. Dato origen (TXT adjunto a la colección de datos para DL
con relación al dato origen de cada dato procesado)
- PARTE DEL CUERPO: que está representada en el fichero
procesado. Se identifican por las etiquetas de las carpetas (una
parte de la ruta)
- TIPO DE PROCESADO DL: Existe un repositorio de aplicaciones
propias y/o comerciales para DL, con gestión de versiones,
registradas en un catálogo y debidamente etiquetadas para
crear una estructura de carpetas.
- RELACIÓN CON EL DATO ORIGEN: En un TXT se guardará la
relación de cada dato procesado con su dato origen.
Sin definir
1. Relación a la colección de datos procesados o
avatares generados con el algoritmo resultante del
entrenamiento.
2. Catálogo de aplicaciones entrenadas mediante
técnicas DL.
Sí
DHM
Colecciones de avatares resultantes de
aplicar un modelado digital humano a una
colección de datos de origen, así como las
medidas y otros parámetros que puedan
ser obtenidos de estos avatares.
A: Ficheros resultantes
de un modelado digital
humano (Avatares)
R: de aplicaciones de
modelado digital
humano
1. Parte del cuerpo (FIJO)
2. Modelo digital_VERSIÓN (FIJO)
3. Fecha (OPCIONAL)
1. Parte del cuerpo (Etiqueta del catálogo)
2. Modelo Digital (Etiqueta del catálogo con FECHA DE
CREACIÓN)
3. Dato origen (TXT adjunto a la colección de datos con
relación al dato origen de cada dato procesado)
- PARTE DEL CUERPO: que está representada en el fichero
procesado. Se identifican por las etiquetas de las carpetas (una
parte de la ruta)
- TIPO DE PROCESADO DL: Existe un repositorio de aplicaciones
propias y/o comerciales para DL, con gestión de versiones,
registradas en un catálogo y debidamente etiquetadas para
crear una estructura de carpetas.
- RELACIÓN CON EL DATO ORIGEN: En un TXT se guardará la
relación de cada dato procesado con su dato origen.
Sin definir
1. Relación a la aplicación de modelado digital (DHM)
2. Medidas y otros parámetros que se puedan calcular a
partir del avatar digital
3. Catálogo de aplicaciones para modelado digital
humano.
4. Descripción de la metodología utilizada para generar
el avatar definitivo
SíManiquíes de en postura
de conducción
TEMPLATESMallas patrón utilizadas para la generación
de los modelos homólogos de escaneados
individuales.
A: Ficheros de avatares
con características de
TEMPLATES
1. Parte del cuerpo (FIJO)
2. Versión (FIJO)
1. Parte del cuerpo (Etiqueta del catálogo)
2. Versión del template (Etiqueta del catálogo)
3. Dato origen (relación al modelo digital original o
referencia de su procedencia)
- PARTE DEL CUERPO: que está representada en el fichero
procesado. Se identifican por las etiquetas de las carpetas (una
parte de la ruta)
- VERSIÓN DEL TEMPLATE: La versión se etiqueta, bien en el
nombre, bien en la carpeta donde se utica el template, y se
describe en el apartado de templates del catálogo.
- RELACIÓN CON EL DATO ORIGEN: En un TXT se guardará la
relación de cada dato procesado con su dato origen.
Sin definir1. Descripción de la metodología utilizada para generar
el templateSÍ Oído
10
©
Toda la información listada en el entregable E1.1, ha sido volcada y organizada en el disco duro enio en el marco del presente proyecto.
Para sistematizar el almacenamiento de datos en esta estructura de carpetas, así como para poder crear una base de datos que permita la consulta y el acceso a la información aquí almacenada, es necesario disponer de un catálogo de elementos que establezca el etiquetado de los mismos, así como su descripción y otras características necesarias para su identificación. El tipo de elementos que se describen en el catálogo y los parámetros que los caracterizan se muestran en la Tabla 2.
Este catálogo está vivo y permite mantener un registro actualizado de las colecciones de datos y algoritmos de que dispone el IBV, siendo la base para las consultas de datos a realizar para dar servicios de asesoramiento a las empresas.
Tabla 2. Parámetros utilizados para etiquetar y caracterizar de manera sistemática los distintos tipos de adquisición y
procesados característicos de la información contenida en el disco duro enio.
Hasta el momento están concluidos los dos primeros apartados del catálogo: Modos de adquisición y partes del cuerpo. Los siguientes cuatro apartados están en proceso de desarrollo, puesto que su ejecución depende del empleo de nuevas herramientas
desarrolladas a lo largo de la ejecución del proyecto.
APARTADOS DEL CATÁLOGO PARÁMETROS DE CADA APARTADO CATÁLOGO
Modos de adquisición
ETIQUETA COLECCION_DATOS TIPO_DATO PROTOCOLO ZONA_CUERPO EQUIPO_ADQUISICION
INSTRUMENTO_MEDIDA NOMBRE_FICHERO DESCRIPCION IMAGEN ACCESORIO NORMATIVA COMENTARIOS
Partes del cuerpo ETIQUETA PARTE DEL CUERPO
Procesado
ETIQUETA VERSIÓN FECHA DESCRIPCIÓN
CREADOR PROVEEDOR EDITADO_POR RUTA_REPOSITORIO
DL
ETIQUETA VERSIÓN FECHA DESCRIPCIÓN
CREADOR PROVEEDOR EDITADO_POR RUTA_REPOSITORIO
DHM
ETIQUETA VERSIÓN FECHA DESCRIPCIÓN
CREADOR PROVEEDOR EDITADO_POR RUTA_REPOSITORIO
Template
ETIQUETA VERSIÓN FECHA DESCRIPCIÓN
DATO_ORIGEN CREADOR PROVEEDOR EDITADO_POR RUTA_REPOSITORIO
3D-body-hub 11
Prototipo del sistema 3D-body-hub
©
3. RECUPERACIÓN Y VISUALIZACIÓN DE DATOS
Las consultas de datos pueden incluir la recuperación del dato del cuerpo entero, partes corporales o solo medidas o parámetros morfológicos.
Los datos recuperados pueden ser:
Conjuntos de datos individuales anonimizados. 3D-body-hub permite la recuperación de conjuntos de datos individuales anonimizados (como por ejemplo un conjunto de medidas o un modelo de cuerpo tridimensional anonimizado). Esta recuperación incluye el rescate de conjuntos de datos colectivos (incluyendo a un grupo de individuos), dado que la recuperación viene dada a través de filtros de datos anónimos (como por ejemplo medidas corporales) y/o filtros de metadatos (por ejemplo sexo, edad, peso, etc.).
Datos agregados. 3D-body-hub permite resumir datos 3D o métricas de un grupo de individuos mediante, por ejemplo, funciones estadísticas como percentiles y promedios. Los filtros de datos anónimos, de metadatos y/o de selecciones de partes del cuerpo son utilizados para seleccionar el conjunto de datos de interés, por lo que los resultados estarán en forma de datos agregados
Las herramientas desarrolladas durante el proyecto para las consultas de datos se describen en los siguientes apartados.
HERRAMIENTAS PARA LA SELECCIÓN Y FILTRADO DE DATOS
Una de las dificultades de los requisitos que tiene que cumplir el sistema de gestión de datos es la heterogeneidad de los tipos de datos. Tal y como se describe en el entregable E1.1 y en la sección 2 de este entregable, la información antropométrica se encuentra disponible en diferentes formatos (datos 3D, imágenes, datos 1D…), diferentes estados (datos nativos, brutos, etc.) y además incorpora datos descriptivos adicionales (género, nacionalidad, edad…).
Para definir las herramientas de selección y filtrado se consideró que existen dos tipologías principales de bases de datos: la relacionales (o SQL) o las no relacionales, también llamadas NoSQL o documentales.
Las bases de datos relacionales se basan en la organización de la información en trozos pequeños, que se relacionan entre ellos mediante la relación de identificadores. Estas bases de datos tienen un esquema de datos establecido que obliga a utilizar un número de campos limitado mientras no se actualice el esquema. En el ámbito informático se habla mucho de ACID, cuyas siglas vienen de las palabras en inglés: atomicidad, consistencia, aislamiento y durabilidad. Son propiedades que las bases de datos relacionales aportan a los sistemas y les permiten ser más robustos y menos vulnerables ante fallos. La base de datos relacional más
usada y conocida es MySQL junto con Oracle, seguida por SQL Server y PostgreSQL, entre otras.
12
©
Las bases de datos no relacionales son las que, a diferencia de las relacionales, no tienen un esquema fijo. El número y nombre de los campos evoluciona a medida que se añaden nuevos datos. La información se organiza normalmente mediante documentos y es muy útil cuando no tenemos un esquema exacto de lo que se va a almacenar. La base de datos no relacional más utilizada es MongoDB seguida por Redis, Elasticsearch y Cassandra.
En las bases relacionales los datos se suelen organizar en forma de tablas, y en las no relaciones en documentos JSON (Java Script Object Notation). Por ejemplo, cuando se organiza la información en un Excel, lo hacemos en formato tabla y, cuando los médicos hacen
fichas a sus pacientes o formularios, están guardando la información en documentos.
En realidad, una tabla puede transformarse en documentos, cada uno formado por cada fila de la tabla. Solo es una cuestión de visualización.
Figura 1: Tabla (izquierda) – Colección de Documentos (derecha)
En el caso de 3DBODYHUB los tipos de datos son muy heterogéneos, y pueden variar en el
tiempo. Por ello, Las bases de datos relacionales presentan desventajas de:
Crecimiento: Cuando estas bases de datos tienden a crecer demasiado en el
almacenamiento y el mantenimiento es sumamente difícil y costoso, suelen presentar
fallas en tiempo de respuesta.
Cambios en la estructura: 3D-BODY-HUB tendrá que realizar a menudo modificaciones
en el esquema de la base de datos para añadir nuevos campos. Esto podría implicar
detener el sistema por un tiempo hasta terminar el proceso de modificación, esto
puede requerir mucho tiempo en el sistema y tal vez conocimientos avanzados en la
persona designada para realizar estos cambios.
Frente a esto, las bases de datos no relacionales presentan varias ventajas:
Versatilidad: Si fuera necesario agregar un nuevo campo sobre una “colección”, dado que
se basa sobre una notación ligera de intercambio de documentos basado en notación
3D-body-hub 13
Prototipo del sistema 3D-body-hub
©
JSON, simplemente se agregan sobre el documento y el sistema sigue operando sin
agregar configuraciones extras.
Crecimiento Horizontal: Soportan una escalabilidad descentralizada, es decir, soportan
estructuras distribuidas, si durante la operación se ve que el desempeño de los servidores
tiende a bajar, se instalan nuevos nodos operativos para que balanceen la carga de trabajo,
a esto le llaman crecimiento horizontal.
Disponibilidad de Recursos: No se requieren servidores con una gran cantidad de recursos
disponibles para operar, pueden empezar a operar con bajos recursos e ir creciendo
dependiendo de las necesidades sin tener que detener los servicios de operación.
Optimización: Los sistemas NoSQL tienen un algoritmo interno para reescribir las
consultas escritas por los usuarios o las aplicaciones programadas, esto con el fin de no
sobrecargar el rendimiento de los servidores y mantener un nivel óptimo en las
operaciones.
Frente a las ventajas anteriores, la principal desventaja de los sistemas NoSQL son la atomicidad y la consistencia de la información. Al carecer de esquema fijo, en estas bases de datos es más difícil controlar que no se cree información redundante que con el tiempo puede
ser difícil de interpretar. Pero esta desventaja se puede solucionar mediante reglas programadas y limitando el tipo de usuarios que pueden guardar y modificar datos.
Considerando el tipo de datos, se puede concluir que la mejor opción para 3DBODYHUB es una base de datos no relacional.
En consecuencia, se ha diseñado un prototipo de base datos utilizando MongoDB. El esquema de este prototipo se basa en generar un dato o documento origen: “datoOrigen”.
Cada “datoOrigen” es único y puede ser el escaneado 3D de parte del cuerpo o cuerpo completo, junto con datos cómo el género, peso, país, etc.
{
"_id": {
"$oid": "5dd41b92c808636534c9ef15"
},
"datoOrigen": "ABAD017",
"rawfile": "J:\\BBDD_EUROFIT\\MUJERES_CLEAN\\ABAD017\\ABAD017.stl",
"gender": "F"
}
A ese “datoOrigen” se le pueden añadir procesados diferentes y el resultado de dicho
procesado. Cada procesado será un subdocumento dentro del documento principal.
Por ejemplo “proceso1”:
14
©
{
"_id": {
"$oid": "5dd41b92c808636534c9ef07"
},
"datoOrigen": "ABAD001",
"rawfile": "J:\\BBDD_EUROFIT\\MUJERES_CLEAN\\ABAD001\\ABAD001.stl",
"gender": "F",
"proceso1": {
"homodel_file": "J:\\MUJERES_CROTCH_SMOOTH\\corregidos\\ABAD001_HOM_COR.pl
y",
"AA_cadera": 394.191,
"AA_cintura": 274.13,
"volume2": 589.374,
"cintura2": 2
}
}
De esta forma se puede realizar diferentes tipos de búsqueda. Por ejemplo:
1) Buscar los datos donde se halla aplicado el proceso1
db.prueba.find({proceso1:{$exists: true}})
2) Buscar un dato específico.
db.prueba.find({datoOrigen:"ABAD001"})
3) Buscar datos donde el resultado de un proceso cumpla una condición
db.prueba.find({"proceso1.AA_cadera": {$gt: 370}})
Se ha creado un primer prototipo para la gestión de las bases de datos empleando MongoDB. Actualmente se está trabajando en su optimización e implementación en un servidor
definitivo.
HERRAMIENTAS PARA EL MODELADO PCA
Ejecución del modelado PCA
En la segunda anualidad del proyecto se ha generado mediante código un programa de línea de comandos que ejecuta de forma automática el análisis PCA de un conjunto de datos. Este programa ejecuta:
1. El alineamiento rígido del conjunto de datos 3D utilizando puntos correspondientes. Esta operación es de obligada ejecución antes de llevar a cabo operaciones 3D de agregación. Consiste en la minimización de la distancia euclidiana entre puntos correspondientes de todos los registros de modelos 3D seleccionados (aplicando Análisis de Procrustes Generalizado).
3D-body-hub 15
Prototipo del sistema 3D-body-hub
©
2. Media 3D de morfologías. Calcula la media aritmética de las coordenadas de los puntos que definen la superficie 3D de un cuerpo o de parte de un cuerpo para proporcionar la forma promedio del conjunto de las formas 3D, después de haber sido alineadas.
3. Modelado PCA. Mediante el análisis de componentes principales (PCA) de los puntos de coordenadas del conjunto de datos alineado. El modelo proporciona un conjunto de parámetros de variabilidad máxima, reduciendo así la complejidad de los datos 3D alineados.
Este programa maneja la siguiente información, que debe ser proporcionada por el usuario
del sistema:
file: ruta al listado de homodels, puede ser un archivo txt almacenado en la misma ruta que el programa. El listado incluye la ruta a cada uno de los datos a incluir en el PCA. Los datos deben ser archivos 3D en formato (.ply) a los que se les quiere aplicar el análisis de componentes principales.
out: ruta para el almacenamiento de los resultados del análisis
ncomp: el programa requiere que se especifique el número de componentes principales a calcular. Por defecto calcula 100.
Como resultado, el programa almacena en la ruta especificada la siguiente información:
mean.csv: este archivo contiene la media de las coordenadas de los puntos de malla de todos los datos alineados.
mean.vector: contiene la misma información que mean.csv pero en binario.
model.ply: contiene información sobre la conectividad de la malla para permitir la visualización 3D
PCAmatrix.csv: contiene los loadings o coeficientes del PCA. Matriz donde las filas son las coordenadas x,y,z de cada uno de los puntos de la malla y las columnas son los componentes del PCA.
PCred.matrix: contiene la misma información que PCAmatrix.csv pero en binario.
variances.txt: contiene la varianza explicada por cada uno de los componentes del PCA.
weights.csv: contiene los scores de cada uno de los sujetos que forman la base de datos a la que se le aplica el PCA. Matriz donde las filas son cada uno de los individuos de la base de datos y las columnas son los componentes del PCA.
weights.matrix: contiene la misma información que weights.csv pero en binario.
Visualización de resultados del modelado PCA
Durante la primera anualidad del proyecto, se trabajó en desarrollar una herramienta para facilitar la visualización completa y dinámica de los resultados del PCA. Durante la segunda anualidad se ha mejorado esta herramienta dotándola de nuevas funcionalidades.
16
©
Esta herramienta es un visor que tiene como entrada los resultados de la ejecución del modelado PCA. En la Figura 2 se muestra la interfaz del visor PCA.
Figura 2. Interfaz del visor del PCA
Se puede cargar cualquier cálculo PCA previamente efectuado (parámetro out del modelado
PCA). En el ejemplo de la Figura 3 se ha cargado un PCA aplicado a una base de datos de mujeres. Durante la segunda anualidad, se han ampliado las funcionalidades del visor, incluyendo la opción de cargar una colección de medidas de los individuos que conforman la base de datos empleada para calcular el PCA. Los valores de estas medidas, para el individuo definido, se muestran en la ventana superior derecha de la interfaz del visor. En la Figura 3 se muestran los valores correspondientes a la mujer promedio de la base de datos (valores de 0 en todos los componentes resultantes del análisis PCA).
Figura 3. Ejemplo de visualización del PCA aplicado a una base de datos de mujeres
3D-body-hub 17
Prototipo del sistema 3D-body-hub
©
Además, el software permite generar avatares estableciendo valores concretos para cualquier medida o medidas disponibles en la colección. Por ejemplo, en la Figura 4 se muestra el avatar correspondiente a una mujer con altura de entrepierna correspondiente al percentil 75 de la población y contorno de cintura correspondiente al percentil 99 de la población. El resto de las medidas corresponden al individuo medio.
Figura 4. Generación de un avatar medio de mujer para el P75 de altura de entrepierna y P99 de contorno de cintura
El software calcula el valor del conjunto de medidas no fijado y lo muestra en la ventana inferior derecha.
HERRAMIENTAS PARA LA OBTENCIÓN DE MÉTRICAS DIGITALES
En la segunda anualidad del proyecto se ha generado una herramienta que facilita la
obtención automática de una colección extensa de medidas cuerpo de cualquier malla corporal 3D. Esta herramienta permite cargar cualquier individuo o avatar estadístico en formato (.ply). El modelo debe ser previamente transformado en malla homóloga para que las medidas puedan ser calculadas correctamente.
En la Figura 5 se muestra la interfaz de la herramienta. En la parte izquierda el individuo cargado para la medición y en la parte derecha la colección de medidas. La herramienta facilita una colección de 276 medidas. Incluye las medidas definidas en las siguientes normas, así como otras medidas propias del IBV:
ISO 8559-1:2017. Size designation of clothes -- Part 1: Anthropometric definitions for body measurement
UNE-EN ISO 7250-1:2017. Definiciones de las medidas básicas del cuerpo humano para el diseño tecnológico. Parte 1: Definiciones de las medidas del cuerpo y referencias
18
©
Figura 5. Interfaz del software de medición automática de mallas corporales
Además del cálculo de las medidas, el programa permite visualizar la posición de cada una de ellas sobre el individuo. En la Figura 6 se muestran algunos ejemplos de medidas calculadas por la herramienta.
Figura 6. Izda.: altura de la entrepierna; centro: longitud del tronco; drcha..: contorno de cadera
HERRAMIENTAS PARA EL POSICIONAMIENTO DE MARCADORES
Se ha generado una herramienta que facilita el cálculo y la colocación de marcadores anatómicos sobre cualquier malla homóloga. En la Figura 7 se muestra la interfaz de la herramienta.
3D-body-hub 19
Prototipo del sistema 3D-body-hub
©
Figura 7. Interfaz de la herramienta de cálculo de marcadores anatómicos
Esta herramienta permite cargar mallas corporales homólogas en formato (.ply) y asignarles marcadores predefinidos o establecer nuevos. Tiene dos ventanas para facilitar la comparación y el empleo de referencias para el marcado manual. Como parte de los resultados del proyecto se ha generado un listado de marcadores corporales que pueden cargarse sobre la malla homóloga corporal de cualquier individuo. La herramienta permite además guardar las coordenadas de cada uno de los marcadores en formato (.csv).
Figura 8. En rojo: colección de marcadores predefinidos; en azul, nuevo marcador
20
©
En la Figura 8 se muestra parte de la colección de marcadores predefinidos (en rojo) y un nuevo marcador (en azul).
HERRAMIENTAS DE VISUALIZACIÓN
Esta herramienta permite la visualización de mallas y superficies en diferentes formatos, incluyendo: XYZ, OBJ, STL o PLY. Además, permite guardar capturas en PNG o el 3D en formato PLY, STL, OBJ o VTK. El software facilita la visualización dinámica de la forma, proporcionando zoom y vistas predefinidas, tal y como se muestra en la Figura 9. En la esquina inferior derecha
aparece un sistema de coordenadas que indica la dirección de los ejes en la escena.
Figura 9. Ejemplos de visualización de la malla 3D
El software permite además cambiar entre los siguientes modos de visualización:
3D-body-hub 21
Prototipo del sistema 3D-body-hub
©
1. Superficie o superficie con color (si la hubiese)
2. Superficie con bordes en negro
3. Mallado
4. Puntos
En la Figura 10 se muestran unos ejemplos de estos modos de visualización.
Figura 10. Modos de visualización disponibles
La herramienta facilita la lectura de coordenadas 3D al pinchar con el ratón sobre un punto. Además de las coordenadas en el espacio, se puede ver el índice de dicho punto. Con el botón derecho del ratón + la tecla control se pueden calcular distancias entre dos puntos.
1 2
3 4