baidu / ICE-BA

Apache License 2.0
706 stars 233 forks source link

How to integrate ICE-BA with other frontends #36

Open itaouil opened 3 years ago

itaouil commented 3 years ago

Dear @wangjio @liuhaomin @mingyux,

I am trying to integrate ICE-BA backend with a different Frontend framework (vilib frontend by RPG lab in Zurich).

The vilib framework offers the featured detection and tracking part of a 2D-to-2D VIO approach.

My question is what are the steps to integrate such a frontend with your backend? More precisely, if I have computed the feature detection and feature tracking already, how can I integrate these with you backend.

It seems in the example you furnished, it only shows how you use your frontend in order to detect features and then create the .dat files. But I already have the features.

Any direction to point me in the right way would be much appreciated :)

itaouil commented 3 years ago

Hi @wangjio @liuhaomin @mingyux,

Any update on this? Would be very much appreciated.

Best, Ilyass

mzahana commented 2 years ago

@itaouil Hi! I am trying to do the same thing, integrating ICE-BA with vilib? Were you able to do it? Thanks

itaouil commented 2 years ago

Hi @mzahana,

Yes I managed to do the integration. How can I help you?

mzahana commented 2 years ago

@itaouil thanks for your response. I am looking for instructions on how to integrate vilib with this package.

Another question is, were you able to run this in real time on edge compute platform such as Jetson boards ?

Thanks!

itaouil commented 2 years ago

Hi,

No worries.

I managed yes, and I think I was able to run it on the Jetson Xavier with a decent frame rate, but I don't remember how good that was unfortunately.

At the end I opted to use LARVIO as the back-end (which uses a MSCKF instead of BA) and turned out to be more efficient than ICE-BA as a back-end (but I did not do any fine tuning or tried to improve it).

You can easily integrate vilib, but you will have to add the typical image pre-processing to the image (i.e. removing distortion, etc) before computing the features and starting with the tracking process.

If you really need optimal performance on the Jetson I advice using LARVIO from my experience, it is really efficient and works decently well I would say, but again, I did not spend that much time on ICE-BA so I might have missed something.

mzahana commented 2 years ago

@itaouil thank you so much for taking the time to write this feedback!