This specification relates generally to mobile robots and computer systems for simultaneous localization and mapping.
Traditional approaches to simultaneous localization and mapping (SLAM) rely on low-level geometric features such as points, lines, and planes. They are unable to assign semantic labels to landmarks observed in the environment. Loop closure recognition based on low-level features is often viewpoint-dependent and subject to failure in ambiguous or repetitive environments. Object recognition methods can infer landmark classes and scales, resulting in a small set of easily recognizable landmarks, ideal for view-independent unambiguous loop closure. In a map with several objects of the same class, however, a crucial data association problem exists—an object observation needs to be associated to the correct object among several objects of the same class. While data association and recognition are discrete problems usually solved using discrete inference, classical SLAM is a continuous optimization over metric information.
This specification formulates an optimization problem over sensor states and semantic landmark positions that integrates metric information, semantic information, and data associations, and decomposes it into two interconnected optimization problems: an estimation of discrete data association and landmark class probabilities, and a continuous optimization over the metric states (e.g., positions and orientations). The estimated landmark and robot poses affect the association and class distributions, which in turn affect the robot-landmark pose optimization. The performance of the algorithm is demonstrated on indoor and outdoor datasets of RGB camera images and accelerometer and gyroscope measurements.
The subject matter described herein may be implemented in hardware, software, firmware, or any combination thereof. As such, the terms “function” or “node” as used herein refer to hardware, which may also include software and/or firmware components, for implementing the feature(s) being described. In some exemplary implementations, the subject matter described herein may be implemented using a computer readable medium having stored thereon computer executable instructions that when executed by the processor of a computer control the computer to perform steps. Exemplary computer readable media suitable for implementing the subject matter described herein include non-transitory computer readable media, such as disk memory devices, chip memory devices, programmable logic devices, and application specific integrated circuits. In addition, a computer readable medium that implements the subject matter described herein may be located on a single device or computing platform or may be distributed across multiple devices or computing platforms.
This specification addresses the metric and semantic SLAM problems jointly, taking advantage of object recognition to tightly integrate both metric and semantic information into the sensor state and map estimation. In addition to providing a meaningful interpretation of the scene, semantically-labeled landmarks address two critical issues of geometric SLAM: data association (matching sensor observations to map landmarks) and loop closure (recognizing previously-visited locations). This specification provides the following:
This specification describes methods, systems, computer readable mediums, and mobile robots for semantic SLAM.
The method 100 includes receiving a set of sensor measurements from a movement sensor of a mobile robot (102). The method includes receiving a set of images captured by a camera on the mobile robot as the mobile robot traverses an environment (104). For example, receiving the set of sensor measurements from the movement sensor can include receiving accelerometer and gyroscope measurements from an inertial measurement unit of the mobile robot, and receiving the set of sensor measurements and the set of images can include time synchronizing the sensor measurements and the images.
The method 100 includes, for each image of at least a subset of the set of images, extracting detected objects from the image (106). The method 100 includes estimating a trajectory of the mobile robot and a respective semantic label and position of each detected object within the environment using the sensor measurements and an expectation maximization (EM) algorithm (108). An example of semantic SLAM using an EM algorithm is described further below.
For example, using the EM algorithm can include iteratively solving for a data association distribution for a plurality of data associations between the detected objects and the semantic labels and positions of the detected objects, e.g., using a matrix permanent algorithm, in an expectation step of the EM algorithm. Using the EM algorithm can include iteratively solving for respective mobile robot positions and semantic labels and positions of detected objects using the data association distribution in a maximization step of the EM algorithm. Using the EM algorithm can include iterating between the expectation step and the maximization step until an end condition is reached.
Estimating the trajectory of the mobile robot and the semantic label and position of each detected object can include, for each image of the subset of the set of images, extracting geometric point features. The method 100 can include tracking the geometric point features across the set of images.
Estimating the trajectory of the mobile robot and the semantic label and position of each detected object can include constructing a pose graph including vertices for mobile robot poses and vertices for detected object positions. Estimating the trajectory of the mobile robot and the semantic label and position of each detected object can include determining soft data associations between mobile robot poses and detected object positions using, for each soft data association, a number of different factors, e.g., semantic factors, geometric factors, and movement sensor factors.
Further examples of semantic SLAM are provided below. Observed objects in the environment are generally in one of two categories: (1) objects already present in our constructed map that are re-observed, or (2) objects that have been previously unseen and must be added to our estimated map. The examples in the first section below describe handling objects in class (1) in a probabilistic EM way, and the examples in the second section below include a method to include both categories (1) and (2) probabilistically.
The following section describes a study performed regarding semantic SLAM. The study illustrates examples of semantic SLAM.
Traditional approaches to simultaneous localization and mapping (SLAM) rely on low-level geometric features such as points, lines, and planes. They are unable to assign semantic labels to landmarks observed in the environment. Furthermore, loop closure recognition based on low-level features is often viewpoint-dependent and subject to failure in ambiguous or repetitive environments. On the other hand, object recognition methods can infer landmark classes and scales, resulting in a small set of easily recognizable landmarks, ideal for view-independent unambiguous loop closure. In a map with several objects of the same class, however, a crucial data association problem exists. While data association and recognition are discrete problems usually solved using discrete inference, classical SLAM is a continuous optimization over metric information. In this paper, we formulate an optimization problem over sensor states and semantic landmark positions that integrates metric information, semantic information, and data associations, and decompose it into two interconnected problems: an estimation of discrete data association and landmark class probabilities, and a continuous optimization over the metric states. The estimated landmark and robot poses affect the association and class distributions, which in turn affect the robot-landmark pose optimization. The performance of our algorithm is demonstrated on indoor and outdoor datasets.
In robotics, simultaneous localization and mapping (SLAM) is the problem of mapping an unknown environment while estimating a robot's pose within it. Reliable navigation, object manipulation, autonomous surveillance, and many other tasks require accurate knowledge of the robot's pose and the surrounding environment. Traditional approaches to SLAM rely on low-level geometric features such as corners [1], lines [2], and surface patches [3] to reconstruct the metric 3-D structure of a scene but are mostly unable to infer semantic content. On the other hand, recent methods for object recognition [4]-[6] can be combined with approximate 3D reconstruction of the environmental layout from single frames using priors [7], [8]. These are rather qualitative single 3D snapshots rather than the more precise mapping we need for a robot to navigate. The goal of this paper is to address the metric and semantic SLAM problems jointly, taking advantage of object recognition to tightly integrate both metric and semantic information into the sensor state and map estimation. In addition to providing a meaningful interpretation of the scene, semantically-labeled landmarks address two critical issues of geometric SLAM: data association (matching sensor observations to map landmarks) and loop closure (recognizing previously-visited locations).
Approaches to SLAM were initially most often based on filtering methods in which only the most recent robot pose is estimated [9]. This approach is in general very computationally efficient, however because of the inability to estimate past poses and relinearize previous measurement functions, errors can compound [1]. More recently, batch methods that optimize over entire trajectories have gained popularity. Successful batch methods typically represent optimization variables as a set of nodes in a graph (a “pose graph”). Two robot-pose nodes share an edge if an odometry measurement is available between them, while a landmark and a robot-pose node share an edge if the landmark was observed from the corresponding robot pose. This pose graph optimization formulation of SLAM traces back to Lu and Milios [10]. In recent years, the state of the art [11], [12] consists of iterative optimization methods (e.g., nonlinear least squares via the Gauss-Newton algorithm) that achieve excellent performance but depend heavily on linearization of the sensing and motion models. This becomes a problem when we consider including discrete observations, such as detected object classes, in the sensing model.
One of the first systems that used both spatial and semantic representations was proposed by Galindo et al. [13]. A spatial hierarchy contained camera images, local metric maps, and the environment topology, while a semantic hierarchy represented concepts and relations, which allowed room categories to be inferred based on object detections. Many other approaches [14]-[19] extract both metric and semantic information but typically the two processes are carried out separately and the results are merged afterwards. The lack of integration between the metric and the semantic mapping does not allow the object detection confidence to influence the performance of the metric optimization. Focusing on the localization problem only, Atanasov et al. [20] incorporated semantic observations in the metric optimization via a set-based Bayes filter. The works that are closest to ours [21]-[24] consider both localization and mapping and carry out metric and semantic mapping jointly. SLAM++ [22] focuses on a realtime implementation of joint 3-D object recognition and RGBD SLAM via pose graph optimization. A global optimization for 3D reconstruction and semantic parsing has been proposed by [25], which is the closest work in semantic/geometric joint optmization. The main difference is that 3D space is voxelized and landmarks and/or semantic labels are assigned to voxels which are connected in a conditional random field while our approach allows the estimation of continuous pose of objects. Bao et al. [21] incorporate camera parameters, object geometry, and object classes into a structure from motion problem, resulting in a detailed and accurate but large and expensive optimization. A recent comprehensive survey of semantic mapping can be found in [26].
Most related work uses a somewhat arbitrary decomposition between data association, pose graph optimization, and object recognition. Our work makes the following contributions to the state of the art:
Consider the classical localization and mapping problem, in which a mobile sensor moves through an unknown environment, modeled as a collection {
m}m=1M of M static landmarks. Given a set of sensor measurements
{zk}k=1K, the task is to estimate the landmark positions
and a sequence of poses X
{xt}t=1T representing the sensor trajectory. Most existing work focuses on estimating X and
and rarely emphasizes that the data association
{(αk, βk)}k=1K stipulating that measurement zk of landmark
β
, and
given the measurements
:
The most common approach to this maximization has been to decompose it into two separate estimation problems. First, given prior estimates X0 and 0, the maximum likelihood estimate
of the data association
is computed (e.g., via joint compatability branch and bound [27] or the Hungarian algorithm [28]). Then, given
, the most likely landmark and sensor states are estimated:
The second optimization above is typically carried out via filtering [30]-[32] or pose-graph optimization [11], [12].
The above process has the disadvantage that an incorrectly chosen data association may have a highly detrimental effect on the estimation performance. Moreover, if ambiguous measurements are discarded to avoid incorrect association choices, they will never be reconsidered later when refined estimates of the sensor pose (and hence their data association) are available. Instead of a simple one step process, then, it is possible to perform coordinate descent, which iterates the two maximization steps as follows:
This resolves the problem of being able to revisit association decisions once state estimates improve but does little to resolve the problem with ambiguous measurements since a hard decision on data associations is still required. To address this, rather than simply selecting as the mode of p(
|X,
,
), we should consider the entire density of
when estimating X and
. Given initial estimates Xi, Li, an improved estimate that utilizes the whole density of
can be computed by maximizing the expected measurement likelihood via expectation maximization (EM):
where is the space of all possible values of
. This EM formulation has the advantage that no hard decisions on data association are required since it “averages” over all possible associations. To compare this with the coordinate descent formulation in (3), we can rewrite (4) as follows:
where wkji Σ
∈
(k,j)p(
|Xi,
i,
) is a weight, independent of the optimization variables X and
, that quantifies the influence of the “soft” data association, and
(k,j)
{
∈
|βk=j}⊆
is the set of all data associations such that measurement k is assigned to landmark j. Note that the coordinate descent optimization (3b) has a similar form to (5), except that for each k there is exactly one j such that wkji=1 and wkli=0 for all l≠j.
We can also show that the EM formulation, besides being a generalization of coordinate descent, is equivalent to the following matrix permanent maximization problem.
If p(|Xi,
i) is uniform, the maximizers of the EM formulation in (4) and the optimization below are equal:
where per denotes the matrix permanent2, Qi(X, ) is a matrix with elements [Qi]kj:=p(zk|xji,
ji)p(zk|xj,
j) and {(xji,
ji)} and {(xj,
j)} are enumerations of the sets Xi×
i and X×
, respectively.
Proof. See Appendix I.
Similar to the coordinate descent formulation, the EM formulation (5) allows us to solve the permanent maximization problem iteratively. First, instead of estimating a maximum likelihood data association, we estimate the data association distribution p(D|Xi, i,
) in the form of the weights wkji (the “E” step). Then, we maximize the expected measurement log likelihood over the previously computed distribution (the “M” step).
In the rest of the paper, we focus on a particular formulation of the SLAM problem that in addition to sensor and landmark poses involves landmark classes (e.g., door, chair, table) and semantic measurements in the form of object detections. We will demonstrate that the expectation maximization formulation (5) is an effective way to solve the semantic SLAM problem.
Let the state of each landmark consist of its position
p ∈
3 as well as a class label
c from a discrete set
={1, . . . , C}. To estimate the landmark states
and sensor trajectory X, we utilize three sources of information: inertial, geometric point features, and semantic object observations. Examples of geometric features and semantic observations can be seen in
A. Inertial information
We assume that the sensor package consists of an inertial measurement unit (IMU) and one monocular camera. A subset of the images captured by the camera are chosen as keyframes (e.g., by selecting every nth frame as a keyframe). The sensor state corresponding to the tth keyframe is denoted xt and consists of the sensor 6-D pose, velocity, and IMU bias values. We assume that the IMU and camera are time synchronized, so between keyframes t and t+1, the sensor also collects a set t of IMU measurements (linear acceleration and rotational velocity).
In addition to the inertial measurements t, we utilize geometric point measurements (e.g., Harris corners, SIFT, SURF, FAST, BRISK, ORB, etc.)
t. From each keyframe image, these geometric point features are extracted and tracked forward to the subsequent keyframe. In our experiments we extract ORB features [33] from each keyframe and match them to the subsequent keyframe by minimizing the ORB descriptor distance. Since these features are matched by an external method, we assume that their data association is known.
The last type of measurement used are object detections St extracted from every keyframe image. An object detection sk=(skc, sks, skb) ∈ St extracted from keyframe t consists of a detected class skc ∈ , a score sks quantifying the detection confidence, and a bounding box sks. Such information can be obtained from any modern approach for object recognition such as [5], [34]-[36]. In our implementation, we use a deformable parts model (DPM) detector [4], [37], [38], which runs on a CPU in real time. If the data association
k=(αk, βk) of measurement sk is known, the measurement likelihood can be decomposed as follows: p(sk|xα
β
β
β
β
β
β
β
Following the observations from Sec. II, we apply expectation maximization to robustly handle the semantic data association. In addition to treating data association as a latent variable, we also treat the discrete landmark class labels as latent variables in the optimization, resulting in a clean and efficient separation between discrete and continuous variables. As mentioned in Sec. III, the data association of the geometric measurements is provided by the feature tracking algorithm, so the latent variables we use are the data association of the semantic measurements and the object classes 1:Mc. The following proposition specifies the EM steps necessary to solve the semantic SLAM problem. The initial guess X(0) is provided by odometry integration; the initial guess
(0) can be obtained from X(0) by initializing a landmark along the detected camera ray.
t is the set of all possible data associations for measurements received at timestep t, and t(i, j)⊆
t is the set of all possible data associations for measurements received at time t such that measurement i is assigned to landmark j.
Proof. See Appendix II.
The computation of the weights for a single keyframe require several combinatorial sums over all possible data associations. However, due to the assumption of independent associations among keyframes and the fact that only few objects are present within the sensor field-of-view, it is feasible to compute the summations and hence wkjt for all keyframes t, measurements k, and landmarks j extremely efficiently in practice. Once the weights wkjt,(i) are computed for each measurement-landmark pair, they are used within the continuous optimization over sensor states and landmark positions. Additionally, maximum likelihood landmark class estimates c can be recovered from the computed k values:
Equation (7) forms the basis of our pose graph optimization over sensor states and landmark positions. A pose graph is a convenient way of representing an optimization problem for which there exists a clear physical structure or a sparse constraint set. The graph consists of a set of vertices v, each of which corresponds to an optimization variable, and a set of factors among the vertices that correspond to individual components of the cost function. Graphically, a factor is a generalization of an edge that allows connectivity between more than two vertices. A factor f in the graph is associated with a cost function that depends on a subset of the variables v such that the entire optimization is of the form
In addition to providing a useful representation, factor graphs are advantageous in that there exist computational tools that allow efficient optimization [11], [39]. Our graph has a vertex for each sensor state xt and for each landmark position ip. Contrary to most prior work in which a hard data association decision results in a measurement defining a single factor between a sensor pose and a landmark, we consider soft semantic data association multiple factors.
1) Semantic Factors: A measurement sk from sensor state xi defines factors fkjs(xi, j) for each visible landmark j. Assuming the number of visible landmarks and the number of received measurements are approximately equal, with this method the number of semantic factors in the graph is roughly squared. Note that since
c is fixed in (7), p(ss|
c, sc) and p(sc|
c) are constant. Thus, log p(s|x,
)=log p(sb|x,
p)+log p(ss|
c, sc)p(sc|
c) and so the latter term can be dropped from the optimization.
Let hπ(x, p) be the standard perspective projection of a landmark
p onto a camera at pose x. We assume that the camera measurement of a landmark
p from camera pose x is Gaussian distributed with mean hπ(x,
p) and covariance Rs. Thus, a camera factor corresponding to sensor state t, measurement k, and landmark j, fkjs, becomes
Those semantic factors due to the re-observation of a previously seen landmark are our method's source of loop closure constraints.
2) Geometric Factors: Following [30], [40], we incorporate geometric measurements into the pose graph as structureless constraints between the camera poses that observed them. We can rewrite the term corresponding to geometric factors in (7) as
where Ny is the total number of distinct feature tracks, i.e. the total number of observed physical geometric landmarks.
Letting ρβ
For a single observed landmark ρi, the factor constraining the camera poses which observed it takes the form
Because we use iterative methods to optimize the full pose graph, it is necessary to linearize the above cost term. The linearization of the above results in a cost term of the form
where Hikρ is the Jacobian of the cost function with respect to ρβ
Writing the inner summation in one matrix form by stacking the individual components, we can write this simply as ∥Hiρδρi+Hixδxα
∥AiHixδxα
3) Inertial Factors: To incorporate the accelerometer and gyroscope measurements into the pose graph, we use the method of preintegration factors detailed in [40]. The authors provide an efficient method of computing inertial residuals between two keyframes xi and xj in which several inertial measurements were received. By “preintegrating” all IMU measurements received between the two keyframes, the relative pose difference (i.e. difference in position, velocity, and orientation) between the two successive keyframes is estimated. Using this estimated relative pose, the authors provide expressions for inertial residuals on the rotation (rΔR
The full pose graph optimization corresponding to equation (7) is then a nonlinear least squares problem involving semantic observation terms (see (10)), geometric observation terms (see (15)), and inertial terms (see (17)).
We solve this within the iSAM2 framework [12], which is able to provide a near-optimal solution with real-time performance.
We implemented our algorithm in C++ using GTSAM [39] and its iSAM2 implementation as the optimization back-end. All experiments were able to be computed in real-time.
The front-end in our implementation simply selects every 15th camera frame as a keyframe. As mentioned in section IIIB, the tracking front-end extracts ORB features [33] from every selected keyframe and tracks them forward through the images by matching the ORB descriptors. Outlier tracks are eliminated by estimating the essential matrix between the two views using RANSAC and removing those features which do not fit the estimated model. We assume that the timeframe between two subsequent images is short enough that the orientation difference between the two frames can be estimated accurately by integrating the gyroscope measurements. Thus, only the unit translation vector between the two images needs to be estimated. We can then estimate the essential matrix using only two point correspondences [41].
The front-end's object detector is an implementation of the deformable parts model detection algorithm [38]. On the acquisition of the semantic measurements from a new keyframe, the Mahalanobis distance from the measurement to all known landmarks is computed. If all such distances are above a certain threshold, a new landmark is initialized in the map, with initial position estimate along the camera ray, with depth given by the median depth of all geometric feature measurements within its detected bounding box (or some fixed value if no such features were tracked successfully).
While ideally we would iterate between solving for constraint weights wij and poses as proposition 2 suggests, in practice for computational reasons we solve for the weights just once per keyframe.
Our experimental platform was a VI-Sensor [42] from which we used the IMU and left camera. We performed three separate experiments. The first consists of a medium length (approx. 175 meters) trajectory around one floor of an office building, in which the object classes detected and kept in the map were two types of chairs (red office chairs and brown four-legged chairs). The second experiment is a long (approx. 625 meters) trajectory around two different floors of an office building. The classes in the second experiment are red office chairs and doors. The third and final trajectory is several loops around a room equipped with a vicon motion tracking system, in which the only class of objects detected is red office chairs. In addition to our own experiments, we applied our algorithm to the KITTI dataset [43] odometry sequences 05 and 06.
The final trajectory estimate along with the estimated semantic map for the first office experiment is shown in
The second office experiment trajectory along with the estimated map is shown in
The vicon trajectory and the estimated map of chairs is shown in
We also evaluated our algorithm on the KITTI outdoor dataset, using odometry sequences 05 and 06. The semantic objects detected and used in our algorithm were cars. Rather than use inertial odometry in this experiment, we used the VISO2 [46] visual odometry algorithm as the initial guess X(0) for a new keyframe state. Similarly, we replaced the preintegrated inertial relative pose (cf. Sec. IV-B.3) with the relative pose obtained from VISO in the odometry factors. The absolute position errors over time for KITTI sequence 05 with respect to ground truth for our algorithm, VISO2, and ORB-SLAM2 with monocular and stereo cameras are shown in
The experiments demonstrated that in complex and cluttered real-world datasets our method can be used to reconstruct the full 6-D pose history of the sensor and the positions and classes of the objects contained in the environment. The advantage of our work is that by having semantic features directly into the optimization, we include a relatively sparse and easily distinguishable set of features that allows for improved localization performance and loop closure, while only slightly impacting the computational cost of the algorithm. Furthermore, semantic information about the environment is valuable in and of itself in aiding autonomous operation of robots within a human-centric environment.
In future work, we plan to expand our algorithm to estimate the full pose of the semantic objects (i.e., orientation in addition to position). We also plan to fully exploit our EM decomposition by reconsidering data associations for past keyframes, and to consider systems with multiple sensors and non-stationary objects.
First, we rewrite the optimization in (4) without a logarithm and similarly expand the expectation:
The data association likelihood can then be rewrite as
with the last equality due to the assumption that p(|X,
) is uniform. We can next decompose the measurement likelihood p(
|X,
,
)=Πkp(zk|xα
β
The result then follows by noting that the normalizing denominator is independent of the optimization variables and from the definition of the matrix permanent.
Suppose we have some initial guess given by θ(i)−{X(i), p,(i)}. We can then compute an improved estimate of θ={X, lp} by maximizing the expected log likelihood:
Expanding the expectation,
Letting k(,
c)
p(
,
c|S, θ(i)), a constant with respect to the optimization variables, we continue:
Focusing on the leftmost summation over data associations and landmark classes,
Using the assumption that p(,
c|θ) is a uniform distribution over the space of data associations and landmark classes, this term doesn't affect which θ maximizes the objective, so for optimization purposes we have
Note that if we let (i, j) be the subset of all possible data associations that assign measurement i to landmark j, we can further decompose this summation as
Finally, letting
we can write the final expectation maximization as
Each of the following references is hereby incorporated by reference in its entirety.
Consider the classical localization and mapping problem, in which a mobile sensor moves through an unknown environment, modeled as a collection {
m}m=1M of M static landmarks. Given a set of sensor measurements
{zk}k=1K, the task is to estimate the landmark positions
and a sequence of poses X
{xt}t=1T representing the sensor trajectory. Most existing work focuses on estimating X and L and rarely emphasizes that the data association
{(αk, βk)}i=1K stipulating that measurement Zk of landmark
Bk was obtained from sensor state xα
and
given the measurements
:
The most common approach to this maximization has been to decompose it into two separate estimation problems. First, given prior estimates X0 and 0, the maximum likelihood estimate
of the data association
is computed (e.g., via JCBB [1] or the Hungarian algorithm [2]). Then, given
, the most likely landmark and sensor states are estimated
The second optimization above is typically carried out via filtering [4]-[6] or pose-graph optimization [7], [8].
The above process has the disadvantage that an incorrectly chosen data association may have a highly detrimental effect on the estimation performance. Moreover, if ambiguous measurements are discarded to avoid incorrect association choices, they will never be reconsidered later when refined estimates of the sensor pose (and hence their data association) are available. Instead of a simple one step process, then, it is possible to perform coordinate descent, which iterates the two maximization steps as follows:
This resolves the problem of being able to revisit association decisions once state estimates improve but does little to resolve the problem with ambiguous measurements since a hard decision on data associations is still required. To address this, rather than simply selecting as the mode p(
|X,
,
), we should consider the entire density of
when estimating X and
. Given initial estimates Xi,
i, an improved estimate that utilizes the whole density of
can be computed by maximizing the expected measurement likelihood via expectation maximization (EM):
where is the space of all possible values of
. This EM formulation has the advantage that no hard decisions on data association are required since it probabilistically “averages” over all possible associations. To compare this with the coordinate descent formulation in (3), we can rewrite (4). We use the assumption here that data associations are independent across time steps, i.e. p(
|
, X,
)=Πt=1Tp(
t|
t, X,
) Furthermore, let
t={zkt}k=1K
be the set of measurements received at time t.
a weight, independent of the optimization variables X and , that quantifies the influence of the “soft” data association,
t⊆
is the set of all possible data associations for measurements received at time t, and
t(k, j)
{
t ∈
t|βk=j}⊆
t is the set of all data associations such that measurement k is assigned to landmark j. Note that the coordinate descent optimization (3) has a similar form to (8), except that for each k there is exactly one j such that wkji=1 and wkli=0 for all l≠j.
Because of the combinatorial size of the data association space , for a large number of measurements
the weights wkjt,i can become intractible to compute. It is possible, however, to express this quantity as a matrix permanent.
Proposition 1. Optimization (4) can be solved iteratively as follows:
where γti is a normalizing factor such that Σkwkjt,i=1, per denotes the matrix permanent, Lt is the matrix of individual measurement likelihoods with lijt=p(zit|xt, j) and L−ijt the matrix Lt with the ith row and jth column removed.
Proof. See Appendix A.
Crucially, the above proposition allows us to take advantage of matrix permanent approximation algorithms [9], [10] that have been developed. Proposition 1 thus allows us to effectively summarize the combinatorially large data association space in polynomial time, making probabilistic data association feasible for even a large number of measurements.
Similar to the coordinate descent formulation, the EM formulation (8) allows us to solve the permanent maximization problem iteratively. First, instead of estimating a maximum likelihood data association, we estimate the data association distribution p(|Xi,
i,
) in the form of the weights wkji (the “E” step). Then, we maximize the expected measurement log likelihood over the previously computed distribution (the “M” step).
While this approach allows us to include measurements of landmarks in the map without computing an explicit data association, the question of how to include initialization of new landmarks remains. Past approaches make a hard decision based on e.g. the Mahalanobis distance between the measurement and the expected measurement from all known landmarks. If the smallest such distance is above a threshold, a new landmark is initialized, and the optimization proceeds as described above.
The “soft” data association formulated above, however, is generalizable to richer data association spaces and models, including that of new landmark initialization. Previously, we had considered the data association space as the set of one-to-one mappings from the measurements {1, 2, . . . , |
|} onto known landmarks {1, . . . , M}. Here, we expand the codomain of functions in
from {1, . . . , M}. We now let a measurement zk map to an existing landmark in {1, . . . , M}, or to a special “new” association nk corresponding to measurement k being of a previously unseen landmark.
Let Sd(t) be the set of landmarks that generated a measurement at time t, the “detected” set, and let Sn(t) be the set of landmarks that were newly observed at time t. Let ptj be the probability that a given landmark j is detected from sensor state xt. For a fixed x,
, we assume that the probability that
is detected from x is given by a known function pD(x,
). As our estimates are uncertain, however, we must take this into account in the computation of ptj:
p
tj=∫xpD(x,
)p(x,
)d
dx (9)
In practice, this quantity can be estimated accurately via Monte Carlo integration with relatively few samples by drawing from the joint estimated distribution p(x, ):
where (xi, i)i=1N are N i.i.d. samples drawn from current estimated distribution of x,
p(x,
).
As in [11], we model the “birth” of new landmarks at time step t as a Poisson random finite set Sn(t). The cardinality of Sn(t) and hence the number of new landmarks observed at any time step t is thus Poisson distributed with mean λn. For a new landmark ∈ Sn(t) that generates measurement z, we assume that the measurement z is spatially distributed with distribution pnew(z) which can be taken to be e.g. uniform over the measurement space.
Let n
M+1=
n
M+2=
n
M+K=
n
Proposition 2. Optimization (4) under the expanded data association space can be solved as follows:
where γti is a normalizing factor such that Σk wkji=1.
Qt=[Gt Ht] (13)
Gt ∈ K
Ht ∈ K
Hdiag([pnew(z1) . . . pnew(zK)]) (15)
and Q−kj is the matrix Q with the kth row and jth column removed.
Proof. See Appendix B
Intuitively, this approach can be viewed as follows. For each measurement zk, a new landmark n
j and the newly initialized landmarks
n
The weights wkjt,i are defined as (see (6))
We can write an individual data association probability as
Assuming that the likelihood of any given data association not given any measurements, p(|X,
) is uniform, let γ be a constant proportionality factor
Now, given a data association, individual measurements are independent and so we can expand
From the definition of the matrix permanent,
where the first sum is over all one-to-one functions π: {1, . . . , Kt}→{1, . . . , M}. This is exactly our definition of a valid data association, so
Similarly, the permanent of L−kjt will include a sum over all one-to-one functions π: {1, . . . , Kt}\{k}→{1, . . . , M}\{j}. It is now easy to see that
and so we have the final expression
First, note that equations (8), (6) still hold under the expanded data association definition. We can expand the likelihood for a single data association p(t|X,
,
) as
Let (
) be the event that the received measurements Z are assigned to the set of detected landmarks Sd(t) in the way specified by the data association
. We can decompose the probability p(
|X,
) as follows:
With our assumed detection model, the first term can be computed as
The second term is similarly computed as
The third term follows from the assumption that newly detected landmarks follow a Poisson random finite set:
where n=|Sn(t)|.
The last term is simply uniform over the space of possible assignments, or
Combining these,
Next, given a particular data association , individual measurements are independent, and so we expand the measurement likelihoods p(
|X,
,
). Letting z(
) be the measurement assigned to landmark
under
,
The weights wkj can then be computed as
is a normalizing factor independent of k, j, and any particular data association.
Let G ∈ K×d be a matrix of scaled measurement likelihoods with entries
let H ∈ K×K be a diagonal matrix of birthed landmark measurement probabilities,
Hdiag([pnew(z1) . . . pnew(zK)]) (46)
and let Q ∈ K×(d+K) be given by the concatenation of G and H:
Q[G H] (47)
The permanent of Q is defined as
where the sum is over all one-to-one functions π: {1, . . . , K}→{1, . . . , d, n1, . . . , nK}. This function space exactly matches the space of valid data associations. Thus, the permanent of Q can be written as
It is now easy to see that
and so we have that
w
kj
i
=γq
kj per Q−kj (53)
as desired.
Each of the following references is hereby incorporated by reference in its entirety.
Although specific examples and features have been described above, these examples and features are not intended to limit the scope of the present disclosure, even where only a single example is described with respect to a particular feature. Examples of features provided in the disclosure are intended to be illustrative rather than restrictive unless stated otherwise. The above description is intended to cover such alternatives, modifications, and equivalents as would be apparent to a person skilled in the art having the benefit of this disclosure.
The scope of the present disclosure includes any feature or combination of features disclosed in this specification (either explicitly or implicitly), or any generalization of features disclosed, whether or not such features or generalizations mitigate any or all of the problems described in this specification. Accordingly, new claims may be formulated during prosecution of this application (or an application claiming priority to this application) to any such combination of features. In particular, with reference to the appended claims, features from dependent claims may be combined with those of the independent claims and features from respective independent claims may be combined in any appropriate manner and not merely in the specific combinations enumerated in the appended claims.
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 62/616,990, filed Jan. 12, 2018, the disclosure of which is incorporated herein by reference in its entirety.
This invention was made with government support under Grant Numbers ARL MAST-CTA W911NF-08-2-0004 and ARL RCTA W911NF-10-2-0016 awarded by the Army Research Lab. The government has certain rights in the invention.
Number | Date | Country | |
---|---|---|---|
62616990 | Jan 2018 | US |