360VIO: A Robust Visual-Inertial Odometry Using a 360-Degree Camera

Citation Author(s):
Qi
Wu
SJTU
Xiangyu
Xu
Ling
Pei
SJTU
Submitted by:
Qi Wu
Last updated:
Wed, 12/06/2023 - 01:18
DOI:
10.21227/k0zt-y614
License:
0
0 ratings - Please login to submit your rating.

Abstract 

To evaluate the proposed odometry method based on 360-degree cameras, we build a new dataset using an Insta-360 One X2 device, which provided high-resolution 4K images captured at a rate of 30 frames per second and 500\,Hz IMU measurements from its built-in IMU.Different from previous datasets, we have set the illumination brightness and the camera movements as the condition variable. The sequence can be classified based on changes in illumination speed or camera movement intensity. The changes in illumination condition can be classified into normal light(N), illumination change light(IC) and low(L) light based on the brightness of the lights. This dataset can effectively demonstrate the efficacy of the algorithm and the benefits brought by the 360 degree camera.

Instructions: 

The whole VIO system should be compiled under Ubuntu 20.04. The specific instructions of the algorithm on different sequence are listed below:

Easy Sequence(Seq 1):

./main -i=PATH_TO_SEQUENCE/360-VIO_format -o=PATH_TO_SAVE/360-vio-traj.txt -t=1669960869.376243 -cameraType=Equirectangular -visualUpdateViewer=true -stepMode=false -printVisualUpdateStats=true -targetFrameWidth=960 -hybridMapSize=00 -cameraTrailLength=20 -maxTracks=400 -maxVisualUpdates=50 -maxSuccessfulVisualUpdates=30 -predictOpticalFlow=true -useHybridRansac=true -useDecayingZeroVelocityUpdate=true -trackRmseThreshold=1.0 -trackChiTestOutlierR=5e-3 -visualR=4e-4

Medium Sequence(Seq 2):

./main -i=PATH_TO_SEQUENCE/360-VIO_format -o=PATH_TO_SAVE/360-vio-traj.txt -t=1669961136.091122 -cameraType=Equirectangular -visualUpdateViewer=true -stepMode=false -printVisualUpdateStats=true -targetFrameWidth=960 -hybridMapSize=00 -cameraTrailLength=20 -maxTracks=400 -maxVisualUpdates=50 -maxSuccessfulVisualUpdates=30 -predictOpticalFlow=true -useHybridRansac=true -useDecayingZeroVelocityUpdate=true -trackRmseThreshold=1.0 -trackChiTestOutlierR=5e-3 -visualR=4e-4

Hard Sequence(Seq 3):

./main -i=PATH_TO_SEQUENCE/360-VIO_format -o=PATH_TO_SAVE/360-vio-traj.txt -t=1669961334.290647 -cameraType=Equirectangular -visualUpdateViewer=true -stepMode=false -printVisualUpdateStats=true -targetFrameWidth=960 -hybridMapSize=00 -cameraTrailLength=20 -maxTracks=400 -maxVisualUpdates=50 -maxSuccessfulVisualUpdates=30 -predictOpticalFlow=true -useHybridRansac=true -useDecayingZeroVelocityUpdate=true -trackRmseThreshold=1.0 -trackChiTestOutlierR=5e-3 -visualR=4e-4

Please pay attention to the parameter -t on different sequence, which is used to align timestamp between the ground truth.