Pregunta

Tengo algunos problemas conceptuales para comprender el algoritmo de Surf y Sift Todo sobre surf. En lo que respecta a mi comprensión, el surf encuentra la laplaciana de gaussianos y Sift opera en la diferencia de gaussianos. Luego construye un vector de 64 variables a su alrededor para extraer las características. He aplicado esto CÓDIGO.

(P1) Entonces, ¿qué forma las características?

(P2) Inicializamos el algoritmo utilizando el detector SurFeaturedEtector (500). Entonces, ¿esto significa que el tamaño del espacio de características es 500?

(Q3) La salida de Surf Good_matches da coincidencias entre KeyyPoint1 y KeyyPoint2 y al ajustar el número de coincidencias podemos concluir que si el objeto se ha encontrado/detectado o no. ¿Qué se entiende por KeyPoints? ¿Están almacenados las funciones?

(P4) Necesito hacer una aplicación de reconocimiento de objetos. En el código, parece que el algoritmo puede reconocer el libro. Entonces, se puede aplicar para el reconocimiento de objetos. Tenía la impresión de que el surf se puede usar para diferenciar objetos en función del color y la forma. Pero, Surf y Sift encuentren la detección del borde de la esquina, por lo que no tiene sentido el uso de imágenes en color como muestras de entrenamiento, ya que se convertirán en escala de grises. No existe la opción de usar colores o HSV en estos algoritmos, a menos que calcule los puntos clave para cada canal por separado, que es un área de investigación diferente (Evaluación de descriptores de color para el reconocimiento de objetos y escenas).

Entonces, ¿cómo puedo detectar y reconocer objetos en función de su color, forma? Creo que puedo usar surf para diferenciar objetos en función de su forma. Digamos, por ejemplo, tengo 2 libros y una botella. Solo necesito reconocer un solo libro de los objetos completos. Pero, tan pronto como hay otros objetos de forma similar en la escena, Surf ofrece muchos falsos positivos. Apreciaré sugerencias sobre qué métodos solicitar mi solicitud.

¿Fue útil?

Solución

  1. El máximo local (respuesta del perro que es mayor (más pequeño) que las respuestas de los píxeles vecinos sobre el punto, la imagen superior y amante en la pirámide - vecindario 3x3x3) forma las coordenadas del centro de características (círculo). El radio del círculo es el nivel de la pirámide.

  2. Es el umbral de Hesse. Significa que solo tomaría máximas (ver 1) con valores más grandes que el umbral. El umbral más grande conduce a la menor cantidad de características, pero la estabilidad de las características es mejor y Visa Versa.

  3. KeyPoint == característica. En OpenCV KeyyPoint es la estructura para almacenar características.

  4. No, el surf es bueno para la comparación de los objetos texturizados pero no para la forma y el color. Para la forma, recomiendo usar MSER (pero no OpenCV One), detector de borde canny, no características locales. Esta presentación podría ser útil

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top