martes, 14 de febrero de 2017

Algoritmo de Imagen


Visión global de los sistemas de vídeo vigilancia

Se entiende por sistema de video vigilancia a toda aquella actividad que implique la colocación de una o varias cámaras de grabación, fijas o móviles, que tengan la finalidad de monitorizar el comportamiento y actividades de un espacio o personas Los sistemas de videovigilancia pueden estar compuestos, simplemente, por una o más cámaras de vigilancia conectadas a uno o más monitores o televisores que reproducen las imágenes capturadas por las cámaras. Los sistemas de videovigilancia pueden clasificarse por el tipo de sensor (infrarojo, audio y vídeo), por la multiplicidad del sensor (monocular o estéreo) y por el emplazamiento del sensor (centralizado o distribuido) [4]. Según Valera y Velastin , la forma más apropiada de clasificar los sistemas de video vigilancia es clasificarlos en tres generaciones que se distinguen por la tecnología empleada en ellos. La primera generación la forman los sistemas de circuito cerrado de televisión o CCTV. Se les conoce por el nombre de circuito cerrado porque todos los componentes que lo forman están enlazados entre sí. Este conjunto de sistemas están formados por un grupo de cámaras distribuidas que se sitúan en la zona de vigilancia y se conectan a un conjunto de monitores que normalmente se ubican en una sala central. Este tipo de sistemas son completamente analógicos y necesita de la supervisación de personas para hacer posible la detección de sucesos de interés. A pesar de sus limitaciones proporcionan una baja tasa de errores y son sistemas ampliamente utilizados debido en gran parte a la madurez de la tecnología que emplean. Sin embargo utilizan técnicas analógicas para el tratamiento, distribución y almacenamiento de las imágenes, y dependen demasiado de la actividad humana para detectar las anomalías que suceden en el entorno

Vídeo Tracking 

Se entiende por Video Tracking al proceso de localización de un objeto en movimiento (o varios) y su posterior seguimiento en el tiempo mediante el uso de cámaras de vídeo. Se utiliza en gran cantidad de aplicaciones, por ejemplo: interacción hombre-máquina; seguridad y vigilancia; compresión y comunicación de vídeo; realidad aumentada; control de tráfico, imágenes médicas y edición de vídeo Los sistemas visuales de seguimiento tienen dos principales componentes: representación y localización del objetivo, y filtrado de la información asociada. El primera utiliza una gran variedad de algoritmos para identificar el objeto en movimiento, por ejemplo: “Blob tracking”, “Kernel-based tracking”, “Contour Tracking”, “Feature matching” [8]. El segunda necesita conocer información a priori de la escena o del objeto para poder hacer su seguimiento . Este algoritmo permite seguir objetos complejos incrementados notablemente la complejidad computacional. Los algoritmos más comunes son: filtro de Kalman [9] y "Particle filter"[10]. Detección de objetos abandonados Esta tarea consiste en localizar automáticamente objetos que fueron abandonados en una escena [1]. Normalmente este tipo de objetos son bastante pequeños comparados con las personas y frecuentemente son ocultados por otras personas o vehículos que se mueven alrededor de la escena. Su funcionamiento se basa en utilizar algoritmos de segmentación que actúan en el primer plano de la secuencia. Los píxeles que no son parte del fondo y no se mueven se utilizan para encontrar regiones que contienen los posibles objetos abandonados. Sin embargo este tipo de sistemas son vulnerables a los problemas causados por fluctuaciones de iluminación, sombras y niveles de contraste de la escena [1]. 


Procesamiento Digital de Imágenes

 Las imágenes están en todos lados y casi toda la información que procesamos está en forma de imágenes, por ejemplo cuando miramos una fotografía, vemos televisión, admiramos una pintura o leemos un libro. Más aun, nuestra visión es el más eficiente de nuestros sentidos. 

El interés en el procesamiento digital de imágenes proviene de dos principales áreas de aplicación: el mejoramiento de información pictórica para interpretación humana y el procesamiento de imágenes de datos para almacenar, transmitir y representar información en la percepción de máquinas autónomas.


Clasificación de Objetos

 Otra aplicación importante es la clasificación de objetos observados en imágenes. El ejemplo clásico de clasificación es el reconocimiento de caracteres (reconocimiento óptico de caracteres u OCR). La figura 2.3 a la izquierda, muestra el reconocimiento de una etiqueta sobre un circuito integrado. La clasificación de objetos incluye también el reconocimiento de objetos en diferentes posiciones. En la figura 2.3 a la derecha, los conectores están localizados en orientaciones aleatorias. En este tipo de aplicaciones interesa eliminar todo el ruido posible, ya que este provoca que los caracteres sean poco observables. Una tarea de mejoramiento de contraste puede también ser ´útil. 

Tracking óptico: 

El tracking óptico es el control de los parámetros (posición, orientación y zoom) de una cámara en función de características extraídas de la imagen para mantener un determinado objeto en movimiento dentro del campo de visión.(Carlos, 2003) 

-Estimación de la pose 
Usando 1 cámara, Con la información aportada por una sola imagen, podemos obtener la pose de un objeto si conocemos su modelo. Para ello podemos emplear alguno de los algoritmos propuestos: DeMenthon, Lowe, TL, n Usando 2 o más cámaras. Teniendo varias imágenes, podemos obtener la pose de un objeto estableciendo la correspondencia entre puntos. Para ello podemos emplear alguna de las técnicas propuestas: Reconstrucción proyectiva-euclidea, Optical flow, ... 



Algoritmo de DeMenthon 

Este  algoritmo  empieza  con  una  aproximación  de  la  proyección  perspectiva,  
refinándola de forma iterativa hasta que el error sea menor que un determinado 
umbral.  Para ello hemos de indicarle 4 puntos no coplanares, teniendo encuenta 
que la precisión de la pose obtenida dependerá de la distancia de uno de los puntos 
hasta el plano definido por los otros tres. 


- Estimación de los parámetros de calibración 

Los  parámetros  de  calibración  son  necesarios  para  la  obtención  de  la  pose  del 
objeto. Estos parámetros cambian con variaciones del pan, tilt o zoom, por lo que 
es necesario calibrar la cámara en todo el rango de estas variables. 
La calibración se puede realizar off-line (antes del proceso de tracking) o on-line 
(durante el proceso de tracking). 

El control del zoom 

Una de las características del tracking basado en modelo es que una vez obtenida 
la  pose,  se puede extender con facilidad el  control para  el manejo  del zoom  en 
función de la profundidad o alejamiento del objeto. Con ello mantenemos el objeto 
con el mismo tamaño en la imagen aunque se acerque o aleje. 


Tipos de control (II) 

Controles implementados en posición y velocidad.  
Algoritmos implementados:  
  Reguladores P y PD  
  Reguladores P con cambio de pendiente  
  Reguladores FUZZY  
  Reguladores FUZZY con parámetros adaptativos 

Tracking basado en características 

Este tipo de tracking se basa en las características extraídas de la imagen y no en 
la  búsqueda  de un  modelo  conocido. La  idea fundamental en  la que  se  basa el 
tracking de características es ‘¿por qué hacer tracking del objeto entero cuando se 
puede obtener el mismo resultado haciendo tracking solo de las características? ’. 
Este planteamiento suele ser computacionalmente más eficiente que el basado en 
modelo, pero es menos robusto. 

 El  registró  y  la  unión  de  múltiples  exposiciones  de  la  misma  escena  mejora  la 
relación señal a ruido, lo que permite ver cosas hasta ahora imposibles de ver. En 
esta  imagen,  los  distantes  Alpes  se  hacen visibles,  aunque  están  a  decenas de 
kilómetros en la neblina. 
El registro de la imagen es el proceso de transformación de diferentes conjuntos de 
datos a un sistema de coordenadas. Los datos pueden ser múltiples fotografías, 
datos de diferentes sensores, de diferentes épocas o de diferentes puntos de vista.1 
Se utiliza en visión artificial, imagen médica, reconocimiento automático de objetivo 
y en la recopilación y análisis de imágenes y datos de los satélites. El registro es 
necesario para poder comparar o integrar los datos obtenidos de estas diferentes 
mediciones.(WIKIPEDIA) 


                 El  equipo  de  Russakovsky  no  ha  sido  el  único  que  se  centrado  en  la 
                 investigación de los algoritmos para el reconocimiento de patrones. Este año 
                 la  primera  posición  en  la  competición  mundial  más  importante  en  este 
                 campo,  ImageNet  Large-Scale  Visual  Recognition  Challenge,  la  ha 
                 ganado un grupo de investigadores de Google.( www.ticbeat.com) 



Matlab 

MATLAB es un lenguaje de alto nivel que incluye herramientas de cálculo 
numérico  y  visualización de  imágenes.  Es  un  programa  de  Mathworks orientado para realizar todo tipo de cálculos con vectores y matrices. También presenta la 
posibilidad de realizar gráficos en dos y tres dimensiones. 
MATLAB  es  una  herramienta  muy  potente  que  realiza  con  gran  precisión 
operaciones complejas. Se emplea en todo tipo de aplicaciones donde se trabaja 
con  funciones  matemáticas  o  matrices.  Su  entorno  gráfico  es  simple  y  su 
aprendizaje no requiere gran esfuerzo, lo que hace que sea uno de los lenguajes 
más empleados en el ámbito científico. 
   


MATLAB  

posee  unas  librerías  especializadas  para  distintos  tipos  de
aplicaciones  llamadas  toolboxes.  Estas  toolboxes  contienen  una  colección  de 
funciones (M-files) que extienden el dominio de MATLAB para resolver problemas 
de ámbitos particulares. Existen muchas áreas  de  trabajo  para  las  que  hay 
disponibles  toolboxes  específicas,  como por ejemplo el procesado de señales y de 
imágenes,  la  lógica  difusa,  los  sistemas de control, etc. También permiten llevar a 
cabo  simulaciones  usando  diferentes parámetros,  que  permiten  analizar  el 
comportamiento de diferentes sistemas. Procesado de imágenes con MATLAB 
MATLAB posee una toolbox de procesado de imágenes que proporciona un 
conjunto de funciones y herramientas para el análisis y visualización de imágenes 
digitales, así como para el desarrollo de algoritmos. 




 Esta  toolbox  proporciona  a  científicos,  investigadores  e  ingenieros  un  conjunto 
flexible de herramientas para resolver problemas complejos en el tratamiento de 
imágenes.

Muchas de las funciones de esta toolbox están implementadas de manera abierta, 
es decir podemos acceder a su código fuente y alterar los algoritmos según nuestras 
necesidades, o incluso desarrollar otros nuevos. Mediante esta toolbox podemos 
restaurar o degradar las imágenes, así como extraer y analizar datos de las mismas. 
Estas técnicas resultan muy útiles en campos como la astronomía, el control remoto, 
la industria aeroespacial, la medicina y la bioingeniería. 

VTK VTK (Visualization Toolkit) es un conjunto de librerías de código y distribución 
libres  destinadas  a  la  visualización  y  el  procesado  de  imágenes,  basadas  en  la 
programación  orientada  a  objetos.  Son  muy  amplias  y  complejas,  pero  aún  así, 
están  diseñadas  para  ser  sencillas  de  emplear  con  cualquier  lenguaje  de 
programación orientado a objetos, como pueden ser C++, Java, Tcl…. Son capaces 
de realizar operaciones sobre imágenes en dos y tres dimensiones y de generar 
modelos en las mismas con pocas líneas de código. Debido a su gran potencia, se 
hacen necesarios amplios recursos de memoria en el PC para poder aprovechar en 
su totalidad sus funcionalidades. 

El modelo gráfico de VTK posee un nivel de abstracción mucho mayor que el de 
otras librerías de renderización de imágenes como OpenGL o PEX. Esto se traduce 
en  una  mayor  sencillez  a  la  hora  de  implementar  aplicaciones  gráficas  o  de 
visualización con VTK. Además, las aplicaciones creadas empleando VTK pueden 
ser escritas directamente en Tcl, Java, Pitón o C++, lo que aumenta y facilita la 
posibilidad de implementar aplicaciones en poco tiempo. 

Por otra parte, este software es un sistema de visualización que no sólo nos permite 
visualizar geometría, sino que además soporta una amplia variedad dealgoritmos 
de visualización, incluyendo métodos escalares, vectoriales, tensores, de textura y 
volumétricos, además de otras modernas técnicas de modelado, como la reducción 
poligonal, el contorneado, la técnica de marching cubes, etc. 

 Organizacional 

Motivar  a  las  organizaciones  a  emplear  alta  tecnología  en  procesos  que 
puedan ser automatizados mediante la Visión Computacional. 

Económica 

Incentivar el desarrollo de aplicaciones para explotación y exportación, generando 
una fuente de ingresos económicos para el país. 
1.3. Problema 
¿Es posible desarrollar un algoritmo que mejore el desempe˜no de los algoritmos 
cl´asicos aplicados a la segmentaci´on de im´agenes? 

                         >>>Siguiente (Conexiones Satélitales )

Bibliografía: 

- http://www.ticbeat.com/innovacion/nuevo-algoritmo-google-detecta-objetos-
   imagen-con-mas-precision/ 

- Carlos Pérez, Oscar Reinoso(2003), Tracking óptico 

- http://dfists.ua.es/controlvisual/ponencias/SVCPCMumh.pdf 




0 comentarios :

Publicar un comentario