Skip to content

Running on ARM platform #12

@clement-joly

Description

@clement-joly

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions