¿Puede enumerar algunos descriptores de características invariantes de escala y rotacionales para usar en la detección de características?
La aplicación es para la detección de automóviles y humanos en video capturado por un UAV, utilizando un clasificador de múltiples clases.
Hasta ahora he estado mirando SIFT y MSER (que es invariante afín). También he visto LESH, LESH se basa en el modelo de energía local, pero se calcula de una manera que no es rotacionalmente invariante, he estado tratando de pensar en una forma de hacer uso de la energía local, para construir una rotacionalmente invariante descriptor de características, leí aquí ¿Cuáles son algunas alternativas gratuitas a SIFT / SURF que se pueden usar en aplicaciones comerciales? , que "si asigna orientación al punto de interés y gira el parche de la imagen en consecuencia, obtendrá invariancia rotacional de forma gratuita", pero no sabe si esto es relevante o cómo podría aplicar esto a mi problema, cualquier ayuda sería apreciado, gracias
Respuestas:
En cuanto a las alternativas a SIFT / SURF, la pregunta que vinculó proporciona muy buenas respuestas.
Había dos preguntas más que podía leer:
Descriptores de características de construcción
Este es un tema de investigación válido. Los buenos descriptores de características no son algo que cualquiera pueda construir en una tarde. Las personas publican artículos cuando modelan con éxito descriptores de características con propiedades deseables. Esta es una razón por la que actualmente solo se utilizan un puñado de descriptores de vanguardia, y eso es también lo que le aconsejo que haga: encontrar descriptores de características que se adapten a sus necesidades .
Lograr la invariancia rotacional "gratis"
Puede determinar el gradiente dominante u orientación en un parche de imagen (su área de características). Luego, gire el parche de imagen para que el gradiente siempre esté mirando en la misma dirección, por ejemplo, (hacia arriba). Por ejemplo, si tuviera una y una imagen, sus gradientes dominantes estarían apuntando a la izquierda ( - 90 ) y a la derecha ( 90 ) respectivamente, y cuando las rote en esta cantidad, obtendrá las mismas imágenes.0 0 - 90 90
|black->gray->white|
|white->gray->black|
De esta manera, siempre calculará el descriptor en un parche de imagen con la misma orientación dominante (el parche girado), y así logrará la invariancia rotacional.
fuente
Otra forma de obtener la invariancia rotacional de forma gratuita es elegir objetos que sean invariantemente rotacionales. Por ejemplo, un círculo o un anillo es invariable para las rotaciones.
Extractor de funciones : detección de bordes de ejecución. Para cada vecindad de
NxN
píxeles, calcule la dirección del borde y el histograma 2D de magnitud. Encuentre todos los puntos que tienen una magnitud total alta y una dispersión angular alta . Elimine todos los puntos que no tengan simetría radial.Descriptor de características : encuentre el centro de cada objeto circular. Como el objeto es circular, no tiene un ángulo de gradiente dominante. Todos los ángulos son iguales. Por lo tanto, un perfil radial (suma de valor de píxel en coordenadas polares) es un descriptor invariante de ángulo.
Por cierto, esa es una de las razones por las que los fiduciales se fabrican como círculos en placas de circuitos eléctricos:
fuente
Prefiero mirar a KAZE / AKAZE, que funcionan igualmente bien con una aceleración significativa. Los casos de deformación también son tolerados. OpenCV ha obtenido recientemente una implementación a través de GSoC 2014. Puede encontrarla aquí .
fuente
Si reasigna un parche local alrededor de un punto característico a coordenadas log-polares (con el origen en el punto de interés), los cambios de escala corresponden a una traslación a lo largo del eje log-radial, mientras que las rotaciones corresponden a traslaciones (con ajuste) a lo largo del eje angular. Si luego calcula la transformada de Fourier bidimensional, las traducciones en las direcciones radial y angular se convierten en cambios de fase en el dominio de la frecuencia. Si luego calcula el valor absoluto de la transformada de Fourier, la fase desaparece por completo, y los cambios de escala y las rotaciones del parche de imagen original pasan desapercibidos. Por lo tanto, el valor absoluto de la transformación de Fourier 2D de la imagen en coordenadas log-poolar sería su descriptor de características.
Bueno, al menos en teoría. En la práctica, debe limitar la extensión radial de su parche. Esto significa que debe cortar una gran parte de sus datos antes de calcular la transformación de Fourier (que en realidad es una serie de Fourier), por lo que una traducción a lo largo de la dirección log-radial en coordenadas log-polares no corresponde exactamente a cambio de fase en el dominio de la frecuencia, por lo que el método no es perfectamente invariante de escala. Sospecho que si usa alguna función de ventana , sin discontinuidades, en la coordenada log-radio y la multiplica con la intensidad del color, este problema se mitigaría un poco.
Sin embargo, el descriptor de características aún debería ser perfectamente invariante a la rotación.
Referencia: Invarianza de escala sin selección de escala
fuente
También puedes consultar FAST y BRISK .
fuente