Monday 24 June 2013

Aplicaciones de Visión

En cuestiones de objetos en movimiento la visión comunicacional tiene aplicaciones en cuanto al conocer el comportamiento de objetos en movimientos, ya sea para cuestiones de vigilancia, rastreo e identificación, interfaces hombre-maquina, deportes, etc... estas cuestiones tienen un grado mayor de complejidad, comparándolo con un análisis estático de una serie reducida de imágenes, ya que implican grandes cantidades de capturas por lo que se requiere un análisis mas organizado y selectivo. Este tipo de situaciones representan un reto el cual ya se ha trabajado en ello, con lo cual se tienen soluciones y trabajos a futuros para hacer frente a estos retos (Referencia 1).

En cuestiones de comunicación y administración de recursos, en el caso de la referencia 2, se mostró la necesidad de poner los recursos de procesamiento digital de imágenes, al alcance de toda la red del hospital, integrarlos y presentarlos en una interfaz amigable para los usuarios, el documento menciona que fue echo para los sistemas de Unix y Windos.

En cuestiones de seguridad, se hace mucho uso de visión computacional para el reconocimiento de personas; haciendo uso de rasgos biométricos según la situación, grado de seguridad y condiciones de captura de las muestras, teniendo las imágenes de un individuo por medio de métodos de procesamiento de digital de imágenes se extrae el rasgo o rasgos biométricos a usar para el registro de ese individuo, de los rasgos biométricos se extraen datos únicos de cada individuo,los cuales deben ser irrepetibles; con estos un sistema extraería de una base de datos, tomaría otra muestra de imagen de la persona, extraería los datos relevantes de los rasgos y los compararía con su base de datos para tomar la decisión de que individuo se trata, de sí es un individuo nuevo o alguien que intenta suplantar una identidad.

En la imagen de arriba se observa un ejemplo del uso de lectura de retina.

El rasgo mas usado y estudiado es el de huella digital, pero existen otros rasgos, unos con mas ventajas que otros, por ejemplo el color de piel, es un rasgo que cambia con el tiempo, varía mucho con la luz y la herramienta de captura; la lectura de retina también es otro rasgo muy usado para identificar a las personas, área de la cara y forma, mano, pies, imagen 3D del cuerpo, retina, frecuencias de la voz, etc...

En la imagen de arriba se observa un ejemplo del procesado de empalmado de imágenes o en ingles "stitching" en el cual las imágenes combinadas generan una imagen mas grande, este gato de dos patas no existe como tal si no que es un gato normal pero que estaba en movimiento como el carro de google streets también esta en movimiento y tomando fotos, dos de estas fotos debieron contener partes del gato, como este continuo caminando, creo que el algoritmo tomo el cuerpo del gato de la foto 1 y la foto 2 como idénticos y los tomo como marco, es por eso que unió desde la parte trasera hasta la delantera omitiendo el cuerpo, ya que procuran crear uniones entre fotos con las partes de píxeles iguales.

Bibliografía:

  1. Machine Learning for Vision-Based Motion Analysis: Theory and Techniques, by Liang Wang, G. Zhao, Li C., Matti P., (Eds.); Editorial Springer
    http://books.google.es/books?id=Xz_q4QyP99IC&lpg=PR5&ots=nqwow748y5&dq=Vision%20machine%20applied%20to%20healthcare&lr&hl=es&pg=PR4#v=onepage&q=Vision%20machine%20applied%20to%20healthcare&f=false
  2. DIPE: A Distributed Environment for Medical Image Processing, by M Zikos, E Kaldoudi, SC Orphanoudakis - 1997 - Citeseer, Medical Informatics Europe 14th International Congress, Porto Carras, Greece
  3. http://commons.wikimedia.org/wiki/File:Retinal_scan_securimetrics.jpg
  4. "Human Skin Colour Clustering for Face Detection", Jure Kovac, Peter Perr and Franc Solina, University of Ljubljana
    http://academic.aua.am/Skhachat/Public/Papers%20on%20Face%20Detection/Human%20Skin%20Colour%20Clustering%20for%20Face%20Detection.pdf
  5. Aplicaciones de la Biometría a la seguridad by Carmen Sánchez Ávila; VIII Ciclo de Conferencias UPM-TASSI; CEDINT, U. Politécnica de Madrid.
    http://www.criptored.upm.es/descarga/TASSI2012_CarmenSanchez.pdf
  6. http://www.nuevodiarioweb.com.ar/notas/2013/5/8/google-street-view-fotografia-gato-patas-medio-cuerpo-452079.asp

Sunday 23 June 2013

Herramientas open source para uso de visión con Python

Por lo general Python ya viene predefinido en versiones de Linux así que le preguntamos al terminal que versión tengo con:

python --vesion

Creo solo necesito Numpy, en el segundo link se muestra como instalar esa librería, yo solo trate de instalar python-numpy, pero no me instalo nada; por lo que quisa ya venia con mi python así que para checar la versión que tengan del Numpy sigan las instrucciones de la imagen siguiente:

Para tener el openCV, hay que descargarlo de su pagina (referencia 4), descargaremos un .tar.gz que fácilmente puede ser extraído con "tar -zxvf opencv-2.4.5.tar.gz" después de eso segun la referencia 5 hay que tener CMake, herramienta que ya esta integrada en Linux:

Ya que se tiene el CMake ya podremos continuar con la instalación del openCV:

Después escribimos "make" en el termial y damos enter, proceso que tardara mucho mas que en el vídeo de la referencia 10. Después haremos sudo make install y con esto debería ser mas que suficiente para hacer uso del OpenCV en Python.

Instalando PIL:

En la imagen de arriba tenemos que el .tar.gz ya esta extraido y se abrio el README con EMACS
En la imagen de arriba se muestra parte del archivo que contiene los pasos a seguir para instalar PIL

No tuve problemas instalando PIL mas que este no podia crear unos directirios, el problema se soluciona dando permisos de usuario con sudo antes del "python setup.py install".

Por ultimo se requiere instalar TKInter, para esto se recomienda: "sudo apt-get install python-tk"

En la imagen de arriba vemos que la librería de TKInter ya esta instalada

Esto es todo por el momento, para tener instalados y listos para usar; no debería haber ningún problema.

Bibliografía:

  1. http://www.python.org/
  2. http://www.scipy.org/install.html
  3. http://www.andrewsturges.com/2012/05/installing-numpy-16-on-python-27-in.html
  4. http://opencv.org/
  5. http://opencv.willowgarage.com/wiki/InstallGuide
  6. http://www.cmake.org/
  7. http://hdesu.wordpress.com/2007/12/11/como-instalar-archivos-targz-o-gz-en-ubuntu/
  8. http://www.pythonware.com/products/pil/
  9. http://stackoverflow.com/questions/4783810/install-tkinter-for-python
  10. http://www.youtube.com/watch?v=MqQB5KKJCh0