The previous two weeks have been spent, primarily, on porting code and tracking down bugs. Now, it looks like the G.M.M is working properly. To validate this, the Manhattan 3500 pose graph — as depicted in Figure 1 — was utilized.


 photo M3500_eg2o_zpstu9zq4qo.jpg

Figure 1 :: Manhattan 3500 Pose-graph.


Using the Manhattan 3500 pose-graph, 100 false constraints — as shown in Figure 2 — were added to see how well we can estimate the inlier/outlier distribution.


Figure 2 :: Manhattan 3500 Pose-graph with 100 False Constraints.


Using the graph represented in Figure 2, an initial optimization utilizing $L_2$ was conducted to extract the residuals. The residual scatter is shown in Figure 3. From this figure, a clear inlier cluster is shown in the center with the scattered residuals representing the false constraints.


 photo residualScatter_zpsszsigx4x.png

Figure 3 :: Residual Scatter.


With this set of residuals, we can utilize the G.M.M to estimate the inlier/outlier clusters. When Depicted in Figure 4 is the estimated inlier cluster. Through visual inspection, this looks like a fair estimate.


 photo inlierCov_zpsc8e16igm.png

Figure 4 :: Inlier Covariance Estimate.


The next two figures shown the outlier covariance estimates provided by the G.M.M. Again, through visual inspection, these look like decent estimates of the residual covariance.


 photo oulierCov_zpsjgzlpuc8.png

Figure 5 :: First Outlier Covariance.



 photo outlier2_zpsexh9wgvg.png

Figure 6 :: Second Outlier Covariance.


Next Steps

Next, I’m going to setup a simulation that will generate residual distributions. I’ll use the simulated distributions to validate that the estimate inlier covariance approaches the true distribution as the number of G.M.M. iterations increases.