MYNT-EYE-OKVIS-Sample
MYNT-EYE-OKVIS-Sample copied to clipboard
Running on ARM platform
I've managed to compile the code on ARM and to make it run for a few frames but after that I get a segmentation error.
The change I've made is in okvis_frontend/src/Frontend.cpp:
I've replaced (line 822):
std::shared_ptr<cv::FeatureDetector>( //#ifdef __ARM_NEON__ new cv::GridAdaptedFeatureDetector( new cv::FastFeatureDetector(briskDetectionThreshold_), briskDetectionMaximumKeypoints_, 7, 4 ))); // from config file, except the 7x4...
with:
std::shared_ptr<cv::FeatureDetector>( #ifdef __ARM_NEON__ new brisk::BriskFeatureDetector(34,2)));
based on the OKVIS repo test code here
I'm running the program with this:
./okvis_app_mynteye_s ../config/config_mynteye_s.yaml
Before I made the change above, the program wouldn't compile because this repo uses OpenCV 3.0 which has a different definition for the FeatureDetector class than OpenCV 2.4 (see Original OKVIS repo issue here).
brisk::BriskFeatureDetector seems to be compatible with OpenCV 3... at least until I run in the segmentation problem.
I'm ready to put the work in to make this work on ARM. Do you have any suggestions on:
- how to force cmake to use OpenCV 2.4 to build the okvis_frontend module while using OpenCV3 for the other modules?
- using another FeatureDetector that would be compatible with OpenCV 3 to solve the segmentation problem?
- using the regular OKVIS repo and then repiping it so it can consume MYNTEYE frames?