Object detection compteur d'objet

6
Chapitre III Détection d'objet applications Définition de la vision par ordinateur La vision par ordinateur appelée aussi vision artificielle, vision numérique ou Récemment vision cognitive est une branche de l’intelligence artificielle, son but est de permettre à une machine de comprendre ce qu’elle « voit » lorsqu’elle est connectée à une ou à plusieurs cameras, en d’autre terme essayer de modéliser et reproduire la vision humaine. En vue d’atteindre cet objectif plusieurs sciences sont mises à contribution comme les mathématiques, l'informatique, le génie électrique, la psychologie, la biologie, les sciences cognitives et la physique. La vision artificielle se divise en deux catégories : La 1ère catégorie concerne le traitement d’images « bas niveau ». elle est représentée par les applications suivantes : le suivi des formes, la détection des contours, la segmentation, la super résolution, le rehaussement et la restauration, la transmission et la compression, etc. La 2e catégorie est l’analyse d’image « haut niveau » qui consiste à étudie des techniques pour l’interprétation, la reconstruction et la compréhension d’une scène 3D à partir d’une ou plusieurs images 2D « compréhension de l’image, reconnaissance des formes et stéréovision » Les domaines d’applications Le domaine de la vision artificielle est très important, c’est le fondement de nombreux travaux dans des branches comme : La télédétection « Astronomie (Hubble), Météo, Reconnaissance de structures/activités humaines, Cartographie, Appariement de cartes, Classification et archivage de photos ». Architecture « la reproduction 3D virtuelles de bâtiments à partir de photos, réalité augmentée ». ----------------------------------------------------------------------------------------------------------------- Année 2011 Ayssar SERHAN

description

 

Transcript of Object detection compteur d'objet

Page 1: Object detection compteur d'objet

Chapitre III Détection d'objet applications Définition de la vision par ordinateur La vision par ordinateur appelée aussi vision artificielle, vision numérique ou Récemment vision cognitive est une branche de l’intelligence artificielle, son but est de permettre à une machine de comprendre ce qu’elle « voit » lorsqu’elle est connectée à une ou à plusieurs cameras, en d’autre terme essayer de modéliser et reproduire la vision humaine. En vue d’atteindre cet objectif plusieurs sciences sont mises à contribution comme les mathématiques, l'informatique, le génie électrique, la psychologie, la biologie, les sciences cognitives et la physique. La vision artificielle se divise en deux catégories :

� La 1ère catégorie concerne le traitement d’images « bas niveau ». elle est représentée par les applications suivantes : le suivi des formes, la détection des contours, la segmentation, la super résolution, le rehaussement et la restauration, la transmission et la compression, etc.

� La 2e catégorie est l’analyse d’image « haut niveau » qui consiste à étudie

des techniques pour l’interprétation, la reconstruction et la compréhension d’une scène 3D à partir d’une ou plusieurs images 2D « compréhension de l’image, reconnaissance des formes et stéréovision »

Les domaines d’applications Le domaine de la vision artificielle est très important, c’est le fondement de nombreux travaux dans des branches comme :

� La télédétection « Astronomie (Hubble), Météo, Reconnaissance de structures/activités humaines, Cartographie, Appariement de cartes, Classification et archivage de photos ».

� Architecture « la reproduction 3D virtuelles de bâtiments à partir de photos, réalité augmentée ».

-----------------------------------------------------------------------------------------------------------------Année 2011 Ayssar SERHAN

Page 2: Object detection compteur d'objet

� Dans l’industrie « ContrôleAutomatisation (Comact, Autolog) ».

� Imagerie médicale « reproduction d’organes en 3D à partir de [radio/écho] graphies, planification d’interventions, tomographie, Comptage de cellules.

classification des tissus dans des images tomographiques � Sécurité « les systèmes de surveillance, détection de mouvement,

reconnaissance d’empreintes, de visage, signatures et iris.

� Robotique « navigation autonome, suivimachines ». Par exemple les robots sur Mars ne peuvent pas être téléguidés en raison de la distance et du temps mis par le signal. Donc ils doivent être autonomes pour éviter les obstacles et pouvoir saisir des objets.

Suivi et compréhension d’objets en robotique mobile -----------------------------------------------------------------------------------------------------------------Année 2011

Dans l’industrie « Contrôle de la qualité (Solvision et Clemex), (Comact, Autolog) ».

Imagerie médicale « reproduction d’organes en 3D à partir de [radio/écho] planification d’interventions, tomographie, Comptage de cellules.

classification des tissus dans des images tomographiques

Sécurité « les systèmes de surveillance, détection de mouvement, reconnaissance d’empreintes, de visage, signatures et iris.

Surveillance du trafic routier

Robotique « navigation autonome, suivi d’objets, interactions humains machines ». Par exemple les robots sur Mars ne peuvent pas être téléguidés en raison de la distance et du temps mis par le signal. Donc ils doivent être autonomes pour éviter les obstacles et pouvoir saisir

ivi et compréhension d’objets en robotique mobile

-----------------------------------------------------------------------------------------------------------------Année 2011

de la qualité (Solvision et Clemex),

Imagerie médicale « reproduction d’organes en 3D à partir de [radio/écho] planification d’interventions, tomographie, Comptage de cellules.

classification des tissus dans des images tomographiques

Sécurité « les systèmes de surveillance, détection de mouvement, reconnaissance d’empreintes, de visage, signatures et iris.

d’objets, interactions humains machines ». Par exemple les robots sur Mars ne peuvent pas être téléguidés en raison de la distance et du temps mis par le signal. Donc ils doivent être autonomes pour éviter les obstacles et pouvoir saisir

ivi et compréhension d’objets en robotique mobile

----------------------------------------------------------------------------------------------------------------- Ayssar SERHAN

Page 3: Object detection compteur d'objet

Fonctionnement du Programme: L'idée dans mon programme est de soustracter l'image courant de l'image précédent qui joue comme un font d'écran pour la première image, le matrice résultant contient touts les différences qui existent entre les deux images, pour éliminer les objets qui ne correspond pas a un être humaine ( c.-à-d. ) l'objet ayant un volume très petite on passe a un méthode d'érosion, après on identifie les limite de l'objet restant qui' est normalement correspond a un objet de volume bien comparable. Quand l'objet entre dans la zone de camera un variable booléen sera mis a "true" et reste dans cette état tant le variable ne sera pas incrémenté que lorsque l'objet sorte de la zone de camera et le booléen sera aussi remis a zéro pour préparer pour la détection d'une nouvelle objet. clc close all hvp = video.VideoPlayer; hvp.WindowCaption = 'object tracking'; camsetgray; preview(camera); back=getsnapshot(camera); back=0.75*back; time=0; n=0; bo=0; while time<5000 v1=1; v2=size(back,1); v3=1; v4=size(back,2); im=getsnapshot(camera); res=im; im=abs(back-im); im=im>0; for i=2:(size(back,1)-1) for j=2:(size(back,2)-1) p(i,j)=(sum(sum(im((i-1):(i+1),(j-1):(j+1))))/9)==1; end end for i=2:(size(back,1)-1) if sum(p(i,:))~=0 v1=i; break; end end -----------------------------------------------------------------------------------------------------------------Année 2011 Ayssar SERHAN

Page 4: Object detection compteur d'objet

for i=(size(back,1)-1):-1:2 if sum(p(i,:))~=0 v2=i; break; end end for i=2:(size(back,2)-1) if sum(p(:,i))~=0 v3=i; break; end end for i=(size(back,2)-1):-1:2 if sum(p(:,i))~=0 v4=i; break; end end if (v1==1&&v2==size(back,1)&&v3==1&&v4==size(back,2)&&bo~=0) n=n+1; bo=0; sprintf('detection de nouvelle objet\n nombre totale est %d',n) end if (v1~=1||v2~=size(back,1)||v3~=1||v4~=size(back,2)) bo=1; end res(v1:v2,v3)=1; res(v1:v2,v4)=1; res(v1,v3:v4)=1; res(v2,v3:v4)=1; step(hvp, res); time=time+1; end delete(camera); -----------------------------------------------------------------------------------------------------------------Année 2011 Ayssar SERHAN

Page 5: Object detection compteur d'objet

Explication de quelques fonctions : Video Player: cette fonction est utilisée pour créer un objet d'affichage vidéo (fenêtre vidéo) elle est définie de la façon suivant : hvp = video.VideoPlayer ; OÙ on définie hvp comme fenêtre d'affichage directe c.-à-d. l'image de sortie de programme après traitement sera affichée directement dans cette fenêtre. Camsetgray: cette fonction est utilisée pour configurer le camera pour détecter des images dont l'espace couleur est en niveau de gris. Elle est aussi possible de remplacer cette fonction par ces deux instructions :

camera=videoinput('winvideo'); set(camera,'ReturnedColorSpace','grayscale');

getsnapshot : cette fonction est utilisée pour détecter un camera a travers l'entrée video définie par le nom camera (objet de sortie de la fonction camsetgray) :

back=getsnapshot(camera); preview: cette fonction est utilisée pour pré visualiser l'image d'entrée pour réduire le temps de détection (si on n'utilise pas cette fonction le camera sera allumé et éteint pour chaque fois qu'on veut détecté une image):

preview(camera);

Step: cette fonction est utilisée pour Lancer la vidéo ou des séquences d'images en transmettant une séquence d'image ou d'une vidéo multidimensionnelle au lecteur vidéo:

step(hvp, res); res: est la séquence d'entrée (dans mon programme une seul image ). hvp: est le lecteur vidéo. Lecture: Le chargement en memoire d'une image se fait avec la fonction imread. Par exemple, la function suivante permet de lire une image et de placer son contenu dans une variable de type matrice : I = imread(' nomdephoto.format ');

Affichage : L’affichage de l’image (ou de la variable) est réalisé par la fonction imshow. Ainsi les fonctions suivantes s'ouvrent une nouvelle fenêtre pour y afficher l’image I. -----------------------------------------------------------------------------------------------------------------Année 2011 Ayssar SERHAN

Page 6: Object detection compteur d'objet

figure; % ouvrire une nouvelle fenetre ( vide ). Imshow(I); % afficher l'image . sauvegarde: Les fonctions imwrite permet la sauvegarde d'images sous différents formats (tif, jpg, bmp, pcx, png, gif, emf, eps, ...). imwrite(nom de matrice,'nom de fichier.format ');

-----------------------------------------------------------------------------------------------------------------Année 2011 Ayssar SERHAN