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

timestamp quality for go pro camera #17

Open
fushi219 opened this issue May 25, 2022 · 3 comments
Open

timestamp quality for go pro camera #17

fushi219 opened this issue May 25, 2022 · 3 comments

Comments

@fushi219
Copy link

fushi219 commented May 25, 2022

Thanks for your good work!
I find this project from https://www.youtube.com/watch?v=Phw_OVP6sxI and i want to use go-pro max in my vio system.
I have some questions about the go-pro data you used in the video, and sincerely wish to get your help.

  1. image timestamp: is it a real raw element in bin file, or infered via ffmpeg or so on.
  2. the time offset(image and imu) repeatability of go-pro device, that's to say, once i calibrate the time offset of a go-pro camera, can i use it as initial value for the following data i record(I will also online calibrate it)? (time offset repeatability of Insta360 one x2 is quite terrible, quite different for different video)
  3. Is the go-pro camera suitable for vio job in your opinion?

Wish your answer!

@fushi219 fushi219 changed the title Is time offset stable for go pro camera timestamp quality for go pro camera May 25, 2022
@urbste
Copy link
Owner

urbste commented May 25, 2022

Hi, so I only tested this for GoPro 6 and 9 and do not know about the GoPro Max.
What I learned however (and you can also see that from the calibration results) is that you will always get reasonable good synchronization if you just substract the first IMU timestamp from all other IMU timestamps: t_imu = t_imu - t_imu_0

You can see this effect in my calibration datasets, where I did not turn off the camera between recordings and the time offset was always the same! However if you turn the camera off and on it will be different. However no calibration necessary, as you can just offset the timestamps by the first one.

As you can see I am using this fact in ORB-SLAM3 and it always worked quite well for me:
https://github.com/urbste/ORB_SLAM3/blob/master/Examples/Monocular-Inertial/mono_inertial_gopro_vi.cc#L207

Have fun! If you have problems with your dataset let me know. Would love to support also GoPro Max calibration.

@fushi219
Copy link
Author

fushi219 commented May 25, 2022

Thank you so much for your friendly and useful answer!
I have not decide which go-pro to use, but the go-pro max has dual back to back cameras, so i think it will be more robust for vio system.
Besides, i find this system: https://github.com/SpectacularAI/HybVIO, it works more robust than vins-fusion(flys away soon), okvis(little shake, not Smooth) on insta360 dataset(time offset calibrated).
Your code is a good job and i wish to have the chance to contribute for it.

@XUTONG1024
Copy link

Thank you so much for your friendly and useful answer! I have not decide which go-pro to use, but the go-pro max has dual back to back cameras, so i think it will be more robust for vio system. Besides, i find this system: https://github.com/SpectacularAI/HybVIO, it works more robust than vins-fusion(flys away soon), okvis(little shake, not Smooth) on insta360 dataset(time offset calibrated). Your code is a good job and i wish to have the chance to contribute for it.

May I ask if you have made any progress on this issue? I am currently considering using the built-in IMU of Insta360 x2 to implement vio. Can you give me some suggestions?

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

3 participants