|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre confirmé
![]() Inscription : janvier 2008 Messages : 576 ![]() |
Bonjour je rencontre des problèmes de performances(temps d'éxecution très lent) sur l'algorithme de "scanline optimization" dans le cadre de la stereovision.
Pour faire simple l'algorithme est le suivant: Code :
Pour tenter de l'optimiser j'ai tenté de stocker dans un tableau les valeurs déjà calculer et de les réutiliser. Mais c'est toujours très lent. J'ai environ 20 niveaux de disparités pour une image de 300*300 environ. Donc en gros j'appelle ce script 300*300*20 (3 boucles imbriquées). Si quelqu'un sait comment optimiser ce genre d'algorithme, merci de son aide |
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() Inscription : janvier 2007 Messages : 9 590 ![]() |
il y a des signes bizarres dans ton algo..
Peux-tu le reposter normalement ? Et aussi, le code en tant que tel, pas juste l'algo.. Merci
__________________
"Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle". Consultant indépendant. Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie. C, Fortran, XWindow/Motif, Java Je ne réponds pas aux MP techniques |
|
|
00
|
|
|
#3 | |
|
Membre confirmé
![]() Inscription : janvier 2008 Messages : 576 ![]() |
Bonjour, pour l'encodage c'est peut être parce que j'ai poster avec un firefox datant de la préhistoire...
L'algorithme que j'ai code semble marche mais il prend 20 secondes a s’exécuter pour un scanline dans une seule direction. Je l'ai code en matlab il fait environ une 30e de lignes. Les deux formules utilisées sont: Citation:
![]() La ou je bloque c'est sur le terme V(dt, ds) qui est le smoothness terme entre 2 disparité, celle du noeud T et le précédent S. Donc pour moi je comprend qu'on est oblige de faire une double boucle imbrique sur les disparités pour calculer V entre le noeud précédent(s) et le courant(t) et ceux pour chaque disparité différentes entre les deux noeuds. Merci de votre aide. Edit: je n'ai pas poste le code car je ne sais pas si cette algorithme parle a quelqu'un a vrai dire^^, je n'en ai pas trouve d’implémentation sur internet. |
|
|
|
00
|
|
|
#4 | |
|
Expert Confirmé Sénior
![]() Inscription : janvier 2007 Messages : 9 590 ![]() |
Citation:
Soit plus précis stp. En particulier un pointeur sur l'algo serait bien, et aussi l'expression réelle de V.
__________________
"Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle". Consultant indépendant. Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie. C, Fortran, XWindow/Motif, Java Je ne réponds pas aux MP techniques |
|
|
|
00
|
|
|
#5 | ||
|
Membre confirmé
![]() Inscription : janvier 2008 Messages : 576 ![]() |
Bonjour,
le smoothness term se calcule comme cela: ![]() avec lambda constante. voici en matlab mon algo: Code :
|
||
|
|
00
|
|
|
#6 | ||
|
Membre confirmé
![]() Inscription : janvier 2008 Messages : 576 ![]() |
C'est bon j'ai enfin trouve...^_^. je marque donc le problème en résolu.
Voici donc aussi le code du scanline optimisation (les valeur de theta peuvent etre changer le calcul du smoothness term peuvent etre ameliorer.) Si cela peut aider. Code matlab :
|
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com