I started to time some OpenCV code I ported over to the Jetson and try to decide what to optimise to get things running at my camera’s frame rate (~30FPS). The code uses color and depth images. It contains a mix of computer vision, model fitting (PCA and similar) and visualisations via imshow() calls.
I am currently at 8 to 20 FPS depending on the mix of image processing and visualisation operations being performed. The code is single threaded so things can definitely be improved.
Is there an updated list of optimised functions in OpenCV4Tegra? I found the following, but it seems to be for 2.4.5 not the 2.4.8 version packaged with the Jetson
http://docs.nvidia.com/tegra/Content/OpenCV_Known_Issues.html
Also already aware of this wiki page:
http://elinux.org/Jetson/Computer_Vision_Performance
I have noticed quite a bit of slow down using imshow to display images (10ms+) and the “lag” seems to be very variable. Are the highgui functionality hardware accelerated? I noticed that the namedWindow Windows do not support OpenGL.
Any pointers towards more technical information about the 2.4.8 version of OpenCV4Tegra available for the Jetson would be much appreciated as I can’t just dive into the code to see whether the GPU or CPU or both are being utilized.
Note that I don’t have access to VisionWorks (but would love to get access :D) so I haven’t used any functions from VW.