Plantillas OpenCV en conjunto de datos de puntos 2D

Estaba divagando cuál sería el mejor enfoque para detectar "figuras" en una serie de puntos 2D.

En este ejemplo tengo dos 'plantillas'. La figura 1 es una plantilla y la figura 2 es una plantilla. Cada una de estas plantillas existe solo como un vector de puntos con una coordenada x, y.

Digamos que tenemos un tercer vector con puntos con coordenadas x, y

¿Cuál sería la mejor manera de descubrir y aislar puntos que coincidan con uno de los dos primeros arreglos en el tercero? (incluyendo escalado, rotación)?

He estado probando los vecindarios más cercanos (FlannBasedMatcehr) o incluso la implementación de SVM, pero no parece obtenerme ningún resultado, la comparación de plantillas tampoco parece ser el camino a seguir, creo. No estoy trabajando en imágenes, sino solo en puntos 2D en la memoria ...

Especialmente porque el vector de entrada siempre tiene más puntos que el conjunto de datos original para comparar.

Todo lo que necesita hacer es encontrar puntos en la matriz que coincidan con una plantilla.

No soy un 'especialista' en aprendizaje automático ni en OpenCV. Supongo que estoy pasando por alto algo desde el principio ...

Muchas gracias por su ayuda / sugerencias.

Respuestas a la pregunta(1)

Su respuesta a la pregunta