20.04.2014 Views

Desarrollo de Soluciones Cliente-Servidor para la Verificación ...

Desarrollo de Soluciones Cliente-Servidor para la Verificación ...

Desarrollo de Soluciones Cliente-Servidor para la Verificación ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3.4. Procesado <strong>de</strong> Imagen 49<br />

1. Se escoge <strong>la</strong> localización inicial <strong>de</strong> <strong>la</strong> ventana <strong>de</strong> búsqueda <strong>de</strong>ntro <strong>de</strong> <strong>la</strong> imagen<br />

don<strong>de</strong> se espera encontrar el objeto.<br />

2. Se aplica MEANSHIFT, tal y como se ha explicado anteriormente, una o varias<br />

iteraciones, almacenando el valor <strong>de</strong> <strong>la</strong> posición <strong>de</strong>l centroi<strong>de</strong> y <strong>de</strong>l momento <strong>de</strong><br />

or<strong>de</strong>n cero.<br />

3. Se centra <strong>la</strong> ventana <strong>de</strong> búsqueda en <strong>la</strong> posición <strong>de</strong>l centroi<strong>de</strong> y se actualiza su<br />

tamaño en función <strong>de</strong>l momento <strong>de</strong> or<strong>de</strong>n cero calcu<strong>la</strong>do en el paso 2. En <strong>la</strong> implementación<br />

<strong>de</strong> OpenCV [Bradski, 1998], <strong>para</strong> distribuciones <strong>de</strong> probabilidad <strong>de</strong><br />

imágenes 2D don<strong>de</strong> el valor máximo <strong>de</strong> píxel es 255, el tamaño <strong>de</strong> <strong>la</strong> ventana se<br />

ajusta según <strong>la</strong> siguiente fórmu<strong>la</strong>:<br />

s = 2 ∗<br />

√<br />

M00<br />

256<br />

(3.9)<br />

4. Se repiten los Pasos 2 y 3 hasta convergencia (el centro <strong>de</strong> masas se mueve menos<br />

que un umbral pre<strong>de</strong>finido).<br />

Este método <strong>de</strong> seguimiento <strong>de</strong> un objeto, en nuestro escenario, es muy inestable, pero<br />

con una serie <strong>de</strong> pequeños cambios adaptados a <strong>la</strong> situación pue<strong>de</strong> ser bastante útil.<br />

A<strong>de</strong>más, a diferencia <strong>de</strong>l algoritmo <strong>de</strong> Vio<strong>la</strong> & Jones, no se producen pérdidas en <strong>la</strong> localización<br />

<strong>de</strong> <strong>la</strong> cabeza en ningún fotograma. El principal problema que provoca <strong>la</strong> inestabilidad<br />

consiste en <strong>la</strong> confusión <strong>de</strong>l objeto con otros elementos <strong>de</strong>bido a una ma<strong>la</strong> imagen<br />

<strong>de</strong> probabilidad, <strong>la</strong> cual asigna excesivo valor a zonas don<strong>de</strong> no se encuentra <strong>la</strong> cara. En<br />

nuestro caso en particu<strong>la</strong>r, usaremos CAMSHIFT como un <strong>de</strong>tector <strong>de</strong> piel que inicializaremos<br />

con <strong>la</strong> salida <strong>de</strong> nuestro <strong>de</strong>tector múltiple basado en Vio<strong>la</strong> & Jones que <strong>de</strong>vuelve<br />

información sobre <strong>la</strong> localización <strong>de</strong> <strong>la</strong> cara y <strong>de</strong> varios rasgos faciales.<br />

3.4.4. Algoritmo <strong>de</strong> Lucas-Kana<strong>de</strong><br />

El método <strong>de</strong> seguimiento implementado por Lucas y Kana<strong>de</strong> e incluido en OpenCV<br />

[Bouguet, 2000] se basa en <strong>la</strong> representación piramidal <strong>de</strong> <strong>la</strong>s imágenes involucradas, <strong>de</strong><br />

forma que el seguimiento se realiza a lo <strong>la</strong>rgo <strong>de</strong> los diferentes niveles <strong>de</strong> profundidad <strong>de</strong><br />

<strong>la</strong>s pirámi<strong>de</strong>s. De esta forma el algoritmo es más robusto y su convergencia más rápida<br />

siempre que se escojan a<strong>de</strong>cuadamente los parámetros <strong>de</strong>l algoritmo (niveles <strong>de</strong> <strong>la</strong> pirámi<strong>de</strong>,<br />

condiciones <strong>para</strong> <strong>la</strong>s iteraciones, etc.). Se trata <strong>de</strong> un algoritmo iterativo <strong>de</strong> cálculo<br />

<strong>de</strong>l flujo óptico entre imágenes, que pue<strong>de</strong>n formar parte <strong>de</strong> una secuencia <strong>de</strong> ví<strong>de</strong>o o bien<br />

pue<strong>de</strong>n ser imágenes in<strong>de</strong>pendientes con alguna región en común, pero que en esta Tesis<br />

se correspon<strong>de</strong>rán con el flujo <strong>de</strong> ví<strong>de</strong>o proce<strong>de</strong>nte <strong>de</strong> <strong>la</strong> webcam.<br />

El seguimiento piramidal se basa en calcu<strong>la</strong>r el Vector <strong>de</strong> Flujo Óptico entre dos imágenes<br />

<strong>para</strong> <strong>la</strong> región <strong>de</strong> interés, partiendo <strong>de</strong> una región con poca información, pasando<br />

posteriormente a refinar el cálculo realizado ampliando <strong>la</strong> información en el nivel superior<br />

<strong>de</strong> <strong>la</strong> pirámi<strong>de</strong>. De esta forma, una vez se tiene calcu<strong>la</strong>do el vector <strong>de</strong> movimiento en un<br />

nivel, se calcu<strong>la</strong> dicho vector <strong>para</strong> el nivel superior, tomando en cuenta información sobre<br />

regiones que no aparecían en el nivel inferior. Así, partiendo <strong>de</strong> <strong>la</strong> región alre<strong>de</strong>dor <strong>de</strong>l

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!