Editar A invariância afim requer esta versão da curvatura aparentemente.
http://en.wikipedia.org/wiki/Affine_curvature#Affine_curvature
Suponha que é a isso que estou me referindo. (Embora a curvatura normal seja invariável a rotações que podem ser boas o suficiente).
Edite para obter uma versão invariável de escala da curvatura, veja aqui
/math/1329/what-is-the-form-of-curvature-that-is-invariant-under-rotations-and-uniform- scali
Os problemas de reconhecimento de gestos são uma subclasse de problemas de reconhecimento, e os problemas de reconhecimento são basicamente problemas de comparação de modelos.
Você está tentando encaixar o seu gesto em alguma coleção de gestos, o melhor gesto vence.
Eu gravava seu gesto várias vezes e tentava ajustar seus dados de treinamento com algo como um b-spline (uma curva). Você provavelmente deseja que seus gestos sejam invariantes a transformações afins (rotações, redimensionamento, translação), então armazene a curva como uma tabela de valores de curvatura (é improvável que tenha uma boa forma fechada), ao contrário das coordenadas cartesianas do controle pontos.
Esse é o modelo de um gesto. Digamos que você tenha vários.
Para compará-los, comece ajustando seus dados de entrada e, em seguida, avalie a curvatura x número de vezes, em que x oferece uma boa relação entre precisão e desempenho.
Agora, percorra os modelos e subtraia os valores da curvatura (avaliados no mesmo ponto ao longo das respectivas curvas em termos de comprimento do arco) e calcule a diferença. O valor resultante é chamado de residual. Resuma todos os resíduos. O modelo com os menores resíduos é o mais adequado e é o seu gesto mais provável.
Compare minha resposta com a @ Olie's. Eles são basicamente os mesmos, apesar de estarmos escolhendo modelos diferentes para o gesto (construir uma tabela da curvatura assinada e registrar a mudança no ângulo da tangente é quase o mesmo, suponho que os dados sejam gerados por um processo suave). curva com ruído), a principal diferença é que @Olie está incluindo a velocidade.
A escolha de quais parâmetros incluir em seu modelo depende da situação e dos requisitos de desempenho. Lembre-se de que a adição de parâmetros ao seu modelo aumenta a dimensão.