Hi Sameer,
Thanks for your reply. After tuning the regularization parameter in the objective function, I found that the computation time is largely reduced. So I think that previously the large computation time is probably due to that the initial cost function value is far from the final converging value.
However, I encounter another problem, where the computation time is quite different when I apply two different implementations using Ceres solver.
The problem is that given a template mesh (whose deformation can be controlled through around 70 pose parameters) and a point cloud, I want to solve for the optimal pose parameters, such that the deformed mesh match well with the point cloud. I tried two implementations:
1) each data point in the point cloud is represented as one residual block
2) all the data points in the point cloud are represented as a single residual block
while in both cases, the pose parameters are represented as one parameter block. I found that the first case (representing each data point as one residual block) takes much longer to converge compared to the second case. The detailed summary report for the two cases are attached ('posefitting_multipleresidualblocks.png', 'posefitting_singleresidualblock.png'). I wonder what might be the cause for the differences in computation time?
In addition, I further added upper & lower bound for pose optimization, please find the summary report attached ('posefitting_singleresidualblock_withconstraint.png'). From iteration 2 to 5, the cost function value does not change. I wonder if this is normal after adding the upper & lower bound. Thanks a lot!
Best,