kminoda / VIODE

VIODE: A Simulated Dataset to Address the Challenges of Visual-Inertial Odometry in Dynamic Environments
92 stars 9 forks source link

How to create this dataset, can you give me some detail information, thanks. #9

Closed curious-energy closed 3 years ago

curious-energy commented 3 years ago

Your works are well! I was greatly inspired.

I use the airsim and the ros wrapper, but I can't receive the imu topic with high freq., And your simulation scence is more complex,I hope you share some tips to me, thanks.

Hardware: GPU is GTX 1660 super and CPU is i7 10700F.

Results: The imu freq. is ~30Hz, meanwhile, the RGB image freq. is ~20Hz.

curious-energy commented 3 years ago

Note: The simulation requires much high bandwidth(1000Mbps+).

kminoda commented 3 years ago

Is it already solved here?

I apologize for the late reply. As you mentioned, I also had a similar problem. If I remember correctly, IMU frequency remains at a high frequency if you don't render images and just IMU sensor data in AirSim. If you add other sensors such as camera, however, the IMU frequency went low (and also the timestamp was a bit messy, if I recall correctly).

So, I ended up in two-step dataset generation as stated in the paper. First, generate IMU (+ground-truth odometry) at a high frequency. Second, I captured camera images from the ground-truth poses, which took a lot of time even on my good CPU & GPU Desktop.

Hope this helps!

curious-energy commented 3 years ago

Thanks, now I think I have solved this problem. It is better to use more powerful GPUs, but your method will help someone record simulation data in a cheap way.

Now I am using RTX 3060 laptop in Linux that can hold one or two drones.

video for my test

kminoda commented 3 years ago

Great to hear that the problem is solved!

jike5 commented 2 years ago

Is it already solved here?

I apologize for the late reply. As you mentioned, I also had a similar problem. If I remember correctly, IMU frequency remains at a high frequency if you don't render images and just IMU sensor data in AirSim. If you add other sensors such as camera, however, the IMU frequency went low (and also the timestamp was a bit messy, if I recall correctly).

So, I ended up in two-step dataset generation as stated in the paper. First, generate IMU (+ground-truth odometry) at a high frequency. Second, I captured camera images from the ground-truth poses, which took a lot of time even on my good CPU & GPU Desktop.

Hope this helps!

Hi, I tried your method and it works! However, when I collect the images which are captured every 0.2s in the second step, the motion of the objects in the image is not continuous. May I ask you how you made the moving objects in the datasets move continuously, did you adjust their movement speed in UE4?

kminoda commented 2 years ago

Yes, I think the configuration of objects movements are all done in UE4, by setting a trajectory and velocity for each vehicles.

jike5 commented 2 years ago

Yes, I think the configuration of objects movements are all done in UE4, by setting a trajectory and velocity for each vehicles.

Well, that looks like a lot of work to be done. I should also reduce the speed of the car to match the frequency of capturing images. Thanks for your reply!

kminoda commented 2 years ago

Yes, one of the toughest procedure in generating the dataset was to configure vehicles so that the camera can capture them. Good luck with your work!