def est_quad_linear_robust(pts0, pts1, weight=None):
pts0_curr = pts0
trans = torch.eye(4)
par = 1.0
if weight is None:
weight = torch.ones(pts0.size()[0], 1)
for i in range(20):
if i > 0 and i % 5 == 0:
par /= 2.0
A, b = build_linear_system(pts0_curr, pts1, weight)
x = solve_linear_system(A, b)
trans_curr = get_trans(x)
pts0_curr = update_pcd(pts0_curr, trans_curr)
weight = compute_weights(pts0_curr, pts1, par)
trans = trans_curr.mm(trans)
return trans
As shown above, I couldn't get the point why we can attain the transformation matrix by iteration. The code of solve_linear system seems to be complicated. Can someone help me solve my confusion?
As shown above, I couldn't get the point why we can attain the transformation matrix by iteration. The code of solve_linear system seems to be complicated. Can someone help me solve my confusion?