MYNT-EYE-OKVIS-Sample icon indicating copy to clipboard operation
MYNT-EYE-OKVIS-Sample copied to clipboard

Running on ARM platform

Open clement-joly opened this issue 5 years ago • 0 comments

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:

  1. how to force cmake to use OpenCV 2.4 to build the okvis_frontend module while using OpenCV3 for the other modules?
  2. using another FeatureDetector that would be compatible with OpenCV 3 to solve the segmentation problem?
  3. using the regular OKVIS repo and then repiping it so it can consume MYNTEYE frames?

clement-joly avatar Aug 29 '19 04:08 clement-joly