2010-09-20 13 views
5

Quiero desarrollar un sistema que pueda rastrear y seguir una carretera. Inicialmente, me gustaría manejar carreteras bien definidas solo y quizás más tarde incorporar el seguimiento de carreteras que no están tan bien definidas.Comenzando en ComputerVision/Road Tracking

El problema al que me enfrento es que no sé por dónde empezar. Soy nuevo en el procesamiento de imágenes y esperaba poder obtener algunos consejos sobre dónde comenzar y qué libros leer sobre el tema. Soy un programador "experimentado" (puedo programar en C y Python bastante bien, y puedo manejar C++ y Objective-C), por lo que el código en sí no es tan importante, es solo "¿dónde empiezo? ¿leo? " eso me confunde También estoy abierto a aprender otro idioma si me ayuda de todos modos.

Agradeceré cualquier sugerencia sobre este punto.

Respuesta

3

No sé su nivel en matemáticas en absoluto. El "Handbook of Mathematical Models in Computer Vision" es una muy buena referencia en mi mente. Deberías echarle un vistazo a la versión de "libros de google".

+0

Soy un estudiante de ingeniería, por lo que las matemáticas no son * demasiado * un gran problema para mí. – saad

+0

Es un libro muy bueno, pero * no * es un libro para principiantes. – Niki

+0

usuario, ¿qué recomendarías para un principiante? – saad

0

Desde un punto de vista de muy alto nivel, puede que le resulte interesante ver el episodio de PBS Nova, The Great Robot Race.

El equipo ganador usó una combinación de análisis visual con cámaras, así como buscadores de rango láser. Los láseres eran geniales, pero solo para distancias muy cortas (< 100ft). Usaron el láser para descubrir dónde estaba el camino y de qué color era. A partir de ahí, la cámara se usó para emparejar colores donde el camino podría estar apagado en la distancia.

+0

Voy a comprobar esto, seguro. Cualquier cosa que pueda ayudar a tener una idea clara de esto. – saad

0

El problema que enfrenta es video tracking, específicamente, el seguimiento de objetos rígidos (lo que significa que su objeto no es deformable). Hay varios enfoques para el problema. Dependiendo de sus datos, es posible que desee utilizar el enfoque de seguimiento de características/blob o flujo óptico.

Supongo que el flujo óptico es un buen punto de partida. Hay dos algoritmos básicos: Por cuerno & Shunk y Lucas & Kanade. Uno de los mejores métodos de última generación es por D.Sun (paper and MATLAB code), también ofrece un análisis exhaustivo del trabajo anterior.

Una vez que calcule el flujo óptico, podrá rastrear cualquier punto de los cuadros vecinos. Para hacerlo más robusto, uno puede usar el paradigma particle video con P.Sand. Aunque puede ser un exceso para su problema (algo así como SLAM, ¿verdad?), Es probable que termine con un método simple.

2

Para una práctica: Learning OpenCV: Computer Vision with the OpenCV Library por Gary Bradski y Adrian Kaehler. Este libro le dará una buena introducción a muchos temas de CV, referencias para ir más allá y ejemplos de código usando OpenCV, probablemente la biblioteca de visión por computador más utilizada hoy en día (recientemente, NVidia anunció portar parte del código a sus GPU). OpenCV presenta las API C, C++ y Python.

González y Woods 'Digital Image Processing es un buen compañero de técnicas de procesamiento de imágenes.

Actualización Olvidé el nuevo Szelisk's book caliente.Hay un gratis (y bueno) borrador disponible!