|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : janvier 2012 Messages : 79 ![]() |
Bonjour à tous,
Je suis étudiante en 4ième année d'école d'ingénieur. J'ai un projet à faire, détection de pluie au moyen d'un traitement d'image sur une webcam. Si j'arrive à le coder, il faudra que je cherche une facon de calculer le taux de luminosité, puis la présence de brouillard ou encore la présence de vent (en fixant un arbre par exemple). Ce que je vais faire c'est récupérer les images toutes les X secondes sur ma webcam et après les traiter. Par contre je suis quasi débutante en Matlab et en C++. C'est pourquoi je viens demander votre aide et vos avis. Que me conseillerez vous d'utiliser entre ces 2 outils? Connaissez vous des livres ou n'importe quelle type de sources ou liens qui pourraient m'aider dans mon projet? Ou pourrais je trouver des codes qui ressemblerait à ce que je dois faire, à titre d'exemple? Merci beaucoup. |
|
|
00
|
|
|
#2 |
![]() ![]() Guillaume Chercheur en informatique Inscription : janvier 2006 Messages : 4 403 ![]() |
MatLab te permettra de prototyper rapidement. Si tu es débutante c'est certainement mieux.
Ta webcam est elle fixe et avec une résolution suffisante pour avoir un mouvement de pluie ? Car si tu ne peux te baser que sur la luminosité, cela risque d'être extrêmement compliqué.
__________________
Consignes aux jeunes padawans : une image vaut 1000 mots ! - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe correcteur orthographique pour FiReFox), mettre les ACCENTS et les BALISES => ECRIRE clairement et en Français tu DOIS. - Le coté obscur je sens dans le MP => Tous tes MP je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci) - ton poste tu dois marquer quand la bonne réponse tu as obtenu.
|
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : janvier 2012 Messages : 79 ![]() |
Je me suis mal exprimée.
Je pense que la résolution de la caméra sera suffisante (1280*1024). En fait, dans le principe, par rapport aux recherches que j'ai faites, je crois qu'il faudrait que je fasse ressortir le fond des images que je capture (ce qui ne bouge pas entre 2 images) et ainsi faire ressortir la pluie. Ensuite, transformer les pixels qui ne bougent pas en noir par exemple, et ceux qui bougent en vert, et aprés faire un calcul pour connaitre le taux de couleur verte à l'écran. Mais je ne sais pas du tout comment m'y prendre, et si c'est la bonne méthode. Pour la luminosité, c'est quelque chose à part. En fait, je veux faire un programme qui a plusieurs fonctions: -détection de la pluie -détection du brouillard (aucune idée de comment faire sur le principe pour le moment) -calcul du taux de luminosité (il doit y avoir une fonction pour ca?) -détection du vent (par exemple si un arbre bouge constamment, on peut peut etre le faire ressortir) ... Ma caméra est fixe. Voila, donc il faudrait utiliser du matlab? La seule chose que je sais faire avec cet outil, c'est calculer des spectres donc y aurait il quelque chose qui pourrait m'aider? |
|
|
00
|
|
|
#4 |
![]() ![]() Guillaume Chercheur en informatique Inscription : janvier 2006 Messages : 4 403 ![]() |
La différence entre deux images de pluie successives... va dépendre de la résolution de la webcam :
- trop faible => rien ne bouge - trop élevée => tout bouge. le souci du tout bouge, c'est que cela pourrait aussi être le cas lors du vent si tu ne parviens pas à trouver des points fixes. Donc plutôt que de faire des différences entres images successives, tu pourrais prendre plusieurs images à des moments très différents et détecter des bâtiments ou autres choses fixes / lisses. Pour MatLab, il suffit d'appeler les bonnes fonctions en lisant la documentation. En C, il te faut programmer beaucoup de choses toi même, même si tu utilises des bibliothèques telles que OpenCV.
__________________
Consignes aux jeunes padawans : une image vaut 1000 mots ! - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe correcteur orthographique pour FiReFox), mettre les ACCENTS et les BALISES => ECRIRE clairement et en Français tu DOIS. - Le coté obscur je sens dans le MP => Tous tes MP je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci) - ton poste tu dois marquer quand la bonne réponse tu as obtenu.
|
|
|
00
|
|
|
#5 |
|
Membre éclairé
![]() Doctorant en informatique Inscription : juin 2009 Messages : 244 ![]() |
Je rejoins Toto13, sur le fait qu'une analyse pixel à pixel risque d'être problématique. Tu devrais peut-être regarder du côté d'approche plutôt basée sur la texture. Cela devrait fonctionner au moins pour pour ce qui est de la pluie et du brouillard.
Pour le vent tu peux éventuellement faire de la texture "3D" (texture+temps). Si tu as ensuite à ta disposition une base annotée assez grande, tu dois pouvoir faire de l'apprentissage. Sinon, matlab étant un outils propriétaire et payant, tu peux aussi regarder du côté d'un environnement basé sur Python/numpy/scipy et quelques modules adaptés au traitement des images. |
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Inscription : janvier 2012 Messages : 79 ![]() |
Merci pour vos réponses!
Donc, je vais utiliser Matlab, ça me semble être, de loin, la meilleure solution pour une novice comme moi. Je viens de trouver une thèse sur le sujet, à propos de la détection de pluie. http://perso.lcpc.fr/hautiere.nicola...re-prac10a.pdf Ça commence à partir de la formule (8). Effectivement, le taux d'erreur avec le principe que j'avais donné auparavant serait trop grand. Ici le principe serait de voir les régions les plus claires de l'écran, qui serait les gouttes de pluie. La formule (8) représente un histogramme. Encore une fois, je suis débutante en Matlab. Savez vous comment retranscrire de façon très technique la partie sur la détection de pluie? Y aurait-il des sources (livre, site internet, exemple..) qui expliquerai le traitement d'image avec Matlab? (quelque chose qui pourrait coller avec le projet ou même quelque chose d'assez général) Et même question avec le principe sur la texture et la texture 3D? Qu'entends tu par "une base annotée assez grande"? Honnêtement, je ne sais pas trop par ou commencer, c'est pour ça que les questions peuvent sembler assez "bêtes", mais on m'a mise sur quelque chose qui semble assez compliquée avec un outil quasi-inconnu.. Je pense que ça ira quand je serais lancée |
|
|
00
|
|
|
#7 | |
![]() ![]() Guillaume Chercheur en informatique Inscription : janvier 2006 Messages : 4 403 ![]() |
Citation:
Il y a un forum MatLab très dynamique qui t'aidera à implémenter tout ce que tu souhaites. D'un point de vue méthode, j'ajouterai : - si tu as des zones lisses / homogènes. - appliquer un filtre de Gabor sur ces zones. - regarder les écarts d'intégrale entre les moments sans et avec pluie. - cela devrait être significatif.
__________________
Consignes aux jeunes padawans : une image vaut 1000 mots ! - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe correcteur orthographique pour FiReFox), mettre les ACCENTS et les BALISES => ECRIRE clairement et en Français tu DOIS. - Le coté obscur je sens dans le MP => Tous tes MP je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci) - ton poste tu dois marquer quand la bonne réponse tu as obtenu.
|
|
|
|
00
|
|
|
#8 |
![]() ![]() Inscription : août 2007 Messages : 3 582 ![]() |
Pour MATLAB, d'un point de vue général, la
et les tutoriels du site sont une bonne introduction, ensuite pour entrer plus dans le détail, la documentation de MATLAB est très bien fournie. Si tu as accès à une bibliothèque universitaire, tu y trouveras peut-être des livres sur MATLAB ou sur le traitement d'images.
__________________
Pour une bonne utilisation des balises code c'est ici! Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sourcesLa nature est un livre écrit en langage mathématique. Galilée. |
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Inscription : janvier 2012 Messages : 79 ![]() |
Merci pour vos réponses.
Je vais voir un peu sur le forum Matlab pour la partie technique! |
|
|
00
|
|
|
#10 |
|
Invité régulier
![]() Inscription : janvier 2012 Messages : 79 ![]() |
http://www.developpez.net/forums/att...1&d=1328461585
Est ce que cette théorie vous semble correcte? Je suis en train d'étudier 2 autres théories en même temps: - Une avec Gabor évoqué ici, mais je suis bloqué par la détection des zones lisses (techniquement) - Une avec la fft, on fait une fft d'avec et sans pluie, et les soustrait pour faire apparaitre le bruit blanc, qui devrait etre la pluie. Qu'en pensez vous? |
|
|
00
|
|
|
#11 | ||
![]() ![]() Guillaume Chercheur en informatique Inscription : janvier 2006 Messages : 4 403 ![]() |
Citation:
As tu une idée de la quantification exacte. Citation:
Une technique plus rapide (mais un peu moins performante en général) c'est de faire une granulométrie. Tu devrais pouvoir trouver des candidats en appliquant un "Ultimate Opening" : on regarde quelle taille d'élément structurant est nécessaire pour faire disparaître un pixel / une zone. Une zone homogène / lisse disparaîtra d'un seul coup et tous les pixels la contenant auront la même valeur associée. Un petit filtre médian au préalable devrait pouvoir supprimer un peu de bruit pour rendre d'avantage robuste le procédé.
__________________
Consignes aux jeunes padawans : une image vaut 1000 mots ! - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe correcteur orthographique pour FiReFox), mettre les ACCENTS et les BALISES => ECRIRE clairement et en Français tu DOIS. - Le coté obscur je sens dans le MP => Tous tes MP je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci) - ton poste tu dois marquer quand la bonne réponse tu as obtenu.
|
||
|
|
00
|
|
|
#12 |
|
Invité régulier
![]() Inscription : janvier 2012 Messages : 79 ![]() |
J'ai choisi de réaliser quelque chose de plus simple: Je fais une analyse pixel par pixel de la différence entre 2 images successives (ca donne du noir sur ce qui change pas et du degré de blanc sur ce qui change) et puis je reconnais une certaine figure qui est 2 pixels clair en vertical et 8 pixels noirs (4X2) de chaque cotés. Cela représente une goutte de pluis, puis je fais le décompte de ce phénomène. S'il apparait assez de fois; c'est qu'il pleut.J'ai testé sur des images, cela marche, il faut maintenant tester en direct..
Qu'en pensez vous? |
|
|
00
|
|
|
#13 |
![]() ![]() Guillaume Chercheur en informatique Inscription : janvier 2006 Messages : 4 403 ![]() |
Qu'empiriquement il y a toujours un moment où cette méthode ne fonctionne pas :-(
__________________
Consignes aux jeunes padawans : une image vaut 1000 mots ! - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe correcteur orthographique pour FiReFox), mettre les ACCENTS et les BALISES => ECRIRE clairement et en Français tu DOIS. - Le coté obscur je sens dans le MP => Tous tes MP je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci) - ton poste tu dois marquer quand la bonne réponse tu as obtenu.
|
|
|
00
|
|
|
#14 |
|
Invité régulier
![]() Inscription : janvier 2012 Messages : 79 ![]() |
C'est à dire? Avec des images à fortes résolutions?
|
|
|
00
|
|
|
#15 |
![]() ![]() Guillaume Chercheur en informatique Inscription : janvier 2006 Messages : 4 403 ![]() |
Variations de luminosité, contraste, etc.
Le vent risque aussi de produire des erreurs.
__________________
Consignes aux jeunes padawans : une image vaut 1000 mots ! - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe correcteur orthographique pour FiReFox), mettre les ACCENTS et les BALISES => ECRIRE clairement et en Français tu DOIS. - Le coté obscur je sens dans le MP => Tous tes MP je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci) - ton poste tu dois marquer quand la bonne réponse tu as obtenu.
|
|
|
00
|
|
|
#16 |
|
Membre éclairé
![]() Doctorant en informatique Inscription : juin 2009 Messages : 244 ![]() |
Peut-être que par contre calculer des descripteurs de texture sur les images différence pourrait apporter quelque chose...
|
|
|
00
|
|
|
#17 |
|
Invité régulier
![]() Inscription : janvier 2012 Messages : 79 ![]() |
Ben si on prend 2 images qui se suivent à 1 seconde d'écart... Les variations de luminosité et de contraste ne devrait pas influer non? Puisqu'elles seraient quasi inexistantes à 1 sec d'écart..
Pour le vent, oui, il faudrait viser à reconnaitre plusieurs type de phénomène.. Pour le moment, ce que j'ai réalisé c'est: (N= foncé, B= clair, X=non analysé) NNNNBNNNN NNNNBNNNN NNNNBNNNN il faudrait faire en plus: NNNNBNNNN XNNNNBNNNN XXNNNNBNNNN XXNNNNBNNNN XNNNNBNNNN NNNNBNNNN ect... Descripteurs de texture? |
|
|
00
|
|
|
#18 |
|
Membre éclairé
![]() Doctorant en informatique Inscription : juin 2009 Messages : 244 ![]() |
Tu peux par exemple utiliser les Local Binary Patterns (LBP). Le principe est le suivant:
Il existe des variantes de ce principe, notamment une qui consiste à ne garder que les codes "uniformes" c'est à dire qui n'ont pas plus de deux changements de valeur dans les séries de 0 et 1 ou encore la variante "invariante par rotation" qui consiste à remplacer chaque code par le code correspondant à la permutation circulaire donnant le plus petit entier. Typiquement l'association de ces deux variantes détecte les organisations correspondant à des lignes ou à des coins. En comparant les statistiques des codes tu dois pouvoir déterminer s'il pleut ou pas voir même si tu n'as pas l'invariance par rotation, la direction du vent. Un document complet sur les LBP et un autre plus synthétique... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com