La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Traitement d’images Semaine 09 v.A15.

Présentations similaires


Présentation au sujet: "Traitement d’images Semaine 09 v.A15."— Transcription de la présentation:

1 Traitement d’images Semaine 09 v.A15

2 Plan de leçon Les classificateurs en cascades de Haar
Haar cascade classifier Les grandes lignes Utilités OpenCV

3 Les grandes lignes Les caractéristiques pseudo-Haar permettent de reconnaître des caractéristiques radiométriques (couleurs) à l’intérieur d’une image Les classificateurs Haar sont des fichiers précompilés dans lesquels il y a des valeurs qui permettent de détecter des objets dans une image Les valeurs que l’on retrouve dans un fichier classificateur ont été précalculées en utilisant des principes d’apprentissage machine Des milliers d’images positives et négatives de l’objet à détecter ont été traitées dans le système d’apprentissage permettant de calculer les caractéristiques pseudo-Haar de l’objet Dans le cadre de ce cours, nous nous limitons à l’utilisation de ces classificateurs Caractéristiques pseudo-Haar <-> Pseudo-Haar features Intégrale d’une image entre autres

4 Utilités L’utilité des classificateur en cascade de Haar est principalement dans le domaine de la détection d’objet Chaque classificateur ne peut servir que pour détecter qu’un type d’objet Ainsi un détecteur pour les visages de face ne détectera que ce type de visage et sera d’aucune utilité pour les visages de profil Si l’on veut détecter des yeux dans une image où il y a un visage, il faudra faire une cascade de classificateur Ainsi, on détectera la zone où le visage se retrouve et ensuite on appliquera le classificateur pour les yeux

5 OpenCV OpenCV fournit plusieurs classificateurs
Les classificateurs sont disponibles dans le dossier « sources/data/haarcascades » et « sources/data/lbpcascades » Vous remarquerez qu’il y a plusieurs types de cascades. OpenCV permet de les gérer de manière transparente La classe « CascadeClassifier » permet de gérer les classificateurs

6 Chargement d’un classificateur
Il y a deux méthodes pour charger un classificateur soit avec le constructeur ou encore la méthode « load » Syntaxe Classificateur leClassificateur; leClassificateur = new CascadeClassifier (nomFichier); // ou leClassificateur.load(nomFichier);

7 Détection d’objet Une fois le classificateur charger, optionnellement on peut pré-traiter l’image Par exemple réduire le bruit, améliorer le contraste, etc. Ensuite, il faudra convertir l’image en niveau de gris On peut inverser cette étape avec la première Finalement, on peut lancer la détection des objets dans une image La méthode pour détecter les objets est « detectMultiScale » Celle-ci retourne un vecteur de rectangles qui contient les objets détectés Après avoir trouvé les objets, on peut faire d’autres opérations telles que tracer les rectangles des objets ou encore rechercher des sous-objets Exemple : Trouver les visages et ensuite les yeux pour chaque visage

8 Méthode « detectMultiscale »
La méthode « detectMultiScale » fonctionne avec plusieurs arguments Syntaxe CascadeClassifier::detectMultiScale (Mat& img, vector<Rect>& objets, double echelle, int nbVoisins, int flags, Size minSize, Size maxSize) Paramètres objets : Liste de rectangles représentant les objets trouvés échelle : facteur de rétrécissement de chaque itération de la recherche nbVoisins : Nombre de voisins minimum pour valider que l’objet est retrouvé flags : Obsolète minSize, maxSize : Taille minimum et maximum de l’objet à rechercher nbVoisins : Lors de la détection, il y a plusieurs faux positifs. Pour limiter ces faux positifs, on met un nombre minimum d’objets trouvés approximativement à la même position pour confirmer qu’un objet est valide

9 Méthode « detectMultiscale »
Exemple monClassificateur.detectMultiScale(img, faces, 1.1, 3, 0, Size (40, 40));

10 Exercices À l’aide du code que l’on retrouve à l’adresse suivante, réalisez les exercices suivants Modifiez le chemin des fichiers de classificateur pour qu’ils utilisent la variable d’environnement « %OPENCV_DIR% » Modifiez le code pour permettre la détection dans une image et non un flux Modifiez le code pour qu’il dessine l’ellipse entourant le visage même s’il ne détecte pas les yeux

11


Télécharger ppt "Traitement d’images Semaine 09 v.A15."

Présentations similaires


Annonces Google