Please excuse the beginner question.
I am using the Jetson Tk1 board with the Nvidia OpenCV4Tegra libraries.
Nvidia does not include the SURF and SIFT libraries with the closed source OpenCV4Tegra binaries.
My question is how to compile find_object without the nonfree module?
I could compile OpenCV-2.4.9 with cuda enabled and obtain SURF and SIFT but would lose the Nvidia optimizations.
With changes from revision r411, Find-Object should build even if nonfree module is not found with OpenCV. However, SIFT and SURF are not anymore available. CMake should tell that nonfree module was not found:
"With OpenCV nonfree module (SIFT/SURF) = NO (not found)"
For RTAB-Map, I'll check if I can do the same cmake build switch. This could make a full BSD build for RTAB-Map at the same time. However, the power of loop closure detection in RTAB-Map is greatly dependent on float descriptors like SURF and SIFT. For small environments, binary descriptors would be sufficient though.
I did a source compile installation of OpenCV-2.4.10 on top of the Nvidia OpenCV binaries.
My preferred solution would be to compile just the nonfree module to run along side of the Nvidia binaries, but cmake is something of a mystery to me. Perhaps someone with a Jetson board that knows cmake will post a tutorial some day.
find_object installed with no errors. It runs at 1fps with the default settings.
The recognition of partially occluded objects as very impressive!
The freenect drivers for the Kinect model 1473/Ubuntu Indigo/Jetson hardware are somewhat broken for the moment. I am looking forward to installing RTAB-Map when they are fixed.