Open source modules to interface Metavision Intelligence Suite with event-based vision hardware equipment

Overview

Metavision: installation from source

This page describes how to compile and install the OpenEB codebase. For more information, refer to our online documentation.

Compiling on Ubuntu

Currently, we support Ubuntu 18.04 and 20.04.

Prerequisites

Install the following dependencies:

sudo apt update
sudo apt -y install apt-utils build-essential software-properties-common wget unzip curl
sudo apt -y install cmake  libopencv-dev git # CMake, OpenCV, and Git
sudo apt -y install libboost-all-dev libusb-1.0-0-dev libeigen3-dev # Boost, Libusb and eigen3
sudo apt -y install libglew-dev libglfw3-dev
sudo apt -y install libgtest-dev  # gtest
sudo apt -y install python3-pip python3-distutils  # the python package installer
python3 -m pip install pip --upgrade  # upgrade pip
python3 -m pip install pytest "numpy==1.19.5"

If you want to run tests, then you need to compile gtest package (this is optional):

cd /usr/src/gtest
sudo cmake .
sudo make
sudo cp *.a /usr/lib

The Python bindings rely on the pybind11 library, specifically version 2.4.3.

Note: pybind11 is required only if you use the python interface; you can opt out of creating these bindings by passing the argument -DCOMPILE_PYTHON3_BINDINGS=OFF at step 3 during compilation (see below); you will not need to install pybind11, but you won't be able to use our python interface.

Unfortunately, there is no pre-compiled version of pybind11 available, so you need to install it manually:

wget https://github.com/pybind/pybind11/archive/v2.4.3.zip
unzip v2.4.3.zip
cd pybind11-2.4.3/
mkdir build && cd build
cmake .. -DPYBIND11_TEST=OFF
cmake --build .
sudo cmake --build . --target install

Metavision compilation

  1. Retrieve the code git clone https://github.com/prophesee-ai/openeb.git
  2. Create and open the build directory, where temporary file will be created: mkdir build && cd build
  3. Generate the makefiles using CMake: cmake .. -DBUILD_TESTING=OFF
  4. Compile: cmake --build . --config Release -- -j 4
  5. Install: sudo cmake --build . --target install
  6. Add /usr/local/lib to LD_LIBRARY_PATH:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

Note that you can add this command to your ~/.bashrc or ~/.zshrc to make it permanent.

  1. If you are planning to work with Prophesee cameras or data recordings, then install Prophesee plugins as described in online documentation.

(Optional) Running the test suite

Running the test suite is a sure-fire way to ensure you did everything well with your compilation and installation process.

Note that the Metavision Hal Plugins must be installed for most of these tests to run.

  • Go to this page to download the files necessary to run the tests. The obtained archive weighs around 3 Gb.

  • Extract and put the content of this archive to <METAVISION_SRC_DIR>/datasets/

  • Regenerate the makefiles with the test options on.

cd <METAVISION_SRC_DIR>/build
cmake .. -DBUILD_TESTING=ON
  • Compile again. cmake --build . --config Release -- -j 4

  • Finally, run the test suite: ctest --verbose

Compiling on Windows

Prerequisites

To compile Metavision, you will need to install some extra tools:

  • install cmake
  • install the MS Visual Studio IDE to get a C++ compiler. If you only want the compiler, you can install C++ Build Tools instead.
  • install vcpkg that will be used for installing dependencies (we recommend the specific version here):
    • cd <VCPKG_SRC_DIR>
      • git clone https://github.com/microsoft/vcpkg.git
    • git checkout 08c951fef9de63cde1c6b94245a63db826be2e32
      • cd vcpkg && bootstrap-vcpkg.bat
    • setx VCPKG_DEFAULT_TRIPLET x64-windows, this will inform vcpkg to install packages for an x64-windows target. You need to close the command line and re-open it to ensure that this variable is set
  • finally, install the libraries by running vcpkg.exe install libusb eigen3 boost opencv glfw3 glew gtest

You can extract the tar archives using 7zip or a similar tool.

Install Python 3.7 or 3.8

  • Download "Windows x86-64 executable installer" for one of these Python versions:
  • Run the installer and follow the prompt. We advise you to check the box that propose to update the PATH or to update it manually with this command, replacing "Username" with your own.
C:\Users\Username\AppData\Local\Programs\Python\Python37;C:\Users\Username\AppData\Local\Programs\Python\Python37\Scripts (assuming the default install path was used)
  • Edit your environment variable PYTHONPATH and append the following path (if it is not already there):
"C:\Program Files\Prophesee\lib\python3\site-packages"
  • Re-start your session
  • Finally, install additionally required Python packages using pip:
python3 -m pip install pip --upgrade
python3 -m pip install "numpy==1.19.5" pytest

Metavision compilation

First, retrieve the codebase:

git clone https://github.com/prophesee-ai/openeb.git

Compilation using CMake

Open a command prompt inside the openeb folder and do as follows:

  1. Create and open the build directory, where temporary files will be created: mkdir build && cd build
  2. Generate the build using CMake: cmake -A x64 -DCMAKE_TOOLCHAIN_FILE=<VCPKG_SRC_DIR>\scripts\buildsystems\vcpkg.cmake ..
  3. Compile: cmake --build . --config Release --parallel 4

Compilation using MS Visual Studio

Open a command prompt inside the openeb folder and do as follows:

  1. Create and open the build directory, where temporary files will be created: mkdir build && cd build
  2. Generate the Visual Studio files using CMake: cmake -G "Visual Studio 16 2019" -A x64 -DCMAKE_TOOLCHAIN_FILE=<VCPKG_SRC_DIR>\scripts\buildsystems\vcpkg.cmake .. (adapt to your Visual Studio version)
  3. Open the solution file metavision.sln, select the Release configuration and build the ALL_BUILD project.

Installing Prophesee Plugins

Install Prophesee plugins if you plan to work with Prophesee cameras or data recordings:

  • Go to the Metavision sign-up page, download Metavision_HAL_Prophesee_plugins_220_Setup.exe and run it
  • If an alert message from Windows pops up during install, click more info, then run anyway

(Optional) Running the test suite

Running the test suite is a sure-fire way to ensure you did everything well with your compilation and installation process.

Note that the Metavision Hal Plugins must be installed for most of these tests to run.

  • Go to this page to download the files necessary to run the tests. Click Download on the top right folder. The obtained archive weighs around 3 Gb.

  • Extract and put the content of this archive to <METAVISION_SRC_DIR>/datasets/

  • To run the test suite you need to reconfigure your build environment using CMake and to recompile

    • Compilation using CMake
    1. Regenerate the build using CMake:

      cd <METAVISION_SRC_DIR>/build
      cmake -A x64 -DCMAKE_TOOLCHAIN_FILE=<VCPKG_SRC_DIR>\scripts\buildsystems\vcpkg.cmake -DBUILD_TESTING=ON ..
      
    2. Compile cmake --build . --config Release --parallel 4

    • Compilation using MS Visual Studio
    1. Generate the Visual Studio files using CMake (adapt the command to your Visual Studio version):

      `cmake -G "Visual Studio 16 2019" -A x64 -DCMAKE_TOOLCHAIN_FILE=<VCPKG_SRC_DIR>\scripts\buildsystems\vcpkg.cmake -DBUILD_TESTING=ON ..``

    2. Open the solution file metavision.sln, select the Release configuration and build the ALL_BUILD project.

  • Running the test suite is then simply ctest -C Release

Comments
  • Feature request: native python data loader or Mac support for MetavisionSDK

    Feature request: native python data loader or Mac support for MetavisionSDK

    Hi,

    I'm using Prophesee Gen3 camera now, and having a feature request to you. Since I couldn't find any forum or feature request form for Metavision SDK, I'm writing here.

    What I want to do in the end: load .raw data on my Mac (M1, 2020). And currently this is not possible in my understanding.

    What I want to request: either of the below options:

    • Please support Mac for Metavision SDK. Then I can install the python library.
    • Please develop a python-native library (something like pip install metavision_api). I don't need many functionalities for now, just data loading is a great help. I believe this is possible without Metavision backend.

    Sincerely,

    Shintaro

    opened by shiba24 18
  • Compliation test failed on the second one

    Compliation test failed on the second one

    Hi,

    I'm having problems with the compiling tests and I have uploaded the command line output I got.
    test_log.txt

    The first test passed but the second was showing AssignProcessToJobObject: (87) The parameter is incorrect., and the error stopped the whole testing process.

    There was no error while building the code. I'm on Windows 10 with Visual Studio 2022, and I used standalone CMake 3.22.1. I have also installed the HAL plugin as I'm using a Prohphesee camera.

    I was using the Essentials SDK before but I had some problems with Release/Debug configurations, and it was uninstalled before I started with OpenEB.

    Thank you very much, Phil

    tests 
    opened by sssphil 16
  • is the nvidia xavier supported?

    is the nvidia xavier supported?

    Hi, I was looking into buying a SilkyEVCam to be used on a robot that runs an Nvidia Xavier AGX (ARM64 based system). Is that supported by OpenEB? Will it be possible to get a HAL plugin for ARM64/Ubuntu 18.04 systems? Thanks!

    opened by berndpfrommer 11
  • [Modification request] Remove rules installation from project installation

    [Modification request] Remove rules installation from project installation

    Hey!

    Happy to see you opened source code of plugins. For a long time, to install plugins in different CPU architectures platforms are annoyed me. I'm trying use openeb in my robot project. But I found the installation scripts are not allowd me to install this without root privilege because of the USB rules installation hal_psee_plugins/resources/rules/CMakeLists.txt.

    AFAIK. The rules are usually installed independently with shell scripts, like setup_udev_rules.sh in librealsense project. So perhaps create a new file for rules installation is a better idea?

    opened by homalozoa 9
  • Ubuntu installation failed: python not found

    Ubuntu installation failed: python not found

    Hi, thank you for your support. I have two questions about python in compilation.

    Environment

    lsb_release -a
    No LSB modules are available.
    Distributor ID:	Ubuntu
    Description:	Ubuntu 20.04.3 LTS
    Release:	20.04
    Codename:	focal
    

    python

    I have python3.8 and 3.9:

    ➜  build git:(main) ✗ which python
    python not found
    ➜  build git:(main) ✗ which python3
    /usr/bin/python3
    ➜  build git:(main) ✗ which python3.8
    /usr/bin/python3.8
    ➜  build git:(main) ✗ which python3.9
    /usr/bin/python3.9
    ➜  build git:(main) ✗ python3 -V
    Python 3.8.10
    

    Q1. Compilation fails because it does not find python3.8

    I think cmake tries to find python3.9 first although I have 3.8. How can I tell the pythonpath and/or python version?

    Here is the error:

    build git:(main) ✗ cmake .. -DBUILD_TESTING=OFF
    -- The C compiler identification is GNU 9.3.0
    -- The CXX compiler identification is GNU 9.3.0
    -- Check for working C compiler: /usr/bin/cc
    -- Check for working C compiler: /usr/bin/cc -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Check for working CXX compiler: /usr/bin/c++
    -- Check for working CXX compiler: /usr/bin/c++ -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Building METAVISION_SDK_MODULES_OPEN modules : base;core;driver;ui
    -- Building METAVISION_SDK_MODULES_PROFESSIONAL modules : analytics;calibration;cv;ml;3dview;cv3d
    -- Looking for pthread.h
    -- Looking for pthread.h - found
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
    -- Check if compiler accepts -pthread
    -- Check if compiler accepts -pthread - yes
    -- Found Threads: TRUE  
    -- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
    -- Checking for module 'libusb-1.0'
    --   Found libusb-1.0, version 1.0.23
    -- Found LibUSB: /usr/include/libusb-1.0  
    -- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake (found version "1.71.0") found components: program_options filesystem timer chrono thread 
    CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
      Could NOT find Python3 (missing: Python3_INCLUDE_DIRS Python3_LIBRARIES
      Development Development.Module Development.Embed) (found version "3.9.7")
    Call Stack (most recent call first):
      /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:393 (_FPHSA_FAILURE_MESSAGE)
      cmake/Modules/FindPython/Support.cmake:2999 (find_package_handle_standard_args)
      cmake/Modules/FindPython3.cmake:391 (include)
      cmake/custom_functions/python3.cmake:63 (find_package)
      CMakeLists.txt:211 (include)
    
    
    -- Configuring incomplete, errors occurred!
    See also "/home/shintaro/prophesee_ws/openeb/build/CMakeFiles/CMakeOutput.log".
    See also "/home/shintaro/prophesee_ws/openeb/build/CMakeFiles/CMakeError.log".
    
    

    I tried this issue but didn't work either. https://github.com/prophesee-ai/openeb/issues/32#issuecomment-945825601

    Q2. virtual environment

    My existing python environment is already coupled with ROS and some DAVIS packages. Since your library requirement is somehow strict ("numpy==1.19.5" "opencv-python>=4.2.0.34"), I'd like to create virtual environment to encapsulate openeb environment. I'm thinking something like python3.8 -m venv ~/local/venv but poetry is also fine.

    Have you every tried it? How can I make it work with venv?

    Sincerely,

    Shintaro

    compilation 
    opened by shiba24 9
  • Transform event data from ROS bag to HDF5 file

    Transform event data from ROS bag to HDF5 file

    Hi. I recently recorded a series of event data under ROS using the prophesee_ros_wrapper. This choice is because ROS provides a versatile framework that supports multi-sensors recording. However, I need to transform events from ROS bags to HDF5 files for now, as the ROS bag is quite bulky. Is there any function implemented in the metavision, or sample script to do so?

    Thanks in advance!

    opened by mgaoling 6
  • where can I find the BaseFrameGenerationAlgorithm

    where can I find the BaseFrameGenerationAlgorithm

    I want to run Blinking Lights detector samples in local PyCharm IDE. The OpenEB library has been installed and compiled. However, I can not find BaseFrameGenerationAlgorithm in the metavision_sdk_core module.

    Could you help me to solve this problem? 捕获

    compilation 
    opened by sirius112358 6
  • Potential Bug in RawReader seek_event

    Potential Bug in RawReader seek_event

    Hi there, I think I found a bug in the metavision API:

    Environment:

    • Ubuntu 20.04
    ------------------------------------------ 
    PLATFORM INFORMATION 
    ------------------------------------------ 
    
    
    ####  DISTRIBUTION  #### 
    
    Linux scioi244-34 5.15.0-48-generic #54~20.04.1-Ubuntu SMP Thu Sep 1 16:17:26 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux 
    
    ####  VIRTUAL MACHINE  #### 
    
    Virtual Machine:              NO
    Docker:                       NO
    
    ------------------------------------------ 
    METAVISION SOFTWARE INFORMATION 
    ------------------------------------------ 
    
    
    ####  INSTALLED SOFTWARE  #### 
    
    Version:                      3.0.2
    Id:                           f3107c5b0cfacb2ab97aa78ebefcdc3b4992c7c0
    
    ####  INSTALLED PACKAGES - METAVISION  #### 
    
    Failed to retrieve installed Metavision packages list 
    
    ------------------------------------------ 
    METAVISION SYSTEMS INFORMATION 
    ------------------------------------------ 
    
    
    ####  SYSTEMS AVAILABLE  #### 
    
    No systems USB connected have been found on your platform. 
    

    Bug

    We found an inconsistency when using RawReader and the seek_event method. Here is a minimal example. This first example works fine:

    import numpy as np
    from metavision_core.event_io import EventsIterator, RawReader
    
    raw_path = "/tmp/spinner.raw"
    iterator = EventsIterator(raw_path, mode="delta_t")
    reader = RawReader(raw_path)
    
    for i, events_gt in enumerate(iterator):
        n_events = len(events_gt)
        events = reader.load_n_events(n_events)
    
        print(f"batch: {i}\niterator: {events_gt[:3]}\nraw_reader: {events[:3]}\n")
    
        events_gt = np.stack([events_gt["y"], events_gt["x"], events_gt["t"], events_gt["p"]]).T
        events = np.stack([events["y"], events["x"], events["t"], events["p"]]).T
        assert np.allclose(events_gt, events)
    

    producing the output:

    batch: 0
    iterator: [(237, 121, 1, 0) (246, 121, 1, 0) (248, 132, 1, 0)]
    raw_reader: [(237, 121, 1, 0) (246, 121, 1, 0) (248, 132, 1, 0)]
    
    batch: 1
    iterator: [(377, 98, 1, 10000) (359, 98, 1, 10000) (349, 97, 1, 10000)]
    raw_reader: [(377, 98, 1, 10000) (359, 98, 1, 10000) (349, 97, 1, 10000)]
    
    batch: 3
    iterator: [(332, 309, 1, 30000) (357, 310, 1, 30000) (358, 310, 1, 30000)]
    raw_reader: [(332, 309, 1, 30000) (357, 310, 1, 30000) (358, 310, 1, 30000)]
    
    batch: 4
    iterator: [(249, 287, 1, 40000) (204, 237, 0, 40000) (219, 237, 0, 40000)]
    raw_reader: [(249, 287, 1, 40000) (204, 237, 0, 40000) (219, 237, 0, 40000)]
    
    ...
    

    However, this snippet produces two bugs:

    import numpy as np
    from metavision_core.event_io import EventsIterator, RawReader
    
    raw_path = "/tmp/spinner.raw"
    iterator = EventsIterator(raw_path, mode="delta_t")
    reader = RawReader(raw_path)
    cnt = 0
    
    for i, events_gt in enumerate(iterator):
        n_events = len(events_gt)
    
        reader.reset()
        reader.seek_event(cnt)
    
        events = reader.load_n_events(n_events)
        cnt += n_events
    
        print(f"batch: {i}\niterator: {events_gt[:3]}\nraw_reader: {events[:3]}\n")
    
        events_gt = np.stack([events_gt["y"], events_gt["x"], events_gt["t"], events_gt["p"]]).T
        events = np.stack([events["y"], events["x"], events["t"], events["p"]]).T
    
        if i:
            assert np.allclose(events_gt, events)
    

    the output is:

    batch: 0
    iterator: [(237, 121, 1, 0) (246, 121, 1, 0) (248, 132, 1, 0)]
    raw_reader: [(  0,   0, 0, 0) (237, 121, 1, 0) (246, 121, 1, 0)]
    
    batch: 1
    iterator: [(377, 98, 1, 10000) (359, 98, 1, 10000) (349, 97, 1, 10000)]
    raw_reader: [(377, 98, 1, 10000) (359, 98, 1, 10000) (349, 97, 1, 10000)]
    
    batch: 2
    iterator: [(432, 228, 1, 20000) (426, 230, 1, 20000) (432, 231, 1, 20000)]
    raw_reader: [(432, 228, 1, 20000) (426, 230, 1, 20000) (432, 231, 1, 20000)]
    
    batch: 3
    iterator: [(332, 309, 1, 30000) (357, 310, 1, 30000) (358, 310, 1, 30000)]
    raw_reader: [(332, 309, 1, 30000) (357, 310, 1, 30000) (358, 310, 1, 30000)]
    
    batch: 4
    iterator: [(249, 287, 1, 40000) (204, 237, 0, 40000) (219, 237, 0, 40000)]
    raw_reader: [(249, 287, 1, 40000) (204, 237, 0, 40000) (219, 237, 0, 40000)]
    
    batch: 5
    iterator: [(210, 142, 1, 50000) (220, 142, 1, 50000) (227, 142, 1, 50000)]
    raw_reader: [(210, 142, 1, 50000) (220, 142, 1, 50000) (227, 142, 1, 50000)]
    
    batch: 6
    iterator: [(342, 110, 1, 60000) (376, 110, 0, 60000) (343, 111, 1, 60000)]
    raw_reader: [(342, 110, 1, 60000) (376, 110, 0, 60000) (343, 111, 1, 60000)]
    
    batch: 7
    iterator: [(417, 187, 1, 70000) (423, 187, 1, 70000) (420, 186, 1, 70000)]
    raw_reader: [(417, 187, 1, 70000) (423, 187, 1, 70000) (420, 186, 1, 70000)]
    
    batch: 8
    iterator: [(358, 293, 1, 80000) (361, 292, 1, 80000) (352, 292, 1, 80000)]
    raw_reader: [(358, 293, 1, 80000) (361, 292, 1, 80000) (352, 292, 1, 80000)]
    
    batch: 9
    iterator: [(210, 256, 0, 90000) (240, 278, 1, 90000) (246, 278, 1, 90000)]
    raw_reader: [(210, 256, 0, 90000) (240, 278, 1, 90000) (246, 278, 1, 90000)]
    
    batch: 10
    iterator: [(207, 141, 1, 100000) (239, 140, 0, 100000) (224, 160, 1, 100000)]
    raw_reader: [(207, 141, 1, 100000) (239, 140, 0, 100000) (224, 160, 1, 100000)]
    
    batch: 11
    iterator: [(331, 98, 1, 110000) (322, 98, 1, 110000) (359, 98, 0, 110000)]
    raw_reader: [(331, 98, 1, 110000) (322, 98, 1, 110000) (359, 98, 0, 110000)]
    
    batch: 12
    iterator: [(430, 184, 1, 120000) (429, 184, 1, 120000) (410, 188, 1, 120000)]
    raw_reader: [(430, 184, 1, 120000) (429, 184, 1, 120000) (410, 188, 1, 120000)]
    
    batch: 13
    iterator: [(376, 300, 1, 130000) (376, 302, 1, 130000) (343, 302, 0, 130000)]
    raw_reader: [(376, 300, 1, 130000) (376, 302, 1, 130000) (343, 302, 0, 130000)]
    
    batch: 14
    iterator: [(222, 271, 0, 140000) (224, 269, 0, 140000) (232, 268, 0, 140000)]
    raw_reader: [(222, 271, 0, 140000) (224, 269, 0, 140000) (232, 268, 0, 140000)]
    
    batch: 15
    iterator: [(228, 146, 0, 150000) (223, 134, 0, 150000) (234, 141, 0, 150000)]
    raw_reader: [(209, 169, 0, 250027) (213, 169, 0, 250027) (215, 169, 0, 250027)]
    
    Traceback (most recent call last):
      File "minimal-error.py", line 24, in <module>
        assert np.allclose(events_gt, events)
    AssertionError
    
    

    The first problem is the (0, 0, 0, 0) event inserted in the first batch. The second problem is a jump in the event data in batch 15.

    opened by friedhelm-h 5
  • Errors during compiling OpenEB on Ubuntu 18.04

    Errors during compiling OpenEB on Ubuntu 18.04

    Hello,

    I followed the instructions in this repository to install OpenEB on my Ubuntu 18.04. But I got errors after I did cmake --build . --config Release -- -j 4. Here is a part of the summary:

    /home/kamzero/Downloads/openeb/sdk/modules/core/cpp/src/video_writer.cpp: In member function ‘virtual void Metavision::VideoWriter::write(cv::InputArray)’: /home/kamzero/Downloads/openeb/sdk/modules/core/cpp/src/video_writer.cpp:343:33: error: no matching function for call to ‘Metavision::VideoWriter::write(const cv::_InputArray&)’ cv::VideoWriter::write(image); ^ In file included from /home/kamzero/Downloads/openeb/sdk/modules/core/cpp/src/video_writer.cpp:51:0: /usr/local/include/opencv2/videoio.hpp:940:26: note: candidate: virtual void cv::VideoWriter::write(const cv::Mat&) CV_WRAP virtual void write(const Mat& image); ^~~~~ /usr/local/include/opencv2/videoio.hpp:940:26: note: no known conversion for argument 1 from ‘const cv::_InputArray’ to ‘const cv::Mat&’ /home/kamzero/Downloads/openeb/sdk/modules/core/cpp/src/video_writer.cpp: In member function ‘virtual Metavision::VideoWriter& Metavision::VideoWriter::operator<<(const cv::UMat&)’: /home/kamzero/Downloads/openeb/sdk/modules/core/cpp/src/video_writer.cpp:365:72: error: no matching function for call to ‘Metavision::VideoWriter::operator<<(const cv::UMat&)’ return static_cast<VideoWriter &>(cv::VideoWriter::operator<<(image)); ^ In file included from /home/kamzero/Downloads/openeb/sdk/modules/core/cpp/src/video_writer.cpp:51:0: /usr/local/include/opencv2/videoio.hpp:931:26: note: candidate: virtual cv::VideoWriter& cv::VideoWriter::operator<<(const cv::Mat&) virtual VideoWriter& operator << (const Mat& image); ^~~~~~~~ /usr/local/include/opencv2/videoio.hpp:931:26: note: no known conversion for argument 1 from ‘const cv::UMat’ to ‘const cv::Mat&’ sdk/modules/core/cpp/lib/CMakeFiles/metavision_sdk_core.dir/build.make:185: recipe for target 'sdk/modules/core/cpp/lib/CMakeFiles/metavision_sdk_core.dir/__/src/video_writer.cpp.o' failed make[2]: *** [sdk/modules/core/cpp/lib/CMakeFiles/metavision_sdk_core.dir/__/src/video_writer.cpp.o] Error 1 CMakeFiles/Makefile2:2203: recipe for target 'sdk/modules/core/cpp/lib/CMakeFiles/metavision_sdk_core.dir/all' failed make[1]: *** [sdk/modules/core/cpp/lib/CMakeFiles/metavision_sdk_core.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... [ 35%] Built target metavision_sdk_base_python3 [ 36%] Linking CXX executable ../../../../bin/metavision_raw_cutter [ 36%] Built target metavision_raw_cutter [ 37%] Linking CXX executable ../../../../bin/metavision_platform_info [ 37%] Built target metavision_platform_info Makefile:170: recipe for target 'all' failed make: *** [all] Error 2

    It would be greatly appreciated if you can help.

    opened by kamzero 4
  • Errors when performing compilation tests

    Errors when performing compilation tests

    Hi,

    Thank you for releasing this framework. I tried to compile and install openeb in my Ubuntu18.04 pc.I followed the instructions in this repository. Compilation goes fine but when I do ctest --verbose I get many errors. The summary is:

    38% tests passed, 13 tests failed out of 21
    
    Total Test time (real) =   9.39 sec
    
    The following tests FAILED:
    	  1 - metavision-raw-cutter-test (Failed)
    	  4 - metavision-raw-info-with-sample-plugin-test (Failed)
    	  5 - metavision-raw-cutter-with-sample-plugin-test (Failed)
    	  6 - metavision-raw-to-csv-with-sample-plugin-test (Failed)
    	  7 - metavision-raw-to-dat-with-sample-plugin-test (Failed)
    	 11 - pytests_base (Failed)
    	 13 - metavision-raw-to-video-test (Failed)
    	 15 - pytests_core (Failed)
    	 16 - metavision-raw-info-test (Failed)
    	 17 - metavision-raw-to-dat-test (Failed)
    	 18 - metavision-raw-to-csv-test (Failed)
    	 20 - metavision-evt2-raw-file-decoder-test (Failed)
    	 21 - metavision-evt3-raw-file-decoder-test (Failed)
    
    

    Here is the full output of the ctest command: test.log

    I will appreciate if you could guide me on how to fix this errors.

    opened by juanmed 4
  • ModuleNotFoundError: No module named 'metavision_hal'

    ModuleNotFoundError: No module named 'metavision_hal'

    Hi, I'm trying to run metavision_raw_to_csv.py, and compiled openeb as instructed, and ran the setup_env.sh. When I ran metavision_raw_to_csv.py, I got:

    Traceback (most recent call last):
      File "metavision_raw_to_csv.py", line 15, in <module>
        from metavision_core.event_io import EventsIterator
      File "/openeb/sdk/modules/core/python/pypkg/metavision_core/event_io/__init__.py", line 12, in <module>
        from .raw_reader import RawReader
      File "/openeb/sdk/modules/core/python/pypkg/metavision_core/event_io/raw_reader.py", line 22, in <module>
        from metavision_hal import DeviceDiscovery, RawFileConfig
    ModuleNotFoundError: No module named 'metavision_hal'
    

    Any ideas on how can I solve it? Thanks!

    opened by jiangwei221 3
  • Support for OpenEmbedded/Yocto or Buildroot

    Support for OpenEmbedded/Yocto or Buildroot

    Feature Request!

    My team has been successful working with the EVK 2 HD on an Ubuntu desktop. However, our end goal requires us to use a low-power, embedded platform that cannot run Ubuntu.

    Are there any plans to support embedded flows like Yocto or Buildroot for OpenEB?

    Embedded Platform 
    opened by voinul4 1
Releases(3.1.2)
Owner
PROPHESEE
Metavision for machines
PROPHESEE
This is an example of Artificial Intelligence (AI) calculations on a very cheap hardware.

This is an example of Artificial Intelligence (AI) calculations on a very cheap hardware.

null 2.9k Dec 31, 2022
ROS wrapper for real-time incremental event-based vision motion estimation by dispersion minimisation

event_emin_ros ROS wrapper for real-time incremental event-based vision motion estimation by dispersion minimisation (EventEMin). This code was used t

Imperial College London 2 Jan 10, 2022
Frog is an integration of memory-based natural language processing (NLP) modules developed for Dutch. All NLP modules are based on Timbl, the Tilburg memory-based learning software package.

Frog - A Tagger-Lemmatizer-Morphological-Analyzer-Dependency-Parser for Dutch Copyright 2006-2020 Ko van der Sloot, Maarten van Gompel, Antal van den

Language Machines 70 Dec 14, 2022
Research on Event Accumulator Settings for Event-Based SLAM

Research on Event Accumulator Settings for Event-Based SLAM This is the source code for paper "Research on Event Accumulator Settings for Event-Based

Robin Shaun 26 Dec 21, 2022
Open Source Computer Vision Library

OpenCV: Open Source Computer Vision Library Resources Homepage: https://opencv.org Courses: https://opencv.org/courses Docs: https://docs.opencv.org/m

OpenCV 65.7k Jan 4, 2023
open Multiple View Geometry library. Basis for 3D computer vision and Structure from Motion.

OpenMVG (open Multiple View Geometry) License Documentation Continuous Integration (Linux/MacOs/Windows) Build Code Quality Chat Wiki local/docker bui

openMVG 4.6k Jan 8, 2023
Episodic Transformer (E.T.) is a novel attention-based architecture for vision-and-language navigation.

Episodic Transformer (E.T.) is a novel attention-based architecture for vision-and-language navigation. E.T. is based on a multimodal transformer that encodes language inputs and the full episode history of visual observations and actions.

Alex Pashevich 61 Nov 17, 2022
EOgmaNeo is Ogma Corp's embedded and event based version of OgmaNeo

EOgmaNeo is Ogma Corp's embedded and event based version of OgmaNeo

Ogma 113 Nov 5, 2022
Code and Data for our CVPR 2021 paper "Structured Scene Memory for Vision-Language Navigation"

SSM-VLN Code and Data for our CVPR 2021 paper "Structured Scene Memory for Vision-Language Navigation". Environment Installation Download Room-to-Room

hanqing 35 Dec 3, 2022
Implementations of Multiple View Geometry in Computer Vision and some extended algorithms.

MVGPlus Implementations of Multiple View Geometry in Computer Vision and some extended algorithms. Implementations Template-based RANSAC 2D Line estim

Chenyu 6 Apr 7, 2022
deep learning vision detector/estimator

libopenvision deep learning visualization C library Prerequest ncnn Install openmp vulkan(optional) Build git submodule update --init --recursuve cd b

Prof Syd Xu 3 Sep 17, 2022
Homework of RoboWalker Vision team of USTC for DJI Robomaster competition.

USTC RoboWalker战队 视觉组2022练习作业 “极限犹可突破,至臻亦不可止。” 作业列表 0. 编程基础教程 Hello World 针对没有学过C++/Python、没有太多相关编程经验的新同学的C++ & Python编程入门教程。 0. Git基础教程 Hello Git 学习世

Zhehao Li 4 Feb 20, 2022
Mobile Robot Programming Toolkit (MRPT) provides C++ libraries aimed at researchers in mobile robotics and computer vision

The MRPT project 1. Introduction Mobile Robot Programming Toolkit (MRPT) provides C++ libraries aimed at researchers in mobile robotics and computer v

MRPT 1.6k Dec 24, 2022
DAMOV: A New Methodology and Benchmark Suite for Evaluating Data Movement Bottlenecks

DAMOV is a benchmark suite and a methodical framework targeting the study of data movement bottlenecks in modern applications. It is intended to study new architectures, such as near-data processing. Described by Oliveira et al.

SAFARI Research Group at ETH Zurich and Carnegie Mellon University 31 Dec 26, 2022
Real-Time Neural 3D Hand Pose Estimation from an Event Stream [ICCV 2021]

EventHands: Real-Time Neural 3D Hand Pose Estimation from an Event Stream Project Page Index TRAIN.md -- how to train the model from scratch EVAL_REAL

null 23 Nov 7, 2022
ROS2 packages based on NVIDIA libArgus library for hardware-accelerated CSI camera support.

Isaac ROS Argus Camera This repository provides monocular and stereo nodes that enable ROS developers to use cameras connected to Jetson platforms ove

NVIDIA Isaac ROS 35 Dec 10, 2022
Visual odometry package based on hardware-accelerated NVIDIA Elbrus library with world class quality and performance.

Isaac ROS Visual Odometry This repository provides a ROS2 package that estimates stereo visual inertial odometry using the Isaac Elbrus GPU-accelerate

NVIDIA Isaac ROS 339 Dec 28, 2022
C++20 modules examples

C++20 Modules Examples This repository contains a number of examples that demonstrate various C++20 modules features and their support in build2. For

The build2 project 43 Jan 9, 2023
Making Type Info Library (TIL) file for Apache modules

Creating TIL files for IDA Intro Creating a Type Information Library makes it easier to reverse engineer binaries by providing IDA with detailed and a

Raphaël Rigo 42 Nov 22, 2022