• No se han encontrado resultados

Seguimiento confiable de objetos basado en métodos de correspondenciaReliable object tracking based on matching methods

N/A
N/A
Protected

Academic year: 2020

Share "Seguimiento confiable de objetos basado en métodos de correspondenciaReliable object tracking based on matching methods"

Copied!
142
0
0

Texto completo

(1)

Superior de Ensenada, Baja California

MR

Programa de Posgrado en Ciencias

en Ciencias de la Computaci ´

on

Seguimiento confiable de objetos basado en m ´etodos de

correspondencia

Tesis

para cubrir parcialmente los requisitos necesarios para obtener el grado de Doctor en Ciencias

Presenta:

Daniel Miramontes Jaramillo

(2)

Daniel Miramontes Jaramillo

y aprobada por el siguiente Comit ´e

Dr. Vitaly Kober

Director del Comit ´e

Dr. Hugo Homero Hidalgo Silva

Dr. Josu ´e ´Alvarez Borrego

Dr. V´ıctor Hugo D´ıaz Ram´ırez

Dr. Jes ´us Favela Vara

Coordinador del Programa de Posgrado en Ciencias de la Computaci ´on

Dr. Rufina Hern ´andez Mart´ınez

Director de Estudios de Posgrado

Daniel Miramontes Jaramillo © 2016

(3)

Resumen de la tesis que presenta Daniel Miramontes Jaramillo como requisito parcial para la obtenci ´on del grado de Doctor en Ciencias en Ciencias de la Computaci ´on.

Seguimiento confiable de objetos basado en m ´etodos de correspondencia

Resumen aprobado por:

Dr. Vitaly Kober

El sentido de la vista es una de las caracter´ısticas m ´as preciadas por el ser humano, pues es mediante ´esta que podemos percibir el mundo a nuestro alrededor. Es por ello que la ciencia ha investigado desde hace varios siglos los mecanismos de visi ´on. Recien-temente, con el desarrollo de nuevas tecnolog´ıas se ha logrado avanzar en la ciencia al dotar a robots de visi ´on y aumentar nuestra propia visi ´on con nuevas capacidades.

El problema de seguimiento se define como la localizaci ´on persistente de un objeto a lo largo de una secuencia de video, a cada imagen en la secuencia se le llama cuadro, y se dice que la secuencia es en tiempo real si se presentan 30 cuadros por segundo (FPS). Un algoritmo de seguimiento devuelve la trayectoria del objeto a trav ´es de la secuencia.

En el presente trabajo de investigaci ´on se estudiaron diversos algoritmos de segui-miento, y se realiz ´o un estudio comparativo de ´estos contra un algoritmo propuesto para medir la viabilidad de este ´ultimo. Todo algoritmo de seguimiento cuenta con tres ele-mentos principales: 1) el modelo del objeto, es una interpretaci ´on matem ´atica del objeto, cuantitativa y est ´andar, que pueda ser reproducida consistentemente en cualquier tipo de escena donde se encuentre el objeto, en nuestro caso utilizamos histogramas de gradien-te orientado como descriptor del objeto; 2) el degradien-tector, o m ´odulo de correspondencia, el cual se encarga de buscar al modelo del objeto en el ´area del cuadro a procesar, en este trabajo se utiliza un procesamiento iterativo de actualizaci ´on de histogramas, extrayendo descriptores de todo el cuadro para finalmente realizar una comparaci ´on del modelo del objeto con los descriptores de la escena para determinar la posici ´on del objeto en cada cuadro; 3) el modelo de movimiento, el cual trata de predecir la posici ´on del objeto en el siguiente cuadro a procesar, en este trabajo se usa un modelo de series de tiempo para ajustar el movimiento del objeto a una par ´abola mediante regresi ´on cuadr ´atica de m´ınimos cuadrados.

El algoritmo propuesto se implement ´o en una tarjeta gr ´afica para el c ´omputo concu-rrente de datos en cada uno de sus m ´odulos, procesando las secuencias de video en tiempo real. Las secuencias de video se adquieren mediante la c ´amara Kinect de Micro-soft, la cual proporciona im ´agenes de profundidad utilizadas para la segmentaci ´on del objeto y manejo de oclusi ´on.

(4)

Abstract of the thesis presented by Daniel Miramontes Jaramillo as a partial requirement to obtain the Doctor of Science degree in Computer Sciences.

Reliable object tracking based on matching methods

Abstract approved by:

Dr. Vitaly Kober

Visual perception is one of the most appreciated features of the human, because it helps us to perceive and interpret the surrounding environment by processing information contained in visible light. Few centuries ago, the science has understood the mechanisms of our vision. Recently, with the development of new technologies, the science has achie-ved significant advances in robot vision and other vision-based technical systems.

The tracking problem is to persistently locate an object of interest in a video sequence. Each image in the sequence is known as frame, the processing carries out in real time if the rate is 30 frames per second (FPS). A tracking algorithm returns the object trajectory by means of the video sequence.

In this work, we propose a new tracking algorithm and perform a comparison study of the proposed algorithm with the State-Of-The-Art tracking algorithms to measure the viability of our proposal. Basically, tracking algorithms have three elements: 1) the mathe-matical model of object and scene signals; the model can be consistently reproduced in any scene where the object is present, for this purpose, in this work we use the histogram of oriented gradients as the object descriptor; 2) the detector (matching module) is the search mechanism of the object in any frame to be processed; in this work we use an ite-rative histogram update process, computing descriptors from frames to compare against the object descriptors in order to locate the object position in each frame; 3) the motion model, this module predicts the object position in the next frame to be processed; in this work we use a time series model to fit the object movement to a parabola by the least squares quadratic regression.

The proposed algorithm is implemented in a graphics card for the concurrent proces-sing of data at each module of the algorithm to achieve real time procesproces-sing. The video sequences are acquired with the Microsoft Kinect camera; this camera provides depth images used for image segmentation and occlusion management.

(5)

Dedicatoria

A Pamela, mi soporte, gu´ıa

(6)

Agradecimientos

Quisiera expresar mi sincero agradecimiento:

A Pamela por su amor, soporte, paciencia y tolerancia a ´un en los momentos m ´as

dif´ıciles, no lo hubiera logrado sin ti.

A mi familia por su apoyo incondicional y paciencia, a ´un y cuando me vieran estresado

y me dijeran: ”...te ves estresado, ya deja de estudiar mijo...”.

Al Dr. Vitaly Kober por todas sus ense ˜nanzas, consejos y paciencia cuando batallaba

en entender lo que me quer´ıa explicar.

A los miembros de mi comit ´e de tesis: Dr. Hugo Homero Hidalgo Silva, Dr. Josu ´e ´

Alvarez Borrego y Dr. V´ıctor Hugo D´ıaz Ram´ırez, por sus comentarios y aportes a mi

trabajo.

A todos los doctores, maestros, y dem ´as personal del Departamento de Ciencias de

la Computaci ´on por todas las lecciones que me ense ˜naron dentro y fuera del aula.

A mis compa ˜neros, por hacer amena mi estad´ıa en estos a ˜nos de estudio, por

com-partir sus experiencias y complementar el conocimiento. Gracias a todos, Valeria,

Ju-lia, Adriana, Am ´erica, Mario (el Krus), Ferm´ın, Vanesa, Hugo, Armando, Franceli y a los

dem ´as que estuvieron a la hora de la comida, gracias sodomitas.

Al Centro de Investigaci ´on Cient´ıfica y de Educaci ´on Superior de Ensenada por darme

la oportunidad de realizar mis estudios de posgrado.

Al Consejo Nacional de Ciencia y Tecnolog´ıa (CONACyT) por brindarme el apoyo

(7)

Tabla de contenido

P ´agina

Resumen en espa ˜nol ii

Resumen en ingl ´es iii

Dedicatoria iv

Agradecimientos v

Lista de figuras viii

Lista de tablas xiv

1. Introducci ´on 1

1.1. Definici ´on del problema . . . 2

1.2. Objetivos de la investigaci ´on . . . 3

1.2.1. Objetivo general . . . 3

1.2.2. Objetivos espec´ıficos . . . 3

1.3. Limitaciones y suposiciones . . . 3

1.4. Trabajo previo . . . 4

1.5. Organizaci ´on de la tesis . . . 6

2. Fundamentos 8 2.1. Fundamentos matem ´aticos . . . 8

2.1.1. Imagen . . . 8

2.1.2. Transformada de Fourier . . . 10

2.1.3. Convoluci ´on . . . 13

2.1.3.1. Teorema de convoluci ´on . . . 16

2.1.4. Correlaci ´on . . . 16

2.1.4.1. Teorema de correlaci ´on . . . 17

2.1.4.2. Teorema de autocorrelaci ´on . . . 18

2.1.5. Histograma . . . 18

2.1.6. Gradiente . . . 19

2.1.7. Transformaciones geom ´etricas . . . 23

2.1.8. Ruido en im ´agenes . . . 26

2.1.9. Imagen integral . . . 28

2.2. Fundamentos de algoritmos . . . 28

2.2.1. An ´alisis de algoritmos . . . 29

2.2.2. An ´alisis de algoritmos paralelos . . . 31

2.2.3. Ejemplo de algoritmo . . . 34

2.3. Fundamentos tecnol ´ogicos . . . 35

2.3.1. GPU . . . 35

2.3.2. C ´amaras de profundidad: Microsoft Kinect . . . 41

3. Algoritmos de correspondencia 46 3.1. Transformada de caracter´ısticas invariante a escala (SIFT) . . . 46

3.2. Caracter´ısticas robustas aceleradas (SURF) . . . 50

(8)

4. Algoritmos de seguimiento 56

4.1. Aprendizaje de m ´ultiples instancias en l´ınea (OMIL) . . . 56

4.2. Seguimiento-Aprendizaje-Detecci ´on (TLD) . . . 58

4.3. Seguimiento por RGBD, oclusi ´on y flujo ´optico (RGBDOcc+OF) . . . . 62

4.4. Seguimiento por flujo ´optico conciente de oclusi ´on (OAPF) . . . 66

5. Evaluaci ´on 70 5.1. Evaluaci ´on del detector . . . 71

5.1.1. Base de datos . . . 71

5.1.2. Criterios de evaluaci ´on . . . 73

5.2. Evaluaci ´on del seguidor . . . 74

5.2.1. Punto de referencia . . . 74

5.2.2. Criterios de evaluaci ´on . . . 75

6. Algoritmo de seguimiento basado en ventanas circulares 80 6.1. Descriptor . . . 80

6.2. Modelo de objeto . . . 86

6.3. Correspondencia . . . 90

6.3.1. Preprocesamiento . . . 90

6.3.1.1. Reducci ´on de ruido . . . 90

6.3.1.2. Variaciones de iluminaci ´on . . . 92

6.3.2. Detecci ´on . . . 94

6.3.3. Resultados . . . 99

6.4. Seguimiento . . . 102

6.4.1. Modelo de movimiento . . . 104

6.4.2. Mapa de profundidad . . . 105

6.4.3. Resultados . . . 107

7. Conclusiones 118 7.1. Trabajo futuro . . . 120

7.2. Publicaciones derivadas de este trabajo . . . 120

Lista de referencias bibliogr ´aficas 123

(9)

Lista de figuras

Figura P ´agina

1. Rejillas bidimensionales comunmente utilizadas: a) rejilla triangular, b)rejilla rectangular, c) rejilla hexagonal. Imagen recuperada de (J ¨ahne, 2002), p ´ag. 32. . . 8 2. Imagen con tres diferentes resoluciones de muestreo. Los detalles

dismi-nuyen proporcionalmente con el n ´umero de muestras tomadas. Imagen re-cuperada de (Bovik, 2009), p ´ag. 10. . . 9 3. Imagen mostrada con diferentes niveles de cuantizaci ´on: arriba a la

izquier-da8 bits, arriba a la derecha4bits, abajo a la izquierda 2bits y abajo a la derecha1bit. Imagen recuperada de (Bovik, 2009), p ´ag. 18. . . 10 4. Histograma de la distribuci ´on de intensidades de la imagen de Lena en

escala de grises. . . 19 5. Representaci ´on del cambio de intensidades en una imagen, con negro en

el centrof(x, y) = 0hasta blanco en la secci ´on exteriorf(x, y) = 255y las direcciones del borde y el gradiente ortogonales entre s´ı. Imagen recupe-rada de (Sonkaet al., 2008), p ´ag. 133. . . 21 6. Deformaciones geom ´etricas que no cambian la apariencia del objeto:

tras-laci ´on, rotaci ´on y escala. . . 24 7. Modelo de ruido aditivo. La imagen observada f0 resulta de la adici ´on de

ruidon a la imagen idealf. . . 27 8. Modelo de ruido multiplicativo. La imagen observadaf0 resulta de la

multi-plicaci ´on de ruidon con la imagen idealf. . . 27 9. La suma de pixeles dentro del rect ´angulo marcado puede procesarse

me-diante la suma de cuatro puntos en la imagen integralA+D−(B+C). . . 28 10. Ejemplos gr ´aficos de las notaciones asint ´oticas. La notaci ´on-Θimpone

l´ımi-tes superior e inferior a una funci ´on a partir de un punton0. La notaci ´on-O

impone un l´ımite superior (peor caso) a una funci ´on a partir de un punton0.

La notaci ´on-Ωimpone un l´ımite inferior (mejor caso) a una funci ´on a partir de un punton0. Imagen recuperada de (Cormen et al., 2001), p ´ag. 41. . . . 31

11. Arquitectura b ´asica de un CPU y una GPU. Imagen recuperada de (Kirk y Hwu, 2010), p ´ag. 4. . . 36 12. Arquitectura de una GPU. Cada unidad de c ´omputo contiene un n ´umero

constante de unidades de proceso, cada uno con su memoria privada y memoria local compartida, as´ı como memoria global compartida entre las unidades de c ´omputo. Imagen recuperada de http://sabia.tic.udc.es/ gc/trabajos%202011-12/ATIvsCUDA/arquitectura.html. . . 38 13. Componentes del sensor Microsoft Kinect. Imagen recuperada de https:

(10)

Figura P ´agina

14. Patr ´on de luz estructurada emitida por el Kinect de Microsoft. Puede apre-ciarse la matriz de3×3 zonas con diferente intensidad y el punto central de calibraci ´on. Imagen recuperada de (Jiang, 2015) p ´ag. 68. . . 42 15. Esquema del modelo de Tiempo-de-Vuelo. Imagen recuperada de (Lun y

Zhao, 2015) p ´ag. 6. . . 43 16. Diferencias entre las im ´agenes IR y mapas de profundidad de las dos

ver-siones del Kinect. Como puede apreciarse, el Kinect v2.0 ofrece im ´agenes de una mejor calidad, aunque de menor resoluci ´on espacial. Imagen recu-perada de (Lun y Zhao, 2015) p ´ag. 7. . . 44 17. Espacio de escalas. Imagen recuperada dehttp://www.aishack.in/2010/

05/sift-scale-invariant-feature-transform/. . . 47 18. Diferencia de Gaussianas (DoG) sobre las escalas en cada octava de la

imagen. Imagen recuperada de (Lowe, 2004), p ´ag. 96. . . 48 19. Localizaci ´on de m ´aximos y m´ınimos sobre el resultado de la DoG.

Compa-raci ´on del pixelXcon sus26vecinos. Imagen recuperada de (Lowe, 2004), p ´ag. 97. . . 48 20. HoG en el cual se asigna la orientaci ´on de 20◦ −29◦ y se crea una nueva

caracter´ıstica con orientaci ´on 300◦ −309◦. Imagen recuperada de http: //www.aishack.in/2010/05/sift-scale-invariant-feature-transform/. 49 21. Descriptor de caracter´ısticas SIFT. Imagen recuperada de http://www.

aishack.in/2010/05/sift-scale-invariant-feature-transform/. . . 50 22. Espacio de escala de SURF. (a) Generaci ´on de la pir ´amide de kernels

Gaussianos. (b) Conjunto de kernels Gaussianos que se convolucionar ´an con la imagen. Imagen recuperada de (Bayet al., 2008), p ´ag. 349. . . 51 23. Filtros tipo—Haar. Izquierda, gradiente en x, derecha gradiente en y. La

zona negra = 1, zona blanca = −1. Los filtros tipo—Haar en im ´agenes integrales requieren solo6operaciones. Imagen recuperada de (Bayet al., 2008), p ´ag. 351. . . 52 24. Asignaci ´on de orientaci ´on. La ventana rota alrededor de la caracter´ıstica

sumando las respuestas de los filtros Haar y obteniendo un vector por zona, aquel con la mayor magnitud proporciona su orientaci ´on a la caracter´ıstica. Imagen recuperada de (Bayet al., 2008), p ´ag. 351. . . 52 25. Componentes del descriptor. Por cada zona se calculan las respuestas a

(11)

Figura P ´agina

26. Modelo de seguimiento vor ´az de OMIL. Imagen recuperada de (Babenko

et al., 2009), p ´ag. 2. . . 58

27. Relaci ´on entre el seguidor, detector y m ´odulo de aprendizaje de TLD (Kalal et al., 2012), p ´ag. 3. . . 59

28. Diagrama de bloques del detector (Kalal et al., 2012), p ´ag. 8. . . 60

29. Salida de los expertos P-N, la columna de en medio muestra la compensa-ci ´on de errores (Kalalet al., 2012), p ´ag. 7. . . 63

30. Descriptores del modelo de objeto, las primeras 6columnas muestran los HOGs RGB y de profundidad, las ´ultimas dos la divisi ´on en celdas de nube de puntos y el modelo 3D del objeto (Song y Xiao, 2013), p ´ag. 3. . . 64

31. Distribuci ´on de profundidad del objeto. A la izquierda, estado normal. A la derecha, en estado de oclusi ´on (Song y Xiao, 2013), p ´ag. 4. . . 65

32. Fases del manejador de oclusi ´on. De izquierda a derecha: el objeto sin oclusi ´on, inicia la oclusi ´on, varias part´ıculas encuentran al ocludor, estado de oclusi ´on, las part´ıculas buscan al objeto desde la ´ultima posici ´on cono-cida, se encuentra al objeto y dichas part´ıculas se replican (Meshgiet al., 2014), p ´ag. 3. . . 67

33. Ejemplo de algunos de los objetos en la base de datos. Imagen recuperada dehttp://aloi.science.uva.nl/. . . 71

34. Variaciones de punto de vista. Imagen recuperada dehttp://aloi.science. uva.nl/. . . 72

35. Variaciones de iluminaci ´on. Imagen recuperada de http://aloi.science. uva.nl/. . . 72

36. Ejemplo de cuadros de video de la base de datos de Princeton Tracking Benchmark. Cada cuadro contiene informaci ´on RGB con su mapa de pro-fundidad correspondiente, ´este ´ultimo mapeando los niveles de profundi-dad a un campo de colores. Imagen recuperada dehttp://vision.princeton. edu/projects/2013/tracking/dataset.html. . . 74

37. zcup move 1 . . . 76

38. bear front . . . 77

39. child no1 . . . 77

40. face occ5 . . . 77

(12)

Figura P ´agina

42. Descripci ´on gr ´afica de los Tipos de Errores. La caja delimitadora verdadera es el recuadro verde y la caja delimitadora del algoritmo es el recuadro azul. a)Error Tipo I, b)Error Tipo II, c)Error Tipo III . . . 78 43. Ejemplo de gradientes gx ygy, y la magnitud mag con una cuantizaci ´on de

valores en el rango[0,255]para su correcto despliegue en pantalla. Los gra-dientes direccionales muestran los cambios prominentes en la imagen, la magnitud muestra la fuerza de estos cambios, definiendo bordes y esquinas. 82 44. M ´ascara de ´angulos radiales enR. . . 84 45. Ilustraci ´on de las dos casillas m ´as cercanas a ϕ: bϕcy dϕe. Imagen

recu-perada de (Rodr´ıguez y Perronnin, 2008), p ´ag. 4. . . 85 46. Tipos de posibles estructuras de descripci ´on del objeto. La imagen de

arri-ba representa la posici ´on est ´andar, la imagen de aarri-bajo representa al objeto rotado. La columna a) muestra la ventana rectangular, la columna b) mues-tra una ventana circular global, y la columna c) muesmues-tra un conjunto de ventanas circulares. . . 87 47. Estructura geom ´etrica del modelo del objeto definida dentro del ´area de

soporte del objeto. . . 88 48. a) Espectro de varianza de ruido blanco. b) Autocorrelaci ´on de ruido blanco. 91 49. Funci ´on de autocorrelaci ´on de f0(x), la imagen observada. Estimaci ´on de

la varianzaσ2f de la imagen ideal f(x)en el origen del mapa de autocorre-laci ´on y de la varianza del ruidoσ2

n. . . 91

50. a) Imagen original. b) Imagen con correcci ´on gamma. La imagen corregi-da muestra un mejor contraste en los bordes del objeto, lo cual mejora la informaci ´on de gradiente obtenida. . . 93 51. Actualizaci ´on recursiva del histograma sobre las columnas. . . 96 52. Mapas de correlaci ´on generados por la correlaci ´on entre las ventanas

des-lizantes con cada uno de los histogramas en la estructura geom ´etrica. . . . 97 53. Correspondencia de reducci ´on de espacio para M = 3. 1) Buscar los

(13)

Figura P ´agina

54. Desempe ˜no de los algoritmos de correspondencia evaluados en rotaci ´on

en plano. . . 101

55. Desempe ˜no de los algoritmos de correspondencia evaluados en rotaci ´on fuera de plano, o cambio de perspectiva. . . 101

56. Desempe ˜no de los algoritmos de correspondencia evaluados en ligeros cambios de escala. . . 102

57. Desempe ˜no de los algoritmos de correspondencia evaluados en tolerancia a ruido blanco. . . 102

58. Desempe ˜no de los algoritmos de correspondencia evaluados en tolerancia a iluminaci ´on. . . 102

59. Tiempo de procesamiento de los algoritmos de correspondencia evaluados en im ´agenes de1663×965 pixeles. . . 103

60. a) Histograma de profundidad del objeto. b) Histograma de profundidad del objeto y el oclusor. La distribuci ´on del oclusor aparece antes que la del objeto pues se encuentra m ´as cercano a la c ´amara. . . 106

61. Comparaci ´on del ´area de intersecci ´on promedio de los algoritmos. . . 108

62. Comparaci ´on del ´area bajo la curva sobre un umbral del 50 %. . . 109

63. Intervalos de confianza (95 %) del valor medio de intersecci ´on. . . 109

64. Error promedio. . . 110

65. Ejemplo de Error Tipo I en la secuencia face occ5. . . 111

66. Comparaci ´on del ´area de intersecci ´on de la secuenciabear front. . . 111

67. Comparaci ´on del ´area de intersecci ´on de la secuenciachild no1. . . 112

68. Comparaci ´on del ´area de intersecci ´on de la secuenciaface occ5. . . 112

69. Comparaci ´on del ´area de intersecci ´on de la secuencianew ex occ4. . . 112

70. Comparaci ´on del ´area de intersecci ´on de la secuenciazcup move 1. . . 113

71. Comparaci ´on del ´area bajo la curva sobre un umbral del50 %de la secuen-ciabear front. . . 113

72. Comparaci ´on del ´area bajo la curva sobre un umbral del50 %de la secuen-ciachild no1. . . 113

(14)

Figura P ´agina

74. Comparaci ´on del ´area bajo la curva sobre un umbral del50 %de la secuen-cianew ex occ4. . . 114 75. Comparaci ´on del ´area bajo la curva sobre un umbral del50 %de la

secuen-ciazcup move 1. . . 114 76. Intervalos de confianza (95 %) del valor medio de intersecci ´on de la

secuen-ciabear front. . . 115 77. Intervalos de confianza (95 %) del valor medio de intersecci ´on de la

secuen-ciachild no1. . . 115 78. Intervalos de confianza (95 %) del valor medio de intersecci ´on de la

secuen-ciaface occ5. . . 116 79. Intervalos de confianza (95 %) del valor medio de intersecci ´on de la

secuen-cianew ex occ4. . . 116 80. Intervalos de confianza (95 %) del valor medio de intersecci ´on de la

(15)

Lista de tablas

Tabla P ´agina

1. Caracter´ısticas del equipo de c ´omputo . . . 70 2. Tarjeta gr ´afica (GPU) . . . 70 3. Par ´ametros de CWMA . . . 100 4. Intervalos de confianza (95 %) del valor medio de intersecci ´on . . . . 110 5. Intervalos de confianza (95 %) del valor medio de intersecci ´on de las

(16)

Cap´ıtulo 1.

Introducci ´

on

Los seres vivos tenemos la capacidad de percibir al mundo que nos rodea por medio de diversos est´ımulos; cada est´ımulo es captado por un sensor el cual lo convierte a im-pulsos el ´ectricos que son procesados por el sistema nervioso central del ser vivo. Seg ´un el tipo de est´ımulo hemos clasificado los sensores en cinco categor´ıas o sentidos: tacto, gusto, olfato, audici ´on y vista. Cada sensor nos permite describir un aspecto del mundo en particular, haciendo que la falta de uno o varios sentidos dificulte nuestra capacidad de enfrentar los diversos problemas que se nos presentan d´ıa a d´ıa.

Debido a la enorme importancia que tienen nuestros sentidos para desarrollarnos en el ambiente, constantemente estamos estudiando y mejorando nuestro entendimiento sobre ellos con diversos objetivos; desde mejorar nuestras capacidades naturales con disposi-tivos como telescopios, microscopios, antenas e incluso t ´ecnicas para mejorar el sabor y olor de los alimentos; hasta dispositivos que reemplacen alg ´un sentido perdido o dete-riorado, como dispositivos de audio, lentes y cirug´ıas l ´aser para los ojos, pr ´otesis, entre otras.

Uno de los sentidos que consideramos entre los m ´as importantes es la vista, ya que nos presenta gr ´aficamente el mundo a nuestro alrededor. Mediante la vista podemos describir cualquier objeto con una cantidad enorme de caracter´ısticas y clasificarla seg ´un el aprendizaje que hayamos tenido sobre ellas; podemos mantener la atenci ´on en un objeto espec´ıfico tanto tiempo como lo deseemos a ´un cuando sufra transformaciones durante el tiempo de exposici ´on. A estos procesos les denominamos correspondencia y seguimiento.

(17)

parecer, sin mucho esfuerzo, el sistema computacional requiere un conjunto de compli-cados algoritmos y una gran cantidad de operaciones matem ´aticas para realizar solo una de la tareas descritas anteriormente.

La investigaci ´on y tecnolog´ıa que ha evolucionado hasta el d´ıa de hoy nos permiten tener conocimientos avanzados de nuestra visi ´on y dispositivos de captura de im ´agenes con mayores capacidades que las del ojo humano, como percibir luz infrarroja para ge-nerar im ´agenes invariantes a iluminaci ´on. Con este conocimiento y tecnolog´ıa previos podemos seguir avanzando la ciencia para construir aplicaciones m ´as r ´apidas y confia-bles que nos permitan dotar a sistemas computacionales y robots con sistemas de visi ´on cada vez m ´as parecidos al nuestro, donde se tenga una visi ´on general que resuelva todos los problemas en tiempo real de manera constante y no solo un conjunto de problemas para alguna aplicaci ´on espec´ıfica por un tiempo limitado.

Para ello, debemos trabajar en mejorar los sistemas actuales, hacer que se ejecuten en tiempo real y de manera concurrente. Luego, debemos aplicar el conocimiento que tenemos, resolviendo los problemas de visi ´on. El problema tratado en este trabajo es el seguimiento, el cual tiene variadas aplicaciones no solo en el ´area computacional y rob ´otica, sino tambi ´en en varias ramas de la ciencia y actividades humanas; por ejemplo, las ciencias naturales, seguridad, medicina, manufactura, entre otras. Y en muchas de estas actividades est ´a impl´ıcita la necesidad de conocer la posici ´on y trayectoria de los objetos en un campo tridimensional.

1.1. Definici ´on del problema

(18)

1.2. Objetivos de la investigaci ´on

1.2.1. Objetivo general

Desarrollar m ´etodos de seguimiento de objetos tridimensionales basados en m ´etodos de correspondencia en secuencias de video en tiempo real, en las que exista un grado de confiabilidad respecto a distintas m ´etricas de desempe ˜no, tolerancia a ligeras distorsiones geom ´etricas y ruido.

1.2.2. Objetivos espec´ıficos

1. Obtener el conocimiento te ´orico de los m ´etodos de seguimiento actuales.

2. Desarrollar m ´etodos de seguimiento de objetos basados en m ´etodos de correspon-dencia capaces de detectar objetos en im ´agenes y videos en escala de grises en tiempo real.

3. Desarrollar m ´etodos de seguimiento de objetos basados en m ´etodos de correspon-dencia mediante el uso de mapas de profundidad capaces de detectar objetos en im ´agenes y videos en escala de grises en tiempo real.

4. Desarrollar m ´etodos de seguimiento de objetos basados en m ´etodos de corres-pondencia capaces de detectar objetos en im ´agenes y videos en escala de grises degradados por ruido en tiempo real.

5. Analizar los m ´etodos propuestos respecto a tolerancia a ruido, tolerancia a distor-siones geom ´etricas y tiempo de ejecuci ´on.

6. Comparar los m ´etodos propuestos con los m ´etodos de seguimiento existentes.

7. Desarrollar el sustento matem ´atico formal de los m ´etodos propuestos.

8. Determinar la complejidad computacional te ´orica y determinar la viabilidad pr ´actica de los m ´etodos desarrollados.

1.3. Limitaciones y suposiciones

(19)

Se supone que los objetos a seguir en los videos o secuencias de im ´agenes deben estar presentes en alg ´un momento en el transcurso del tiempo de exposici ´on de

´estos.

Se supone que los objetos pasan por una serie de ligeras transformaciones geom ´etri-cas como cambios de escala y rotaciones que modifican la apariencia de ´estos.

El trabajo se centra en objetos tridimensionales r´ıgidos con pocas o ninguna articu-laci ´on.

Se van a utilizar diversas fuentes de adquisici ´on de im ´agenes y videos como c ´ama-ras CCD y c ´ama´ama-ras Kinect para crear los mapas de profundidad.

Las secuencias de video tienen un tama ˜no de640×480pixeles con una frecuencia de30FPS, que es lo m ´aximo que proporciona la c ´amara Kinect al utilizar im ´agenes de profundidad.

Las tarjetas gr ´aficas (GPU) tienen limitaciones de memoria y unidades de c ´omputo para el proceso de datos concurrentes.

El tipo de tarjeta gr ´afica limita el lenguaje y las caracter´ısticas del c ´odigo paralelo.

1.4. Trabajo previo

El seguimiento puede ser abordado desde dos perspectivas diferentes: seguimiento por movimiento o seguimiento por detecci ´on. Los algoritmos de seguimiento por movi-miento detectan el movimovi-miento del objeto, estimando su posici ´on, velocidad y direcci ´on de acuerdo a las transformaciones de los pixeles en los cuadros anteriores. Estos algo-ritmos requieren ser inicializados para producir trayectorias finas; sin embargo, tienden a acumular errores y suelen fallar en caso de perder de vista al objeto. Los algoritmos de seguimiento por detecci ´on estiman la posici ´on del objeto en cada cuadro de video de manera independiente, y a menudo requieren entrenamiento fuera de l´ınea (Kalalet al., 2010).

(20)

movimiento de la informaci ´on del objeto en cuadros anteriores. El algoritmo propuesto utiliza una serie de caracter´ısticas como los Histogramas de Gradiente Orientado (HOG, por sus siglas en ingl ´es) (Dalal y Triggs, 2005) en una estructura geom ´etrica de ventanas circulares para la correspondencia y un modelo de movimiento junto al uso de mapas de profundidad para el seguimiento. Se considera un algoritmo de seguimiento por movi-miento y detecci ´on.

El primer paso para el seguimiento por detecci ´on es contar con un algoritmo de co-rrespondencia confiable, existen diversos m ´etodos para realizar la coco-rrespondencia como filtraje por correlaci ´on y los m ´etodos basados en caracter´ısticas.

En los m ´etodos basados en filtraje (Manzur et al., 2012; Aguilar-Gonz ´alez y Kober, 2012), se crean un conjunto de filtros desde diversos puntos de vista del objeto, cada filtro contiene alguna degradaci ´on como rotaci ´on en y fuera de plano, escala, cambios de iluminaci ´on, ruido, entre otras. La medida de similitud se realiza mediante la correlaci ´on del conjunto de filtros y la imagen de entrada. La desventaja de estos m ´etodos es que su calidad y velocidad depende del n ´umero de filtros utilizados, donde los filtros comunmente fallan en la localizaci ´on del objeto deformado por rotaciones fuera de plano.

Los m ´etodos basados en caracter´ısticas calculan un descriptor en el objeto. Este des-criptor puede ser dado como puntos de inter ´es en una regi ´on espec´ıfica de la imagen como el caso de la Transformada de Caracter´ısticas Invariante a Escala (SIFT, por siglas en ingl ´es) (Lowe, 2004), las Caracter´ısticas Robustas Aceleradas (SURF, por sus siglas en ingl ´es) (Bay et al., 2008), el FAST orientado y BRIEF Rotado (ORB, por sus siglas en ingl ´es) (Rubleeet al., 2011) y sus variantes (Calonder et al., 2010; Ortiz, 2012; Liao

et al., 2011), los cuales calculan vectores de caracter´ısticas como histogramas de gra-diente orientado o cadenas binarias tanto en el objeto como en la imagen para despu ´es compararlos entre s´ı.

(21)

Ko-ber, 2007) o tarjetas gr ´aficas (GPU) (Ouerhaniet al., 2013; Sanders y Kandrot, 2010).

Una vez seleccionado un descriptor, el algoritmo de correspondencia robusto procede a utilizar t ´ecnicas de seguimiento o modelos de movimiento. Dependiendo de la forma que tenga el descriptor, es posible clasificar al seguidor de diferentes formas; por ejem-plo, seguidores de puntos (Buchanan y Fitzgibbon, 2007; Intilleet al., 1997; Sbalzarini y Koumoutsakos, 2005; Sethi y Jain, 1987), que consiste en obtener caracter´ısticas alre-dedor de diversos puntos del objeto y compararlos con puntos extra´ıdos en la escena; seguidores de silueta (Haritaoglu et al., 2000; Sato y Aggarwal, 2004; Taluet al., 2011), que consisten en seguir un conjunto de puntos que conforman la silueta del objeto concu-rrentemente; seguidores de plantilla (Schweitzeret al., 2002; Nejhumet al., 2010; Fieguth y Terzopoulos, 1997), que consisten en el proceso de extracci ´on de caracter´ısticas dentro de una ventana deslizante sobre un cuadro de video, las cuales se comparar ´an con las caracter´ısticas del objeto.

Los algoritmos de seguimiento del Estado-Del-Arte suelen ser algoritmos de plantilla que utilizan un conjunto de bolsas de caracter´ısticas para entrenamiento como el algo-ritmo de Aprendizaje de M ´ultiples Instancias en L´ınea (OMIL, por sus siglas en ingl ´es) (Babenko et al., 2009), para clasificar caracter´ısticas dentro y fuera del ´area de sopor-te del objeto; Seguimiento–Aprendizaje–Desopor-tecci ´on (TLD, por sus siglas en ingl ´es) (Kalal

et al., 2010), que consiste en un conjunto de expertos que determinan el error de loca-lizaci ´on del objeto y lo corrigen de ser necesario. Este par de algoritmos actualizan la vista del objeto en cada iteraci ´on. El Seguimiento por RGBD, Oclusi ´on y Flujo ´Optico (RGBDOcc+OF, por sus siglas en ingl ´es) (Song y Xiao, 2013), consiste en la extracci ´on de diversos descriptores de gradiente en un espacio tridimensional con informaci ´on de profundidad; y el Seguimiento por Flujo ´Optico Conciente de Oclusi ´on (OAPF, por sus siglas en ingl ´es) (Meshgiet al., 2014), se basa en el algoritmo de flujo de part´ıculas sobre informaci ´on de profundidad para determinar el movimiento del objeto. Estos ´ultimos dos algoritmos utilizan informaci ´on de profundidad para manejar la oclusi ´on del objeto.

1.5. Organizaci ´on de la tesis

(22)
(23)

Cap´ıtulo 2.

Fundamentos

En este cap´ıtulo se describen los fundamentos y conceptos necesarios para una me-jor comprensi ´on del trabajo de tesis. Se definen tres secciones: primero, los fundamentos matem ´aticos, donde se definen los conceptos que sientan las bases del algoritmo pro-puesto y los algoritmos del Estado-Del-Arte presentados; segundo, los fundamentos de algoritmos, donde se explican conceptos de teor´ıa de algoritmos y c ´alculo de tiempo de ejecuci ´on, tanto para un procesador como para multiprocesadores; finalmente, fundamen-tos tecnol ´ogicos, donde se discuten las caracter´ısticas y funcionamiento de las c ´amaras de profundidad y los GPU.

2.1. Fundamentos matem ´aticos

2.1.1. Imagen

Una imagen es una distribuci ´on espacial de radiaci ´on en un plano finito. Matem ´atica-mente, esta distribuci ´on espacial puede ser representada como una funci ´on bidimensional continuaI(x, y). Sin embargo, dado que las computadoras no pueden manejar im ´agenes de funciones continuas, sino solo arreglos de n ´umeros digitales, es necesario representar las im ´agenes como un arreglo de puntos bidimensional.

Cada punto en la rejilla bidimensional se denominapixel opel, que significaelemento de imagen. El pixel representa la radiaci ´on o intensidad en cada posici ´on de la rejilla(x, y), por lo general se encuentran en un patr ´on rectangular, aunque existen otras formas de rejillas bidimensionales (ver Figura 1).

(24)

Para que la funci ´on de una imagen continua I(x, y) sea ´util para procesamiento di-gital, debe ser digitalizada. Para ello, el dispositivo de captura de im ´agenes realiza dos operaciones: muestreo y cuantizaci ´on. El muestreo determina la resoluci ´on espacial de la imagen digital; es decir, la cantidad de muestras tomadas de la se ˜nal an ´aloga de tal forma que la se ˜nal digital conserve la forma general de la se ˜nal original. Como se puede ver en la Figura 2, el conjunto de muestras describen la se ˜nal original; sin embargo exis-ten detalles que se pierden mientras la cantidad de muestras disminuyen, por lo que ser´ıa dif´ıcil reconstruir la se ˜nal original perfectamente.

Figura 2: Imagen con tres diferentes resoluciones de muestreo. Los detalles disminuyen proporcio-nalmente con el n ´umero de muestras tomadas. Imagen recuperada de (Bovik, 2009), p ´ag. 10.

La cuantizaci ´on define el rango discreto de los valores que puede tomar cada elemento de imagen, normalmente se le llama intensidad, ya que es un registro de la intensidad de la radiaci ´on que incide en el sensor. La cantidad de radiaci ´on debe ser mapeada a un n ´umero limitado de valores discretos. Decimos que una imagen es blanco y negro cuando tenemos solo dos niveles; cuando tenemos un rango de valores entre blanco y negro, decimos que la imagen est ´a en escala de grises; si la imagen tiene varios canales, se dice que la imagen es a color. Generalmente las im ´agenes digitales se cuantizan a 256 valores por canal, los cuales contienen 8 bits por cada canal. Otros niveles de cuantizaci ´on comunes son de 12, 16 y 24 bits (J ¨ahne, 2002; Bovik, 2009). La Figura 3 muestra un ejemplo de cuantizaci ´on.

(25)

tiem-Figura 3: Imagen mostrada con diferentes niveles de cuantizaci ´on: arriba a la izquierda8bits, arriba a la derecha4bits, abajo a la izquierda2bits y abajo a la derecha1bit. Imagen recuperada de (Bovik, 2009), p ´ag. 18.

po en que la imagen (o cuadro)I(x, y)fue capturada. La velocidad de una secuencia de video se mide en Cuadros Por Segundo (FPS, por sus siglas en ingl ´es), lo cual determina la fluidez de movimiento en la escena al ser percibida por el ojo humano. El est ´andar de video se encuentra en los30FPS; sin embargo, en los ´ultimos a ˜nos, con el avance de la tenolog´ıa, las nuevas pel´ıculas y animaciones se capturan en60 FPS, presentando una mejor calidad de video. Existen tambi ´en c ´amaras de prop ´osito espec´ıfico que capturan video a120FPS, esta es la llamadasuper velocidad y es utilizada en el ´ambito cient´ıfico para capturar a detalle algunos fen ´omenos naturales.

2.1.2. Transformada de Fourier

(26)

El procesamiento de im ´agenes se basa en distribuciones, o funciones espaciales bi-dimensionales de intensidad o color que existen, comunmente, en un espacio real. La transformada de Fourier act ´ua sobre estas funciones para producir una forma equivalen-te en un espacio abstracto llamadoespacio de frequencia.

La idea fundamental del an ´alisis de Fourier es que cualquier se ˜nal, ya sea en funci ´on de tiempo, espacio u otra variable, puede ser expresada como una combinaci ´on lineal ponderada de funciones arm ´onicas, como el seno y el coseno, teniendo diferentes perio-dos o frecuencias. Estas son llamadas componentes de frecuencia espacial de la se ˜nal.

La transformada de Fourier es una extensi ´on de las series de Fourier que resulta cuando un periodo de la funci ´on representada se extiende y se aproxima al infinito. La transformada de una funci ´on es expresada como la descomposici ´on ponderada de un conjunto de funciones arm ´onicas.

La transformada de Fourier F transforma una funci ´on f(t) a una representaci ´on en el dominio de la frecuencia,F {f(t)} = F(ω). La funci ´on compleja F se denomina como espectro de frecuencia complejo, en el cual es sencillo visualizar proporciones relativas de diferentes frecuencias. Luego, la transformada de FourierF de una funci ´on continua est ´a dada por

F {f(t)}= F(ω) =

Z ∞

−∞

f(t)e−2πiωtdt . (1) La transformada inversa de FourierF−1 est ´a dada por

F−1{F(ω)}=f(t) =

Z ∞

−∞

F(ω)e2πiωtdω . (2)

En el caso de se ˜nales discretas, una funci ´on continuaf es muestreada en intervalos regulares de la formaf(n), donde n = 0, ..., N −1; y la transformada discreta de Fourier (DFT) se define como

F(k) = 1

N N−1

X

n=0

f(n)e−2πinkN , (3)

y su inversa como

f(n) =

N−1

X

k=0

F(k)e2πinkN . (4)

(27)

La transformada de Fourier siempre existe para se ˜nales digitales, incluyendo im ´age-nes, pues ´estas presentan l´ımites y tienen un n ´umero finito de discontinuidades. La trans-formada de fourier unidimensional puede ser f ´acilmente generalizada a dos dimensiones, en el cual la transformada de Fourier bidimensional tambi ´en utiliza funciones arm ´onicas para su descomposici ´on espectral. Sea f una funci ´on de dos coordenadas (x, y) en un plano que representa a una imagen. La transformada de Fourier 2D para la imagen con-tinuaf esta definida por la integral

F(u, v) =

Z ∞

−∞

Z ∞

−∞

f(x, y)e−2πi(xu+yv)dxdy , (5)

y su transformada inversa esta dada por

f(x, y) =

Z ∞

−∞

Z ∞

−∞

F(u, v)e2πi(xu+yv)dudv . (6)

Por simplicidad podemos definirF {f(x, y)}= F(u, v); luego podemos derivar las siguien-tes propiedades correspondiensiguien-tes a la transformada de Fourier unidimensional desde el punto de vista del procesamiento de im ´agenes

Linealidad

F {af1(x, y) +bf2(x, y)}=aF1(u, v) +bF2(u, v). (7)

Desplazamiento del origen en el dominio de la imagen

F {f(x−a, y−b)}= F(u, v)e−2πi(au+bv). (8)

Desplazamiento del origen en el dominio de la frecuencia

F {f(x, y)e2πi(u0x+v0y)}= F(uu

0, v−v0). (9)

Sif(x, y)es real, entonces

F(−u,−v) = F∗(u, v). (10)

(28)

Convoluci ´on y correlaci ´on, los cuales ser ´an tratados a detalle en las siguientes sub-secciones.

De manera similar a la transformada de Fourier en una dimensi ´on, la transformada de Fourier bidimensional puede ser usada para im ´agenes discretas reemplazando las integrales por sumas de la siguiente manera

F(u, v) = 1

M N M−1

X

m=0

N−1

X

n=0

f(m, n)e−2πi(muM + nv

N), (11)

dondeu= 0,1, ..., M −1yv = 0,1, ..., N −1; y su inversa como

f(m, n) =

M−1

X

u=0

N−1

X

v=0

F(u, v)e2πi(muM+ nv

N), (12)

dondem = 0,1, ..., M −1yn= 0,1, ..., N −1.

Las aplicaciones de la transformada de Fourier en el procesamiento digital de se ˜nales e im ´agenes son muy variadas: asistencia en el filtraje de ruido, detecci ´on de bordes y esquinas en la funci ´on de imagen, restauraci ´on de im ´agenes corruptas, corresponden-cia basada en convoluci ´on, caracterizaci ´on de siluetas, compresi ´on de im ´agenes, entre muchas otras (Solomon y Breckon, 2011; Taneja, 2008; Sonkaet al., 2008).

2.1.3. Convoluci ´on

Una convoluci ´on es un operador matem ´atico que transforma dos funciones f y g en una tercera funci ´on que representa la magnitud en la que se superponenf y una versi ´on trasladada e invertida deg. Una convoluci ´on es un tipo muy general de media m ´ovil.

Un impulso ideal es una se ˜nal de entrada importante denominado usando la distribu-ci ´on de Diracδ(x, y), para la cual

Z ∞

−∞

Z ∞

−∞

δ(x, y)dx dy = 1, (13)

(29)

La propiedad de cernimiento de la distribuci ´on de Dirac provee el valor de la funci ´on

f(x, y)en el punto(λ, µ)

Z ∞

−∞

Z ∞

−∞

f(x, y)δ(x−λ, y−µ)dx dy =f(λ, µ). (14)

La ecuaci ´on de cernimiento es usada para describir el proceso de muestreo de una funci ´on de imagen continuaf(x, y). Al definir una funci ´on de imagen como una combina-ci ´on lineal de pulsos de Dirac en los puntos (a, b) cubriendo todo el plano de la imagen, luego el muestreo es ponderado por la funci ´on de imagenf(x, y)

Z ∞

−∞

Z ∞

−∞

f(a, b)δ(a−x, b−y)da db=f(x, y), (15)

lo cual se conoce comoconvoluci ´on.

La convoluci ´on (⊗) es una operaci ´on importante en el an ´alisis lineal del procesamiento de im ´agenes, pues es una integral que expresa la cantidad de empalme de una funci ´on

f(t)mientras se desplaza sobre otra funci ´onh(t), la cual ha sido invertida. La convoluci ´on define el proceso de filtraje lineal usando el filtroh. La convoluci ´on unidimensional f ⊗h

de las funcionesf yhen un rango finito[0, t]est ´a dado por

(f⊗h)(t) =

Z t

0

f(t)h(t−τ)dτ . (16)

La integral de convoluci ´on tiene l´ımites −∞, ∞; sin embargo, podemos restringirla al intervalo[0, t], pues se supone que las coordenadas negativas contienen valores iguales a cero.

La convoluci ´on satisface un conjunto de propiedades importantes. Sean f, g yh fun-ciones, yauna constante escalar, luego

f⊗h=h⊗f , (17)

f ⊗(g⊗h) = (f ⊗g)⊗h , (18)

(30)

a(f ⊗g) = (af)⊗g =f ⊗(ag). (20)

La convoluci ´on puede ser generalizada a mayores dimensiones; en el alcance de este trabajo, la convoluci ´on bidimensional de las funcionesf yh se define comof ⊗h y est ´a dada por la integral

(f⊗h)(x, y) =

Z ∞

−∞

Z ∞

−∞

f(a, b)h(x−a, y−b)da db

=

Z ∞

−∞

Z ∞

−∞

f(x−a, y−b)h(a, b)da db (21) = (h⊗f)(x, y).

En procesamiento de im ´agenes, la convoluci ´on discreta es expresada por medio de sumas en lugar de integrales, y con l´ımites en el plano de la imagen

(f ⊗h)(x, y) = 1

M N M−1

X

m=0

N−1

X

n=0

f(x−m, y−n)h(m, n) ; (22)

sin embargo, los l´ımites no previenen el uso de la convoluci ´on, ya que se asume que fuera del dominio de la imagen existe un infinito de ceros. Los filtros lineales son comunmente utilizados para preprocesamiento local de im ´agenes y para restauraci ´on de im ´agenes.

Las operaciones lineales calculan el valor resultante de un pixel g(i, j) en la imagen de salida como una combinaci ´on lineal de las intensidades locales del vecindarioV del pixel f(i, j) de la imagen de entrada. La contribuci ´on de los pixeles en el vecindario son ponderados por coeficientesh

f(i, j) = X

(m,n)∈V

h(i−m, j −n)g(m, n). (23)

(31)

2.1.3.1. Teorema de convoluci ´on

Teorema 2.1 El teorema de convoluci ´on establece que la relaci ´on existente entre dos funciones y sus transformadas de Fourier est ´a dada por

f(x, y)⊗h(x, y)⇔F(u, v)H(u, v), (24)

y

f(x, y)h(x, y)⇔F(u, v)⊗H(u, v), (25)

donde F y H son las transformadas de fourier de las funciones f y h respectivamente (Gonzalez y Woods, 2002).

2.1.4. Correlaci ´on

En estad´ıstica, la correlaci ´on entre dos variables aleatorias X y Y es una medida num ´erica de similitud de la relaci ´on lineal entre ellas. Existen varios coeficientes para calcular la correlaci ´on entre dos variables. Si la distribuci ´on de datos es normal se usa el

coeficiente de correlaci ´on de Pearson, que es conocido simplemente comocoeficiente de correlaci ´on, y est ´a dado por

corr(X,Y) = cov(X,Y)

σXσY

= E[(X−µX)(Y−µY)]

σXσY

, (26)

dondecoves la covarianza entre las variables,σes la desviaci ´on est ´andar de las variables aleatorias, µes el valor esperado o media de una variable aleatoria y E es el operador de valor esperado. Si la distribuci ´on de datos no es normal, el coeficiente de correlaci ´on puede ser de Spearman o de Kendall.

(32)

La correlaci ´on entre dos funciones bivariadasf(x, y)yh(x, y)con media0est ´a defini-da por

f(x, y)◦h(x, y) = 1

M N M−1

X

m=0

N−1

X

n=0

f∗(m, n)h(x+m, y+n), (27)

donde◦denota la operaci ´on de correlaci ´on, f∗ es el complejo conjugado de f, y M yN

son los l´ımites de la funci ´on. Las im ´agenes son, por lo general, funciones reales y pares, en cuyo caso f∗ = f. La funci ´on de correlaci ´on tiene la misma forma que la funci ´on de convoluci ´on con la excepci ´on de complejo conjugado y el cambio de signos en uno de los t ´erminos de la operaci ´on.

La principal aplicaci ´on de la correlaci ´on es como una medida de similitud de corres-pondencia. Sea f(x, y) una imagen que contenga un objeto de inter ´es h(x, y); luego, si existe una correspondencia entre estas dos funciones, su correlaci ´on tendr ´a un valor m ´aximo en el punto en queh corresponda con f. Por lo general, se elige un umbral de correlaci ´on (T h) para determinar si una funci ´on corresponde con otra, ´este puede encon-trarse en un rango entre(0,1](Rosenkrantz, 2008; Gonzalez y Woods, 2002).

2.1.4.1. Teorema de correlaci ´on

Teorema 2.2 Sean F(u, v) y H(u, v) las transformadas de Fourier de f(x, y) y h(x, y)

respectivamente. El teorema establece la relaci ´on entre la correlaci ´on espacial f(x, y)◦

h(x, y), y el producto en el dominio de la frecuenciaF∗(u, v)H(u, v)

f(x, y)◦h(x, y)⇔F∗(u, v)H(u, v), (28)

formalmente, la correlaci ´on en el dominio espacial puede ser obtenido mediante la

trans-formada inversa de Fourier del productoF∗(u, v)H(u, v). De la misma manera, la correla-ci ´on en el dominio de la frecuencorrela-cia puede obtenerse mediante una multiplicacorrela-ci ´on en el

dominio espacial (Gonzalez y Woods, 2002),

(33)

2.1.4.2. Teorema de autocorrelaci ´on

Teorema 2.3 Se define como autocorrelaci ´on cuando ambas funciones son id ´enticas, luego el teorema de autocorrelaci ´on establece

f(x, y)◦f(x, y)⇔ |F(u, v)|2, (30)

y

|f(x, y)|2 F(u, v)F(u, v), (31) luego, obtenemos la energ´ıa total de la funci ´onf. Al realizar esta operaci ´on en el espacio de frecuencia obtenemos lo que se llama espectro de varianza que al volver al espacio

de tiempo mediante la transformada inversa de Fourier obtenemos la secuencia de

auto-correlaci ´on de la se ˜nal o el mapa de autoauto-correlaci ´on de la funci ´on (Gonzalez y Woods,

2002).

2.1.5. Histograma

Un histograma es una representaci ´on gr ´afica de la distribuci ´on de datos de una varia-ble aleatoria. El rango de valores se divide en una serie de intervalos discretos, donde la altura de cada intervalo es determinada por la frecuencia de los datos que caen en dicho intervalo. Dependiendo de la aplicaci ´on o las caracter´ısticas del histograma, los interva-los pueden ser equidistantes o tener longitudes variables (Pearson, 1895). Un ejemplo sencillo de un histograma puede verse en la Figura 4.

El histograma puede ser normalizado, representando la distribuci ´on de probabilidad de la variable aleatoria, mostrando frecuencias relativas donde la suma total de frecuen-cias es igual a 1. La normalizaci ´on ayuda a realizar comparaciones entre histogramas de una manera m ´as sencilla, pues aunque los datos contengan constantes aditivas o multiplicativas, el valor normalizado es el mismo (Freedmanet al., 1998).

El histograma HI m ´as sencillo de una imagen digital I grafica la frecuencia de los

niveles de gris en la imagen. Luego,HI es una funci ´on discreta con un rango de valores

[0, L−1],

(34)

Figura 4: Histograma de la distribuci ´on de intensidades de la imagen de Lena en escala de grises.

donde L es el grado de cuantizaci ´on de la imagen, J es la cantidad de ocurrencias del nivel de grisl, para cadal = 0, ..., L−1. Entonces, el algoritmo para calcular el histograma involucra solo el conteo de niveles de gris.

En procesamiento de im ´agenes, el histograma reduce la dimensionalidad de la ima-gen original I, por lo que existe p ´erdida de informaci ´on; luego, la imagen I no puede ser reconstruida a partir del histograma HI (Bovik, 2000). Otros tipos de histogramas y

su construcci ´on ser ´an descritos en los algoritmos del Estado-Del-Arte y el algoritmo pro-puesto en los cap´ıtulos posteriores.

2.1.6. Gradiente

El gradiente −→∇f de un campo escalar f es un campo vectorial que indica en cada punto del campo escalar la direcci ´on de m ´aximo incremento del mismo. El gradiente se define como el campo vectorial cuyas funciones coordenadas son las derivadas parciales del campo escalar, esto es

− →

∇f(r) =

∂f(r)

∂x1

, ...,∂f(r) ∂xn

. (33)

(35)

En procesamiento de im ´agenes, el gradiente se usa para la detecci ´on de bordes. Los detectores de bordes son m ´etodos muy importantes, pues son utilizados para localizar los cambios en las funciones de intensidad, donde los bordes son aquellos pixeles donde la funci ´on de intensidad cambia abruptamente. Los bordes son, hasta cierto grado, inva-riantes a iluminaci ´on y a la perspectiva, lo que resalta su importancia en la percepci ´on de la imagen.

Para comprender la forma de una imagen es suficiente con considerar aquellos ele-mentos cuyos bordes tengan las magnitudes m ´as prominentes; lo cual nos permite des-cribir la imagen con un conjunto reducido de datos sin afectar en gran medida el contenido de ´esta. La detecci ´on de bordes proporciona una adecuada generalizaci ´on de los datos de la imagen.

Los bordes son propiedades inherentes a cada pixel y son calculadas mediante el comportamiento de la funci ´on de la imagen en el vecindario de dicho pixel. Las derivadas de primer orden de una imagen digital se basan en varias aproximaciones del gradiente de dos dimensiones. El gradiente de una imagen(x, y)en la posici ´on del plano (x, y)se define como el vector

− →

∇I(x, y) =G= [gx, gy] =

∂I(x, y)

∂x ,

∂I(x, y)

∂y

. (34)

Los bordes pueden ser representados mediante un vector variable de dos dimensio-nes, magnitud y orientaci ´on. La magnitud del borde es la misma magnitud del gradiente, mientras que la orientaci ´on del borde est ´a rotada−90◦ respecto a la direcci ´on de gradien-te. La direcci ´on del gradiente muestra la direcci ´on de m ´aximo cambio de la funci ´on, como se ilustra en la Figura 5.

La magnitud del gradiente|−→∇f(x, y)|y su orientaci ´onθ son funciones continuas de la imagen, y est ´an dadas por

|−→∇f(x, y)|=

(36)

Figura 5: Representaci ´on del cambio de intensidades en una imagen, con negro en el centro

f(x, y) = 0 hasta blanco en la secci ´on exterior f(x, y) = 255 y las direcciones del borde y el gra-diente ortogonales entre s´ı. Imagen recuperada de (Sonkaet al., 2008), p ´ag. 133.

y

θ = arctan

∂G ∂x ∂G ∂y

!

. (36)

Si una imagen digital es discreta, entonces, las Ecuaciones (35) y (36) deben apro-ximarse mediante diferencia de pixeles; siendo estas diferencias en las direcciones hori-zontal y vertical. Generalmente se toman en cuenta los pixeles en el vecindario cercano del pixel al cual se le calcular ´a el gradiente, generalmente con distancia n = 1, de la siguiente manera

gx =f(x+n, y)−f(x−n, y), gy =f(x, y+n)−f(x, y−n),

(37)

dondegxygy son los valores de gradiente discreto en las direcciones horizontal y vertical

respectivamente.

A lo largo de los a ˜nos, diversos operadores de gradiente han sido desarrollados. Estos operadores examinan un vecindario local del pixel, siendo luego, operadores de convo-luci ´on, y pueden ser expresados mediante m ´ascaras de convoconvo-luci ´on. Estos operadores son capaces de detectar la direcci ´on de los bordes y son representados por una dupla de m ´ascaras, cada una para una direcci ´on particular. A continuaci ´on se presentan los operadores de gradiente m ´as importantes (Sonkaet al., 2008; Solomon y Breckon, 2011; Gonzalez y Woods, 2002).

(37)

pixel definidas por

h1 =

 

1 0

0 1

 , h2 =

 

0 1

1 0

 . (38)

Su principal desventaja es su alta sensibilidad al ruido, pues cuenta con pocos pixeles para aproximar el gradiente.

Operador de Laplace El operador de Laplace∇2 aproxima la segunda derivada del

gradiente y proporciona solamente magnitud, pues es invariante a rotaci ´on. Utiliza una m ´ascara de3×3, las m ´ascaras para un vecindario-4 y vecindario-8 est ´an dadas por

h=     

0 1 0

1 −4 1

0 1 0

    

, h=

    

1 1 1

1 −8 1

1 1 1

     . (39)

Operador de Prewitt Este operador calcula la primera derivada con m ´ascaras de 3×3, aunque pueden utilizarse m ´ascaras m ´as grandes. Existen8m ´ascaras para calcular el gradiente con variadas direcciones, aunque usualmente se utilizan solo dos, vertical y horizontal, obteniendo buenos resultados. Las dos principales m ´ascaras son

h1 =

    

1 1 1

0 0 0

−1 −1 −1

    

, h1 =

    

−1 0 1

−1 0 1

−1 0 1

     . (40)

Operador de Sobel El operador de Sobel es de los m ´as utilizados en el procesa-miento de im ´agenes, pues los elementos 2 y −2 act ´uan como elementos de suavizado, obteniendo as´ı cierto nivel de robustez al ruido. Los operadores vertical y horizontal est ´an dados por

h1 =

    

1 2 1

0 0 0

−1 −1 −1

    

, h1 =

    

−1 0 1

−2 0 2

−1 0 1

     . (41)

(38)

tiene un efecto de suavizado.

h1 =

    

1 1 1

1 −2 1

−1 −1 −1

    

, h1 =

    

−1 1 1

−1 −2 1

−1 1 1

     . (42)

Operador de KirschEste operador utiliza valores mucho mayores que los dem ´as ope-radores, balanceando la ecuaci ´on para dar un mayor valor a una direcci ´on del operador y balanceando con los otros5vecinos alrededor del pixel central.

h1 =

    

3 3 3

3 0 3

−5 −5 −5

    

, h1 =

    

−5 3 3

−5 0 3

−5 3 3

     . (43)

2.1.7. Transformaciones geom ´etricas

Las transformaciones geom ´etricas sobre las im ´agenes modifican la posici ´on y relaci ´on espacial de los pixeles; pero no modifican los valores de intensidad de los pixeles, ya sea nivel de gris o color.

Al estudiar las transformaciones geom ´etricas, se debe tener presente el concepto de

forma. Una forma implica la existencia de bordes, una forma es toda informaci ´on geom ´etri-ca que se mantiene despu ´es de que los efectos de lo´etri-calizaci ´on, es´etri-calamiento y rotaci ´on han sido filtrados del objeto; de modo que, la descripci ´on b ´asica de una forma es un con-junto de pares ordenados que sean suficientes para describir al objeto. Matem ´aticamente, se describe una forma al ubicar un n ´umero finito deNpuntos en el borde del objeto y con-catenarlos en un vector de forma, que, en el caso de un objeto en dos dimensiones se denota como

x= [(x1, y1),(x2, y2), ...,(xN, yN)], (44)

o en forma matricial como

S=

 

x1 x2 x3 ... xN y1 y2 y3 ... yN

(39)

Luego, cuando un objeto es capturado, ya sea en im ´agenes est ´aticas o en video, en realidad se capturan instancias del objeto, las cuales nos muestran una forma limitada del objeto real en dos dimensiones al momento de la captura. Al capturar diversas ins-tancias, se puede apreciar al objeto con diferentes caracter´ısticas: ya sea un aumento o disminuci ´on en su forma, escala; distinta orientaci ´on del objeto, rotaci ´on; distinta posici ´on respecto a otra instancia, traslaci ´on; todas estas transformaciones solo modifican la forma del objeto, no su apariencia, como se muestra en la Figura 6. Sin embargo, cuando un objeto modifica su forma, se considera que ha cambiado su perspectiva, o que ha rotado en un espacio tridimensional.

Figura 6: Deformaciones geom ´etricas que no cambian la apariencia del objeto: traslaci ´on, rotaci ´on y escala.

Las transformaciones geom ´etricas se llevan a cabo mediante matrices de transforma-ci ´on T, generalmente mediante matrices de 2× 2 que producen un nuevo conjunto de coordenadasS’dada por

(40)

con cada par ordenado como

x’=Tx

 

a11 a12

a21 a22

    x y   (47)

La transformaci ´on m ´as b ´asica es la traslaci ´on de una imagen, sean (α1, α2) valores

escalares constantes; luego, la operaci ´on de traslaci ´on se lleva a cabo mediante el despla-zamiento de las coordenadas de cada par ordenado por estas constantes, de la siguiente manera

f0(x, y) = f(x−α1, y−α2). (48)

Esta operaci ´on es usada en sistemas de despliegue de im ´agenes cuando se requiere mover la imagen en sentido vertical, horizontal o ambos.

La rotaci ´on de una imagenf por un ´anguloθrelativo a la horizontal se realiza mediante la siguiente matriz de transformaci ´on

Tθ =

 

cosθ sinθ

−sinθ cosθ 

 . (49)

Como el punto de rotaci ´on no se encuentra definido en el centro de la imagen sino en cada pixel, el resultado puede caer fuera del dominio de la imagen. De la misma manera, el resultado de la rotaci ´on dif´ıcilmente va a coincidir con la posici ´on exacta del pixel, a excepci ´on de rotaciones cada90◦, es necesario realizar una interpolaci ´on para establecer el valor de los pixeles de acuerdo a su vecindario.

La transformaci ´on de escalamiento puede reducir o aumentar el tama ˜no del objeto en cuesti ´on, la matriz de escalamiento est ´a dada por

TS =

  s 0 0 s   (50)

(41)

en su vecindario para rellenar espacios vac´ıos (Solomon y Breckon, 2011; Bovik, 2009).

2.1.8. Ruido en im ´agenes

Es com ´un que las im ´agenes sean degradadas por errores aleatorios, estas degrada-ciones son conocidas comoruido. El ruido ocurre bajo diversas situaciones como: captura de la imagen, transmisi ´on, procesamiento; y, puede ser dependiente o independiente del contenido de la imagen.

El ruido se describe mediante sus caracter´ısticas de probabilidad. El ruido blanco, tambi ´en conocido comoruido ideal tiene un espectro de potencia constante; luego, todas las frecuencias del ruido se encuentran presentes y tienen la misma magnitud. El ruido blanco es comunmente usado para modelar las peores aproximaciones de degradaci ´on; sin embargo, el ruido blanco simplifica los c ´alculos.

Un caso especial de ruido blanco es elruido Gaussiano, el cual se define mediante una variable aleatoria que recibe su densidad de probabilidad (ndf) mediante una distribuci ´on Gaussiana. Su funci ´on de densidad unidimensional est ´a dada por

ndf(x) = 1

σ√2πe

−(x−µ)2

2σ2 , (51)

dondeµes el valor esperado yσ la desviaci ´on est ´andar de la variable aleatoria. El ruido Gaussiano es una buena aproximaci ´on al ruido que ocurre en muchos casos, como en la naturaleza.

Los tipos de ruido m ´as comunes que existen son el ruido aditivo y el ruido multipli-cativo. Seaf0 una imagen observada, ´esta puede descomponerse en dos componentes, una imagen idealf y una componente de ruidon. Luego, la imagen degradada por ruido aditivo puede modelarse como (ver Figura 7)

f0(x, y) =f(x, y) +n(x, y), (52)

(42)

Figura 7: Modelo de ruido aditivo. La imagen observada f0 resulta de la adici ´on de ruido n a la imagen idealf.

El segundo modelo de ruido m ´as com ´un es elruido multiplicativo, la imagen degradada por ruido multiplicativo puede modelarse como (ver Figura 8)

f0(x, y) = f(x, y)·n(x, y), (53)

un ejemplo de ruido multiplicativo es el ruido de salpicadura.

Figura 8: Modelo de ruido multiplicativo. La imagen observadaf0 resulta de la multiplicaci ´on de ruidon con la imagen idealf.

El modelo aditivo describe apropiadamente al sistema cuando el ruido en el modelo es independiente de la imagen; mientras que el modelo multiplicativo se describe mejor cuando el ruido es dependiente de los valores de la imagen.

(43)

2.1.9. Imagen integral

La imagen integral es una representaci ´on intermedia de la imagen con la cual es posible procesar de forma r ´apida caracter´ısticas rectangulares. La imagen integral en la posici ´on (x, y) contiene la suma de los pixeles a la izquierda y sobre el pixel (x, y) incluy ´endolo, como se muestra a continuaci ´on

IP(x, y) =

i≤x

X

i=0

j≤y

X

j=0

I(i, j). (54)

Usando la imagen integral, cualquier suma rectangular puede procesarse mediante la suma de cuatro puntos en la imagen integral como se muestra en la Figura 9. De tal forma que es una manera m ´as efectiva de extraer sumas en ´areas espec´ıficas de la imagen de una manera eficiente (Viola y Jones, 2001).

Figura 9: La suma de pixeles dentro del rect ´angulo marcado puede procesarse mediante la suma de cuatro puntos en la imagen integralA+D−(B+C).

2.2. Fundamentos de algoritmos

(44)

secci ´on se discuten algunos conceptos del an ´alisis de algoritmos tanto en ejecuci ´on serial como en ejecuci ´on paralela.

2.2.1. An ´alisis de algoritmos

Analizar un algoritmo significa predecir los recursos que el algoritmo utilizar ´a; estos recursos pueden ser memoria, ancho de banda, hardware requerido; sin embargo, el principal recurso a medir es el tiempo de procesamiento. Aunque existen diversos mode-los para el an ´alisis de algoritmos, lo m ´as sencillo es utilizar el modelo de unam ´aquina de acceso aleatoria (RAM, por sus siglas en ingl ´es), que utiliza un solo procesador, pues es el que refleja de manera m ´as cercana al modelo computacional gen ´erico de hoy en d´ıa. El modelo RAM es un modeloserial, es decir, las instrucciones se ejecutan una detr ´as de la otra y no de forma concurrente (Cormenet al., 2001).

El modelo RAM puede ejecutar algunas operaciones en tiempo constante, como: su-ma, resta, multiplicaci ´on, divisi ´on, residuo, piso, y techo, entre otras operaciones b ´asicas. Sin embargo, no se debe abusar del modelo y asumir que operaciones de ordenamiento o b ´usqueda tambi ´en se ejecutan en tiempo constante. Los tipos de datos se consideran enteros o de tiempo flotante, tomando siempre el mismo tiempo para ejecutar las opera-ciones sobre ellos.

El tiempo de procesamiento de un algoritmo es comunmente descrito en funci ´on del tama ˜no de su entrada; por lo tanto, primero debemos definir los t ´erminos tama ˜no de entradanytiempo de ejecuci ´on T∗[·]. Eltama ˜no de entrada es por lo general el n ´umero

de elementos que contiene la entrada, por ejemplo, la cantidad de n ´umeros a ordenar en un vector; en otros casos puede ser la cantidad de bits que se utilizar ´an, entre otros. El tiempo de ejecuci ´on de un algoritmo para una entrada particular es el n ´umero de operaciones primitivas o pasos ejecutados; se considera entonces que cada l´ınea del programa se ejecuta en tiempo constante, y cada vez que se ejecute diche l´ınea le tomar ´a el mismo tiempo. Luego, el tiempo de ejecuci ´on del algoritmoT∗(n)es la suma del tiempo

de ejecuci ´on de cada l´ınea del algoritmo.

(45)

Elorden de crecimientode un algoritmo es la cantidad de operaciones que le toma de-pendiendo de su tama ˜no de entrada, y solamente tomando el valor principal de la f ´ormula (n); luego, este crecimiento ignora valores constantes, pues en la mayor´ıa de los casos

es insignificante comparado con el crecimiento del elemento principal, ignorando inclu-so cualquier constante de ´este t ´ermino. Entonces, el orden de crecimiento presenta una sencilla caracterizaci ´on de la eficiencia de un algoritmo y permite realizar comparaciones con versiones alternas del algoritmo.

La notaci ´on utilizada para describir el tiempo de procesamiento de los algoritmos se define como notaci ´on asint ´otica; ´esta es un lenguaje que nos permite analizar el tiempo de procesamiento de los algoritmos al identificar su comportamiento mientras el tama ˜no de entrada del algoritmo se incrementa. A continuaci ´on se presentan, de forma general y sin extender mucho en detalles, las notaciones asint ´oticas m ´as utilizadas en computaci ´on:

Notaci ´on-Θ Sea una funci ´ong(n), se denota porΘ(g(n))el conjunto de funciones

Θ(g(n)) = {f(n) : existen constantes positivas c1, c2yn0

tales que0≤c1g(n) ≤f(n) ≤c2g(n)∀n≥n0}

. (55)

Una funci ´on f(n) pertenece al conjuntoΘ(g(n)) si existen constantes positivasc1 y

c2 tales que quede entre c1g(n) yc2g(n), para unansuficientemente grande.

Esta definici ´on requiere que cada miembro de f(n) ∈ Θ(g(n)) sea asint ´oticamente no negativa, es decir, f(n) es no negativa siempre que n sea lo suficientemente grande; luego,g(n) debe ser asint ´oticamente no negativa o el conjuntoΘ(g(n))ser ´a un conjunto vac´ıo.

Notaci ´on-O La notaci ´on-Θes una funci ´on con l´ımites asint ´oticos superior e inferior, cuan-do solo consideramos el l´ımite asint ´otico superior usamos la notaci ´on-O. Esta nota-ci ´on es la mayormente usada en la literatura y representa el peor caso de ejecunota-ci ´on; es la notaci ´on que se utilizar ´a para analizar el algoritmo propuesto. Sea una funci ´on

g(n), se denota porO(g(n))el conjunto de funciones

O(g(n)) = {f(n) : existen constantes positivas c yn0

tales que0≤f(n) ≤cg(n)∀n≥n0}

(46)

La notaci ´on-O es usada frecuentemente para describir el tiempo de ejecuci ´on de un algoritmo al inspeccionar la estructura general de ´este.

Notaci ´on-Ω As´ı como la notaci ´on-O provee el l´ımite asint ´otico superior de una funci ´on, la notaci ´on-Ωprovee el l´ımite asint ´otico inferior. Sea una funci ´ong(n), se denota por Ω(g(n))el conjunto de funciones

Ω(g(n)) = {f(n) : existen constantes positivas c yn0

tales que0≤cg(n)≤f(n)∀n≥n0}

. (57)

Mediante las tres definiciones anteriores, puede probarse el siguiente teorema

Teorema 2.4 Para cada dos funciones f(n) yg(n), se tiene quef(n) = Θ(g(n)) s´ı y solo s´ıf(n) = O(g(n))yf(n) = Ω(g(n)).

La Figura 10 muestra gr ´aficamente los conceptos de las notaciones-{Θ, O,Ω}.

Figura 10: Ejemplos gr ´aficos de las notaciones asint ´oticas. La notaci ´on-Θimpone l´ımites superior e inferior a una funci ´on a partir de un punton0. La notaci ´on-Oimpone un l´ımite superior (peor caso)

a una funci ´on a partir de un punton0. La notaci ´on-impone un l´ımite inferior (mejor caso) a una

funci ´on a partir de un punton0. Imagen recuperada de (Cormenet al., 2001), p ´ag. 41.

2.2.2. An ´alisis de algoritmos paralelos

Referencias

Documento similar

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la

La siguiente y última ampliación en la Sala de Millones fue a finales de los años sesenta cuando Carlos III habilitó la sexta plaza para las ciudades con voto en Cortes de

Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de

 Para recibir todos los números de referencia en un solo correo electrónico, es necesario que las solicitudes estén cumplimentadas y sean todos los datos válidos, incluido el

La determinación molecular es esencial para continuar optimizando el abordaje del cáncer de pulmón, por lo que es necesaria su inclusión en la cartera de servicios del Sistema

trañables para él: el campo, la vida del labriego, otra vez el tiempo, insinuando ahora una novedad: la distinción del tiempo pleno, el tiempo-vida, y el tiempo

El dise˜ no del algoritmo para resolver el MTSP est´ a formado por 2 fases: i) obtener k particiones del conjunto de los clientes V ; y, ii) para cada partici´ on obtenida en la fase