Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UndistorterRectifier.cpp:119 Check failed: map_x_.size == img.size (480 x 752 vs. ) #226

Closed
mcguiremichael opened this issue Feb 5, 2024 · 1 comment

Comments

@mcguiremichael
Copy link

Description:

I installed the Kimera API in docker. I downloaded the Euroc dataset. I bind mounted the downloaded data into docker and ran the command for launching stereo VIO. Ultimately it crashes immediately, no matter what dataset gets passed in.

Command:

./scripts/stereoVIOEuroc.bash -p /data/euroc-spark-20240205T154915Z-001/euroc-spark/MH_01_easy

The final command run by this bash script is

../build/stereoVIOEuroc --dataset_type=0 --dataset_path=/data/euroc-spark-20240205T154915Z-001/euroc-spark/MH_01_easy --initial_k=50 --final_k=10000 --params_folder_path=../params/Euroc --use_lcd=0 --vocabulary_path=../vocabulary/ORBvoc.yml --flagfile=../params/Euroc/flags/stereoVIOEuroc.flags --flagfile=../params/Euroc/flags/Mesher.flags --flagfile=../params/Euroc/flags/VioBackend.flags --flagfile=../params/Euroc/flags/RegularVioBackend.flags --flagfile=../params/Euroc/flags/Visualizer3D.flags --logtostderr=1 --colorlogtostderr=1 --log_prefix=1 --v=0 --vmodule=Pipeline*=00 --log_output=0 --log_euroc_gt_data=0 --save_frontend_images=1 --visualize_frontend_images=1 --output_path=../output_logs

Console output:


Using dataset at path: /data/euroc-spark-20240205T154915Z-001/euroc-spark/MH_01_easy
 Launching:

            ██╗  ██╗██╗███╗   ███╗███████╗██████╗  █████╗
            ██║ ██╔╝██║████╗ ████║██╔════╝██╔══██╗██╔══██╗
            █████╔╝ ██║██╔████╔██║█████╗  ██████╔╝███████║
            ██╔═██╗ ██║██║╚██╔╝██║██╔══╝  ██╔══██╗██╔══██║
            ██║  ██╗██║██║ ╚═╝ ██║███████╗██║  ██║██║  ██║
            ╚═╝  ╚═╝╚═╝╚═╝     ╚═╝╚══════╝╚═╝  ╚═╝╚═╝  ╚═╝

 
I0205 17:40:19.474455   410 EurocDataProvider.cpp:89] Parsing Euroc dataset...
W0205 17:40:19.601708   410 EurocDataProvider.cpp:745] Value for final_k, 10000 is larger than total number of frames in dataset 3682
W0205 17:40:19.601729   410 EurocDataProvider.cpp:748] Using final_k = 3682
I0205 17:40:19.605307   410 RegularVioBackend.cpp:115] Using Regular VIO Backend.
I0205 17:40:19.606783   410 PipelineModule.h:451] MISO Pipeline Module: Display has no output queue registered.
I0205 17:40:19.606930   410 Pipeline.cpp:352] Pipeline Modules launched (parallel_run set to 1).
I0205 17:40:19.607020   431 Pipeline.cpp:102] Spinning Kimera-VIO.
I0205 17:40:19.607049   432 Pipeline.cpp:167] Shutting down VIO pipeline once processing has finished.
I0205 17:40:19.607059   432 Pipeline.cpp:180] 
I0205 17:40:19.616988   430 EurocDataProvider.cpp:126] Running dataset between frame 50 and frame 3682
W0205 17:40:19.617218   426 NonMaximumSuppression.cpp:44] No keypoints for non-max suppression...
W0205 17:40:19.617233   426 FeatureDetector.cpp:160] No corners extracted for frame with id: 51
F0205 17:40:19.617251   426 UndistorterRectifier.cpp:119] Check failed: map_x_.size == img.size (480 x 752 vs. ) 
*** Check failure stack trace: ***
    @     0x7f08d72ea1c3  google::LogMessage::Fail()
    @     0x7f08d72ef25b  google::LogMessage::SendToLog()
    @     0x7f08d72e9ebf  google::LogMessage::Flush()
    @     0x7f08d72ea6ef  google::LogMessageFatal::~LogMessageFatal()
    @     0x7f08d78d780e  VIO::UndistorterRectifier::undistortRectifyImage()
    @     0x7f08d78aaa25  VIO::StereoCamera::undistortRectifyStereoFrame()
    @     0x7f08d78b5bc0  VIO::StereoMatcher::sparseStereoReconstruction()
    @     0x7f08d78bae4a  VIO::StereoVisionImuFrontend::processFirstStereoFrame()
    @     0x7f08d78bb149  VIO::StereoVisionImuFrontend::bootstrapSpinStereo()
    @     0x7f08d78c11eb  VIO::StereoVisionImuFrontend::bootstrapSpin()
    @     0x7f08d78d9ca6  VIO::VisionImuFrontend::spinOnce()
    @     0x7f08d78dd085  VIO::PipelineModule<>::spin()
    @     0x7f08d6bcedf4  (unknown)
    @     0x7f08d6ce4609  start_thread
    @     0x7f08d6a0a353  clone
./scripts/stereoVIOEuroc.bash: line 110:   410 Aborted                 (core dumped) $BUILD_PATH/stereoVIOEuroc --dataset_type="$DATASET_TYPE" --dataset_path="$DATASET_PATH" --initial_k=50 --final_k=10000 --params_folder_path="$PARAMS_PATH" --use_lcd="$USE_LCD" --vocabulary_path="$VOCABULARY_PATH/ORBvoc.yml" --flagfile="$PARAMS_PATH/flags/stereoVIOEuroc.flags" --flagfile="$PARAMS_PATH/flags/Mesher.flags" --flagfile="$PARAMS_PATH/flags/VioBackend.flags" --flagfile="$PARAMS_PATH/flags/RegularVioBackend.flags" --flagfile="$PARAMS_PATH/flags/Visualizer3D.flags" --logtostderr=1 --colorlogtostderr=1 --log_prefix=1 --v=0 --vmodule=Pipeline*=00 --log_output="$LOG_OUTPUT" --log_euroc_gt_data="$LOG_OUTPUT" --save_frontend_images=1 --visualize_frontend_images=1 --output_path="$OUTPUT_PATH"

Additional files:

Dataset link: https://drive.google.com/open?id=1_kwqHojvBusHxilcclqXh6haxelhJW0O

Please give also the following information:

  • Kimera-Vio branch, tag or commit used - master branch, commit 2b79043ff6d22a7eb6d89a873d0136b0c9787e27
  • GTSAM version used: 4.2
  • OpenGV version used: master branch, most recent commit
  • OpenCV version used: 4.2.0
  • Operating system and version: Ubuntu 20 base image, Ubuntu 20 in docker
  • Did you change the source code? (yes / no): No
@mcguiremichael
Copy link
Author

The issue was the way the dataset was downloaded. I did a large batch download of all datasets from google drive, which spread each subdataset across each chunk. After only downloading one dataset and moving it to the right location, it worked.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant