10.07.2015 Views

An Integrated Probabilistic Model for Scan-Matching, Moving Object ...

An Integrated Probabilistic Model for Scan-Matching, Moving Object ...

An Integrated Probabilistic Model for Scan-Matching, Moving Object ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Construction of the messages is per<strong>for</strong>med using the Max-Product algorithm [18] as follows:)m i j (x i ) = max(φ(x j ,z)φ(x i ,x j ,z)x j∏ m k j (x j ) , (2)k∈N ( j)\iwhere m i j (x i ) is the message node j sends to node i.φ(x j ,z) is the local clique potential <strong>for</strong> node j. Local cliquepotentials represent what a node believes its state is, giventhe observations. Computation of the local potential can bevisualised as passing a message from the observation to thenode, see m Z in the left hand side of Figure 2. φ(x i ,x j ,z) isthe pairwise clique potential. Pairwise potentials relate nodesi and j on either end of an edge. They trans<strong>for</strong>m the belief ofnode j into a <strong>for</strong>m suitable <strong>for</strong> node i and vice versa. Lastlya product of all incoming messages is computed, except fromthe node to which the message is being sent. In the left handside of Figure 2, the incoming messages are represented bym a/c and m RT , while the outgoing messages m i j is visualisedas m out .BP generates exact solution <strong>for</strong> graphs such as treesor polytrees. The proposed model is neither a tree nor apolytree. We there<strong>for</strong>e use Loopy Belief Propagation (LBP)[17], an approximation to BP. In LBP, message propagationcontinuous until the difference in messages falls below somethreshold, or until a maximum number of iterations has beenreached. Once message propagation is finished, the maximalconfiguration can be found by applying Equation 3 to eachnode in turn,)xi ∗ ∈ argmax(φ(x i ,z)x i∏ m ji (x i ) . (3)j∈N (i)Here x i indicates the node while xi∗ is its maximal configuration.As can be seen, maximisation is per<strong>for</strong>med ona node’s own belief (local potential) combined with allincoming messages. The maximal configuration <strong>for</strong> the nodeis then simply a state <strong>for</strong> which the combined belief ismaximal.IV. JOINT MODEL FOR SCAN MATCHING ANDCLUSTERINGA. <strong>Model</strong> DefinitionAs discussed in Section II, solutions <strong>for</strong> motion detection/estimationand scan matching are generally defined independently.In reality though, both scan matching and movingobject detection are strongly interdependent; laser pointsbelonging to the same object will have similar associationsand vice versa.Following [23], motion detection is <strong>for</strong>mulated as a clusteringproblem. The environment consists of one or more dynamicobjects (one cluster <strong>for</strong> each dynamic object) togetherwith a cluster representing the background. Laser points areclustered based on the object they belong to (i.e. those withsimilar motion patterns). Additionally, here we also includean outlier cluster <strong>for</strong> those points which can not reasonablybe considered part of an object. Given the clusters <strong>for</strong> staticx c 1x c 2x c Nx RT x a Nx a 2zx a 1Fig. 1. Graphical model <strong>for</strong> combined scan matching, motion clusteringand motion estimation.and dynamic objects, motion estimation then determines therotation and translation of each object.A model (Equation 4), is proposed to solve moving objectdetection, motion estimation and data association simultaneously.p(x | z) = p(x a ,x c ,x RT | z). (4)Equation 4 expresses a conditional distribution of threesets of hidden variables (x a , x c , x RT ) given an observation z.The observation consists of two laser scans <strong>for</strong> which associationand motion detection/estimation is to be determined.The variables x a consists of N association nodes, where Nis the number of points in the first scan. Each of these nodesis discrete with M+1 states; M being the number of points inthe second scan. The states of x a at node i have the followinginterpretation: The first state indicates the likelihood thatpoint i in the first scan associates to point 1 in the secondscan. The second state is the likelihood of association to thesecond point in the second scan, etc. Finally, the M+1 staterepresents the likelihood that point i is an outlier.The variables x c consists of N motion detection nodes,with D discrete states each. Here D represents the numberof clusters a point can belong to. The interpretation isanalogous to that of association. The first state represents thelikelihood that point i belongs to the first object (cluster),etc. By convention, the last state D represents the cluster<strong>for</strong> outliers. The choice on number of clusters D may beguided using a priori knowledge. If no such knowledge isavailable then D can be set to M+1, i.e. start with a cluster<strong>for</strong> each point. Once the inference algorithm has clusteredthe points, any vacuous clusters can safely be discarded. Theinference algorithm will assign probability mass to each nodeaccording to the likelihood of belonging to a cluster. Clustersthat have no significant probability mass <strong>for</strong> all nodes arethere<strong>for</strong>e not likely, and can be removed. For computationalreasons it is advisable to reduce the number of clusters.Lastly, the variable x RT represents the rotational R andtranslational T parameters of each object in the systemexcept the outlier cluster. As such this is a multi-dimensionalcontinuous variable. Note that the robot motion can beobtained from the rotation and translation parameters of thebackground object.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!