MegviiRobot / MegBA

MegBA: A GPU-Based Distributed Library for Large-Scale Bundle Adjustment

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cannot Reproduce Results on Venice Dataset

Astronirav opened this issue · comments

Hello!

Thanks for the amazing work. I was trying to reproduce the results on the Venice 1778 Dataset.

I ran Venice 1778 on Ceres 2.0 and I got the following results in around 101 seconds (on a CPU):

iter cost cost_change |gradient| |step| tr_ratio tr_radius ls_iter iter_time total_time
0 2.563973e+08 0.00e+00 3.19e+15 0.00e+00 0.00e+00 1.00e+04 0 2.83e+00 2.37e+01
1 1.500306e+07 2.41e+08 2.06e+14 1.29e+05 9.48e-01 3.00e+04 1 1.89e+01 4.27e+01
2 1.892564e+06 1.31e+07 2.19e+13 4.68e+05 9.85e-01 9.00e+04 1 2.03e+01 6.30e+01
3 1.739562e+06 1.53e+05 2.43e+14 1.48e+06 7.06e-01 9.68e+04 1 1.52e+01 7.82e+01
4 1.682929e+06 5.66e+04 6.77e+13 1.54e+06 8.04e-01 1.25e+05 1 1.95e+01 9.77e+01
5 1.675773e+06 7.16e+03 8.45e+12 1.78e+06 3.73e-01 1.23e+05 1 1.70e+01 1.15e+02

As you can see, it has the error of 1.675773e+06 and it took 115 seconds to reach it.

I ran the same experiment with MegBA:

Iter 2000 error: 1.9772e+06, log error: 6.29605, elapsed 202173 ms

I tried to get the error in a similar range as Ceres but couldn't get it even after 2000 iterations and 202 seconds.
I've used the same hyperparameters as on MegBA ReadMe.

The system I'm running this on has Nvidia A5000 and A6000 GPUs.

Can you give me an idea of what can I do to get similar results as Ceres?