miércoles, 30 de enero de 2008

Smart Condensation

Buenas, algunos me habéis preguntado, varias veces, de qué va mi investigación. Así que he decidido explicarlo sencilla y brevemente.

En el marco del proyecto DRIVSCO, se está desarrollando un sistema de visión para ponérselo a un coche y que ayude al conductor en situaciones de baja visibilidad. Para ello, detectará obstáculos, situaciones peligrosas, etc y enviará una señal al conductor. Por lo tanto, será necesario captar las imágenes de 2 cámaras que llevará el coche y procesarlas para extraer distintas cosas (distancia de los objetos, velocidad y dirección de las cosas en movimiento, calzada y fallos estructurales en la misma, ...), que se conocen generalmente como primitivas.

Os daréis cuenta la de cosas que se consiguen con sólo 2 imágenes iniciales. El principal problema radica en almacenar y retransmitir tooooodo eso. Para eso estoy yo :D. Mi investigación va de condensar la información teniendo en cuenta la estructura de los objetos y para qué va a ser utilizada (no es lo mismo transmitir una imagen para buscar objetos en movimiento que para detectar agujeros en el suelo). Así que lo que yo hago es lo siguiente:


De esta forma, si cogemos la disparidad (que indica lo lejos que están las cosas) y la condensamos, sólo necesitaríamos enviar el 7% de los datos, pudiendo reconstruirla luego con un MSE de algo más de 1 como se ve en la imagen siguiente:



Y ya está, siento el rollo :P

6 comentarios:

Reven dijo...

Parece interesante a la vez que horrorosamente dificil jajaja.

Salu2!!!!

Quique dijo...

Suena molón. Ya me enseñarás resultados interesantes cuando los tengas, no? que tú sabes que me gustan estas cosas...

y yo mejor no pongo lo que estoy haciendo, porque si no, tendría que mataros :P

Athenea dijo...

Sí, estoy de acuerdo en que suena muy interesante, y que tiene muchísima aplicación. Animo, porque imagino que lleva trabajillo...

Alfonso E. dijo...

Entiendo que la disparidad se calcula con la estimación de la siguiente escena, dado un flujo óptico previamente calculado y el siguiente cuadro tomado.

Una pregunta, ¿qué ocurre con los cambios bruscos de luz (un árbol que hace sombra, p. ej.)? Porque entonces, la disparidad se vuelve terriblemente grande al entrar en una zona iluminada de forma distinta...

Miauz dijo...

Gracias a todos por los ánimos y por leéroslo xD

Alfonso: La disparidad se calcula utilizando el desplazamiento que hay entre dos imágenes captadas en el mismo instante con dos cámaras ligeramente separadas entre sí. No se utiliza ningún flujo porque todo esto es en tiempo real y no puede "pre calcularse".

Lo de los cambios bruscos de luz se intenta solucionar con un esquema que se llama "signal to signal loop". La idea es que si en las capas superiores de procesamiento detectan algo raro como un cambio de luz grande, envían un parámetro a las capas de captación y low-level vision (que es donde se encuadra lo que yo hago) para que se ajusten a él, todo ello en menos de 4 milisegundos. Además, las cámaras que usamos son muy pijas ellas y llevan autoadaptación a los niveles de luz ;) Y, más aún, el sistema final tiene hasta cámaras de visión nocturna. :P

Auron dijo...

Aunque llegue un poco tarde diré lo mismo: es muy interesante! (aunque claro, una cosa es explicarlo y otra hacerlo). La verdad es que a saber en el futuro cómo serán los coches... pq poco a poco entre los gps, ordenadores de a bordo y todo eso, al final mientras conduces te descargas una canción o chateas con alguien por voz xD

Cuando lo tengas instalado en tu coche avisa eh!