IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenCV Discussion :

Reconnaissance du numéro d'une moto en course


Sujet :

OpenCV

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Reconnaissance du numéro d'une moto en course
    Bonjour,

    Je participe chaque année à la dernière course amateur de 24h en cyclomoteur à Carcassonne. C'est une course à tout petit budget.



    On a toujours un problème pour le classement. Erreurs, jamais assez de personnel, etc...

    Je me demandais si avec une camera suspendue à un bâti au dessus de la piste, on ne pourrait pas effectuer le classement par reconnaissance d'image directe des numéros de course (ou éventuellement de code barre).



    Voila une photo pour montrer sur quoi on va mettre les numéros. C'est mon fils, 13 ans... Il est y pas beau ?

    La piste fait environ 4 mètres de large, on peut suspendre au dessus, on peut faire les plaques et les imposer aux concurrents, ainsi que l'emplacement au dessus du phare (et / ou sur le dosseret) à un angle bien précis.

    En terme de cahier des charges

    • Les plaques peuvent faire environ 25 à 30 cms de large, ce qui représente environ 5% de la largeur totale de l'image. Il y a au maximum 40 numéros différents (donc deux ou trois digits pour le numero). Les machines tournent en 70 secondes au tour, il y a donc un numéro à détecter toutes les 2 secondes en moyenne. (mais il y a des avalanches... a vrai dire, en cours de course, il est très fréquent qu'il se forme des "petits trains", donc il passe cinq ou six machines, personne pendant vingt secondes puis a nouveau un paquet de machines...)
    • On sait à une dizaine de degrés près, dans quelle sens et sous quel angle les plaques vont se présenter. On peut mettre un fond d'une couleur précise. Quand il n'y a pas de machine qui passe, le goudron est toujours le même.
    • La vitesse des cyclos, aux différents points ou on pourrait suspendre la camera, est entre 25 et 40 km/h. On ne mettra pas la reconnaissance là où ils sont à 120 ! Sauf si çà a un intérêt, mais je ne vois pas lequel. Cela fait qu'une plaque passe pendant environ 0,5 secondes devant la camera. Disons que 4 analyses par seconde suffiraient sans doute.
    • Il est possible d'éclairer "bien" la zone de passage des plaques.
    • Comme on est les organisateurs, on peut définir des choses si cela nous facilite notre analyse d'image. (du genre décider que les numéros de courses seront sur trois digit et ne comporteront que des 0, 1, 2 et 4, par exemple...). Naturellement, comme nous fournirons les plaques, on connaitra très exactement la forme des numéros... Je pense utiliser une couleur unique de fond avec un liseré autour de la plaque d'une autre couleur bien précise.
      La plaque peut être posée à l'arrière, sur le dosseret de selle. Je pense prendre les photos / le film du dessus pour éviter les bécanes qui se cachent l'une l'autre.


    Ce que j'ai besoin, c'est que le logiciel me sorte les numéros sous la forme d'un couple (numero, heure / minutes / secondes) de passage, enregistré dans un fichier au fur et à mesure.

    De l'expertise que vous avez,

    Avant que je me lance à corps perdu dans OpenCV, quelqu'un peut il me dire si cette application est raisonnablement réalisable avec un OpenCV, un PC récent et une caméra pas trop chére ? J'ai fait du C et du C++ dans mon jeune temps (j'étais même expert en ce temps là)

    Avez vous des idées qui me permettraient de réaliser un système de comptage de tours, pour 40 motos, même si c'est totalement différent de ce que j'envisage ?


    Notre seule contrainte c'est le coût... On ne peut pas acheter ni louer un système à transpondeurs super cher pour une course qui a lieu une fois par an et dont l'engagement est à 20 euros ! Je peux prêter une caméra que je me serai acheté pour moi et mes ordinateurs, mais il faut qu'on fasse avec du générique (si c'est spécifique, çà ne doit pas être cher !)


    Merci des éventuelles idées

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Points : 969
    Points
    969
    Par défaut
    Salut !

    Beau projet que tu as là, et oui, il est mignon le minot !
    Bon, d'après ma minable expérience, je pense que ton projet doit être réalisable pour pas cher.

    -La plupart des caméras (webcam) de moyenne gamme (env. 50-60 €) proposent un FPS à 30 voire 60 images/sec. Ce qui me parâit suffisant pour ton application.

    -Pour la vitesse des véhicules, je ne pense pas que cela soit limitant, j'ai déjà embarqué des webcams dans des voitures, et on peut avoir des images correctes même avec des vitesses relatives au dela de 200 km (même si c'est un peu saccadé).

    -Je ne connais pas la piste, mais tu pourrais avoir des problèmes avec de la pluie, du brouillard, peut être de la terre sur les plaques des motos (ou une famille de moustiques écrasés)

    -Je n'ai pas fait de reconnaissance de formes avec openCV, mais apparemment, si c'est bien fait, ça marche plutôt bien. Mais j'ai peur que lors du passage d'un ploton, tu puisses louper un concurrent. Je ne sais pas non plus si la taille de la plaque par rapport à l'image totale sera suffisante pour une reconnaissance claire. Cela dépend aussi de la résolution de ta caméra.

    -Le plus complexe selon moi, ne sera pas détecté une moto, ou une plaque, mais bien d'en identifier le numero de concurrent. Car il faudra pour cela faire "40" schémas de détéction, ce qui me semble fastidieux, et le traitement sera excessivement long. Et si un concurrent, ayant le 11 par exemple, est à moitié caché par un autre concurrent, il peut être reconnu comme le 1 ou ce genre de choses.

    Conclusion : Niveau acquisition d'images/temps de traitement, tu trouveras guère mieux qu'openCV. Je pense qu'une caméra aux alentours de 60 euros est suffisante pour ton application. Concernant la capacité de détection, je ne suis pas apte à te dire si tu pourras avoir quelque chose de fiable.

    G.
    Un problème avec Qt ? Vous trouverez votre réponse ici : http://doc.trolltech.com/4.6/overviews.html
    En français (traduction réalisée par l'équipe Qt de DVP) : http://qt.developpez.com/doc/4.6/vues-d-ensemble/

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Gulish Voir le message
    Salut !

    -Je n'ai pas fait de reconnaissance de formes avec openCV, mais apparemment, si c'est bien fait, ça marche plutôt bien. Mais j'ai peur que lors du passage d'un ploton, tu puisses louper un concurrent. Je ne sais pas non plus si la taille de la plaque par rapport à l'image totale sera suffisante pour une reconnaissance claire. Cela dépend aussi de la résolution de ta caméra.

    -Le plus complexe selon moi, ne sera pas détecté une moto, ou une plaque, mais bien d'en identifier le numero de concurrent. Car il faudra pour cela faire "40" schémas de détéction, ce qui me semble fastidieux, et le traitement sera excessivement long. Et si un concurrent, ayant le 11 par exemple, est à moitié caché par un autre concurrent, il peut être reconnu comme le 1 ou ce genre de choses.

    Conclusion : Niveau acquisition d'images/temps de traitement, tu trouveras guère mieux qu'openCV. Je pense qu'une caméra aux alentours de 60 euros est suffisante pour ton application. Concernant la capacité de détection, je ne suis pas apte à te dire si tu pourras avoir quelque chose de fiable.

    G.
    Merci de la réponse.

    Pour l'aspect "numero caché par un autre concurent", c'est pour cela que je pense mettre la camera au dessus de la piste, avec des plaques presque horizontales (ou 30° d'angkle) si bien qu'aucun concurrent ne pourra s'interposer entre le numero et la caméra.

    Pour la reconnaissance, on peut garder une validation par une personne. En gros, la plaque est identifiée, un numero est proposé et un operateur laisse passer ou corrige. Je me demande si je vais pas mettre un numero en binaire en dessous (du genre un carré moir, c'est un UN un carré jaune c'est un ZERO, acquérir le numéro par ces carrés, PUIS essayer de reconnaitre le numero sur la plaque en "sécurité" (dans ce cas, on valide, c'est fini) ou, si on ne trouve pas le numero, encadrer la plaque et demander confirmation à l'opérateur.

    La detectioin du passage d'une machine se faisant en comparaison par rapport à une image de piste goudron "vide"

    Si quelqu'un a des idées d'amélioratioin je suis preneur.

    Antoine

  4. #4
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 50
    Points : 74
    Points
    74
    Par défaut
    J'aime bien OpenCv, mais parfois une petite "infidélité" ca aide ;-)

    http://www.roborealm.com/tutorial/Di...r/slide010.php

    JP

  5. #5
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 108
    Points : 81
    Points
    81
    Par défaut
    Bonjour!

    Je serai intéressé d'avoir des nouvelles par rapport à l'avancement de ce projet. J'ai besoin d'info pour la reconnaissance de code à barre alors, si vous avez emprunté ce chemin, j'aimerais le savoir.

    Merci,

    Antoine

Discussions similaires

  1. Reconnaissance de "forme" sur une fonction
    Par Nemerle dans le forum Traitement du signal
    Réponses: 13
    Dernier message: 20/10/2006, 11h23
  2. Réponses: 14
    Dernier message: 01/06/2006, 17h32
  3. Réponses: 1
    Dernier message: 22/02/2006, 09h02
  4. Réponses: 2
    Dernier message: 27/10/2005, 19h26
  5. [PDF - FOP - XSL] Récupérer le numéro d'une page
    Par caro. dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 15/02/2005, 11h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo