prototipo del sistema 3d-body-hub - instituto de biomecánica

21
3D-body-hub Prototipo del sistema 3D-body-hub Entregable: E2.1 Paquete de trabajo: PT2

Upload: others

Post on 20-Jul-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Prototipo del sistema 3D-body-hub - Instituto de Biomecánica

3D-body-hub

Prototipo del sistema 3D-body-hub

Entregable: E2.1

Paquete de trabajo: PT2

Page 2: Prototipo del sistema 3D-body-hub - Instituto de Biomecánica
Page 3: Prototipo del sistema 3D-body-hub - Instituto de Biomecánica

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

Page 4: Prototipo del sistema 3D-body-hub - Instituto de Biomecánica
Page 5: Prototipo del sistema 3D-body-hub - Instituto de Biomecánica

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.

Page 6: Prototipo del sistema 3D-body-hub - Instituto de Biomecánica

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

Page 7: Prototipo del sistema 3D-body-hub - Instituto de Biomecánica

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.

Page 8: Prototipo del sistema 3D-body-hub - Instituto de Biomecánica

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.

Page 9: Prototipo del sistema 3D-body-hub - Instituto de Biomecánica

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

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.

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

Page 10: Prototipo del sistema 3D-body-hub - Instituto de Biomecánica

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

Page 11: Prototipo del sistema 3D-body-hub - Instituto de Biomecánica

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.

Page 12: Prototipo del sistema 3D-body-hub - Instituto de Biomecánica

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

Page 13: Prototipo del sistema 3D-body-hub - Instituto de Biomecánica

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”:

Page 14: Prototipo del sistema 3D-body-hub - Instituto de Biomecánica

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).

Page 15: Prototipo del sistema 3D-body-hub - Instituto de Biomecánica

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.

Page 16: Prototipo del sistema 3D-body-hub - Instituto de Biomecánica

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

Page 17: Prototipo del sistema 3D-body-hub - Instituto de Biomecánica

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

Page 18: Prototipo del sistema 3D-body-hub - Instituto de Biomecánica

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.

Page 19: Prototipo del sistema 3D-body-hub - Instituto de Biomecánica

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

Page 20: Prototipo del sistema 3D-body-hub - Instituto de Biomecánica

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:

Page 21: Prototipo del sistema 3D-body-hub - Instituto de Biomecánica

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