go-icp_cython
go-icp_cython copied to clipboard
Computation burden during registration
I run GoICP to registrate the example point cloud bunny and it takes nearly 3min... Is it a normal time? Or something went wrong? The result of running test.py is as follows:
Building Distance Transform...
REGISTERING....
INITIALIZE THE GOICP SYSTEM ::
FINDING OUTERBNB ::
Error*: 1817.46 (Init)
Error*: 165.804 (ICP 2.29926s)
ICP-ONLY Rotation Matrix:
0.5741433 -0.6755550 0.4625849
0.8152511 0.5239115 -0.2467435
-0.0756646 0.5187881 0.8515467
ICP-ONLY Translation Vector:
0.1580152
-0.2472682
0.1960699
Error*: 153.895
Error*: 74.5675(ICP 3.83368s)
LB=0.008700 L=3
Error*: 57.6385
Error*: 4.57052(ICP 0.509051s)
Error*: 4.57052, LB: 0.0708151, epsilon: 30.379
CLEARING THE GOICP SYSTEM ::
TOTAL TIME : 183.44389986991882
(30379, 3) (30379, 1)
[[-0.00820469 0.00227666 0.99996367]
[-0.00792565 0.99996578 -0.00234201]
[-0.99993494 -0.00794464 -0.00818643]]
[ 0.217362 -0.15046362 0.0738854 1. ]
[[-8.20468824e-003 2.27665864e-003 9.99963667e-001 2.17362004e-001]
[-7.92565327e-003 9.99965777e-001 -2.34200733e-003 -1.50463623e-001]
[-9.99934939e-001 -7.94464242e-003 -8.18642848e-003 7.38853965e-002]
[ 4.63608805e-310 4.63608805e-310 4.63608805e-310 1.00000000e+000]]
No it's not normal. It's been a while I used go-icp for experimentation. Did you run the bunny experiment with the original c++ code,? Python takes only that much time the c++ code cosumes. Two things here. 1) check the same bunny experiment with c++, 2) what is your environment?
I run go-icp in python 3.8 on Ubuntu 20.04. Actually it is the demo in this repo (test.py). The author of C++version said it takes only 20-30s but I haven't tried the C++ version.