Closed pramanc closed 3 years ago
Hi @pramanc, transAffine regularizer was come up after these two papers were published so it was not reported anywhere.
The idea of this regularizer is forcing the bone translation following the centroid of the patch influenced by that bone. By doing so, the bones do not "fly around".
Specifically, transAffineNorm is used to compute the position of the centroid by taking the weighted sum of vertex positions, where the weights are (skinning weight)^transAffineNorm. Centroid of bone j at rest pose is: (\sum{j=0}^{nB-1} w{ij}^transAffineNorm * ui) / (\sum{j=0}^{nB-1} w_{ij}^transAffineNorm) (centroid at skinning pose is similar).
Then transAffine is the strength of the regularizer on the translation solver.
@binhhuyle Sorry for the late response.
Actually I'm try to figure it out. I totally understand about transAffineNorm and the equation of centroid. But for the transAffine term, I'm still confused why it would help forcing the bone translation following the centroid.
The bone translation part is calculated by m.transVec(k, j)=qpT.template topRightCorner<3, 1>() - m.rotMat(k, j)*qpT.template bottomLeftCorner<1, 3>().transpose();
For a rigid body registration problem, the translation is determin by the rotation and center of rotation, so basicly the transAffine affect the center of rotation?
Hi @pramanc,
Yes, that is correct. In other words, transAffine forces the center of rotation to be close to the weighted sum of vertex positions above.
@binhhuyle hhh, Thank you!
I understand the basic theory now! I think I still to need to do the dirty math myself to truely understand it~
Hi, I am really confused about the transAffine and transAffineNorm regularizers. I read the original SSDR paper and some following papers like the Robust SSDR in 2014, but can't find the reference for transAffineNorm regularizers.
Would you please tell the reference about the transAffine and transAffineNorm regularizers? Thanks a lot!