170
Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal Mario Nieto Hidalgo

Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait analysis using computer vision for the early detection of elderly syndromes.

A formal proposal

Mario Nieto Hidalgo

Page 2: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Departamento de Tecnologıa Informatica y Computacion

Escuela Politecnica Superior

Gait analysis using computer vision for

the early detection of elderly syndromes.

A formal proposal.

Mario Nieto Hidalgo

Tesis presentada para aspirar al grado de

DOCTOR O DOCTORA POR LA UNIVERSIDAD DE ALICANTE

DOCTORADO EN TECNOLOGIAS DE LA SOCIEDAD DE LA

INFORMACION

Dirigida por

Dr. Juan Manuel Garcıa Chamizo

December 18, 2016

Esta tesis se ha desarrollado como parte del proyecto FRASE (TIN2013-47152-C3-2-R)

financiado por el Ministerio de Economıa y Competitividad.

Page 3: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata
Page 4: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

“Science is a cooperative enterprise, spanning the generations. It’s the passing of a torch

from teacher, to student, to teacher. A community of minds reaching back to antiquity

and forward to the stars”

Neil deGrasse Tyson

Page 5: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata
Page 6: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Resumen en castellano

Introduccion

El grado de doctor es un hito que normalmente se consigue haciendo una tesis a partir

de una conjetura. Esta tecnica proporciona la evidencia de que el autor debe obtener el

grado de doctor porque el proceso de hacer una tesis doctoral es una prueba empırica

de las habilidades del autor para crear conocimiento.

Este trabajo trata de llevar al autor a un estado de consciencia y actitud que mantiene

un compromiso entre una contribucion cientıfica directa, cerca del desarrollo, y una

contribucion abstracta, cerca del ambito de los conceptos y metodos.

Por esa razon, esta propuesta aborda muchos aspectos diferentes, desde los puramente

epistemologicos orientados a clarificar las claves subyacentes bajo los criterios y procedi-

mientos, hasta los mas puramente instrumentales para obtener una instancia particular

de solucion a un problema dado. Por tanto, el objetivo final de obtener el grado de doctor

se concretiza en dos objetivos subsidiarios. Por una parte, avanzar en la justificacion de

los metodos de resolucion de problemas. Esto esta orientado a reducir el empirismo y ar-

bitrariedad, que comunmente rigen los procesos de toma de decisiones, e incrementar el

rigor procedimental, el cual deberıa mejorar la calidad de las soluciones proporcionadas.

Por otra parte, producir un avance inmediato en el estado del conocimiento, particu-

larmente, en los problemas de aumentar la calidad de vida de las personas mayores a

traves de sistemas de vision por computador.

Esta investigacion ha sido desarrollada como parte del proyecto FRASE (TIN2013-

47152-C3-2-R) financiado por el Ministerio de Economıa y Competitividad y, por esa

razon, el problema que trata es la caracterizacion de la marcha de personas mayores a

traves de tecnicas de vision artificial con el fin de obtener un diagnostico precoz de los

sındromes de fragilidad y senilidad.

Ademas de proponer una solucion, esta tesis proporciona respuesta a la relevancia de

las decisiones de diseno que llevan a la solucin, lo cual ha llevado a investigar la causa

que justifique cada decision de diseno y por tanto, abordar los temas de la relevancia

de resolver en el ambito de los modelos, ası como abordar aspectos metodologicos para

avanzar de los generales a los particulares.

La formalizacion del paradigma orientado a modelo se consigue estableciendo las clases

de decisiones de diseno involucradas en cualquier proceso de resolucion de problemas.

Establecemos un orden de las clases proporcionando un mecanismo para determinar

que decisiones de diseno deben realizarse primero. Tambien proponemos una forma de

Page 7: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

seleccionar el modelo en el cual enmarcar la solucion y un metodo para resolver el sub-

problema especıfico para proponer objetivos y requerimientos aplicando la tecnica divide

et vinces hasta que se obtengan subproblemas suficientemente simples. Esto proporciona

una especificacion estructural que contiene los modulos que componen la solucion y un

grafo organizacional que establece las relaciones entre dichos modulos.

Aplicando la metodologıa propuesta previamente, hemos disenado y desarrollado un sis-

tema basado en vision artificial para el analisis de la marcha orientado a la deteccion

de los sındromes de fragilidad y senilidad. La metodologıa proporciona la especificacion

estructural, es decir, los diferentes modulos que componen la solucion. Este trabajo pro-

pone una nueva tecnica basada en vision artificial que es usada para medir parametros

de la marcha y caracterizar el andar humano utilizando unicamente camaras de video.

Los esfuerzos de desarrollo se centran en algoritmos de clasificacion e inferencia especia-

lizados en el modelado de la marcha humana. Esta propuesta permitira disenar sistemas

inteligentes de bajo coste. El uso de los sensores de imagen instalados en las camaras

digitales es tambien deseable desde el punto de vista del consumo energetico ya que se

basan en la luz visible, es decir, la condicion de obtener informacion de la escena sin

anadir energıa es un requerimiento esencial. Desde el punto de vista de la escalabilidad,

al no haber energıa anadida, todos los riesgos de saturacion e interferencias debido a la

adicion de mas sensores quedan descartados.

La marcha humana puede ser visualizada por camaras digitales pero la marcha engloba

una complejidad no observable facilmente, de hecho, esta plagada de dificultades pro-

venientes de la variabilidad de poses y acciones que caracterizan la marcha. Una forma

de contrarrestar esto es identificar las principales caracterısticas mediante el proceso de

segmentacion, seguimiento y analisis de la pose utilizando algoritmos de bajo nivel y

evaluando esas caracterısticas con algoritmos de clasificacion de alto nivel.

Como se ha mencionado anteriormente, nuestro objetivo es proporcionar un marco con-

ceptual para realizar sistematicamente operaciones de diseno y ayudar a tomar decisiones

para resolver problemas y crear inventos. Este marco podrıa proporcionar criterios para

desarrollar procedimientos sistematicos para tomar decisiones formalmente justificadas.

Como consecuencia, la base objetiva de las soluciones a los problemas se incrementara y

la justificacion arbitraria que proviene de la inspiracion del ingeniero sera reducida. Por

tanto, el procedimiento gana rigor y el resultado sera mas fiable.

La inspiracion es la contribucion a la solucion de un problema relacionada con la expe-

riencia, preferencia, casualidad, moda, costumbre, escuela o influencia externa, y otras

causas subjetivas. Esa inspiracion puede ser de naturaleza endogena, que es lo que lla-

mamos intuicion y produce resultados artısticos (resultados basados en la conviccion); e

Page 8: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

incluso puede ser de naturaleza exogena, que es lo que llamamos revelacion (resultados

basados en las creencias).

Como inspiracion, conviccion y confianza son garantıas debiles, su rol en el proceso de

disenar inventos y metodos es aceptado como ultimo recurso, cuando no hay deducibi-

lidad teorica e induccion empırica para garantizar objetividad. Por tanto, el proposito

general de la metodologıa de diseno es maximizar la base objetiva para tomar decisiones

y, consecuentemente, reducir la subjetividad.

En el futuro, el objetivo es desarrollar entornos computacionales de desarrollo para

proporcionar asistencia a los ingenieros en la actividad de toma de decisiones para crear

objetos, equipamientos, sistemas o metodos, es decir, para proponer soluciones a los

problemas.

Del estado del conocimiento concluimos que hay un interes creciente en el desarrollo

de herramientas para la ayuda en la toma de decisiones. Este interes es mas evidente

actualmente debido al incremento en la talla y complejidad de los problemas, y por

tanto, de los sistemas para resolverlos. Relacionado con el incremento en la talla de los

problemas, encontramos argumentos a favor de la metodologıa de diseno top-down frente

a bottom-up. De modo que nuevos enfoques fueron desarrollados como la ingenierbottom-

upia orientada a modelo.

La disponibilidad creciente de entornos computarizados para el apoyo al diseno ha sido

ayudado por los avances en enfoques metodologicos. Estos enfoques se han incorporado

en el diseno ingenieril en el cual variables arquitecturales de escalabilidad, sistematiza-

cion y reusabilidad son incluso mas relevantes.

Aunque aspectos de la actividad de diseno son tratados rigurosamente en la bibliografıa,

en general, la justificacion de las propuestas es esencialmente empırica, probablemen-

te basada en la experiencia de los autores. Esto da a tales contribuciones la garantıa

proporcionada por la autoridad academica de dichos autores, la cual merece todo el

reconocimiento personal pero que pertenece al dominio de la conviccion o confianza.

En cualquier caso, es deseable disponer de un marco formal que garantice el rigor de

la metodologıa de diseno y apoye su progreso de una manera consistente. Por tanto,

es necesario avanzar en los aspectos conceptuales de relacion entre los problemas y los

modelos para ası establecer un marco teorico para dar soporte al desarrollo de entornos

de ayuda a la especificacion y resolucion.

A medida que la gente se va haciendo mayor, sus habilidades disminuyen. Este proceso se

intensifica progresivamente y, en cierto punto, esas limitaciones afectan dramaticamente

a las condiciones de vida, suponiendo en algunos casos un impedimento al desarrollo

apropiado de las actividades de la vida diaria. La poblacion global esta envejeciendo,

Page 9: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

es decir, el numero de personas mayores esta incrementando a la vez que la esperanza

de vida. Es por ello que tratar con los sındromes de fragilidad y demencia son de gran

interes para la poblacion. Un diagnostico precoz podrıa ser muy beneficioso ya que de

esa forma se podrıan retrasar los sıntomas o al menos ralentizar el deterioro.

En las actividades humanas, el sistema nervioso y componentes fisiologicos intervienen

en una compleja relacion, por ejemplo, una tarea simple como andar contiene multiples

procesos complejos como son el mantenimiento del equilibrio o el movimiento armonico

de las diferentes partes del cuerpo y su sincronizacion. Durante un ciclo de la marcha

estan involucrados procesos tanto cognitivos como fısicos. Es por ello que un deterioro

cognitivo o fısico afecta a la marcha. De la revision del estado del conocimiento conclui-

mos que existe una correlacion entre algunos sındromes de enfermedades que afectan a

las personas mayores y la marcha. Por tanto, el analisis de la marcha proporciona una

herramienta util para el diagnostico precoz de los sındromes de fragilidad y senilidad.

El paradigma de Ambientes Inteligentes tiene como objetivo el desarrollo de entornos

inteligentes para ayudar a las personas en sus actividades de la vida diaria. Un entorno

en el que sistemas inteligentes proporcionan ahorro energetico, control de iluminacion y

temperatura, seguridad, etc. Dentro del paradigma de Ambientes Inteligentes, la Vida

Asistida por el Entorno tiene como objetivo el desarrollo de sistemas que puedan ayu-

dar a las personas dependientes a reducir su dependencia en las actividades de la vida

diaria proporcionando servicios de monitorizacion para detectar emergencias y avisar a

familiares o cuidadores si por ejemplo la persona sufre una caıda.

El analisis de la marcha humana es el estudio sistematico del caminar humano a traves del

analisis de observadores experimentados con la ayuda de instrumentacion para medir los

movimientos y mecanicas del cuerpo y la actividad de los musculos. Durante un ciclo de la

marcha, diferentes partes del cuerpo trabajan en conjunto para lograr el desplazamiento

del cuerpo entero. Los pies proporcionan el apoyo en el suelo, las piernas proporcionan el

avance alternativo de cada pie para lograr el desplazamiento deseado, la cadera establece

el centro de gravedad mantenido gracias al movimiento armonico del tronco y los brazos.

El analisis de la marcha estudia el movimiento de todas estas partes del cuerpo. Para

obtener parametros del movimiento de diferentes partes del cuerpo, existen dos metodos:

usando dispositivos inerciales anclados a distintas partes del cuerpo con el fin de grabar

los movimientos desde un punto de vista interno o usar tecnicas de vision artificial para

observar los movimientos desde un punto de vista externo. De estos dos enfoques, el

enfoque inercial proporciona normalmente mejores resultados ya que los dispositivos se

instalan en las partes especıficas del cuerpo que se quieren analizar, sin embargo, esta es

una forma intrusiva de obtener la informacion. Esto podrıa alterar la marcha debido a

que el sujeto debe andar con dispositivos inusuales. El enfoque con vision artificial, por

Page 10: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

otra parte, puede realizarse mediante la implantacion de marcadores en las diferentes

partes del cuerpo para realizar el seguimiento, en este caso el resultado es similar al

enfoque inercial con las mismas ventajas e inconvenientes. Otra forma de analizar la

marcha con tecnicas de vision artificial es mediante complejos analisis de la silueta y

segmentacion para extraer las diferentes partes del cuerpo de una forma no intrusiva.

Este metodo proporciona menos precision pero tiene la ventaja de que el sujeto no

necesita llevar puesto ningun dispositivo ni marcador y, por tanto, no altera la marcha

de ninguna forma.

El analisis de la marcha mediante vision artificial es un campo bastante comun. Se

han propuesto diferentes tecnicas durante la ultima decada. Sin embargo, pocos han

abordado el problema de la marcha anomala o patologica. La mayorıa de casos tienen

como objetivo el analisis de patrones de la marcha con fines biometricos.

La mayorıa de las contribuciones relevantes en el campo tienden a dividir las tecnicas de

vision artificial para el analisis de la marcha en dos amplios enfoques: tecnicas basadas en

modelo y tecnicas basadas en la forma o silueta. En las tecnicas basadas en modelo, los

investigadores tratan de encajar un modelo matematico en la estructura y movimiento

observada de la marcha. Algunos usan un modelo del esqueleto; otros segmentan la

silueta mediante formas elıpticas o volumetricas para ir midiendo caracterısticas espacio

temporales (ancho de zancada, pasos por segundo y similares). En las tecnicas basadas

en la forma, por otra parte, los investigadores se centran en la forma del sujeto y su

cambio con el tiempo.

De la revision del estado del conocimiento podemos concluir que existe una gran can-

tidad de enfoques para determinar los parametros de la marcha mediante tecnicas de

vision artificial, pero la mayorıa tratan el tema de identificacion de sujetos asumiendo

patrones de marcha normal. Sin embargo, estas tecnicas podrıan no cumplir con las ex-

pectativas al tratar con patrones anomalos de la marcha. Nuestra contribucion se centra

en proporcionar un enfoque basado en vision artificial capaz de extraer parametros de

la marcha siendo efectivo tanto para marcha normal como anomala usando camaras de

video exclusivamente. Una tarea comun en la mayorıa de enfoques es la extraccion del

fondo para obtener la silueta del sujeto. Esta es una tarea crıtica ya que el procesamiento

subsiguiente depende de ello. Tras esta fase, el procesamiento varıa de un enfoque a otro.

La mayorıa de enfoques se centran en las piernas ya que esa es la parte de la silueta

donde se produce la mayor parte del movimiento y presenta la mayor variabilidad en el

tiempo.

Page 11: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Resultados y conclusiones

El objetivo de formalizacion nos ha llevado a profundizar en los aspectos conceptuales

y procedimentales del conocimiento y de su creacion, con la consecuencia de aportar

sendas definiciones para problema y modelo, ası como hallar una justificacion formal,

basada en la teorıa de conjuntos, que confiere coherencia causal al metodo experimental.

Esta tesis propone una clasificacion de las decisiones que hacen los ingenieros para

disenar soluciones para los problemas de ingenierıa a los que se enfrentan. Hemos dividido

el problema inicial en tres subproblemas:

Subproblema modelo. Es la parte del problema que pertenece al ambito de uno de

sus modelos y es compartida con todos los problemas de ese modelo.

Subproblema especıfico. Es la parte del problema que pertenece exclusivamente a

el y no comparte con el resto de problemas que pertenecen al modelo.

Subproblema contextual. Es la parte del problema relacionada con las circumstan-

cias en las cuales el problema es resuelto, es decir, el proyecto de planificacion.

La division del problema en tres subproblemas nos permite establecer una base formal

para proponer una taxonomıa de la I+D+i:

Investigacion basica: si lo que se resuelve es el subproblema modelo. Da como

resultado conocimiento teorico.

Investigacion aplicada: si lo que se resuelve es el subproblema especıfico. Resolver

una sola instancia de un problema podrıa considerarse innovacion mientras que re-

solver un conjunto de problemas podrıa considerarse desarrollo. Da como resultado

conocimiento particular.

Innovacion procedimental: si lo que se resuelve es el subproblema contextual.

Hemos obtenido cinco clases de factores de diseno:

Una clase de decisiones dirigida a una familia de problemas, que son decisiones

abstractas sobre el modelo. Hemos relacionado esta abstraccion a la pregunta que es

el problema, que nos ha permitido conocer como es el problema.

Tres clases de decisiones relacionadas con la resolucion del problema especıfico

a traves de la concrecion del modelo. Estas decisiones son sobre la arquitectura,

la estructura y la tecnologıa, respectivamente. Hemos relacionado esta concrecion

Page 12: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

con la secuencia de preguntas para que es el problema, como es la solucion y con

que esta hecha la solucion, respectivamente. Todas estos factores de diseno que

hemos llamado factores esenciales tienen nombres especiales: factores explıcitos que

son aquellos relacionados con la pregunta para que, que son factores arquitecturales;

factores implıcitos que son aquellos relacionados con la pregunta como, que son

factores estructurales; y factores intrınsecos que son aquellos relacionados con la

pregunta con que, que son factores tecnologicos.

Una clase de decisiones de diseno dirigida a la implementacion de un prototipo.

Esas son las decisiones para resolver el subproblema contextual. Hemos relacionado

las circunstancias de implementacion con todas las otras preguntas restantes: quien,

cuanto, cuando, donde, etc. A estos factores de diseno los hemos llamado factores

contextuales de diseno.

Hemos ordenado las cinco clases de factores de diseno con la secuencia:

modelo > arquitectura > estructura > tecnologıa > contexto

Por tanto, hemos establecido una base formal y hemos obtenido un metodo para tomar

decisiones de diseno de una forma coherentemente causal.

La hipotesis representa una version del problem cercana al ambito del modelo y de

la arquitectura. Por tanto, para que el diseno sea causal y formalmente correcto, es

necesario empezar tomando decisiones relacionadas con el modelo que proporciona el

marco de la solucion. Despues continuar tomando decisiones de forma secuencial en el

orden que hemos establecido previamente. Esto proporciona:

Una tecnica para definir un modelo para un problema dado y un conjunto de otros

problemas relacionados.

Una tecnica para obtener una especificacion funcional de un problema dado basado

en un modelo y una conjuncion de objetivos arquitecturales. Esta especificacion

ignora cualquier restriccion que provenga del dominio de la solucion, por tanto

tiene en cuenta tan solo restricciones que hayan sido establecidas en la hipotesis

inicial, evitando ası cualquier poda prematura en el arbol de posible soluciones.

Una tecnica para proponer una especificacion estructural de una solucion consis-

tente en un arbol de modulos y un grafo organizacional en el que se reflejan las

relaciones entre los distintos modulos que componen el arbol estructural.

Una discusion acerca de la forma de tomar decisiones de diseno relacionadas con

los factores contextuales.

Page 13: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

El aspecto mas relevante de las tecnicas descritas esta relacionado con la naturaleza

observacional del conocimiento envuelto, al contrario de la forma convencional de tomar

decisiones de diseno basado en fuentes inspiracionales no formales como la experiencia,

las preferencias, etc. Por tanto, una definicion procedimental de la creacion de conoci-

miento en terminos de la percepcion humana ha sido propuesta.

Dentro de cada clase de factores de diseno, criterios de precedencia para determinar que

decisiones de diseno deben realizarse primero y cuales son las que deben ser subordina-

das, son dependientes de los objetivos de optimizacion y, por tanto, de cada caso. Por

ejemplo, las decisiones de diseno relacionadas con la estructura (eleccion de uno u otro

requerimiento, arbol estructural mas profundo con menos niveles, etc.) son susceptibles

de optimizacion, la cual depende de cada solucion. Esto puede proporcionar la semilla

para ayudar a los ingenieros a tomar decisiones de diseno mediante sistemas compu-

tarizados o incluso sistemas de inteligencia artificial, el cual es el trabajo futuro que

planeamos desarrollar.

Ademas de encontrar formalmente la justificacion causal del metodo cientıfico, hemos

podido encajar en ese marco formal los enfoques divide et vinces, model driven y top-

down de resolucion de problemas ingenieriles. Al tiempo que hemos encontrado que

la tecnica top-down de diseno es coincidente con el metodo cientıfico de resolucion de

problemas, el metodo bottom-up es coherente con la implementacion de prototipos, lo

cual justifica la restriccion de su utilizacion al diseno de instancias para las que ya se

conoce solucion.

Este procedimiento ha sido validado con un caso de uso real. El caso de uso elegido ha

sido el del diseno y desarrollo de un sistema basado en vision artificial para detectar los

sındromes de fragilidad y senilidad mediante el analisis de la marcha. Empezamos pro-

porcionando una definicion de la marcha para nuestro problema estableciendo ejemplos

y contra ejemplos para delimitar el modelo. La definicion resultante es la siguiente: ”La

marcha es el desplazamiento antropomorfico erguido, alternando pasos con dos pies, sin

apoyo adicional, manteniendo al menos un punto de apoyo en todo momento, en una

superficie horizontal o ligeramente inclinada”Despues procedemos a proporcionar una

especificacion funcional del problema estableciendo sus objetivos y los requerimientos

que cubren todos ellos. Recursivamente, hemos definido los siguientes niveles de espe-

cificacion proporcionando un arbol estructural. Finalmente, hemos construido el grafo

organizacional anadiendo relaciones entre los nodos hoja del arbol estructural.

El sistema resultante, capaz de extraer de forma automatica las variables cinematicas

que caracterizan la marcha humana, funciona de la siguiente forma: primero tomamos

como entrada una secuencia de imagenes de color y varios clasificadores determinan si

la salida puede ser interpretada como marcha normal o anomala. Para alcanzar nuestros

Page 14: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

objetivos, disenamos una disposicion para capturar imagenes de sujetos andando en un

entorno controlado. Colocamos una camara de forma perpendicular a la direccion de la

marcha del sujeto y otra camara en frente. Despues realizamos una serie de experimentos

a partir de los datasets grabados para validar nuestra propuesta.

El sistema propuesto esta formado por cinco modulos tal y como se extrae de la espe-

cificacion estructural. Estos modulos son extraccion del fondo, localizacion de los pies,

extraccion de caracterısticas, extraccion del esqueleto y clasificacion. El primer modulo

toma como entrada la imagen obtenida por la camara sin procesar y realiza una extrac-

cion del fondo para obtener la silueta del sujeto, posteriormente lleva a cabo los calculos

necesarios para obtener el rectangulo que la engloba. La informacion de la silueta y el

rectangulo que la engloba pasa al modulo de localizacion de los pies para, mediante

segmentacion, obtener la posicion de ambos pies. En este modulo se obtiene la puntera

y talon de cada pie para las secuencias de imagenes laterales y la puntera para las se-

cuencias de vista frontal. La informacion de la posicion de los pies de este modulo y la

informacion de la silueta del modulo anterior es la entrada del modulo de extraccion del

esqueleto que, mediante segmentacion usando un modelo antropometrico y el calculo

de centros de gravedad obtiene los puntos de cabeza, cuello, cadera y rodillas. Estos

puntos junto con los puntos correspondientes a los pies del modulo anterior, forman una

aproximacion del esqueleto del sujeto. El algoritmo encargado de obtener la represen-

tacion del esqueleto del sujeto recibe el nombre de FASE. El modulo de extraccion de

caracterısticas usa como entrada la serie temporal de la localizacion de los pies para,

mediante anlisis de gradiente, obtener el instante de apoyo del talon y despegue de la

puntera para las secuencias de imagenes laterales. En el caso de la vista frontal, este

modulo utiliza la serie temporal de la diferencia de la componente Y de ambos pies y

hace uso de los maximos y mınimos locales de dicha serie temporal para acotar tempo-

ralmente los instantes de apoyo de talon y despegue de la puntera. Este modulo junto con

el modulo de localizacion de los pies forman el llamado algoritmo HSTOD o algoritmo

de extraccion de apoyo del talon y despegue de la puntera. Finalmente, el modulo de cla-

sificacion usa las diferentes variables obtenidas por los modulos anteriores para realizar

una clasificacion de la marcha. Estas variables son: serie temporal de ancho de zancada,

serie temporal del angulo de las piernas, vector caracterıstico de tres dimensiones con

tiempo de ciclo, velocidad y longitud de zancada y una imagen caracterıstica de cada

ciclo de la marcha obtenida mediante la computacion de la silueta media de todos los

fotogramas correspondientes a dicho ciclo.

Durante la realizacion de diferentes pruebas de precision y rendimiento detectamos que

la fase de extraccion del fondo es la mas costosa computacionalmente. Esto se debe a que

en esta fase, el sistema trabaja con la imagen completa. Ademas el buen funcionamiento

de este modulo es crıtico ya que de el dependen el resto de modulos. Por tanto, hemos

Page 15: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

propuesto una optimizacion de este modulo. La optimizacion propuesta llamada IMPRe-

Ti permite procesar imagenes iterativamente de menor a mayor resolucion de modo que

si el tiempo disponible se agota se pueda disponer de, al menos, una respuesta subopti-

ma que permita al resto de modulos continuar con el procesamiento. Esta optimizacion

permite al sistema funcionar con restricciones temporales.

En el primer experimento realizado, el objetivo fue determinar la precision del algoritmo

HSTOD de deteccion de apoyo del talon y despegue de la puntera tanto para vista

lateral como frontal; en el segundo experimento, el objetivo fue determinar la precision

del algoritmo FASE de extraccion de articulaciones; en el tercer experimento, probamos

la precision de los clasificadores y las caracterısticas propuestas; finalmente, en el cuarto

experimento, determinamos el correcto funcionamiento del modulo IMPReTi de tiempo

real.

En el primer experimento, comprobar el funcionamiento del algoritmo HSTOD, utiliza-

mos un marcado manual de los instantes de apoyo del talon y despegue de la puntera

de todas las secuencias grabadas. Despues calculamos la diferencia en fotogramas en-

tre la respuesta del algoritmo y el marcado manual. La precision maxima que se puede

alcanzar esta acotada por la cantidad de fotogramas por segundo del video por tanto

consideramos que el margen de error para el marcado manual es de un fotograma. De

la misma forma, consideramos como valido un error de un fotograma en la respuesta

del algoritmo. Combinando ambos margenes de error damos como bueno cualquier re-

sultado que sea inferior o igual a 2 fotogramas de diferencia entre el marcado manual

y la respuesta del algoritmo. Los resultados del experimento muestran que, para vista

lateral, de los dos filtros usados, el primero proporciona menos precision que el segundo

pero menos casos no detectados para analisis de la marcha normal. Sin embargo, dado

que nuestro objetivo es caracterizar la marcha anomala, es por tanto el segundo filtro

el que mejor sirve a nuestros propositos. En vista frontal, el experimento muestra que

el enfoque basado en los cruces por cero no proporciona buenos resultados para marcha

anomala, problema que es solucionado con el enfoque basado en los maximos y mınimos

locales.

En el segundo experimento de la serie, comprobar el funcionamiento del algoritmo FA-

SE, utilizamos tambien un marcado manual de las posiciones de los puntos de cabeza,

cuello, cadera, rodillas y pies los cuales son comparados con los resultados obtenidos

por el algoritmo. Los resultados del experimento muestran que el algoritmo extrae con

mayor precision las articulaciones de la cabeza, el cuello y la cadera mientras que las

articulaciones de pies y rodillas tienen menos precision debido a la imposibilidad de

distinguir cada pierna durante la fase de cambio del pie de apoyo.

Page 16: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

El tercer experimento de la serie, que fue llevado a cabo para validar los clasificadores,

muestra que, para la tarea de clasificar entre marcha normal y anomala, el clasificador de

las series temporales del angulo formado por las piernas usando K-Nearest Neighbours

y Dynamic Time Warping ofrece los mejores resultados de clasificacion. El vector de

caracterısticas tridimensional de tiempo de ciclo, longitud de zancada y velocidad ofre-

ce tambien un buen grado de precision. El experimento con marcha normal, diplejica,

hemiplejica, neuropatica y parkinson muestra que diplejica y parkinson son confundidas

entre ellas frecuentemente. El mismo problema esta presente con hemiplejica y neu-

ropatica, pero en este caso, un clasificador jerarquico nos permite mejorar los resultados

hasta un 74 % del 71 % obtenido por el no jerarquico.

En el cuarto experimento se repitio el primer experimento utilizando sucesivas reduccio-

nes de resolucion a la imagen original. Se comprobaron un total de cuatro resoluciones

con un factor de reduccion de 2 de modo que las resoluciones resultantes fueron 1080,

540, 270 y 135 pıxeles de altura respectivamente. Los resultados mostraron que el siste-

ma es robusto ante imagenes de entrada de menor tamano, aunque en 135 la precision

disminuye haciendo muy impreciso el algoritmo con resoluciones menores a esa. Por tan-

to, la optimizacion IMPReTi permite que el sistema pueda funcionar hasta a 100 FPS

(con el hardware usado en los tests) con una pequena reduccion en la precision.

Finalmente, indicar que el algoritmo HSTOD trabaja con un retardo de unos 3-4 fo-

togramas debido a la aplicacion de los filtros, y que el algoritmo FASE puede trabajar

fotograma a fotograma, eso junto con la optimizacion IMPReTi, permite al sistema ob-

tener medidas a la frecuencia del video siempre y cuando el tiempo de computacion sea

menor que el tiempo de fotograma.

Limitaciones y trabajo futuro

Aunque hemos proporcionado una metodologıa para reducir la subjetividad de las so-

luciones a los problemas, el estado actual de desarrollo requiere a un ingeniero humano

para tomar decisiones. La metodologıa proporciona herramientas al ingeniero para to-

mar decisiones limitando la arbitrariedad, sin embargo, como el ingeniero sigue siendo

humano, la subjetividad de cada individuo sigue presente aun. Todavıa queda trabajo

que hacer para automatizar el proceso.

Con respecto al sistema de vision artificial, la solucion actual presenta varias limitacio-

nes. La principal limitacion es el entorno, las imagenes de vista lateral requieren una

habitacion de unas dimensiones considerables para ser capaz de obtener suficiente canti-

dad de pasos. La vista frontal requiere menos espacio pero proporciona menos precision.

La secuencia de entrada tiene que contener un fondo estatico y la camara debe ser estati-

ca tambien, es decir, el movimiento del sujeto es el unico movimiento permitido en la

Page 17: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

grabacion para poder realizar la extraccion del fondo, especialmente en la zona de los

pies y piernas.

El estudio ha sido realizado con un dataset relativamente pequeno y los sujetos de

pruebas eran personas sanas fingiendo distintos tipos de marcha patologica. Aunque el

estudio realizado es suficiente para comprobar la correccion de los algoritmos propuestos,

un estudio mayor con pacientes reales debe realizarse para validar la propuesta en un

escenario real.

Finalmente, debido al corto espacio de tiempo en el que se ha realizado esta tesis (cuatro

anos), el test peridico de la marcha para comprobar la posibilidad de la deteccion precoz

de los sındromes de fragilidad y senilidad no ha sido posible.

El trabajo futuro se centrara en abordar las limitaciones previamente mencionadas.

La posibilidad de usar una cinta de correr para grabar secuencias de la marcha sera

comprobado. Esto podrıa reducir potencialmente el tamano del entorno necesario para

grabar las muestras.

Nuestro trabajo futuro tambien se centrara en mejorar el algoritmo FASE para que sea

capaz de abordar el problema de localizar cada pierna durante la fase de cambio de pie

de apoyo y tambien localizar los brazos.

La posibilidad de procesamiento en tiempo real abre nuevas posibilidades como propor-

cionar correcciones a la marcha del sujeto en tiempo real o asistencia al equilibrio. Con

respecto a la asistencia al equilibrio, estamos contemplando la posibilidad de desarrollar

un sistema basado en giroscopios para reducir los riesgos durante situaciones de perdida

del equilibrio. Basamos esta asuncion en la hipotesis de que un grupo de giroscopos apro-

piadamente orientados podrıa proporcionar un vector de fuerza en cualquier direccion

capaz de compensar una perdida de equilibrio o, al menos, reducir la velocidad de la

caıda.

Page 18: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Agradecimientos

Mi agradecimiento empieza por Juan Manuel Garcıa Chamizo, director de esta tesis

doctoral, por el apoyo y la orientacion en todo lo relacionado con el desarrollo de esta

investigacion, por su paciencia para revisar los textos, y por la motivacion que me ha

inculcado, sobre todo ante los eventos mas adversos. Mi gratitud a Juanma, ademas

de por los conocimientos tecnicos, se extiende a lo que he aprendido de la actitud que

corresponde al cientıfico a la hora de investigar.

El apoyo recibido por parte de los demas miembros del equipo del proyecto FRASE

de la Universidad de Alicante, Jero, Javi, Rafa, Florez, Alexandros y Padilla, abarca la

otra gran parcela de mi deuda con el sistema investigador. Ellos, junto con el equipo

de mi otra Universidad, la de Castilla - La Mancha, Pepe, Ramon, Jesus e Ivan. Mi

agradecimiento por cuanto ha mejorado esta tesis tras pasar el filtro de las sesiones de

trabajo con ellos.

A mis companeros de laboratorio les agradezco su generosidad para enriquecer mi trabajo

con sus diferentes puntos de vista. De ellos, es emblematico el especial empuje y carino

que siempre he encontrado en la ayuda que me ha ofrecido Marcelo.

Al Departamento de Tecnologıa Informatica y Computacion de la Universidad de Ali-

cante lo tengo como mi hogar cientıfico, tanto por los profesores como por los tecnicos

y el equipo de administracion.

La esencia de las aptitudes de humildad y tenacidad, indispensables en un investigador,

ası como la pasion por conocer algo nuevo y aprender se las agradezco emotivamente a

los familiares que desde siempre me las han inculcado, Manoli, Esteban, Ana y Toni.

Gracias a todos por vuestro generoso apoyo el cual me otorga la confianza para iniciar

este nuevo viaje como doctor.

xvii

Page 19: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata
Page 20: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Contents

Resumen en castellano V

Agradecimientos XVII

List of Figures XXIII

List of Tables XXVII

Abbreviations XXIX

Symbols XXXI

1. Introduction 1

1.1. Starting conjecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2. Design decision making and design support systems . . . . . . . . . . . . 3

1.2.1. Top-down and bottom-up . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.2. Model-driven engineering . . . . . . . . . . . . . . . . . . . . . . . 4

1.2.3. Towards automatic requirement analysis and formal specification . 5

1.2.4. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.3. Evaluation of frailty and senility syndromes through gait analysis . . . . . 7

1.4. Computer vision based gait analysis . . . . . . . . . . . . . . . . . . . . . 8

1.4.1. Shape-based techniques . . . . . . . . . . . . . . . . . . . . . . . . 10

1.4.2. Model-based techniques . . . . . . . . . . . . . . . . . . . . . . . . 11

1.4.3. Abnormal gait recognition . . . . . . . . . . . . . . . . . . . . . . . 12

1.4.4. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2. Formalization of the model driven paradigm 15

2.1. The activity of design and problem solving . . . . . . . . . . . . . . . . . 15

2.2. Procedural conception about knowledge . . . . . . . . . . . . . . . . . . . 18

2.3. Concepts about problems . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.4. Classifying the design factors . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.4.1. Empiric evidence to classify the design factors . . . . . . . . . . . . 25

2.4.2. The relation scope of design decision . . . . . . . . . . . . . . . . . 28

2.5. Ordering the classes of design factors . . . . . . . . . . . . . . . . . . . . . 32

2.6. Model driven paradigm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

xix

Page 21: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Contents xx

2.7. Design decisions about models . . . . . . . . . . . . . . . . . . . . . . . . 39

3. Formalization of the top-down method 43

3.1. Classifying the essential factors . . . . . . . . . . . . . . . . . . . . . . . . 43

3.1.1. Empiric evidence to classify . . . . . . . . . . . . . . . . . . . . . . 43

3.1.2. The relation role of an essential factor . . . . . . . . . . . . . . . . 45

3.2. Ordering the classes of essential factors . . . . . . . . . . . . . . . . . . . . 48

3.3. Scientific method and top-down design . . . . . . . . . . . . . . . . . . . . 49

3.3.1. Study case: Vegetable starter plate . . . . . . . . . . . . . . . . . . 51

3.3.2. Study case: Gait analysis using computer vision . . . . . . . . . . 54

3.4. Formal specification of a problem . . . . . . . . . . . . . . . . . . . . . . . 58

3.4.1. Study case: Vegetable starter plate . . . . . . . . . . . . . . . . . . 60

3.4.2. Study case: Gait analysis using computer vision . . . . . . . . . . 64

3.5. Gait classifier using vision features . . . . . . . . . . . . . . . . . . . . . . 66

3.5.1. Extract vision features . . . . . . . . . . . . . . . . . . . . . . . . . 67

3.5.2. Gait classification . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

3.6. Structural specification of a solution . . . . . . . . . . . . . . . . . . . . . 70

3.6.1. Structural tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

3.6.2. Organizational graph . . . . . . . . . . . . . . . . . . . . . . . . . . 73

3.6.3. Structural specification of computer vision for gait analysis . . . . 75

3.6.4. Organizational graph of computer vision for gait analysis . . . . . 76

3.7. Design decisions about contextual factors . . . . . . . . . . . . . . . . . . 77

3.8. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

4. Gait-A 83

4.1. Low-cost RGB devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

4.2. Data set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

4.3. Extraction of vision features - Side view . . . . . . . . . . . . . . . . . . . 86

4.3.1. Preprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

4.3.2. Feet location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

4.3.3. Feature extraction . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

4.3.4. Skeleton extraction algorithm . . . . . . . . . . . . . . . . . . . . . 92

4.4. Extraction of vision features - Frontal view . . . . . . . . . . . . . . . . . 96

4.4.1. Feet location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

4.4.2. Feature extraction . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

4.4.3. Skeleton extraction algorithm . . . . . . . . . . . . . . . . . . . . . 103

4.5. Code optimizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

4.5.1. Iterative Multiresolution Processing in Real Time . . . . . . . . . . 104

4.5.1.1. IMPReTi first approach . . . . . . . . . . . . . . . . . . . 105

4.5.1.2. IMPReTi second approach . . . . . . . . . . . . . . . . . 106

4.5.2. IMPReTi results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

4.6. Gait classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

4.6.1. K-Nearest Neighbours for single value variables classification . . . 110

4.6.2. K-Nearest Neighbours and Dynamic Time Warping for time seriesclassification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

4.6.3. Principal Component Analysis and SVM for Gait Energy Imageclassification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

Page 22: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Contents xxi

4.6.4. Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

4.7. Periodical gait test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

5. Conclusion 119

5.1. Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

5.2. Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

A. Implementation of Gait-A 125

A.1. PC implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

A.2. Android implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

Bibliography 129

Page 23: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata
Page 24: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

List of Figures

2.1. Questions and their corresponding answers to elaborate a salad. . . . . . . 16

2.2. General empiric scheme of causal design process: starts in a given state-ment belonging to the problem domain and finishes in a valid instance inthe solution domain. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.3. Classes of design factors and interpretation of their relation with the in-vention. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.4. Causally coherent sequence of making design decisions and its correspond-ing process to implement a prototype. . . . . . . . . . . . . . . . . . . . . 34

2.5. Model-driven paradigm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.1. Classes of essential factors: intrinsic factors of the salad, its constituents;implicit factors, the organization of the salad; and explicit factors, theutility of the salad, that is, the salad itself. . . . . . . . . . . . . . . . . . 45

3.2. Classes of essential factors: intrinsic factors of Gait-A, its modules; im-plicit factors, the organization of Gait-A; and explicit factors, the utilityof Gait-A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.3. Classes of essential factors and their meaning in the design decisions. . . . 47

3.4. Causally coherent sequence of making design decisions and its correspond-ing process to implement a prototype. This is the Top-Down design ofinventions sequence, as well as the scientific method to create knowledge. 50

3.5. Steps to follow with the causally coherent procedure to create an invention. 51

3.6. There is an external interface that connects functional and structuralspecifications, and an internal interface that connects decisions and pro-totyping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

3.7. Structural tree of vegetable starter plate. . . . . . . . . . . . . . . . . . . 72

3.8. Structural tree of an organoleptic solution to the vegetable starter problem. 72

3.9. Structural tree of a dietetic solution to the vegetable starter plate. . . . . 73

3.10. Structural tree of a slightly different vegetable starter plate. . . . . . . . . 73

3.11. Global organizational graph. . . . . . . . . . . . . . . . . . . . . . . . . . . 74

3.12. Detailed organizational graph. . . . . . . . . . . . . . . . . . . . . . . . . . 75

3.13. Structural tree of GAIT-A. . . . . . . . . . . . . . . . . . . . . . . . . . . 76

3.14. Organizational graph of GAIT-A. . . . . . . . . . . . . . . . . . . . . . . . 76

3.15. Causally coherent steps of our method for making design decisions. . . . . 80

3.16. Analogies and differences between our causally formal design proposaland the empirical top-down and bottom-up methods. . . . . . . . . . . . . 81

4.1. Recording set up. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

4.2. Flow diagram of the proposed system for side view. . . . . . . . . . . . . . 87

4.3. Output of the get external toe and heel function. . . . . . . . . . . . . . . 88

xxiii

Page 25: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

List of Figures xxiv

4.4. Output of the get internal toe function. . . . . . . . . . . . . . . . . . . . 88

4.5. Output of the get internal heel function. . . . . . . . . . . . . . . . . . . . 88

4.6. MFF heel gradient without any filter. . . . . . . . . . . . . . . . . . . . . 90

4.7. MFF heel gradient applying filter 1 removing isolated values. . . . . . . . 90

4.8. MFF gradient applying filter 2 with Gaussian filter. . . . . . . . . . . . . 90

4.9. Graphic showing the amount of correct, wrong and undetected cases forHS and TO in side view using filter 1. . . . . . . . . . . . . . . . . . . . . 91

4.10. Graphic showing the amount of correct, wrong and undetected cases forHS and TO in side view using filter 2. . . . . . . . . . . . . . . . . . . . . 92

4.11. Head and torso COGs obtained. . . . . . . . . . . . . . . . . . . . . . . . 93

4.12. Thig and foot COGs obtained and foot location output. . . . . . . . . . . 93

4.13. Fast Approximate Skeleton Extraction output. . . . . . . . . . . . . . . . 93

4.14. Graphic comparison between 2D manual marking and FASE output. . . . 95

4.15. Normal gait leg angle comparison. . . . . . . . . . . . . . . . . . . . . . . 96

4.16. Abnormal gait leg angle comparison. . . . . . . . . . . . . . . . . . . . . . 96

4.17. Flow diagram of the proposed system for frontal view. . . . . . . . . . . . 97

4.18. Silhouette obtained after background subtraction and toes obtained bymarking the minimum Y of each halves of the silhouette. . . . . . . . . . . 98

4.19. Graph showing the difference of component Y of each foot. A red verticalline marks the instant at which a HS is produced and a green vertical linemarks TO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

4.20. Graphic showing the amount of correct, wrong and undetected cases forHS and TO in frontal dataset using zero crosses approach. . . . . . . . . . 100

4.21. Difference of component Y of each foot with abnormal foot dragging. . . . 101

4.22. Difference of component Y of each foot after several Gaussian filters. . . . 101

4.23. Graphic showing the amount of correct, wrong and undetected cases forHS and TO in frontal dataset using local maxima and minima approach. . 102

4.24. Mipmaps generated. Overall image size increased by 1/2. . . . . . . . . . 106

4.25. RGB optimized mipmap. Overall image size increased by 1/3. . . . . . . . 106

4.26. Silhouettes computed in each resolution. From left to right: 1080, 540,270, 135 pixels height. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

4.27. RMSE result of the heel strike and toe off detection algorithm for eachresolution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

4.28. Amount of undetected cases of heel strike and toe off for each resolution . 109

4.29. Processing time in milliseconds and FPS required for silhouette extractionphase for each resolution. . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

4.30. Graph showing the idle time for each frame with different time constraints.A negative value means that the time constraint is exceeded. . . . . . . . 110

4.31. This figure shows the different synthetic samples obtained from the orig-inal (left). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

4.32. Classification with different number of principal components . . . . . . . . 115

4.33. Normal gait . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

4.34. Diplegic gait . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

4.35. Hemiplegic gait . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

4.36. Neuropathic gait . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

4.37. Parkinsonian gait . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

4.38. Graphic showing the classification rates of the different classifiers used. . 117

Page 26: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

List of Figures xxv

A.1. Gait-A PC implementation GUI. . . . . . . . . . . . . . . . . . . . . . . . 126

A.2. Gait-A Android implementation GUI. . . . . . . . . . . . . . . . . . . . . 127

Page 27: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata
Page 28: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

List of Tables

2.1. Questionnaires to find the activities that have to be done in order tocreate inventions or solve the problems related as examples. . . . . . . . . 16

2.2. Traditional way of preparing a salad using an empirical approach. . . . . . 18

2.3. Classification of knowledge. . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.4. The answers to the questionnaire to make a keyboard can concern to amodel of the invention keyboard (M), to essential factors of the keyboard(E), or to circumstantial factors of the activity of design the keyboard (C). 26

2.5. Classes of answers to the questionnaire to make a salad. Model (M:food), essential factors (E: nutritive, tasty, lettuce, cucumber, olive oil,bed of vegetables, dressing, etc.), and circumstantial factors (C: planning,expert, cost, etc.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.6. Answers to the questions to make the access control at a room. . . . . . . 27

2.7. The answers to the questionnaire to make Gait-A can concern to its model(M), to essential factors of (E), or to circumstantial factors of the activityof design Gait-A (C). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.1. Empirical classification of answers to questions about the essential factorsto make a keyboard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.2. Empirical classification of answers to questions about essential factors toelaborate a salad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.3. The projection of each positive example of salad fall into the regionSALAD but any counterexample projection is not entirely inside the re-gion SALAD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

3.4. Examples and counterexamples of gait . . . . . . . . . . . . . . . . . . . . 58

3.5. Examples and counterexamples of gait and their projection into the model. 59

3.6. Human gait variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

3.7. Objectives of the vegetable starter plate. . . . . . . . . . . . . . . . . . . . 61

3.8. Objectives that the vegetable starter plate must satisfy. . . . . . . . . . . . 62

3.9. Formal specification examples. . . . . . . . . . . . . . . . . . . . . . . . . 63

3.10. Traceability matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

3.11. Gait classifier using vision features traceability matrix . . . . . . . . . . . 67

3.12. Extract vision features traceability matrix . . . . . . . . . . . . . . . . . . 69

3.13. Gait classification traceability matrix . . . . . . . . . . . . . . . . . . . . . 70

3.14. Requirements to cover the objectives of the vegetable starter plate problemas a salad. The objectives are defined in Table 3.8 . . . . . . . . . . . . . 71

4.1. Comparison between smartphone camera and Kinect sensors. . . . . . . . 84

xxvii

Page 29: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

List of Tables xxviii

4.2. Results of the HSTOD algorithm showing the amount of correct detec-tions (less than 2 frames of difference between algorithm and manualmarking), undetected cases, wrong detection (more than 2 frames of dif-ference) and the root mean square error of both correct and wrong cases.F1: first filter in which isolated values are removed, F2: second filter inwhich the foot is used instead of only heel or toe. . . . . . . . . . . . . . . 93

4.3. Comparison between FASE and manual marking as percentage of sub-ject’s height. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

4.4. Results of the HSTOD algorithm for the first approach. . . . . . . . . . . 100

4.5. Results of the HSTOD algorithm for frontal view. . . . . . . . . . . . . . . 101

4.6. 10-fold and leave-one-out cross-validation results of each classifier. C1:KNN with DTW using stride width testing each cycle, C2: KNN withDTW using legs angle testing each cycle, C3: KNN with DTW usingstride width testing each subject, C4: KNN with DTW using legs angletesting each subject, C5, C6 and C7: Bayes, KNN and SVM respectivelyusing cycle time, stride length and speed . . . . . . . . . . . . . . . . . . . 114

4.7. 10-fold and leave-one-out cross-validation results of each classifier. C1:KNN with DTW using stride width testing each cycle, C2: KNN withDTW using legs angle testing each cycle, C3: KNN with DTW usingstride width testing each subject, C4: KNN with DTW using legs angletesting each subject. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

4.8. Confusion matrix of legs-angle with DTW and KNN . . . . . . . . . . . . 115

4.9. Confusion matrix of PCA with GEI and SVM . . . . . . . . . . . . . . . . 116

4.10. Confusion matrix of PCA with GEI and SVM after applying reclassifica-tion of hemiplegic-neuropathic with legs angle time series and KNN. . . . 117

4.11. Confusion matrix of PCA with GEI and SVM after applying reclassifica-tion of hemiplegic-neuropathic with legs angle time series and KNN andremoving diplegic gait. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

Page 30: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Abbreviations

AAL Ambient Assisted Living

ADL Activities of Daily Living

AmI Ambient Intelligence

BS Background Subtraction

CBF Coming Behind Foot

CBK Coming Behind Knee

COG Center Of Gravity

DTW Dynamic Time Warping

EFD Elliptic Fourier Descriptor

FASE Fast Approximate Skeleton Extraction

FPS Frames Per Second

GEI Gait Energy Image

GM Granular Model

HMM Hidden Markov Model

HS Heel Strike

HSTOD Heel Strike and Toe Off Detection

IMPReTi Iterative Multiresolution Processing in Real Time

KNN K-Nearest Neighbours

MDE Model-Drive Engineering

MFF Moving Forward Foot

MFK Moving Forward Knee

MGM Multi-Granular Modelling

MoG Mixture of Gaussians

PEI Pose Energy Image

PSA Procrustes Shape Analysis

xxix

Page 31: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Abbreviations xxx

RGB Red Green Blue

RMSE Root Mean Square Error

SVM Support Vector Machine

TO Toe Off

UML Unified Modelling Language

VDM Vienna Development Method

Page 32: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Symbols

c(x) constraint

d domain

d(x, y) euclidean distance

e essential factor

f filtering function

m model

p problem

q design decision

x variable

A analysis

B background

C camera

D distance

E observational effect — environment

F invention — field of view

G gait

H observer — human

I identity

K knowledge

L light

M mental process

N nil

P human perception

R resolution

S sensing process

xxxi

Page 33: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Symbols xxxii

U universe

W whatever

α hypothesis

β speed m/s

δ derivation of a domain or constraint from another

θ cycle time s

λ stride length m

σ scope of a design factor

ω solution

Θ organizational graph

Π set of problems

Υ structural tree

Φ concretion

Ψ abstraction

P power of a design factor

R role of a design factor

Page 34: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Chapter 1

Introduction

A Ph.D. degree is a milestone usually obtained by doing a thesis starting from a conjec-

ture. This technique provides the evidence that the author must obtain the degree of

doctor because the process of doing a doctoral thesis empirically supports the author’s

ability to create knowledge.

This work tries to bring the author to an state of conscience and attitude that maintains

a compromise between a direct scientific contribution, close to development, and an

abstract contribution, near the scope of concepts and methods.

For that reason, this proposal addresses many different aspects, from pure epistemologi-

cal ones aimed at clarifying the underlying key under the criteria and procedures, to the

purely instrumental ones to obtain a particular instance of solution to a given problem.

Thus, the global end of obtaining a doctor degree is concreted in two subsidiary objec-

tives. On one hand, to advance in the problem resolution methods justification. This is

aimed at reducing the empiricism and arbitrariness, that often rule the decision making

process, and incrementing the procedural rigour, which should increase the quality of so-

lutions. On the other hand, to produce an immediate advance in the state of knowledge,

particularly, in the problems of increasing the quality of life of elderly people through

computer vision techniques.

1.1. Starting conjecture

This research was developed as part of the FRASE MINECO project (TIN2013-47152-

C3-2-R) funded by the Ministry of Economy and Competitiveness of Spain and, for that

reason, the problem that addresses is to characterize the gait of elderly people through

computer vision techniques in order to early diagnose the frailty and senility syndromes.

1

Page 35: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Introduction 2

In addition to propose a solution, this thesis provides answers to the relevance of the

decisions leading to the solution, which has led to having to investigate the cause that

justifies every design decision and thus, to address issues on the relevance of solving

in the scope of models, as well as addressing methodological aspects to move from the

general to the particular ones.

The formalization of the model-driven paradigm is achieved by establishing the classes

of design decisions involved in any problem solving process. We also establish an order

of the classes providing a way to determine which design decisions has to be made first.

We also propose a way of selecting the model in which the solution will be framed and

a method to solve the specific subproblem by proposing objectives and requirements

applying divide et vinces technique until sufficiently simple subproblems are obtained.

This provides a structural specification that contains the modules that compose the

solution and an organizational graph that establishes the relations among those modules.

Applying the previously proposed methodology, we design and develop a computer vision

based system for gait analysis aimed at detecting the syndromes of frailty and senility.

The methodology provided the structural specification, that is, the different modules

that compose the solution. This work proposes a new technique based in computer vi-

sion that is used to measure gait parameters and to characterise human walking using

only video cameras. The development effort focuses on classification and inference algo-

rithms specialised in the modelling of human walking. This proposal will allow designing

intelligent and low-cost systems. The use of image sensors installed in digital cameras

is also desirable from an energy consumption point of view because they rely on visible

light only, i.e., the condition of obtaining information from the scene without adding

energy is an essential requirement. From a scalability point of view, since there is no

energy added, all the risk of saturation and interferences due to adding more sensors are

discarded.

Human gait can certainly be visualised by digital cameras but gait study entails a

complexity not readily observable; in fact, it is riddled with difficulties arising from the

variability of poses and actions walking involves. One way current research has devised

to counteract this variability effect is to identify the main features of human gait through

the process of segmentation, tracking and pose analysis using low-level algorithms and

then evaluating those features with high-level classification algorithms.

In the following sections, a review of the state of the art is presented. As stated before,

this thesis has different parts and, thus, the state of the art is divided in three parts:

design decision making and design support systems, evaluation of frailty and senility

syndromes and computer vision techniques for gait analysis.

Page 36: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Introduction 3

1.2. Design decision making and design support systems

We aim at proposing a conceptual framework to systematically perform design opera-

tions and to help on making decisions to solve the problems and create inventions. This

framework could provide criteria to develop systematic procedures to make formally jus-

tified decisions. As a consequence, the objective basis for the solutions to the problems

will be increased and the arbitrary justification that comes from the inspiration of the

engineer will be reduced. Therefore, the procedure gains rigour and the result will be

more reliable.

Note that inspiration is the contribution to the solution of a problem related to the

experience, preference, chance, fashion, custom, school or external influence, and other

subjective causes. That inspiration may be of endogenous nature, which is what we call

intuition, and produces artistic results (backed by the conviction); and even it may be

of exogenous nature, which is what we call revelation (results supported by beliefs).

As inspiration, conviction and confidence are weak guarantees, their role in the process

of designing inventions and methods is accepted as a last resource, when there is not

theoretical deductibility and empirical induction to guarantee objectivity. Therefore,

the general purpose of a design methodology is to maximize the objective basis to make

design decisions and, consequently, reduce the subjectivity.

In the more distant horizon, the aim is to develop computational environments to pro-

vide assistance to engineers in the activity of making decisions to create the objects,

equipment, systems or methods, i.e., to propose solutions to the problems.

1.2.1. Top-down and bottom-up

Top-down is a recursive methodology for solving problems. It starts with a view of the

whole problem that break it in multiple sub-problems related to the main problem and

repeat the procedure for each sub-problem until there are sufficiently simple or known.

Bottom-up, on the other hand, starts with different sub-problems that are joined to form

successively more complex problems.

In the field of designing electronic systems with mixed signals, Kundert [1, 2] discarded

the bottom-up approach because it does not have enough expressive power to produce

the circuit design solutions with the complexity and celerity demanded by the market

and manufacturing capacity. He considered that a formal top-down method that could

support a methodical and systematic design process is necessary. Therefore, he proposed

a systematic sequence for making decisions and verification through simulation.

Page 37: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Introduction 4

Some studies also attempted to provide criteria to determine, between the top-down and

the bottom-up approaches, which one best fits a particular problem within a system

framework. Crespi et al. [3] presented a case of study based on a robotics problem

to compare the results obtained with both approaches. They address issues about:

analytical and design challenges, the mental processes used by the designer to obtain

a solution, the type of assumptions that are crucial towards the performance of the

solution, and about the possibility to obtain the same solution from both approaches.

Mantyla [4] supported the top-down design of mechanical systems and proposed that the

structuring of information about the solution in several layers, consistent with each stage

of the design process, as well as maintaining the components geometric relationships

using constraint satisfaction mechanisms, should be part of the CAD systems. Chen

et al. [5] developed a multi-level assembly model which supports top-down design as

suggested by Mantyla. The proposed model has the ability to capture important data

and knowledge in design supporting different stages of the top-down assembly design.

This model can support different CAD systems through adaptation and extension.

However, the main drawback of these approaches are that the evaluation process is

purely empirical, which serve to evaluate the top-down and bottom-up approaches for

a specific problem, but lacks a formal basis that supports the extrapolation of these

results for the general case.

1.2.2. Model-driven engineering

Since the early years of computing, the efforts of the engineers was to develop environ-

ment that could help them design ignoring the complexity of the underlying hardware.

And thus, the high level programming language were popularized as they represent a

higher layer of abstraction that removes the necessity of knowing the complex machine

code and also provides a way to write code ignoring the hardware architecture. As the

complexity of systems grew larger, an evolution of these programming language was

oriented to the Computer-Aided Software Engineering (CASE) which were focused in

providing graphical programming representations for the engineers to design like state

machines, flow diagrams, etc. Those were the precursors of the Unified Modelling Lan-

guage (UML) which provided a standard for graphical programming diagrams for object

oriented programming languages. [6]

The paradigm of model-driven engineering solves aspects of large scale composition and

integration. This approach considers that there are aspects of problem solving that

belong to experts in the problem domain. The paradigm separates design decisions

related to the nature of the problem, from the ones related to the solution, through

Page 38: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Introduction 5

the development of the solution using a higher level of abstraction than programming

languages [7].

In 2001, the Object Management Group (OMG) proposed their Model Driven Arqui-

tecture (MDA). MDA emphasizes the role of models in developing software systems and

support that models should be accurate enough to be able to perform an automated

transformation to code [8, 9]. But even if most of the MDE practitioner acknowledge

its benefits, MDE has not been widely adopted and is used mostly for specific parts

of the system and rarely for a whole system [8]. Recent studies suggest that there are

scalability issues with MDE, large scale systems are difficult to specify and maintain

using current MDE approaches [10]. That might be one of the reasons MDE has not

been widely adopted and is used for specific parts of a system.

The Multi-Granular Modelling (MGM) deals with aspects of propagation of character-

istics between the modelling phases: requirement analysis, conceptual design, detailed

design and prototyping [11, 12]. They defined the MGM with three layers: user interface

layer which provides a way to interact with each Granular Model (GM); GM decompo-

sition and envelopment layer which contains the hierarchy of GMs; and data support

layer which provides data communication and storage for model development. Each GM

is considered as a subproblem and is defined by its domain, a list of meta-parameters

and a series of functions that describe the relationship of the meta-parameters.

1.2.3. Towards automatic requirement analysis and formal specifica-

tion

Automatizing the generation of formal specifications from the problem requirements

has been the subject of considerable investigation effort for fifty years. Thus, there are

proposals to use two-level grammars as formal requirement specification languages to

represent programs as high-level descriptions of recursive functions. The first level of the

grammar is used to specify the domain and the second level is used for rules of evaluation.

Its main drawback is that it can only be used as a programming language for recursive

functions [13, 14]. Subsequent refinements incorporate object-oriented approach [15, 16].

Other authors proposed approaches like Vienna Development Method (VDM) [17] and

VDM ++ [18].

Brunetti and Golob [19] proposed a design approach based on the characteristics of the

problem to take into account the semantics contained in the early stages of design in

order to use such information in the final stages of prototyping. They found empirically

the dual tree and graph structure later proposed by Qi [20], and using this concept to

develop the design aid environment SINFONIA [19]. Qi proposed a double structure

Page 39: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Introduction 6

based on a tree and a graph to model the assembly and a notation to represent the

composed structure. The relationship level of the assembly model is represented by a

tree, and the connection between modules of the assembly model tree is represented by

a graph [20]. Harald shows the principles and underlying mechanisms of the system

architecture and data structures for generating solutions. He transforms concepts and

characteristics in consistent formal specifications but he finds necessary to develop a

theoretical basis to provide support to the conceptual features analysis of the problems

[21].

Literature also contains proposals for software requirement analysis in natural language.

Likewise, there are many of them to automatically transform certain types of formal

specification to obtain source code, validating it from the specification. Among the

formal specification languages designed to facilitate the specification of information sys-

tems, the Z notation [22] was developed by the Oxford University. Z, which become

ISO standard in 2002, is used to formally describe software systems. It is based on the

set theory, the lambda calculus, and the first-order logic. It decomposes specifications

into subproblems called schemas that are used to describe the static and the dynamic

aspects of the system. One of its main advantages is that there are many tools. Object-Z

[23] is an extension of Z notation for object-based design solutions. Alloy specification

language [24], based on Z, allows to define structural properties, its syntax is compati-

ble with graphics object-oriented models and its formal expressions, based on sets, can

express complex constraints. The purpose of this language is to be as simple as possible,

so it ignores certain operators which reduce its power. However, later versions solved

some of these problems.

There are proposals to analyze natural language requirements to obtain entity-relation-

ship models that use a natural language parser to interpret the requirements and obtain

a representation of the entity-relationship model. Gomez et al. developed a design

support system that asks questions to the user [25].

UMGAR uses natural language processing to obtain the UML model [26]. The work of

Ilieva is oriented to obtain a formal representation [27]. The translation in the opposite

direction, i.e., to obtain a natural language specification from UML, has been addressed

in the GeNLangUML system, although the natural language obtained is very similar to

UML diagram itself [28].

Bruel and France [29] developed a system, FuZe, to translate UML models to formal

specification in Z notation. It uses the Fusion method [30], technique of object-oriented

development that emphasizes ease of use and intelligibility, but it lacks accuracy. This

is one of the main shortcomings of this method, hence the motivation for FuZe to obtain

an accurate formal specification.

Page 40: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Introduction 7

1.2.4. Conclusion

We conclude from the related works that there is an increasing interest in the develop-

ment of tools for aiding in the design decision making. This interest is more evident

nowadays due to the increase in size and complexity of problems, and hence, the systems

to solve them. Related to the increased size of the problems, arguments in favour of

top-down design methodology versus bottom-up is found. Thus, new approaches were

developed like the model-driven engineering.

The growing availability of computerized environments to support design has been aided

by advances in methodological approaches. These approaches have been incorporated

into the engineering design in which architectural variables of scalability, systematization

and re-usability are even more relevant.

Although some aspects of designing are treated rigorously in the literature, in general,

justification of proposals is essentially empiric, probably based on the experience of

the authors. This gives such contributions the guarantee provided by the academic

authority of these authors, which deserves all the personal recognition but belonging to

the domain of conviction or confidence. Nevertheless, it is desirable to have a formal

framework that ensures the design methodology rigour and supports its progress in a

consistent manner. Therefore, it is necessary to advance in the conceptual aspects of

relationships between problems and models in order to establish a theoretical framework

to support the development of environments to aid in the specification and resolution.

1.3. Evaluation of frailty and senility syndromes through

gait analysis

As people grow older their abilities are diminished. This process is intensified progres-

sively and, at certain point, those limitations dramatically affect the living conditions,

supposing in some cases an impediment to properly develop daily living activities. Global

population is ageing, i.e., the number of elderly people is increasing as well as the life

expectancy. Therefore, dealing with frailty and senility are of great relevance to the pop-

ulation. An early diagnose could be very beneficial because it could delay the symptoms

or at least slowdown the decay.

Several branches of medicine like orthopaedics, rheumatism, neurology and rehabilitation

have shed light on the relationship between human walking and disease symptoms such

as frailty and dementia [31, 32]. One of the most widespread techniques used to gain

insight into the area is gait analysis, the quantification of measurable gait parameters

Page 41: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Introduction 8

together with its interpretation [33]. This process, based on subjective measurements,

is basically performed under clinical conditions by specialists.

Most of the relevant studies in the literature note that the main component involved

in frailty syndrome evaluation is physical activity; however, they observe that some

biological markers are also present [34]. There are five highly accepted criteria proposed

by Fried [35] that indicate if a person is considered frail. These criteria are: involuntary

weight lose, general exhaustion, weakness, slow walking and low level of physical activity.

Three of them are related to physical activity, that is why gait is a clear indicator for

frailty detection. Gait is also related to cognitive deterioration [36], Hausdorff et al.

[37] consider gait to be a high cognitive task. In this sense, Mulder et al. [38] refer

to a gait cycle in which attention, planning, memory and other cognitive processes are

involved. Waite at al. [39] conclude their study by stating that gait slowdown can safely

be assumed to be a predictor factor of dementia. Studies in the same line can be found

in [40–43]. Therefore, the study of gait variability over time could potentially predict

the frailty and senility syndromes [44, 45]. Recent studies also suggest that frailty is a

predictor factor for Alzheimer and dementia [46, 47].

In human activities, the nervous system and physiological components intervene in a

complex relationship, e.g., a simple task like walking includes multiple complex processes

from equilibrium maintenance to harmonic movement of different body parts and their

synchronization. During a gait cycle there are both cognitive and physical processes

involved. Therefore, both cognitive and physical deterioration affect gait. From this

review, we conclude that there exists a correlation between some disease syndromes

that affect elderly people and gait. Therefore, gait analysis provides a useful tool for the

early diagnose of frailty and senility syndromes.

1.4. Computer vision based gait analysis

The paradigm of Ambient Intelligence (AmI) aims at developing intelligent environment

to help people in their Activities of Daily Living (ADL). An environment in which

smart systems provide energy saving, illumination and temperature control, security,

etc. Within the AmI paradigm, the Ambient Assisted Living (AAL) aims at developing

systems that could help dependant people to reduce their dependency in their ADL by

providing monitoring services to detect emergencies and warn family members or care

givers, e.g., if the person falls.

Advances in new technologies have led to the proliferation of applications that study gait

analysis like human identification [48, 49], video surveillance [50] or sport [51]. These

Page 42: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Introduction 9

new technologies provide, on one hand, techniques to measure parameters of human

gait more accurately and, on the other hand, intelligent analysis systems. Non-wearable

(e.g. video cameras, floor sensors, etc.) [50, 52] or wearable devices (e.g. accelerometers,

gyroscopes, etc.) [53] can measure and characterise human gait parameters. Intelligent

analysis techniques provide new strategies to interpret and understand human walking.

Human gait analysis is the systematic study of human walking through the observation

of experienced observers with the help of instrumentation for measuring body move-

ments, body mechanics and muscles activity [54]. During a gait cycle, different body

parts work together to achieve the displacement of the entire body. The feet provide the

ground support, legs provide the alternate advance of each foot to achieve the desired

displacement, the hip establish the center of gravity maintained thanks to the harmonic

movement of the arms and trunk. Gait analysis studies the movement of all these body

parts. To obtain parameters of the movement of different body parts, there are two

approaches: using inertial devices attached to body parts to record the movements from

an internal point of view or using computer vision techniques to observe the movements

from an external point of view. From these two approaches, the inertial approach usu-

ally provides better results because the devices are installed in the specific body part

analysed, however, this is an intrusive way of obtaining data. This could alter the gait

because the subject is wearing unusual devices. The computer vision approach, on the

other hand, could be performed planting markers in different body parts to be tracked,

in this case the result is similar to the inertial approach with the same advantages

and inconveniences. Another way of analysing gait with computer vision techniques is

through complex silhouette analysis and segmentation to extract different body parts in

a non-intrusive way. This method provides less accuracy but it has the advantage that

the subject does not need to wear any device nor marker and, thus, does not alter the

gait in any way.

Gait analysis through computer vision methods is a really common field. Different

techniques has been proposed during the last decade. However, few has addressed the

abnormal gait problem. The majority of cases are related to human biometrics by

analysing gait patterns.

Most of the relevant contributions in the field tend to divide computer vision techniques

for gait analysis into two broad approaches: model-based techniques and shape-based

techniques. In model-based techniques, researchers try to fit a mathematical model into

the observed gait structure and movement. Some use a skeleton model; others segment

the silhouette into elliptic or volumetric shapes to subsequently measure spatio-temporal

features (stride length, steps per second and the like). In shape-based techniques, on the

other hand, researchers inquire into the shape of the subject and its change over time.

Page 43: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Introduction 10

1.4.1. Shape-based techniques

With regard to shape-based techniques, Man and Banhu [55] proposed a gait represen-

tation feature called GEI, it is defined as the average of all the silhouettes in a gait cycle.

They use this representation to identify different persons by applying PCA to reduce

the dimensionality of the input and then comparing the n principal components. An-

other gait representation is proposed by Roy et al. [49]. They launch a high-resolution

representation of motion they come to name Pose Energy Image (PEI). They divide a

gait cycle in K key poses using K-means clustering algorithm. A PEI is then defined

as the average image of all the silhouettes of a subject in a gait cycle that belongs to a

particular key pose. The computation performance of PEI is slow. To resolve this, Pose

Kinematic is proposed. It is defined as the percentage of time spent in each of the N key

pose states. Applying the PEI approach, Roy et al. [56] propose the use of gait phase at

the instant of entering and leaving from one camera to another for tracking a person in a

multicamera system. They use a sequence of the silhouettes of a person’s gait as input.

From this sequence, they define some key poses using the K-means clustering algorithm.

Each key pose is a PEI. Once key poses are obtained, each silhouette of the sequence is

projected in eigenspace to calculate the feature vector. Following, a similarity score of

the input and each key pose is calculated.

A cascade fusion scheme is presented by Zheng et al. [52]. They represent links between

gait images and its correspondent foot accumulative pressure image. These images are

accumulative records of the reaction force of the ground against the pressure produced

by a foot during a gait cycle. Although this is a high precision technique, the main

disadvantage of this approach is that it requires the person to walk on barefoot because

accumulative pressure images vary depending on the footwear. It also requires expensive

sensors on the floor to obtain such images.

The work of Collins et al. [57] present a viewpoint dependent technique based on tem-

plate matching of body silhouettes that analyses cyclic gait patterns to extract key

frames from a sequence. The extracted frames are classified using KNN with normalized

correlation as a distance function. Classification rates greater than 90% show that the

method has great potential for gait recognition assuming a fixed viewpoint.

The shadow projected by a person is used by Iwashita et al.[50] to improve gait recogni-

tion using aerial cameras in which the person is shown from above. They use spherical

harmonics to analyse gait features showing better results than other methods using

Fourier, Gait Energy Image or Active Energy Image. They also propose the combined

use of shadow and person silhouette to improve recognition using oblique camera where

there is a good view of both. The main drawback of this approach is that it is dependant

Page 44: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Introduction 11

of the light to produce shadows. Then they launch a robust identification method to

changes in appearance [48] by using subdivisions of GEI and matching each division

individually and then fusing the results.

The work of Zeng et al. [58] analyses a set of different gait features for person identi-

fication. They extract the silhouette and then obtain the contour using Canny’s edge

detector. Then they extract 4 features: evolution of the width/height proportion, evolu-

tion of maximum and minimum width of the bounding box, evolution of the silhouette

area and evolution of the centre of gravity. These 4 features follow a cyclic pattern that

match the gait cycle and are used to identify a person through deterministic learning.

The system is previously trained to learn the patterns of the 4 features for each person

that are intended to be identified.

1.4.2. Model-based techniques

In shape-based techniques deep knowledge of gait is not essential. Perhaps this is one

reason for these techniques to produce notably accurate person identification. However,

since we attempt to perform a full characterisation of gait, a mathematical model, that

is, model-based techniques, will be more suitable. We start by examining Leu et al.’s

approach [59]. They initiate the process by extracting the silhouette by background

subtraction and then, they apply an anatomical model to segment head, torso, thighs

and feet. Tracing the mean point of each segment and applying linear regression, they

obtain the skeleton. Another method for extracting skeleton joints is proposed by Yoo

and Nixon [60]. They also use an anatomical model to segment the silhouette, then they

obtain the mean points of each segment and apply linear regression to obtain a line that

represent the bones. During double support gait phase they apply motion tracking to

estimate the location of the occluded points.

The use of Kinect sensor to measure gait parameters during a treadmill walking with

frontal view is examined by Xu et al. [61]. Heel strike and toe off events obtained with

a Kinect sensor are compared with those obtained with a motion tracking system. The

results show that heel strike has less error than toe off because heel strike is produced

closer to Kinect sensor. The study shows that Kinect sensor may be used as an alter-

native device to measure some gait parameters for treadmill walking. However, the use

of a treadmill could alter the gait of the subject. Also Kinect emits infra-red light to

the environment to obtain depth measures, this produces some scalability issues because

using more than one device require a synchronization to avoid interferences.

Choudhury et al. proposed a method called STM-SPP [62]. This method is composed

by three modules: extraction and post-process of the silhouette, subject classification

Page 45: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Introduction 12

using Procrustes Shape Analysis (PSA) and Elliptic Fourier Descriptor (EFD), and com-

bination of both results. Silhouette extraction module is carried out using background

subtraction and morphologic operations to remove noise. PSA module analyses a group

of shapes using matching of settings. A setting is defined as a set of geometrical location

points of a figure. Those points are obtained from an anatomical analysis in which dif-

ferent key body points (head, torso, knee...) are considered as fraction of the subject’s

height. They calculate stride length using: the width of the bounding box of the zone

defined as feet. EFD allows to characterize the contour of the subject in key points of a

gait phase.

Cunado et al. [63] present a feature-based method for gait recognition that is robust

against noise and occlusion. It uses a gait signature based on phase-weighted Fourier

magnitude of the hip rotation. Classification performed using KNN showed a rate of

80% when using only magnitude information and 100% when using phase-weighted mag-

nitude. Although good results, the experiments were performed in a small database of

subjects. The method is improved by Yam et al. [64] applying it to not only gait but

running as well showing better recognition in the latter.

Even though we consider that a model-based technique best adapts to our present needs,

we bank on shape-based techniques for improving our gait characterisation. We think

it will be fruitful to further evaluate a combined method as the one illustrated in the

three-phase gait recognition approach Chodhury et al. [65] deal with. They analyse

the spatio-temporal shape and movement of a subject’s silhouette to identify him. In

the first phase, they use the phase-weighted magnitude spectra of the Fourier descriptor

of the silhouette contour in 10 phases of gait period to analyse the spatio-temporal

changes in shape. In the second phase, they perform an analysis of the body shape and

movement by fitting ellipses in the segments of the contour for the 10 phases of gait

using a histogram matching with the Bhattacharyya distance as a dissimilarity score. In

the last phase, they use Dynamic Time Warping to analyse the angular rotation pattern

of the front knee taking into account the arms swing. Finally, the scores obtained in

each phase are fused using a score weight system to obtain a robust identification against

occlusion or unavailable or distorted frames.

1.4.3. Abnormal gait recognition

A lot of proposals for human identification using gait analysis exist, however, there are

few proposals for normal and abnormal gait classification.

Page 46: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Introduction 13

Meyer et al. [66] proposed a method to classify gait between walking, hopping, running

and limping, they track the head and trunk position and train some Hidden Markov

Models (HMM). They obtained 62.2% accuracy rate between the four gait patterns.

Bauckhage et al. [67] proposed a homeomorphisms between 2D lattices and binary

shapes to obtain a vector space where the silhouette is encoded. They perform successive

bounding box splittings to obtain different lattices, then Support Vector Machine (SVM)

is used for classifying obtaining around 80% accuracy rate.

Wang [68] proposed a method based on optical flow to calculate a histogram of silhouette-

masked flows, then an eigenspace transformation is performed. They compare with a

normal gait template to calculate a deviation with which they obtain 90% accuracy rate.

An approach for parkinsonian gait recognition is presented by Khan et al. [69]. They

use the silhouette to obtain the bounding box and fit a human model to find head, torso

and legs segments. The skeleton is obtained by computing the mean points of each

body segment. Following, they obtain legs movement and the posture inclination while

the person is walking to get a particular score that it is compared with a normal gait

model in order to get a similarity score. This approach provides 100% accuracy to detect

parkinsonian gait through legs angle and posture inclination because there is a sufficient

difference between normal and parkinsonian gait. To distinguish other gait types of

pathological gait this approach could be insufficient but it provides a first approach.

Similarly, Krishnan et al. [70] use lean and ramp angles to detect abnormalities such us

postural instability and heel strike instability with satisfactory results.

1.4.4. Conclusion

We can conclude from this review that there are a myriad of approaches to figure out

gait parameters through vision-based techniques, but for the most part, they tackle sub-

ject identification assuming a normal gait pattern. However, these techniques might not

fulfil expectations when dealing with abnormal gait patterns. Our contribution aims at

providing a vision-based approach capable of extracting gait parameters that is effective

in both normal and abnormal gait using RGB images exclusively. A common processing

phase in most approaches is the background subtraction to obtain the subject’s silhou-

ette. This is a critical task because the subsequent processing depends on it. After this

phase, the processing varies from one approach to another: some divide the silhouette in

key parts, others try to fit mathematical models into it or analyse its change over time.

Most of the approaches focus on legs because that is the part of the silhouette where

most of the movement is produced and present the greatest variability over time.

Page 47: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata
Page 48: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Chapter 2

Formalization of the model driven

paradigm

2.1. The activity of design and problem solving

Being the considerations of this work extremely open, the starting point must be as

general as possible, i.e. there must be no restrictions or they must be reduced to the

unavoidable ones. For example, it should be noted that the activity done by a maı to

serve a salad, a chef to prepare a pizza, a student to find the area of a triangle or the

radius in a sphere, or the activity performed by an engineer to design a system, or to

develop a keyboard or even an access control, all those activities share the same essence:

to answer the intuitive question what to do to do something. That is, answering the to

do questions.

That general question can be decomposed into countless more specific questions, so any

compendium of the individual answer to each of them constitute an answer to the to

do questions. Some of these questions are: what (. . . is the thing to do), who (. . . has to

do it), with what (. . . must it be done), whom (. . . to do it), how much (. . . it must cost),

how (. . . to do it), when (. . . to do it), what for (. . . must it be done), where (. . . to do it),

etc. Table 2.1 shows questions to be answered to make decisions that provide solution

for any problem.

This concept resembles the 6 W (or 5 W and an H ) used in journalism to obtain the

maximum amount of information by answering the questions what, who, when, where,

why and how. Or the WWWWWHH principle of software engineering proposed by

Boehm [71] which organises the life-cycle plan in objectives (why is the system de-

veloped), milestones and schedules (what will be done by when), responsibilities (who

15

Page 49: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 16

is responsible and where are they located), approach (how will the job be done) and

resources (how much resources are needed).

Each answer represents an action, an event or a variable value. Hereafter, we will refer to

these factors that belong to the creation of an invention or correspond to the solution of

a problem, as design factors. Design decision are just actions to establish design factors.

Table 2.1: Questionnaires to find the activities that have to be done in order to createinventions or solve the problems related as examples.

What to do to do something

Invention Activitydesign a system what, how, when, who, where, with what,...serve a salad whom, when, where, how, how much,...calculate a triangle who, what, with what,...produce a keyboard with what, how much,...

WITH WHAT

lettuce, cucumber,

olive oil,…

WHAT FOR

tasty, healthy,

nutritive, aromatic,…

WHAT

food, meal,…

WHERE

into the cook

etc.WHOM

two dinners

HOW MUCH

less than 10 €,

medium size,…

WHO

a chef

WHEN

just to be served

HOW

a bed of vegetables

with sprayed oil

Figure 2.1: Questions and their corresponding answers to elaborate a salad.

Figure 2.1 shows examples of the answers corresponding to each question related to how

to elaborate a salad.

The statement of a problem, i.e., its hypothesis, must belong to the domain of statements

to be clarified which is the scope of the problems. To avoid preconceptions that could

bring into the hypothesis some aspects pertaining to the solution, the hypothesis should

consist of conditions conceived under an approach that has to be external to the solution

of the problem. Therefore, the hypothesis will answer only to the two external issues

that are in the to do questions. These are: what and what for. Note that answers are

related to nature and utility that the solution will have, respectively.

Even though other possibilities could exist, consistency of design procedure can be en-

sured causally and, therefore, their starting point has to be the initial conjecture, that

is, the hypothesis.

Figure 2.2 shows the empiric general scheme of causal design process: the starting point

is a conjecture that falls within the scope of the problem. A sequence of actions leads,

Page 50: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 17

firstly, to a correct and accurate definition of the problem, secondly, to a provisional

instance of a solution, and finally, to a valid instance of that solution, also called proto-

type.

Each step of the method is causally based on the previous step. In order to prevent an

early bound into the tree of possible solutions, the hypothesis should express the problem

from an outside perspective to any solution, ignoring the structure and composition of

any solution. That is, the hypothesis should be a view of the problem from the Universe,

but cannot be excluded that conditions related to components or to the structure could

be present.

formulate propose experiment

PROBLEM DOMAIN

(external focus)

SOLUTION DOMAIN

(internal focus)

DESIGN MAKE

idea prototype

Figure 2.2: General empiric scheme of causal design process: starts in a given state-ment belonging to the problem domain and finishes in a valid instance in the solution

domain.

The approach represented in figure 2.2 is considered intuitive by international scien-

tific community, that is, it is part of the axiomatic system of engineering praxis and,

therefore, is assumed that no further explanation is required. This assumption implies

acceptance of the process of creating inventions as an activity whose essence comes from

the inspiration of the engineer: knowledge, experience, skills, etc. In short, it is assumed,

that creation in engineering is based on the intuition of the engineer. As a consequence,

it is really difficult to find scientific works that formally ensure their suitability except,

perhaps, epistemological contributions or other coming from the scope of the history

and philosophy of science [72–79].

In general terms, the quality of solutions that an engineer obtains would be accepted

depending largely on the consideration of each individual. Thus, a creation made by

an engineer is subjective. In order to influx objectivity into that creation, usually, a

partial induction is done that consists of experimentally prove that the solution fit the

objectives that were established as conditions to characterise the problem.

Table 2.2 shows a known Spanish saying that provides the recipe to elaborate a salad,

whose foundation is the empirical evidence that these ingredients (with what), in these

proportions (how much), and that sequence (how) results in salads that are considered

tasty.

Page 51: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 18

Table 2.2: Traditional way of preparing a salad using an empirical approach.

Empiric procedure to elaborate a salad

Salad must be salted, with few vinegar, and plenty of olive oil(La ensalada, salada, poco vinagre, y bien aceitada)

with what with salt, vinegar and olive oilhow much a lot of salt, a little quantity of vinegar, and a lot of olive oilhow first add salt, then add vinegar and, finally, add olive oil

What we propose below is a formally justified procedure to make decisions about the

design factors. This procedure is based on the set theory, specifically, binary relations

between these design factors. Briefly, what is at issue here is to characterise the design

factors that share certain properties, assuming all factors that belong to the same class

will be open to admit a similar approach. Next, ordering the kinds of factors will

provide criteria over the adequate sequence we must follow to obtain answers to the to

do questions.

Previously, to contextualise this approach, we will need to think over the concept of

knowledge, problem and the relationship between them.

2.2. Procedural conception about knowledge

As we are interested in a procedural understanding that could support the transfor-

mations required by the resolution process, we propose that knowledge creation is the

process of getting an answer from a question or, equivalently, making decisions to obtain

a solution from a problem.

In a empirical interpretation, we define knowledge creation in the following terms.

F being an invention, entity, event or phenomenon in the Universe.

F ∈ U (2.1)

An observational effect, E, of the invention F will depend on F . Assuming functional

notation,

E = E(F ) (2.2)

Human perception, P , of the observational effect is the activity of apprehend something

by means of the mind through the senses. Then, P provides information to the individual

about F through E. This information is knowledge, K, about the inventions, entities,

Page 52: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 19

events or phenomena in the Universe.

K(F ) = P (E(F )) (2.3)

Perception can be decomposed in two sequential steps: a sensory process, S, that consists

of a transformation that filters the observable effect, followed by a mental process, M ,

that modulates by means of interpreting the incoming information to obtain the final

knowledge.

K(F ) = M(S(E)) (2.4)

That is, knowledge is created when an answer to an observational effect is obtained,

through perception, which is a double sequential filtering: sensory followed by inter-

pretative. Furthermore, knowledge creation can be expressed as a sequence: sensory

process, mental process.

Perception can be defined in the following domain:

P ∈ {W, I,N} (2.5)

Being:

I: identity, the filter does not transform the incoming information, so P = E

N : null, the filter produces no response, so P is not defined (@P )

W : whatever, so P = W (E) excluding any filters that produces no change or that

do not produce a response.

A classification of knowledge creation can be made, as shown in table 2.3.

Knowledge creation allows us to establish a classification. Therefore, according to the

fundamental theorem of equivalence relations, we can affirm that there exists an equiv-

alence relation between the process of knowledge creation that establishes three classes

of knowledge: formal, non-formal and null

Formal knowledge. Completely defined processes of perception, that consist of in-

coming sensory information followed by interpretation, can produce observational

knowledge. Its main characteristic is that knowledge can be reproduced consis-

tently from the same E.

Non formal knowledge. Incompletely defined processes of perception, that consist

of only interpretation, produce non observational (inspired) knowledge. Knowledge

Page 53: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 20

Table 2.3: Classification of knowledge.

Classes of knowledge

PerceptionNature: meaning Class

Sensory Mental

W WObservational: sensing

and interpreting areinvolved

FormalI W

W II I

N W Inspired: interpretingin absence of sensing

Non-formalN I

W NNull: absence ofinterpretation

NullI NN N

about a given F through the same E lacks dependency, then, it can only be

reproduce through belief.

Null knowledge. No interpretation does not produce knowledge.

2.3. Concepts about problems

The concept of problem has received an extremely reluctant treatment in the scientific

literature. The few authors who addressed it, did it from an eminently epistemological

and philosophical approach, which serves to meet the problems but does little about

how they are made and how to solve them [78, 79]. Both, Agre and Landry agree on

considering that the problems are the mechanism to create knowledge, and handle the

concept of problem in a dynamic sense, related to the activity to solve it. This is what

we are calling in this work making design decisions.

Agre considers that the term problem is used to refer to what is to change, and the

word solution is used to denote an acceptable version of that change (in addition to

using it to refer to the process of changing or solving). He considers that the terms

question and answer refer to a similar context of inquiry and learning, and that both

couples, problem-solution and question-answer, maintain a sequential relationship in the

sense that the first leads to the second. Also, he notes that the relationship between the

two pairs of terms is so close that often are indistinctly used (problems are answered

and questions are solved). Agre proposes a generic definition of the concept of problem

that is based on the notions of consciousness, difficulty and conviction to be resolved.

Finally, he notes the absence of scientific work on the relationship that may exist between

Page 54: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 21

problem solving and learning, recognizing that there appears to be a complex conceptual

connection between learning, problem and solution.

Landry notes that many definitions of the concept of problem have been established but

have not been empirically tested. He reviewed the three following approaches:

Objectivist. The problems are part of the external universe to the subject that

is aware of them. It considers that the problems have autonomous existence. This

approach gives the problems the ontological status of having real existence, and

intervening in a problem is to intervene on reality.

Subjectivist. It considers that the problems are the subject’s convictions. On-

tologically, the problems are conceptions.

Constructivist. One problem is the representation that a subject performs from

an object. From the point of view of ontology, the problems are knowledge pre-

conceptions. Epistemologically, the resolution of the problems are the processes of

knowledge creation. The solutions are knowledge that is created.

Preston, in relation to management information systems, notes that the problems have

inherent structure composed of finite variables and rules governing the relationships

between variables. He also suggests that the key issue is to identify the set of ordered

activities that make up the problem solving process [80].

We are interested in the procedural aspects of scientific research and technological design.

Thus, we propose an approach focused in that particular purpose. The statement of a

problem is a conjecture or hypothesis. To provide a solution is to obtain a conclusion or

thesis. To solve it is to procedurally reach that thesis through successive transformations

from the hypothesis. Following a coherent resolving procedure will provide consistency

to the obtained solution.

According to Preston’s proposal, in general, we consider that the term problem refers to

a declaration that is not sufficiently clear. For this concept to be as general as possible,

we propose the following definitions:

Definition 2.1. Problem. A problem is a statement to be clarified. Components of

the statement are terms referring to elements involved in the problem, and they are

called variables of the problem. The set of variables, di, is the domain of existence of

the problem pi. The meaning of the statement is a constraint between variables, ci.

Variables xj can be non quantifiable and constraints on them ci(xj) can be non func-

tional.

Page 55: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 22

pi ≡ 〈di, ci〉 /di = {xj} , , ci = ci(xj) (2.6)

Instrumentally, the problems are observable effects. The fact of clarifying the statement,

inevitably includes subjectivity but leaves it limited to the context of the process of

enlightenment, that is, resolution of the problem.

Definition 2.2. Design decision. It is the action that derives a statement from

another. Derivation of statements establishes causal coherence between a problem and

a solution thereof. Design decisions work both on variables and on the constraint of the

problem. A sequence of design actions transforms the problem into a solution statement.

We denote the derivation of a set of variables from another, or the derivation of a

constraint from another, respectively, with the symbol “δ”.

δ : dn → dm

di → dj = δ(di)(2.7)

δ : cn → cm

ci → cj = δ(ci)(2.8)

Design decisions just consist of establishing design factors. Responses to the to do

questions, that is, the design factors must be derivable from the variables of the problem,

according to the constraint of the problem.

qt(pi) ≡ 〈dt, ct〉 /(δ(di) = dt) ∧ (δ(ci) = ct) (2.9)

Both, design decisions and design factors have the nature of problems, possibly elemen-

tary.

Definition 2.3. Solution. A solution to a problem is a statement derived from the

problem that clarifies it. The nature of a solution is the same as the problem, since the

condition of being solution arises from the externally assigned semantic value.

ωk(pi) ≡ 〈dk, ck〉 /dk = {xl} , , ck = ck(xl)/(δ(di) = dk) ∧ (δ(ci) = ck) (2.10)

Definition 2.4. Model. Term model is referred to a set of problems Π: model of a

set of problems. A model is a problem whose statement is part of the statement of each

problem in the set. Its variables are common to all problems and its constraint includes

Page 56: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 23

the union (join) of the constraints of the problems. Therefore, a model is an abstraction

of each problem, and therefore a subproblem common to all problems in the set.

∀pi ∈ Π, ,Mn(Π) ≡ 〈dn, cn〉 /dn = {xr} , , cn = cn(xr)/(δ(⋂di) = dn) ∧ (δ(

⋃ci) = cn)

(2.11)

All problems that share a given model form a set of problems that owns the model itself

in its interpretation as a problem. As the model is an abstraction of each problem in

the set (Eq. 2.12), usually, the problem is considered an instance of the model that can

be obtained by concretion of it (Eq. 2.13).

Ψ: pn → p

Π→ mi = Ψ(Π)(2.12)

Φ: p→ p

mi → pi = Φ(mi)(2.13)

The act of concretion from a model to one of their problems is the specific subproblem of

that problem in relation of that model. This specific subproblem is the complementary

of the model into the problem (Eq. 2.14).

mi ≡ 〈di, ci〉, , pj ≡ 〈dj , cj〉, ,Φ(mi) = pj → dj ⊇ di ∧ cj ⊆ ci (2.14)

On the other hand, as a given problem can be part of numerous sets of problems, that

problem could be abstracted from numerous models.

As an example about models, consider the following cases of board game pieces:

Let X = {b, f, a, s, c} be a set of variables where b is base, f form, a attribute, s side

and c color.

p1 ≡ 〈d1 = {b, f, a, s, c}, c1 = {b ∈ [square, circle]∧f = figure∧a ∈ [movement, value]∧s = c}〉: The chess pieces are circular or square based, represent figures, have attributes

of movement and value, and side linked to its color.

p2 ≡ 〈d2 = {b, a, s, c}, c2 = {b = [circle] ∧ a = [value] ∧ s = c}〉: The checkers pieces are

circular, have attributes of value, and side linked to its color.

Page 57: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 24

p3 ≡ 〈d3 = {b, s, c}, c3 = {b = [circle] ∧ s = c}〉: The parcheesi pieces are circular, and

sides linked to its color.

p4 ≡ 〈d4 = {b, s, c}, c4 = {b = any ∧ s = c}〉: The tic tac toe pieces can be of any form,

and side linked to its base color.

p5 ≡ 〈d5 = {b, a}, c5 = {b = [rectangle] ∧ a ∈ [value, relationship]}〉: The dominoes

pieces are rectangular, have attributes of value, and relationship with other pieces.

p6 ≡ 〈d6 = {b, a}, c6 = {b ∈ [circle, rectangle] ∧ a = [value]}〉: The roulette pieces are

circular or rectangular, and have attribute of value.

A model of pieces of board Π1 = {p1, p2, p3, p4}, is m1 ≡ 〈d = {b, s, c}, c = {b = any∧s =

c}〉: pieces of board have regular geometric base, and sides linked to its color.

A model of pieces Π2 = {p1, p2, p3, p4, p5, p6}, is m2 ≡ 〈d = {b}, c = {b = any}〉: pieces

have simple geometric base.

From this point of view, the cards of trivial are also pieces. The disks to accommodate

the cheeses are pieces of board. The cheeses are pieces.

The objectivist, subjectivist and constructivist approaches would correspond to a tax-

onomy based on possible ways of perception to create knowledge. Objectivism would

be the cases where interpretation were the identity, Eq. 2.15. Subjectivism would cor-

respond to sensing equal identity, Eq. 2.16. When both, perception and interpretation

were any functions, Eq. 2.17, we would have constructivism, thus, constructivism seems

to coincide with formal knowledge. Even more, if sensing and interpretation were iden-

tity functions, we could say that the resulting knowledge were the truth, which means

that perceived knowledge is equal to observational effect, that is the objective truth, Eq.

2.18.

O =

I(W )

I(I)(2.15) S =

W (I)

I(I)(2.16)

C =

W (I)

I(W )

W (W )

I(I)

(2.17) T ={I(I) (2.18)

Science is a formal knowledge body overall oriented to know and to know how entities

are. Technology is a formal knowledge body overall oriented to know how to do entities.

Page 58: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 25

No sensing would lead to inspired knowledge, 2.19. Depending on the origin of in-

spiration it can be intuitive (endogenous) or revealed (exogenous), respectively. The

subjective truth will be no sensing and interpretation identity, Eq. 2.20. Art, religion,

hallucination, fantasy, illusion, aristotelianism, etc. produce inspired knowledge.

I =

N(W )

N(I)(2.19) TS =

{N(I) (2.20)

As special consideration, you can note that a considerable amount of the knowledge

engaged at a school is perceived by the students as revelation, or as very light par-

tial induction at most, which is the expression of the observational method nearest to

revelation: the Bohr’s atomic model, Darwin’s evolutionism, The Roman Empire, etc.

2.4. Classifying the design factors

Considering a problem as a statement that establishes a constraint among variables,

which must be clarified, definitions for the terms solution, design decision and model

have been proposed. These definitions provide a basis to classify the design factors and

to order the classes of factors involved in obtaining solutions.

2.4.1. Empiric evidence to classify the design factors

Design factors are contained into the answers to the questions underlying the generic to

do questions: the ingredients of the dressing, its quantities and the order to mix them.

A phenomenological analysis suggests the possibility of classifying them.

Taking as examples the problem how to make a keyboard, the problem how to elaborate

a salad, and the problem how to do the access control at a room, the answer to the to

do questions are shown in tables 2.4, 2.5, 2.6 and 2.7, respectively. The column Feature

in these tables contains a characteristic of the corresponding answer concerning the role

that it plays in the solution. The symbols of the column Class identify the possible

category of each answer.

In the example to design a keyboard, an answer could concern to a superset of the

invention keyboard conceived as an instance of problem (device). This answer will be

related to a keyboard model (M). Nevertheless, other answers could concern to a subset

of the elements that compound the keyboard conceived as an instance of solution (input,

key, click). We will call them essential factors of the invention that is being designed (E).

But the answer could too concern aspects belonging to the context where the activity

Page 59: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 26

Table 2.4: The answers to the questionnaire to make a keyboard can concern to amodel of the invention keyboard (M), to essential factors of the keyboard (E), or to

circumstantial factors of the activity of design the keyboard (C).

Classes of answers to make a keyboard

Question Answer Feature Class

What is it A deviceThe answer is an abstractionof the problem

M

What is it forTo input characters andorders

The answer is contained inthe solution

EWith what is itdone

With keys, circuits,chassis, etc.

The answer is contained inthe solution

HowTransforming clicks inelectrical signals

The answer is contained inthe solution

When The next weekThe solution does not dependof the answer

CWho An electronic engineer

The solution does not dependof the answer

How much Up to 50 eThe solution does not dependof the answer

Where, from who,for who, etc.

. . .The solution does not dependof the answer

of design happens (planning, expert, cost). They are the circumstantial factors of the

activity of making a keyboard (C).

In the example of designing a salad, similarly, the answers could concern to the set food

as a model of salad (M), or concern to features, parts or ingredients (essential factors,

E), or even refer to the context of preparing the salad (C).

In the example of access control at a room, similarly, the answers may concern to an

abstraction of the access control seen as a problem (M), to features or modules of the

access control (E), or to the context of the designing process (C).

Finally, in the example of Gait-A, the answers may concern to the model vision based

system (M), to algorithms, features and modules (E), or to the context of researching

process (C).

Page 60: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 27

Table 2.5: Classes of answers to the questionnaire to make a salad. Model (M: food),essential factors (E: nutritive, tasty, lettuce, cucumber, olive oil, bed of vegetables,

dressing, etc.), and circumstantial factors (C: planning, expert, cost, etc.).

Classes of answers to elaborate a salad

Question Answer Feature Class

What is it FoodThe answer is an abstractionof the problem

M

What is it forAromatic, tasty, nutritiveand healthy

The answer is contained inthe solution

EWith what is itdone

Lettuce, cucumber,arugula, oil, ...

The answer is contained inthe solution

HowA bed of marinatedvegetables

The answer is contained inthe solution

When At time to be servedThe solution does not dependof the answer

CWho A chef

The solution does not dependof the answer

How much Up to 10 eThe solution does not dependof the answer

Where, from who,for who, etc.

. . .The solution does not dependof the answer

Table 2.6: Answers to the questions to make the access control at a room.

Classes of answers to do a control access

Question Answer Feature Class

What is it A systemThe answer is an abstractionof the problem

M

What is it for SecurityThe answer is contained inthe solution

EWith what is itdone

Electronic technologyThe answer is contained inthe solution

How Access protocolsThe answer is contained inthe solution

When Before three monthsThe solution does not dependof the answer

CWho An electronic engineer

The solution does not dependof the answer

How much Up to 500 eThe solution does not dependof the answer

Where, from who,for who, etc.

. . .The solution does not dependof the answer

Page 61: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 28

Table 2.7: The answers to the questionnaire to make Gait-A can concern to its model(M), to essential factors of (E), or to circumstantial factors of the activity of design

Gait-A (C).

Classes of answers to make Gait-A

Question Answer Feature Class

What is it A vision based systemThe answer is an abstractionof the problem

M

What is it forFor the early detectionof frailty and senilitysyndromes

The answer is contained inthe solution

E

With what is itdone

With low-cost,sustainable andnon-intrusive devices

The answer is contained inthe solution

HowAnalysing gait featuresof subjects

The answer is contained inthe solution

When In three yearsThe solution does not dependof the answer

CWho A research team

The solution does not dependof the answer

How much Up to 50.000 eThe solution does not dependof the answer

Where, from who,for who, etc.

. . .The solution does not dependof the answer

2.4.2. The relation scope of design decision

The existence of the partition that appears in the three previous examples {M,E,C},considering the fundamental theorem of equivalence relations, indicates that an equiv-

alence relation among the design factors exists. Moreover, we can propose a statement

that performs such equivalence relation.

Let be a problem:

pi ≡ 〈di, ci〉 (2.21)

Let be a model of this problem:

Mn(pi) ≡ 〈dn, cn〉 /(δ(ci) = cn) (2.22)

Let be a design factor (equivalently, the design decision that gives us that factor):

qt ≡ 〈dt, ct〉 (2.23)

Page 62: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 29

We define the scope, σ, of a design factor in a problem, pi, inside a model, Mn, as the

set of problems concerned to the design decision. The scope can be:

σ ≡ {pi,Mn} (2.24)

σ ≡ {pi} (2.25)

σ ≡ ∅ (2.26)

Definition 2.5. The statement scope of the answer establishes an equivalence relation

in the set of design factors (Σ,∼).

qu(pi) ∼ qv(pi)⇒ σ(qu) = σ(qv) (2.27)

The scope of the answer to each to do question determines whether that answer concerns

the model and the problem (M), only the problem (E), or even the process to obtain

the solution (C), i.e., to build a prototype. Therefore, the scope of the answer indicates

the field of design decision that carries with it the answer: the model, the peculiarities

of the problem, or circumstances of the resolution (context).

Proof. The scope of the answer satisfies the following properties:

Reflexivity: ∀u, , qu ∼ qu

qu ∼ qu ⇒ σ(qu) = σ(qu) (2.28)

Symmetry: ∀u, v, , qu ∼ qv ⇒ qv ∼ qu

qu ∼ qv ⇒ σ(qu) = σ(qv)⇒ σ(qv) = σ(qu)⇒ qv ∼ qu (2.29)

Transitivity: ∀u, v, w, , (qu ∼ qv) ∧ (qv ∼ qw)⇒ qu ∼ qw

(qu ∼ qv) ∧ (qv ∼ qw)⇒ [σ(qu) = σ(qv)] ∧ [σ(qv) = σ(qw)]

⇒ σ(qu) = σ(qw)⇒ qu ∼ qw(2.30)

There are three classes of factors P (F ):

P (F ) = {M,E,C} (2.31)

Page 63: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 30

Design factors obtained answering the question what is the problem concerns the

problem and the model, therefore, they express an abstraction of the problem,

giving us a generalization of the problem.

∀pi ∈ Π,Mn(Π), qt(pi)/(δ(ci) = ct) ∧ (δ(cn) = ct)⇒ qt(pi) ∈Mn(Π) (2.32)

Design factors obtained answering the questions what for, with what, how concerns

parts of the problem. Subsidiary design decisions of these questions clarify local

aspects. This class of factors comprises the subset of the design factors which

are constituent parts of the solution and, for that reason, we call them essential

factors: components, properties, structure, modules, etc.

∀pi ∈ Π,Mn(Π), qt(pi)/(δ(ci) = ct) ∧ (δ(cn) 6= ct)⇒ qt(pi) ∈ pi ∧ qt(pi) /∈Mn

(2.33)

Circumstantial factors are obtained by answering the remaining to do questions

when, who, how much, where, whom, .... The context solves issues related to the

process of getting the result: cost, design equipment, planning, place, etc.

∀pi ∈ Π, qt(pi)/(δ(ci) 6= ct)⇒ qt(pi) /∈ pi (2.34)

Figure 2.3 represents the scope that design decisions have regarding the scope that

clarify the problem or the aspects of the invention that help to create. The meaning

of each to do question helps to do intuitive the correspondence of design factors and

its associated decisions. The interpretation of the meaning of the three kinds of design

factors in relation to the invention comes to be evident.

It could be the case that we decide to consider that some genuinely circumstantial

factors belong to the model. For example, the factor salad to have maximum freshness

is a genuine response to the question when but can also be obtained in response to

the question what for if the restaurant would consider that the freshness of salad is a

fundamental issue.

From a formal point of view, the same design factor can be obtained as an answer to the

question what for and to the question when, therefore, the rigour of the classification

would be broken.

By convention, to maintain the rigour of the classification, we impose the prevalence

of the conditions established in the conjecture above the common or genuine nature of

design factors.

Page 64: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 31

HOW MUCH

WHO

etc.

WHEN

WHERE

invention

WHAT

universe

WHAT FOR

HOW

WITH WHAT

WHOM

Figure 2.3: Classes of design factors and interpretation of their relation with theinvention.

This is a way to maintain causality within the design method that we are formalizing:

if a constraint is part of the hypothesis, it must generate consequences, and it has no

sense to re-obtain this condition as a result of a solving process.

Current knowledge creation approaches correspond to Kuhn’s proposals about research

programs [81]. The social benefit produced by knowledge creation justifies the invest-

ment of public resources and, being those resources public, a regulation is needed. This

led to the enactment of legislation and norms: UNE 16600, law 27/2014 (Spanish gov-

ernment), etc.

Those regulations propose definitions oriented to fiscally deal with R&D and, thus, there

are ambiguities that provoke some controversies. Taxonomies of R&D are also proposed

in those regulations. Some of these divide R&D in basic research, applied research and

development. This is more referred to a scientific and technical approach but there is also

ambiguity because it is not a disjoint classification but an arbitrary one. Other proposed

taxonomies are composed of applied research, technological development, precompetitive

research, etc. The disjoint nature of the proposed taxonomies produces a great amount

of misunderstanding and confusion regarding to which class is the appropriate for certain

project and thus which fiscal regulation applies.

Our proposed classification could provide a formal basis to indulge some rigour to pro-

pose a proper taxonomy of R&D:

Page 65: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 32

Resolving the model subproblem produces abstract knowledge, i.e. the rules that

govern all the problems included in that model. This is related to what we know

as research or basic research because it creates theoretical knowledge and a theory

can be interpreted as a large model.

Resolving the specific subproblem produces particular knowledge by concretion of

a model. This is related to the notion of innovation if it resolves an instance of

the problem itself or development (or applied research) if it resolves a submodel or

a restricted family of instances of the problem.

Resolving the contextual subproblem produces procedural innovation.

The formal rigour of this classification could contribute to the social system management

of the R&D (I+D+i).

2.5. Ordering the classes of design factors

The classes of design factors that we have obtained through the classification criterion

based on the scope of the decisions can be ordered to get criteria to determine what

design decisions have to be made initially and which must be made later.

We define power, P, of a design factor in a problem, pi, under a model, Mn, as the

cardinal of its scope.

P = card(σ) (2.35)

The domain of power is:

P ≡ {0, 1, 2} (2.36)

Definition 2.6. The statement power of a design factor orders the classes of design

factors: (P (F ),≤)

qu ≤ qv ⇒ P(qu) ≤ P(qv) (2.37)

Proof. The power of a design factor satisfies:

Reflexivity: ∀u, , qu ≤ qu

qu ≤ qu ⇒ P(qu) ≤ P(qu)⇒ card(σ(qu)) ≤ card(σ(qu)) (2.38)

Transivity: ∀u, v, w, , (qu ≤ qv) ∧ (qv ≤ qw)⇒ qu ≤ qw

(qu ≤ qv) ∧ (qv ≤ qw)⇒ [P(qu) ≤ P(qv)] ∧ [P(qv) ≤ P(qw)]

⇒ P(qu) ≤ P(qw)⇒ qu ≤ qw(2.39)

Page 66: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 33

Antisimmetry: ∀u, v, , (qu ≤ qv) ∧ (qv ≤ qu)⇒ qu = qv

(qu ≤ qv) ∧ (qv ≤ qu)⇒ [P(qu) ≤ P(qv)] ∧ [P(qv) ≤ P(qu)]

⇒ P(qu) = P(qv)⇒ qu = qv(2.40)

Totality: ∀u, v, , (qu ≤ qv) ∨ (qv ≤ qu)

(qu ≤ qv) ∨ (qv ≤ qu)⇒ [P(qu) ≤ P(qv)] ∨ [P(qv) ≤ P(qu)] = 1 (2.41)

Assimetry: ∃u, v, , qu ≤ qv ⇒ qv � qu ⇔ qv > qu

(P (F ), >)is a strict total order

C < E < M (2.42)

The conclusion is that there exists formal precedence that establishes what is the correct

sequence to make decisions regarding the design factors.

circumstantialfactors < essentialfactors < model (2.43)

Then, we have a causally coherent procedure to create an invention. It consists of three

type of activities:

A Decide the model which will serve as reference to specify the problem.

B Make design decision to obtain a concretion of the solution from an abstract model,

i.e., resolve the specific subproblem.

C Establish the context.

Make design decision will consist of the following sequence:

1. Solve the model subproblem choosing an existing one or creating a new one. The

involved paradigm is abstraction.

2. Solve the specific subproblem determining the essential factors. The involved

paradigm is concretion (design).

Page 67: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 34

3. Solve the contextual subproblem establishing the circumstances to produce a pro-

totype. The involved paradigm is projection.

The starting point to make a prototype is the project obtained by mean of designing.

Therefore, to make the prototype in a causally coherent way, all we have to do is to

proceed in the reverse sequence:

1. Materialize the context (contextual subproblem).

2. Assembly components and modules (specific subproblem).

3. Confirm (model subproblem).

Note that the same sequence of producing, coherently, a prototype is the same sequence

that corresponds to the production of many instances, e.g., mass production.

Figure 2.4 represents the causally coherent sequence of making design decisions starting

from an hypothesis, as well as its corresponding process to reach a thesis or develop a

prototype of the invention that solves the problem.

context < essential factors < model

HOW MUCH

WHO

etc.

WHEN

WHERE

invention

WHAT

universe

WHAT FOR

HOW

WITH WHAT

WHOM

model > essential factors > context

hypothesis

thesis

DESIGN

PROTOTYPING

Figure 2.4: Causally coherent sequence of making design decisions and its correspond-ing process to implement a prototype.

Page 68: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 35

2.6. Model driven paradigm

We have started from the statement of an hypothesis about a device, invention, system

or process, i.e., the problem. We consider the hypothesis expressed as a conjecture of

constraints on the elements contained in it, i.e., the problem statement. We seek to

obtain the invention, system or process, i.e., a solution by transforming the elements

and constraints contained in the problem statement. The choice of the transformations

performed on the problem statement to obtain a solution are design decisions of the

invention, the system or process, i.e., to solve the problem. We abstracted the activity

of making design decisions as the answer to the to do questions, that is, what to do

to do something or alternatively what to do to obtain the solution to a problem. As an

immediate consequence, we have proposed that the nature and effects of design decisions

are related with intuitive underlying to do questions: with what, how many, where, how,

etc., as design decisions are precisely the answers to those questions.

We have proposed the concept of scope of design decisions to indicate that the elements

and conditions of the problem are affected by each design decision. The scope classifies

decisions into three classes, the model of the problem, the constituents of the solution,

and the configuration of the solving activity.

On the other hand, the power of design factor strictly orders the classes of design factors.

That is, the number of elements and constraints of the problem that are involved in every

design decision, provide criteria to decide in what order design decisions must be made.

The hypothesis is the milestone that triggers the activity of design and, in essence, it

expresses very abstractly the solution, so it falls within the scope of the model. Therefore,

to be consistent with the power of the factors on which decisions are made, the formally

correct sequence to make design decisions is: first decide the model that will characterize

the solution, then make decisions about the essential factors of the solution and, finally,

decide on the context in which the creation of such solution will take place.

In conclusion, the scope of design decisions produce classes of factors that can be ordered

by its power, which constitutes a formal approach of model driven design.

The causal procedure of making design decisions that we have developed up to this point

concerns the global aspects of problem solving: model, constituents and context. The

main aspects are:

Design decisions related to the models essentially are directed to define the frame-

work where the solution will be obtained. So, reasoning elements will belong to the

domain of the problem but the results would belong to the domain of the solution.

Page 69: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 36

Design decisions related to the essential factors are those that elucidate the con-

stituent ingredients of the technological solution, the interface between the solution

and the rest of the world, and the other aspects that constitutes the solution it-

self, that are structural and organizational. The instrumental purpose of these

decisions are substantial, related to composition and constitution of the solution.

Design decisions related to the context are procedural, and establish the ambient

where the solution will occurs.

The model oriented design we have formally justified to obtain a solution to a prob-

lem, tries to obtain a solution through a divide et vinces strategy which canonically

decomposes the initial problem into three subproblems:

Model subproblem of the problem, i.e., if food is a model of the invention salad

then the problem can be: a salad is food.

Specific subproblem comprising the constraints between the model and the initial

problem, i.e., a salad is an aromatic, tasty, nutritious, and healthy food.

Contextual subproblem, i.e., a cook elaborates salad at the moment to be served.

Who and when to do it questions have been answered.

The scope of the problem statement is, therefore, the domain of observable phenomena,

free of subjectivity that can be incorporated by perception and interpretation. The

design decisions are related to the filters of observation and interpretation. The scope

of the statement of the solution is, therefore, the domain of knowledge. Thus, a solution

to a problem is knowledge that is created from an observable effect, through perception

and interpretation.

Starting from an observable phenomena, proposed as a problem, the perception process

gives us the epistemological approach to divide the initial problem in the three separated

subproblems we proposed before:

– Model subproblem that is an abstract interpretation of the problem.

– Specific subproblem that is the same initial problem but focused in that model.

– Contextual subproblem that does not have constraints coming from the initial

problem. Its constraints are related to the model and the specific subproblems.

Page 70: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 37

The model driven paradigm aims at solving a given problem by referring it to one of its

models. Consider the abstraction of the problem pi to one of its models mj : Ψ(pi) = mj ,

a series of transformation over the initial conjecture T (α) expresses the solution as a

constraint in which the model is included:

T (α) = {q1, q2, . . . , qn} = ω ≡ 〈dk, ck〉, ,mj ≡ 〈dj , cj〉, , dj ⊇ dk ∧ cj ⊆ ck (2.44)

From this approach, the first stage of design we propose is to break the problem into

the following three subproblems:

Model subproblem. It is the part of the problem concerning the variables

and constraints on them that this problem shares with other similar problems.

Resolution of the model subproblem consists of making design decisions at the

level of the models, i.e., food is a model of the invention salad. Having determined

a model, you can define a problem in terms of the model: a salad is food, gait is

anthropomorphic upright self-displacement.

Specific subproblem. It is the part of the problem concerning the variables and

constraints on them that this problem does not share with other similar problems.

Resolution of specific subproblem consists of making design decisions involving the

aspects of the problem that does not solve the model, that is, to solve a specific

subproblem implies activities of values and constraints concretion in the model.

For example: a salad is an aromatic, tasty, nutritive and healthy food based on

a cold macro mixture of raw or previously cooked vegetables and raw oil based

dressing, and salted spicy seasoning, and perhaps other ingredients, and with no

added water. Gait is an alternating stepping of two feet, with no additional fulcra,

keeping at least a point of support at every time, on a horizontal or slightly inclined

surface.

Contextual subproblem. It represents the circumstances around the resolution

of the problem. Therefore, it is not a part of the invention but it is related to the

activity of solving the problem. Contextual problem resolution is to establish the

values and constraints of the variables that, not being a part of the problem, are

involved in its resolution. For example: a cook elaborates salad at the moment

to be served. It has been established who and when will the salad be elaborated.

Or the Gait-A memory memory for the application of the MINECO 2013 call for

projects.

Figure 2.5 shows the three subproblems in the context of the model-driven paradigm.

Note that the figure is almost empty as it will be filled as we advance in our proposal.

Page 71: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 38

CONTEXTUAL

SUBPROBLEM

CAUSALLY

FORMAL DESIGN

MODEL

SUBPROBLEM

SPECIFIC

SUBPROBLEM

INTERNAL

VIEW

predominantly

solution’s

domain

EXTERNAL

VIEW

predominantly

problem’s

domain

STRUCTURAL

SPECIFICATION

EXECUTION

PROJECT

FORMAL

SPECIFICATION

Figure 2.5: Model-driven paradigm

Decide a model for the problem restricts its solution into the domain of the model and

therefore it causes a prune into the tree of possible solutions. Expressing the problem

starting in one of its models provides a comprehensive definition of the problem and, as

such, its value is declarative for the problem.

Characterization of the specific problem, in turn, will express the complementary con-

straint between the problem and its model. Therefore, in the general case, it will involve

Page 72: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 39

all the elements of the problem. The constraint of the specific subproblem could be

obtained by making exact and accurate transformations into the hypothesis.

So far we have presented, phenomenologically, the model driven paradigm as commonly

accepted by the scientific community. Following sections will provide a formal justifica-

tion of this paradigm. On one hand, we will provide a justification of the subproblems

and, on the other hand, we will provide the procedural sequence to follow.

2.7. Design decisions about models

Frequently, engineering problems seem to be solved by first establishing the context of

the solution, then deciding on the constituents and finishing by characterizing them as

members of a family of inventions. This is a correctly ordered technique in terms of

the power of design factors: the sequence of design decisions begins with the shorter

range ones and continues progressively for longer range ones. However, as the elements

and constraints of the hypothesis are not the ones affected by minor decisions, this

sequence of design decisions is inconsistent with the nature of the activity of design.

In fact, as the minor decisions operate on elements and constraints that are a function

of the elements and constraints of the hypothesis, this technique of design imposes the

additional hypothesis of characterizing the nature of the solution in advance. This is a

formal contradiction except, perhaps, for cases where this precondition is justified.

Taking as an example the serial production of a device using an assembly line, circum-

stantial factors of device manufacturing are represented in the architectural character-

istics of the assembly line (its robustness, being single or multiple flow, etc.), the device

essential factors are represented in the operation of the assembly line (implantation of

components, assembly of the modules of the device, and quality control to verify satisfac-

tion of the performance of the manufactured device), and the device model is abstracted

in the configuration of the assembly line.

The engineer constructing the assembly line can set three assembly flow channels, and

seven stages of the assembly line length. Conceptually, it is as much as deciding on how

much productivity and how to mount the device. Clearly, here, the precondition is that

the device had to be designed in advance.

Redefining the early decision on the nature of the solution as a constraint explicitly

or implicitly contained in the hypothesis, is an interpretation that does not alter the

outcome and, instead, is consistent with the formality of making decisions progressively

Page 73: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 40

from minor to major. The tacit assumption for the manufacturing line is that it pro-

duces a device according to a given prototype which constitutes, at the same time, the

hypothesis or the specifications of the assembly line.

Particular problems such as the realization of devices that have previously been designed,

can be confusing because aspects that are usually circumstantial, explicitly or implicitly,

are contained in the hypothesis. We postulated earlier that by the mere fact of being

part of the hypothesis, aspects acquire the category of objective of the problem.

Therefore, the only causally coherent way to proceed in solving problems, making design

decisions, follows the ordered sequence to solve the three subproblems starting from the

model subproblem.

There may be many models of a given problem. As many as results from combining

design factors of the latter and to propose conditions that contain the problem.

In topological terms, we can refer to the space of representation of all design factors

and conceive each problem as the region of the space that satisfies the condition of the

problem. Under this approach, any subproblem of a given problem, including models of

the problem will be another region defined on a subspace of the problem space satisfying

the following constraint: the projection into that subspace of the region of the problem

will have to be contained inside that region.

A model of a set of problems may be understood as a subproblem of each problem, the

model being defined on a space that satisfies the constraint of being a subspace of the

space of each problem in the set, and in such a way that the constraint that characterizes

the model will have to contain the projection of the constraint of each problem, i.e., the

constraint that characterizes the model may arise from the union of the constraints of

the problems.

The paradigm of solving a given problem by means of a model driven strategy is to later

solve other problems that have the same model, by reusing the now obtained solution

for that model. This aim provides criteria to decide a proper model of the initial given

problem. The corresponding technique is described in the following paragraphs.

In the general case, the hypothesis represents the problem we intend to solve in terms,

perhaps, of a model and a compendium of objectives that particularize the problem

from the model, and even requirements to be satisfied by the solution. All this, using an

statement of the jargon of the problem domain, but such expression could be inaccurate,

vague, ambiguous, and even erroneous.

Due to that possibility of the hypothesis to be incorrect, we avoid calling problem state-

ment to the initial version of the hypothesis or conjecture. Therefore, we reserve the

Page 74: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 41

term problem for a formally correct and accurate statement that would be obtained by

transforming the hypothesis, lexically, syntactically and even semantically. The accurate

version of the problem would consist of:

A statement to generalize, that expresses the model, e.g., a vegetable starter plate

is a mixture of vegetables; an access control to a room is a system of protocols to

entry and exit ; gait is the anthropomorphic upright self-displacement.

A statement for concretion, that expresses the condition of the problem as the

conjunction of other lighter conditions extracted from the hypothesis but being

consistent with the model, e.g., a vegetable starter plate is nutritive, tasty, healthy

and aromatic; an access control to a place consists of an entrance having an exter-

nal door and an internal one, which opening is mutually exclusive; gait is produced

in an alternating stepping of two feet, keeping at least a contact point at all times,

with no additional fulcra and in an horizontal or slightly inclined surface.

We call objectives of the problem to the correct and exact conditions that characterize

the problem in respect to the model.

The aim of deciding the model of the problem is thus double: to prune the solution tree

and, on the other hand, specify the framework of the hypothesis.

The technique to decide the model to be proposed for a problem is to answer the question

what is the problem. E.g. the question what is the vegetable starter plate, will obtain

models of vegetable starter plate as answers: cold starter, healthy meal, salad, etc. On

the other hand, the question what is the control access to a room will be answered

with models of it: identify people, system of protocols to entry and exit, etc. The same

way, the qustion what is gait will be answered with models: anthropomorphic upright

self-displacement, horizontal displacement, etc.

Then, there is an intuitive way to decide the model, based on experience, surely. Episte-

mologically, this assignment of a model to the problem falls into the inspirational type of

knowledge and, therefore, is non formal knowledge. This implies that the model has to

be previously known and, therefore, it has to exist. E.g., to decide a model of vegetable

starter plate:

1. Propose several models:

The chef approach: salad.

The diet point of view: healthy food.

Page 75: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the model driven paradigm 42

The maitre approach: cold starter.

2. Select one of the precedent models: salad is a mixture of vegetables.

Note that this definition is focused more on elaborating vegetable starter plate than to

serve it or even its nutritional value. A model of vegetable starter plate based on the diet

point of view could be: vegetable starter plate is a hypo caloric mixture of vegetables

and perhaps other ingredients to facilitate the intestinal transit.

On the other hand, a systematically formal way to characterize a model for a problem,

i.e. answering the question what is the vegetable starter plate, would consists of the

following procedure:

1. Propose a set of positive examples consisting of other problems that will belong to

the same model. They will be considered favourable or positive examples.

2. Propose a set of counterexamples consisting of other problems that will not belong

to the model. They will be considered negative examples or counterexamples.

3. Propose a constraint that will establish a region in a subspace shared by all the

positive examples, in such a way that this region contains the projection of each

example. Projection of counterexamples will be completely or partly outside of

this region.

Page 76: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Chapter 3

Formalization of the top-down

method

3.1. Classifying the essential factors

Having a model of the problem, to know how is the solution, we must solve the specific

subproblem. Therefore, additional decisions have to be made in order to concretize

the variables of the problem that have been ignored by the model, and to constraint

the condition that defines the model: concretize the name of implied vegetables, their

proportions, their relations,. . . Later, to know how to elaborate the salad or how to

build the Gait-A prototype, the contextual subproblem have to be solved: when, who,

where,. . .

Then, it can be noted that:

1. The model subproblem let us know the nature of the solution

2. The specific subproblem let us know how is the composition of the solution.

3. The contextual subproblem let us know how to do the solution.

3.1.1. Empiric evidence to classify

The essential factors E are answers to questions what for, with what and how. Proceed-

ing in the same way we classify general design factors, a phenomenological analysis of

essential factors suggests the possibility of classifying them too. Taking as examples to

make a keyboard and to elaborate a salad, Tables 3.1 and 3.2, respectively, shown the

43

Page 77: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 44

Table 3.1: Empirical classification of answers to questions about the essential factorsto make a keyboard.

Essential questions to make a keyboard

Question Answer Role Class

What is itfor

For input of charactersand orders

The utility of thekeyboard

A

With whatis it made

With keys, circuits,chassis, etc.

The constituents T

HowTransforming pressurein electrical signals

Its functioning S

Table 3.2: Empirical classification of answers to questions about essential factors toelaborate a salad.

Essential questions to elaborate a salad

Question Answer Role Class

What is itfor

Aromatic, tasty,nutritive and healthy

The utility of thesalad

A

With whatis it made

Lettuce, cucumber,olive oil,...

The ingredients T

HowA bed of vegetable andsprayed oil

Its composition S

questions and their corresponding answers to find solutions. The field Role describes the

paper that factors obtained as answers of the questions play in the composition of the

invention. A partition is obtained in both cases. Therefore, based on the fundamental

theorem of equivalence relations, we can say that there is an equivalence relation on the

set of essential design factors. Even more, the partition consists of the following three

classes:

Class A factors, that represent the utility, are the essential factors that the in-

vention explicitly exhibits to the rest of the world. They are perceived from an

external viewpoint. These are the factors of architecture (functionality) of the

invention. We call them explicit factors or architectural factors. Their operational

characteristic is to be drawn from the hypothesis, and are obtained by answering

the question what for. Examples of explicit factors in the case of the salad are

aromatic, tasty, nutritive and healthy.

Class T factors are technological ingredients, i.e., representing the constitution of

the solution. We call them intrinsic factors or technological factors. Their oper-

ational characteristic is that they are elementary by definition, and are obtained

Page 78: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 45

by answering the question with what. Examples of intrinsic factors in the case of

the salad would be: lettuce, arugula and olive oil.

Class S factors are the constructive factors of the invention. That is, the structural

and organizational aspects of the solution. We call them implicit factors or struc-

tural factors, and are obtained by answering the question how. They represent the

composition of the invention. An example of implicit factors in the case of the

salad would be a core of cheeses on a bed of vegetables with raw olive oil based

dressing.

Therefore, the role of an essential factor is the impact that design decisions have in the

invention, i.e., in the activity of obtaining the solution. The role of the explicit factors

(architecture) corresponds to be deduced from the hypothesis. The role of the implicit

factors (structure) will be induced. The role of the intrinsic factors (technology) has to

be indirect, through the structure.

Figure 3.1 shows intrinsic (components), implicit (organization) and explicit (perfor-

mance) factors corresponding to the example of salad. Figure 3.2 show the same for the

example of Gait-A.

Essential factors to elaborate a “salad”

Intrinsic factors Implicit factors Explicit factors

Technology Structure Architecture

With what How What for

A bed of vegetables with sprayed oil

Figure 3.1: Classes of essential factors: intrinsic factors of the salad, its constituents;implicit factors, the organization of the salad; and explicit factors, the utility of the

salad, that is, the salad itself.

3.1.2. The relation role of an essential factor

We can propose a statement that performs the equivalence relation.

Page 79: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 46

Intrinsic factors Implicit factors Explicit factors

Technology Structure Architecture

With what How What for

Use of RGB

devices

Run gait test

periodically

Code

optimizationsBuild data set

Background

subtraction

Heel strike

and toe off

Feet location

and trackingSkeleton

extraction

K-Nearest

Neighbors

Dynamic

Time Warping

Principal

Component

Analysis

Vision based

system

Detection of

elderly

syndromes

Reduced

costSustainability

Gait analysis

based system

Non-intrusive

Low

computational

cost

Early

detection

Use of RGB

devices

Run gait test

periodically

Code

optimizations

Build data set

Background

subtraction

Heel strike

and toe off

Feet location

and tracking

Skeleton

extraction

K-Nearest

Neighbors

Dynamic

Time Warping

Principal

Component

Analysis

Record

Play

Get

Silhouette

Get FeetGet Time

series

Test

Multiresolution

Classify

Es ent al f c o s of Gai -

Figure 3.2: Classes of essential factors: intrinsic factors of Gait-A, its modules; im-plicit factors, the organization of Gait-A; and explicit factors, the utility of Gait-A.

Let be a problem:

pi ≡ 〈di, ci〉 (3.1)

Let be a design essential factor, i.e., the design decision that produces it:

et ≡ 〈dt, ct〉 (3.2)

We define the role, R, of a design factor in a problem, pi, as the appearance it has in

the invention.

Definition 3.1. The statement the role that an essential factor has in the created in-

vention establishes an equivalence relation in the set of essential factors.

ei ∼ ej ⇒ R(ei) ≡ R(ej) (3.3)

Proof. Let be the following set of essential factors:

E = {e1, e2, e3, . . . ei, . . . en} (3.4)

Reflexivity: ∀i, , ei ∼ ei

ei ∼ ei ⇒ R(ei) ≡ R(ei) (3.5)

Page 80: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 47

Simmetry: ∀i, j, , ei ∼ ej ⇒ ej ∼ ei

ei ∼ ej ⇒ R(ei) ≡ R(ej)

⇒ R(ej) ≡ R(ei)⇒ ej ∼ ei

(3.6)

Transitivity: ∀i, j, k, , (ei ∼ ej) ∧ (ej ∼ ek)⇒ ei ∼ ek

(ei ∼ ej) ∧ (ej ∼ ek)⇒ [R(ei) ≡ R(ej)] ∧ [R(ej) ≡ R(ek)]

⇒ R(ei) ≡ R(ek)⇒ ei ∼ ek(3.7)

The set of equivalence classes has the following three elements:

P (E) = {A, T, S} (3.8)

Figure 3.3 shows the classification of the essential factors that we already had but for-

mally obtained now, which incorporates rigour to the distinction among the factors of

architecture (explicit), the structure (implicit) and technology (intrinsic).

HOW MUCH

WHO

etc.

WHEN

WHERE

invention

WHAT

universeWHOM

WHAT FOR

utility

ARCHITECTURE

explicit factors

INTERFACE HOW

constitution

STRUCTURE

implicit factors

WITH WHAT

composition

TECHNOLOGY

intrinsic factors

Figure 3.3: Classes of essential factors and their meaning in the design decisions.

Page 81: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 48

In the same way, it can be interesting to reconsider the scope of a design factor, the role of

an essential factor that is genuinely technological or structural (e.g., CMOS technology)

could be considered an objective of the problem (a constraint that the solution to the

problem must satisfy). That is, the imposition of causality to the design method we

are formalizing can lead to intrinsic or implicit factors to be part of the objectives

that establishes the problem. In this case, the same factor (CMOS technology) can be

obtained by answering the question what for, which breaks the partition. To avoid it,

we impose the condition of prevalence of the specific of a problem (established in the

hypothesis) over the genuine of an essential factor to be explicit, implicit or intrinsic so

its nature is unique.

3.2. Ordering the classes of essential factors

We propose to establish an order among the three classes of essential factors and use

such order as a criterion to determine which design decisions about the essential factors

have to be carried out before and which ones have to be carried out after.

Definition 3.2. A given essential factor is a part of another essential factor, if the first

is an essential factor of the second (seen as things, systems or facts). Each essential

factor is a part of itself.

The sentence be a part of orders the classes of essential factors:

(P (E),≤) (3.9)

ei ⊂ ej ⇒ ei ≤ ej (3.10)

Proof.

Reflexivity: ∀i, , ei ≤ eiei ≤ ei ⇒ ei ⊆ ei (3.11)

Transitivity: ∀i, j, k, , ei ≤ ej ∧ ej ≤ ek ⇒ ei ≤ ek

(ei ≤ ej) ∧ (ej ≤ ek)⇒ (ei ⊆ ej) ∧ (ej ⊆ ek)

⇒ ei ⊆ ek ⇒ ei ≤ ek(3.12)

Antisymmetry: ∀i, j, , ei ≤ ej ∧ ej ≤ ei ⇒ ei = ej

(ei ≤ ej) ∧ (ej ≤ ei)⇒ (ei ⊆ ej) ∧ (ej ⊆ ei)⇒ ei = ej (3.13)

Page 82: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 49

Totality: ∀i, j, , ei ≤ ej ∨ ej ≤ ei

(ei ≤ ej) ∨ (ej ≤ ei)⇒ (ei ⊆ ej) ∨ (ej ⊆ ei) = 1 (3.14)

Asymmetry: ∃i, j, , ei ≤ ej ⇒ ej � ei ⇔ ej > ei

(P (E), >)is a strict total order (3.15)

T < S < A (3.16)

3.3. Scientific method and top-down design

The classes of design factors and, therefore, the design activities are ordered:

circumstantial factors < technology < structure < architecture < model (3.17)

Taking into account that:

The hypothesis constitutes the starting milestone of the activity of designing.

The hypothesis expresses the problem from an external point of view, it corre-

sponds to the scope of the model (abstract aspects) and the architecture (specific

aspects).

Then, the formally correct sequence to be followed to make design decisions is what

establishes, in the first place, the model of the problem that will characterize the solution.

Then make decisions about the architecture of the problem, followed by decisions about

the structure and organization of the solution. Later, make decisions about technology

and, finally, decisions about the context in which the creation of such solution occurs.

Then, the coherent sequence of design is:

model→ architecture→ structure→ technology → circumstantial factors (3.18)

Page 83: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 50

In terms of the to do questions, the coherent sequence of questions is:

what→ what for → how → withwhat→ others (3.19)

Figure 3.4 shows the sequence of design method formally justified by causal coherence.

Note that this sequence represents:

The Top-Down method of engineering design.

The scientific method to create knowledge.

confirm

HOW MUCH

WHO

etc.

WHEN

WHERE

invention

WHAT

universe

WHAT FOR

HOW

WITH WHAT

WHOM

hypothesis

thesis

model

functional spec.

structural spec.

technological spec.

projectcomponents

modules

experiment

context < technology < structure < architecture < model

model > architecture > structure > technology > contextDESIGN

PROTOTYPING

Figure 3.4: Causally coherent sequence of making design decisions and its corre-sponding process to implement a prototype. This is the Top-Down design of inventions

sequence, as well as the scientific method to create knowledge.

Finally, the causally coherent procedure to create an invention consists of the steps

shown in Figure 3.5.

Figure 3.6 summarizes the causal sequence to solve a problem, or to design inventions,

or to create knowledge, emphasizing the two global stages of proposing a solution by

making decisions, and verify correctness of the solution on a prototype. The project of

the prototype is the milestone that connects decisions and prototyping.

On the other hand, the initial conjecture happens in an external way and leads up to

the functional specification of the problem. Most of the decisions usually correspond

Page 84: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 51

Solve the model

subproblem by

abstracting a family of the

problem

Solve the architectural

subproblem determining

the explicit factors

Solve the technological

subproblem determining

the intrinsic factors

Solve the contextual

subproblem establishing

the circumstances to

produce a prototype

Confirm

Experiment

Assembly the constituents

Materialise the context

Make design decisions Make a prototype

{Architecture

Structure

Technology

Context

ModelAbstract

Concretion

Project

Figure 3.5: Steps to follow with the causally coherent procedure to create an inven-tion.

to an internal point of view of the problem. Finally, the process of validating the

solution against the objectives of the problem takes place from an external point of

view. Decisions mostly related to the problem belong to the external point of view and

decisions related to a solution belong to the internal point of view.

3.3.1. Study case: Vegetable starter plate

To characterize the vegetable starter plate, we can propose the following positive cases

to obtain a model:

Murcian salad is a macro mixture of tomato, onion, canned tuna, olive, boiled egg,

olive oil, salt, and vinegar.

Pipirrana is a macro mixture of tomato, onion, green pepper, cucumber, garlic,

bread, olive oil, and salt.

Caesar salad is a macro mixture of lettuce, toast bread, parmesan cheese, and

caesar sauce.

Page 85: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 52

when

how much

where, etc.

} ith h t h f h t h twhat h t f h ith h t {

execution projectDESIGNING PROTOTYPING

idea t t

Figure 3.6: There is an external interface that connects functional and structuralspecifications, and an internal interface that connects decisions and prototyping.

Waldorf salad is a macro mixture of lettuce, celery, apples, nuts, raisins, and

mayonnaise.

Tabbouleh is a macro mixture of semolina, onion, parsley, mint, tomato, lemon

juice, olive oil, and salt.

Olivier salad is a macro mixture of boiled potato, boiled carrot, boiled egg, canned

tuna, mayonnaise, olive, canned pepper, and salt.

Escalivada is a macro mixture of aubergine, red pepper, onion, tomato, garlic,

olive oil, and salt.

As counterexamples, the following:

Gazpacho is a cold micro mixture of tomato, cucumber, pepper, bread, garlic,

vinegar, water, olive oil, and salt.

Vichyssoise is a cold micro mixture of leek, potato, onion, butter, cream, water,

olive oil, and salt.

Stew is a cooked macro mixture of chickpea, chicken, blood sausage, carrot, bacon,

cabbage, garlic, potato, water, and salt.

Paella is a cooked macro mixture of chicken, rabbit, garlic, tomato, rice, pepper,

olive oil, saffron, water and salt.

Boiled vegetables is a cooked macro mixture of potato, green beans, carrot, onion,

olive oil and salt.

Page 86: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 53

Grilled vegetables is a macro mixture of courgette, aubergine, pepper, asparagus,

onion, mushroom, olive oil and salt.

As can be seen in Table 3.3, we have considered the following set of variables:

V = {mixture, vegetables, dressing, salt,

water, other, spicy seasoning, temperature}(3.20)

A model of the set of positive examples of salads that does not represent any counterex-

ample is:

Msalad =<mixture : MACRO > ∧ < vegetables : RAW

∨ PREV IOUSLY COOKED > ∧ < dressing : RAW OILBASED >

∧ < salt : Y ES > ∧ < water : NO > ∧ < other : PERHAPS >

∧ < spicy seasoning : Y ES > ∧ < temperature : COLD >

(3.21)

This functional expression can be said in natural language as follows: Salad is a cold

macro mixture of raw or previously cooked vegetables, raw oil based dressing, salted spicy

seasoning, and perhaps other ingredients with no added water.

Table 3.3: The projection of each positive example of salad fall into the region SALADbut any counterexample projection is not entirely inside the region SALAD.

Deciding a a model for vegetable starter plate

mixture vegetables dressing salt water other spicy temp.EXAMPLES

Murcian salad macro raw raw oil based yes no egg vinegar coldPipirrana macro raw raw oil based yes no bread mix cold

Caesar salad macro raw raw oil based yes no bread mix coldWaldorf salad macro raw raw oil based yes no fruit celery cold

Tabbouleh macro raw raw oil based yes no semoline mix coldOlivier salad macro previously boiled raw oil based yes no tuna vinegar coldEscalivada macro previously boiled raw oil based yes no oil garlic cold

SALAD macro raw previously boiled raw oil based yes no perhaps yes coldCOUNTEREXAMPLES

Gazpacho micro raw raw oil based yes yes bread mix coldVichyssoise micro previously boiled fried oil based yes yes cream almond cold

Stew macro just boiled animal fat yes yes meat mix hotPaella macro just boiled fried oil based yes no meat saffron hot

Boiled vegetables macro previously boiled raw oil based yes no nil nil coldGrilled vegetables macro just boiled raw oil based yes no nil nil hot

In the access control example, the following cases can be favourable:

Double door security access to bank offices.

Page 87: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 54

Cattle transfer dock.

Sluice gate to compensate marine level differences.

Point to point connection channel between a personal computer and a server.

As counterexamples:

The climate control in public buildings based in a twin door system since it leaves

entry and exit without restrictions.

An earthenware pitcher, though this will provide little or no information to define

the model.

A model for the problem of controlling access to a jewellery can be: method to concur-

rently access in “entry” mode or “exit” mode, and the two modes in a mutually exclusive

manner. This is the so-called critical section problem in operating systems of computers

[82].

At this point, being solved the subproblem model, we know the nature of the problem:

a cold macro mixture. . . . Note that the model plays the role of an abstract pattern of

the problem.

3.3.2. Study case: Gait analysis using computer vision

The problem of early detection of frailty and senility syndromes was used to exemplify

the proposed method with a real problem. Selection of a framework model through

the projection of examples and counterexamples to propose a definition of gait and to

propose variables is performed using the proposed methodology. This provides the first

prune in the tree of possible solutions allowing to delimit the state of the art analysis.

Computer vision to characterize environment and human behaviour is part of our re-

search area related to technological systems for AAL. In particular, we are working in

early detection of frailty and senility syndromes in elderly people through the analysis

of gait using computer vision.

The main advantages of visible light based systems are: innocuousness to people and

environmental sustainability. The former allows to extract information from the ob-

ject of study without affecting the analysed phenomenon or system. This remark is

more referred to be consequent with the postulates of Physics, in the meaning of what

Heisenberg established [83], than a practical context, because at a macroscopic level, the

Page 88: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 55

physic of capturing images does not affect gait. However, we consider appropriate this

innocuousness, especially to remark that most of the sensors are intrusive, i.e., they are

transducers that flood the environment and the subject of study with energy (infrared

light, acoustic emissions, microwaves, etc.). Other systems require the cooperation of

the subject of study or attach some devices to certain parts of the body. In those cases,

the subject of study might be affected by the direct effect of the physical phenomenology

or by the subjective incidence derived from the cooperation of the subject. The latter

means that the amount of energy that is thrown to the environment grows with the

power of the devices and with the amount of them that are operating in a specific region

of space and time. This accumulative effect can overflow the healthy limits. This is the

reason why it is necessary to watch over the using of such systems in order to control

the excessive accumulation in a certain place and time.

Let p be the problem of gait analysis performed by a specialist:

p ≡ 〈E,G,H,A〉 (3.22)

Where E represents the environment, G the subject’s gait, H the observer (usually a

human specialist) and A the analysis. The subject’s gait is located in the environment

E(G) and the specialist obtains the information of gait by observing it:

H(E(G)) (3.23)

Making a correspondence with what we proposed in the previous chapter about concepts

of knowledge, H(E(G)) = S(E(G)), that means, the human senses the gait in the

environment. This process, as it is performed by a human, it contains subjectivity,

therefore the observation produces a filtering f(x) of the real gait:

H(E(G)) = H(f(E(G))) ' G (3.24)

Then this filtered version of gait is analysed to render a diagnostic:

A(H(f(E(G))) = A(' G) (3.25)

The correspondence with the concepts of knowledge will be A(' G) = M(' G) where

M(' G) = M(S(f(E(G)))) and therefore M(S(f(E(G)))) = K(' G), which means

that the human obtains knowledge of a filtered version of gait through its perception of

it which, in time, is a double filtered sensitive and mental process. This mental analysis

is also performed by a human specialist and, thus, it is also subjective.

Page 89: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 56

Let p′ be the problem of computer vision gait analysis:

p′ ≡ 〈E,G,C,A〉 (3.26)

Where E represents the environment, G the subject’s gait, C the camera and A an

analysis. We intend to obtain an analysis of gait A(G), however, an independent analysis

of gait is not possible because the subject’s gait G is located in the environment E(G)

and all of it is recorded with the camera C(E(G)). What we get instead is the camera

recording analysed:

A(C(E(G))) (3.27)

We need then a function f(x) that allows to extract the subject’s gait from the camera

recording:

f(C(E(G)) ' G (3.28)

Similar to the problem of gait analysis by a human specialist, the obtained gait is a

filtered version of it, the difference in this case is that the filter is performed by a

computer. The computer is not altered by emotional state or due to experience and its

results can be reproduced, therefore, the objectivity is increased. The same applies to

the analysis A which will be performed by a computer as well.

The environment E ≡ 〈B,L〉 is composed of a background B and light conditions L, we

impose the constraint of B being static and L being luminous. The camera C ≡ 〈F,R,D〉has a field of view F , a resolution R and a distance D to the subject, the constraint here

will be that the values of F , R and D provide a sufficient amount of steps and sufficient

resolution of the subject. The subject’s gait G is more complex and, thus, it will be

more thoroughly defined by providing a definition of it. The analysis A and the function

f(C(E(G)) will be the proposed method for gait analysis that will be developed. Making

the correspondence with the concepts of knowledge, we will developed the functions of

perception P ≡ 〈M,S〉 in order to obtain knowledge of gait K(G).

The fact that there exists a correlation between some disease syndromes that affect

elderly people and gait analysis has already been evaluated in Chapter 1. However, our

aim transcends the analysis of this group of people to open up to any range of age and

activities in areas such as sports, rehabilitation, children syndromes and a whole variety

of cases. Throughout our review of the state of the art, we have observed that the

parameters of gait analysed are mainly related to the physiology of gait, which we find

causally coherent in that a phenomenon is described in terms of the parameters that

regulate it. At such effect, we have been able to find several definitions of gait:

Gait is defined by Roy et al. [56] as a periodic activity in which each cycle is composed

by two steps: right foot forward and left foot forward. This definition lacks some details

Page 90: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 57

and, therefore, it only has global declarative value (related to the most notorious part

of gait) but it is not valid to conceive operations and algorithms for the gait analysis

taking into account the detail we intend to perform. Nixon and Carter [84] define gait

as a kinematic problem, so it has static and dynamic aspects. Static components are

related to physical construction of a person from the different gait phases. The dynamic

components are related to the temporal changes of a person during a gait cycle. Gait is

also defined as a sequence of repetitive movements that varies over time and from one

subject to another by Perry et al. [31]. These definitions involve some variables of the

physical movement of a person and, perhaps, physiological parameters, and even from

psychology.

Our visual analysis of gait focuses on the study of the information extracted from sequen-

tial images taken from the subject’s movements. Although transduction is performed

from visible light, the analysis produces an indirect measure of kinematic magnitudes,

that is, movement without considering its causes. Computer vision enables us to sepa-

rate the results from the gait dynamic approach, those dealing with physiological and

emotional forces involved in movement, which may seriously compromise the required

objectivity of the study. Our study depends on the classification system to draw in-

ferences from the spatio-temporal parameters the computer vision system delivers to

categorise gait parameters, and tentatively pinpoint those of them that may possibly

lead to disease syndromes.

The absence of sufficiently objective and complete formal specification of gait definition

to provide coverage to computer vision analysis has led us to propose a new kinematic

specification of human gait using the method proposed. The process to obtain a formal

specification of gait requires to decide a reference model and to define the objectives

that gait should satisfy. To delimit the model, we have considered the cases shown in

Table 3.4, cases we consider human gait as well as other cases we do not consider as

human gait for our problem (note that those might be considered examples of human

gait in another problem). This will provide the definition of the parameter G presented

in equation 3.26.

A definition that includes all the examples and none of the counterexample shown in

Table 3.5 is as follows:

Definition 3.3. Gait is the anthropomorphic upright self-displacement, in an alternat-

ing stepping of two feet, with no additional fulcra, keeping at least a point of support

at every time, on a horizontal or slightly inclined surface.

Page 91: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 58

Table 3.4: Examples and counterexamples of gait

Examples Counterexamples

Gait of elderly peopleGait of an adult person

Gait of a childSport gait

Walking over a treadmillWalking under psychotropic influence

Upright translation of apesUpright translation of bears

A bipedal robot walkingWalking with an exoskeleton

Translation of other animalsWith more or less than two legs

SwimFlyRun

ClimbWalking with crutches

Up or down ramps or stairsStand on a mechanic stairs

Crawl

Manthropomorphic upright self displacement =

< feet movement : ALTERNATING STEPPING 2 FEET >

∧ < medium : HORIZONTAL SURFACE

∨ SLIGHTLY INCLINED SURFACE >

∧ < additional fulcra : NO > ∧ < minimum contact points : 1 >

(3.29)

Now that we have decided that the model is anthropomorphic upright self-displacement

we can consider the kinematic variables that belong to that model as well as others

that belong to specific subproblem of gait. Table 3.6 shows the variables taken into

consideration.

3.4. Formal specification of a problem

We have said that the hypothesis belongs to the domain of the problem. Nevertheless, its

potential incorrectness, inaccuracy and imprecision can include extra requirements that

has to be satisfied by the solution. This incorporates preconditions that can prematurely

prune the potential solution tree.

Once the framework of the hypothesis has been precisely established through a model

of the problem, to complete the transformation of that hypothesis in a correct, accurate

and precise expression, avoiding preconceptions about the solution, the new hypothesis

statement has to be within the scope of the problem. Then, transforming the hypothesis

must consist of the following sequence:

Page 92: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 59

Table 3.5: Examples and counterexamples of gait and their projection into the model.

Feetmovement

MediumAdditionalfulcra

Minimumcontactpoints

EXAMPLES

Gait ofelderly people

Alternatingstepping 2 feet

Horizontal or slightlyinclined surface

No 1

Gait of anadult person

Alternatingstepping 2 feet

Horizontal or slightlyinclined surface

No 1

Gait of achild

Alternatingstepping 2 feet

Horizontal or slightlyinclined surface

No 1

Sport gaitAlternatingstepping 2 feet

Horizontal or slightlyinclined surface

No 1

Walking overa treadmill

Alternatingstepping 2 feet

Horizontal surface No 1

Walking underpsychotropicinfluence

Alternatingstepping 2 feet

Horizontal or slightlyinclined surface

No 1

Upright translationof apes and bears

Alternatingstepping 2 feet

Horizontal or slightlyinclined surface

No 1

A bipedal robotwalking

Alternatingstepping 2 feet

Horizontal or slightlyinclined surface

No 1

Walking with anexoeskeleton

Alternatingstepping 2 feet

Horizontal or slightlyinclined surface

No 1

COUNTEREXAMPLES

Translation ofother animals

Alternatingstepping 2or 4 feet

Horizontal or slightlyinclined surface

No 1-2

With more orless than twolegs

Alternatingstepping 1or >2 feet

Horizontal or slightlyinclined surface

No 0 - >2

SwimAlternatingstepping 2feet and 2 arms

Liquid surface No - Yes 1

Fly No movement Gas No 0

RunAlternatingstepping 2 feet

Horizontal or slightlyinclined surface

No 0

ClimbAlternatingstepping 2 feetand 2 arms

Vertical surface No - Yes 0

Walking withcrutches

Alternatingstepping of feetand crutches

Horizontal or slightlyinclined surface

Yes 2

Up or downramps or stairs

Alternatingstepping 2 feet

>horizontal and <vertical surface

No 1

Stand on amechanic stairs

No movement >horizontal and <vertical surface No 2

CrawlAlternatingstepping 2 feetand 2 arms

Horizontal or inclined surface No 3

Page 93: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 60

Table 3.6: Human gait variables

Shape variables Movement variables

Silhouette shapeSilhouette positionDisplacement plane

CentroidHeight and other body variables

Arm angles and lengthsLeg variablesFoot variables

Step and stride lengthStep and stride time

CadenceSingle support timeDouble support time

SpeedAcceleration

Foot maximum height

1. Correct and refine statements, objectives and requirements, contained in the initial

conjecture.

2. Transform the requirements of the solution that may be contained in the initial

conjecture into objectives of the scope of the problem. That is, transform re-

quirements into expressions built from an external point of view to the interface

between the invention and the rest of the universe. This transformation frees the

statement of the problem of potential restrictions about the solution that could

have been incorporated arbitrarily and even unintentionally. On the other hand,

as may occur that we decided that certain requirement of the solution has to be

an objective of the problem (e.g.: a circuit to be CMOS), it corresponds to retain

such constraint but as an objective of the problem. Thus, the new expression of

the hypothesis will have formal consistency to be a statement coming from an

external approach to the problem and, therefore, free from preconstraints which

would correspond to an internal point of view to the solution.

3. Proposing additional objectives. The objectives extracted from the hypothesis

can be extended by adding other ones obtained from the study of the state of

knowledge about the problem.

4. Arbitrary objectives. Additional objectives could be incorporated. They may arise

from intuition, by revelation, awareness, experience, and so on.

The formal specification eventually contain the compendium of the objectives extracted

from the hypothesis, the objectives extracted through the analysis of the state of knowl-

edge, and the objectives arising from inspiration.

3.4.1. Study case: Vegetable starter plate

Having established a model, the second step to obtain the formal specification is the

phase of architecture. It expresses the functionality that the solution must satisfy and

Page 94: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 61

is obtained answering the question what for. The answer provides the objectives of the

problem from an external point of view.

For example, the following hypothesis: create vegetable starter plate, a complete meal

to consume when weather is hot, that will be nutritive, healthy, tasty and aromatic.

Obviously, salad can be a model of vegetable starter plate.

The hypothesis can be rewritten in terms of the model as follows: vegetable starter

plate is a nutritive, healthy, tasty and aromatic salad. The architectural objectives that

vegetable starter plate have to satisfy are expressed in the hypothesis: nutritive, healthy,

tasty and aromatic.

Nevertheless, additional objectives can be considered, e.g., freshness, that can be ob-

tained from the state of the art, and low cost, which is based in a cultural conviction.

Table 3.7 shows the objectives that the vegetable starter plate must satisfy.

Finally, table 3.8 shows the objectives for the example of vegetable starter plate, as a

salad, that are contained in the hypothesis and two additional ones, obtained from the

state of the art and intuitively (inspiringly) incorporated, respectively.

Table 3.7: Objectives of the vegetable starter plate.

OBJECTIVES

1 Nutrition HIGH2 Flavor GOOD3 Health GOOD4 Odor PLEASANT5 Mixture MACRO6 Vegetables RAW PREVIOUSLY COOKED7 Dressing RAW OIL BASED8 Salt YES9 Water NO10 Others -11 Spicy seasoning YES12 Temperature COLD13 Harvest RECENT14 Price LOW

Note that the last two objectives are genuinely circumstantial factors: when to elaborate

the salad, and how much it must cost. Nevertheless, they have to be considered as

explicit essential factors because they belong to the hypothesis.

As another example, the following design factor is genuinely circumstantial: being able to

transport pieces of furniture in the trunk. Imposing that as objective of the hypothesis,

produces solutions whose main characteristic is that the assembly of the furniture could

Page 95: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 62

Table 3.8: Objectives that the vegetable starter plate must satisfy.

Objectives of vegetable starter plate

num Objectiveobj 0 SALADobj 1 Nutritiveobj 2 Tastyobj 3 Healthyobj 4 Aromaticobj 5 Freshnessobj 6 Low cost

be performed by the buyer at his home. That it is the essence of IKEA’s successful

business model.

The model of the problem along with the objectives (drawn from the hypothesis, taken

from state of the art and built by inspiration) that the problem must satisfy, answer,

respectively, the questions what is the problem and what for is a solution. This is a

characterization of the problem seen from the viewpoint of its universe and, therefore,

from an external focus to the problem.

The relevance of this aspect is that the external approach is objectivist. Therefore, it

is independent of potential constraints that could come from preconceptions about the

solution.

The definition of the problem is clearly formal, essentially based on the nature of the

problem and its utility, regardless of the nature and characteristics of the solution that

finally would be adopted.

Formal specification can be supported by a simple syntax structure consisting of a tran-

sitive predicate to assign the identity of the model and a formal predicate to assign

objectives as a conjunction.

< problem >< to be verb > < article >< model >

< preposition >< objective >

(< conjunction >< objective >) ∗ .

(3.30)

The expression of equation 3.30 is a logic formal expression and, perhaps, also mathe-

matical. Nonetheless, it is a formal expression constructively obtained. That guarantees

that every problem can be formally specified. Examples of formal specification are shown

in table 3.9.

Page 96: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 63

Table 3.9: Formal specification examples.

Formal specification of problems

Problem Formal specification

keyboardis an input device with keys representingcharacters and keys representing functions.

control accessis a system of protocols to entry and exitwith an internal and external door which openingis mutually exclusive.

tomatois a fleshy fruit with tegument, acid endotheliumand flat seeds.

gait

is the anthropomorphic upright self-displacement,in an alternating stepping of two feet, with noadditional fulcra, keeping at least a point of supportat every time, on a horizontal or slightly inclinedsurface [85].

vegetable starterplate

is a nutritive, healthy, tasty, aromatic, fresh saladhaving low cost.

To recap, the process of obtaining a formal expression of the problem starts from the

hypothesis and consists of the following steps:

1. Correct the mistakes, inaccuracies and inconsistencies potentially contained in the

hypothesis.

2. Redefine potential constraints about solution that could have been included in the

hypothesis as objectives.

3. Decide a reference model for the problem.

4. Include additional objectives from the state of the art and from inspiration.

5. Formally express the problem as the composition of a predicate of the model and

other about the objectives.

The formal specification of the problem provides declarative information about it, that

is, allows to know the problem.

To provide a solution, the information about the problem has to be constitutive and

operational. That is, the specification must allow us to know how are the constructive

modules, and to know how to do the construction of the solution.

Page 97: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 64

3.4.2. Study case: Gait analysis using computer vision

The proposed definition assumes that the whole body participates in gait, which is

reasonable even if there are some body parts that have a greater effect than others and,

therefore, they allow to characterize the gait easily, as is the case of feet.

This definition has declarative character but it does not have operational value. We

need a functional definition for our system. To do so we first establish the objectives our

system must satisfy, i.e., the utility of our system seen from an external point of view.

Objectives can be found answering the question what for is our gait analysis system

Gait-A (A(f(C(E(G))):

Definition 3.4. Gait-A is a vision based system for the early detection of frailty and

senility syndromes, analysing gait features of subjects using low cost, sustainable and

non intrusive devices.

Note that low-cost, which is clearly a contextual factor, has been included in the hypoth-

esis. The reason behind is that, in the last years, there has been a progressive reduction

of the budget the Spanish government provides to R&D purposes. This has forced the

researchers to adapt to such low budget and, thus, the trend for low-cost systems arises.

The characteristic of a system to be low-cost should clearly be a contextual factor of

the proposed solution, however, the low available budget has forced us to promote this

contextual factor to a role of essential factor. This will produce an early prune of the tree

of possible solutions which will still provide a solution but not necessarily the optimal

one.

From the previous hypothesis, we extract the following objectives of our system:

1. Detection of frailty syndrome

2. Vision based system

3. Gait analysis based system

4. Low computational cost

5. Reduced cost

6. Sustainability

7. Non intrusive

8. Early detection

Page 98: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 65

An issue that arises from the state of the art that could compromise the objective 1 is

that we do not know for certain if we could detect frailty or dementia syndromes through

computer vision analysis. Therefore we add the following objective:

9. Contingency in case of impossibility of detecting frailty or dementia.

Also, our experience with computer vision algorithms is that the computational cost is

high so this could compromise the objectives 3 and 4. We add the following objective:

10. Reduce computational cost of vision algorithms

We now have the objectives of our problem, i.e., the utility that provides to the external

world. We now define it internally, to do so we define the requirements that the system

needs in order to satisfy the objectives. The requirements are obtained by answering

the question how to satisfy the objectives:

a Extract features from RGB devices. This covers the objectives Vision based system

and Gait analysis based system.

b Gait classifier. This covers the objectives Detection of frailty syndrome as it detects

the presence of abnormalities in gait, and Gait analysis based system.

c Use low cost devices. This covers the objective Reduced cost.

d Use of rgb devices. The use of rgb devices covers the objectives of Vision based

system, Reduced cost, Sustainability and Non intrusive.

e Run gait test periodically. By running the gait test periodically we cover the

objective of Early detection and of course the objective of Gait analysis based

system.

f Code optimizations. Code optimizations are needed to cover the objectives Low

computational cost and Reduce computational cost of vision algorithms.

g Build data set. The vision data set covers the objective of Vision based system

and is also intended as a contingency in case we cannot detect frailty or dementia

because it will provide a data base of abnormal gait sequence to the scientific

community allowing others to continue our work.

The traceability matrix of the requirements is shown in table 3.10. Requirement a can

be joined with requirement b because they are interrelated (Corollary 3.5). Therefore,

Page 99: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 66

Table 3.10: Traceability matrix

Requirements

a b c d e f g

Objectives

1 X OK2 X X X OK3 X X X OK4 X OK5 X X OK6 X OK7 X OK8 X OK9 X OK10 X OK

requirement b now it is called gait classifier using vision features covering now objectives

1 and 3. In the next level, the requirement b can be extended by proceeding in the same

way: establish objectives and the requirements that cover them. Requirement c can be

removed because requirement d already covers the objective 5 (Corollary 3.6).

Considering the previous formulation of our problem in Eq. 3.26, requirement a imple-

ments the function f(C(E(G)). Requirement c corresponds to the camera variable C.

Finally, requirement b corresponds to the analysis A.

Corollary 3.5. If an objective is partially covered by more than one requirement, then

it is possible that those requirement can be fused into a single one.

Corollary 3.6. If an objective is fully covered by more than one requirement, then

a requirement that only cover an already fully covered requirement can be removed or

joined.

3.5. Gait classifier using vision features

This is the module that classifies gait between normal (no signs of frailty nor dementia)

and abnormal (presents signs of frailty or dementia), using vision devices. This is a

subproblem of the initial problem and, thus, we proceed in the same way. The objectives

of this module are the following:

1. Classify gait between normal and frailty

2. Use vision devices

Therefore the requirements are the following:

Page 100: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 67

a Extract vision features from gait. This requirement covers the Use vision devices

objective.

b Use classification techniques. This covers the objective of Classify gait between

normal and frailty.

Table 3.11: Gait classifier using vision features traceability matrix

Requirements

a b

Objectives1 X OK2 X OK

The traceability matrix of this module is shown in table 3.11. This is a straightforward

node since it is the result of the joint of requirements a and b from the parent node, it is

just the separation of the previously fused requirements. The decision of fusing them in

the first place was aimed at providing a more balanced tree, otherwise the father node

would have a lot of children.

3.5.1. Extract vision features

This is the module that deals with the extraction of gait features from vision devices

to obtain gait variables. Therefore, the objectives for this module are the variables

established in Table 3.6:

1. Human segmentation

2. Silhouette shape

3. Silhouette position

4. Displacement plane

5. Centroid

6. Height and other body variables

7. Arm angles and lengths

8. Leg variables

9. Foot variables

10. Step and stride length

Page 101: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 68

11. Step and stride time

12. Cadence

13. Single support time

14. Double support time

15. Speed

16. Acceleration

17. Foot maximum height

We added the Human segmentation objective obtained from the state of the art as it is

a required phase in order to extract the silhouette of the subject. Then the requirements

are the following:

a Background subtraction. This requirement provides a silhouette of the subject so

it covers Human segmentation, Silhouette Shape, Silhouette position, Displacement

plane, Centroid, Height and other body variables and Speed.

b Feet location and tracking. This requirement deals with locating both feet and

covers the objectives Foot variables, Step and stride length, Acceleration and Foot

maximum height.

c Heel strike and toe off detection. This deals with detecting the events of heel strike

and toe off that cover the objectives Step and stride length, Step and stride time,

Cadence, Single support time, Double support time and Speed.

d Skeleton extraction. This extract some skeleton joints and cover the objectives

Height and other body variables, Arm angles and lengths and Leg variables.

Table 3.12 shows the traceability matrix for this module.

3.5.2. Gait classification

This module deals with the classification of gait features into normal or abnormal gait.

In Table 3.6 we established different types of variables. There are two dimensional (or

three dimensional) variables, time series and shape variables. These are the types of

variables our classifier should deal with, therefore the objectives are the following:

1. Classify positional features

Page 102: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 69

Table 3.12: Extract vision features traceability matrix

Requirements

a b c d

Objectives

1 X OK2 X OK3 X OK4 X OK5 X OK6 X X OK7 X OK8 X OK9 X OK10 X X OK11 X OK12 X OK13 X OK14 X OK15 X X OK16 X OK17 X OK

2. Classify time series features

3. Classify shape features

4. Reduce dimensionality

From the state of the art, we incorporate the Reduce dimensionality objective to deal

with the large dimensionality of the shape variables. Then the requirements that cover

those objectives are the following:

a K-Nearest Neighbors. This provides cover of the objectives of classifying features:

Classify positional features (Euclidean distance can be used to compare positional

features so no additional requirements needed) and partially Classify time series

features (a different distance function is required to compare time series of arbitrary

length) and Classify shape features (compare images is a high dimensionality task

so a reduction is needed).

b Dynamic Time Warping. This allow to compare time series of arbitrary length so

it partially cover the objective Classify time series features.

c Principal Component Analysis. This is used to cover the objective Reduce dimen-

sionality for silhouette shape classification so it also partially cover the objective

Classify shape features.

Page 103: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 70

Table 3.13: Gait classification traceability matrix

Requirements

a b c

Objectives

1 X OK2 X X OK3 X X OK4 X OK

3.6. Structural specification of a solution

The formal specification of a problem, as mentioned above, provides a definition of itself

that is objective, correct, precise and accurate, and that definition is an interpretation

of the problem from an external point of view, i.e., from the universe containing the

problem. Therefore, formal specification is free of any assumption related to the nature

of any possible solution under the chosen model. Note, however, that the chosen model

produces a prune in the tree of possible solutions.

To obtain a solution, an interpretation of the problem from the internal point of view

is required because you need to understand the nature of the elements of the solution

and the relationships between them. These elements, and these relations constitute the

structure, the organization and the components of the solutions, and each approach

about the problem from an internal point of view can produce a different solution of the

problem.

In this section we indicate a method to obtain the structural specification and organiza-

tion of a solution (ω) within the formal framework of graph theory, as a pair consisting

of a tree (Υ) that defines a hierarchical module structure of the solution and a directed

graph (Θ) organizing relations between modules as shown in Eq. 3.31.

ω ≡ 〈Υ,Θ〉 (3.31)

The tree Υ = {t1, t2, . . . , tn} is composed of modules ti. The graph Θ = {t1, t2, . . . , tm}is composed of modules where m >= n and Υ ⊂ Θ, i.e., the graph Θ is composed of the

modules of the tree Υ plus some other modules that serve as synchronization between

the tree modules.

Page 104: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 71

Table 3.14: Requirements to cover the objectives of the vegetable starter plate problemas a salad. The objectives are defined in Table 3.8

Requirements to cover the objectives of the vegetable starter plate

n. Objectives

Requirements obj0 obj1 obj2 obj3 obj4 obj5 obj6

aBase of good qualityraw vegetables just

preparedX X X X X

b Light cheeses core X X Xc Olive oil dressing X X X Xd Add pasta Xe Use small plate X

3.6.1. Structural tree

The path starts from the hypothesis that may contain requirements (informal internal

view) to obtain a formal specification based on a model and objectives (formal external

view), and again a structural specification that consists of requirements (formal internal

vision), is a two-way process to obtain what we had before but as an objective, complete,

in an accurate and correct way, and within the formal framework of graph theory.

The objectives are the constraints imposed on the problem (external focus), the require-

ments are the features that a solution must comply (internal focus).

The starting point to obtain a structural specification is the formal specification and,

therefore, what we have to do is to propose a set of requirements for a solution, in such

a way that the requirements provide a cover of the objectives.

Any conjunction of the requirements of a solution can be considered as other requirement

that constitutes the constraint of a subproblem of the original problem, and a solution

of that subproblem is a module of the structure of a solution of the initial problem.

Therefore, a cover of the objectives consisting of requirements provides a two levels tree:

level 0 contains a root node representing a solution, and level 1 contains a node for each

requirement of the cover, each node representing a module of the solution.

The structural specification phase consists of answering the question how is the veg-

etable starter plate to obtain the requirements of a solution. All we must do is propose

requirements to obtain a cover of the objectives. Table 3.14 shows a set of requirements

proposed to solve the vegetable starter plate example as a salad.

Figure 3.7 shows a selection of salad modules that covers the objectives.

Page 105: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 72

cheesesspirali

vegetable

starter plate

vegetables dressing

Figure 3.7: Structural tree of vegetable starter plate.

Recursively, proceed for each leaf node as if the subproblem that represents were a

new problem, that is, considering that the requirements of that node represent the

hypothesis of the subproblem to be solved. The termination condition will consist of

obtaining trivial nodes or known ones. The leaves of the structural tree are basic modules

that solve atomic subproblems, namely technological components of the solution. They

provide the answer to the question with what is made the solution.

Figure 3.8 shows a complete structural tree for the example of the vegetable starter

plate, assuming that the raw materials which appear as leaf nodes, i.e., vegetables,

pasta, seasonings and cheeses are purchased on the market. The conceptual meaning

of this process is that the statement of the problem have been clarified and, therefore,

a solution is given. In the case of a restaurant that has its own crops, each node of

the vegetables would be, in turn, the root of a subtree representing the agricultural

production process of the corresponding vegetable.

cheesesspirali

vegetable

starter plate

burgos manchego

vegetables

arugula mushroomspinachlettuce

dressing

olive oil salt paprika

Figure 3.8: Structural tree of an organoleptic solution to the vegetable starter prob-lem.

Other design criteria focused more on the nutritional equilibrium than the organoleptic

aim could lead to the structural tree shown in Figure 3.9.

Moreover, other ingredients could lead to the structural tree shown in Figure 3.10.

Page 106: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 73

plants

vegetable

starter plate

spirali

salt animals

vegetables

arugula mushroomspinachlettuce

burgos manchegodressing

olive oil paprika

Figure 3.9: Structural tree of a dietetic solution to the vegetable starter plate.

plants

vegetable

starter plate

spirali

minerals animals

vegetables

tomato avocadoonionlettuce

manchego

cheeseyork hamdressing

olive oil garlic

salt platter

Figure 3.10: Structural tree of a slightly different vegetable starter plate.

3.6.2. Organizational graph

The organization of the structure of a solution is a directed graph expressing the re-

lationships between the modules of that solution. Nodes represent the modules of the

structure and each edge represents a relationship between connecting nodes. The graph

Page 107: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 74

with larger details of the organization is the one containing the leaf nodes of the struc-

tural tree.

The algorithm we propose to construct the organizational graph is the following:

Form a graph with the nodes of the first level of the structural tree.

Add nodes to represent relations among them.

Draw edges between the nodes of the graph to represent their relationships.

Replace each node in the partial graph for the corresponding nodes belonging to

the first level of the subtree of that node in the structural tree.

Proceed recursively.

Figure 3.11 shows the organization at first level of the structure of the vegetable starter

plate. Note that additional nodes are modal.

There is no relationship between nodes of ingredients which represents that the vegeta-

bles, cheeses, pasta and condiments are provided independently of one another, and that

it is in preparing the salad when the relationship between them arises, i.e., the sequence

of incorporation of the ingredients.

mount plate

form a bed

serve

vegetables pasta

cheeses

dressing

Figure 3.11: Global organizational graph.

Figure 3.12, shows the larger detailed organizational graph that has been obtained re-

cursively replacing each node coming from the structure by the nodes of level 1 in its

rooted subtree inside the structural tree.

Page 108: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 75

mount plate

form a bed

serve

brew

arugula

lettuce spirali

mushroomspinach

manchego

burgospaprika

olive oil

salt

Figure 3.12: Detailed organizational graph.

3.6.3. Structural specification of computer vision for gait analysis

The previously defined traceability matrices ensure a cover of the established objectives.

The requirements that perform such cover form a structural tree. This is the structural

specification. The root node is the name of our system, GAIT-A. From it, the require-

ments that cover the initial objectives of the hypothesis are the children of this root

node. Subsequent expansions of the children nodes following the requirements estab-

lished in the previous sections produce the structural tree of figure 3.13. The decision to

join some requirements in the root node provides an additional level to the tree. In case

we would not decided to join those requirements, a different tree could show up instead.

Note that we could have decided to include all the objectives from the children nodes

in the root node, obtaining a tree with a root and a single level. This, although a valid

solution, might not provide a good structured solution in most cases.

The structural specification provides a way of composing the solution from different

modules. This is precisely the structure that the next chapter follows to describe the

solution proposed for Gait-A.

Page 109: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 76

Gait-A

Gait classifier

using vision

features

Use of RGB

devices

Run gait test

periodically

Code

optimizationsBuild data set

Extract vision

features

Gait

classification

Background

subtraction

Heel strike

and toe off

Feet location

and tracking

Skeleton

extraction

K-Nearest

Neighbors

Dynamic

Time Warping

Principal

Component

Analysis

Figure 3.13: Structural tree of GAIT-A.

3.6.4. Organizational graph of computer vision for gait analysis

Following the algorithm established in section 3.6.2 we build the organizational graph

adding some modal nodes as shown in figure 3.14. This graph shows the relationships

Use of RGB

devices

Run gait test

periodically

Code

optimizations

Build data set

Background

subtraction

Heel strike

and toe off

Feet location

and tracking

Skeleton

extraction

K-Nearest

Neighbors

Dynamic

Time Warping

Principal

Component

Analysis

Record

Play

Get

Silhouette

Get FeetGet Time

series

Test

Multiresolution

Classify

Figure 3.14: Organizational graph of GAIT-A.

Page 110: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 77

between the different modules of the system. The execution begins with the Run gait test

periodically which starts the gait test. This module can use the input image sequence

directly from the Use of RGB devices module or from the stored in Build data set

module. The algorithm then goes to the Background subtraction module which uses

the optimization established in Code optimizations module. Then the gait silhouette

is obtained and passed to Feet location and tracking module and Principal Component

Analysis. The former obtains the feet position and passes it to Skeleton extraction

module to obtain the skeleton joints and to Heel strike and toe off module to obtains

the time series that Dynamic Time Warping and K-Nearest Neighbours use to classify

between normal and abnormal gait comparing with the stored cases in Build data set.

The latter reduces the dimensionality of the silhouette image and passes it to K-Nearest

Neighbours to perform the classification.

3.7. Design decisions about contextual factors

Circumstantial factors characterize the context where the realization of the solution takes

place. This context is the solution to the contextual subproblem, that is, the answers to

all the other to do questions different from the model and the essential factors: when,

who, how much, where, etc.

The conclusion of the analysis of the state of the art about the context of the imple-

mentation of a solution to a problem is that there are as many procedures as authors

or even as problems, versions, updates, etc. Each engineer uses its own criteria to make

contextual design decisions, and does it following a particular sequence, according to his

own preferences and even uses a different one for each problem to be solved [86]. This is

in line with the absence of adequate methodological foundation that Preston mentions

[80].

Such absence of systematization, empirically confirms that the existence of precedence

among circumstantial factors has not conceptual meaning. In practice, this obvious fact,

validates any sequence of making design decision about the context.

For example, the answers to the question how much, is usually among the first to be

addressed, causing significant impact on the quality of the solution. We can also find

solutions driven by the answers to the question who is the author but with category

of contextual factor. These solutions often have the stylistic imprint of the author.

Precedence of responses to the question who is the author that go beyond, puts these

answers in the category of explicit essential factors (what for) and can produce solutions

in which stylistic aspects are above other architectural factors such as usability or the

Page 111: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 78

robustness of the solution (inhospitable houses, impassable bridges, endless cathedral

constructions, smartphones that bend or even explode. . . ).

It is conceptually clear that the justification for action sequences to make design decisions

on the contextual subproblem, is not dependent of the problem. Therefore, the sequences

are arbitrarily proposed, using forms, templates, preferences, etc. In summary, the

contextual subproblem deals with external aspects of the problem.

The formal consequence is that there are no binary relations of order causally inspired

by the problem, in general. The methodological consequence is that the context of

solving a problem is an inherently parallel activity. Therefore, each solution to the

contextual subproblem will be obtained taking into account the corresponding particular

concurrence constraints.

We consider the context of problem solving as another problem that can be solved

recursively under the model-driven approach on a top-down way through the algebraic

formalization proposed in this work to solve the specific subproblem.

At most, we can propose the following model about the context of a problem:

Definition 3.7. The general context of solving a problem is a problem whose domain

is the set of design factors contained in the answers of circumstantial questions related

to the main problem, excluding the explicitly ones stated in its hypothesis, and whose

constraint will be whatever.

Keeping in mind that the solution of the contextual subproblem is the execution project,

we can indicate some potential models for the contextual subproblem for the following

examples:

Keyboard: the contextual subproblem is the assembly instructions and electronic

circuit.

Vegetable starter plate: the solution of its contextual subproblem will be the recipe

of its elaboration and the protocol to serve it in a restaurant.

Gait analysis using computer vision: the contextual subproblem is the memory for

the application of the MINECO 2013 call for projects (TIN2013-47152-C3-2-R).

3.8. Conclusions

Between this chapter and the previous, we have proposed a formal method for the

resolution of problems with causal coherence. Its theoretical framework is based on

Page 112: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 79

binary relation between the elements of the set of design decisions that has to be made

in order to resolve the problems. This causally coherent method match with the scientific

method of knowledge creation and the top-down technique enclosed in the model-driven

approach followed in engineering. This method admits an intuitive interpretation based

on answering the to do questions in an orderly fashion.

Whereas the scientific method and top-down technique follow a causally coherent se-

quence of design decisions, the bottom-up lacks that causally coherence. This explains

that the bottom-up approach can only guarantee the result if it is complemented with

prior knowledge of the structure of the solution, i.e., to resolve instances of problems

that belongs to a family of problems through solutions already known. On the contrary,

for the scientific method and top down technique, the universality of their validity is

proved, even to resolve problems whose solution is unknown.

Figure 3.16 compares our causally justified proposal with the empirical top-down and

bottom-up methods.

Figure 3.15 shows the steps of the causally coherent method of making design decisions.

Decomposition of the initial problem in a sequence of the three canonical subproblems

(model, specific and contextual) has been represented, as well as the milestones related

to specifications: functional, structural, and execution project.

Page 113: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 80

CONTEXTUAL

SUBPROBLEM

architectural objetives

WHAT FOR

model

WHAT

structural features

HOW

hypothesis

technological components WITH WHAT

modal context WHEN, ETC.

prototype

abstraction

concretization

organization

composition

planning

prototyping

CAUSALLY

FORMAL DESIGN

MODEL

SUBPROBLEM

SPECIFIC

SUBPROBLEM

INTERNAL

VIEW

predominantly

solution’s

domain

EXTERNAL

VIEW

predominantly

problem’s

domain

STRUCTURAL

SPECIFICATION

EXECUTION

PROJECT

FORMAL

SPECIFICATION

Figure 3.15: Causally coherent steps of our method for making design decisions.

Page 114: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Formalization of the top-down method 81

architectural

objetives

model

structural

features

hypothesis

technological

components

modal context

prototype

abstraction

concretization

organization

composition

planning

prototyping

TO

P-D

OW

N D

ES

IGN

architectural

objetives

model

structural

features

hypothesis

technological

components

modal context

prototype

abstraction

concretization

co

mp

ositio

n

prototyping

BO

TT

OM

-UP

DE

SIG

N

architectural objetives

WHAT FOR

model

WHAT

structural features

HOW

hypothesis

technological components WITH WHAT

modal context WHEN, ETC.

prototype

abstraction

concretization

organization

composition

planning

prototyping

CA

US

AL

LY

FO

RM

AL

DE

SIG

N

pla

nn

ing

Figure 3.16: Analogies and differences between our causally formal design proposaland the empirical top-down and bottom-up methods.

Page 115: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata
Page 116: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Chapter 4

Gait-A

In the previous chapters, we have provided a causally coherent method to resolve prob-

lems using the model-driven approach. That method was applied to the gait analysis

using computer vision problem (Gait-A) obtaining its structural tree and its organiza-

tional graph. This chapter develops every module that make up the previously obtained

structural tree, especially the modules that conform the computer vision gait analysis

and the classification of normal and abnormal gait. Finally, experiments were performed

to validate the proposed modules.

4.1. Low-cost RGB devices

The decision to use RGB cameras is also oriented to environmental sustainability because

this type of cameras relies only in visible light. They only need a source of visible light

that could be sun light or artificial light. Other types of camera like Kinect sensor, in

addition to a visible light source, emits infra-red light that floods the environment to

obtain depth measures. In addition, the simultaneous use of several cameras in the same

location is possible without affecting other devices.

Aimed at providing a low cost solution, we propose the use of a smartphone camera

which can be considered as free since every smartphone in the market contains at least

one camera and almost everyone has a smartphone. This means that there is no need

to acquire an additional camera.

On one hand, A mid-high end smartphone is between 200 and 1000 with computational

power capable of processing the images captured by its camera. The resolutions of any

mid-high end smartphone is at least Full-HD (1920x1080 pixels), that resolution is more

than enough for our purposes. Regarding storage capacity, smartphones has internal

83

Page 117: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 84

Table 4.1: Comparison between smartphone camera and Kinect sensors.

Light source CostComputationcapabilities

Resolution Storage Connectivity

Smartphone Visible50e-1000e

Yes FullHD-4K>1GB andcloud storage

USB-WiFi-Bluetooth-3/4G

KinectVisible andinfra-red

50e No VGA No USB 2.0

Kinect 2Visible andinfra-red

150e No FullHD No USB 3.0

storage that allows to store recordings to be processed later. Smartphones also have

Internet connectivity through Wi-Fi which allows to upload the recordings to the cloud.

On the other hand, Kinect is around 60 - 150. The old Kinect has VGA resolution

(640x480) and the new one has Full-HD resolution (1920x1080). Both provide depth

information as well as a skeleton representation of the subject. Although the range to

provide a skeleton is limited. This however has to be processed in an external computer.

The computational power required for the old Kinect are not high but the requirements

for the new Kinect are. The storage of recordings has to be performed in this additional

computer.

In summary, a smartphone provides more versatility than Kinect sensor. The advantage

of Kinect sensor over a smartphone is the fact that Kinect provides an accurate skeleton

representation and depth information, however, it has a limited range of operation,

requires a high computational power computer to record and process sequences. The

smartphone camera uses only visible light whether the Kinect requires an structured

infra-red light source that can produce interferences with other infra-red light dependant

devices even other Kinects which will require a synchronization to be able to work

together. Table 4.1 shows a comparison between smartphone and Kinect cameras.

4.2. Data set

One of the decisions made during the specification phase was to build a data set of

gait that included normal and abnormal cases. The reason to do so was to provide the

scientific community with a data set so anyone could continue our work and replicate

it. This will also provide a contingency mechanism in case we will not be able to detect

frailty and dementia syndromes.

The data set is composed of samples of persons walking over an 8 m hall. We set a

camera perpendicular to gait direction at 4 m distance to record a side view of the

person (around four steps). We set another camera at the end of the walking path to

Page 118: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 85

record a frontal view of the person. Each sample then has a folder side and a folder

front with the side and frontal view respectively. Figure 4.1 shows the set up of two

cameras previously described.

8 m

4 m

Figure 4.1: Recording set up.

Each sample is stored as an ordered set of images, one for each frame of the sequence

with the frame number as name. In order to be able to test the accuracy and correctness

of the proposed methods we manually marked the data set indicating for each sample

the frames in which a heel strike (HS) and toe off (TO) is produced.

Following this scheme, we recorded three different datasets. The first one was recorded

to obtain a side view of the subject. We recorded a total of 15 samples of normal gait

an another 15 samples of abnormal gait. This dataset was used to test the feature

extraction module for side view. The second dataset was recorded to obtain a frontal

view of the subject. We recorded 24 samples of normal gait and 20 samples of abnormal

gait. This dataset was used to test the feature extraction module for frontal view. The

third dataset was recorded to obtain samples of different pathologies with side view. We

recorded 3 samples of each of 5 gait types using 5 subjects. The recorded gait types were

normal, diplegic, hemiplegic, neuropathic and parkinsonian. The aim of this dataset was

to test the discriminatory power of a classifier for the 5 classes of gait recorded. The

abnormal gait in all three datasets was feigned by healthy subject.

Page 119: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 86

4.3. Extraction of vision features - Side view

In this section, the different methods and techniques used to extract vision features

are explained. Figure 4.2 shows the flow diagram of the proposed system for side view

which is divided into 5 modules described in the following subsections. The first module,

Preprocessing, is a common module in most of the vision based systems. This module

deals with removing the background to obtain the subject’s silhouette and its bounding

box. The second module is the Feet Location. In this module, the position of heel

and toe of each foot is determined. The third module, Feature Extraction, performs

a gradient analysis of the heel and toe positions over time to detect the events of HS

and TO. The fourth module, Skeleton, deals with obtaining some skeleton joints in the

silhouette. The fifth module, Classification, is the one that compare the obtained gait

features with a database to determine whether the subject presents abnormal gait or

not.

Our proposed algorithms work with sequences of images captured with an RGB camera.

They can obtain HS and TO events that are used to segment the gait phases and obtain

spatio temporal parameters, and they can also work with abnormal gait patterns. The

algorithms can extract an approximation of the skeleton of the silhouette providing

legs and lean angle. These variables are then processed by the classifiers to perform a

classification between normal and abnormal gait.

In [87] a method to obtain HS as well as a method to obtain joints of lower limbs is

provided. This method works with normal gait patterns, however, as it relies on a spatial

separation between HS, it might not provide good enough results with some abnormal

gait patterns where there are small steps. The lower limb joints extraction requires a

post process to work, our method provides less accuracy but it can work with only a

single frame making it suitable for providing feedback to the subject.

4.3.1. Preprocessing

In the pre-processing module, the input RGB image is segmented for foreground silhou-

ette extraction through background subtraction techniques. At this stage, we derive the

foreground silhouette applying the Mixture of Gaussians [88] background subtraction

algorithm and then, we remove the noise generated with opening and closure morpho-

logical operators. These operators enlarge or reduce the silhouette, making it possible

for any small hole to be either filled or removed so that the actual bounding box of the

silhouette can be computed. This phase is the most computationally expensive since it

has to deal with the entire image and it is also critical because the rest of the algorithm

Page 120: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 87

HSTOD

Background

Subtractor

Bounding

Box

Get External

Toe and

Heel

Get Internal

Toe

Gradient

Analysis

Toe O

Heel Strike

Feet Loca on Feature Extrac on

Preprocessing

Classi ca on

Compare

Gait

Skeleton (FASE)

Find Joints

Legs Angle

Gait

Variables

Normal Abnormal

Get Internal

Heel

Figure 4.2: Flow diagram of the proposed system for side view.

depends on the extraction of the silhouette. An optimization could be to limit the back-

ground subtraction to an area slightly bigger than the previously computed silhouette

and thus reducing the amount of pixels analysed. Another optimization is proposed

later in subsection 4.5.

Once the silhouette is extracted we proceed to obtain its bounding box by computing

the x, y positions using Equations 4.1, then those points are converted to a rectangle

(x, y, width, height) using Equation 4.2.

minx = arg minx,y

(∀x,y ∈ silhouette : x)

maxx = arg maxx,y

(∀x,y ∈ silhouette : x)

miny = arg minx,y

(∀x,y ∈ silhouette : y)

maxy = arg maxx,y

(∀x,y ∈ silhouette : y)

(4.1)

boundingBox = (minx ,miny ,maxx −minx ,maxy −miny) (4.2)

4.3.2. Feet location

This module deals with locating the position of heel and toe of each foot and com-

pose, along with the feature extraction module, the Heel Strike and Toe Off Detection

Page 121: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 88

Figure 4.3: Out-put of the get ex-ternal toe and heel

function.

Figure 4.4: Out-put of the get inter-

nal toe function.

Figure 4.5: Out-put of the get inter-nal heel function.

algorithm (HSTOD).

The feet location process starts with retrieving the silhouette from the previous phase.

Segmentation is then applied to split the upper and lower part of the silhouette up to

71% (according to a human model [89]). The relevant study area (the bottom part) is

then brought to focus, just for the feet and legs to be clearly visualised. Next, the foot

length is extracted from the bounding box to correspond to its minimum width (Eq.

4.6), attained when the feet are parallel to each other. The next step consists in finding

out the point of the toe of the moving forward foot (MFF) and that of the heel of the

coming behind foot (CBF). The MFF toe point is derived as the silhouette maximum x

(Eq. 4.3) and the CBF heel point as the minimum x (Eq. 4.4), always assuming that

gait direction displacement is from left to right, as shown in Fig. 4.3.

arg maxx,y

(∀x,y ε silhouette : x) (4.3)

arg minx,y

(∀x,y ε silhouette : x) (4.4)

max bbox(i)→ grad(x)i < 0 ∧ grad(x)i−1 ≥ 0 (4.5)

min bbox(i)→ grad(x)i > 0 ∧ grad(x)i−1 ≤ 0 (4.6)

Next we identify the maximum CBF x to obtain its toe and minimum MFF x to obtain

its heel. Each foot silhouette is cut into two sections as seen in Figures 4.4 and 4.5,

using the foot length as bounding box. Figures 4.4 and 4.5 also show the internal toe

and the internal heel respectively in the boxes.

These two cuts conform each foot’s bounding box from which the lower right pixel for

toe, Figure 4.4, and the lower left pixel for heel, Figure 4.5, are identified.

Page 122: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 89

4.3.3. Feature extraction

The module in subsection 4.3.2 delivers a vector of size n for each foot, being n the

number of sequence frames. The location (x, y) of both heel and toe are given for each

position.

By means of gradient analysis on x, HS and TO events can be detected in side view. HS

can be detected on MFF when its heel gradient decreases from positive to zero, Eq. 4.7.

TO, on the other hand, can be detected on CBF when its toe gradient increases from

zero to positive, Eq. 4.8.

heel strike(i)→ grad(x)i ≤ 0 ∧ grad(x)i−1 > 0 (4.7)

toe off(i)→ grad(x)i > 0 ∧ grad(x)i−1 = 0 (4.8)

This approach produces some false positives. The HS event will mostly be produced

before the bounding box reaches its local maximum (Eq. 4.5) and the TO event will

be completed after reaching its local maximum. Our first approach to deal with these

false positives consisted in setting to zero any value lower than a threshold and selecting

the closest hits to the local maximum bounding box width, and removing all the others.

Moreover, some other types of false positives emerge from the first and last frames of

the sequence when the silhouette has still not been completely captured by the camera.

In this case, we spatially limited the working area to keep the events generated within

that area. The filtering process of false positives through bounding box local maximum

offers acceptable accuracy as we found in [85]. However, it is still not optimal because HS

events tend to converge at the bounding box maximum while they are actually produced

earlier.

We solved the problem we faced in our previous approach by applying two filters. The

first filter (Eq. 4.9) effectively removes isolated values as can be observed comparing

figures 4.6 and 4.7. Removal of isolated values implies interpolating values between the

nearest non-zero values if two or fewer isolate consecutive values equal zero, and setting

to zero if two consecutive or fewer values are greater than zero.

Page 123: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 90

-10

0

10

20

30

40

50

60

1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96

No Filter

No Filter

Figure 4.6: MFF heel gradient without any filter.

0

10

20

30

40

50

60

1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96

Remove Noise (Filter 1)

Remove Noise

Figure 4.7: MFF heel gradient ap-plying filter 1 removing isolated val-

ues.

0

10

20

30

40

50

60

1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96

Foot Gauss (Filter 2)

Foot Gauss

Figure 4.8: MFF gradient applyingfilter 2 with Gaussian filter.

v′i =

if vi = 0

if vi−1 6= 0 ∧ vi+1 6= 0→ (vi−1 + vi+2)/2

if vi−1 6= 0 ∧ vi+1 = 0 ∧ vi+2 6= 0→ (vi−1 + vi+2)/3

if vi−2 6= 0 ∧ vi−1 = 0 ∧ vi+1 6= 0→ (vi−2 + vi+1)× 2/3

if vi 6= 0

if vi−1 = 0 ∧ vi+1 = 0→ 0

if vi−1 = 0 ∧ vi+1 6= 0 ∧ vi+2 = 0→ 0

if vi−2 = 0 ∧ vi−1 6= 0 ∧ vi+1 = 0→ 0

(4.9)

The second filter (shown in figure 4.8), in turn, undertakes the problem of improving re-

sults in situations in which incomplete silhouettes or occluded areas produce imprecision

in determining HS or TO events. This filter proves to be a valid tool for abnormal gait

detection when the events are not clearly defined. Instead of using only heel position to

obtain heel strike, we use the mean point of MFF heel and toe and analyse the gradient

at that point to obtain an HS event, and we repeat the process for the CBF heel and toe

to obtain a TO event. Adding a Gaussian filter to the gradient analysis and removing

isolated values (Eq. 4.9) complete the process. This filter is intended for improving

detection in abnormal gait where HS and TO are not very well defined.

Once HS and TO events are identified, derivation of step and stride length and time as

well as single and double support time variables can be readily determined.

Page 124: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 91

0%

10%20%30%

40%

50%

60%70%

80%

90%100%

Filter 1

Undetected

Wrong

Correct

Figure 4.9: Graphic showing the amount of correct, wrong and undetected cases forHS and TO in side view using filter 1.

Completed the variable identification stage, experimentation was called forth: First, we

recorded the gait sequences as described in section 4.2; then, we manually processed each

sequence to delimit HS and TO events. This manual processing provided the ground

truth needed for testing the accuracy of the proposed algorithms. We allowed a margin

error of ±1 frame (because it is the minimum measure of time) and an error of ±1 frame

in the algorithm output, making a global error margin of ±2 frames. Next, we analysed

the frame difference between the ground truth and that of the proposed algorithm. If any

difference we obtained was less than or equal to the global margin error, we considered

the result acceptable. Finally, we computed the root mean square of the differences by

Eq. 4.10

RMSE =

√√√√ 1

n

n∑i=0

(mi − ai)2 (4.10)

Where n is the number of HS and TO events, mi is the frame of the event i in the

manual marking and ai is the frame of the event i in the algorithm output.

We tested not only our own dataset but also our HSTOD algorithm with the CASIA

dataset A [90] (only 90o camera samples). In Table 4.2 we illustrate the results from

applying the HSTOD algorithm and the two filtering methods described in section 4.3.3.

As observed, HS events are more accurately delimited than TO events. In addition, com-

paring the two filters, the second filter (Figure 4.10) offers better precision in detecting

normal and abnormal gait even though it yields a larger number of undetected cases in

normal gait than the first filter (Figure 4.9).

Page 125: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 92

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

Filter 2

Undetected

Wrong

Correct

Figure 4.10: Graphic showing the amount of correct, wrong and undetected cases forHS and TO in side view using filter 2.

4.3.4. Skeleton extraction algorithm

This work focuses on gait characterisation of the lower part of the body, below the hip,

but given that we pursue to perform a full body characterisation in a future research

work, we find it imperative to formulate a skeleton extraction algorithm.

We have found that the process of extracting the skeleton of a person exclusively out of

RGB data reaches a high degree of complexity. Besides, dealing with normal and abnor-

mal gait simultaneously adds another level of complexity to the task to be compounded

by the use of low-cost devices. Considering the nature of the difficulties, we have opted

for an approximate method that ensures sufficient accuracy without sacrificing execution

speed in low-performance computational devices.

Our approach resembles that of Leu et al. [59], but instead of projecting horizontal and

vertical silhouette pixels to get the neck joint and then apply an anatomical model to get

the hips, knees and ankles, we bring our Fast Approximate Skeleton Extraction (FASE)

algorithm into play. FASE allows us to divide the silhouette into fractions of its height

in consonance with a human model [89] to get the head, torso, thighs and feet. Figures

4.11 and 4.12 show the four fractions we obtained.

Once the parts are segmented, we divide the head and torso crosswise into halves and

compute the centre of gravity (COG) of each half as illustrated in figure 4.11. Consid-

ering the origin of coordinates to be the top left corner, where heady is the y position

of the head segment; headheight its height; upperHeadCOGx and lowerHeadCOGx are

the x position of the COG of the upper and lower half of the head segment respectively.

The same applies to the torso segment. What we do, in summary, is compute the COG

Page 126: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 93

Table 4.2: Results of the HSTOD algorithm showing the amount of correct detections(less than 2 frames of difference between algorithm and manual marking), undetectedcases, wrong detection (more than 2 frames of difference) and the root mean squareerror of both correct and wrong cases. F1: first filter in which isolated values are

removed, F2: second filter in which the foot is used instead of only heel or toe.

Filter Correct Undetected Wrong RMSE

DAI Dataset Normal GaitHeel Strike

F1 83 (91.2%) 0 (0%) 8 (8.8%) 1.5 frames (50 ms)F2 85 (93.4%) 1 (1%) 5 (5.5%) 1.2 frames (40 ms)

Toe Off

F1 66 (75%) 1 (1.1%) 21 (23.9%) 2.18 frames (73 ms)F2 83 (94.3%) 2 (2.3%) 3 (3.4%) 1.24 frames (41 ms)

DAI Dataset Abnormal GaitHeel Strike

F1 111 (78.2%) 18 (12.7%) 13 (9.2%) 1.85 frames (62 ms)F2 131 (92.3%) 5 (3.5%) 6 (4.2%) 1.48 frames (49 ms)

Toe Off

F1 94 (69.6%) 8 (5.9%) 33 (24.4%) 2.87 frames (96 ms)F2 109 (80.7%) 5 (3.7%) 21 (15.6%) 2.09 frames (70 ms)

CASIA DatasetHeel Strike

F1 316 (95.8%) 8 (2.4%) 6 (1.8%) 0.98 frames (33 ms)F2 319 (96.4%) 9 (2.7%) 2 (0.9%) 0.89 frames (30 ms)

Toe Off

F1 315 (96.3%) 5 (1.5%) 7 (2.1%) 0.95 frames (32 ms)F2 305 (93.3%) 8 (2.5%) 14 (4.3%) 1.62 frames (54 ms)

TotalHeel Strike

F1 510 (90.6%) 26 (4.6%) 27 (4.8%) 1.32 frames (44 ms)F2 534 (94.9%) 15 (2.7%) 14 (2.5%) 1.12 frames (37 ms)

Toe Off

F1 475 (86.4%) 14 (2.6%) 61 (11.1%) 1.81 frames (60 ms)F2 497 (90.4%) 15 (2.7%) 38 (6.9%) 1.7 frames (57 ms)

Figure 4.11: Headand torso COGs ob-

tained.

Figure 4.12: Thigand foot COGs ob-tained and foot loca-

tion output.

Figure 4.13: FastApproximate Skele-ton Extraction out-

put.

Page 127: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 94

of the upper and lower halves and then move them to top and bottom respectively to

obtain the following points:

upperHead = (upperHeadCOGx, heady)

lowerHead = (lowerHeadCOGx, heady + headheight)

upperTorso = (upperTorsoCOGx, torsoy)

lowerTorso = (lowerTorsoCOGx, torsoy + torsoheight)

We obtain the thigh points in a slightly different manner. We cut the shape horizontally

and find out the COGs as previously explained. Then, we cut the shape again, but

this time vertically to obtain two more COGs. In this way, we obtain four COGs as

shown in Figure 4.12. Let’s name the upper part of the thigh, upperThigh; the moving

forward knee, MFK ; the coming behind knee, CBK for our formulation purposes. Then

we obtain the following points:

upperThigh = (upperThighCOGx, thighy)

MFK = (rightThighCOGx, thighy + thighheight)

CBK = (leftThighCOGx, thighy + thighheight)

Then foot is obtained using the previously calculated heel and toe from the feet location

algorithm in section 4.3.2:

MFF = (MFFHeel +MFFToe)/2

CBF = (CBFHeel + CBFToe)/2

Once all the points are obtained, we still need to connect all the segments. We do so by

averaging the connections:

neck = (lowerHead+ upperTorso)/2

hip = (lowerTorso+ upperThigh)/2

In the final stage in side view, we accommodate the knee points to predict their position.

When walking, as the legs move forward, the knees move up and down to some degree.

Page 128: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 95

100

200

300

400

500

600

700

800

900

0 500 1000 1500 2000

Y

X

Manual Head

FASE Head

Manual Neck

FASE Neck

Manual Hip

FASE Hip

Manual Forward Knee

FASE Forward Knee

Manual Forward Foot

FASE Forward Foot

Figure 4.14: Graphic comparison between 2D manual marking and FASE output.

To simulate knee movement, we start by tracing three circles; two along the length of

both feet and thighs, and the other around the hip. We make the hip circle radii equal to

thigh length, and the feet circle radii equal to the length of the tibia. We then intersect

the hip circle with each foot circle and save that intersection furthest to the right as the

new knee point for each leg. Figure 4.13 shows the final result.

As previously mentioned, this process constitutes an approximate skeleton, but it is able

to yield leg and torso angles with sufficient accuracy. In addition, it is fast, and just

one single frame affords valuable information. However, it falls short of detecting the

location of the occluded leg, let alone the arms. It can neither distinguish left from right

leg, but swapping the legs when the silhouette bounding box width is minimum achieves

the desired result. Although the method successfully applies to almost every type of

gait, we have already discovered that with dragging legs, it simply does not produce

satisfactory results in leg identification.

We evaluated the accuracy of the FASE algorithm by comparing the joints obtained

through it and a manual marking of the positions of head, neck, hip, knees and feet.

The Euclidean distance between manual marking and FASE output is analysed to com-

pute the average distance and root mean square, and then normalise the distance as

a percentage of the subject’s height. As Table 4.3 shows, the greatest accuracy cor-

responds to head, neck and hip scores while the poorest hits to the knees and feet,

precisely because of the leg occlusion problem. Figure 4.14 shows the accuracy of the

FASE output in one sample.

For the purpose of testing the relevance of such results, we have also tested the leg angles

(the angles formed between each foot and the hip). The results show a RMSE of 6.65o for

normal gait and 3.98o for abnormal gait cases. Figures 4.15 and 4.16 show the respective

comparison between manual marking and normal and abnormal gait samples. It is worth

mentioning at this stage that a lower RMSE in abnormal gait means that in those cases,

Page 129: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 96

0

5

10

15

20

25

30

35

40

45

50

1 7

13

19

25

31

37

43

49

55

61

67

73

79

85

91

97

103

Angle

Frame

Manual

FASE

Figure 4.15: Normal gait leg anglecomparison.

0

5

10

15

20

25

30

35

40

1 9

17

25

33

41

49

57

65

73

81

89

97

105

113

121

129

Angle

Frame

Manual

FASE

Figure 4.16: Abnormal gait leg an-gle comparison.

the leg angles are smaller, which consistently correspond to smaller differences between

manual marking and FASE output.

Table 4.3: Comparison between FASE and manual marking as percentage of subject’sheight.

Joint % AVG % MAX % MIN % RMSE

Normal Gait

Head 1.75 5.42 0.15 2.05Neck 2.66 8.64 0.45 3.11Hip 2.49 7.77 0.38 2.90

MFK 3.99 20.91 0.25 4.98MFF 3.19 10.56 0.38 3.83CBK 3.50 9.78 0.34 4.02CBF 3.97 9.74 0.86 4.48

Abnormal Gait

Head 3.69 16.08 0.25 5.08Neck 3.79 13.86 0.36 4.89Hip 3.09 8.42 0.71 3.53

MFK 3.14 7.85 0.10 3.59MFF 2.31 5.97 0.23 2.61CBK 2.25 10.22 0.21 2.90CBF 1.91 6.26 0.14 2.35

4.4. Extraction of vision features - Frontal view

In the same way section 4.3 presented the methods and techniques for side view, this

section presents those of the frontal view. Figure 4.17 shows the flow diagram of the

frontal view system which is divided into 5 modules described in the following subsec-

tions. The first module, Preprocessing, is exactly the same as the side view, it performs

a background subtraction and obtains the bounding box of the silhouette. The sec-

ond module, Feet Location, obtains the toes positions and the difference between the

toes of each foot. The third module, Feature Extraction, obtains the zero crosses of

Page 130: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 97

the toes difference time series and the maxima and minima to obtain HS and TO. The

fourth module, Skeleton, deals with obtaining some skeleton joints in the silhouette. The

fifth module, Classification, is the one that compare the obtained gait features with a

database to determine whether the subject presents abnormal gait or not.

HSTOD

Background

Subtrac on

Bounding

Box

Get ToesToe Y

Di erence

Toe O

Heel Strike

Feet Loca on Feature Extrac on

Preprocessing

Classi ca on

Compare

Gait

Skeleton (FASE)

Find Joints

Legs Angle

Gait

Variables

Normal Abnormal

Get Max

and Min

Figure 4.17: Flow diagram of the proposed system for frontal view.

4.4.1. Feet location

This module deals with locating the position of toes of each foot and compose, along

with the feature extraction module, the Heel Strike and Toe Off Detection algorithm

(HSTOD). Most of the vision based gait analysis proposals use sagittal view because it

provides more information to work with. However, there are some benefits of a frontal

gait analysis.

According to Whittle [54], there are more gait abnormalities that can be observed from

a sagittal view than from a frontal view. However, we decided to also include frontal

view for the following reasons:

There are some abnormalities that can only be observed from a frontal point of

view. Whittle [54] mention that circumduction, hip hiking, abnormal foot contact

and rotation among others are better observed from a frontal view.

Large amount of physical space required to record sagittal gait sequences, while

only a small hall or corridor is required for frontal gait sequences. Some work-

arounds are to use a treadmill although it could alter the gait patterns specially

Page 131: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 98

with frailty people. Another workaround is to use a motorised camera that fol-

lows the subject although it is expensive and could complicate the background

subtraction as the background is moving as well.

Sagittal images show a clear view of the movement of the feet and enough information to

locate heel and toe of each foot so our previous method works with sufficient accuracy.

However, in frontal view it is not easy to determine where the heel and toe are located

in each foot. Therefore a different approach is required in this case.

In frontal view both toes are always visible but heels are occluded constantly so heels

cannot be properly located. Therefore we rely on toe information only.

To obtain toes we proceed by dividing the silhouette in four parts according to the human

model established in [89]. We focus only in the feet segment. Then we split vertically

that segment in half. We obtain the left and right foot toe by locating the pixel with

minimum y component in the left and right half respectively (Eq. 4.11) (Figure 4.18).

arg minx,y

(∀x,y ∈ silhouette : y) (4.11)

Figure 4.18: Silhouette obtained after background subtraction and toes obtained bymarking the minimum Y of each halves of the silhouette.

4.4.2. Feature extraction

The module in subsection 4.4.1 delivers a vector of size n for each foot, being n the

number of sequence frames. The location (x, y) of the toes of each foot are given for

each position.

Page 132: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 99

Using frontal view we propose to use the difference of the y component of the toes

obtaining a curve in which zero crosses indicate the feet adjacent gait phase. HS and

TO of each foot are located between each zero cross as shown in Figure 4.19. We can

estimate HS and TO by assuming HS is produced before TO and HS is produced in the

first half of each region and TO in the second half. Therefore we can estimate HS and

TO following equations 4.12 and 4.13 respectively, where zci is the frame in which a

zero cross point occurs and zci−1 is the frame of the previous zero cross point.

HS = zci−1 +(zci − zci−1)× 3

4(4.12)

TO = zci −zci − zci−1

4(4.13)

-80

-60

-40

-20

0

20

40

60

80

Di Y

Di Y

Figure 4.19: Graph showing the difference of component Y of each foot. A red verticalline marks the instant at which a HS is produced and a green vertical line marks TO.

We performed some experiments using our own dataset of frontal gait. To record the

dataset we place a camera in front of a corridor of 8 m and ask the person to walk

towards it. There are a total of 24 samples of normal gait and 20 samples of abnormal.

The same process of manual marking done in side view was performed. Table 4.4 and

figure 4.20 show the amount of correct detections (less than 2 frames of difference between

algorithm and manual marking), undetected cases, wrong detection (more than 2 frames

of difference) and the root mean square error of both correct and wrong cases. The RMSE

of both HS and TO in normal gait are a bit bigger than the error margin of 2 frames,

but they are much bigger in the case of abnormal gait. Therefore, results are acceptable

for normal gait but not so for abnormal. A different approach that deals with abnormal

gait is required.

To solve the problem of the previous approach we proceed by applying several Gaussian

filters to remove noise (Figure 4.22 shows the curve of Figure 4.21 after applying several

Gaussian filters), then, instead of relying in zero crosses, we obtain the local maxima

and minima. These maxima and minima are located more or less at the center of each

Page 133: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 100

Table 4.4: Results of the HSTOD algorithm for the first approach.

Correct Undetected Wrong RMSE

DAI Dataset Normal GaitHeel Strike

94 (83.2%) 16 (12.4%) 19 (16.8%) 2.02 frames (67 ms)Toe Off

75 (66.4%) 16 (12.4%) 38 (33.6%) 2.73 frames (90 ms)

DAI Dataset Abnormal GaitHeel Strike

96 (64.9%) 49 (24.9%) 52 (35.1%) 3.38 frames (111 ms)Toe Off

62 (41.9%) 48 (24.5%) 86 (58.1%) 4.1 frames (135 ms)

TotalHeel Strike

185 (72.5%) 65 (20.3%) 70 (27.5%) 2.88 frames (95 ms)Toe Off

132 (51.8%) 64 (20.1%) 123 (48.2%) 3.60 frames (119 ms)

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

Frontal 1

Undetected

Wrong

Correct

Figure 4.20: Graphic showing the amount of correct, wrong and undetected cases forHS and TO in frontal dataset using zero crosses approach.

pair of zero crosses. Although the curve does not cross zero in some cases, e.g., when

a foot is always behind the other or is dragged due to some injure or pain, this is not

necessary to produce a maximum or minimum.

HS are located before a maximum or minimum and TO after. We know that both events

are located in that region. Empirically adjusting them we obtain that the HS is located

at 1/4 of the distance between one maximum (or minimum) and the previous (Eq. 4.14)

and TO is located at 1/8 of the distance between one maximum (or minimum) and the

next one (Eq. 4.15).

Page 134: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 101

-20

-10

0

10

20

30

40

50

60

70

80

Di Y

Di Y

Figure 4.21: Difference of compo-nent Y of each foot with abnormal

foot dragging.

-10

0

10

20

30

40

50

60

70

Di Y Gauss

Di Y Gauss

Figure 4.22: Difference of com-ponent Y of each foot after several

Gaussian filters.

Being M an ordered set of maxima and minima in ascending chronological order:

M = {m1,m2,m3 . . .mn}

HS of mi is obtained as:

HSi = mi −mi −mi−1

4(4.14)

and TO is obtained as:

TOi = mi +mi+1 −mi

8(4.15)

The same experiment was performed for this approach. Results are shown in table 4.5

and graphically in Figure 4.23. Results show a vast improvement reducing the number

of undetected cases.

Table 4.5: Results of the HSTOD algorithm for frontal view.

Correct Undetected Wrong RMSE

DAI Dataset Normal GaitHeel Strike

115 (89.1%) 0 (0%) 14 (10.9%) 1.89 frames (62 ms)Toe Off

115 (89.1%) 0 (0%) 14 (10.9%) 1.65 frames (54 ms)

DAI Dataset Abnormal GaitHeel Strike

102 (68.9%) 6 (3.9%) 46 (31.1%) 2.68 frames (88 ms)Toe Off

91 (61.5%) 6 (3.9%) 57 (38.5%) 3.03 frames (100 ms)

TotalHeel Strike

217 (78.3%) 6 (2.1%) 60 (21.7%) 2.34 frames (77 ms)Toe Off

206 (74.4%) 6 (2.1%) 71 (25.6%) 2.48 frames (82 ms)

As shown in there, the RMSE of both HS and TO in normal gait are smaller than

the error margin of 2 frames, but they are slightly bigger in the case of abnormal gait.

Page 135: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 102

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

Frontal 2

Undetected

Wrong

Correct

Figure 4.23: Graphic showing the amount of correct, wrong and undetected cases forHS and TO in frontal dataset using local maxima and minima approach.

Therefore, results are acceptable although abnormal gait could be improved. Most of

the error is produced in the first steps when the silhouette is smaller (the subject is the

farthest from the camera).

The results obtained with our sagittal view approach are similar for normal gait. We

obtained there 1.2 frames for HS and 1.24 for TO, those were slightly better than those

obtained with frontal approach (1.89 - 1.65) but very similar. However in the case of

abnormal gait we obtained 1.48 frames for HS and 2.09 for TO in sagittal view which

where way better than the obtained with the frontal view approach (2.68 - 3.03).

Although a different dataset and recording environment was used in Xu et al. [61] we

can do a comparison between our approach and theirs as they use frontal view as well.

We can only compare our results for normal gait as their approach uses only that. For

HS they obtained a standard deviation of 1.45 frames (1.3 for right foot and 1.6 for

left foot) and our result was 1.89 frames, a fairly similar result. However for TO they

obtained a standard deviation of 3.55 frames (3.4 for right foot and 3.7 for left foot)

whether we obtained 1.65 frames, a better result. Xu et al. stated in their paper that a

greater error in TO was due to the TO occurring at a far distance to the camera where

the depth error was bigger, in our case we do not have that problem. As we stated

before, Xu et al. used a different dataset and a different recording environment so the

conclusion of the comparison is that both approaches show similar results although our

approach uses only RGB image.

Page 136: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 103

4.4.3. Skeleton extraction algorithm

The FASE modules is the same as in the side view, however, in frontal view there is no

need to distinguish each leg because they are never occluded. The adjustment of the

knees using circle is not needed here. Finally, the foot joint used corresponds to the toe

position obtained in 4.4.1.

4.5. Code optimizations

Computer vision demands a high computational power that makes it difficult to work

in low cost devices under time constraints, however, it is convenient to advance in this

matter so every geriatrics could make use of these kind of solutions. We propose a

real-time approach for the background subtraction phase. With real time capabilities,

not only the method could be used to analyse gait, but also to provide feedback to the

subject which is precisely the evolution of our project.

Our proposed method can work at real time only for specific computational power, i.e.,

if the device that perform the computation is not sufficiently faster then the system

cannot work under a specific time constraint. This approach is sufficient when it is

executed in specific hardware and do not require scalability. However it cannot be

executed in lower computational performance hardware due to its inability to reach

the deadline in time. A proper real time application should adapt to the available

computational power, providing a suboptimal response if the deadline is reached before

finishing the processing. A way to obtain a suboptimal response in our case is based on

the multiresolution pyramid.

The pyramid approach has been widely used in computer vision and computer graphics.

The simplest pyramid approach consists in iteratively computing copies of lower resolu-

tion of the original image. An example of this is the mipmap used in computer graphics

for texture filtering. A multiresolution texture is computed at loading time, then the

appropriate resolution is selected depending on the distance at which the texture has to

be rendered [91].

According to Lindeberg [92, 93], Pyramids, wavelets and multi-grid methods were the

precursors of the scale space theory developed in image processing, computer vision

and signal analysis. Space scale theory deals with multi-scale representation of images

(or signals). This states that when building a multi-scale representation image, each

subsequent downsampling should constitute a simplification of previous level and should

not add artefacts due to the smoothing method used. Therefore, the requirement for a

Page 137: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 104

kernel is linearity and spatial shift invariance. A kernel that fulfil these premises is the

Gaussian kernel and its derivatives.

There are two main approaches for pyramid representation: Gaussian Pyramid and

Laplacian Pyramid. In the former, each level of the pyramid is first processed with a

gaussian smoothing and then downsampled to 1/2 size, the process is repeated for the

number of levels required. In the latter, in each level, a difference of the blurred image

of previous level is stored, except the smallest level in which the image is only blurred.

The objective is to have different scaled convolution versions of the same image in an

efficient way. The orientation invariant approach is called Steerable Pyramid [94]

There are many applications of these approaches. Some of these applications are image

compression, detail manipulation, computer graphics... [95, 96]

A method for hallucinating high resolution faces from low resolution ones using Steerable

Pyramid is proposed in [97]. Strengert et al. proposed the construction of pyramid based

filters using the built in bilineal filtering capabilities of Graphics Processing Unit (GPU)

[98]. An edge aware image processing method using Laplacian Pyramid is proposed by

Paris et al. [99]. Yadav et al. [100] present a method based on Gaussian pyramid to

classify microscopic images of hardwood species.

4.5.1. Iterative Multiresolution Processing in Real Time

In most vision based applications, background subtraction is the initial step followed

by noise reduction techniques like morphological operations. Those techniques often

reduce the resolution of the silhouette. This resolution downgrade is accepted because

the benefits of a de-noised silhouette are greater than those of a high resolution one.

Most of the applications does not even require high resolution silhouettes. Assuming

this, the first step in order to reduce the computation time of a background subtraction

algorithm would be reducing the input image resolution. However, even if the silhouette

resolution is not important, a higher resolution could be beneficial in some cases.

In our approach the silhouette extraction phase using Mixture of Gaussians [88] is the

most computationally expensive task. With Full HD resolution, 90% of the time is

consumed there. This task takes around 90 ms to complete using an Intel Core i7

2630QM CPU at 2.00GHz and 8GB RAM DDR3.

For our approach to work under time constraints, we need to redesign this critical phase

so it can provide a fast suboptimal response that can be iteratively improved depending

on the available time.

Page 138: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 105

What we propose is an Iterative Multiresolution Processing in Real Time (IMPReTi)

approach that provides increasingly higher resolution silhouettes as long as there is time

remaining.

4.5.1.1. IMPReTi first approach

The first step is to create a multiresolution image from the original image, to do so

we proceed creating a mipmap of the input image. The mipmap is organised following

the order shown in Figure 4.24 using the Algorithm 1. This organisation ensures that

the first obtained silhouette will be the lower resolution one providing also some steps

of some of the next resolutions. However, this also increases the memory and time

needed by 50% (considering a linear algorithm) to complete the maximum resolution.

The usable space required is only 1/3 bigger than the original image since the sum

1/4 + 1/16 + 1/64 + · · · + 1/22n converges to 1/3. The mipmap approach [91] achieve

this 1/3 increase in space by splitting the RGB channels of the image as shown in figure

4.25. This however will require a modification in the background subtraction algorithm

to work with this specific layout.

Algorithm 1 MipMap organization

lastRect← Rect(0, 0, src.width, src.height)lastImage← srcdst(lastRect)← srcfor i < numMipMaps do

Resize(lastImage, 0.5)if imod2 = 0 then

lastRect.x← lastRect.x+ lastRect.width0if i = numMipMaps -1 then . The smallest resolution must be put on top so

it is processed firstlastRect.y ← 0

elselastRect.y ← lastRect.y + lastRect.height ∗ 0.25

end ifelse

lastRect.x← lastRect.x+ lastRect.width ∗ 0.25lastRect.y ← 0

end ifdst(lastRect)← lastImage

end for

Algorithm 2 shows the procedure to work in real time using the mipmap image.

This approach could provide good results with linear or less complexity algorithms. How-

ever, as the size of the image is increased a 50% (being a 19% empty) it will significantly

increase the processing time required to even compute the lower resolution.

Page 139: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 106

Figure 4.24: Mipmaps generated. Overall image size increased by 1/2.

Figure 4.25: RGB optimized mipmap. Overall image size increased by 1/3.

Algorithm 2 Real-time iterative background subtraction first approach

for i < m doProcessLine(i)if timeexceeded then

breakend if

end forResult← GetMaxResolutionCompleted(i) . Depending on the number of linesprocessed obtain the maximum resolution completed

4.5.1.2. IMPReTi second approach

Another solution is to compute separately each resolution, starting with the lowest

and iteratively increasing it as long as there is time remaining. We proceed creating

different resolution images like in the previous method, however we do not combine

them. Then the real time algorithm will be as shown in Algorithm 3. The advantage

of this approach is that it only increases the total time and space in a 1/3 rather than

a 1/2 like the previous approach (assuming the initialization time of the background

subtraction algorithm is minimum and linear complexity) achieving the same spatial

increase as the RGB mipmap. As downside, in this approach, each resolution is processed

independently so a previously computed resolution do not provide anything to next

resolution computation.

In order to mitigate this issue, we propose the use of lower resolution computed to

remove noise. To do so we average all the computed resolutions and keep as silhouette

Page 140: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 107

only the pixels with value greater than a threshold. This threshold can be empirically

adjusted to reduce more or less noise.

Algorithm 3 Real-time iterative background subtraction second approach

time← 0for i < numResolutions do

lastT ime← CalcT ime(Process(resolution[i]))time← time+ lastT imeif time+ PredictNextResolutionT ime(lastT ime) > frameTime then

breakend if

end for

Being independent each resolution, multiprocessing techniques could be added to process

each in parallel, in which case the algorithm will be as shown in Algorithm 4.

Algorithm 4 Real-time iterative background subtraction second approach in parallel

for i < numResolutions doStartThread(Process(resolution[i]))

end forWait(frameT ime)CancelUnfinishedThreads() . This function should keep in mind that at least oneresolution has to be completed.

Another alternative would be to use the times from the previous frames computed to

estimate the maximum resolution that can be computed in the required time and com-

pute only that. The first frames are processed exactly like shown in 3 or 4 and then,

when a sufficient amount of frames computed could provide an accurate estimation of

the required time for each resolution, use the estimator to only compute the maximum

resolution possible.

4.5.2. IMPReTi results

The first experiment performed is aimed at determining how the resolution of the sil-

houette affect the final output of the heel strike and toe off detection. We have tested

4 different resolutions (1920x1080, 960x540, 480x270, 240x135 pixels respectively). The

silhouette output of each resolution is shown in figure 4.26. We compare the output of

the second filter method described in section 4.3.

Figure 4.27 shows the RMSE of the heel strike and toe off detection compared to a

manual marking, as described in section 4.3.3, for each resolution. There is practically

no difference between 1080 and 540 resolutions in terms of accuracy.

Page 141: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 108

Figure 4.26: Silhouettes computed in each resolution. From left to right: 1080, 540,270, 135 pixels height.

0

0,5

1

1,5

2

2,5

1080 540 270 135

RMSE

Heel Strike

Toe Off

Figure 4.27: RMSE result of the heel strike and toe off detection algorithm for eachresolution.

Figure 4.28 shows the amount of undetected cases for each resolution. In this case, 1080

shows the best results closely follow by 540.

Finally, Figure 4.29 shows the processing time required for each resolution as well as

the frames per second (FPS). The processing time increases linearly along with the

resolution size, this is nothing new since the complexity of the background subtraction

algorithm used is linear (number of pixels in the image). This chart shows the greatest

differences between each resolution. Therefore it is precisely time the parameter that

establishes which resolution to use.

The second experiment checks the real-time suitability of the algorithm 3. The IMPReTi

algorithm is executed with 4 different FPS constraints: 15, 30, 60 and 120. The time

estimator is computed as shown in equation 4.16. The time of the next resolution is

estimated to be 4 times bigger than the last since the next resolution have 4 times more

pixels than the previous one. Since the objective of our project is to develop a low-cost

Page 142: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 109

0

2

4

6

8

10

14

1080 540 270 135

Undetected cases

Heel Strike

Toe Off

Figure 4.28: Amount of undetected cases of heel strike and toe off for each resolution

0

20

40

60

80

100

120

140

160

1080 540 270 135

Time

Processing Time

FPS

Figure 4.29: Processing time in milliseconds and FPS required for silhouette extrac-tion phase for each resolution.

system, we use a conventional operating system without real time capabilities where is

difficult to estimate the amount of time certain operation will take to complete. If we

add multicore capabilities it becomes even difficult. Therefore we decided to use the

theoretical time. We use the 4 resolutions of the previous experiment.

elapsedT ime+ lastT ime× 4 < deadline (4.16)

Figure 4.30 shows the adjustment to the deadline performed by the algorithm with each

time constraint. The graph represents the idle time for each frame processed, i.e., the

remaining time until the deadline is reached. As shown in the graph, 120 FPS is the

limit at which the algorithm can work under the tested hardware. The reason is that

the minimum time required for computing the smaller resolution is greater or equal to

the time constraint. Improvements can be made by increasing the number of levels of

the pyramid but smaller resolutions could compromise the accuracy of the results. The

graph also shows a great variability in processing time, that is due to the use of a general

purpose operating system without real time capabilities.

Page 143: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 110

-20

-10

0

10

20

30

40

50Id

le T

ime

in

ms 15 FPS

30 FPS

60 FPS

120 FPS

Figure 4.30: Graph showing the idle time for each frame with different time con-straints. A negative value means that the time constraint is exceeded.

4.6. Gait classification

The variables obtained in the previous module are here processed to perform a classi-

fication between normal and abnormal gait. We have different types of variables so we

cannot use the same classifier for all of them. Depending on the type of variables we

propose different classifiers.

4.6.1. K-Nearest Neighbours for single value variables classification

These are variables that contains a single value for each sample, e.g., the speed of

movement. Although there is a single value, we can represent each sample with several

of these variables creating a feature vector. In this case we propose the following feature

vector:

Fv = {θ, λ, β} (4.17)

Where θ is the cycle time in seconds, λ is the stride length in meters and β is the speed

in meters per second.

Page 144: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 111

To obtain these variables we use the HS obtained in the previous module. Let H be an

ordered set of HS:

H = {h1, h2, . . . , hn} (4.18)

Where each hi = 〈t, x, y〉 is a 3-tuple where t represents the frame in which it is produced

and x, y the two dimensional position of the heel in screen space in that instant. We

obtain cycle time as shown in equation 4.19 where frame rate is expressed as frames per

second (FPS). The stride length is obtained as shown in equation 4.20 where d(hx,yi , hx,yi+2)

is the euclidean distance between the position of the HS. Finally, we obtain the speed

as shown in equation 4.21.

θ =1

n− 2

n−2∑i=1

hti+2 − htiframe rate

(4.19)

λ =1

n− 2

n−2∑i=1

d(hx,yi , hx,yi+2)× pixel width (4.20)

β =d(hx,y1 , hx,yn )

htn − ht1× pixel width (4.21)

4.6.2. K-Nearest Neighbours and Dynamic Time Warping for time

series classification

Each sample has a different number of cycles and different length so we have to deal

with these issues first. The former issue is solved by splitting the sample in each cycle

using the HS obtained by the feature extraction module. The latter is solved by using

DTW as a measure of the similarity of each cycle time series. For this purpose, DTW

has great potential as it can provide a similarity measure of arbitrary length time series

which is exactly the case of gait.

We obtain the cycle i as the corresponding value of stride width or leg angle in each of

the frames between hti and hti+2 for each i ≤ n− 2. Let F be a set of feet locations for

each frame:

F = {f1, f2, . . . , fn} (4.22)

Where each fi = 〈cbh, cbt,mfh,mft〉 is a 4-tuple where cbh is the CBF heel, cbt the

CBF toe, mfh the MFF heel and mft the MFF toe, and all of them are two dimensional

positions. Then the stride width time series is obtained as shown in equation 4.23.

Stsj =

htj+2⋃

i=htj

d(f cbhi , fmfti ) (4.23)

Page 145: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 112

Let S be a set of skeleton joints locations for each frame:

S = {s1, s2, . . . , sn} (4.24)

Where each si = 〈head, neck, hip, cbk, cbf,mfk,mff〉 a 7-tuple containing the two di-

mensional position of head, neck, hip, CBK, CBF, MFK and MFF respectively. Then

leg angle is obtained as shown in equation 4.25.

Ltsj =

htj+2⋃

i=htj

scbfi shipi smff

i (4.25)

4.6.3. Principal Component Analysis and SVM for Gait Energy Image

classification

Using the HS we segment the gait sequence and obtain a GEI [55] for each cycle. A

GEI is obtained by averaging all the silhouettes of the cycle aligned by the COG of its

bounding box. We compute a GEI for each cycle to obtain more samples to train and

thus requiring HS to segment the cycle. The processing to obtain HS can be avoided if

we average all the silhouettes of a sequence simplifying the acquisition of the input, but

we obtain one for each cycle to obtain a large amount of samples. We compute each

GEI as described in equation 4.26.

GEIi =1

hti+2 − hti

hti+2∑

k=hti

sk (4.26)

Being sk the silhouette of frame k and i = {1, 2, . . . , n− 2} the corresponding HS of the

set H.

The main issue of GEI is the amount of dimensions it has to compare. For instance,

we are using 50x50 pixels, that means we have to compare 2500 components for each

sample. A large amount of pixels are empty so there are some pixels that are not

necessary to compare so an optimization can be performed. We use PCA to select the n

main eigenvectors of all the training samples and then project all the samples into this

new eigenspace. Now we only compare the n principal components instead of 2500 using

SVM. This method is similar to the eigenfaces proposed by Turk and Pentland[101] and

it is also applied by Man and Bhanu [55] for person identification using GEI.

Each recorded gait sample provides an average of 4 gait cycles. The training process

usually needs a large amount of samples to obtain enough information to perform a

classification. That means we would have to record a lot of gait sequences to obtain a

Page 146: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 113

1080 540 270 180

Resolution

Figure 4.31: This figure shows the different synthetic samples obtained from theoriginal (left).

sufficient amount of samples. To solve this issue we propose the use of synthetic samples

to increase the size of the training set.

For such purpose we use the multiresolution approach proposed in 4.5. This method

uses different resolutions to compute the silhouette providing a new synthetic sample for

each subsampled resolution. By obtaining these samples, we provide robustness against

scale variations.

This method transforms the original samples in new synthetic samples by adding arte-

facts that could be produced in reality. We obtain 4 times more samples as shown in

figure 4.31.

4.6.4. Results

We propose different experiments be carried out on our datasets. We first analyse if the

proposed variables are suitable for classifying normal and abnormal gait. To do so we

accordingly performed a 10-fold and leave-one-out cross validations to finely measure

the accuracy of each classifier.

Table 4.6 shows side view results of the three dimensional feature of stride length, cycle

time and speed; the stride time series; and the leg-angle time series. The most accurate

results obtained are those in which we used KNN with leg-angle variables, 100% accuracy

rate. Also a good accuracy rate was obtained by KNN and SVM with three dimensional

features: cycle time, stride length and speed. Poorer results, however, are those offered

by the KNN with stride-width time series in which we tested each cycle separately, but

its level of accuracy was highly increased when we tested each cycle of the same subject

and output the mode class predicted in a number of cycles.

Page 147: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 114

Table 4.6: 10-fold and leave-one-out cross-validation results of each classifier. C1:KNN with DTW using stride width testing each cycle, C2: KNN with DTW using legsangle testing each cycle, C3: KNN with DTW using stride width testing each subject,C4: KNN with DTW using legs angle testing each subject, C5, C6 and C7: Bayes,

KNN and SVM respectively using cycle time, stride length and speed

Classifier 10-Fold leave-one-out

C1C2C3C4C5C6C7

71.43%95.71%

80%100%

93.33%96.67%96.67%

74.65%97.18%83.33%100%

93.33%96.67%96.67%

The classification rates exhibit 90% or even 100% of success and suggest that the methods

proposed offer a reliable classification of normal and abnormal gaits even when a single

cycle is classified. This means that the methods are suitable for Ambient Assisted Living

environments where a camera set in a house in a transit area could monitor gait patterns

of every person that comes into the camera’s view.

It is true that the classification results are promising but there is still much work to do

in testing subtle abnormal gait patterns.

In the case of frontal view sequences, the results shown by table 4.7 are not as good,

but are improved by testing all the cycles of the same sample and outputting the class

predicted in most cases.

Table 4.7: 10-fold and leave-one-out cross-validation results of each classifier. C1:KNN with DTW using stride width testing each cycle, C2: KNN with DTW using legsangle testing each cycle, C3: KNN with DTW using stride width testing each subject,

C4: KNN with DTW using legs angle testing each subject.

Classifier 10-Fold leave-one-out

C1C2C3C4

74.64%71.42%

80%87.5%

79.3%77.19%83.72%88.37%

In the last experiment we use the third recorded dataset with side view samples of

five subjects feigning four different pathologies and normal gait. We recorded three

samples of each subject and class which provided a total of 75 samples. The selected

gait pathologies were diplegic, hemiplegic, neuropathic and parkinsonian.

We processed the new dataset with the HSTOD algorithm to obtain the HS to separate

each gait cycle. We first tried the legs-angle time series with KNN like in previous

experiments. Results, shown in table 4.8, were not good as diplegic and hemiplegic are

Page 148: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 115

Table 4.8: Confusion matrix of legs-angle with DTW and KNN

Actual

Normal Diplegic Hemiplegic Neuropathic Parkinsonian

Predicted

Normal 89.13% 0.00% 2.35% 18.45% 0.00%Diplegic 6.52% 47.27% 47.06% 4.85% 6.83%Hemiplegic 2.17% 14.55% 32.94% 7.77% 0.00%Neuropathic 2.17% 0.00% 12.94% 62.14% 0.00%Parkinsonian 0.00% 38.18% 4.71% 6.80% 93.17%

0,5

0,55

0,6

0,65

0,7

0,75

5 10 15 20 25 30 35 40 50 100 200 1000

Acc

ura

cy R

ate

Principal Components

Figure 4.32: Classification with different number of principal components

frequently confused and neuropathic is confused with normal gait. Normal gait and

parkinsonian were really well classified confirming the results of Khan et al. [69]. We

then tried a new approach. For each gait cycle, a GEI is obtained as described in the

previous chapter. Figures 4.33, 4.34, 4.35, 4.36 and 4.37 show a GEI of each class. To

assess the accuracy of the classifier we use 5-fold cross-validation using for each fold

all the samples of the same subject as test and the other subjects as training including

synthetic samples in this case as well. This ensures that the subject silhouette has not

been learned by the classifier. We apply PCA to reduce the dimensionality of the input

images. Several classifications using SVM were performed with a different number of

principal components as shown in Figure 4.32. That allowed to determine that the

optimal value is 50 which is the value where the curve stabilises. Therefore, 50 is the

value used in the next experiments.

The confusion matrix in table 4.9 shows an accuracy of 71.17%. It also show that hemi-

plegic and neuropathic gait are frequently confused between each other. Also diplegic

is confused with parkinsonian, the other way around as well but in a lesser degree.

Therefore, a new classifier capable of classifying neuropathic and hemiplegic and an-

other for classifying parkinsonian and diplegic is needed. The fact that the couples

Page 149: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 116

Figure 4.33: Normal gait

Figure 4.34: Diplegic gait Figure 4.35: Hemiplegic gait

Figure 4.36: Neuropathic gait Figure 4.37: Parkinsonian gait

Table 4.9: Confusion matrix of PCA with GEI and SVM

Actual

Normal Diplegic Hemiplegic Neuropathic Parkinsonian

Predicted

Normal 89.13% 11.82% 3.53% 9.71% 0.00%Diplegic 0.00% 40.00% 1.18% 4.85% 7.45%Hemiplegic 2.17% 9.09% 62.35% 13.59% 0.00%Neuropathic 8.70% 1.82% 32.94% 71.84% 0.00%Parkinsonian 0.00% 37.27% 0.00% 0.00% 92.55%

hemiplegic-neuropathic and diplegic-parkinsonian are well distinguished provides a way

of developing a hierarchical classifier, the first level classifies between normal, hemiplegic-

neuropathic and diplegic-parkinsonian. Then in the next level two binary classifiers

should deal with each couple.

Both couples cannot be classified with the first classifier because their shape is very

similar. To differentiate hemiplegic from neuropathic we use the legs-angle time series

Page 150: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 117

0102030405060708090

100

Classification Results

Legs-angle

GEI

GEI Reclass.

GEI No diplegic

Figure 4.38: Graphic showing the classification rates of the different classifiers used.

Table 4.10: Confusion matrix of PCA with GEI and SVM after applying reclassifica-tion of hemiplegic-neuropathic with legs angle time series and KNN.

Actual

Normal Diplegic Hemiplegic Neuropathic Parkinsonian

Predicted

Normal 89.13% 11.82% 3.53% 9.71% 0.00%Diplegic 0.00% 40.00% 1.18% 4.85% 7.45%Hemiplegic 2.17% 10.00% 78.82% 12.62% 0.00%Neuropathic 8.70% 0.91% 16.47% 72.82% 0.00%Parkinsonian 0.00% 37.27% 0.00% 0.00% 92.55%

because the results of table 4.8 show that those two pathologies are well distinguished

with legs-angle. In the case of diplegic and parkinsonian, we did not find a suitable clas-

sifier to deal with the problem, however, frontal view could provide a way to differentiate

them. After applying the reclassification of hemiplegic-neuropathic, the resultant con-

fusion matrix is as shown in table 4.10 where the accuracy is slightly improved to reach

74.66%. This accuracy can be improved to 80.33% if for each GEI of each test sample we

output the mode class, i.e., the class that is predicted in most cases. Removing diplegic

(Table 4.11), the results improve to 86.52% reaching a 95% applying the mode. Figure

4.38 shows the accuracy of the different classifiers used.

Page 151: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Gait-A 118

Table 4.11: Confusion matrix of PCA with GEI and SVM after applying reclassifi-cation of hemiplegic-neuropathic with legs angle time series and KNN and removing

diplegic gait.

Actual

Normal Hemiplegic Neuropathic Parkinsonian

Predicted

Normal 82.61% 2.35% 0.97% 0.00%Hemiplegic 4.35% 80.00% 15.53% 0.00%Neuropathic 13.04% 16.47% 83.50% 0.00%Parkinsonian 0.00% 1.18% 0.00% 100.00%

4.7. Periodical gait test

The early detection of frailty and dementia could improve the quality of life of elderly

people because an early treatment could slow down the deterioration of gait and the

consequent health decay. However, this is not an easy task since it is difficult to predict

in advance symptoms of frailty or dementia. We need to provide a gait deterioration

value to be able to compare different states of the same subject to view its evolution

over time. By analysing its evolution we could determine where it starts decaying and

take care of the problem as soon as possible.

Only analysing gait we can not establish exactly if the subject is frail or not. The frailty

syndrome is defined as a clinical syndrome in which three or more of the following criteria

are present: unintentional weight loss, self-reported exhaustion, weakness, slow walking

speed, and low physical activity [35]. Of these five criteria, only the last two (maybe

three) could be identified using gait analysis. Therefore we can not establish whether

the subject is frail or not, but we can establish a risk factor providing the geriatric with

an early indication of the presence of possible frail symptoms.

This requires a large amount of time to properly test the results. Since this thesis project

has a time span of 4 years, it is out of the scope of it. A proper test of what we propose

here will be perform as future work.

Page 152: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Chapter 5

Conclusion

This thesis proposes a classification of decisions made by engineers to design solutions

for the engineering problems they face. We have divided the initial problem in three

subproblems:

Model subproblem. It is the part of the problem that belong to the scope of one of

its model and is shared with all the problems of that model.

Specific subproblem. It is the part of the problem unique to it that it is not share

with the rest of the problems that belong to the same model.

Contextual subproblem. It is the part of the problem related to the circumstances

in which the problem is solved, i.e., the project planning.

This division of the problem in three subproblems allowed us to establish a formal basis

to propose a taxonomy of R&D:

Basic research: if it is resolved the model subproblem. The result is theoretical

knowledge.

Applied research: if it is resolved the specific subproblem. Resolving a single

instance of a problem could be considered innovation whether resolving a set of

problems could be considered development. The result is particular knowledge.

Procedural innovation: if it is resolved the contextual subproblem.

We have obtained five classes of design factors:

119

Page 153: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Conclusion 120

A class of decisions directed to a family of the problem, that are abstract design

decisions about the model. We have linked this abstraction to the question what

is the problem, that allow us to know how the problem is.

Three classes of decisions related to solve the specific subproblem through concre-

tion of the model. These are decisions about the architecture, the structure and

the technology, respectively. We have linked this concretion to the sequence of

questions what for is the problem, how and with what is the solution, respectively.

All of these design factors that we have called essential factors have special names:

explicit factors are the ones related to the question what for, which are architec-

tural; implicit factors those related to the question how, which are structural; and

intrinsic factors those related to the question with what, which are technological.

A class of design decisions directed to the implementation of a prototype. Those are

decisions to solve the contextual subproblem. We have linked the circumstances

of implementation to all the other remaining questions: who, how much, when,

where, etc. These design factors has been called contextual factors.

We have ordered the five classes of design factors in the sequence:

model > architecture > structure > technology > context

Therefore, we have established a formal basis and have obtained a method to make

design decisions in a causally coherent way.

The hypothesis represents a version of the problem close to the model domain and the

architecture. Therefore, in order for the design to be causal and formally correct, it’s

necessary to start making decisions related to the model that provides the framework

for the solution. Then continue making decisions sequentially in the order that we have

established. This provides:

– A technique to define a model for a given problem and a set of other related

problems.

– A technique to obtain a functional specification of a given problem based on a

model and a conjunction of architectural objectives. This specification ignores any

constraint coming from the domain of the solution, so it takes into account only

constraints established in the hypothesis, avoiding premature prune in the solution

tree.

– A technique to propose a structural specification of a solution consisting of a tree of

modules and an organizational graph reflecting the relationships among modules.

Page 154: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Conclusion 121

– A discussion about the way to make design decisions related to contextual factors.

The most relevant aspect of those techniques is related to the observational nature of

the involved knowledge, instead of other conventional ways of making design decisions

based on non formal inspirational sources (experience, preferences, etc.). Therefore,

a procedural definition of knowledge creation in terms of human perception has been

proposed.

Within each class of design factors, criteria of precedence to determine which design

decisions have to be made before and which ones have to be subordinated, are dependent

of the optimization objectives and, therefore, of each case. E.g., the design decisions on

the structure (choice of one or the other requirements, structural tree deeper or with less

levels, etc.) are driven to optimization, which is dependent on each solution. This could

be the seed to help engineers on making design decisions by means of computerized and

even artificial intelligent frameworks, which is the future work we plan to develop.

This procedure was validated with a real use case. The chosen use case was the de-

sign and development of a computer vision based system for gait analysis to detect

the syndromes of frailty and senility. A functional specification was given following the

methodology proposed. We started by providing a gait definition for our problem estab-

lishing examples and counterexamples to delimit the model. Then we proceeded with the

functional specification of the problem establishing its objectives and the requirements

that cover them. We recursively defined the other levels of the specification providing a

structural tree. Finally the organizational graph was provided by adding relationships

between leaf nodes.

The resulting system, capable of automatically extracting kinematic features charac-

terising human gait, runs as follows: we first input RGB image sequences and various

classifiers to determine whether the output can be interpreted as normal or abnormal

gait. To meet our objective, we designed a setup to capture images of walking subjects

in a controlled environment. The camera was placed at right angles to the direction

of the gait and in front of it. We then carried out a series of experiments out of the

recorded dataset to validate our approach.

In the first experiment, we determined the accuracy of HSTOD algorithm for both

side and frontal view; in the second, the accuracy of the FASE algorithm; in our third

experiment, the validity of the classifiers we engaged in the process; finally, in the fourth

experiment, we determined the suitability of the real-time capabilities with the IMPReTi

method.

Page 155: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Conclusion 122

The first experiment, testing the HSTOD algorithm, show that, in side view, of the

two filters used, the first delivers less accuracy than the second filter but fewer unde-

tected cases in normal gait analysis. However, given that our objective is to characterise

abnormal gait, it is the second filter that best serves our purposes. In frontal view,

experiment showed that the approach that relies on zero crosses does not provide good

enough results in abnormal gait, this issues is solved with the approach based on local

maxima and minima.

The second experiment, testing the FASE algorithm, show that the algorithm is better

suited to extract head, neck and hip position points than feet and leg position points

due to its inability to distinguish each leg during swing phase.

The third experiment was carried out to test the validity of the classifiers, and show

that, for the task of classifying between normal and abnormal gait, the leg-angle time

series classifier with KNN offers the best classification results. The three-dimensional

feature consisting of cycle time, stride length and speed also offers quite an acceptable

degree of accuracy. The experiment with normal, diplegic, hemiplegic, neuropathic and

parkinsonian gaits shows that diplegic and parkinsonian are confused frequently between

each other. The same problem is present with hemiplegic and neuropathic, but in this

case, a hierarchical classifier is able to improve results up to 74% from the 71% of the

non-hierarchical one.

The fourth experiment determined that the system is robust against smaller input images

and so the IMPReTi optimization allows the system to work up to 100 FPS (with the

tested hardware) with a small reduction in accuracy.

Note finally that the HSTOD algorithm copes well with a delay of 3-4 frames after

applying the filters, and that the FASE algorithm can tackle frame by frame, that

along with the IMPReTi improvement, the system can provide measurements at video

frequency so long as the computation time is lower than frame time.

5.1. Limitations

Although we provided a methodology aimed at reducing the subjectivity of the solution

to a problem, the current state of its development requires a human engineer to make

decisions. The methodology provides tools for the engineer to make design decisions

limiting their arbitrariness, however, as the engineer is human, subjectivity of each

individual is still present. There is still work to do in automatizing the process.

Page 156: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Conclusion 123

Regarding the computer vision system, the current solution presents several limitations.

The main limitation is the environment, side view images need a large room to be able

to obtain a sufficient amount of steps. Frontal view requires less space but provides less

accuracy. The input sequence has to contain a static background with a static camera,

i.e., the subject’s movement is the only movement allowed in the recording. Also a

sufficient contrast between the subject and the background is required to perform the

background subtraction, especially in the area of feet and legs.

The study was perform with a rather small size dataset and the subjects were healthy

people feigning some pathological gait. Although the study was sufficient to assess the

suitability of the proposed system, a larger study with real patients is required to validate

the proposal in a real scenario.

5.2. Future work

The future work will focus in addressing some of the limitations previously mentioned.

The possibility of using a treadmill for recording the gait samples will be asses. This

could potentially reduce the size of the environment needed to record the samples.

Our future work will also revolve around improving the FASE algorithm to enable us to

overcome the problem of readily locating each leg and both arms.

The possibility of real-time processing opens up new possibilities like providing correc-

tions to the subject’s gait in real-time or balance assistance. Regarding the balance

assistance, we are contemplating the possibility of developing a control moment gyro-

scope (CMG) system to reduce the risks of balance loss situations. We based this in the

hypothesis that a group of CMG appropriately oriented could provide a force vector in

any direction to compensate a balance loss or, at least, reduce the falling speed.

Finally, the classification method using GEI is already been tested using Convolutional

Neural Network. Preliminary results obtained show an increase of around 10% in accu-

racy. These preliminary results are expected to improve in the future.

Page 157: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata
Page 158: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Appendix A

Implementation of Gait-A

The Gait-A prototype has been implemented for two platforms: PC and Android. The

implementation uses OpenCV as the core image processing library. The PC version was

used to perform all the test shown in in this thesis, the Android version was implemented

to test the performance in an embedded device such as a smartphone.

A.1. PC implementation

As previously mentioned, the PC version uses OpenCV 2.4.6 as the main image process-

ing library and it is programmed in Visual C++ 2010 and .NET Framework 4.0. The

implementation follows the module structure described in Chapter 4.

Figure A.1 shows a screen capture of the program running with a smartphone captured

sample. The circles highlight the following elements:

1. A control that allows to flip the sample, i.e., if the subject is walking from right

to left then this control will flip the sample so the subject walks from left to right

or vice-versa.

2. A control to indicate if the sample is frontal view.

3. A control to indicate the desired frame rate. This will activate the IMPReTi

optimization to try to adjust to the selected frame rate.

4. A control to indicate a region of interest, cutting the sample image.

5. The bounding box of the silhouette.

6. Different classifiers output indicating if the gait is normal or abnormal.

125

Page 159: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Implementation of Gait-A 126

1 2 3 4

5

7

8

9

6

1211

10

14

13

Figure A.1: Gait-A PC implementation GUI.

7. Time in milliseconds of each module.

8. Skeleton joints extracted by FASE module.

9. Lean angle in degrees.

10. Bounding box width time series.

11. Toe off detected.

12. Leg-angle in degrees.

13. Tracked heels and toes of each foot.

14. Heel strike detected.

A.2. Android implementation

The Android implementation is programmed in Java using the OpenCV NDK wrapper

provided by the OpenCV 2.4.6 release. The app was developed in a Samsung Galaxy

S3 with Android 4.3 Jelly Bean.

Page 160: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Implementation of Gait-A 127

1

2 3

4

5

6

Figure A.2: Gait-A Android implementation GUI.

Figure A.2 shows a screen capture of the app where the circles highlight the following

elements:

1. Heel gradient.

2. Bounding box of the silhouette.

3. Time in milliseconds of each module.

4. Skeleton joints extracted by FASE module.

5. Toe off detected.

6. Heel strike detected.

Page 161: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata
Page 162: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Bibliography

[1] Ken Kundert. A formal top-down design process for mixed-signal circuits. Ad-

vances in Analog Circuit Design, 2000.

[2] Ken Kundert. Principles of top-down mixed-signal design. The Designers Guide

Community, 2003.

[3] Valentino Crespi, Aram Galstyan, and Kristina Lerman. Top-down vs bottom-up

methodologies in multi-agent system design. Autonomous Robots, 24(3):303–313,

2008.

[4] Martti Mantyla. A modeling system for top-down design of assembled products.

IBM Journal of Research and Development, 34(5):636–659, 1990.

[5] Xiang Chen, Shuming Gao, Youdong Yang, and Shuting Zhang. Multi-level assem-

bly model for top-down design of mechanical products. Computer-Aided Design,

44(10):1033–1048, 2012.

[6] Douglas C Schmidt. Model-driven engineering. COMPUTER-IEEE COMPUTER

SOCIETY-, 39(2):25, 2006.

[7] Krishnakumar Balasubramanian, Aniruddha Gokhale, Gabor Karsai, Janos Szti-

panovits, and Sandeep Neema. Developing applications using model-driven design

environments. Computer, 39(2):33–40, 2006.

[8] Jon Whittle, John Hutchinson, and Mark Rouncefield. The state of practice in

model-driven engineering. IEEE software, 31(3):79–85, 2014.

[9] Gunter Mussbacher, Daniel Amyot, Ruth Breu, Jean-Michel Bruel, Betty HC

Cheng, Philippe Collet, Benoit Combemale, Robert B France, Rogardt Heldal,

James Hill, et al. The relevance of model-driven engineering thirty years from

now. In International Conference on Model Driven Engineering Languages and

Systems, pages 183–200. Springer, 2014.

[10] Dimitrios S Kolovos, Louis M Rose, Nicholas Matragkas, Richard F Paige, Es-

ther Guerra, Jesus Sanchez Cuadrado, Juan De Lara, Istvan Rath, Daniel Varro,

129

Page 163: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Bibliography 130

Massimo Tisi, et al. A research roadmap towards achieving scalability in model

driven engineering. In Proceedings of the Workshop on Scalability in Model Driven

Engineering, page 2. ACM, 2013.

[11] Junjie Huang and Heming Zhang. Multi-granularity modeling of virtual prototyp-

ing in collaborative product design. In Computer Supported Cooperative Work in

Design, 2008. CSCWD 2008. 12th International Conference on, pages 710–715.

IEEE, 2008.

[12] Chun Zhang, Huachao Mao, Gongzhuang Peng, and Heming Zhang. A novel bom

based multi-resolution model for federated simulation. In Computer Supported

Cooperative Work in Design (CSCWD), 2013 IEEE 17th International Conference

on, pages 178–183. IEEE, 2013.

[13] A Van Wijngaarden. Orthogonal design and description of a formal language.

Stichting Mathematisch Centrum. Rekenafdeling, (MR 76/65):1–25, 1965.

[14] Balanjaninath Edupuganty and Barrett R. Bryant. Two-level grammar as a func-

tional programming language. The Computer Journal, 32(1):36–44, 1989.

[15] Barrett R Bryant. Object-oriented natural language requirements specification. In

Computer Science Conference, 2000. ACSC 2000. 23rd Australasian, pages 24–30.

IEEE, 2000.

[16] Barrett R Bryant and Beum-Seuk Lee. Two-level grammar as an object-oriented

requirements specification language. In System Sciences, 2002. HICSS. Proceed-

ings of the 35th Annual Hawaii International Conference on, pages 3627–3636.

IEEE, 2002.

[17] Dines Bjørner and Cliff B Jones. The vienna development method: The meta-

language. Lecture notes in computer science, 61, 1978.

[18] EH Durr and N Plat. Vdm++ language reference manual. Afrodite (ESPRIT-III

project number 6500), Cap Volmac, 1995.

[19] Gino Brunetti and Borut Golob. A feature-based approach towards an integrated

product model including conceptual design information. Computer-Aided Design,

32(14):877–887, 2000.

[20] Feng Qi. A assembly modeling method based on assembly feature graph-tree

model. In Industrial Engineering and Engineering Management, 2009. IE&EM’09.

16th International Conference on, pages 1657–1662. IEEE, 2009.

Page 164: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Bibliography 131

[21] Otto Harald E. From concepts to consistent object specifications: translation of

a domain-oriented feature framework into practice. Journal of Computer Science

and Technology, 16:208–230, 2001.

[22] J Michael Spivey. The z notation: a reference manual. international series in

computer science, 1992.

[23] Roger Duke, Gordon Rose, and Graeme Smith. Object-z: A specification language

advocated for the description of standards. Computer Standards & Interfaces, 17

(5):511–533, 1995.

[24] Daniel Jackson. Alloy: a lightweight object modelling notation. ACM Transactions

on Software Engineering and Methodology (TOSEM), 11(2):256–290, 2002.

[25] Fernando Gomez, Carlos Segami, and Carl Delaune. A system for the semiau-

tomatic generation of er models from natural language specifications. Data &

Knowledge Engineering, 29(1):57–81, 1999.

[26] Deva Kumar Deeptimahanti and Muhammad Ali Babar. An automated tool for

generating uml models from natural language requirements. In Proceedings of the

2009 IEEE/ACM International Conference on Automated Software Engineering,

pages 680–682. IEEE Computer Society, 2009.

[27] MG Ilieva and Olga Ormandjieva. Automatic transition of natural language soft-

ware requirements specification into formal presentation. In Natural Language

Processing and Information Systems, pages 392–397. Springer, 2005.

[28] Farid Meziane, Nikos Athanasakis, and Sophia Ananiadou. Generating natural

language specifications from uml class diagrams. Requirements Engineering, 13

(1):1–18, 2008.

[29] Jean-Michel Bruel and Robert B France. Transforming uml models to formal

specifications. The Unified Modeling Language, UML, 1998.

[30] Derek Coleman, Patrick Arnold, Stephanie Bodoff, Chris Dollin, Helena Gilchrist,

Fiona Hayes, and Paul Jeremaes. Object-oriented development: the fusion method.

Prentice-Hall, Inc., 1994.

[31] Jacquelin Perry, Jon R Davids, et al. Gait analysis: normal and pathological

function. Journal of Pediatric Orthopaedics, 12(6):815, 1992.

[32] Tim Theologis and Julie Stebbins. The use of gait analysis in the treatment of

pediatric foot and ankle disorders. Foot and ankle clinics, 15(2):365–382, 2010.

Page 165: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Bibliography 132

[33] Florence I Mahoney. Functional evaluation: the barthel index. Maryland state

medical journal, 14:61–65, 1965.

[34] J Waltson and LP Fried. Frailty and the old man. Med Clin North Am, 83(5):

1173–1194, 1999.

[35] Linda P Fried, Catherine M Tangen, Jeremy Walston, Anne B Newman, Calvin

Hirsch, John Gottdiener, Teresa Seeman, Russell Tracy, Willem J Kop, Gregory

Burke, et al. Frailty in older adults evidence for a phenotype. The Journals

of Gerontology Series A: Biological Sciences and Medical Sciences, 56(3):M146–

M157, 2001.

[36] MB van Iersel. The interplay between gait and cognitive function in elderly people.

[Sl: sn], 2007.

[37] Jeffrey M Hausdorff, Galit Yogev, Shmuel Springer, Ely S Simon, and Nir Giladi.

Walking is more like catching than tapping: gait in the elderly as a complex

cognitive task. Experimental Brain Research, 164(4):541–548, 2005.

[38] Theo Mulder, Wiebren Zijlstra, and Alexander Geurts. Assessment of motor re-

covery and decline. Gait & posture, 16(2):198–210, 2002.

[39] LM Waite, DA Grayson, O Piguet, H Creasey, HP Bennett, and GA Broe. Gait

slowing as a predictor of incident dementia: 6-year longitudinal data from the

sydney older persons study. Journal of the neurological sciences, 229:89–93, 2005.

[40] R Camicioli, D Howieson, B Oken, G Sexton, and J Kaye. Motor slowing precedes

cognitive impairment in the oldest old. Neurology, 50(5):1496–1498, 1998.

[41] Joe Verghese, Richard B Lipton, Charles B Hall, Gail Kuslansky, Mindy J Katz,

and Herman Buschke. Abnormality of gait as a predictor of non-alzheimer’s de-

mentia. New England Journal of Medicine, 347(22):1761–1768, 2002.

[42] J Verghese, C Derby, MJ Katz, and RB Lipton. High risk neurological gait syn-

drome and vascular dementia. Journal of neural transmission, 114(10):1249–1252,

2007.

[43] N Scarmeas, M Albert, J Brandt, D Blacker, G Hadjigeorgiou, A Papadimitriou,

B Dubois, M Sarazin, D Wegesin, K Marder, et al. Motor signs predict poor

outcomes in alzheimer disease. Neurology, 64(10):1696–1703, 2005.

[44] Jennifer S Brach, Subashan Perera, Stephanie Studenski, and Anne B Newman.

The reliability and validity of measures of gait variability in community-dwelling

older adults. Archives of physical medicine and rehabilitation, 89(12):2293–2296,

2008.

Page 166: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Bibliography 133

[45] Jeffrey M Hausdorff. Gait variability: methods, modeling and meaning. Journal

of neuroengineering and rehabilitation, 2(1):1, 2005.

[46] Vincenzo Solfrizzi, Emanuele Scafato, Vincenza Frisardi, Davide Seripa, Gian-

carlo Logroscino, Stefania Maggi, Bruno P Imbimbo, Lucia Galluzzo, Marzia

Baldereschi, Claudia Gandin, et al. Frailty syndrome and the risk of vascular

dementia: the italian longitudinal study on aging. Alzheimer’s & Dementia, 9(2):

113–122, 2013.

[47] Gotaro Kojima, Yu Taniguchi, Steve Iliffe, and Kate Walters. Frailty as a predic-

tor of alzheimer disease, vascular dementia, and all dementia among community-

dwelling older people: A systematic review and meta-analysis. Journal of the

American Medical Directors Association, 2016.

[48] Yumi Iwashita, Koji Uchino, and Ryo Kurazume. Gait-based person identification

robust to changes in appearance. Sensors, 13(6):7884–7901, 2013.

[49] Aditi Roy, Shamik Sural, and Jayanta Mukherjee. Gait recognition using pose

kinematics and pose energy image. Signal Processing, 92(3):780–792, 2012.

[50] Yumi Iwashita, Adrian Stoica, and Ryo Kurazume. Gait identification using

shadow biometrics. Pattern Recognition Letters, 33(16):2148–2155, 2012.

[51] Robin M Queen, Benjamin B Haynes, W Mack Hardaker, and William E Garrett.

Forefoot loading during 3 athletic tasks. The American journal of sports medicine,

35(4):630–636, 2007.

[52] Shuai Zheng, Kaiqi Huang, Tieniu Tan, and Dacheng Tao. A cascade fusion scheme

for gait and cumulative foot pressure image recognition. Pattern Recognition, 45

(10):3603–3610, 2012.

[53] Ivan Gonzalez, Jesus Fontecha, Ramon Hervas, and Jose Bravo. An ambulatory

system for gait monitoring based on wireless sensorized insoles. Sensors, 15(7):

16589–16613, 2015.

[54] Michael W Whittle. Gait analysis: an introduction. Butterworth-Heinemann,

2014.

[55] Ju Man and Bir Bhanu. Individual recognition using gait energy image. IEEE

transactions on pattern analysis and machine intelligence, 28(2):316–322, 2006.

[56] Aditi Roy, Shamik Sural, and Jayanta Mukherjee. A hierarchical method com-

bining gait and phase of motion with spatiotemporal model for person re-

identification. Pattern Recognition Letters, 33(14):1891–1901, 2012.

Page 167: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Bibliography 134

[57] Robert T Collins, Ralph Gross, and Jianbo Shi. Silhouette-based human identi-

fication from body shape and gait. In Automatic Face and Gesture Recognition,

2002. Proceedings. Fifth IEEE International Conference on, pages 366–371. IEEE,

2002.

[58] Wei Zeng, Cong Wang, and Feifei Yang. Silhouette-based gait recognition via

deterministic learning. Pattern Recognition, 47(11):3568–3584, 2014.

[59] Adrian Leu, D Ristic-Durrant, and Axel Graser. A robust markerless vision-

based human gait analysis system. In Applied Computational Intelligence and

Informatics (SACI), 2011 6th IEEE International Symposium on, pages 415–420.

IEEE, 2011.

[60] Jang-Hee Yoo and Mark S Nixon. Automated markerless analysis of human gait

motion for recognition and classification. Etri Journal, 33(2):259–266, 2011.

[61] Xu Xu, Raymond W McGorry, Li-Shan Chou, Jia-hua Lin, and Chien-chi Chang.

Accuracy of the microsoft kinect for measuring gait parameters during treadmill

walking. Gait & posture, 2015.

[62] Sruti Das Choudhury and Tardi Tjahjadi. Silhouette-based gait recognition using

procrustes shape analysis and elliptic fourier descriptors. Pattern Recognition, 45

(9):3414–3426, 2012.

[63] David Cunado, Mark S Nixon, and John N Carter. Automatic extraction and

description of human gait models for recognition purposes. Computer Vision and

Image Understanding, 90(1):1–41, 2003.

[64] ChewYean Yam, Mark S Nixon, and John N Carter. Automated person recognition

by walking and running via model-based approaches. Pattern Recognition, 37(5):

1057–1072, 2004.

[65] Sruti Das Choudhury and Tardi Tjahjadi. Gait recognition based on shape and

motion analysis of silhouette contours. Computer Vision and Image Understand-

ing, 117(12):1770–1785, 2013.

[66] Dorthe Meyer, Josef Posl, and Heinrich Niemann. Gait classification with hmms

for trajectories of body parts extracted by mixture densities. In BMVC, pages

1–10. Citeseer, 1998.

[67] Christian Bauckhage, John K Tsotsos, and Frank E Bunn. Automatic detection

of abnormal gait. Image and Vision Computing, 27(1):108–115, 2009.

Page 168: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Bibliography 135

[68] Liang Wang. Abnormal walking gait analysis using silhouette-masked flow his-

tograms. In Pattern Recognition, 2006. ICPR 2006. 18th International Conference

on, volume 3, pages 473–476. IEEE, 2006.

[69] Taha Khan, Jerker Westin, and Mark Dougherty. Motion cue analysis for parkin-

sonian gait recognition. The open biomedical engineering journal, 7:1, 2013.

[70] Rumesh Krishnan, M Sivarathinabala, and S Abirami. Abnormal gait detection

using lean and ramp angle features. In Computational Intelligence in Data Min-

ingVolume 1, pages 325–335. Springer, 2016.

[71] Barry Boehm. Anchoring the software process. IEEE software, 13(4):73–82, 1996.

[72] Jo E Hannay, Dag IK Sjøberg, and Tore Dyba. A systematic review of theory use

in software engineering experiments. Software Engineering, IEEE Transactions

on, 33(2):87–107, 2007.

[73] Dawn G Gregg, Uday R Kulkarni, and Ajay S Vinze. Understanding the philo-

sophical underpinnings of software engineering research in information systems.

Information Systems Frontiers, 3(2):169–183, 2001.

[74] Dag IK Sjoberg, Tore Dyba, and Magne Jorgensen. The future of empirical meth-

ods in software engineering research. In 2007 Future of Software Engineering,

pages 358–378. IEEE Computer Society, 2007.

[75] Steve Easterbrook, Janice Singer, Margaret-Anne Storey, and Daniela Damian. Se-

lecting empirical methods for software engineering research. In Guide to advanced

empirical software engineering, pages 285–311. Springer, 2008.

[76] Klaas-Jan Stol and Brian Fitzgerald. Uncovering theories in software engineer-

ing. In Software Engineering (GTSE), 2013 2nd SEMAT Workshop on a General

Theory of, pages 5–14. IEEE, 2013.

[77] Roel Wieringa, Maya Daneva, and Nelly Condori-Fernandez. The structure of

design theories, and an analysis of their use in software engineering experiments.

In Empirical Software Engineering and Measurement (ESEM), 2011 International

Symposium on, pages 295–304. IEEE, 2011.

[78] Maurice Landry. A note on the concept of’problem’. Organization studies, 16(2):

315–343, 1995.

[79] Gene P Agre. The concept of problem. Educational Studies, 13(2):121–142, 1982.

[80] Alistair M Preston. The problem in and of management information systems.

Accounting, Management and Information Technologies, 1(1):43–69, 1991.

Page 169: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Bibliography 136

[81] Thomas S Kuhn. The structure of scientific revolutions. University of Chicago

press, 2012.

[82] Edsger W Dijkstra. Solution of a problem in concurrent programming control.

In Pioneers and Their Contributions to Software Engineering, pages 289–294.

Springer, 2001.

[83] Werner Heisenberg. Uber den anschaulichen inhalt der quantentheoretischen kine-

matik und mechanik. Zeitschrift fur Physik, 43(3-4):172–198, 1927.

[84] Mark S Nixon and John N Carter. Advances in automatic gait recognition. In

Automatic Face and Gesture Recognition, 2004. Proceedings. Sixth IEEE Interna-

tional Conference on, pages 139–144. IEEE, 2004.

[85] Mario Nieto-Hidalgo, Francisco Javier Ferrandez-Pastor, Rafael J Valdivieso-

Sarabia, Jeronimo Mora-Pascual, and Juan Manuel Garcıa-Chamizo. Vision based

extraction of dynamic gait features focused on feet movement using rgb camera.

In Ambient Intelligence for Health, pages 155–166. Springer, 2015.

[86] Claude Banville and Maurice Landry. Can the field of mis be disciplined? Com-

munications of the ACM, 32(1):48–60, 1989.

[87] Imed Bouchrika and Mark S Nixon. Model-based feature extraction for gait anal-

ysis and recognition. In Computer vision/computer graphics collaboration tech-

niques, pages 150–160. Springer, 2007.

[88] Zoran Zivkovic and Ferdinand van der Heijden. Efficient adaptive density estima-

tion per image pixel for the task of background subtraction. Pattern recognition

letters, 27(7):773–780, 2006.

[89] Faezeh Tafazzoli and Reza Safabakhsh. Model-based human gait recognition using

leg and arm movements. Engineering applications of artificial intelligence, 23(8):

1237–1246, 2010.

[90] Casia gait database. URL http://www.sinobiometrics.com.

[91] Lance Williams. Pyramidal parametrics. In ACM Siggraph Computer Graphics,

volume 17, pages 1–11. ACM, 1983.

[92] Tony Lindeberg. Scale-space theory: A basic tool for analyzing structures at

different scales. Journal of applied statistics, 21(1-2):225–270, 1994.

[93] Tony Lindeberg. Scale-space theory in computer vision, volume 256. Springer

Science & Business Media, 2013.

Page 170: Gait analysis using computer vision for the early ... · Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposal. ... Este trabajo trata

Bibliography 137

[94] William T Freeman and Edward H Adelson. The design and use of steerable

filters. IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE

INTELLIGENCE, 13(9):891, 1991.

[95] Edward H Adelson, Charles H Anderson, James R Bergen, Peter J Burt, and

Joan M Ogden. Pyramid methods in image processing. RCA engineer, 29(6):

33–41, 1984.

[96] Joan M Ogden, Edward H Adelson, James R Bergen, and Peter J Burt. Pyramid-

based computer graphics. RCA Engineer, 30(5):4–15, 1985.

[97] Congyong Su, Yueting Zhuang, Li Huang, and Fei Wu. Steerable pyramid-based

face hallucination. Pattern Recognition, 38(6):813–824, 2005.

[98] Magnus Strengert, Martin Kraus, and Thomas Ertl. Pyramid methods in gpu-

based image processing. Proceedings Vision, Modeling, and Visualization 2006,

pages 169–176, 2006.

[99] Sylvain Paris, Samuel W Hasinoff, and Jan Kautz. Local laplacian filters: edge-

aware image processing with a laplacian pyramid. Communications of the ACM,

58(3):81–91, 2015.

[100] Arvind R Yadav, RS Anand, ML Dewal, and Sangeeta Gupta. Gaussian image

pyramid based texture features for classification of microscopic images of hardwood

species. Optik-International Journal for Light and Electron Optics, 126(24):5570–

5578, 2015.

[101] Matthew Turk and Alex Pentland. Eigenfaces for recognition. Journal of cognitive

neuroscience, 3(1):71–86, 1991.