L
luigirosa
Guest
Cel mai rapid FFW Filtrarea în Occident
http://www.advancedsourcecode.com/ffw.asp
FFW de pachet este un fft pe bază de algoritm pentru un fast 2D convoluţie folosind suprapun-adăuga metodă.Suprapunerea-adăuga metodă se bazează pe tehnica fundamentale în DSP: descompune semnalul în componente simple, fiecare proces de componente, în unele mod util, şi recombina de componente prelucrate în final semnal.Acest lucru este posibil deoarece convolutional operatorul este liniar.FFW de pachet de lucrări în mod similar cu funcţia fftfilt (Matlab Image Processing Toolbox), dar într-un mod mai profund: toate lungimile de vectori sunt luate în considerare şi nu numai lungimi, care sunt de două puteri.Acest lucru este foarte necesar, deoarece FFTW pachet (pentru mai multe detalii vizitaţi http://www.fftw.org) include, de asemenea, codelets optimizat pentru alte dimensiuni fixe.Codelets sunt produse în mod automat de către FFTW codelet generator: vă puteţi adăuga propriile codelets şi re-calcula executarea ori pentru fiecare fft.Executarea ori pentru:
Fft de real 1D vectori
Fft de complexe 1D vectori
IFFT de complex 1D vectori
au fost calculate cu script-ul de la papiclock.m lungime n = 1 până la lungimea N = 2048.Aceste ori au fost determinate folosind PAPI pentru Matlab (disponibil aici sau la http://icl.cs.utk.edu/papi).Un 2D fft (a
se vedea Matlab comandă fft2) se descompune în mai multe 1D FFTs: fft de operator pentru o matrice N-dimensional, de fapt, pot fi împărţite în mai multe 1-dimensional FFTs de monodimensional arrays.FFW de algoritmul selectează automat, care este cea mai buna alegere (prima dimensiune,
pe de altă dimensiune şi de cele mai bune lungimi pentru suprapun-adăuga metodă) si calculeaza 2D convoluţie.
FFW de pachet poate fi uşor de utilizat pentru a îmbunătăţi performanţele de viteză:
2D convoluţie (Matlab funcţia conv2)
2D filtrare (Matlab funcţia filter2)
2D eco-corespondenţă (Matlab funcţia xcorr2)
Normalizat eco-corespondenţă (Matlab funcţia normxcorr2)Cum FFW pachetul de lucru?
În scopul de a găsi cea mai bună pentru parametrii suprapun-o metodă de a adăuga căutare exhaustivă pe 2D matrici nu ar fi posibilă.De calcul a costurilor de FFT2 operator se face descompun in calcul costurile de două serii de FFTs pe monodimensional Array.De exemplu, dacă doriţi să calculeze FFT2 computational cost folosind o matrice N x M ca intrare, va efectua următoarele sume: N * costul (fft (M)) M * costul (fft (N)) în cazul în care costul ( fft (X)) este computaţionale costul fft operator folosind ca un vector de intrare a căror lungime este X. computaţionale costul fft pentru un vector real este, în general, diferite de la costul de fft pentru un complex vector.Din acest motiv, mai mult de o alegere este posibil: puteti alege prima dimensiune pe care o puteţi aplica fft operator.Consideraţii similare se pot face pentru IFFT operator.
După minim computational cost a fost găsit, un fine tuning este posibil: cu FFW algoritm face o cvasi-exhaustivă de căutare utilizând un algoritm optimizat.În fine-tuning opţiune necesită o mulţime de timp, dar este recomandat pentru înalt performante fft pe bază de filtrare.Desigur, această opţiune are sens numai atunci când au de a face mai multe convoluţie produse.
Dacă ambele intrări sunt imagini reale FFW algoritm foloseşte "simetric" opţiune atunci când se utilizează IFFT operator.Parametri de optimizat pentru FFW algoritm depinde numai pe mărimi de intrare matrici şi pe valorile lor (reale sau complexe).În cazul în care acelaşi filtru trebuie să fie aplicat la mai multe imagini, FFT2 sale de valoare poate fi determinată doar o singură dată, de economisire a timpului de calcul.În acest caz (la fel de filtru aplicat la mai multe imagini) de determinare a optimizat parametru nu trebuie să se ţină seama de costul de calcul a unor astfel de operaţie, deoarece aceasta se face doar o singură dată.FFW algoritm poate, de asemenea, locul de muncă, în timp de domeniu: Această opţiune este necesară pentru mici filtru nucleu, folosind standardul conv2 construit-Matlab în funcţie.
http://www.advancedsourcecode.com/ffw.asp
http://www.advancedsourcecode.com/ffw.asp
FFW de pachet este un fft pe bază de algoritm pentru un fast 2D convoluţie folosind suprapun-adăuga metodă.Suprapunerea-adăuga metodă se bazează pe tehnica fundamentale în DSP: descompune semnalul în componente simple, fiecare proces de componente, în unele mod util, şi recombina de componente prelucrate în final semnal.Acest lucru este posibil deoarece convolutional operatorul este liniar.FFW de pachet de lucrări în mod similar cu funcţia fftfilt (Matlab Image Processing Toolbox), dar într-un mod mai profund: toate lungimile de vectori sunt luate în considerare şi nu numai lungimi, care sunt de două puteri.Acest lucru este foarte necesar, deoarece FFTW pachet (pentru mai multe detalii vizitaţi http://www.fftw.org) include, de asemenea, codelets optimizat pentru alte dimensiuni fixe.Codelets sunt produse în mod automat de către FFTW codelet generator: vă puteţi adăuga propriile codelets şi re-calcula executarea ori pentru fiecare fft.Executarea ori pentru:
Fft de real 1D vectori
Fft de complexe 1D vectori
IFFT de complex 1D vectori
au fost calculate cu script-ul de la papiclock.m lungime n = 1 până la lungimea N = 2048.Aceste ori au fost determinate folosind PAPI pentru Matlab (disponibil aici sau la http://icl.cs.utk.edu/papi).Un 2D fft (a
se vedea Matlab comandă fft2) se descompune în mai multe 1D FFTs: fft de operator pentru o matrice N-dimensional, de fapt, pot fi împărţite în mai multe 1-dimensional FFTs de monodimensional arrays.FFW de algoritmul selectează automat, care este cea mai buna alegere (prima dimensiune,
pe de altă dimensiune şi de cele mai bune lungimi pentru suprapun-adăuga metodă) si calculeaza 2D convoluţie.
FFW de pachet poate fi uşor de utilizat pentru a îmbunătăţi performanţele de viteză:
2D convoluţie (Matlab funcţia conv2)
2D filtrare (Matlab funcţia filter2)
2D eco-corespondenţă (Matlab funcţia xcorr2)
Normalizat eco-corespondenţă (Matlab funcţia normxcorr2)Cum FFW pachetul de lucru?
În scopul de a găsi cea mai bună pentru parametrii suprapun-o metodă de a adăuga căutare exhaustivă pe 2D matrici nu ar fi posibilă.De calcul a costurilor de FFT2 operator se face descompun in calcul costurile de două serii de FFTs pe monodimensional Array.De exemplu, dacă doriţi să calculeze FFT2 computational cost folosind o matrice N x M ca intrare, va efectua următoarele sume: N * costul (fft (M)) M * costul (fft (N)) în cazul în care costul ( fft (X)) este computaţionale costul fft operator folosind ca un vector de intrare a căror lungime este X. computaţionale costul fft pentru un vector real este, în general, diferite de la costul de fft pentru un complex vector.Din acest motiv, mai mult de o alegere este posibil: puteti alege prima dimensiune pe care o puteţi aplica fft operator.Consideraţii similare se pot face pentru IFFT operator.
După minim computational cost a fost găsit, un fine tuning este posibil: cu FFW algoritm face o cvasi-exhaustivă de căutare utilizând un algoritm optimizat.În fine-tuning opţiune necesită o mulţime de timp, dar este recomandat pentru înalt performante fft pe bază de filtrare.Desigur, această opţiune are sens numai atunci când au de a face mai multe convoluţie produse.
Dacă ambele intrări sunt imagini reale FFW algoritm foloseşte "simetric" opţiune atunci când se utilizează IFFT operator.Parametri de optimizat pentru FFW algoritm depinde numai pe mărimi de intrare matrici şi pe valorile lor (reale sau complexe).În cazul în care acelaşi filtru trebuie să fie aplicat la mai multe imagini, FFT2 sale de valoare poate fi determinată doar o singură dată, de economisire a timpului de calcul.În acest caz (la fel de filtru aplicat la mai multe imagini) de determinare a optimizat parametru nu trebuie să se ţină seama de costul de calcul a unor astfel de operaţie, deoarece aceasta se face doar o singură dată.FFW algoritm poate, de asemenea, locul de muncă, în timp de domeniu: Această opţiune este necesară pentru mici filtru nucleu, folosind standardul conv2 construit-Matlab în funcţie.
http://www.advancedsourcecode.com/ffw.asp