expectation_maximization_registration
This is a part of the implementation of the stochastic registration algorithm based on the following paper: Andriy Myronenko and Xubo Song, "Point set registration: Coherent Point drift", IEEE Transactions on Pattern Analysis and Machine Intelligence. 32 (2): 2262-2275, 2010.
The library is based on the python implementation of the paper in pycpd package.
ExpectationMaximizationRegistration(X, Y, sigma2=None, max_iterations=MAX_ITER, tolerance=TOL, w=0, *args, **kwargs)
Link
Bases: object
Abstract base class for all Expectation-Maximization registration algorithms.
Attributes:
Name | Type | Description |
---|---|---|
X |
ndarray
|
The reference point cloud coordinates of shape |
Y |
ndarray
|
The initial point cloud coordinates to optimize of shape |
TY |
ndarray
|
The optimized point cloud coordinates of shape |
sigma2 |
ndarray
|
??? |
N |
int
|
The number of reference points. |
M |
int
|
The number of target points. |
D |
int
|
The dimensionality of the reference points, i.e. |
tolerance |
float
|
??? Tolerance for registration. |
w |
int
|
??? |
max_iterations |
int
|
The maximum number of iterations before stopping the iterative registration. |
iteration |
int
|
The current iteration number. |
err |
float
|
??? |
P |
ndarray
|
??? |
Pt1 |
ndarray
|
??? |
P1 |
ndarray
|
??? |
Np |
int
|
??? |
Expectation-Maximization registration algorithms constructor.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
X |
ndarray
|
The reference point cloud coordinates of shape |
required |
Y |
ndarray
|
The initial point cloud coordinates to optimize of shape |
required |
sigma2 |
ndarray
|
???
Defaults to |
None
|
max_iterations |
int
|
The maximum number of iterations before stopping the iterative registration.
Defaults to |
MAX_ITER
|
tolerance |
float
|
??? Tolerance for registration.
Defaults to |
TOL
|
w |
int
|
???
Defaults to |
0
|
Source code in skeleton_refinement/expectation_maximization_registration.py
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
|
expectation()
Link
Expectation step, estimates which Gaussian the observed point cloud was sampled from.
Source code in skeleton_refinement/expectation_maximization_registration.py
147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 |
|
get_registration_parameters()
Link
Abstract method to implement.
Source code in skeleton_refinement/expectation_maximization_registration.py
117 118 119 |
|
iterate()
Link
Perform one Expectation-Maximization iteration.
Source code in skeleton_refinement/expectation_maximization_registration.py
141 142 143 144 145 |
|
maximization()
Link
Maximization step, maximizes the negative log-likelihood that the observed points were sampled from the Gaussian Mixture Model (GMM) with respect to the model parameters.
Source code in skeleton_refinement/expectation_maximization_registration.py
171 172 173 174 175 |
|
register(callback=lambda **kwargs: None)
Link
???
Parameters:
Name | Type | Description | Default |
---|---|---|---|
callback |
function
|
??? |
lambda **kwargs: None
|
Source code in skeleton_refinement/expectation_maximization_registration.py
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 |
|
transform_point_cloud()
Link
Abstract method to implement.
Source code in skeleton_refinement/expectation_maximization_registration.py
109 110 111 |
|
update_transform()
Link
Abstract method to implement.
Source code in skeleton_refinement/expectation_maximization_registration.py
105 106 107 |
|
update_variance()
Link
Abstract method to implement.
Source code in skeleton_refinement/expectation_maximization_registration.py
113 114 115 |
|