android - efficient - ¿Cómo funciona OpenCV ORB Feature Detector?
orb: an efficient alternative to sift or surf (1)
ACTUALIZACIÓN: ahora está en la documentación de OpenCV, aquí: http://opencv.itseez.com/modules/features2d/doc/feature_detection_and_description.html#orb
Una descripción detallada del algoritmo se encuentra aquí: http://www.willowgarage.com/sites/default/files/orb_final.pdf
No se menciona en la documentación de OpenCV, pero en realidad OpenCV tiene:
Dos tipos de descriptores:
- descripciones flotantes:
- TAMIZAR A
- NAVEGAR
- descripciones de uchar:
- ORBE
- BREVE
Y corresponsales correspondientes:
- para descripciones flotantes:
-
FlannBased
-
BruteForce<L2<float> >
-
BruteForce<SL2<float> >
// desde 2.3.1 -
BruteForce<L1<float> >
-
- para las descripciones de uchar:
-
BruteForce<Hamming>
-
BruteForce<HammingLUT>
-
FlannBased
con índice LSH // desde 2.4.0
-
Por lo tanto, debe modificar su código para usar, por ejemplo, BruteForce<Hamming>
matcher para los descriptores ORB. Es posible usar la distancia L2 o L1 para hacer coincidir las descripciones de uchar, pero los resultados serán incorrectos y findHomography arrojará resultados insatisfactorios.
Quiero implementar un algoritmo de alineación basado en características usando el detector y extractor de funciones ORB.
Hasta ahora, he extraído las características usando la clase ORB orb;
OpenCV ORB orb;
orb(gray_image,Mat(),features.keypoints,features.descriptors);
y los combinó usando la función knnMatch de openCV matcher.knnMatch(features1.descriptors, features2.descriptors, pair_matches,2);
Después de eso estoy tratando de encontrar una homografía usando la función findHomography, pero esta función necesita al menos 4 coincidencias entre las características de la imagen, y en la mayoría de las imágenes que probé obtuve menos de 4.
Alguien ha usado esta característica? ¿Hay alguna documentación al respecto, o sobre la clase ORB de OpenCV (el significado de los parámetros del constructor ORB)?
PD: esta es mi primera pregunta. y no puedo publicar más de 2 enlaces. Para la documentación de OpenCV use esto .