reporte de proyecto final · 2018. 3. 23. · 1 centro de ingenier ia y desarrollo industrial...
Post on 20-Sep-2020
3 Views
Preview:
TRANSCRIPT
1
CENTRO DE INGENIERIA Y DESARROLLO INDUSTRIAL
Desarrollo de un reconocedor de senalesmultiples utilizando mapas de distancia
REPORTE DE PROYECTOFINAL
En obtencion al tıtulo de:
ESPECIALIDAD EN TECNOLOGO EN MECATRONICA
PRESENTA:
Leisis Lopez Rodrıguez
ASESORES:
M.C. Alberto Vazquez Cervantes
Dr. Hugo Jimenez Hernandez
Dr. Jorge Alberto Soto Cajiga
SANTIAGO DE QUERETARO, QUERETARO,21 de agosto de 2017
Agradecimientos
A CONACYT por brindarme apoyo financiero para mi formación profesional.
A la comunidad de CIDESI, donde he aprendido que tipo de profesional quiero ser y
cuál no.
A los chicos del departamento de Visión por Computadora, que son excelentes personas
y profesionales. Especialmente quiero agradecer a mis asesores el M.C y T. Alberto
Vázquez Cervantes, al Dr. Hugo Jiménez Hernández y al Dr. Jorge Alberto Soto Cajiga
que me guiaron durante el desarrollo de este proyecto.
A todos mis buenos amigos de la especialidad, que me apoyaron en este año, con los
que he compartido momentos de alegría y largas horas de estudio. Realmente espero
que nuestra amistad perdure
A Mario Díaz Orgaz, Julio Díaz e Isis Martínez Díaz por acogerme como familia y sus
excelente consejos.
A mi familia por apoyarme siempre.
A la Dr.C.T Milagros Diez Rodríguez por impulsarme a mi superación profesional.
1
CENTRO DE INGENIERÍA Y DESARROLLO INDUSTRIAL
CENTRO DE INFORMACIÓN Y DOCUMENTACIÓN TECNOLÓGICA
AUTORIZACIÓN PUBLICACIÓN EN FORMATO ELECTRÓNICO DE TESIS
Fecha: _21/08/2017
El que suscribe Alumno (a) Leisis López Rodríguez …………………………………………………….
CURP LORL901128MNEPDS03……………………CVU……789443…………………… ORCID 0000-0001-8637-457 …………………………………………………………………………. Correo electrónico (opcional) leisislr@gmail.com ………………………………………………………………………………………… Egresado (a) de ……ESPECIALIDAD TÉCNOLOGO EN MECATRÓNICA……………………. ………………………………………………………………………………………… Autor de la Tesis titulada Desarrollo de un reconocedor de señales múltiples utilizando mapas de distancia.………………… Por medio del presente documento autorizo1 en forma gratuita y permanente a que la Tesis arriba citada sea divulgada y reproducida para publicarla mediante almacenamiento electrónico que permita el acceso al público a leerla y conocerla visualmente, así como a comunicarla públicamente en Página Web. La única contraprestación que condiciona la presente autorización es la del reconocimiento del nombre del autor en la publicación que se haga de la misma.
Atentamente
-----------------------------------------
Nombre y firma del tesista _________________________ 1 Ley Federal de Derechos de Autor Para obtener tu ORCID regístrate en: https://orcid.org/register
Av. Playa Pie de la Cuesta No. 702 Desarrollo San Pablo. C. P. 76125 Santiago de Querétaro, Qro., México México.
Tel. 01 (442) 211 98 40 E-mail: jvite@cidesi.edu.mx
Índice general
Resumen VI
Introducción 1
Justificación 2
Objetivos 3
Antecedentes 4
Metodología 6
Alcances 7
1. FUNDAMENTO TEÓRICO 8
1.1. Estado del arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.1. Brazalete de control gestual Myo . . . . . . . . . . . . . . . . . . . . 8
1.1.2. Etapas del reconocimiento de patrones . . . . . . . . . . . . . . . . . 9
1.1.3. Correlación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1.4. Definición de espacio métrico . . . . . . . . . . . . . . . . . . . . . . 10
1.1.5. Distancia de Hausdorff . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.1.6. Distribución normal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Resultados 16
1.2. Análisis mediante correlación . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.3. Análisis mediante la distancia euclidiana . . . . . . . . . . . . . . . . . . . . 19
I
1.4. Análisis mediante la distancia de Hausdorff . . . . . . . . . . . . . . . . . . . 24
Conclusiones 27
Recomendaciones 28
Bibliografía 29
Anexos 31
II
Índice de figuras
1. La imagen muestra la metodología seguida en el desarrollo del proyecto. . . . 6
1.1. Representación de los gestos detectados por Myo [1]. . . . . . . . . . . . . . 9
1.2. Triángulos para comparación [2]. . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3. (a) Distancia de a1 a cada uno de los bεB, se resalta la medida más corta.
(b)Distancia de a2 a cada uno de los bεB. (c) Distancia de a3 a cada uno de
los bεB. (d) Distancia Hausdorff directa [2]. . . . . . . . . . . . . . . . . . . 14
1.4. Distribución de probabilidad alrededor de la media [3]. . . . . . . . . . . . . 15
1.5. Representación gráfica de las señales EMG generadas por un gesto. . . . . . 17
1.6. Representación gráfica de la distancia euclidiana entre las señales de las
diferentes pruebas del gesto 1. . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.7. Representación gráfica de la desviación estándar de la distancia euclidina en
el gesto 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.8. Representación gráfica de la distancia euclidiana entre las señales de las
diferentes pruebas del gesto 2. . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.9. Representación gráfica de la desviación estándar de la distancia euclidina en
el gesto 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.10. Representación gráfica de la desviación estándar de la distancia euclidiana
entre señales del mismo gesto y gestos diferentes. . . . . . . . . . . . . . . . 23
1.11. Representación gráfica del histograma y la distribución normal estandarizada
para las pruebas del gesto 1. . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.12. Representación gráfica del histograma y la distribución normal estandarizada
para las pruebas del gesto 2. . . . . . . . . . . . . . . . . . . . . . . . . . . 25
III
1.13. Representación gráfica del histograma generado de la comparación de las
pruebas del gesto 1 con las pruebas del gesto 2. . . . . . . . . . . . . . . . . 26
1.14. Componentes del brazalete de control gestual MYO [1] . . . . . . . . . . . . 31
1.15. Señales de electromiografías medidas por MYO [1] . . . . . . . . . . . . . . . 31
IV
Índice de tablas
1.1. Valores de correlación obtenidos para las pruebas del gesto 1. . . . . . . . . . 19
1.2. Valores de correlación obtenidos para las pruebas del gesto 2. . . . . . . . . . 19
1.3. Valores de distancia euclidiana obtenidos para las pruebas del gesto 1. . . . . 20
1.4. Valores de distancia euclidiana obtenidos para las pruebas del gesto 2 . . . . 21
1.5. Valores de distancia Hausdorff obtenidos para las pruebas del gesto 1. . . . . 24
1.6. Valores de distancia Hausdorff obtenidos para las pruebas del gesto 2. . . . . 24
V
Resumen
En el presente documento se pretende clasificar múltiples señales de diferentes logitudes
utilizando diferentes métodos para el reconocimiento de patrones. Las señales fueron
obtenidas a partir de una pulsera de control gestual nombrada Myo, que utiliza ocho
sensores de electromiografía (EMG) para detectar las señales producidas en los músculos
del antebrazo cuando se ejecutan movimientos con la mano. Para clasificar las señales se
emplearon la correlación, que no generó buenos resultados producto al desfasaje de las
señales; la distancia euclidiana que permitió identificar semejanzas entre los datos
truncados; y la distancia de Hausdorff que permitió estudiar las señales a pesar de presentar
distintos números de muestras. Los algoritmos utilizados fueron implementados en el
software Matlab. La dispersión en los valores de distancia se analizaron mediante la
desviación estándar y la distribución normal estandarizada.
VI
Introducción.
En la actualidad, múltiples son las aplicaciones en las que se utilizan máquinas que realicen
una determinada tarea, a partir de la interpretación de los movimientos corporales
humanos. Para este propósito y con la ayuda de la técnica de la electromiografía (EMG), se
han desarrollado sensores capaces de seguir el movimiento en tiempo real, realizando la
clasificación de patrones que pueden ser entendidos por una máquina.
En el 2013 los laboratorios ThalmicLabs desarrollaron Myo, un brazalete de control gestual
que es capaz de manipular otros dispositivos mediante el control de los movimientos
corporales. Para ello utiliza sensores EMG que captan la actividad eléctrica producida por
los movimientos de los músculos. Este brazalete se colaca en el antebrazo del usuario y es
capaz de detectar un grupo determinado de gestos realizados con las manos. Cada gesto
está definido por ocho señales EMG generadas por los sensores que componen la pulsera.
Clasificar los gestos utilizando métodos de reconocimiento de patrones permitiría
desarrollar aplicaciones destinadas a el control de brazos robóticos [1], prótesis [4] y drones.
Existe diferentes enfoques que se utilizan en la etapa de aprendizaje del patrón. Dentro de
los más conocidos se incluyen la correlación, los mapas de distancia, medidas estadísticas y
las técnicas de inteligencia artificial.
En este trabajo se pretende reconocer los gestos detectados por la pulsera utilizando la
correlación y mapas de distancia para comparar las señales de electromiografía producidas
por los sensores de Myo. Los resultados serán analizados usando medidas estadísticas como
la desviación estándar y la distribución normal.
1
Problema y Justificación
Planteamiento del problema
El brazalete Myo es capaz de detectar cinco gestos realizados con las manos. Cada gesto
produce ocho señales de electromiografía de largas longitudes y diferentes dimensionalidad.
Justificación
La mayoría de los sistemas de reconocimiento de patrones requieren longitudes de datos
iguales o similares para un correcto aprendizaje del patrón. Esto implica limitar las muestras
a cierta resolución, produciéndose un truncamiento o completamiento de los datos.
Determinar la similitud entre los movimientos detectados por Myo, justifica el uso de métodos
de reconocimiento de patrones que permitan manipular grandes volúmenes de datos y señales
de distintas dimensiones.
2
Objetivos
Objetivo general.
Desarrollar un reconocedor de señales “múltiples” utilizando mapas de distancias.
Objetivos específicos.
1. Adquirir las señales generadas por la pulsera de control gestual Myo, mediante una
interfaz en Matlab.
2. Implementar un algoritmo de reconocimiento de patrones utilizando la distancia
euclidiana.
3. Implementar un algoritmo de reconocimiento de patrones utilizando distancia de
Hausdorff.
4. Analizar los resultados generados por cada uno de los algoritmos implementados.
3
Antecedentes
Varios investigadores han utilizado la distancia de Hausdorff para el reconocimiento de
patrones en múltiples aplicaciones.
(Karube, Rei y otros, 2012) utilizaron la distancia de Hausdorff, como criterio de evaluación
de la calidad del resultado quirúrgico, para la detección de asimetrías en la forma de la
naris después de la queiloplastia primaria de la hendidura unilateral del labio y paladar [5].
(Hanniel, I., Krishnamurthy, A. y McMains, S., 2012) emplearon la distancia de Hausdorff
directa para el cálculo de la distancia mínima entre superficies B-splines racionales no
uniformes (NURBS de sus siglas en inglés non-uniform rational B-spline) desarrollando un
algoritmo de iteraciones numéricas paralelas en una Unidad de procesamiento Gráfica
(GPU, de sus siglas en inglés) [6].
(Jian-ming, Wu, Zhongliang, Jing y otros, 2012) propusieron un novedoso método para el
cálculo de la distancia de Hausdorff que se emplea en el reconocimiento de patrones entre
imágenes que provienen de diferentes sensores e imágenes con gran fluctuación de escala de
grises. El algoritmo propuesto elimina la influencia del ruido y los puntos perdidos en las
imágenes procesadas, aumentando la robustez de la distancia de Hausdorff [7].
(Arguello, H., 2008) demostró la eficiencia de la distancia de Hausdorff al localizar el núcleo
de una huella dactilar que se encontraba en una base de datos que contenía 408 huellas
dactilares. Además, presentó la ventaja de utilizar la distancia de Hausdorff en imágenes
binarias, es decir, imágenes que tienen únicamente dos colores blanco y negro. También
4
mostró la sensibilidad a la rotación y traslación de los patrones que se desean comparar,
como una deficiencia de este método [2].
5
Metodología
Figura 1: La imagen muestra la metodología seguida en el desarrollo del proyecto.
6
Alcances y limitaciones
1. Clasificar dos movimientos detectados por la pulsera de control gestual.
2. Las señales utilizadas requieren una etapa de filtrado para obtener mejor información
por movimiento.
3. Por cada gestos se realizaron un máximo de doce pruebas y están limitadas a un solo
individuo.
4. Las distancias se calculan comparando las señales EMG de la primera prueba de un
gesto con el resto de su tipo y con las señales de las pruebas del otro gesto.
7
Capítulo 1
FUNDAMENTO TEÓRICO
La señales EMG captadas a partir del movimiento de los músculos del antebrazo, por la
pulsera Myo, varían en dimensionalidad. Para clasificar estos movimientos se pueden utilizar
diferentes métodos, como la correlación, la distancia euclidiana y la distancia de Hausdorff. La
correlación genera resultados entre cero y uno, mientras más cercanos a uno más semejantes
son las señales que se comparan. En el caso de las distancias, valores grandes significan
disimilitud entre las señales, valores pequeños lo contrario. Para determinar cuán grande son
estos valores de distancia, en este trabajo se utiliza la desviación estándar y la distribución
normal que permiten medir el nivel de dispersión de los datos.
1.1. Estado del arte
1.1.1. Brazalete de control gestual Myo
Myo es un dispositivo económico y fácil de usar. No presenta ningún tipo de mecanismo o
botones para su conexión con otros dispositivos, pues utiliza Bluetooth 4.0 [8]. Es capaz de
detectar cinco gestos de mano distintos (véase figura 1.1) para controlar tecnología
inalámbrica, como música, juegos y diapositivas de presentación, todo con el movimiento de
una muñeca. Myo está compuesta por ocho sensores EMG y una Unidad de Movimiento
Inercial (IMU1, por sus siglas en inglés) que le permiten captar las señales producidas en los
músculos del antebrazo y asignarlas a los movimientos de la mano. Para su correcto
funcionamiento se requiere del contacto directo con la piel. Una de sus principales ventajas
es que le permite al usuario trasmitir datos de forma inalámbrica y no limita a permanecer
a una determinada distancia [9], [10].1Sistemas que integran acelerómetros y giróscopos en una solo dispositivo. Compuesto por un acelerómetro
de 3 ejes, un giroscopio de 3 ejes, y un magnetómetro de 3 ejes.
8
Figura 1.1: Representación de los gestos detectados por Myo [1].
Myo proporciona dos tipos de datos [8]: los datos espaciales y los datos gestuales. Los datos
espaciales informan sobre la orientación y el movimiento del brazo del usuario. La
orientación define la dirección que señala Myo. Por otra parte el movimiento, o vector de
aceleración, representa la aceleración de la pulsera en cualquier momento dado.
Los datos gestuales indican el movimiento de la mano del usuario. Es un dato entregado
como una de las varias poses preestablecidas que representa una configuración específica de
la mano del usuario. Estos datos se obtiene mediante la aplicación MyoDataCapture
(desarrollada por los diseñadores de Myo). Los datos EMG presentan una frecuencia de
muestreo 200Hz, y los datos IMU de 50Hz. Esas frecuencias no se pueden cambiar [11].
1.1.2. Etapas del reconocimiento de patrones
El Reconocimiento de patrones es una ciencia que permite establecer propiedades (patrones)
en los objetos y en función de estos patrones, determinar la medida en que una forma difiere
de la otra.
De manera general, existen tres etapas fundamentales en un sistema de reconocimiento de
patrones:
1. Adquisición y preprocesamiento de los datos. En esta etapa se adquieren los datos que
describen al patrón que se desea clasificar, para ello se requiere de algún tipo de sensor
que permita captar los datos a clasificar. Posteriormente se continúa con la fase de
preprocesamiento de los datos donde se eliminan ruidos y se reduce la dimensionalidad
de los datos, lo que mejora substancialmente la ejecución del sistema.
2. Extracción de característica. En este proceso consiste en encontrar la manera óptima
9
de representar la información original que describe a cada uno de los patrones, es decir,
un vector de características que represente de la mejor forma posible al patrón original.
3. Reconocimiento. Consiste en asignar las diferentes partes del vector de características
a grupos o clases, basándose en las características extraídas (patrones).
1.1.3. Correlación
La correlación se utiliza para medir la similitud entre dos secuencias, frecuentemente usada
para encontrar características relevantes en una señal desconocida por medio de la
comparación con otra que sí se conoce. La correlación es una operación similar a la
convolución: se desplaza la segunda señal, se calcula la secuencia producto, y se determina
su suma [12].
La correlación cruzada de las secuencias x (n) e y (n), ambas reales y de energía finita, se
define como:
rxy (n) =∞∑
k=−∞
x (k) y (k − n), n = 0,±1,±2, ... (1.1)
o lo que es equivalente
rxy (n) =∞∑
k=−∞
x (k + n) y (k), n = 0,±1,±2, ... (1.2)
El índice n es el parámetro de desplazamiento o retardo en el tiempo, y los subíndices xy
indican cuáles señales han sido correlacionadas. De esta forma se tiene que:
ryx (n) =∞∑
k=−∞
y (k)x (k − n) =∞∑
k=−∞
y (k + n)x (k) = rxy (−n) (1.3)
1.1.4. Definición de espacio métrico
La distancia puede definirse como una función que a cada par de objetos distintos, x e y,
le asigna un número real positivo ("su separación"). Por tanto, un espacio métrico es un
conjunto no vacío, provisto de una función distancia que debe cumplir tres propiedades.
Definición:
Un par (X, d) donde X es un conjunto de elementos (puntos) y d es una función de X ×X
en R que cumple las siguientes propiedades, para todos x, y, z pertenecientes a X [13]:
10
1. d(x, y) ≥0, con igual sí y solo sí x = y.
2. d(x, y) = d(y, x) (simetría)
3. d(x, z ≤ d(x, y) + d(y, z) (desigualdad triangular)
La primera propiedad indica que la distancia entre un punto y si mismo es cero. La segunda
condición se conoce como propiedad de simetría y expresa que la distancia de x a y es el
igual a la distancia de y a x. La tercera y última condición plantea que para cada terna de
puntos x,y y z del plano, la distancia de x a z es menor o igual que la suma de las distancias
que unen x con y e y con z (siendo igual cuando ”y” pertenece al segmento que une x con z).
La distancia más común en Rn, entre dos puntos x = {x1, x2, .....xn} y y = {y1, y2, .....yn}, se
conoce como distancia usual o euclidiana y está definida por:
d(x, y) = ‖x− y‖ =
√(x1 − y1)2 + (x2 − y2)2+...+ (xn − yn)2 =
n∑i=1
√(xi − yi)2 (1.4)
Cuando los elementos que se comparan son semejantes, los valores de distancia son pequeños.
Mientras más cercana está de cero la distancia la similitud entre los elementos es mayor. Para
un número determinado de muestras de un patrón parecido, la dispersión entre las distancias
se agrupará formando una especie de círculo.
1.1.5. Distancia de Hausdorff
La distancia de Hausdorff se utiliza para determinar el grado de semejanza entre dos objetos.
Así, esta distancia calcula la medida en que cada punto de un conjunto de ”referencia” se
encuentra cerca de algún punto de un conjunto ”imagen” y viceversa [14].
Si A = {a1.....am} y B = {b1.....bn} son dos conjuntos de puntos, la distancia de Hausdorff
directa entre A y B se define como:
h (A,B) = maxaεA
(minbεB
(d(A,B)))
(1.5)
Siendo d (A,B), una medida de distancia que generalmente es la distancia euclidiana dada
por la ecuación 1.4. Las funciones max(.) y min(.) calculan los valores máximos y mínimos
respectivamente. Además, cada punto ai o bi puede estar formado por varias componentes de
forma tal que ai = (aix, aiy, ......., aiz) y bi = (bix, biy, ......, biz).
11
La ecuación 1.5 se calcula de la siguiente manera: Supóngase que el vector A tiene m elementos
y el vector B tiene n elementos. Se toma el primer elemento de A, (a1) y se calcula la distancia
euclidiana a cada uno de los elementos del vector B. De esta forma se obtienen n distancias
entre a1 y cada uno de los elementos del vector B. De estas n distancias se selecciona la menor
de ellas. Este proceso se repite en cada uno de los m elementos de A. Luego, de todas estas
distancias se selecciona la mayor.
Comúnmente, el conjunto A es un patrón que se desea encontrar dentro del objeto B, por
tanto, h (B,A) se conoce como la distancia de Hausdorff inversa y se calcula:
h (B,A) = maxbεB
(minaεA
(d (B,A)))
(1.6)
Es importante mencionar que la distancia de Hausdorff no es simétrica dado que h (A,B) 6=
h (B,A). Finalmente se determina como:
dH (A,B) = max (h (A,B) , h (B,A)) (1.7)
dH (A,B) = max(maxbεB
minaεA‖a− b‖ ,max
aεAminbεB‖a− b‖
)(1.8)
donde, ‖a− b‖ es la distancia euclidiana entre los puntos de A y los de B.
Si se definen las siguientes expresiones:
d (x) = minaεA‖a− x‖ (1.9)
r (x) = minbεB‖x− b‖ (1.10)
Las expresiones de las ecuaciones 1.9 y 1.10 son funciones de la variable x que calculan la
distancia euclidiana entre el valor de x y el punto más cercano ai del conjunto de puntos del
objeto A. Los términos d (x) y r (x) , son llamados superficies de Voronoi.
Si esta distancia presenta un valor alto quiere decir que los objetos que se comparan no
presentan gran similitud, en caso contrario los objetos son parecidos. La distancia de
Hausdorff solo será igual a cero si los elementos comparados son completamente iguales [2].
12
Ejemplo del cálculo de la distancia de Hausdorff directa
Supóngase que se desea comparar los triángulos de la figua 1.2, representados a través de
sus vértices, siendo A = (a1, a2, a3) y el triángulo B = (b1, b2, b3), donde cada una de las
características ai y bi tienen componentes en las coordenadas (x, y). Primeramente, se calculan
las distancias de cada ai a cada uno de los puntos del triángulo B, luego se indican las
distancias más cortas y se resalta la mayor de ellas o distancia Hausdorff directa h (A,B);
los resultados de este procedimiento se muestran en la figua 1.3.
Figura 1.2: Triángulos para comparación [2].
13
Figura 1.3: (a) Distancia de a1 a cada uno de los bεB, se resalta la medida más corta.
(b)Distancia de a2 a cada uno de los bεB. (c) Distancia de a3 a cada uno de los bεB. (d)
Distancia Hausdorff directa [2].
1.1.6. Distribución normal
Cuando los datos están distribuidos con frecuencias ascendentes-descendentes
aproximadamente simétricas, se le llama distribución normal o campana de Gauss, véase
figura 1.4. Muchos eventos reales y naturales tienen una distribución de frecuencias cuya
forma es muy parecida a la normal [3].
En una curva normal las tres medidas de tendencia central coinciden en el centro: la media,
la moda y la mediana.También es simétrica respecto de la media, que es el punto más
elevado de la curva y, por lo tanto,el área bajo la curva hacia la izquierda de la media es del
50% y el otro 50% se localiza a la derecha. Una característica muy importante de la curva
normal es que a partir de su eje de simetría se puede dividir como se muestra en la figura
1.4 de tal manera que el valor igual a cero de la gráfica corresponda siempre a la media
aritmética de la distribución normal de datos, y luego los datos nominales se pueden
14
transformar a uno equivalente de la escala de ±3. A estos datos comprendidos en la escala
de ±3 se les llama dato estándar. En esa escala estandarizada, el 1 representa una
desviación estándar σ, el 2 representa dos desviaciones estándares, y así sucesivamente.
Existe una relación del porcentaje de probabilidad o área bajo la curva normal a la
desviación estándar, es decir, el área bajo la curva para ±1σ tiene un porcentaje de
68.26 %, ±2σ = 95.46 % y ±3σ = 99.73 %.
Figura 1.4: Distribución de probabilidad alrededor de la media [3].
Los datos pertenecientes a una distribución normal se pueden estandarizar o normalizar
mediante la ecuación 1.11
z =x− xσ
(1.11)
Siendo z el dato estandarizado, x el valor nominal del dato a estandarizar, x es la media
aritmética del conjunto de datos y σ la desviación estándar.
15
Resultados
Como primera etapa del proceso de reconocimiento de patrones se necesitó la adquisición
y preprocesamiento de las señales generadas por los sensores EMG incluidos en la pulsera
Myo. Para ello se utilizó la aplicación MyoDataCapture, que se comunica con una interfaz
desarrollada en Matlab. Esta interfaz en Matlab permitió registrar y almacenar dichas señales.
En la figura 1.5 se muestran las representaciones gráficas de las 8 señales captadas por los
sensores EMG de Myo. Cada gráfica se corresponde con un sensor de EMG y esto a su vez
con la acción del músculo. Las variaciones observadas en las amplitudes de las señales son
producidas cuando se realiza un gesto con la mano. Mayores variaciones en la señal indican
mayor uso del músculo en el moviento que se está realizando, es decir, según el gesto con la
mano puede ser mayor o menor la actividad de un músculo. Es importante mencionar que
un solo gesto (dígase la flexión y extensión de los dedos) genera estas 8 señales, por lo que el
reconocimiento del gesto requiere del procesamiento de múltiples señales que serán variables
en el número de muestras. Los gesto que se van a clasificar son cuatro (véase figura 1.1).
Dado que algunos de estos gestos están muy relacionados serán agrupados en dos tipos de
gestos. El gesto 1 estará compuesto por la flexión y extensión de la muñeca y el gesto 2 es la
integración de la flexión y extensión de los dedos.
Otras consideraciones, se enumeran a continuación:
1. Se realizarán doce pruebas por gesto. Dígase una prueba, la medición de la repetición
del mismo gesto entre tres y cinco veces. Todas las pruebas fueron realizadas de forma
aleatoria, es decir, se realizaron mediciones (al azar) para el gesto 1 y para el gesto 2.
2. En las pruebas, la velocidad de las repeticiones de cada gesto y el punto de inicio son
variables.
16
3. Las señales por prueba, presenta diferentes tiempos de duración. Dado que se registraron
entre 1900 y 3000 muestras por señal. Las pruebas para un mismo gesto tienen un
tiempo de duración que oscila entre 9.5 y 15 segundos.
4. Las pruebas se realizaron el mismo día sin extraer la pulsera del brazo, por lo que las
señales captadas por los sensores EMG se corresponden siempre con el mismo músculo.
Figura 1.5: Representación gráfica de las señales EMG generadas por un gesto.
Para el procesamiento de los datos, las señales fueron representadas como matrices. Cada
matriz (constituye una prueba) está compuesta por 8 columnas que constituyen la
contribución por sensor EMG. Las filas representan las muestras de las señales en los
instántes de tiempo, véase las ecuaciones 1.12 y 1.13. Nótese que el número de muestras
para la prueba 1 es diferente del número de muestras en la prueba 2 (S1G1(tf ) 6= S1G2(tff )).
17
Para clasificar los gestos se utilizó la primera prueba de cada gesto como referencia,
comparando el resto de las pruebas (del mismo gesto) con esta, lo que permitió decidir
sobre el grado de similitud entre las señales. Para determinar la disimilitud entre los
movimientos se comparon pruebas de los 2 gestos entre sí.
Gesto1(prueba1) =
S1G1p1(0) S2G1p1(0) · · · S8G1p1(0)
S1G1p1(1) S2G1p1(1) · · · S8G1p1(1)...
......
......
......
...
S1G1p1(tf ) S2G1p1(tf ) · · · S8G1p1(tf )
(1.12)
Gesto1(prueba2) =
S1G1p2(0) S2G1p2(0) · · · S8G1p2(0)
S1G1p2(1) S2G1p2(1) · · · S8G1p2(1)...
......
......
......
...
S1G1p2(tf ) S2G1p2(tf ) · · · S8G1p2(tf )
(1.13)
Los gestos fueron clasificados utilizando diferentes métodos de reconocimiento de patrones
como, la correlación, la distancia euclidiana y la distancia de Hausdorff. Los resultados
obtenidos para cada caso, se comentan a continuación.
1.2. Análisis mediante correlación
Al comparar la prueba 1 de cada gesto con las restantes del mismo gesto utilizando
correlación, se obtuvieron los valores que se muestran en las tablas 1.1 y 1.2. Se utilizó la
función corr2 del Matlab para obtener dichos resultados.
La correlación genera valores entre cero y uno. Mientras más cerca están de cero estos
valores, las señales comparadas suelen ser más diferentes, lo contrario sí, los valores están
cercanos a uno.
Nótese que los valores de correlación obtenidos son muy cercanos a cero. Esto indica que no
existe semejanza entre los elementos comparados, a pesar de que se trata del mismo
movimiento. El resultado obtenido demuestra que para este caso, el método utilizado no es
18
suficiente para detectar semejanzas entre las señales que se estudian. La correlación es uno
de los primeros métodos empleado en el área de reconocimiento de patrones, sin embargo,
es sensible al desfasaje en el tiempo de las señales y requiere igual longitud en los datos, de
allí los resultados mostrados en las tablas.
Tabla 1.1: Valores de correlación obtenidos para las pruebas del gesto 1.
método/gesto1
pba1
vs
pba2
pba1
vs
pba3
pba1
vs
pba4
pba1
vs
pba5
pba 1
vs
pba 6
pba1
vs
pba7
pba1
vs
pba8
pba1
vs
pba9
pba1
vs
pba10
pba1
vs
pba11
pba1
vs
pba12
correlación -0.0091 -0.0030 -0.0041 0.0073 0.0117 5.3811e-05 -0.0053 0.0011 0.0153 0.0323 0.0221
Tabla 1.2: Valores de correlación obtenidos para las pruebas del gesto 2.
método/gesto2
pba1
vs
pba2
pba1
vs
pba3
pba1
vs
pba4
pba1
vs
pba5
pba 1
vs
pba 6
pba1
vs
pba7
pba1
vs
pba8
pba1
vs
pba9
pba1
vs
pba10
pba1
vs
pba11
pba1
vs
pba12
correlación 0.0148 -0.0030 -0.0131 -0.0138 -0.0305 5.3811e-05 0.0015 0.0011 0.0156 -0.0047 0.0015
1.3. Análisis mediante la distancia euclidiana
El segundo método implementado en Matlab para identificar semejanzas entre las señales, es
la distancia euclidiana (ecuación 1.4).
En la figura 1.6 se muestra gráficamente las distancias calculadas, producto de la comparación
de la prueba 1 (tomada como referencia ) con las restantes 11 pruebas . En el eje de las abcisas
están representadas las 8 señales de EMG, el eje de ordenadas indica la distancia euclidiana
por señal de las 11 comparaciones realizadas.
Nótese que las distancias calculadas se superponen, es decir, el valor de la comparación de
la prueba 1 con la prueba 2 es semejante al valor de la prueba 3, demostrando un patrón de
similitud entre las señales de las diferentes pruebas de un mismo gesto.
19
Figura 1.6: Representación gráfica de la distancia euclidiana entre las señales de las diferentes
pruebas del gesto 1.
En las tablas 1.3 se plasman los valores obtenidos para la distancia euclidiana representadas
en la figura 1.6.
Para estimar cuán grande son estos valores de distancia se calculó la desviación estándar,
véase figura 1.7. En la figura los puntos indican las desviaciones estándares para cada una
de las 8 señales de EMG, al comparar las 12 pruebas. Puede observarse que el mayor valor
de desviación es aproximadamente 1.153, demostrando poca variabilidad en las distancias
caculadas y por tanto cierto grado de similitud entre los gestos comparados.
Tabla 1.3: Valores de distancia euclidiana obtenidos para las pruebas del gesto 1.
método/gesto1
pba1
vs
pba2
pba1
vs
pba3
pba1
vs
pba4
pba1
vs
pba5
pba 1
vs
pba 6
pba1
vs
pba7
pba1
vs
pba8
pba1
vs
pba9
pba1
vs
pba10
pba1
vs
pba11
pba1
vs
pba12
distancia
euclidiana17.53 18.01 18.00 16.87 17.00 17.62 16.54 16.39 16.71 15.93 16.06
20
Figura 1.7: Representación gráfica de la desviación estándar de la distancia euclidina en el
gesto 1.
El análisis descrito anteriormente para el gesto 1 fue realizado para el gesto 2. En la tabla 1.4
se muestran los valores calculados de distancias euclidianas. Se representa la comparación
gráfica entre las distancias de las diferentes pruebas para el gesto 2 y su interpretación
mediante la desviación estándar en las figuras 1.8 y 1.9, respectivamente. Nótese que el mayor
valor de desviación es de 1.629, indicando que existe semejanza entre las señales comparadas.
Tabla 1.4: Valores de distancia euclidiana obtenidos para las pruebas del gesto 2
método/gesto2
pba1
vs
pba2
pba1
vs
pba3
pba1
vs
pba4
pba1
vs
pba5
pba 1
vs
pba 6
pba1
vs
pba7
pba1
vs
pba8
pba1
vs
pba9
pba1
vs
pba10
pba1
vs
pba11
pba1
vs
pba12
distancia
euclidiana16.28 16.96 16.36 16.79 16.52 16.35 16.13 17.13 17.98 18.76 16.99
21
Figura 1.8: Representación gráfica de la distancia euclidiana entre las señales de las diferentes
pruebas del gesto 2.
Figura 1.9: Representación gráfica de la desviación estándar de la distancia euclidina en el
gesto 2.
Si se observan las tablas 1.3 y 1.4, los valores de distancia obtenidos para ambos gestos son
22
semejantes. En este trabajo para verificar la disimilitud entre los movimientos se realizó una
comparación entre las pruebas de un gesto con las pruebas del otro gesto.
Al comparar ambos gestos se obtuvieron valores de distancia euclidiana superiores a los
alcanzados, cuando se comparan pruebas del mismo gesto. Para demostrar lo anteriormente
planteado se calculó la desviación estándar de las distancias. En la figura 1.10 se muestran
estos resultados. El eje de las abcisas corresponde con las ocho señales de los sensores EMG,
las ordenadas la desviación estándar de la distancia euclidiana.
En la figura se observan dos curvas de puntos. La curva de pequeños círculos indica la
desviación entre señales pertenecientes al mismo gesto, la curva de asterísco es producto de
la comparación de señales de gestos diferentes. En la gráfica se percibe, cómo las desviaciones
estándares para gestos diferentes son mayores que para el mismo movimiento, indicando un
grado de desigualdad en las señales comparadas.
Figura 1.10: Representación gráfica de la desviación estándar de la distancia euclidiana entre
señales del mismo gesto y gestos diferentes.
A partir del estudio realizado se puede plantear que la distancia euclidiana, es un método
efectivo y simple que permite detectar patrones entre señales. Sin embargo, su principal
desventaja es que requiere de iguales longitudes de datos, lo que conlleva a realizar un
truncamiento de las señales, provocando pérdida de información.
23
1.4. Análisis mediante la distancia de Hausdorff
Como se ha mencionado a lo largo del documento, las señales obtenidas por los sensores
EMG de la pulsera, presentan diferentes longitudes (número de muestras), por tal motivo
se realizó el análisis de las pruebas utilizando la distancia de Hausdorff, para determinar
el grado de semejanza entre los movimientos, sin recurrir al truncamiento de los datos. El
algoritmo utilizado se presenta en los anexos.
Las distancias de Hausdorff calculadas para cada movimiento (flexión y extensión de los dedos
y la muñeca) se muestran en las tablas 1.5 y 1.6, respectivamente. Puede observarse que los
valores de distancia obtenidos por este método son aproximadamente 10 veces mayores que
los calculados mediante la distancia euclidiana. Estos resultados indican que la distancia
calculada por ambos métodos para los mismos elementos, es totalmente diferente.
Los valores presentados en las tablas 1.5 y 1.6 fueron estudiados mediante la distribución
normal estandarizada. Para ello se utilizaron las funciones ′hist′ y ′normpdf ′ del Matlab.
Tabla 1.5: Valores de distancia Hausdorff obtenidos para las pruebas del gesto 1.
método/gesto1
pba1
vs
pba2
pba1
vs
pba3
pba1
vs
pba4
pba1
vs
pba5
pba 1
vs
pba 6
pba1
vs
pba7
pba1
vs
pba8
pba1
vs
pba9
pba1
vs
pba10
pba1
vs
pba11
pba1
vs
pba12
distancia
Hausdorff100.90 113.00 116.57 83.97 84.83 147.46 105.22 86.26 98.48 123.44 98.41
Tabla 1.6: Valores de distancia Hausdorff obtenidos para las pruebas del gesto 2.
método/gesto2
pba1
vs
pba2
pba1
vs
pba3
pba1
vs
pba4
pba1
vs
pba5
pba 1
vs
pba 6
pba1
vs
pba7
pba1
vs
pba8
pba1
vs
pba9
pba1
vs
pba10
pba1
vs
pba11
pba1
vs
pba12
distancia
Hausdorff121.11 128.48 109.56 132.08 132.47 126.82 128.33 120.36 138.31 123.32 116.15
En las figuras 1.11 y 1.12, se muestra como los datos de las pruebas del gesto 1 y el gesto 2
siguen una distribución normal estandarizada. También están respresentados los histogramas.
24
Figura 1.11: Representación gráfica del histograma y la distribución normal estandarizada
para las pruebas del gesto 1.
Figura 1.12: Representación gráfica del histograma y la distribución normal estandarizada
para las pruebas del gesto 2.
En ambas figuras puede observarse como la mayor frecuencia de los datos se encuentran
alrededor de la media y en su totalidad dentro de las dos desviaciones estándar (95 % de los
datos), indicando que se trata del mismo gesto. En el caso del gesto 1 la desviación estándar
25
calculada es de σ = ±19.083 con una media X = 105.32 y en el gesto 2 es de σ = ±8.15 y
X = 105.32, respectivamente.
Para demostrar la efectividad del método se efectuó la comparación entre los dos gestos.
Las distancias obtenidas se normalizaron y se representaron mediante un histograma, como
se muestra en la figura 1.13. Puede percibirse como los datos se agruparon en dos grupos
de barras, las más cercanas al origen indican que son más parecidas al patrón (gesto 1) de
referencia, las más alejadas se parecen menos, por lo que se trata de otro patrón (gesto 2)
Figura 1.13: Representación gráfica del histograma generado de la comparación de las pruebas
del gesto 1 con las pruebas del gesto 2.
Los resultados expuestos muestran la capacidad de la distancia de Hausdorff para encontrar
semejanzas y desemejanzas entre señales que no tienen igual número de muestras. Es un
método fácil de implementar, sin embargo, dependiendo del dispositivo, puede demandar
cierta potencia de cómputo cuando las señales que se comparan son muy extensas.
26
Conclusiones
A partir del análisis realizado en este documento, se puede concluir que:
1. Se logró clasificar los movimientos a partir del reconocimiento de patrones en señales
múltiples y de diferentes dimensionalidad.
2. El algoritmo implementado es robusto a la variación de la velocidad y el punto de
partida del gesto.
3. La correlación entre señales desfasadas en el tiempo, no permite detectar patrones entre
las mismas.
4. La distancia euclidiana posibilita la detección de semejanzas entre señales de la misma
dimensionalidad.
5. La distancia de Hausdorff genera una medida de similitud o disimilitud entre dos
elementos de distintas longitudes.
6. La distribución normal estandarizada genera una medida de dispersión de los datos,
que facilita, en el área del reconocimiento de patrones, decidir acerca de la igualdad y
desigualdad entre señales.
27
Recomendaciones y trabajos futuros
1. Diseñar una etapa de filtrado para mejorar las señales obtenidas mediante la pulsera
Myo.
2. Realizar un mayor número de experimentos con la pulsera y diferentes individuos.
3. Calcular todas las distancias de Hausdorff posibles entre las señales EMG de todos las
pruebas de un gesto.
28
Bibliografía
[1] P. U. Murillo and R. J. Moreno, “Individual robotic arms manipulator control employing
electromyographic signals acquired by myo armbands,” International Journal of Applied
Engineering Research, vol. 11, no. 23, pp. 11241–11249, 2016.
[2] H. Arguello, “Comparación de huellas dactilares usando la distancia hausdorff,” Sistemas,
Cibernética e Informática, ISSN: 1690-8627, vol. 5, 2008.
[3] D. AGUILAR, “Distribución normal, prueba de normalidad y transformación de datos,”
México, México.
[4] A. Martínez-Miguel, S. Vargas-Pérez, E. Gómez-Merlín, M. Arias-Montiel, E. Lugo-
González, and R. Miranda-Luna, “Control de movimiento de una mano robótica mediante
señales electromiográficas.,”
[5] R. Karube, H. Sasaki, S. Togashi, T. Yanagawa, S. Nakane, N. Ishibashi, K. Yamagata,
K. Onizawa, K. Adachi, K. Tabuchi, et al., “A novel method for evaluating postsurgical
results of unilateral cleft lip and palate with the use of hausdorff distance: presurgical
orthopedic treatment improves nasal symmetry after primary cheiloplasty,” Oral surgery,
oral medicine, oral pathology and oral radiology, vol. 114, no. 6, pp. 704–711, 2012.
[6] I. Hanniel, A. Krishnamurthy, and S. McMains, “Computing the hausdorff distance
between nurbs surfaces using numerical iteration on the gpu,” Graphical Models, vol. 74,
no. 4, pp. 255–264, 2012.
[7] J.-m. Wu, Z. Jing, Z. Wu, Y. Feng, and G. Xiao, “Study on an improved hausdorff
distance for multi-sensor image matching,” Communications in Nonlinear Science and
Numerical Simulation, vol. 17, no. 2, pp. 513–520, 2012.
29
[8] “Thalmic labstm, “myo sdk manual: Getting started”..”
[9] D. Camacho, M. Erazo, E. Mera, and A. Velasco, “Control de un brazo robótico lynx
al5d empleando electromiografía a través de la tecnología myo armband,” 2015.
[10] O. Erazo and R. Pico, “Interfaces de usuario basadas en gestos manuales sin contacto
para la sala de clases: una revisión bibliográfica,” Enfoque UTE, vol. 5, no. 4, pp. pp–34,
2014.
[11] “Myocraft: Logging imu and raw emg data..”
[12] J. P. A. Moya and J. Pablo, “Procesamiento digital de señales,” 2011.
[13] N. Reyes, “Índices dinámicos para espacios métricos de alta dimensionalidad,”
Universidad Nacional de San Luis, Argentina, 2002.
[14] K. G. A. y. R. W. J. Huttenlocher, Daniel P., “Comparing images using the hausdorff
distance simulation,” IEEE Transactions on pattern analysis and machine intelligence,
vol. 15, 1993.
30
Anexos
Sobre Myo
En la Figura se muestran los componentes del brazalete de control gestual MYO
Figura 1.14: Componentes del brazalete de control gestual MYO [1]
La Figura presenta las señales de EMG medidas por cada uno de los ocho sensores que
componen a MYO.
Figura 1.15: Señales de electromiografías medidas por MYO [1]
31
Código del algoritmo diseñado en Matlab
f unc t i on [ hd ,D] = Hausdor f fDi s t (P,Q, lmf , dv )
% Ca l cu l a t e s the Hausdor f f Distance between P and Q
% hd = Hausdor f fDi s t (P,Q)
% [ hd D] = Hausdor f fDi s t (P,Q)
% [ hd D] = Hausdor f fDi s t ( . . . , lmf )
% [ hd D] = Hausdor f fDi s t ( . . . , [ ] , ’ v i s u a l i z e ’ )
%
% Ca l cu l a t e s the Hausdor f f Distance , hd , between two s e t s o f po ints ,
%P and Q (which could be two t r a j e c t o r i e s ) . Set s P and Q must be
% matr i ce s with an equal number o f columns ( dimensions ) ,
% though not n e c e s s a r i l y an equal number o f rows ( ob s e rva t i on s ) .
% The D i r e c t i o na l Hausdor f f Distance (dhd) i s de f i ned as :
% dhd(P,Q) = max p c P [ min q c Q [ | | p−q | | ] ] .
% I n t u i t i v e l y dhd f i n d s the po int p from the
% se t P that i s f a r t h e s t from any po int in Q and
%measures the d i s t anc e from p to i t s nea r e s t ne ighbor in Q.
% The Hausdor f f Distance i s de f i ned as max{dhd(P,Q) , dhd (Q,P)}
% D i s the matrix o f d i s t an c e s where D(n ,m) i s the d i s t ance
% of the nth po int in P from the mth point in Q.
% lmf : I f the s i z e o f P and Q are very la rge , the matrix o f d i s t an c e s
% between them , D, w i l l be too l a r g e to s t o r e in memory . Therefore ,
% the func t i on w i l l check your a v a i l a b l e memory and not bu i ld the D matrix
% i f i t w i l l exceed your a v a i l a b l e memory and in s t ead use a f a s t e r
% ve r s i on o f the code .
% I f t h i s occurs , D w i l l be returned as the empty matrix .
% You may f o r c e the code to f o rgo the D matrix
32
% even f o r smal l P and Q by c a l l i n g
% the func t i on with the op t i ona l 3 rd lmf va r i ab l e s e t to 1 .
%You may a l s o f o r c e the func t i on
% to return the D matrix by s e t t i n g lmf to 0 .
% lmf s e t to [ ] a l l ows the code to automat i ca l l y choose which
%mode i s appropr ia t e .
sP = s i z e (P) ; sQ = s i z e (Q) ;
i f ~(sP(2)==sQ(2 ) )
e r r o r ( ’ Inputs P and Q must have the same number o f columns ’ )
end
i f narg in > 2 && ~isempty ( lmf )
% the user has s p e c i f i e d the l a r g e matrix f l a g one way or the other
largeMat = lmf ;
i f ~( largeMat==1 | | largeMat==0)
e r r o r ( ’ 3 rd ’ ’ lmf ’ ’ input must be 0 or 1 ’ )
end
e l s e
largeMat = 0 ; % assume t h i s i s a smal l matrix un t i l we check
% I f the r e s u l t i s too la rge , we w i l l not be ab le to bu i ld the matrix
% o f d i f f e r e n c e s , we must loop .
%i f sP (1)∗ sQ(1) > 2e6
% ok , the r e s u l t i n g matrix or P−to−Q d i s t an c e s w i l l be r e a l l y big ,
%l e t s check i f our memory can handle the space we ’ l l need
memSpecs = memory ; % load in memory s p e c i f i c a t i o n s
varSpecs = whos ( ’P’ , ’Q’ ) ; % load in va r i a b l e memory specs
s f = 10 ;
% bu i ld in a s a f t e y f a c t o r o f 10 so we don ’ t run
33
% out o f memory f o r sure
% i f prod ( [ varSpecs . bytes ] . / [ sP (2 ) sQ(2) ]) >memSpecs . MaxPossibleArrayBytes / s f
largeMat = 1 ;
% we have now concluded t h i s i s a l a r g e matrix s i t u a t i o n
end
end
end
i f largeMat
%we cannot save a l l d i s tance s , so loop through every po int
% sav ing only those that are the best va lue so f a r
maxP = 0 ; % i n i t i a l i z e our max value
% loop through a l l po in t s in P look ing f o r maxes
f o r p = 1 : sP (1)
% c a l c u l a t e the minimum d i s t ance from po in t s in P to Q
minP = min(sum( bsxfun (@minus ,P(p , : ) ,Q) .^2 , 2 ) ) ;
i f minP>maxP
%we ’ ve d i s cove r ed a new l a r g e s t minimum f o r P
maxP = minP ;
end
end
% repeat f o r po in t s in Q
maxQ = 0 ;
f o r q = 1 : sQ(1)
minQ = min(sum( bsxfun (@minus ,Q(q , : ) , P) .^2 , 2 ) ) ;
i f minQ>maxQ
maxQ = minQ ;
end
end
34
hd = sq r t (max ( [maxP maxQ ] ) ) ;
D = [ ] ;
e l s e
% we have enough memory to bu i ld the d i s t anc e matrix ,
% so use t h i s code
% obta in a l l p o s s i b l e po int comparisons
iP = repmat ( 1 : sP ( 1 ) , [ 1 , sQ ( 1 ) ] ) ’ ;
iQ = repmat ( 1 : sQ ( 1 ) , [ sP ( 1 ) , 1 ] ) ;
combos = [ iP , iQ ( : ) ] ;
% get d i s t an c e s f o r each po int combination
cP=P( combos ( : , 1 ) , : ) ; cQ=Q( combos ( : , 2 ) , : ) ;
d i s t s = sq r t (sum( ( cP − cQ ) . ^ 2 , 2 ) ) ;
%Now c r ea t e a matrix o f d i s t an c e s where D(n ,m) i s the d i s t anc e o f the nth
% point in P from the mth po int in Q. The maximum d i s t ance from any po int
% in Q from P w i l l be max(D, [ ] , 1 ) and the maximum d i s t anc e from any po int
% in P from Q w i l l be max(D, [ ] , 2 ) ;
D = reshape ( d i s t s , sP ( 1 ) , [ ] ) ;
% Obtain the value o f the point , p , in P with the
% l a r g e s t minimum d i s t anc e to any po int in Q.
vp = max(min (D, [ ] , 2 ) ) ;
% Obtain the value o f the point , q , in Q with the
% l a r g e t s minimum d i s t anc e to any po int in P.
vq = max(min (D, [ ] , 1 ) ) ;
hd = max(vp , vq ) ;
end
35
top related