Descriptores de características invariantes de escala y rotación

16

¿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

Jono Brogan
fuente
Use ORB (ORIENTADO RÁPIDO y BREVE ROTADO) de la biblioteca OpenCV.
Harsh Wardhan

Respuestas:

9

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:

  • "¿Cómo podría construir un descriptor de características útil (por ejemplo, invariante de rotación)"?
  • "con respecto a la declaración de la pregunta vinculada, ¿cómo logra la invariancia rotacional libre?"

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|black->gray->white||white->gray->black|-9090

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.

penelope
fuente
4

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 NxNpí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:

ingrese la descripción de la imagen aquí

Andrey Rubshtein
fuente
estamos hablando de descriptores de puntos clave (características) . Si estuviéramos hablando de características (puntos de interés) , la detección de parches circulares podría ser útil: son rotatoriamente invariables en combinación con cada descriptor. Pero un descriptor calculado en un parche circular no lo es: un círculo blanco con un diámetro horizontal en negro y uno vertical produciría descriptores muy diferentes si no se usa un método rotativamente invariante
penelope
@penelope, ¿por qué no? Considere el siguiente descriptor: una miniatura del parche, y lo compara con otros descriptores con correlación cruzada normalizada. No se puede confundir con otros objetos de esta manera.
Andrey Rubshtein el
Lo siento, no entiendo lo que quieres decir con "una miniatura del parche" ¿puedes explicarlo? Y el descriptor: la correlación de corss normalizada de su parche es lo que lo hace rotativamente invariante, no el hecho de que su parche fuera un anillo o círculo.
Penélope
@penelope, supongo que ahora no estaba lo suficientemente claro. Intentaré expandirlo mañana. Gracias por tus comentarios.
Andrey Rubshtein el
Estoy deseando que
llegue
1

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í .

Tolga Birdal
fuente
1

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

Hola Adios
fuente
0

También puedes consultar FAST y BRISK .

Libor
fuente
Por lo que he buscado, FAST es solo un detector utilizado con muchas combinaciones de descriptores diferentes. Y, FAST y BRISK ya se mencionan en la pregunta que el OP mismo ha vinculado, por lo que supongo que ya tiene información sobre la existencia de estos métodos.
Penélope