Posts tagged Vision por computador

Sustraccion de fondo o Background subtraction en OpenCV

Para mejorar las posibilidades de la detección de cuadrados en busca de la carátula de CD me he aventurado a probar la sustracción de fondo.

Considero que la cámara va a estar colocada en un sitio concreto. Incluso me estoy planteando enfocarla hacia arriba. Pero eso es facilitarme las cosas demasiado. Primero quiero ver las carátulas y después ir subiendo la complejidad. Es posible que cada vez que suba un nivel de complejidad el enfoque para llegar a la solución sea diferente. Pero lo importante es aprender :) Acepto críticas y sugerencias. (De sabios es evaluar y dudar cuidadosamente cualquier afirmación).

Con este enfoque pretendo quedarme con lo que se mueva y a partir de ahí pasar el detector de cuadrados.

En el código que estoy utilizando:

  • Es un refrito, hay partes en castellano y otras en ingles. ¡ Son pruebas !
  • Se está realizando una sustracción del fondo Gausiana (Gaussian Mixture Model)
  • Se genera un mapa de bits donde el negro absoluto significa fondo y el blanco puro significa “no fondo” ( es decir, algo en movimiento)
  • En la ventana llamada “Original” genero una imagen en la que solo se ve lo que está en movimiento.
  • Tiene un warning en la asignación de valor a x, insisto! son pruebas!

backgrsub

Enlaces de interés:

Código:

Read the rest of this entry »

Instalar OpenCV en Ubuntu 9.10

La instalación de OpenCV v 1.1 en Ubuntu 9.10 y 8.1 está automatizada con el Gestor de Paquetes Synaptic.

Solo hay que ir a Sistema>Administración>Gestor de Paquetes Synaptic y buscar “libcv.dev” hacer doble click en este paquete y aceptar la instalación de los paquetes necesarios.

Instalar la versión 2.0 de OpenCV es más problemático y las mejoras pese a ser abundantes no son necesarias para el desarrollo de Open Virtual Object Viewer.

Recomendaciones:

  • Como tutorial principal y guía de referencia recomiendo el wiki de Wilowgarage.
  • Como guía de referencia y para aprendizaje de directrices de visión por computador lo mejor es el libro de O`Really Learning OpenCV.
  • Para temas sencillos recomiendo utilizar OpenCV 1.1, si requieres algo más concreto o más depurado mirate la versión 2.0

Descripción Formal – Caso Concreto

Se pretende diseñar y desarrollar un sistema capaz de determinar la existencia de una carátula de CD en una imagen, obtenida por un dispositivo móvil. Así como determinar el autor, el título del disco, el estilo musical e incluso reproducir las pistas del CD. Utilizando para ello un sistema de recuperación de información basado en contenido (CBIR).  Este sistema recibirá tan solo la parte de la imagen en la que se encuentre la carátula. El algoritmo de detección de la carátula de CD y el aislamiento de la misma consistirá en la etapa de preprocesado de la imagen.

Un sistema CBIR coherente almacena exclusivamente información del mismo tipo. Si se trata de carátulas de CD contendrá información exclusiva sobre carátulas de CD. Por tanto el resto de objetos que aparezcan en la imagen contaminarán los resultados. Para obtener información fiable del sistema CBIR se le deben suministrar imágenes que única y exclusivamente contengan carátulas de CD.

Se ha tomado como caso concreto la detección y aislamiento de carátulas de CD en imágenes obtenidas por un dispositivo portátil por considerarse un reto concreto, complicado, comprensible, fácilmente acotable, usable y útil.

  • Concreto: se trata de un cuadrado de doce por doce centímetros, su tamaño no varía excepto por la perspectiva y es totalmente plano.
  • Complicado: existen millones de carátulas de CDs, algunas de ellas muy parecidas. Por otro parte es relativamente complicado detectar un objeto concreto en una imagen, asilarlo y determinar si es lo que se está buscando basándose tan solo en el tamaño y sin tener en cuenta color, textura y formas interiores.
  • Comprensible: pese a tratarse de sistemas complejos para oídos inexpertos es fácil comprender su uso así como su utilidad.
  • Facilmente acotable: se pueden limitar las colecciones de carátulas de CDs para delimitar la complejidad. Las imágenes de entrada pueden ser tanto o tan poco complicadas como se considere oportuno. El desarrollo puede ser de complejidad gradual creciente.
  • Usable: al tratarse de un dispositivo móvil de uso común se podrá utilizar en cualquier lugar cuando se posea una conexión.
  • Útil: para las personas con discapacidad visual diferenciar un CD de otro es realmente complicado si no lo han marcado previamente pues no suelen contener caracteres braille.

De manera general la arquitectura del sistema debe permitir la inclusión de nuevas formas a detectar y debe ser sencillo e intuitivo incluir nuevos objetos a detectar. Se pretende dotar de especial importancia al diseño, la modularidad y la reutilizabilidad serán factores críticos en esta inminente etapa.