Problématique Se connecter au drône pour la capture vidéo en le pilotant. Détecter les carrés rouges et les suspects potentiels. Trouver « Le prof Meuniono»

Slides:



Advertisements
Présentations similaires
Traitement d’images : briques de base S. Le Hégarat
Advertisements

TRAITEMENT D’IMAGE SIF-1033.
Piles Premier arrivé, dernier servi: LIFO (Last In, First Out) Liste à usage restreint: Enlève et insère un élément seulement à un bout de la liste. Notation:
SUJETS SPÉCIAUX EN INFORMATIQUE I
Traitement d’images Semaine 09 v.A15.
RECONNAISSANCE DE FORMES PAR CAMERA. Présentation générale du projet :
Classe de CE2 (mémoire de Florence Nicolas) Agir sur des figures planes: techniques de reproduction et d'agrandissement. Maîtriser les outils: règle, équerre,
Théorème de Pick Enoncé du sujet : On trace un polygone dont les sommets sont des points d'une feuille de papier pointé quadrillé. ● Peut-on trouver l'aire.
Comparing color edge detection and segmentation methods Projet TIM.
Le phénotypage de la fusariose de l’épi : du passage de l’expert sur la parcelle à l’analyse automatique d’images prises au champ Réunion du Groupe Céréales.
Grilles 3D Les grilles 3D. Grilles 3D Plan ● Les grilles 3D – Grille 3D ? – Reconstruction de continuité C 0 – Octree min/max – Visualisation d'une iso-surface.
Acquisition Multicanal
Traitement d’images 420-D78-SW A17 Semaine 02.
Les outils de sélection Cours préparé par l’enseignante Wafa Bourkhis.
La symétrie et l’aire de la surface
KLM est un triangle rectangle en K On peut donc écrire …
DrawQt : contexte Extrait d’un logiciel développé pour POCI
Thymio dans un labyrinthe
Clique sur une couleur pour jouer
Introduction à la vision artificielle Traitement des images
Journée des Doctorants 2013
Pas de variable globale
Les notions de classe et d'objet
Système de Réalité Virtuelle et Augmentée
Touches 1,2,3 pour faire apparaître les carrés sur les 3 côtés.
Les esclaves du soufre Indonésie - Ile de Java.
1°) Un nombre y est-il associé à 3, et si oui lequel ? 3 → ?
Capsule pédagogique 4.3 Mathématiques 7e
Initiation à l‘informatique Leçon 2
Recherche et Indexation d’Image
Détection de coutours - Exemples élémentaires -
Programmation Numération Compétences visées Période
Avec commentaires de l'intervenant
Périmètre et aire.
Tracer un polygone de sommets A(1,1), B(4,1), C(5,4) et D(2,4).
La spécialité math en TS
MODIFIER UNE IMAGE avec POWERPOINT 2010.
Démonstration du théorème
Thème 1 : REPRESENTATION VISUELLE
Démonstration de la formule de la distance entre 2 points
La perspective Les projections parallèles et centrales.
Introduction à OpenCV GEL – Design III Charles du Tremblay
Traitement d’images sous MATLAB PLAN  Lire, afficher et sauvegarder une image  Vérifier l’image dans la mémoire  Egualisation d’histogramme  Ouverture.
DRONES: Introduction François Meunier DMI.
Calculer des périmètres
Connaître les triangles
Le morphage d’images Steph Hoffman
Construire l’image d’un point objet situé à l’infini
Méthode de construction de l’image
Comptes les points noirs !!!
Créer un diaporama avec OpenOffice Impress
Les formes et les couleurs
Les couleurs.
Systèmes ADAS: Détection de panneaux de vitesse
SIG PERMEA3 Application logicielle Interprétation de la perméabilité.
Développement d’une application Android sur le suivi oculaire
Créer un QR code 1. Mode opératoire
Sujets Spéciaux en informatique II
Systèmes ADAS: Assistant de contrôle de direction et de voies
Chapitre 3 : Transformations de figures - Translations
Extraction de caractéristiques pour la classification d’images
Comptes les points noirs !!!
Chapitre 7 : Transformations de figures - Rotation
Wilber. Définition: GIMP , pour GNU Image Manipulation Program, littéralement « programme GNU de manipulation d'images », est un logiciel libre et gratuit.
Amélioration de la visibilité
Les anneaux semblent tourner lorsque l'on s'approche ou s'éloigne de l'illusion tout en fixant le point central.
Utiliser reveal Studio
Géomdrive segpachouette.wordpress.com.
Les couleurs
Création d une application pour la détection des personnage par les empreintes digitale 1.
Transcription de la présentation:

Problématique Se connecter au drône pour la capture vidéo en le pilotant. Détecter les carrés rouges et les suspects potentiels. Trouver « Le prof Meuniono»

Équipement Drône : Parrot Plate-forme logicielle : C#

Pilotage et prise vidéo La connexion TCP/IP entre un ordinateur et la diffusion vidéo est fluide pour un traitement d’images en temps réel. L’image semble stable et de bonne qualité.

Pilotage ..

L’application de prise de vidéo et de détection

Trouver le carré rouge avec EMGU CV 3.0 On récupère l’image en hue et en saturation (pas besoin de la luminosité) CvInvoke.CvtColor(image_bgr, image_hsv, ColorConversion.Bgr2Hsv); CvInvoke.ExtractChannel (image_hsv, image_h, 0); CvInvoke.ExtractChannel (image_hsv, image_s, 1);   On élimine les mauvaises teintes +/- 20 degrés de hue (orange à rose) using (ScalarArray lower = new ScalarArray(10)) using (ScalarArray upper = new ScalarArray(170)) CvInvoke.InRange(image_h, lower, upper, image_h); CvInvoke.BitwiseNot(image_h, image_h);

On conserve les couleurs vives avec un seuillage (on retire le grisâtre) CvInvoke.Threshold(image_s, image_s, 160, 255, ThresholdType.Binary); On conserve l’intersection des 2 images CvInvoke.BitwiseAnd(image_h, image_s, image_red, null);

On trouve les limites CvInvoke.Canny(image_red, image_edges, 50, 150); On récupère les contours CvInvoke.FindContours(image_edges, contours, null, RetrType.List, ChainApproxMethod.ChainApproxSimple);

On converti en polygone (pour tous les contours) CvInvoke On converti en polygone (pour tous les contours) CvInvoke.ApproxPolyDP(contour, approxContour, CvInvoke.ArcLength(contour, true)*0.1, true); On ne conserve que les figures à 4 côtés if (approxContour.Size == 4)... On ne conserve que les angles droits (+/- 10 degrés) LineSegment2D[] edges PointCollection.PolyLine(approxContour.ToArray(), true); angle = Math.Abs(edges[(j+1)%edges.Length].GetExteriorAngleDegree(edges[j])); if (angle >= 80 || angle <= 100)...

On sélectionne le plus gros périmètre area = CvInvoke On sélectionne le plus gros périmètre area = CvInvoke.ContourArea(approxContour, false); On trace le rectangle sur l’image image.Draw(grandRectangle, new Bgr(Color.GreenYellow), 3);

Trouver « Le prof Meuniono» Pour identifier le suspect, nous ne pouvons utiliser les yeux ou le haut de la tête puisque nos suspects peuvent avoir la même casquette ou des lunettes fumées. Nous allons donc essayer de détecter la barbe par la valeur moyenne des pixels (en niveau de gris) dans la zone du ROI où elle devrait se situer.

Détection de visage Méthode de Viola et Jones Caractéristiques pseudo-Haar pour l’apprentissage supervisée

Détection de visage (Emgu CV) using (CascadeClassifier face = new CascadeClassifier("../../../data/haarcascade_frontalface_default.xml")) { using (UMat ugray = new UMat()) gray = color.Convert<Gray, Byte>(); // Égaliser l'histogramme pour // améliorer le contraste CvInvoke.EqualizeHist(gray, gray); // Détection des visages dans l'image facesDetected = face.DetectMultiScale(gray); foreach (Rectangle f in facesDetected) // Algorithme de distinction }

Détection de traits foreach (Rectangle f in facesDetected) { // Agrandir la région en longueur f.Inflate(new Size(0, 40)); // Créer le rectangle translaté Rectangle translated = new Rectangle(f.X, (int)(f.Y + f.Height / 1.75), f.Width, f.Height); // Intersection f.Intersect(translated); //… Région d’intérêt gray.ROI = f; }

Détection de la barbe Égalisation de l’histogramme de la région Application d’un seuillage t = 40 Détection de contours avec FindContours

Détection de la barbe

Détection de la barbe Considérer uniquement les contours à l’intérieur du rectangle private static bool IsInterieur(Rectangle inner, Rectangle outer) { if ((inner.Left >= outer.Left) && (inner.Top >= outer.Top) && (inner.Right <= outer.Right) && (inner.Bottom <= outer.Bottom)) return true; } return false;

Démonstration