Haartraining dans opencv

salut à tous

ça fait un petit bout de temps que je travaille sur une appli de vision industrielle sous linux (je n’ai pas beaucoup avancé) et là je suis sur le point de franchir un cap : la détection d’objet
j’utilise la librairie opencv et j’ai fait des essais de détection de visages avec les fichiers xml fournis par intel : ça marche bien !
mais étant donné que je ne veux pas détecter des visages mais des bouteilles je m’apprête à utiliser la procédure haartraining afin de générer mon propre descriptif xml

alors avant de me lancer dans les opencv-createsample et opencv-haartraining je viens vous demander un petit retour.
Est-ce que certains d’entre vous ont déjà utilisé la méthode haartraining pour se générer leur descriptif ?
Si oui quel est votre sentiment sur cette méthode ?

Merci de ne pas me renvoyer vers la liste de diff sur yahoo.

Merci d’avance

Y a des trucs pointus tout de même :open_mouth:
:mrgreen:

[quote=“mattotop”]Y a des trucs pointus tout de même :open_mouth:
:mrgreen:[/quote]

je pensais aussi que c’était ultra compliqué mais en fait ça c’est bien passé
il faut juste avoir un paquet de photos sans le sujet, quelques photos avec le sujet et bien lire la doc

quelques manipulation afin de préparer les données au bon format
puis on lance le calcul : 12h d’attente

c’est un peu comme quand on compile son premier noyau sauf qu’il n’y a pas de super tutoriel qui va bien

je testerai tout ça demain
si tout se passe bien je serai aux anges

bon et bien je suis aux anges
ça marche :smiley:

je peux même discriminer mon type de bouteille (champagne) parmis d’autres (eau, bourgogne, bordeaux…)

je vais y arriver un jour à faire mon logiciel de vision qui tourne au GPL

Slt

je serai très intéressée par ton projet! jsui actuellement en stage et je vais devoir utiliser OpenCv mais je ne suis pas une pro en prog! Moi j’utilise Visual C++ ms jsui pas sur de pouvoir integrer cette librairie.
Merci

Audrey

Visual C++ c’est sous M$ ce truc là non ?
Je ne l’ai pas utilisé depuis longtemps (ça date de fenetres 98) mais tu ne devrais pas trop galérer pour utiliser opencv.
La librairie s’installe sans problème sur les OS M$ (c’est de l’intel alors tu penses) et puis après compiler avec c’est une histoire de makefile.
Tu dois pouvoir trouver des ressources internet pour te guider avec visual c++, notamment le groupe de discussion chez yahoo.

J’ai mis une paire de bricole sur le sujet sur http://www.deb-indus.org tu peux aller voir, il y a des exemples de code et un paquet.
J’ai pas mal d’autre choses à y coller mais je n’ai pas trop le temps en ce moment.

Slt
j’ai un peu pris en main la librairie OpenCv avec Visual C++! Maintenant j’arrive à créer 1 image ou en ouvrir 1! Sinon j’ai récupéré des tutoriel pour le Haartraining car mon projet est d’arriver à reperer des coquilles st jacques sur une photo! Toutes les explications sont en anglais, j’ai a peu près compris mais c’est pas assez précis pour moi. Toi qui est déjà passer par la avec tes bouteilles est ce que tu pourrais m’aider?
J’ai compris qu’il fallait que je fasse plein de photos avec mes coquilles et d’autres sans pour apprendre le modèle, c’est bien ça?
Et ensuite il faut repérer les coquilles et entrer leurs coordonnées? Et je fais ça comment et je rentre ses coordonnées?
Merci d’avance! :wink:

Pas de soucis pour le haartraining je peux te filer le tuto que je me suis fait.
J’ai encore des surprises parfois mais dans l’ensemble je suis content.
Il s’agit d’une archive tar.gz plutot grosse car j’y ai mis les fonds négatifs, mes positifs, les images avec les positifs dans les fonds négatifs ainsi que tous les outils pour faire tourner la bête.

Je colle tout ça sur mon site demain (là c’est sur une machine au boulot et elle est éteinte) et je te file l’url. Je ferai des belles pages html plus tard.
Tu es bien-entendu invitée à enrichir cette doc si le coeur t’en dit (notamment un outil que je n’arrive pas à compiler)

Par contre attends toi à des calculs très longs (j’en ai un qui a duré 10 jours) alors choisis bien ta machine. Si c’est un double coeur il y a une série d’astuces pour charger tous les CPU.

Hauts les coeurs et à plus.

Ca y est j’ai mis le tutoriel en ligne
http://www.deb-indus.org/vision/HOWTO_haartraining-2.tar.gz
99Mo c’est un gros morceau mais il y a des banques d’image avec.

Merci beaucoup pour avoir mis en ligne ton projet! J’ai bien mes 2 types d’image positif et négatif par contre je n’ai pas compris comment générer les images d’entrainement. J’ai bien trouvé le script createtrainsample mais je sais pas l’utiliser. Qu’est ce que ça veut dire “Commande :
./createtrainsamples.pl positive.txt negative.txt training/” ?
je dois taper ça dans l’invite de commande? Car moi je travaille sous windows avec Visual C++!
Merci!

Et oui w$ restera w$

Dans l’archive il y a 2 scripts en perl :

  • createtrainsamples.pl
  • createtestsamples.pl
    Ces 2 scripts, qui ne sont pas de moi mais de Naotoshi Seo (sous licence X11 merci à lui), utilisent la même fonction : opencv-createsamples.
    Dans un cas l’auteur s’en sert pour générer les images d’apprentissage (génération de plusieurs fichiers *.vec à concaténer), dans l’autre cas pour générer des images de test (plein d’images mais descriptifs *.dat à concaténer soit-même et fichier *.vec à fabriquer avec la commande opencv-createsamples et les bons arguments)
    Dans les 2 cas le résultat est le même : les positifs sont insérés dans les négatifs à des positions et avec des distorsions connues, seuls les types des fichiers sont différent.

Bref dans ton cas si tu veux utiliser les scripts en perl il te faut un interpréteur sur ta machine. Etant donné que je ne connais pas du tout microdoux je ne sais pas où en trouver un.
Par contre toutes les fonctions utilisées dans les scripts et dans le binaire opencv-createsamples sont faites avec la librairie. Donc tu peux te faire ton propre binaire pour minidoux en étudiant les scripts et décortiquant le source de opencv-createsamples (qui n’est pas bien méchant).
C’est quelque chose que je veux faire depuis un moment (pour linux) mais j’ai pas encore eu le temps : un beau prog qui fait tout comme un grand.

Autre solution : si tu n’as pas beaucoup d’images positives, tu lances les opencv-createsamples pour chaque image (regarde comment sont faits les scripts pour les arguments). Cette fonction est bien entendu installée avec opencv, donc tu peux la lancer dans un command.com (si ça existe toujours).

Autre solution : tu prends une bécane sous debian !

Bonjour,

Je m’adresse à toi audreym101, je sais que ce post date d’il y a un an mais peut-être verra tu ce message.

Dans le cadre d’un stage je dois créer un haartraining. Cependant je travaille sous windows et je suis dans la galère avec mes commandes.
J’ai installé perl, et lorsqueje lance la commande
perl \createtestsamples.pl positive.txt negative.txt training/ (j’ai repris les dossiers de antalgeek), j’obtiens
’opencv-createsamples’ n’est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commande.

Comment as-tu fait pour réussir à générer tes commandes sous windows ?

Merci

2 messages ont été envoyés vers un nouveau sujet : Haartraining dans opencv - bis