ORB_SLAM2 with GPU

Finally managed to get this built and working. On the TX2 in mode 0 its nice and quick. On the I7 I have here with the cpu only version of OS2 the KFs reading is around 36. On The TX1 it averaged about 20. The TX2 with gpu enhancements was around 200 and I’ve seen it up to 550. Starting to build it on the TX1 today so see how much of the increase is the TX2 and how much is gpu. Until the Zed sdk is fixed can’t test live stereo. Hopefully that will happen in the next few days. Here is a video of it working on the TX2.https://youtu.be/yBH9man45z0

1 Like

very nice. I added a link to your video. hope that’s ok.

Awesome, thanks for posting!

Oh yea no problem. I probably had a brain fade and forgot :slight_smile: There are vids there for tx1 and i7 without gpu assist too for comparison. I wish stereolabs would get he sdk fixed I’m dying to test the ZED with this system. Made a crude mount for the logi 920 but I have managed to loose the config file I had found for it. TX1 video4linux is supposed to be good to go now so I’m going to try that ros driver instead. Tried rtabmap and with the cuda enhanced opencv libs it doesn’t come up. Probably running into the image pipeline needs to be recompiled with the new opencv libs. That page where I found the solution to opencv with gpu in Ros warned about this problem with some ros packages. Shouldn’t be hard to solve I can just get the source for vision_opencv and recompile and overlay. The ROS overlay system is pretty cool but if you don’t understand it bad things happen.

Ha found what I’d screwed up last night playing with video so now rtabmap_ros works pretty damn good :slight_smile: https://youtu.be/6SPvSKyVOs4 This is a bag file from a rover using a stereo camera. Much quicker than on the TX1. All the opencvlibs are compiled with cuda support on this machine. Including the ROS installed ones. I recompiled librtabmap with the cuda enhanced opencv. Not sure if that speeds things up but no harm in doing it.

Hi, will you publish your code of this gpu version ORB_SLAM2? I want to test it on TX1. If not, could you please tell me which part are you using gpu to accelerate? Since it seems Eigen doesn’t support gpu well and they’ve removed cholmod solver for g2o, the only parts which i can imagine to be accelerated are fast and orb extracted which can be done by opencv.

Maciej Matuszak took what I did and added the real time ZED camera stuff His vid is herehttps://youtu.be/qAgTpn_QyAo . You will need 3 versions of opencv the one that comes with the nvidia for the ZED opencv 3.2 with cuda support Opencv 3.1 with cuda support and you will have to redo the opencv lib in ROS for cuda support. ROS put its copy of the opencv libs into the search path first so you will never see your versions unless you also recompile the one that ROS is using. The instructions for doing the mods to ROS are here http://qiita.com/kendemu/items/a805b0b9828b6f6031db

I’ve already got the cuda support of opencv in my code. I am just wondering if there are anything else can be put into cuda kernels. Like g2o or Eigen part?