I'm not surprised to see VXL underperforming OpenCV in a neural net operation, since the word "neural" does not appear in the VXL source code.
 
The VXL vil 2D FFT implementation copies image data from each column and row to a vector, does the FFT on the vector, and copies the data back to the image again, if that data is not already in contiguous memory.  This stems from a requirement of vnl_fft_1d, and will usually happen for just the columns.  The vil FFT code does not take advantage of the special case of the data being real - it only operates on complex pixel values.  These issues could contribute to a performance differential.
 
Fred

 

From: Jorge Sanchez [mailto:jrg.sanchez@gmail.com]
Sent: Thursday, October 23, 2008 1:48 PM
To: vxl-users@lists.sourceforge.net
Subject: [Vxl-users] benchmark on OpenCV book

Hi all,
I've found a performance benchmark on the recently edited OpenCV book. I attach a capture of the graph. Can anyone explain such differences? or in other way, what kind of optimizations are used?

cheers,
Jorge

--
Jorge A. Sánchez
Centro de Investigación en Informática para la Ingeniería, CIII.
Universidad Tecnológica Nacional. Facultad Regional Córdoba.
Maestro M. López esq. Cruz Roja Argentina. CP X5016ZAA
jsanchez@scdt.frc.utn.edu.ar