Align 2 sets of 3D points in Unity by using Singular Value Decomposition method (SVD)

I wanted to translate a set of reference points on contour to a set of corresponding target points. There are total 8 points on each contour.

In order to calculate the rotation & translation vector, I was using Math.Net Numerics library to perform SVD calculation - The idea came from this URL (page 3-7):

But somehow I noticed that transformation done using result from SVD calculation seems inaccurate. The result as shown below:

The transform supposed to move reference points to target points as close as possible, but as highlighted, it moves far away from target point.

In addition, I also did a simple test whereby I calculated centroid for both contours and perform deduction: (TargetCentroid - RefCentroid = translation vector). The final transformation result is the same as going through SVD.

Am I did something wrong? Can anyone suggest a better solution to transform ref point to target point?

Edit: 1. Garment transformation from reference model to various target models
final-result

It seems that you are forgetting to scale your model. Take a look on how to implement it here: