[help] Shape from focus_LabView_MatLab

Shape from focus_LabView_MatLab [help] - Ressources - Graphisme

Marsh Posté le 28-09-2005 à 13:49:56    

voila, je suis en licence pro vision artificielle. J'ai donc un projet à réaliser ->shape from focus....
 
Le principe de ce sujet:
On dispose d'une caméra (avec focus)
Nous avons un objet disposé sous la caméra.
La caméra va donc avoir un certain focus sur l'objet. On ne conservera de l'image que les zones ditent nettes.
Ensuite, on changera le focus, puis on ne gardera que les zones ditent nettes! etc etc ....
 
Ensuite toutes les valeurs de niveau de gris (des zones nettes) vont êtres stocké dans une sorte de tableau associé chacune à une valeur de profondeur (correspondant à la valeur du zoom)
Ensuite, nous allons fair une association de toute les zones détectées comme nettes suivant les différents niveau de profondeur pour finalement obtenir une image 3D !!!
 
Tout ceci sera développé sur LabView mais nous n'en savons pas d'avantage...
 
Nous ne demandons pas au personnes qui connaissent ce sujet de le fair à notre place mais de nous aidez et de nous guider car nous n'avons aucune informations supplémentaires....Et nous n'avont jamais utilisé Labview !!!


Message édité par mimil71 le 27-10-2005 à 14:33:49
Reply

Marsh Posté le 28-09-2005 à 13:49:56   

Reply

Marsh Posté le 28-09-2005 à 14:20:53    

je comprends pas bien ce que tu veux comme info.
sur le logiciel ou sur l'algo ?
 
D'ailleurs je ne suis pas sûr d'avoir saisi le principe [:nybbas]

Reply

Marsh Posté le 29-09-2005 à 21:05:00    

Et bien en faite je veux des infos sur les 2 lol !!!
C'est assez compliqué à expliquer...
j'essairai de trouvé un lien demain !! En faite l'image que nous avons est une photo (prise par nimporte quel appareil), la camera effectue différent zoom sur cette photo pour ne garder au final que les zones nettes et reconstitué l'image en rajoutant l'effet de profondeur (d'ou la 3D) !!!

Reply

Marsh Posté le 30-09-2005 à 08:33:22    

http://www.laas.fr/RIA/RIA-rapport [...] ode16.html
Voila en exemple le "Shape from focus"


Message édité par mimil71 le 30-09-2005 à 08:34:34
Reply

Marsh Posté le 30-09-2005 à 08:55:32    

Bah déja ton principe est plus complexe que celui de l'adresse que tu donnes, eux ne font pas de translation+zoom, cela va engendrer des déformations, du coup les différentes images ne colleront plus, à moins d'en tenir compte dans la routine (c'est faisable mais si tu peux t'en passer dans un 1er temps...).
 
courage !


Message édité par Profil supprimé le 03-10-2005 à 11:34:50
Reply

Marsh Posté le 30-09-2005 à 09:12:40    

ok merci, j'ai modifié un peu le sujet !!! :)
Mais bon ca nous avance pas plus .... snifff

Reply

Marsh Posté le 30-09-2005 à 09:13:51    

z'avez ka choisir un sujet + simple, NA ! :D

Reply

Marsh Posté le 30-09-2005 à 09:17:13    

Voila un autre lien pour montrer le fonctionnement !!
http://www.vrvis.at/2d3d/adm/focus/
 
 
ps:zsx -> merci bien mais on est pas des branleurs ici lol !!!
              merci de ne pas pouvoir nous aider

Reply

Marsh Posté le 30-09-2005 à 09:24:15    

Je t'ai aidé, je t'ai dis d'éviter de translater+zoomer pour ne jouer que sur le focus si tu ne veux pas induire d'avantage de risques d'abbérations. (comme ce qui se fait déja quoi). ;)


Message édité par Profil supprimé le 01-10-2005 à 19:25:59
Reply

Marsh Posté le 30-09-2005 à 09:27:48    

PS : soit ton sujet est mal énoncé, soit je suis neuneu. Es tu certain d'avoir bien capté ton sujet ?...
Le shape from focus, par principe même, c'est pas une image que tu prends en photo, c'est un volume, enfin je dis ça, c'est la première fois que j'en entends parler mais vu les explications que l'on trouve sur tes liens...


Message édité par Profil supprimé le 05-10-2005 à 19:11:02
Reply

Marsh Posté le 30-09-2005 à 09:27:48   

Reply

Marsh Posté le 30-09-2005 à 09:34:06    

oui tinkiète pas j'ai bien compris que ca ne produit pas une image mais un forme 3D... Encore heureux que j'ai compris ca !!! :)

Reply

Marsh Posté le 30-09-2005 à 09:36:40    

reli le sujet et dit moi ce que tu ne comprend pas stp....
Mais bon il ya que un type qui aura déja touché qui pourra me renseigné !!! mais bon jespère qu'il yen à un ou 2 sur ce forum ;)

Reply

Marsh Posté le 30-09-2005 à 09:37:08    

ce que je te dis, c'est que dans ton énnoncé, tu écris :
"Nous avons une image (2D) disposé sous la caméra"  
ce qui n'a strictement aucun intérêt pour faire du shape from focus  :sarcastic:  aprés tu fais ce que tu veux...
 :hello:

Reply

Marsh Posté le 30-09-2005 à 09:39:11    

lol j'ai changé auparavant l'énoncé du sujet et j'ai bien vu que ca allais pas mais reli stp... pi dit moi ce que t'en pense !!!  
 
merci

Reply

Marsh Posté le 30-09-2005 à 09:46:47    

Oublis le zoom, seule la bague de mise au point te sera utile pour générer ta série d'images.
 
PS : Je ne te dis pas que c'est impossible en zoomant, simplement d'un point de vue méthodologique, il me semble plus judicieux d'éviter les déformations dans un 1er temps. Aprés une fois l'alogo à peu prés au point (vous allez bien vous amuser déja...), vous pourrez tj introduire des améliorations tels que l'interprétation de mouvements/focale, ce qui est encore un autre sujet trés trés gratiné...


Message édité par Profil supprimé le 01-10-2005 à 19:27:20
Reply

Marsh Posté le 30-09-2005 à 10:04:34    

dernier conseil :
tu peux commencer par générer une série d'images avec un soft 3D au lieu de t'empéguer avec une camera.
Avantages:
Vite fait.
La série d'image ne souffre d'aucun décalage.
Facile de mapper une des motifs sur l'objet.
Facile de comparer le résultat de l'algo au volume source.
 
Inconvénient :
Ton prof sera pitête pas d'accord, encore que ça n'altère en rien l'intérêt du sujet.
 
http://randoval.free.fr/divers/1.jpg
NB : (map -> mise au point). Rendus dégueux, flous est bruités à mort, inutilisables pour ton algo mais on s'en fout pour l'instant.
http://randoval.free.fr/divers/2.jpg
http://randoval.free.fr/divers/3.jpg
et d'autres distance de mise au point.
http://randoval.free.fr/divers/4.jpg
http://randoval.free.fr/divers/5.jpg


Message édité par Profil supprimé le 01-10-2005 à 19:27:58
Reply

Marsh Posté le 30-09-2005 à 13:53:09    

je comprend mieux l'utilité du truc avec une forme 3D :D
mais je ne peux pas aider pour autant [:nybbas]
 
tu peux tjrs demander sur prog ;)

Reply

Marsh Posté le 30-09-2005 à 14:14:26    

merci zsx pour ce que ta mis!! comme ca les gens comprennent mieu le système mais voila, le problème c'est que ce que tu as mis, je le savais déja... Mais ca illustre bien mon sujet...
Mais je doit développer ca avec LabView que je ne connais pas et mon prof ma parlé aussi qu'il yavai un algo que je pourrai peu être trouvé sur le net mais je ne voi pas exactement ce qu'est un algo, peu être peu tu m'en dir d'avantage merci ...

Reply

Marsh Posté le 30-09-2005 à 14:17:26    

"Facile de comparer le résultat de l'algo au volume source."  
 
Peux tu m'en dir d'avantage stp sur l'algo

Reply

Marsh Posté le 30-09-2005 à 14:18:00    

Algorithme : enchainement d'opérations nécessaires pour effectuer une tache.

Reply

Marsh Posté le 30-09-2005 à 14:23:06    

ok et ai t'il possible de trouvé l'algo sur le net pour mon "shape from focus" développé avec LabView. J'ai cherché sur le net mais je ne trouve rien... Il doit bien exister !!! lol :)

Reply

Marsh Posté le 30-09-2005 à 14:28:06    

mimil71 a écrit :

"Facile de comparer le résultat de l'algo au volume source."  
 
Peux tu m'en dir d'avantage stp sur l'algo


 
Quand tu en sera à obtenir un nuage de points 3D, une simple comparaison visuelle des volumes sources et du nuage de points dans n'importe quel soft 3D te permettra déja d'évaluer la qualité de ton boulot.
 
Je te précise quand même que Labview je n'en avais jamais entendu parler non plus, si ça se trouve, ce soft propose déja une baterrie d'algos prêts à employer qui pourront te faciliter la tache... enfin j'espère pour vous, parce que là, je te sens un peu loin du but (apparement aucune notion de prog). Ton prof ne doit pas être idiot, s'ils vous a donné ça à faire, c'est qu'il sait où il mets les pieds, regarde peut être du côté de Labview donc, et pose des questions à ton prof, perso, je n'ai pas les compétences, ni les éléments pour t'aider davantage...
 
Bon courage, c'est en forgeant qu'on devient cuisinier ;)


Message édité par Profil supprimé le 30-09-2005 à 18:19:53
Reply

Marsh Posté le 30-09-2005 à 14:30:59    

pas sur que ça te sois très utile de repomper un truc non ? :heink:
 
En prog tu peux tjrs dévelloper un algo à partir de connaissance rudimentaires d'un langage. C'est du bon sens et de la logique, tu vas formuler en français le détail des opérations... après il faut le traduire ds la syntaxe appropriée.

Reply

Marsh Posté le 30-09-2005 à 14:34:08    

mimil71 a écrit :

ok et ai t'il possible de trouvé l'algo sur le net pour mon "shape from focus" développé avec LabView. J'ai cherché sur le net mais je ne trouve rien... Il doit bien exister !!! lol :)


 
A mon avis, c'est pas kk chose qui doit se trouver tout fait, je me trompe peut être mais des boites dépensent des fortunes pour mettre au point ce genre de chose afin de le refourger à prix d'or dans le domaine de l'industrie par exemple (appli de reverse engeniering et autres softs ruineux).

Message cité 1 fois
Message édité par Profil supprimé le 30-09-2005 à 18:21:13
Reply

Marsh Posté le 30-09-2005 à 14:37:43    

lol, merci merci mais vous inquiétez pas, j'ai l'air pomé car ce n'est que le début et l'on à jamais utilisé ni de caméra, ni labview, donc c normal que je sois pomé.... En terme de programme je vien d'une filière informatique donc no soucy :) ...
Je ne cherche pas à pomper les algo ou les softs mais mon prof ma dit qu'on pourrai peu être en trouvé pour ansuite comprendre mieu le fonctionnement....
Mais je pense que le sujet sera très très interressant surtout qd tout marchera lol .... Mais bon pour le moment on doit cherché tout ce qu'on peu sur le net nous même donc c pas facile....
Je demande des infos sur ce forum pour m'aider à avancer un peu plus vite histoire de pas passer mes journées en fin d'année a bossé comme un fou comme j'ai fait pour mon BTS :)
 
Merci pour toutes les infos supp

Reply

Marsh Posté le 30-09-2005 à 14:41:21    


Lol ouai tan mieu car ce sera peu être mon futur travail donc plus j'en gagne et mieu se sera lol !!!
J'ai pas fait toutes ces années d'étude pour rien pi j'ai pas encore fini  :bounce:  :bounce:

Reply

Marsh Posté le 30-09-2005 à 14:51:48    

mimil71 a écrit :

...je ne voi pas exactement ce qu'est un algo...


 

mimil71 a écrit :

... En terme de programme je vien d'une filière informatique donc no soucy :) ...


 
 :heink:
 
 :hello:

Reply

Marsh Posté le 30-09-2005 à 14:54:10    

ro lala j'était sur que ca allais me retombé dessus !!!
Mais je voyais pas ce qu'était un algorithme relier au domaine de la vision !!! ....

Reply

Marsh Posté le 30-09-2005 à 15:24:37    

et pour les developpeurs web...
http://shop.neckermann.de/_bilder/250/8/82/8213381018_gg46c.jpg
 :o


Message édité par Profil supprimé le 30-09-2005 à 22:46:09
Reply

Marsh Posté le 30-09-2005 à 15:41:30    

Vous pouvez commencer par pondre une routine qui analyse ça
http://randoval.free.fr/divers/7.jpg


Message édité par Profil supprimé le 30-09-2005 à 15:46:56
Reply

Marsh Posté le 30-09-2005 à 15:47:21    

ouai euhhh pour pondre une routine, j'aurai du mal !!!
j'ai matter l'aide de labview mais pwaaaa vraiment pas facile d'aprendre sans aucune explication d'un gar qui si connais....
Mais je pourrai vraiment pas pondre une routine comme tu le dit lol ....

Reply

Marsh Posté le 30-09-2005 à 15:53:32    

Je te rappelle tes propres mots :
"merci bien mais on est pas des branleurs ici lol !!! "
 
Faignasse, tu n'obtiendra rien sans efforts...Snif, envolés les rêves de richesse :D

Reply

Marsh Posté le 30-09-2005 à 15:58:22    

lol...
t un pti comic toi !!! :)
On peu développer notre application aussi sur "matlab"....
Et notre prof nous à dit de fair des recherches pour "comment détecter les zones flous" aide"le module du gradient". Donc je vais fair des recherche sur internet sur ce point ..... :bounce:

Reply

Marsh Posté le 30-09-2005 à 16:04:35    

T'as déja l'image à analyser, c'est tj ça de pris :D
Je ne l'aurais pas faite pour rien comme ça.
 
Par contre je pense que tu trouverais davantage d'aide dans la section prog et sur le topic des matheux (section science).


Message édité par Profil supprimé le 30-09-2005 à 16:05:13
Reply

Marsh Posté le 30-09-2005 à 16:23:33    

oki c cool lol, j'avance doucement mais surement !!!
bon aller assez parlé de ca pour aujourd'hui lol !!
je rentre chez moi...... iiiiiiiiiii aaaaaaaaaaaaa
merci pour les infos je reviendrais voir si des autres personnes laisse un mess @++ tchéoooo

Reply

Marsh Posté le 30-09-2005 à 18:39:45    

Je m'y prendrais comme ça :
 
avec "P" comme pixel à analyser, x(1 à 8) les 8 pixels voisins, et F comme constante de seuil de netteté.
 
x(1) x(2) x(3)
 
x(4)   P   x(5)
 
x(6) x(7) x(8)
 
Focus = abs(couleur de P moins couleur de x(1)) + abs(couleur de P moins couleur de x(2)) + abs(couleur de P moins couleur de x(3)) + etc jusqu'à x(8)
 
si Focus < F alors c'est flou (on passe à l'analyse du pixel suivant)
si Focus > F alors c'est net (on ajoute le point au nuage 3D)
 
Chaque image est une strate, tu obtiendra des "courbes" de niveau, enfin pas vraiment des courbes hélas mais des points, aprés pour les relier automatiquement, il existe des softs dédiés il me semble.
 
Je ne sais pas quel matos vous avez, mais la profondeur de champs doit être vraiment trés faible, plus elle le sera plus vous pourrez calculer de strates et ainsi obtenir un modèle 3D fidèle.
 
Si la camera reste fixe par rapport à l'objet (ce que je vous souhaite), Il faudra enregistrer les points dans la bonne strate en tenant compte non seulement de la valeur de focus mais aussi des coordonnées horizontales (en fait de la distance entre l'objectif et le point analysé, la zone nette étant sphérique, les strates ne sont pas planes).
 
Il vaut mieux utiliser une texture trés bruitée plutot qu'un simple quadrillage (un bout granite par exemple, ou un objet blanc tacheté à fond à la brosse à dents avec de la peinture de plusieurs couleurs), parce que dans le cas du quadrillage toutes les zones de couleur unies (les carreaux :D) ne génèrent aucune info exploitable, plus c'est tacheté, mieux c'est.


Message édité par Profil supprimé le 30-09-2005 à 22:45:27
Reply

Marsh Posté le 30-09-2005 à 18:55:19    

ok jétudirai tout ca et merci pour les informations.....
 
bon week

Reply

Marsh Posté le 30-09-2005 à 18:59:52    

bon week-end (gaf j'ai édité plusieurs posts et il doit rester un paquet d'anneries)
;)

Reply

Marsh Posté le 01-10-2005 à 15:18:29    

oki oki, bon déja enfin en début de semaine, je pense qu'il faut déja que je me penche sur comment trouver le seuil de netteté (je pense que c'est le premier truc à fair).
Par contre dans ton algo :
Focus = abs(couleur de P moins couleur de x(1)) +....
je vois pas très bien à quoi correspond abs(....); c'est une fonction ?
 
En tout cas merci pour les infos précieuse que tu nous auras fourni...
Et vivement qu'il nous fasse manipulé tout ca dans les prochain TP car pour le moment nous ne savons que les bases. C'est pour ca qu'on galère un peu à démarrer ... lol

Reply

Marsh Posté le 01-10-2005 à 18:57:48    

abs -> valeur absolue (t'es certains d'avoir déja programmé ? ne serait-ce qu'une calculatrice  :o  sorry j'ai pas pu me retenir, en même temps tu cherches :D)
 
Le seuil de netteté tu t'en tapes pour l'instant c'est une pauvre constante que vous définirez de manière empirique le moment venu, ça prends 2 secondes.
 
Pour simplifier l'explication, disons que :
 
Noir = 0
Gris foncé = 25
Gris clair = 75
Blanc = 100
 
Cas de la zone nette :
(On imagine) ton point P est noir et les 8 points voisins sont blancs, tu obtiendras
Focus = abs(0 - 100) + abs(0 - 100) + abs(0 - 100) + abs(0 - 100) + abs(0 - 100) + abs(0 - 100) + abs(0 - 100) + abs(0 - 100)
Focus = 800
 
Cas de la zone floue :
(une tache similaire mais floue cette fois-ci) ton point P est gris foncé et les 8 points voisins sont gris clair, tu obtiendras
Focus = abs(25 - 75) + abs(25 - 75) + abs(25 - 75) + abs(25 - 75) + abs(25 - 75) + abs(25 - 75)  + abs(25 - 75) + abs(25 - 75)  
Focus = 400
 
A la louche je décide que le seuil de netteté F sera de 600, tout ce qui est en dessous dégage, tous ce qui est au dessus j'ajoute au nuage de points 3D.
 
Bien sur les valeurs que j'ai choisis sont volontairement simples, pour faciliter la compréhension.
 
Vous rencontrerez certainement un tas d'obstacles en route, mais tu as déja une direction assez précise, j'arrête donc là, il faut quand même que vous cherchiez un peu :).
NB : Je vais supprimer les images, imprime ou enregistre le topic si tu veux en garder une trace  ;)
 
 :hello:


Message édité par Profil supprimé le 01-10-2005 à 19:37:19
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed