detecciÓn automÁtica de victima con...

60
1 DETECCIÓN AUTOMÁTICA DE VICTIMA CON CUERPO PARCIALMENTE OBSTRUIDO UTILIZANDO KINECT. JUAN CARLOS URIBE BERMUDEZ CÓD.: 20141383049 UNIVERSIDAD DISTRITAL “FRANCISCO JOSÉ DE CALDAS” FACULTAD TECNOLÓGICA INGENIERÍA EN CONTROL BOGOTÁ D.C. 2016

Upload: hadat

Post on 28-Sep-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

1

DETECCIÓN AUTOMÁTICA DE VICTIMA CON CUERPO PARCIALMENTE OBSTRUIDO UTILIZANDO KINECT.

JUAN CARLOS URIBE BERMUDEZ

CÓD.: 20141383049

UNIVERSIDAD DISTRITAL “FRANCISCO JOSÉ DE CALDAS”

FACULTAD TECNOLÓGICA

INGENIERÍA EN CONTROL

BOGOTÁ D.C.

2016

Page 2: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

2

DETECCIÓN AUTOMÁTICA DE VICTIMA CON CUERPO PARCIALMENTE OBSTRUIDO UTILIZANDO KINECT.

JUAN CARLOS URIBE BERMUDEZ

CÓD.: 20141383049

MONOGRAFÍA PARA OPTAR POR EL TÍTULO DE INGENIERO

EN CONTROL

DIRECTOR: MIGUEL RICARDO PEREZ PEREIRA

UNIVERSIDAD DISTRITAL “FRANCISCO JOSÉ DE CALDAS”

FACULTAD TECNOLÓGICA

INGENIERÍA EN CONTROL

BOGOTÁ D.C.

2016

Page 3: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

3

Resumen

La detección de objetos es un problema fundamental en la visión artificial, en la actualidad existen diversas técnicas para resolver este problema. Sistemas automáticos de reconocimiento y métodos de extracción de características son soluciones para localizar un objeto de una imagen. El análisis automático de imágenes utiliza diferentes sensores para interpretar el escenario y las características que desea extraer. Estos sensores más conocidos como cámaras, existen de diferentes tipos y para cada aplicación. El rastreo de personas es una de las aplicaciones más comunes en la visión artificial, donde hay diferentes métodos y algoritmos para identificarlas. Estos métodos y algoritmos están más enfocados en identificar personas de pie porque es lo más común en casi todas las situaciones, pero un cuerpo acostado no es normal llevarlo al estudio, pero en casos de algunas catástrofes naturales donde es de vital importancia rescatar personas o en el peor de los casos sacar cadáveres, estos cuerpos normalmente están atrapados en la oscuridad dentro de escombros y acostados. Todos estos aspectos son también de estudio donde se necesita una herramienta que trabaje en la oscuridad y que detecte cuerpos acostados, una herramienta que puede ayudar a solucionar este problema es el Kinect. El sensor Kinect es un herramienta de visión artificial que se utiliza normalmente para los videojuegos, más exactamente para el Xbox pero en los últimos años se lanzó una versión para computadoras a través del sistema operativo Windows, para que los desarrolladores puedan crear proyectos y se amplié el rango de usuarios a los que pretenden llegar. Hoy en día ya hay una base de datos con proyectos implementados con Kinect lo que facilita la investigación y desarrollo. El Kinect cuenta con un proyector de laser infrarrojo y un par de cámaras, estos captores son sensores de imágenes CMOS, uno es una cámara a color RGB y el otro también es una cámara pero este detecta los reflejos del haz infrarrojo. [1], [2] Los algoritmos que ya trae en la programación es el reconocimiento del esqueleto el cual es el que más se utiliza, pero el cuerpo de la persona tiene que estar de pie o sentado, este proyecto pretende brindar una solución, de algún caso de que el cuerpo no se encuentre en la posición por defecto si no que se encuentre acostado y que se pueda visualizar alguna parte del cuerpo, debido a que se pueden dar algunos escenarios con estas características, esta aplicación puede ser de gran ayuda en algunos escenarios de catástrofes naturales. Debido a esto, se logró implementar un sistema para detectar un cuerpo en posición acostada y parcialmente obstruido, utilizando técnicas como la correlación cruzada y normalizada, proporcionando una solución en este tipo de escenarios.

Page 4: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

4

Contenido

INTRODUCCIÓN .................................................................................................... 9

OBJETIVOS .......................................................................................................... 11

Objetivo General ................................................................................................ 11

Objetivos Específicos ........................................................................................ 11

PLANTEAMIENTO DEL PROBLEMA ................................................................... 12

MARCOS DE REFERENCIA ................................................................................. 13

VISIÓN ARTIFICIAL .......................................................................................... 13

PROFUNDIDAD DE UNA ESCENA .................................................................. 14

Triangulación .................................................................................................. 14

Escaneo Laser ............................................................................................... 15

ToF (Time of Flight) ........................................................................................ 17

Luz Estructurada ............................................................................................ 20

SEGMENTACIÓN .............................................................................................. 21

EVENTOS .......................................................................................................... 25

CORRELACIÓN CRUZADA NORMALIZADA PARA DETECCIÓN DE Y BÚSQUEDA ....................................................................................................... 27

Correlación Cruzada Normalizada ................................................................. 29

DESCRIPCIÓN DEL HARDWARE Y SOFTWARE UTILIZADO ........................... 33

KINECT.............................................................................................................. 33

Cámara RGB .................................................................................................. 34

Sensor de Profundidad................................................................................... 35

Micrófono Multiarray ....................................................................................... 36

Base Motorizada ............................................................................................ 36

Funcionamiento .............................................................................................. 37

Características principales ............................................................................. 37

SOFTWARE ...................................................................................................... 37

MATLAB ......................................................................................................... 37

METODOLOGIA .................................................................................................... 38

ALGORITMO DE DETECCIÓN DE CUERPO ACOSTADO Y CUERPO ACOSTADO PARCIALMENTE OBSTRUIDO .................................................... 38

Captura .......................................................................................................... 40

Page 5: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

5

Filtrado ........................................................................................................... 42

Bases de datos .............................................................................................. 44

Desarrollo del algoritmo de correlación .......................................................... 45

Detección del cuerpo ..................................................................................... 46

MARGEN DE ERROR DEL SISTEMA Y GRADO DE PRECISIÓN DE LOS ALGORITMOS ................................................................................................... 48

INTERFAZ GRÁFICA DE USUARIO ................................................................. 51

PRUEBAS Y RESULTADOS ................................................................................. 55

CONCLUSIONES .................................................................................................. 58

REFERENCIAS ..................................................................................................... 59

Page 6: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

6

ÍNDICE DE TABLAS

Tabla 1. Comparación correlación- convolución. Fuente [29] ............................... 28 Tabla 2. Datos de los porcentajes del cuerpo sin obstruir. Fuente: autor .............. 50 Tabla 3. Datos de los porcentajes del cuerpo parcialmente obstruidos. Fuente: autor .............................................................................................................................. 51

Page 7: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

7

ÍNDICE DE FIGURAS

Figura 1 Ejemplo de detección de rostros. Fuente [7] ........................................... 13 Figura 2. Métodos de captura de profundidad. Fuente [8] ..................................... 14

Figura 3. Obtención estándar de la profundidad estéreo. Fuente [8] .................... 15 Figura 4. Principio del funcionamiento del escaneo laser. Fuente [8] ................... 16 Figura 5. Teorema de los senos. Fuente [8] .......................................................... 16 Figura 6. Principio de funcionamiento de ToF. Fuente [8] ..................................... 17 Figura 7. Cantidad de carga eléctrica (Q1 a Q4) para la señal de control (C1 a C4, respectivamente). Fuente [8] ................................................................................. 18 Figura 8. Errores comunes en cámaras ToF. Fuente [8] ....................................... 19

Figura 9. Patrones de luz estructurada con líneas y puntos (sensor Kinect). Fuente [8] .......................................................................................................................... 20 Figura 10. Principio de triangulación aplicada a patrones de líneas. Fuente [8] ... 21 Figura 11. Segmentación basada en la profundidad. a) Imagen en color. b) Imagen de profundidad. c) Imagen segmentada. Fuente [8] .............................................. 21 Figura 12. Segmentación del frente. a) Escena con un proyector. b) Detección del frentede a) con color. c) Detección del frente de a) con profundidad. d) Habitación con luz solar. e) Detección del frente de d) con color. f) Detección del frente de d) con profundidad.[8] ................................................................................................ 22

Figura 13. Resultados de segmentacion. Fuente[8] .............................................. 24 Figura 14. RGB values: Imagen de color. Distance d: Imagen de profundidad. Amplitude A: Intensidad de la señal utilizada para calcular d. Intensity I: Luminancia de la escena. Fuente [8] ........................................................................................ 24

Figura 15. Modelos creados a partir de gestos corporales. Fuente [8] .................. 25 Figura 16. Dataset de actividades humanas cotidianas. Fuente [8] ...................... 26 Figura 17. Seguimiento de personas. Fuente [8] ................................................... 27

Figura 18. Traking de personas basado en la detección de cabezas. (a) Imagen de profundidad. (b) Bordes de la escena. (c) Cabezas detectadas. Fuente [8] .......... 27 Figura 19. Procedimiento de cálculo de la correlación cruzada c(x,y). Fuente [29] .............................................................................................................................. 29 Figura 20. Imagen sobre la que realizar la búsqueda por correlación (Izquierda) y, template (Derecha). Fuente MATLAB ................................................................... 31

Figura 21. Función de correlación cruzada normalizada 𝛾(𝑥, 𝑦) calculada mediante la función normxcorr2. Fuente MATLAB ............................................................... 31

Figura 22. Función de correlación cruzada normalizada [(x,y) calculada mediante la función normxcorr2. Fuente MATLAB ................................................................... 32 Figura 23. Partes que componen la Kinect. Fuente [30] ....................................... 33 Figura 24. Kinect desmontada en la que se ven todas sus piezas. Fuente [30] .... 34

Figura 25. Diagrama de funcionamiento interno de la c´amara digital. Fuente [30] .............................................................................................................................. 35 Figura 26. Ejemplo de patrón de puntos proyectado. Fuente [30] ......................... 36 Figura 27. Diagrama de flujo de la programación. Fuente: Autor .......................... 39 Figura 28. Imagen en formato RGB de la escena. Fuente: Autor .......................... 40

Page 8: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

8

Figura 29. Imagen de cuerpo parcialmente obstruido. Fuente: Autor .................... 41 Figura 30. Mapa de profundidad de la escena en escala de grises. Fuente: Autor41 Figura 31. Rango de distancias admitidas por el sensor Kinect. Existen 2 modos (Default y Near). Fuente: [2] .................................................................................. 42

Figura 32. Filtro de extracción de fondo, primer filtrado. Fuente: Autor ................. 43 Figura 33. Filtro final de la silueta, elimina líneas que no interesan. Fuente: Autor .............................................................................................................................. 43 Figura 34. Imagen binarizada de la silueta. Fuente: Autor .................................... 44 Figura 35. Posturas recortadas de la base de datos. Fuente: Autor ..................... 45

Figura 36. Recortes de la silueta de un cuerpo. (a) cabeza, (b) muslo, (c) pies, (d) pecho, (e) pantorrillas. Fuente: Autor .................................................................... 45 Figura 37. Grafica sombreada tridimensional (surf) de la correlacion. Fuente: Autor .............................................................................................................................. 46 Figura 38. Interfaz de detección de un cuerpo encerrado en un cuadro rojo. Fuente: Autor ...................................................................................................................... 47

Figura 39. Interfaz de detección de un cuerpo parcialmente obstruido encerrado en un cuadro rojo. Fuente: Autor ................................................................................ 48 Figura 40. Postura de la persona. Fuete: Autor ..................................................... 49

Figura 41. Persona obstruida por un objeto. Fuente: Autor ................................... 49 Figura 42: visualización de la interfaz. Fuente: Autor ............................................ 52

Figura 43. Interfaz gráfica escenario. Fuente: Autor ............................................. 52 Figura 44: prueba del escenario sin cuerpo. Fuente: Autor ................................... 53 Figura 45. Interfaz gráfica con algoritmo completado. Fuente: Autor .................... 53

Figura 46. Imagen binarizada del cuerpo. Fuente: Autor ...................................... 54

Figura 47: Imagen RGB del cuerpo. Fuente: Autor ............................................... 54 Figura 48. Prueba del escenario sin cuerpo. Fuente: Autor .................................. 55 Figura 49. Prueba del escenario con cuerpo sin obstrucción. Fuente: Autor ........ 56

Figura 50. Prueba del escenario con cuerpo parcialmente obstruido. Fuente: Autor .............................................................................................................................. 57

Page 9: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

9

INTRODUCCIÓN

En muchas partes del mundo y en Colombia se utiliza tecnología para ayudar a personas en situaciones críticas como lo es una catástrofe natural, un incendio o inclusive un atentado terrorista. Esta tecnología da la facilidad de realizar estas tareas que serían muy peligrosas para una persona, por eso la investigación crece en esta área donde lo que se desea es que no se arriesguen más vidas. Los sensores (cámaras) es una parte de esta tecnología más utilizada en la búsqueda y rescate, estos van acompañados de un robot el cual se encarga de desplazarse por todo el escenario. Las cámaras más utilizadas en visión artificial requieren de una serie de características que permiten el control del disparo para capturar piezas que pasan por delante de ella en la posición requerida. Son más sofisticadas que las cámaras convencionales ya que tienen que poder realizar un control completo de: tiempos, señales, velocidad de obturación, sensibilidad, etc. Hay una cámara específica para cada aplicación, en el caso de búsqueda y recate hay que seleccionar un sensor que pueda rastrear un cuerpo en condiciones de poca iluminación, una buena cantidad de pixeles, suficiente velocidad de obturación, entre otros.[3] El sensor Kinect es una herramienta la cual brinda las suficientes características para abordar una solución en la búsqueda de cuerpos en diferentes situaciones, ya que cuenta con una cámara tradicional a 30 fotogramas por segundo, una resolución de 640x480 pixeles RGB, un emisor y una cámara de infrarrojos y cuatro micrófonos [4]. Todas estas características sirven para los diferentes escenarios de una catástrofe, como lo es una buena cámara con una buena densidad de pixeles, una buena cantidad de fotogramas, y unos sensores demás que en condiciones de poca luz o sin luz puede detectar cuerpos. La detección de cuerpos en los diferentes escenarios pueden estar en varias condiciones, en diferentes formas y no se podrían ver completamente. Los cuerpos por lo general en estas situaciones están acostados en un área reducida, pueden estar atrapados y obstruidos por escombros. Se implementa una interfaz donde el usuario puede escanear un área determinada y se genera un porcentaje de detección del cuerpo, este cuerpo tiene que estar acostado y la detección puede ser de todo el cuerpo o partes de este, ya que se piensa que el cuerpo no se pueda visualizar completamente. En la ejecución del rastreo de un cuerpo por medio de la visión artificial hay que ejecutar diferentes métodos y algoritmos para poder detectar un cuerpo, hay muchos algoritmos que pretenden realizar esto, como el de Viola-Jones, AdaBost, modelo omega entre otros [5]. También hay diferentes métodos como Ventana deslizante, detección de simetrías verticales, correlación, etc [6]. Todos estos

Page 10: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

10

métodos y algoritmos son de buen rendimiento, pero se necesita uno el cual se efectivo con cuerpos acostados que es lo comúnmente pasa en una catástrofe. El mejor sistema a utilizar es la correlación cruzada ya que es un técnica de filtrado el cual hace una comparación entre una serie de imágenes patrón y la otra que es la que se captura. Esta serie de imágenes patrón es una base de datos de siluetas binarizadas de cuerpos y de partes de cuerpo en diferentes formas y figuras que se pueden esperar a la hora de registrar en estos escenarios. Para desarrollar la detección es necesario utilizar la cámara de profundidad ya que la otra cámara en condiciones de poca luz no registrara nada. La cámara de profundidad con luz o sin luz generara un mapa de distancia, representado en una matriz. Con esa imagen de profundidad se hace su respectivo pre-procesamiento, localización y ajuste, extracción de características y por último se hace la comparación con el método de correlación cruzada y normalizada, después se hace unas operaciones matemáticas la cual indicara el porcentaje de detección del cuerpo.

Page 11: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

11

OBJETIVOS

Objetivo General Desarrollar un algoritmo que detecte un cuerpo humano que este parcialmente oculto por un obstáculo y en posición acostado, implementando técnica de procesamiento de imágenes y utilizando el sensor Kinect de Microsoft.

Objetivos Específicos

Diseñar un algoritmo que detecte un cuerpo humano que se encuentre acostado por medio de la herramienta Kinect (proyector de rayos infrarrojos, cámara que detecta los rayos del haz infrarrojo y cámara RGB).

Diseñar un algoritmo que detecte un cuerpo humano parcialmente oculto por un obstáculo y que entregue en porcentaje la detección de la víctima.

Realizarlas pruebas del algoritmo para encontrar el margen de error del sistema para determinar el grado de precisión de los algoritmos en un ambiente controlado.

Crear una interfaz gráfica de usuario donde se pueda visualizar la identificación del cuerpo.

Page 12: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

12

PLANTEAMIENTO DEL PROBLEMA

Actualmente hay muchos avances tecnológicos, pero en casos de catástrofes naturales, incendios u otra situación, no hay una gran ayuda tecnológica que ayude a encontrar victimas dentro de estos espacios catastróficos. Las ayudas que hay para esto, son los perros entrenados, o robots en busca de personas. Pero solo en ciertos países que tienen el suficiente capital para comprarlos. Estos robots aparte de ser muy costosos, no están disponibles en cualquier lugar y aparte son pocos los que se utilizan en Colombia. Debido a que los robots son una gran ayuda al reconocimiento de víctima, estos robots ignoran si ven una parte del cuerpo, son programados para ver un cuerpo completamente, o son monitoreados por alguien que tiene que registrar lugares con muy poca visibilidad donde casi no se puede ver y pueden pasar cuerpos o partes del cuerpo desapercibidos, estos robots normalmente son manejados por un experto, pero no está exento de pasar desapercibido de algún cuerpo que no se vea completamente. La herramienta Kinect puede resultar útil en estos casos. Ya que no es tan costosa como los robots que utilizan para la búsqueda de víctimas, y es más accesible, puede ser monitoreada desde una pantalla y saber que está ocurriendo en ese momento. Esta herramienta puede ser un complemento para el robot y el perro, ya que en esas situaciones, lo más importante es encontrar cuerpos con vida o en el peor de los casos sin vida.

Page 13: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

13

MARCOS DE REFERENCIA

VISIÓN ARTIFICIAL Se denomina a la visión artificial o visión por computador a la ciencia y tecnología que permite a las máquinas ser capaces de extraer información a partir de una o más imágenes de una escena para resolver algún tipo de problema como obtener información a partir de una imagen y tomar decisiones a partir de los datos obtenidos [3], [7]. Los objetivos de la visión por computador incluyen:

La detección, segmentación, localización y reconocimiento de ciertos objetos en imágenes (por ejemplo, caras humanas).

La evaluación de los resultados (por ejemplo, segmentación, registro).

Seguimiento de un objeto o escena en una secuencia de imágenes.

Mapeo de una escena para generar su modelo tridimensional, el cual podría ser utilizado con diversos fines (por ejemplo, uso de este como parte del sistema de guía de un robot).

Control de procesos.

Detección de eventos.

Interacción, por ejemplo con humanos u otras máquinas. Por ejemplo en la figura 1, se encuentra un uso práctico en la detección de caras en las cámaras de fotos digitales:

Figura 1 Ejemplo de detección de rostros. Fuente [7]

Page 14: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

14

PROFUNDIDAD DE UNA ESCENA Existe una amplia variedad de técnicas para capturar la profundidad de una determinada escena. El esquema de la figura 2 resume las técnicas más conocidas y empleadas. De las tres ramas del esquema (microondas, ondas de luz y ondas ultrasónicas), el estudio de aquellos métodos basados en ondas de luz son las de mayor interés, pues es donde se enmarca el principio de funcionamiento del dispositivo utilizado para este proyecto, el sensor Kinect. Como se puede ver también en el esquema, son cuatro las técnicas que basan su actividad en las ondas de luz. Concretamente, estas son: triangulación (visión estéreo), ToF (Time of flight), luz estructurada y escaneo laser.

Figura 2. Métodos de captura de profundidad. Fuente [8]

De acuerdo a estudios previos [9], [10], [11], los cuatro métodos pueden ser clasificados como activos (Time of flight, luz estructurada y escaneo laser) o pasivos (Triangulación). Los primeros, proyectan intencionadamente un haz de rayos luminosos sobre la escena para hacer que las características de la misma sean más identificables; mientras que los métodos pasivos simplemente intentan buscar correspondencias entre un par de imágenes, de las cuales no se conoce ninguna información de estas.

Triangulación En este método la profundidad se obtiene considerando dos puntos de vista (de las cámaras) desde dos posiciones conocidas [12], [13]. Del par de imágenes obtenidas, se intenta buscar correspondencias entre píxeles. Esto se puede hacer, o bien buscando características específicas de la escena como esquinas; o, lo que es más común, eligiendo una ventana espacial arbitraria en una de las imágenes y buscando su correspondencia a través de la línea epipolar [14] en la segunda imagen. Más específicamente, este procedimiento minimiza una función de emparejamiento, que puede ser descrita mediante la siguiente expresión:

Page 15: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

15

‖𝐼1(𝑉𝑠(𝑥1)) − 𝐼2(𝑉𝑆(𝑥2))‖2 ( 1 )

Donde 𝐼1 es la intensidad en la imagen 1, 𝐼2, la intensidad en la imagen 2, y 𝑉 es un vector de píxeles de una vecindad próxima a 𝑥1 (ó 𝑥2). Asumiendo 𝑥1 fijo, el valor

de 𝑥2 que haga mínima la expresión anterior, será el valor que mejor se empareja con 𝑥1. Así, una vez identificados los píxeles 𝑥1 y 𝑥2 correspondientes a un mismo punto 3D, y conociendo la ubicación de las cámaras, es inmediato estimar la

profundidad para ese pixel a través de la siguiente fórmula 𝑧 = 𝑏𝑓

𝑑, donde 𝑧 es la

profundidad, 𝑏 es la separación entre las cámaras, 𝑓 es la distancia focal de las cámaras y 𝑑 es la disparidad. El esquema de la figura 3 muestra la procedencia de cada uno de los parámetros de dicha fórmula.

Figura 3. Obtención estándar de la profundidad estéreo. Fuente [8]

Existe un compromiso a la hora de elegir el tamaño de la ventana. Por ejemplo, si se elige muy pequeña (caso extremo, un pixel), hay mayor probabilidad de que hayan píxeles de valores similares en la otra imagen. Si el tamaño es mayor, normalmente se obtiene más desambiguación en la información. Por otro lado, no siempre esto es así, ya que regiones de color constante no aportan nueva información. Esto provocará que haya distorsiones y discontinuidades en la imagen de profundidad.

Escaneo Laser Esta técnica consiste en proyectar un haz de luz (láser) sobre los objetos, cuya profundidad se desea estimar [9], [15]. La figura 4 ilustra el principio de funcionamiento de este método.

Page 16: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

16

Figura 4. Principio del funcionamiento del escaneo laser. Fuente [8]

El rayo láser (móvil) se proyecta sobre una superficie y, dependiendo de la distancia a la misma, el punto de luz aparece en diferentes lugares en el campo de visión de la cámara, la cual es rotada intermitentemente de modo que la lente siempre enfoque al punto proyectado por el láser. El proyector (L), el punto proyectado (D) y la cámara (C) forman los vértices de un triángulo, del cual se conoce uno de los

lados (𝐿𝐶̅̅̅̅ ). El ángulo del vértice L también es conocido. El ángulo del vértice C se puede determinar buscando el punto del láser en el campo de visión de la cámara. Con estos tres datos se puede obtener de manera inmediata la profundidad de la superficie bajo análisis. Para ello, basta con aplicar el Teorema de los senos ilustrado en la figura 5.

Figura 5. Teorema de los senos. Fuente [8]

𝐿𝐷̅̅ ̅̅

sin 𝑎𝐶=

𝐷𝐶̅̅ ̅̅

sin 𝑎𝐿=

𝐶𝐿̅̅̅̅

sin 𝑎𝐷

( 2 )

Page 17: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

17

En este caso 𝐿𝐷̅̅ ̅̅ es valor que se corresponde con la profundidad de la superficie. Utilizando el primer y último término de la igualdad se puede despejar fácilmente dicho valor.

ToF (Time of Flight) La capacidad para medir distancias se basa en medir el tiempo de viaje de la luz. En particular, esta tecnología mide el tiempo transcurrido desde que el haz de luz sale del proyector hasta que se refleja en el sensor (figura 6).

Figura 6. Principio de funcionamiento de ToF. Fuente [8]

Si se considera t como el tiempo que tarda el haz de luz en alcanzar al objeto, d la

distancia al objeto y c la velocidad de la luz (3,108 [𝑚/𝑠]), entonces es inmediato obtener el valor de profundidad (d) como:

𝑑 =𝑐. 𝑡

2

( 3 )

El dato físico real medido en el sensor es el desplazamiento de fase ∆𝜑 entre la

señal emitida y la recibida. Este retardo de fase permite calcular el tiempo de viaje t de la onda de luz. La señal producida por el proyector es una onda sinusoidal modulada en amplitud (AM) para permitir su transmisión por el aire. Dicha señal s(t) se expresa como:

𝑠(𝑡) = 𝐴 cos(2𝜋𝑓𝐶𝑡) cos(2𝜋𝑓𝑆𝑡) ( 4 )

Donde 𝑓𝐶 es la frecuencia de modulación y 𝑓𝑆 es la frecuencia creada por el sensor. El receptor por su lado, puede recibir la señal de acuerdo a la siguiente expresión:

𝑟(𝑡) = 𝑅. 𝑠(𝑡 − 𝜏) + 𝐵 + 𝑤(𝑡) ( 5 )

Donde R es la amplitud de la señal recibida, 𝜏 es el retardo de la transmisión, B es la iluminación ambiente y w(t) representa el error en la transmisión. Los dispositivos ToF poseen limitaciones que tienen que ver con el propio principio de funcionamiento, las condiciones del entorno y las propiedades de los objetos a detectar [16]. En la práctica, la tecnología ToF calcula el desfase entre onda emitida y onda recibida en función de la carga almacenada en cuatro capacitores (Q1 a Q4) durante un tiempo denominado “tiempo de integración”. La carga solo se realiza en

Page 18: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

18

los flancos de subida de la onda reflejado o recibida y cuando las señales C1 a C4 (desfasadas 90º una de la otra) están activas, como se observa en la figura 7.

Figura 7. Cantidad de carga eléctrica (Q1 a Q4) para la señal de control (C1 a

C4, respectivamente). Fuente [8]

A partir de las cargas 𝑄1−4 se obtiene la profundidad como: 𝐷𝑒𝑝𝑡ℎ(𝑡𝑑) =

tan−1 (𝑛𝑄3−𝑛𝑄4

𝑛𝑄1−𝑛𝑄2), donde Q1 a Q4 representan la cantidad de carga eléctrica para las

señales de control C1 a C4, respectivamente y n es el número de ciclos utilizados para realizar el cálculo. La duración del tiempo de integración (dependiente de n) determina la resolución y precisión del mapa de profundidad. En la imagen a) de la figura 8 se puede ver que el mapa de profundidad de la derecha tiene una mejor relación señal ruido que el mapa de la izquierda, ya que su tiempo de integración es mayor.

Page 19: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

19

Figura 8. Errores comunes en cámaras ToF. Fuente [8]

En esta misma figura (figura 8) se pueden ver reflejadas una gran variedad de errores de distinta naturaleza. Los objetos muy cercanos al sensor IR que pueden provocar una saturación del mismo, lo genera distorsiones en otras partes como se puede ver en la imagen b). Este fenómeno de dispersión de la luz hacia otras partes de la escena se conoce como scattering [17]. Objetos a la misma distancia del sensor muestran distinta amplitud en la imagen de infrarrojos (imagen c)). Esto también es un factor de ruido a la hora de estimar la profundidad [18]. Los objetos cóncavos pueden dar lugar también a estimaciones erróneas de profundidad, concretamente, a errores de multtrayecto. En la imagen d) se puede apreciar este efecto en la concavidad de la esquina. Los objetos en movimiento generan un error conocido como motion blur o desenfoque por movimiento. Su origen también reside en el modo de operar de los sensores ToF. Concretamente, si durante el tiempo de integración, el objeto sobre el que está rebotando la onda no permanece estático, entonces la estimación de profundidad se hace sobre distancias distintas, lo que produce el efecto observado en la imagen e). Los bordes de los objetos también son fuente de distorsiones. En ellos, el valor de los píxeles se corresponde en algunos casos con la profundidad del objeto y otras con la del fondo, como se puede apreciar en la imagen f).

Page 20: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

20

Luz Estructurada Este método consiste proyectar un patrón de luz sobre la escena y observar la deformación del patrón en la superficie de los objetos [19], [20]. En la figura 9 se muestra a la izquierda un patrón de líneas y a la derecha un patrón de puntos utilizado por el sensor Kinect, cuyo funcionamiento se detalla más adelante. El patrón de luz es proyectado, bien por un proyector LCD (Luz no coherente) o bien por un barrido laser. Una cámara desplazada ligeramente respecto del proyector, captura la deformación de las líneas (o puntos) y calcula la distancia de cada punto utilizando una técnica similar al de la triangulación [21].

Figura 9. Patrones de luz estructurada con líneas y puntos (sensor Kinect).

Fuente [8]

En la figura 10 se puede observar cómo se emplea la técnica de triangulación para el caso de patrones de líneas. En una superficie plana, es de esperar que la línea capturada por la cámara sea recta. Una pequeña deformación en la misma puede ser directamente convertida a una coordenada 3D [22]. Para ello se tiene que identificar cada línea, lo que se logra mediante el rastreo de cada línea (método de reconocimiento de patrones) o simplemente contándolas. Otro método muy común consiste en proyectar patrones alternativos formando una secuencia de código Gray que identifica el número de cada línea proyectada sobre el objeto. Otro indicio de profundidad se puede obtener analizando el grosor de las líneas (o puntos), que varía en función de la inclinación de la superficie del objeto. Así mismo, la transformada Wavelet también está siendo discutida para el mismo propósito. En la práctica se combinan varios métodos para obtener información lo menos ambigua posible.

Page 21: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

21

Figura 10. Principio de triangulación aplicada a patrones de líneas. Fuente [8]

SEGMENTACIÓN En el área de investigación, concretamente en procesamiento de imagen, la información de profundidad permite resolver problemas que solo con información de color son difíciles de tratar. En particular, el hecho de disponer de una tercera dimensión para cada pixel de la imagen (eje z) hace que problemas tan básicos y fundamentales como la segmentación, se resuelvan con mayor facilidad y precisión. A modo de ejemplo, uno de los problemas que se aborda en este proyecto es precisamente ese. En la figura 11 se observa una segmentación basada en la profundidad: lo que está más allá de cierta distancia se ignora.

Figura 11. Segmentación basada en la profundidad. a) Imagen en color. b)

Imagen de profundidad. c) Imagen segmentada. Fuente [8]

La segmentación basada en profundidad se puede realizar siguiendo una amplia variedad de criterios. Es el caso de [23], donde, en primer lugar se corrigen los defectos de la imagen de profundidad (obtenida del sensor Kinect), utilizando la imagen de color correspondiente, y posteriormente se realiza la segmentación, con la profundidad ya corregida. En la misma línea se utiliza la profundidad (obtenida de un sensor ToF) para mejorar la segmentación basada en color en espacios

Page 22: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

22

interiores. En este caso, para la obtención del modelo de fondo se modelan los píxeles de acuerdo a una distribución gaussiana de acuerdo a la ecuación 6.

𝑃(𝑋𝑡) =1

(2𝜋)32𝜎𝑡

3𝑒

−((𝑋𝑡−𝜇𝑡)2

2𝜎𝑡2 )

( 6 )

Donde 𝜇𝑡 y 𝜎𝑡2 son la media y la varianza de los valores de los píxeles y 𝑋𝑡 es el

píxel de entrada en el frame t.

El modelo de fondo final para el pixel 𝑋𝑡 se puede obtener considerando ambos modelos (color y de profundidad) como dos canales distintos, lo que generaría un modelo de fondo gaussiano bi-modal. Es decir, se tendría un modelo de fondo en el que cada pixel está modelado por 2 gaussianas (MoG). Sin embargo, se prueba que se obtienen mejores resultados considerando únicamente el foreground basado en profundidad, cuya obtención se resume en la ecuación 7.

|𝑋𝑡 − 𝜇𝑡| > 𝑘𝜎𝑡 ( 7 )

Donde k es un umbral escalado por la variación local del pixel 𝜎𝑡. El sistema se prueba en dos situaciones extremas: en la primera hay una fuerte componente de falsos positivos provocados por un proyector y en la segunda, una fuerte sobre iluminación provocada por la luz solar (figura 12).

Figura 12. Segmentación del frente. a) Escena con un proyector. b)

Detección del frentede a) con color. c) Detección del frente de a) con

Page 23: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

23

profundidad. d) Habitación con luz solar. e) Detección del frente de d) con color. f) Detección del frente de d) con profundidad.[8]

En el afán por aumentar la fiabilidad de la máscara de foreground, en [24] se utilizan la información de color y de profundidad (obtenida estereográficamente) a la vez para obtener el foreground final. El método empieza por obtener un modelo de fondo (gaussiano) para cada tipo de información. Para cada tipo se consideran varios modos, pero solamente se elige uno para el modelo. En el caso de la profundidad, se elige el modo más alto en profundidad y cuyos valores sean válidos (profundidad no nula) en al menos un T% (T=10) de la porción de frames considerados. Así mismo, para el caso de color, se elige el modo más común. Posteriormente, el foreground basado en color se obtiene según la ecuación 8.

𝐹𝑐 ≡ (𝑌𝑉𝑎𝑙𝑖𝑑(𝑌𝑚) ∧ 𝑌𝑉𝑎𝑙𝑖𝑑(𝑌𝑖) ∧ (∆𝑐𝑜𝑙𝑜𝑟 > 𝑐𝜎)) ∨

(𝑌𝑉𝑎𝑙𝑖𝑑(𝑌𝑚) ∧ ((𝑌𝑖

𝑌𝑚< 𝑠ℎ𝑎𝑑) ∨ (

𝑌𝑖

𝑌𝑚> 𝑟𝑒𝑓𝑙𝑒𝑐𝑡)) ∨

(𝑌𝑉𝑎𝑙𝑖𝑑(𝑌𝑚) ∧ (𝑌𝑖 > 𝛼𝑌𝑚𝑖𝑛))

( 8 )

Donde 𝑌𝑖 es la luminancia del frame i-ésimo, 𝑌𝑚 es la luminancia del modelo de

fondo; 𝑌𝑉𝑎𝑙𝑖𝑑 (𝑌) = 𝑌 > 𝑌𝑚𝑖𝑛, siendo Y un umbral de luminancia mínimo; ∆𝑐𝑜𝑙𝑜𝑟 es la diferencia de matiz (H) entre el frame actual y el modelo de fondo, shad y reflrect son los umbrales para discriminar las sombras e interreflexiones, respectivamente;

es un umbral escalado por 𝑌𝑚𝑖𝑛 para filtrar del frame actual según la luminancia, 𝜎 es la varianza del modelo, y c es un parámetro ajustado dinámicamente, según la información de profundidad. Su valor es más alto, cuando en el foreground de profundidad los píxeles de frame i-ésimo aparecen como pertenecientes al background. Por otro lado, la máscara de foreground basada en profundidad se obtiene de acuerdo a la ecuación 9.

𝐹𝑟 ≡ 𝑉𝑎𝑙𝑖𝑑(𝑟𝑖) ∧ (∇𝑟𝑖 < 𝐺): ∧ ¬(𝑉𝑎𝑙𝑖𝑑(𝑟𝑚) ∧ (|𝑟𝑖 − 𝑟𝑚| < 𝑘𝜎) ( 9 )

Donde, 𝑟𝑖 es la profundidad el frame i-ésimo, 𝑟𝑚 es la profundidad en el modelo de

fondo, 𝑘𝜎 es el parámetro de umbralizacion, y ∆𝑟𝑖 es el gradiente local de ri. Los valores de gradiente por encima de G representan discontinuidades en la profundidad, por lo que este valor se fija en función de la “lisura” esperada de objetos en primer plano. Finalmente, se obtiene el foreground final como un OR lógico entre ambas máscaras (ecuación 10).

Page 24: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

24

𝐹 ≡ 𝐹𝑟 ∨ 𝐹𝑐 ( 10)

Este método presenta inconvenientes en zonas amplias sin profundidad y en objetos de color muy similar al fondo. Además, los objetos segmentados presentan un “halo” a su alrededor debido al foreground de profundidad. La figura 13 ilustra el resultado de este método.

Figura 13. Resultados de segmentacion. Fuente[8]

En otras aproximaciones para mejorar la máscara de foreground, como la empleada en [25], se combinan la información de color y las imágenes proporcionadas por un sensor PMD (Photonic Mixer Device), entre las que se encuentra la de profundidad. La idea es obtener un foreground para cada tipo de imagen y luego decidir si un pixel realmente pertenece al frente si aparecen en al menos uno de los foregrounds mencionados. La principal desventaja es la presencia de detectados como foreground erróneamente, debido a la imprecisión de las imágenes utilizadas. La figura 14 ilustra las imágenes implicadas.

Figura 14. RGB values: Imagen de color. Distance d: Imagen de profundidad.

Amplitude A: Intensidad de la señal utilizada para calcular d. Intensity I: Luminancia de la escena. Fuente [8]

Page 25: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

25

EVENTOS La industria del entretenimiento, sobre todo, está tomando gran ventaja de la información de profundidad con la creación videojuegos que pueden ser controlados sin necesidad de mandos físicos, simplemente con señales gestuales de las manos o del cuerpo entero. En la figura 15 aparece una persona realizando una serie de gestos corporales que son vectorizados y posteriormente convertidos a instrucciones. En este caso, el entorno de aplicación está controlado, de modo que se pueda obtener una imagen de profundidad lo más uniforme posible. Además, la distancia del frente con respecto al fondo es bastante alta, con lo que la segmentación es menos ambigua. Con todo, el problema se encuentra únicamente en corregir pequeños defectos de las imágenes de profundidad (i.e. interpolación) y en la complejidad implicada en los algoritmos para el análisis de gestos.

Figura 15. Modelos creados a partir de gestos corporales. Fuente [8]

Basado también en el análisis de gestos corporales y extensas bases de datos, en [26] se pretende identificar las actividades que una persona realiza en su vida cotidiana (Figura 16). En las secuencias de la base de datos, las distancias horizontales y verticales de la cámara respecto al centro de la escena es de aproximadamente 2 metros y la distancia media de una persona es de 3 metros. Esta configuración geométrica es adecuada para el hogar o la supervisión de una sala de hospital, por ejemplo. El problema principal aquí es obtener los parámetros adecuados de un determinado evento para compararlo con los almacenados en las bases de datos.

Page 26: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

26

Figura 16. Dataset de actividades humanas cotidianas. Fuente [8]

Una de las tareas que supone un desafío en el análisis de eventos es el tracking de personas. En este campo, el tracking se realiza a nivel de blob, explotando la posición y velocidad del centroide. Los blobs se obtienen por una segmentación basada en profundidad. Las oclusiones en el sistema son poco frecuentes, dado que la cámara está en el techo. En el caso de ocurrir oclusiones (personas muy jutas), el problema se resuelve mediante una segmentación iterativa. Es decir, se va reduciendo el umbral de segmentación (distancia persona-sensor) hasta tener todos los blobs aislados. La figura 17 ilustra los resultados de este método. Otro método novedoso para el tracking de personas basado en profundidad es el que se propone en [27], donde se detecta a la persona analizando una parte del cuerpo, concretamente la cabeza. Para ello se vale de un modelado 3D de la cabeza y el contorno de la misma, obtenida por un detector de bordes (Canny). Una vez localizada la cabeza, se extrae el resto del cuerpo (figura 18). El sistema no genera falsos positivos, pero sí puede presentar falsos negativos para cabezas ocluidas o cuando la mitad del cuerpo de la persona está fuera del frame. Además, el sistema solo funciona para espacios interiores debido a las limitaciones del dispositivo utilizado (sensor Kinect).

Page 27: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

27

Figura 17. Seguimiento de personas. Fuente [8]

Figura 18. Traking de personas basado en la detección de cabezas. (a)

Imagen de profundidad. (b) Bordes de la escena. (c) Cabezas detectadas. Fuente [8]

Por último, la aparición del sensor Kinect ha hecho que aplicaciones de este tipo se incrementen exponencialmente. En [28] se puede ver una gran multitud de aplicaciones de esta índole. Dada la precisión relativamente alta y el bajo coste del sensor Kinect, su uso se ha extendido a campos como la educación, terapias o la medicina, entre otras.

CORRELACIÓN CRUZADA NORMALIZADA PARA DETECCIÓN DE Y BÚSQUEDA Un filtro adaptado es un sistema lineal invariante cuya función principal es detectar la presencia de una señal conocida, o referencia, dentro de una señal recibida. La señal a la salida del filtro será la correlación de la señal referencia con la señal desconocida. Este procedimiento es equivalente a realizar la convolución de la señal desconocida con una versión retardada de la señal, que se usa como referencia. La correlación bidimensional discreta de dos funciones f(x,y) y h(x,y) de tamaño M x N se define como (ecuación 11):

Page 28: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

28

𝑓(𝑥, 𝑦)°ℎ(𝑥, 𝑦) =1

𝑀𝑁∑ ∑ 𝑓∗(𝑚, 𝑛)ℎ(𝑥 + 𝑚, 𝑦 + 𝑛)

𝑁−1

𝑛=0

𝑀−1

𝑚=0

( 11)

Donde 𝑓∗ denota el complejo conjugado de f. Normalmente se trata con funciones reales imágenes-, en cuyo caso 𝑓 = 𝑓∗. La función de correlación tiene exactamente la misma forma que la función de convolución, con las excepciones del complejo conjugado y del signo positivo del segundo término del sumatorio, como se vio anteriormente en la ecuación 12.

𝑓(𝑥, 𝑦) ∗ ℎ(𝑥, 𝑦) =1

𝑀𝑁∑ ∑ 𝑓(𝑚, 𝑛)ℎ(𝑥 − 𝑚, 𝑦 − 𝑛)

𝑁−1

𝑛=0

𝑀−1

𝑚=0

( 12)

Dada la similitud entre ambas, existe asimismo el teorema de la correlación, análogo al de la convolución. Si se denota F(u,v) y H(u,v) a las transformadas de Fourier de f(x,y) y h(x,y), respectivamente, se puede apreciar lo anterior en la Tabla 1.

𝑇𝑒𝑜𝑟𝑒𝑚𝑎 𝑑𝑒 𝑐𝑜𝑟𝑟𝑒𝑙𝑎𝑐𝑖ó𝑛 𝑇𝑒𝑜𝑟𝑒𝑚𝑎 𝑑𝑒 𝑐𝑜𝑛𝑣𝑜𝑙𝑢𝑐𝑖ó𝑛

𝑓(𝑥, 𝑦)°ℎ(𝑥, 𝑦) <=> 𝐹(𝑢, 𝑣)𝐻(𝑢, 𝑣)

𝑓(𝑥, 𝑦)ℎ(𝑥, 𝑦) <=> 𝐹(𝑢, 𝑣)°𝐻(𝑢, 𝑣)

𝑓(𝑥, 𝑦) ∗ ℎ(𝑥, 𝑦) <=> 𝐹(𝑢, 𝑣)𝐻(𝑢, 𝑣)

𝑓(𝑥, 𝑦)ℎ(𝑥, 𝑦) <=> 𝐹(𝑢, 𝑣) ∗ 𝐻(𝑢, 𝑣)

Tabla 1. Comparación correlación- convolución. Fuente [29]

La convolución es el nexo entre el filtrado en el dominio espacial y el dominio en la frecuencia. El principal uso de la correlación es para localización o búsqueda, donde una de las principales aplicaciones es la comparación entre imágenes, es decir, determinar el grado de parecido entre un conjunto de imágenes conocidas y una imagen desconocida. En la búsqueda, f(x,y) es una imagen que contiene objetos o regiones. Si se quiere determinar si f contiene una región u objeto en particular, se hace que h(x,y) sea dicho objeto o región (a esta imagen se la denomina usualmente, en lengua inglesa, template). Entonces, si el template es localizado la correlación entre las dos funciones será máxima en el punto en el que h encuentre una correspondencia en f. Un pre-procesado, como escalado y alineación, es necesario en la mayoría de aplicaciones prácticas. Se obtiene la función de correlación mediante el cálculo de las transformadas de Fourier bidimensionales F(u,v) y H(u,v) de las imágenes, tomando el complejo conjugado de una de ellas, multiplicando las dos transformadas y realizando la FFT inversa.

Page 29: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

29

Correlación Cruzada Normalizada Ahora, se considera lo anterior como la base para encontrar una subimagen w(x,y) de tamaño J x K dentro de una imagen f(x,y) de tamaño M x N, donde J ≤ M y K ≤ N. En su forma simple, la correlación entre f(x,y) y w(x,y) es:

𝑐(𝑥, 𝑦) = ∑ ∑ 𝑓(𝑠, 𝑡)𝑤(𝑥 + 𝑠, 𝑦 + 𝑡)

𝑡𝑠

𝑥 = 0,1,2, … , 𝑀 − 1, 𝑦 = 0,1,2, … , 𝑁 − 1 ( 13)

donde el sumatorio se toma sobre la región de la imagen donde w y f se solapan. Si se compara esta expresión las anteriores, se asume que las funciones poseen valores reales y se deja que el producto MN sea una constante. Esto se debe a que se va a utilizar una función normalizada en la cual estas constantes se cancelan, por lo que la expresión anterior es comúnmente utilizada en la práctica.

Figura 19. Procedimiento de cálculo de la correlación cruzada c(x,y). Fuente

[29]

La figura 19 ilustra este procedimiento, donde se asume que el origen de f se sitúa en la esquina superior izquierda, y el origen de w está en su centro. Para un valor de (x,y), sea (𝑥0, 𝑦0) dentro de f, la anterior ecuación proporciona un valor para c. Conforme x e y varían, w se mueve sobre el área de la imagen obteniéndose c(x,y). El valor máximo de c indicará la posición donde w mejor coincide con f. Nótese que la efectividad se pierde para valores de x e y cerca de los bordes de f, con un error proporcional al tamaño de w.

Page 30: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

30

La función de correlación anterior tiene la desventaja de ser muy sensible a los cambios en la amplitud de f y w. Una aproximación utilizada frecuentemente para superar esta dificultad, consiste en desarrollar la búsqueda mediante el coeficiente de correlación, que se define como (ecuación 14):

𝑦(𝑥, 𝑦) =∑ ∑ [𝑓(𝑠, 𝑡) − 𝑓(̅𝑠, 𝑡)] ∙ [𝑤(𝑥 + 𝑠, 𝑦 + 𝑡) − �̅�]𝑡𝑠

{∑ ∑ [𝑓(𝑠, 𝑡) − 𝑓(̅𝑠, 𝑡)]2

∑ ∑ [𝑤(𝑥 + 𝑠, 𝑦 + 𝑡) − �̅�]2𝑡𝑠𝑡𝑠 }

12

( 14)

donde x=0,1,2,…,M-1, y=0,1,2,…,N-1, �̅� es el valor medio de los píxeles en w

(calculado una sola vez), 𝑓 ̅es el valor medio de f en la región coincidente con la localización actual de w, y los sumatorios se toman sobre las coordenadas comunes de f y w. El coeficiente de correlación 𝛾(𝑥, 𝑦) tendrá un rango de valores posibles entre -1 y 1, independientemente de la escala entre las amplitudes de f y w. Aunque la función de correlación puede ser normalizada respecto a los cambios en las amplitudes de ambas imágenes mediante el coeficiente de correlación, obtener una normalización respecto a tamaño y rotación puede ser muy difícil. Normalizar respecto al tamaño involucra cambios de escala, un proceso que por sí mismo añade una gran cantidad de cómputo. Normalizar respecto a una rotación puede ser aún más difícil, sobre todo si la naturaleza de la rotación es desconocida, en cuyo caso serían necesarias múltiples rotaciones de w(x,y). Como ya se ha mencionado, la correlación también se puede calcular en el dominio de la frecuencia mediante FFTs. Si f y w son del mismo tamaño, esta aproximación puede ser más eficiente que la implementación de forma directa de la correlación en el dominio espacial. Por tanto, la expresión de c(x,y) dada se utiliza cuando w es mucho más pequeña que f. El coeficiente de correlación 𝛾(𝑥, 𝑦) es más difícil de implementar en el dominio de la frecuencia, por lo que generalmente es calculado en el dominio espacial. La función C=normxcorr2 (template,A) de MATLAB, que calcula la correlación cruzada 2D normalizada de las matrices template y A, implementa la teoría anteriormente explicada. La matriz A debe ser mayor que la matriz template y los valores de template no pueden ser todos iguales. Un ejemplo de esta técnica se ilustra en las Figuras 20 y 21. La imagen y el template tienen un tamaño de 394x443 y 128x122 píxeles, respectivamente. En este caso A=394, B=443, C=128 y D=122. Esto da un valor para las funciones extendidas de P=A+C-1=521 y Q=B+D1=564.

Page 31: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

31

Figura 20. Imagen sobre la que realizar la búsqueda por correlación

(Izquierda) y, template (Derecha). Fuente MATLAB

Figura 21. Función de correlación cruzada normalizada 𝜸(𝒙, 𝒚) calculada

mediante la función normxcorr2. Fuente MATLAB La función de correlación tiene las dimensiones de imagen extendida, P x Q píxeles. Como cabía esperar, el máximo valor de la función de correlación ocurre en el punto donde la imagen coincide con el template. Es importante tener en cuenta que las variables de la función de correlación en el dominio espacial son desplazamientos. Por ejemplo, la esquina superior izquierda (0,0) de la función de correlación corresponde a un desplazamiento nulo de una función respecto de la otra. Por otro lado, punto máximo de dicha función equivale al desplazamiento necesario para encontrar el template sobre la figura. La matriz resultante C contiene los coeficientes de correlación, cuyos valores se encuentran en el rango [-1.0, 1.0]. Esta función de MATLAB realiza el siguiente procedimiento general [29]:

a) Calcula la correlación cruzada en el dominio del espacio o de la frecuencia, dependiendo del tamaño de las imágenes.

b) Calcula los sumatorios locales. c) Los utiliza para normalizar la correlación cruzada, y obtener los coeficientes

de correlación 𝛾. Se muestra otro ejemplo de esto en la Figura 22:

Page 32: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

32

Figura 22. Función de correlación cruzada normalizada [(x,y) calculada

mediante la función normxcorr2. Fuente MATLAB

Page 33: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

33

DESCRIPCIÓN DEL HARDWARE Y SOFTWARE UTILIZADO

En esta sección se detallara cada uno de los bloques en los que se divide el sistema

de reconocimiento del cuerpo implementado, así como los dispositivos utilizados en

cada etapa.

KINECT El sensor Kinect es la principal herramienta del proyecto, es en la que se basa para

llevarlo a cabo.

Este dispositivo fue creado por la compañía Microsoft para su videoconsola Xbox 360. Kinect permite a los usuarios controlar e interactuar con la consola sin necesidad de tener contacto físico con un controlador de videojuegos tradicional, mediante una interfaz natural de usuario que reconoce gestos, comandos de voz, y objetos e imágenes. El sensor Kinect estaba destinado únicamente a su utilización junto a la videoconsola. Para extraer la información tan valiosa que obtiene, hubo que recurrir a ingeniería inversa. Con este proceso se pudo empezar a utilizar el dispositivo con ordenadores para diferentes aplicaciones como es el reconocimiento de objetos. Las partes básicas de Kinect, como se puede ver en la figura 23 y en la figura 24 son:

1. Cámara RGB. 2. Sensor de profundidad. 3. Micrófono multiarray. 4. Base motorizada.

Figura 23. Partes que componen la Kinect. Fuente [30]

Page 34: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

34

Figura 24. Kinect desmontada en la que se ven todas sus piezas. Fuente [30]

Cámara RGB El funcionamiento de la cámara RGB que monta la Kinect es como el de una cámara digital estándar. La luz atraviesa una lente que la dirige a un filtro encargado de separarla en los colores primarios, los cuales son proyectados sobre un sensor fotosensible. Este sensor genera una señal eléctrica en función de la intensidad de la señal que incide sobre él. Posteriormente, esta señal es convertida a digital mediante un ADC (Analog Digital Convert), que más tarde es analizada y reconstruida para su almacenamiento. Esto se consigue gracias a la interpolación, que permite rellenar aquellos espacios en los que falta información. El problema del sensor es que no distingue los colores, sino variaciones de intensidad, por tanto para obtener una imagen en color es necesario descomponer la imagen en los colores primarios (rojo, verde y azul). Estos son proyectados sobre distintas zonas del sensor, el cual reconoce la cantidad de intensidad de cada uno de ellos por separado, como se puede observar en la Figura 25. Estos sensores según que tecnología empleen se clasifican en CCD (Charge Couple Device) y CMOS (Complementary Metal Oxide Semiconductor). La diferencia viene dada por la forma en la que es transmitida la información. En el caso de los CCD, esta se envía a los extremos del sensor digital y de ahí al ADC, mientras que en el CMOS los valores se conducen directamente en formato digital, por lo que no precisa de un ADC.

Page 35: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

35

Figura 25. Diagrama de funcionamiento interno de la c´amara digital. Fuente

[30]

Sensor de Profundidad Por su parte, el sensor de profundidad está formado por dos componentes: un proyector de luz infrarroja (IR) y un sensor CMOS monocromo estándar. Ambos se encuentran alineados a lo largo del eje X del dispositivo, a una distancia (denominada “línea base”) de 75mm, con ejes ópticos paralelos (ver figura 23). Esta disposición dentro de Kinect facilita los cálculos de profundidad, que se basan en un principio similar al de triangulación activa entre emisor y cámara, esto es, entre los rayos visuales de los puntos proyectados y sus correspondientes proyecciones en la imagen. A diferencia de los métodos tradicionales de triangulación activa, los desarrolladores de la tecnología de la cámara de rango presente en Kinect proponen una técnica ingeniosa para la obtención de información 3D, denominada codificación de Luz (Light Coding)[31]. La idea principal consiste en un proceso en dos fases, una primera de calibración, y otra de funcionamiento. En la fase de calibración, se emplea el proyector de luz infrarroja para proyectar un patrón de puntos (ver figura 26) sobre un plano de la escena, variando su distancia entre posiciones conocidas. A su vez, la cámara captura una imagen del patrón proyectado sobre el plano para cada una de estas distancias. Las imágenes obtenidas se denominan imágenes de referencia y se almacenan en el sensor.

Page 36: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

36

Figura 26. Ejemplo de patrón de puntos proyectado. Fuente [30]

En la fase de funcionamiento se emplean las imágenes de referencia para sustituir “virtualmente” al emisor del patrón IR, de tal manera que para cada nueva imagen capturada por el sensor, el cálculo de profundidad se resume a un problema de visión estéreo con configuración ideal: cámaras idénticas, ejes alineados y separados una distancia base de 75 mm En cuanto al error cometido por las mediciones, de acuerdo con [31], este es menor a los 10cm a distancias superiores a los 4m, y menor a los 2cm en mediciones inferiores a los 2.5m.

Micrófono Multiarray El sensor Kinect también dispone, como ya hemos mencionado, de un micrófono multiarray que permite situar la procedencia de los sonidos. Este dispositivo no ser a utilizado pues no tenemos que trabajar con ningún tipo de sonido.

Base Motorizada Por último se dispone de la base motorizada, que es la encargada de ajustar la inclinación en caso de que la cámara no detecte bien lo que tenga delante. En este caso tampoco ser necesaria la utilización de este elemento pues el objeto siempre estará colocado en una inclinación adecuada y a una distancia correcta de modo que la cámara no tendrá que realizar ningún ajuste[30].

Page 37: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

37

Funcionamiento El sensor Kinect es capaz de capturar el mundo que lo rodea en 3D mediante la combinación de la información obtenida de la cámara RGB y del sensor de profundidad. El resultado de esta combinación es una imagen RGB-D (color + profundidad) con una resolución de 320x240, donde a cada uno de los pıxeles se le asigna una información de color y de profundidad.

Características principales Campo de visión

Campo de visión horizontal: 57 grados.

Campo de visión vertical: 43 grados.

Rango de inclinación física: +/- 27 grados.

Rango de profundidad del sensor: 1,2 - 3,5 metros. Flujo de datos (data streams)

Sensor profundidad: 320 x 240 a 16 bits de profundidad y 30fps.

Cámara de color: 640 x 480 32-bit de color y 30fps.

Micrófono: audio de 16-bit a 16 kHz. Sistema de seguimiento

Rastrea hasta 6 personas.

Rastrea 20 articulaciones por persona.

Capacidad para mapear.

SOFTWARE

MATLAB MATLAB es un lenguaje de alto nivel y un entorno interactivo para cálculo numérico, visualización y programación. Usando MATLAB, se puede analizar datos, desarrollar algoritmos, y crear modelos y aplicaciones. El lenguaje, las herramientas y funciones matemáticas incorporadas permiten explorar múltiples enfoques y llegar a una solución más rápida que con las hojas de cálculo o lenguajes de programación tradicionales, tales como C, C++ o Java™. Se puede utilizar MATLAB para una gama de aplicaciones, incluyendo el procesamiento de imágenes y vídeo, procesamiento de señales y comunicaciones, sistemas de control, finanzas y biología computacional. [18]

Page 38: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

38

METODOLOGIA

ALGORITMO DE DETECCIÓN DE CUERPO ACOSTADO Y CUERPO ACOSTADO PARCIALMENTE OBSTRUIDO A continuación se mostrara el algoritmo implementado para la detección de personas acostadas, este mismo algoritmo se pensó para que detecte la persona parcialmente obstruida que es el segundo objetivo. El algoritmo que se desarrolla utiliza la técnica de correlación cruzada normalizada, la cual hará una comparación con una base de datos de cuerpos completos y partes de este. El sistema que se implementó se muestra en el diagrama de flujo de la figura 27 Esta etapa se desarrolla con los siguientes pasos: captura, filtrado, bases de datos, desarrollo del algoritmo de correlación y detección del cuerpo.

Page 39: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

39

Figura 27. Diagrama de flujo de la programación. Fuente: Autor

INICIO

Adquisición de la imagen de

profundidad

Filtro extracción de fondo

Algoritmo de correlación de bases de datos de

cuerpos

Dibujar un recuadro en la ubicación del cuerpo

¿Se detectó un cuerpo mayor al

75%?

NO

Algoritmo de correlación con bases de datos de partes del

cuerpo

SI

Publicación del porcentaje del

cuerpo

Reinicio del programa

Page 40: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

40

Captura Se implementó el sensor Kinect como la herramienta de captura. Este sensor tiene dos cámaras, por lo que genera dos tipos de imágenes, una es la imagen en formato RGB (figura 28), con resolución VGA de 640x480 pixeles y la otra es un mapa de profundidad (figura 30). Para trabajar en la detección de un cuerpo se escogió el mapa de profundidad debido a que no necesita de una fuente de luz para que se pueda visualizar y estas condiciones de poca luz o ausencia de esta son muy comunes en un escenario de catástrofe, solamente extraerá todas las distancias de la imagen. La captura se hace de un cuerpo acostado sin obstruir como se ve en la figura 28 y de un cuerpo obstruido como se ve en la figura 29. La captura se hace en un ambiente controlado donde el Kinect debe estar a una altura de 37 centímetros del suelo para que se pueda observar el cuerpo en el piso, es una altura adecuada que se sugiere para las condiciones del proyecto. También para hacer la captura del cuerpo el escenario no debe ser brillante, ya que los rayos del láser infrarrojo se reflejan hacia otra parte del escenario y la lectura de esa distancia seria desconocida.

Figura 28. Imagen en formato RGB de la escena. Fuente: Autor

Page 41: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

41

Figura 29. Imagen de cuerpo parcialmente obstruido. Fuente: Autor

Figura 30. Mapa de profundidad de la escena en escala de grises. Fuente:

Autor

Este mapa de profundidad genera una matriz de 640x480 puntos de profundidad, con los datos de las distancias de la imagen, el sensor Kinect puede llegar a distinguir la profundidad de cada objeto con una resolución de 1 centímetro, y un rango de profundidad entre 0.4 y 4 mts [2]. Cada pixel del mapa de profundidad es un número entre 400 y 8000 dependiendo el rango que se quiera utilizar, (figura 31) si esta por fuera del rango genera el número cero. Puede ser el rango cercano o el rango por defecto. En este proyecto se escogió el rango por defecto ya que permite medir hasta 4 metros de distancia con respecto al sensor, y el otro rango de profundidad solo deja medir hasta 3 metros como se ve en la figura 31 y condicionaría mucho más el proyecto.

Page 42: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

42

Figura 31. Rango de distancias admitidas por el sensor Kinect. Existen 2

modos (Default y Near). Fuente: [2]

Filtrado En la etapa de filtrado se desea obtener la silueta del cuerpo o la silueta del cuerpo obstruido, para esto se genera un código el cual se encarga de la extracción de fondo, la cual no se utiliza ninguna función de Matlab debido a que estas técnicas son utilizadas en imágenes a color y no en un mapa de profundidad. Debido a esto se genera un algoritmo el cual hace un barrido de la imagen horizontalmente, detectando si hay un cambio de profundidad no menor a los 15cm. Si detecta este cambio de profundidad se cambian los valores de la matriz por uno solo, de este modo se genera un campo de solo un valor. Este campo como se ve en la figura 32 no está completamente asociado a la silueta del cuerpo, sino que además genera unas líneas, que no aparecen en todos los casos, pero que pueden deformar la silueta de un objeto, debido a esto se hace otro filtro para quitar estas líneas y dejar solamente la silueta (figura 33).

Page 43: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

43

Figura 32. Filtro de extracción de fondo, primer filtrado. Fuente: Autor

Figura 33. Filtro final de la silueta, elimina líneas que no interesan. Fuente:

Autor

Seguido de esto, se procede a binarizar la imagen debido a que toca hacer la correlación y la forma más rápida para ejecutar este método es con la imagen binarizada. Para esto se hace un barrido a la imagen y lo que no sea la silueta se le asigna otro número diferente al de la silueta, seguido de esto se le asigna un umbral

Page 44: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

44

y se binariza (figura 34). En este punto ya se tiene una silueta del cuerpo en blanco y negro o binarizada.

Figura 34. Imagen binarizada de la silueta. Fuente: Autor

Bases de datos Para hacer la correlación hay que tener una imagen base para compararla con la que está en la escena, para esto hay que hacer una base de datos con todos los posibles cuerpos acostados que se podrían encontrar en una catástrofe o en los diferentes escenarios. Esta base de datos se hace con los pasos anteriores haciendo las diferentes figuras de cuerpos acostados, la imagen binarizada se recorta y se guarda como una imagen con la extensión “.png”. La figura 35 muestra algunas de las posibles posturas que se guardaron en la base de datos, todas estas posturas se le hace un “mirror” vertical por que el cuerpo puede estar en esa posición o la posición invertida.

Page 45: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

45

Figura 35. Posturas recortadas de la base de datos. Fuente: Autor

Si se tiene un cuerpo obstruido la base de datos no puede ser igual a la anterior ya que al hacer la correlación ninguna de estas comparaciones arrojara un porcentaje verídico del cuerpo. Debido a esto se va a generar otra base de datos pero en este caso va a ser de las partes del cuerpo de las siluetas de nuestra primera base de datos. Se recortaran todas las siluetas que ya se han guardado y de dividirá cada una de estas en cabeza, pecho, brazos, muslo, pantorrilla y pies (figura 36).

(a) (b)

(c) (d) (e) Figura 36. Recortes de la silueta de un cuerpo. (a) cabeza, (b) muslo, (c) pies,

(d) pecho, (e) pantorrillas. Fuente: Autor

Desarrollo del algoritmo de correlación El algoritmo que se seleccionó para hacer la detección de un cuerpo fue la correlación cruzada y normalizada. Esta correlación es de dos dimensiones y tiene una función en Matlab “normxcorr2(silueta,binario)” la cual se utiliza primero poniendo la imagen de la base de datos y después la imagen binarizada capturada por el Kinect. El resultado de esta correlación da un número de cero a uno, donde 1 es el 100% de parecido de la imagen y 0 que no se parece en nada. Si el cuerpo esta obstruido por un objeto la correlación hará la comparación con las partes del cuerpo y no con las siluetas, de esta forma el resultado arrojado será más

Page 46: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

46

verídico que una comparación entre una silueta completa del cuerpo y un cuerpo obstruido. En el caso de un cuerpo parcialmente obstruido no va a comparar todo el cuerpo sino partes de él, debido a que la silueta que se obtiene va estar acompañada de un objeto. Esta correlación se hace si en el anterior procedimiento no arroja un porcentaje del cuerpo mayor al 75%, esto quiere decir que puede haber un cuerpo obstruido, no puede haber cuerpo o hay otra cosa que no sea un cuerpo. Para poder visualizar esta correlación se hace una gráfica sombreada tridimensional la cual nos muestra que hay un pico y si este es más rojo es porque la imagen se parece a la otra (figura 37).

Figura 37. Grafica sombreada tridimensional (surf) de la correlacion. Fuente:

Autor

Detección del cuerpo Para la detección del cuerpo se hacen todas las correlaciones con la base de datos y arrojara un número mayor a la correlación que más se parezca al cuerpo, si este número es mayor a 0.75 es porque hay un cuerpo acostado en la imagen y detectaría un cuerpo si es menor es porque no hay un cuerpo en la escena. Esto se visualiza por medio del porcentaje que nos arroje la correlación mas alta, el porcentaje es publicado en la interfaz y en un recuadro rojo encerrara el cuerpo como se muestra en la figura 38 En el caso de la detección de un cuerpo obstruido, se hace la comparación de la silueta que tiene un cuerpo y un objeto que lo está tapando, con cada una de las partes del cuerpo. Se dividen estas correlaciones entre las partes del cuerpo que hay en la base de datos, y por cada parte se mira cual es el máximo, si este número es mayor a 0.8 es porque esa parte se encuentra en la imagen. De acuerdo a esto

Page 47: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

47

se evalúa cuantas partes del cuerpo hay en la imagen y se genera un porcentaje de cuanto hay del cuerpo. También se podrá visualizar en un recuadro rojo encerrando la silueta donde posiblemente puede haber un cuerpo, acompañado de un número el cual va a ser el porcentaje de detección del cuerpo como se muestra en la figura 39

Figura 38. Interfaz de detección de un cuerpo encerrado en un cuadro rojo.

Fuente: Autor

Page 48: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

48

Figura 39. Interfaz de detección de un cuerpo parcialmente obstruido

encerrado en un cuadro rojo. Fuente: Autor

MARGEN DE ERROR DEL SISTEMA Y GRADO DE PRECISIÓN DE LOS ALGORITMOS

El siguiente objetivo se evaluara cual es el grado de precisión de los algoritmos en un ambiente controlado, se van a tomar diferentes pruebas con cuerpos y cuerpos obstruidos para generar este margen de error Para generar este grado de precisión se contara con 10 personas en dos diferentes posturas, (figura 40) y a cada persona se obstruirá de dos formas diferentes (figura 41). De esta forma se tendra 20 cuerpos sin obstruir y 20 cuerpos obstruidos para así generar el grado de precisión de los algoritmos.

Page 49: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

49

Figura 40. Postura de la persona. Fuete: Autor

Figura 41. Persona obstruida por un objeto. Fuente: Autor

Se toman todos estos datos en la tabla 2 donde los datos son de los cuerpos sin ningún objeto, para evaluar el primer algoritmo de detección.

No de personas

Porcentaje de

detección (%)

1 91,4523

2 93,3134

Page 50: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

50

3 88,1321

4 95,4778

5 87,0985

6 89,8413

7 94,2093

8 86,9380

9 90,8173

10 89,0293

11 83,9256

12 90,8392

13 93,0956

14 84,4896

15 94,6586

16 90,8955

17 88,9833

18 95,1469

19 89,4903

20 92,3895

Tabla 2. Datos de los porcentajes del cuerpo sin obstruir. Fuente: autor

Cada uno de estos cuerpos tendría que dar un 100% de efectividad porque es todo el cuerpo el que se está evaluando, debido a esto se saca el promedio de todas las mediciones que es el 91,5111 entonces según la ecuación 15

𝐸𝑟 = |𝑋𝑖 − 𝑋𝑣

𝑋𝑣|

( 15)

Donde Xi – Xv es el cociente de error absoluto y Xv es el valor real de la magnitud, según esto el error es del 8,4889% Esto quiere decir que el algoritmo tiene un grado de precisión de 91,5111% En la tabla 3 se muestran los datos de los cuerpos obstruidos para evaluar el segundo algoritmo de detección

No de personas

Porcentaje de

detección

1 34,6523

2 35,956

3 45,9575

4 46,4676

5 46,5665

Page 51: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

51

6 44,6756

7 45,4687

8 45,7899

9 46,5446

10 37,8984

11 53,9403

12 56,9843

13 76,3509

14 32,4904

15 78,3443

16 23,3565

17 24,7998

18 68,7887

19 57,8998

20 68,6686

Tabla 3. Datos de los porcentajes del cuerpo parcialmente obstruidos.

Fuente: autor

En este caso cuando se tienen los cuerpos obstruidos de diferentes formas es más difícil evaluar el grado de precisión del algoritmo, pero se tubo eso en cuenta entonces a diez personas de las 20 se obstruyo solo el pecho y la cara, de acuerdo con esto se extrajo de la base de datos un cuerpo y se hizo una cuenta del su 100% al que se segmento y se extrajo el pecho y cara, que da un 52,7897%. Con estos datos se puede sacar el promedio que en este caso las diez personas fueron del 42,9977%, y el error según la ecuación 15 es del 18,54% y el grado de precisión es de 81,4509% Las otras diez personas se obstruyeron en cualquier parte del cuerpo, no en una zona específica.

INTERFAZ GRÁFICA DE USUARIO En el siguiente objetivo se va a crear una interfaz gráfica donde se pueda visualizar la detección del cuerpo y el porcentaje de este La interfaz se crea a partir de la herramienta GUIDE de Matlab. En primer lugar hay que presionar el botón “iniciar” donde se va a poder observar el escenario (figura 42)

Page 52: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

52

Figura 42: visualización de la interfaz. Fuente: Autor

El botón iniciar como se ve en la figura 43 se oculta para que se pueda proceder con la función de escanear, igualmente se hace con la barra de herramientas se deshabilita por que no hay un escáner de imagen para hacer estas funciones

Figura 43. Interfaz gráfica escenario. Fuente: Autor

Seguido de esto se verifica que el Kinect este en una posición, el cual no este volteado y este a 47 cm del suelo, para esto se hace el pre-visualización del escenario, para comprobar que está en una buena posición se hace una prueba presionando escanear sin ningún cuerpo y si el porcentaje de detección de víctima es 0 es porque está correctamente situado como se muestra en la figura 44

Page 53: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

53

Figura 44: prueba del escenario sin cuerpo. Fuente: Autor

A continuación después de terminadas las pruebas ya se puede utilizar con cuerpo, cuando el cuerpo ya este acostado obstruido o sin obstruir, se procede a presionar el botón escanear, lo que hace es desarrollar los dos algoritmos y genera el porcentaje de detección del cuerpo y encierra en un recuadro rojo donde se encuentre el cuerpo (figura 45).

Figura 45. Interfaz gráfica con algoritmo completado. Fuente: Autor

Por último se puede ver en la barra de herramientas que se habilita y se tienen dos opciones, una es la imagen del cuerpo binarizada como se ve en la imagen 46, esta es para comprobar que el algoritmo está funcionando correctamente y la otra es la

Page 54: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

54

imagen RGB del cuerpo como se ve en la imagen 47 que es la imagen que se está analizando

Figura 46. Imagen binarizada del cuerpo. Fuente: Autor

Figura 47: Imagen RGB del cuerpo. Fuente: Autor

Page 55: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

55

PRUEBAS Y RESULTADOS Para la evaluación de la detección de un cuerpo parcialmente obstruido se hicieron diferentes pruebas con hombres y mujeres, para observar el margen de error de los algoritmos propuestos Primero se hace una prueba en el escenario donde no va haber ningún cuerpo (figura 48) para observar si genera el algoritmo algún porcentaje

Figura 48. Prueba del escenario sin cuerpo. Fuente: Autor

Después de observar que en la ausencia de un cuerpo genera un 0% de detección de víctima, se procede a probar con un cuerpo sin obstrucción alguna (figura 49) y se evalúa el algoritmo de acuerdo al porcentaje que genera el programa.

Page 56: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

56

Figura 49. Prueba del escenario con cuerpo sin obstrucción. Fuente: Autor

El programa arroja un porcentaje de solamente el cuerpo donde se puede observar (figura 49) que es un porcentaje bastante grande, el cual se puede concluir que el algoritmo si está funcionando. Después se procede a evaluar el algoritmo con varias personas para así poder asignar un porcentaje de error del algoritmo, este experimento está expuesto en la metodología del proyecto donde se hizo la prueba con 10 personas y cada persona hacia dos diferentes posturas y así poder hallar una precisión del algoritmo. En ese experimento como se ve en la tabla 2 donde se puede observar que el grado de precisión es del 91,5111% y el porcentaje de error es 8,4889%. Esta precisión no es tan alta debido a que se tendría que hacer una base de datos con milésimas posturas del cuerpo, para que el porcentaje de error sea menor. Seguido de la evaluación del algoritmo con cuerpos acostados, se procede a iniciar con los cuerpos parcialmente obstruidos, primero se hace una prueba de un cuerpo con un objeto que lo obstruye en cualquier parte como se ve en la figura 50

Page 57: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

57

Figura 50. Prueba del escenario con cuerpo parcialmente obstruido. Fuente:

Autor

Se observa que el porcentaje que genera el programa va de acuerdo a lo que la cámara puede ver del cuerpo. Se hace esta prueba para probar que el algoritmo si está funcionando, para después hacer el experimento con muchas más imágenes y generar el porcentaje de precisión del algoritmo. A cada cuerpo se obstruye con un objeto de dos formas diferentes de esta forma se puede evaluar 20 situaciones distintas, las diez primeras personas se obstruyo solo en la cabeza y el pecho y a las otras 10 en cualquier zona. Como se puede observar en la etapa 3 de la metodología del proyecto donde se hace el experimento para poder hallar la precisión del algoritmo en estas condiciones, la tabla 3 muestra los porcentajes de cada cuerpo obstruido. El porcentaje de error fue de 18,54% y el grado de precisión es de 81,4509%. En este caso es más grande que en las siluetas ya que en este caso solo se están detectando por partes y hay un rango más amplio que puede fallar el algoritmo ya que cada parte del cuerpo puede estar en diferentes posiciones y la base de datos tendría que ser muy grande para que el margen de error fuera más pequeño.

Page 58: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

58

CONCLUSIONES El algoritmo de correlación cruzada y normalizada es un buen método para la detección de personas acostadas ya que en las diferentes pruebas que se hicieron el grado de precisión supera el 90% y esto determina que muy probablemente hay un cuerpo en la escena. La base de datos se podría aumentar con más posturas de cuerpos acostados pero esto demandaría más tiempo a la hora de la detección, por esta razón se tiene una base de datos suficiente con diferentes posiciones, para que no se mas alto el tiempo de detección de un cuerpo. Los cuerpos acostados y parcialmente obstruidos pueden generar muchas posiciones en donde la detección de la presencia de algún cuerpo tiene una precisión del 81,45%, que es un amplio margen para concluir que hay una parte del cuerpo en esta escena. La precisión es bastante grande que soluciona este problema, que si se tuviera una mayor base de datos determinaría más una parte del cuerpo con menor margen de error, pero esto al igual que el cuerpo que no está obstruido aumenta en tiempo su detección. Se escogió la captura de la escena por medio del mapa de profundidad ya que, el proyecto se encamino hacia un posible ambiente de catástrofe natural, donde el único objetivo es conseguir cuerpos con vida o sin vida en medio de los escombros, este escenario tiene poca luz o nula, y el mapa de profundidad funciona en cualquiera de estas condiciones. Como la correlación se hace con siluetas del cuerpo o partes de este es muy probable que en una escena de catástrofe donde pueden haber muchas condiciones, los escombros pueden tener una silueta que se pueda parecer a un cuerpo o a partes de este, en estas situaciones hay que verificar bien, pero es muy alta la posibilidad que sea un cuerpo

Page 59: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

59

REFERENCIAS [1] G. Bermúdez, K. Novoa, and W. Infante, “La robótica en actividades de

búsqueda y rescate urbano. Origen, actualidad y perspectivas,” Tecnura, vol. 15, pp. 97–108, 2004.

[2] L. Mathe, D. Simbán, and G. Gómez, “Estudio del funcionamiento del sensor Kinect y aplicaciones para bioingeniería,” pp. 1–6, 2012.

[3] D. Mery, “Visi ´ on Artificial,” 2002. [4] D. Samaniego, R. Directora, V. Naranjo, and O. Fecha, “Sistema inteligente

para reconocimiento de género mediante el sensor Kinect,” 2012. [5] “CENTRO POLITÉCNICO SUPERIOR Implementación de algoritmos de

detección de personas en imágenes utilizando métodos de planificación y estimación en el desarrollo software Codirectora : Inmaculada Plaza García,” 2010.

[6] A. D. Sanchez, “Facultad de Informática,” 2014. [7] et all Rogério dos Santos Alves; Alex Soares de Souza, “No Title No Title,”

Igarss 2014, no. 1, pp. 1–5, 2014. [8] F. A. C. Lucero, “Etección de robo / abandono de objetos en interiores

utilizando cámaras de profundidad,” 2012. [9] P. J. Besl, “Active optical range imaging sensors,” Mach. Vis. Appl., vol. 1, pp.

127–152, 1989. [10] B. Curless, “Overview of Active Vision Techniques,” Siggraph’ 99, pp. 1–24,

2000. [11] “Strand_OptEng85_Optical3DSensing.pdf.” . [12] D. Scharstein and R. Szeliski, “A Taxonomy and Evaluation of Dense Two-

Frame Stereo Correspondence Algorithms,” vol. 47, no. 1–3, pp. 7–42, 2001. [13] “stereoreview.pdf.” . [14] “Epipolar geometry.” [Online]. Available:

http://en.wikipedia.org/wiki/Epipolar_geometry. [15] J. Davis and X. Chen, “A laser range scanner designed for minimum

calibration complexity,” Proc. Int. Conf. 3-D Digit. Imaging Model. 3DIM, vol. 2001-Janua, pp. 91–98, 2001.

[16] “DEPTH CAMERA IMAGE PROCESSING AND APPLICATIONS Seungkyu Lee Samsung Advanced Institute of Technology,” pp. 545–548, 2012.

[17] J. Mure-Dubois, H. Heinz, and H. Hügli, “Real-time scattering compensation for time-of-flight camera,” Proc. SPIE, vol. 6762, no. Icvs, p. 67620H–67620H–10, 2007.

[18] S. Foix and G. Aleny, “Lock-in Time-of-Flight ( ToF ) Cameras : A Survey,” vol. 11, no. 3, pp. 1–11, 2011.

[19] R. Szeliski, “Computer Vision : Algorithms and Applications,” Computer (Long. Beach. Calif)., vol. 5, p. 832, 2010.

[20] O. Hall-Holt and S. Rusinkiewicz, “Stripe boundary codes for real-time structured-light range scanning of moving objects,” Comput. Vision, 2001. ICCV 2001. Proceedings. Eighth IEEE Int. Conf., vol. 2, pp. 359–366, 2001.

Page 60: DETECCIÓN AUTOMÁTICA DE VICTIMA CON …repository.udistrital.edu.co/bitstream/11349/4656/1/UribeBermudez... · en casos de algunas catástrofes naturales donde es ... de la correlacion

60

[21] D. Scharstein and R. Szeliski, “High-accuracy stereo depth maps using structured light,” Proc. 2003 IEEE Comput. Soc. Conf. Comput. Vis. Pattern Recognit., pp. I–195 – I–202, 2003.

[22] C. Bräuer-Burchardt, A. Breitbarth, P. Kühmstedt, I. Schmidt, M. Heinze, G. Notni, F. I. O. F. Jena, and D.- Jena, “Fringe Projection Based High Speed 3D Sensor for Real-Time Measurements,” Proc. SPIE, vol. 8802, pp. 808212–1 – 808212–8, 2011.

[23] M. J. Dahan, N. Chen, A. Shamir, and D. Cohen-Or, “Combining color and depth for enhanced image segmentation and retargeting,” Vis. Comput., vol. 28, no. 12, pp. 1181–1193, 2012.

[24] G. Gordon, T. Darrell, M. Harville, and J. Woodfill, “Background estimation and removal based on range and color,” Cvpr, vol. 2, no. June, pp. 459–464, 1999.

[25] S. Piérard and M. Van Droogenbroeck, “Techniques to improve the foreground segmentation with a {3D} camera and a color camera,” Work. Circuits, Syst. Signal Process., pp. 247–250, 2009.

[26] B. Ni, G. Wang, and P. Moulin, “RGBD-HuDaAct: A color-depth video database for human daily activity recognition,” Proc. IEEE Int. Conf. Comput. Vis., pp. 1147–1153, 2011.

[27] P. Gabriel, “by Kinect.” [28] “Kinect Hacks.” [Online]. Available: http://www.kinecthacks.net/.. [29] P. Madrigal Bayonas, “Preprocesado y registro de imágenes médicas portal

con radiografías reconstruidas digitalmente,” 2010. [30] J. Nuño, “Proyecto fin de carrera reconocimiento de objetos mediante sensor

3d kinect ˜,” p. 109, 2012. [31] et al. J. Garcia, Z. Zalevsky, “Range mapping using speckle decorrelation,”

vol. 2, no. 12, 2008.