uzh-rpg / rpg_svo

Semi-direct Visual Odometry
GNU General Public License v3.0
2.11k stars 861 forks source link

Low FPS on Raspberry Pi 3 #207

Open DxsGeorge opened 7 years ago

DxsGeorge commented 7 years ago

I am running SVO on ROS, with live camera. On 1280x720 resolution I get about 6-10 FPS when I have enough features, then on fast movements features are not relocated and it gets lost. If I lower the resolution I get more FPS but lower features so I get lost easily again. Are there any settings I can mess with so that I get better perfomrance?

AlexisTM commented 7 years ago

6-10 fps for vision odometry on a Pi3 is already a good score!

I would change the board (Odroid XU4 should/could go up to 60FPS) or Intel Compute board (Intel aero).

AlexisTM commented 7 years ago

Also, do you run the bundle adjustment? If you do, you can try to disable it to get more fps.

AlexisTM commented 7 years ago

@DxsGeorge You can as well disable TRACE in the CMakeLists.txt of the svo folder and compile with the following:

rm -rf devel/ build/
export ARM_ARCHITECTURE=True
catkin_make -DCMAKE_BUILD_TYPE=Release
DxsGeorge commented 7 years ago

@AlexisTM thanks for the tips! I am currently running another vo algorithm, if I get down to svo again, I will report any differences with these changes!

zanazakaryaie commented 7 years ago

@DxsGeorge I compiled and tested it in Rpi2 which gave me 20FPS on its own dataset (sin2_tex2_h1_v8_d.tar.gz). The reason is for enabling ARM_ARCHITECTURE and lower image resolution of the dataset. The bundle adjustment was also disabled.

The main problem of SVO is for forward motions. What package do you use now?

AlexisTM commented 7 years ago

@zanazakaryaie I am investigating Rovio and SVO 2.0.

zanazakaryaie commented 7 years ago

@AlexisTM Could you please explain about performance of SVO 2.0? Does it support forward motions? What is your platform and how many FPS you got?

AlexisTM commented 7 years ago

SVO 2.0 add the IMU input and any number of cameras.

Advertised at 100fps on Odroid XU4, so maybe 30 fps on RPi3. Note: The ARMv7h binaries should arrive in a month.

http://rpg.ifi.uzh.ch/svo2.html

I prefer ROVIO as it is free.

zanazakaryaie commented 7 years ago

@AlexisTM Thanks for explanations. What OS you use on Odroid XU4? The SVO 2 binaries are only available for ubuntu 14.04 and 16.04.

One more question. Does ROVIO requires inter sensor calibration? How about synchronization?

AlexisTM commented 7 years ago

SVO2 binaries are for intel x64 for now.

On the Odroid XU4 I am running Ubuntu server 16.04.

AlexisTM commented 7 years ago

ROVIO needs IMU/Camera calibration, done via Kalibr.

zanazakaryaie commented 7 years ago

So many thanks for your explanations.

Just a matter of confusion. If binaries are for intel x64, then how could you run it on Odroid XU4? I couldn't understand what you mean by server.

DxsGeorge commented 7 years ago

@zanazakaryaie I am using DSO with ROS now.

@AlexisTM Does Odroid come with intel/amd architecture?

mdne commented 7 years ago

has someone tried ROVIO on Raspberry Pi3 ?

AlexisTM commented 7 years ago

I did not, yet, I'm not optimistic about the performances. When I checked it last year, it was much more computationally expensive. Yet, it integrates the IMU directly so it is more robust (if your camera is not blurry of course)

0xfaded commented 7 years ago

Im currently working with orb slam so I don't know where svo's bottlenecks lie, but if you're interested my FAST detector is tuned for the raspberry pi 3 and will extract features from your 1240x720 image in ~5ms.

https://github.com/0xfaded/pislam

loseyourself-gan commented 3 years ago

@AlexisTM Hello, I encountered such a problem when compiling svo2.0 on raspberry pie. Do you know how to solve it? error: ‘plus’ is not a member of ‘pcl::traits’ 566 | POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::PPFSignature,

AlexisTM commented 3 years ago

Sadly, I didn't use it for 2y. You should seek official documentation and support.

eremteknoloji commented 3 years ago

Hi Alexis, What camera did you use with xu4 at 60fps?

AlexisTM commented 3 years ago

This was some uEye global shutter camera, over 3 years ago ;)