Reconnaissance de forme sur courbe
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

Reconnaissance de forme sur courbe



  1. #1
    invitecb9ef4b5

    Reconnaissance de forme sur courbe


    ------

    Bonjour

    J ai une courbe comme ceci :

    Image supprimée

    J aimerais pouvoir reconnaitre les formes par exemple /\/\ mais pas necessairement de même hauteur.
    La courbe est construite de façon simple :
    X -> +1
    y -> +1/-1

    merci de tous vos conseils et suggestions.
    stephane

    -----
    Dernière modification par JPL ; 16/05/2013 à 19h55.

  2. #2
    JPL
    Responsable des forums

    Re : Reconnaissance de forme sur courbe

    Les images personnelles doivent être postées exclusivement en pièces jointes, pas sur un serveur extérieur.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  3. #3
    invitecb9ef4b5

    Re : Reconnaissance de forme sur courbe

    Dsl pour l image, voici la piece jointe
    Nom : 948118img3.jpg
Affichages : 214
Taille : 118,8 Ko

    enfin j ai utilisé l editeur...

  4. #4
    Dlzlogic

    Re : Reconnaissance de forme sur courbe

    Bonjour,
    J'ai pas très bien compris votre question.
    Si on trace la courbe représentant un phénomène, c'est pour avoir une connaissance visuelle de ce phénomène.
    Là vous semblez vouloir une connaissance numérique de ce phénomène à partir de sa représentation visuelle.

  5. A voir en vidéo sur Futura
  6. #5
    invitecb9ef4b5

    Re : Reconnaissance de forme sur courbe

    Merci d avoir consacré du temps à mon post.

    Mon pb est que je peux reconnaitre des formes simple comme un parfait W puisque je trace la courbe. Mais si comme sur le chart au dessus, le W n est ni parfait ni aligné sur un même plan je ne sais pas le reconnaitre 'au travers de mon code'. Par exemple, vers 890, le W est parfait mais en 930 il n est pas identique comme en 990/1010.

    Ce que j aimerais c est programmer un algo qui reconnaisse ces formes même 'deformées' mais je n ai aucune idee de par où commencer.

    Je peux parser le chart pour determiner tous les 'modeles' un a un avec un premier passage les modeles de 4 de long, au deuxieme de 5 etc, les mettre dans un tableau et au passage final comparer chaque representation avec mon tableau de modele mais c est tres fastidieux et je ne pense pas des plus efficace.

    La finalité etant de, comme en bourse, reperer des modeles et essayer d en deduire l evolution de la courbe en fonction de ce modele...

    merci de vos suggestions

  7. #6
    invite5418555b

    Re : Reconnaissance de forme sur courbe

    Salut,

    C'est pas bien complique. Je ferais comme suit...

    Déjà il faut lisser un peu la courbe pour eviter les toutes petites variations. Pour cela on calcule une moyenne mobile avec une duree dependant de l'echelle du motif que l'on veut trouver ( plus on veut detecter le motif a petite echelle, plus on prend une moyenne mobile a court terme ).

    Ensuite on detecte les changement de pente de la courbe en regardant les changement de signes de la derivee ( on calcule les (x2-x1)/(y2-y1) de la moyenne mobile).

    On garde en mémoire les 5 derniers changements de signes de la derivee ( pour un motif /\/\ ), et on compare les valeurs ( mettons (x1,y1), (x2,y2), (x3,y3), (x4,y4), (x4,y4), ) a celles du motif. On peut calculer un coefficient de ressemblance.

    Tu n'as pas besoin de stocker ta moyenne mobile en mémoire, tu peux t'en tirer avec juste le stockage de la longueur du motif, puis calculer directement la derivee.

    Tu te fais une fonction a laquelle tu passes en parametre le tableau de tes donnees, ainsi que la duree de ta moyenne mobile ou la taille du motif que tu cherches, et un tableau sur le resultat qui sera rempli par ta fonction. Ce vecteur de resultat contiendra des enregistrements comprenant les information sur l'emplacement des motifs, c'est a dire (x1,y1), (x2,y2), (x3,y3), (x4,y4), (x4,y4), et le coefficient de ressemblance de l'enregistrement.

    Nicolas.

    PS: l'analyse technique c'est pas mal de la daube...

  8. #7
    invite5418555b

    Re : Reconnaissance de forme sur courbe

    Excuse, je viens d'y penser, les coordonnees des points de tes motifs ne sont pas celles ou la moyenne mobile change de signe.

    Il faut que tu gardes le max des points des donnees du chart apres que la pente de la MM soit devenue positive et le min quand elle devient negative.

    Ce sont les min et les max qui vont etre les points du motif.

    a+,
    Nicolas.

  9. #8
    invitecb9ef4b5

    Re : Reconnaissance de forme sur courbe

    Merci pour ta reponse, je crois avoir compris....

    Je vais tenter de programmer cela ce week-end

  10. #9
    invite5418555b

    Re : Reconnaissance de forme sur courbe

    Salut,

    Il y a un autre moyen aussi... tu parcours ton graphe et tu essayes de reconnaitre le motif en faisant la difference entre ton graphe et le motif.

    A chaque point tu fais ygraph - ymotif, tu sommes cette difference sur toute la longueur du motif. Plus la somme est basse, plus c'est ressemblant. Il faut prendre la valeur absolue de la difference par contre sinon ca marche pas.

    Il faut aussi que tu tiennes compte que ton motif peut etre etire dans le graphe, donc il faut que tu compares a plusieurs degres d'etirement du motif ( y compris pour l'autre methode).

    Have fun,
    Nicolas.

  11. #10
    invitecb9ef4b5

    Re : Reconnaissance de forme sur courbe

    Merci pour cette nouvelle approche mais je me pose une question :
    Si on prend en compte comme tu le precise la valeur absolue un motif qui fait |0-(+1)| est agal à |0-(-1)| donc je me trouve confronté à 2 motifs differents avec la meme somme...

    Ou alors j ai loupé un truc ?

    Merci

  12. #11
    invite5418555b

    Re : Reconnaissance de forme sur courbe

    Salut,

    Que ton motif fasse +1 ou -1, ce n'est pas grave, c'est la distance qui compte. Dans les 2 cas la distance depuis 0 est egale a 1, c'est ca que tu veux savoir. ( Ce que tu veux savoir c'est si ta courbe a l'air de suivre le motif)

    De plus, si ton motif commence avec ymotif=0 au debut, pour chaque calcul de valeur absolue, il faudrait que tu soustraies le y graph du premier point ou tu fais ta comparaison pour avoir la distance ( appelons le ygraph0 ). Donc sur toute la longueur du motif, tu fais |ygraph-ygraph0 - ymotif|.


    De toutes facons, l'idee de la soustraction n'est peut-etre pas si efficace. En fait, l'autre methode avec la moyenne mobile serait surement plus rapide, et surtout plus souple. Ce que tu pourrais faire, c'est faire une premiere fonction qui trouve tous les min et max avec la moyenne mobile, et qui les retourne dans un vecteur. Ensuite, comme tu as les mins et les max, tu peux chercher facilement n'importe quel motif. Tu te fais une deuxieme fonction qui prend en parametre le motif ( dans une structure pour que ce soit clean ) a chercher, ainsi que le vecteur de min et max, et qui te retourne l'emplacement de tous les motifs.

    Ca serait bien si ton programme permettait de trouver n'importe quel motif. Apres tu peux faire autant de statistique que tu veux. Part exemple tu peux calculer la probabilite que le motif /\/ finisse comme /\/\ , ou faire n'importe quelle statistique sur les motifs qui te chante. Tu peux aussi saisir au clavier les parametres d'un motif quelconque et paf ca te les sort tous.

    Il faut aussi que tu tienne compte de l'etirement, sinon ca ne trouvera jamais rien.

    a+,
    Nicolas.

  13. #12
    invitecb9ef4b5

    Re : Reconnaissance de forme sur courbe

    merci pour ces precisions.

    Je vais tester tout cela ce week end

Discussions similaires

  1. reconnaissance d'une courbe linéaire
    Par cacahuete35 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 25/11/2012, 21h26
  2. Reconnaissance Forme/couleur par camera...
    Par invite43849e4d dans le forum Logiciel - Software - Open Source
    Réponses: 17
    Dernier message: 17/11/2011, 09h52
  3. reconnaissance de forme par capteur ultrason
    Par invite59dd9621 dans le forum Électronique
    Réponses: 0
    Dernier message: 16/03/2011, 09h15
  4. Reconnaissance d'une courbe
    Par invitec35bc9ea dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 18/11/2010, 19h42
  5. forme quadratique et courbe plane
    Par Bruno0693 dans le forum Mathématiques du supérieur
    Réponses: 10
    Dernier message: 28/04/2008, 00h13