Driven to Distraction: Self-Supervised Distractor Learning for Robust
Monocular Visual Odometry in Urban Environments

arXiv:1711.06623v2 [cs.RO] 5 Mar 2018

Dan Barnes, Will Maddern, Geoffrey Pascoe and Ingmar Posner
Abstract— We present a self-supervised approach to ignoring
“distractors” in camera images for the purposes of robustly
estimating vehicle motion in cluttered urban environments. We
leverage offline multi-session mapping approaches to automatically generate a per-pixel ephemerality mask and depth map for
each input image, which we use to train a deep convolutional
network. At run-time we use the predicted ephemerality and
depth as an input to a monocular visual odometry (VO) pipeline,
using either sparse features or dense photometric matching.
Our approach yields metric-scale VO using only a single camera
and can recover the correct egomotion even when 90% of the
image is obscured by dynamic, independently moving objects.
We evaluate our robust VO methods on more than 400km of
driving from the Oxford RobotCar Dataset and demonstrate
reduced odometry drift and significantly improved egomotion
estimation in the presence of large moving vehicles in urban
traffic.

I. I NTRODUCTION
Autonomous vehicle operation in crowded urban environments presents a number of key challenges to any system
based on visual navigation and motion estimation. In urban
traffic where up to 90% of an image can be obscured by
a large moving object (e.g. bus or truck), standard outlier
rejection schemes such as RANSAC [1] will produce incorrect motion estimates due to the large consensus of features
tracked on the moving object. The key to robust “distractionfree” visual navigation is a deeper understanding of which
image regions are static and which are ephemeral in order
to better decide which features to use for motion estimation.
In this paper we leverage large-scale offline mapping and
deep learning approaches to produce a per-pixel ephemerality
mask at run-time without requiring any semantic classification or manual labelling, as illustrated in Fig. 1 and the
project video1 . The ephemerality mask predicts stable image
regions (e.g. buildings, road markings, static landmarks) that
are likely to be useful for motion estimation, in contrast to
dynamic or ephemeral objects (e.g. pedestrian and vehicle
traffic, vegetation, temporary signage). In contrast to semantic segmentation approaches that explicitly label objects
belonging to a-priori chosen classes and hence require manually annotated training data, our approach is trained using
repeated traversals of the same route with a LIDAR-equipped
survey vehicle producing per-pixel depth and ephemerality
labels for a deep convolutional network as a fully selfsupervised process.
We integrate the ephemerality mask as a component of
a monocular visual odometry (VO) pipeline as an outlier
Authors
are
from
the
Oxford
Dept.
Engineering
Science,
University

Robotics
Institute,
of
Oxford,
UK.

{dbarnes,wm,gmp,ingmar}@robots.ox.ac.uk

Image sequence

Ephemerality mask

Baseline VO

Robust VO

Fig. 1.
Robust motion estimation in urban environments using a single
camera and a learned ephemerality mask. When making a left turn onto a
main road, a large bus passes in front of the vehicle (green arrow) obscuring
the view of the scene (top left). Our learned ephemerality mask correctly
identifies the bus as an unreliable region of the image for the purposes of
motion estimation (top right). Traditional visual odometry (VO) approaches
will incorrectly estimate a strong translational motion to the right due to the
dominant motion of the bus (bottom left), whereas our approach correctly
recovers the vehicle egomotion (bottom right).

rejection scheme. By leveraging the depth and ephemerality
outputs of the network, we can produce robust metricscale VO using only a single camera mounted to a vehicle.
Our approach leads to significantly more reliable motion
estimation when evaluated over hundreds of kilometres of
driving in complex urban environments in the presence of
heavy traffic and other challenging conditions.
II. R ELATED W ORK
Estimating an ephemerality mask is closely related to
background subtraction approaches [2], [3], which build
statistics over background appearance based on training data
from a static camera to identify discrepancies in live images.
These methods are typically used in surveillance applications
1 https://youtu.be/ebIrBn_nc-k

and have limited robustness to general 3D camera motion in
complex scenes, as experienced on a vehicle [4], [5].
Conversely, there is a significant body of work on detection and tracking of moving (foreground) objects [6],
[7], [8], which has been applied to robust VO in dynamic
environments [9] and scale references for monocular SLAM
[10]. However, these approaches require large quantities of
manually-labelled training data of moving objects (e.g. cars,
pedestrians) and the chosen object classes must cover all
possibly-moving objects to avoid false negatives. Recent 3D
SLAM approaches have integrated per-pixel semantic segmentation layers to improve reconstruction quality [11], [12],
but again rely on laboriously manually-annotated training
data and chosen classes that encompass all object categories.
Unsupervised approaches have recently been introduced to
estimate depth [13], egomotion [14] and 3D reconstruction
[15]. These methods are attractive for large-scale use as they
only require raw video footage from a monocular or stereo
camera, without any ground-truth motion estimates or semantic labels. In particular, [14] introduces an “explainability
mask”, which highlights image regions that disagree with the
dominant motion estimate. However, the explainability mask
differs from the ephemerality mask in that it only recognises
non-dominant moving objects, and hence will still produce
incorrect motion estimates when significantly occluded by a
large, independently moving object.
Our approach is inspired by the distraction-suppression
methods presented in [16], [17]. Both methods use a prior
3D map to estimate a mask that quantifies reliability for
motion estimation, which is integrated into a VO pipeline.
We significantly extend the map prior approach of [16] to
multi-session mapping and quantify ephemerality using a
structural entropy metric, and use the result to automatically
generate training data for a deep convolutional network. As a
result, our approach does not rely on live localisation against
a prior map or live dense depth estimation from stereo, and
hence can operate in a wider range of (unmapped) locations
with a reduced (monocular-only) sensor suite.
III. L EARNING E PHEMERALITY M ASKS
In this section we outline our approach for automatically
building ephemerality masks by leveraging an offline 3D
mapping pipeline. Note that LIDAR and stereo camera
sensors are only required for the survey vehicle to collect
training data; at run-time only a monocular camera is required. Our method takes the following steps:
1) Prior 3D Mapping: Using a survey vehicle equipped
with a stereo camera and LIDAR scanner, we perform
multiple traversals of the target environment. By analysing
structural consistency across multiple mapping sessions with
an entropy-based approach, we determine what constitutes
the static (non-ephemeral) structure of the scene.
2) Ephemerality Labelling: We project the prior 3D static
structure into every stereo camera image collected during
the survey, and compare it to the structure computed by a
dense stereo approach (similar to [16]). In the presence of

Ctj
GLC
W

pj1

p1n

p2n

N (pj2 )

pj2
pm
n

Ljt

pj4

GC j W
t

pj6

pjn

pj5

N (pj3 )

pj3

Fig. 2. Multi-session mapping and 3D pointcloud entropy computation. For
each traversal j, we compute the global pose of the vehicle GC j W at each
t
timestamp t and project points p into the global frame W . We then analyse
the neighbourhood N of each point pji ; in neighbourhoods where points
are well distributed between traversals {1 · · · j} such as N (pj2 ) the scene
is likely to be static, and where points are mostly derived from one traversal
such as N (pj3 ) the structure is ephemeral. We quantify static scenes using
an entropy metric applied to each neighbourhood N (p).

traffic or dynamic objects these will differ considerably; we
compute ephemerality as a weighted sum of disparity and
normal difference between prior and true 3D structure.
3) Network Training: We train a deep convolutional network to predict the resulting pixel-wise depth and ephemerality mask using only input monocular images. At run-time we
produce live depth and ephemerality masks even in locations
not traversed by the survey vehicle.
In the following sections we describe these steps in detail.
A. Prior 3D Mapping
Given a survey vehicle equipped with a camera C and
LIDAR L illustrated in Fig. 2 that has performed a number of
traverses j of an environment, we recover each global camera
pose GC j W at time t relative to world frame W with a larget
scale offline process using the stereo mapping and navigation
approach in [18]. We then compute the position of each 3D
LIDAR point pji ∈ R3 in world frame W using the camera
pose and LIDAR-camera calibration GLC as follows:
W

pji = GC j W GLC pji

(1)

t

Given the pointcloud of all points p collected from all
traversals j, we wish to compute the local entropy of each
region of the pointcloud, to quantify how reliable the region
is across each traversal. We define a neighbourhood function
N (·), where a point pkt belongs to a neighbourhood if it
satisfies the following condition:
pkt ∈ N (pi ) ⇐⇒

pi − pkt

2

<α

(2)

where α is a neighbourhood size parameter, typically set
to 0.5m in our experiments. For each query point pi , we
then build a distribution pi (j) over the traverses j from
which points fell in the neighbourhood of the query point
as follows:
X  1,
1
j=k
pi (j) =
(3)
0, otherwise
|N (pi )| k
pt ∈N (pi )

Intuitively, neighbourhoods of points that are welldistributed between different traversals indicate static structure, whereas neighbourhoods of points that were only

Fig. 3. Prior 3D mapping to determine the static 3D scene structure. Alignment of multiple traversals of a route (top left) will yield a large number of
points only present in single traversals, e.g. traffic or parked vehicles, here shown in white. These points will corrupt a synthetic depth map (top right).
Our entropy-based approach removes 3D points that were only observed in some traversals, and retains the structure that remained static for the duration
of data collection (bottom left), resulting in high-quality synthetic depth maps (bottom right).

sourced from one or two traversals are likely to be ephemeral
objects. We compute the neighbourhood entropy H(pi ) of
each point across all n traversals as follows:
H (pi ) = −

n
X

pi (j) log (pi (j))

(4)

j=1

We classify a point pi as static structure pSi if the
neighbourhood entropy H(pi ) exceeds a minimum threshold
β; all other points are estimated to be ephemeral and are removed from the static 3D prior. The pointcloud construction,
neighbourhood entropy and ephemeral point removal process
are illustrated in Fig. 3.
B. Ephemerality Labelling
Given the prior 3D static pointcloud pS and globally
aligned camera poses C, we can produce a synthetic depth
map for each survey image, as illustrated in Fig. 4. To
handle visibility constraints we make use of the hidden point
removal approach in [19]. For every pixel i into which
a valid prior 3D point projects, we compute the expected
disparity dSi and normal nSi using the local 3D structure of
the pointcloud.
In the presence of dynamic objects, the scene observed
from the camera will differ from the expected prior 3D map.
We use the offline dense stereo reconstruction approach of
[20] to compute the true disparity di and normal ni for each
pixel in the survey image, illustrated in Fig. 4. We define the
ephemerality mask Ei as the weighted difference between the
expected static and true disparity and normals as follows:
Ei = γ dSi − di

1

+ δ cos−1 nSi · ni



(5)

where γ and δ are weighting parameters, and Ei is bounded
to [0, 1] after computation.
C. Network Architecture
We adopt a convolutional encoder-multi-decoder network
architecture to predict both disparity and ephemerality masks
from a single image, as illustrated in Fig. 5, by adding an
additional decoder to the architecture in [21].
To train the disparity output we use the stereo photometric
loss proposed in [21], optionally semi-supervised using the
prior LIDAR disparity dSi to ensure metric-scaled outputs.
For the ephemerality output we use the L1 loss for each
pixel with a valid ephemerality label. We balance these
losses using the multi-task learning approach in [22], which
continuously updates the inter-task weighting during training.
As in [21], we trained our model from scratch for 50
epochs, with a batch size of 8 using the Adam [23] optimiser,
with β1 = 0.9, β2 = 0.999, and  = 10−8 . We used an initial
learning rate of λ = 10−4 which we kept constant for the
first 30 epochs before halving it every 10 epochs until the
end.
IV. E PHEMERALITY-AWARE V ISUAL O DOMETRY
We leverage the live depth and ephemerality mask produced by the network to produce reliable visual odometry
estimates accurate to metric scale. We present two robust
VO approaches: a sparse feature-based approach and a dense
photometric approach. Each integrates the ephemerality mask
in order to estimate egomotion using only static parts of
the scene, and uses the learned depth to estimate relative
motion to the correct scale. This improves upon traditional
monocular VO systems that cannot recover absolute scale
[24]. Both our odometry approaches are optimised for realtime performance on a vehicle platform.

True Disparity

Prior Disparity

Disparity Error

Input Image

Ephemerality Mask

True Normals

Prior Normals

Normal Error

Fig. 4. Ephemerality labelling process. From input images (left) we compute the true disparity di and normals ni using an offline dense stereo approach.
S
We then project the prior 3D pointcloud pS into the image to form the prior disparity dS
i and prior normal ni . The disparity and normal error terms are
combined to form the ephemerality mask (right).
Ephemerality Decoder

Disparity Decoder

1, 3x3

1, 3x3

16, 3x3

16, 3x3

32, 3x3

32, 3x3

64, 3x3

64, 3x3

128, 3x3

128, 3x3

256, 3x3

256, 3x3

512, 3x3

where (ui , vi ) are the pixel coordinates and di is the disparity
predicted by the deep convolutional network. The relative
pose ξ ∈ SE(3) is recovered by minimising the reprojection
error between matched features xi and x̂i :
X
2
arg min s (Ei ) kxi − ω (x̂i , ξ)k2
(7)

512, 3x3

512, 3x3

A. Sparse Monocular Odometry
Our sparse monocular VO approach is derived from wellknown stereo approaches [25], where sets of features are
detected and matched across successive frames to build a
relative pose estimate. Each feature xi is parameterised as
follows:


ui
xi =  v i 
(6)
di

512, 3x3

512, 3x3
512, 3x3
512, 3x3
256, 3x3
128, 3x3

ξ

64, 5x5
32, 7x7

Encoder

Concat
Conv Layer
Conv Block
DeConv Block

Monocular Input Image

Fig. 5.
Network architecture for ephemerality and disparity learning.
The width of each block indicates the spatial dimensions of the feature
map, which vary by a factor of 2 between blocks. The number of output
channels and filter dimensions are also detailed for each block.

Fig. 6. Input data for ephemerality-aware visual odometry. For a given
input image (top left), the network predicts a dense depth map (top right)
and an ephemerality mask. For sparse VO approaches, the ephemerality
mask is used to select which features are used for optimisation (bottom
left), and for dense VO approaches the photometric error term is weighted
directly by the ephemerality mask (bottom right).

i∈F

The warping function ω(·) → R2 projects the matched
feature x̂i into the current image according to relative pose
ξ and the camera intrinsics. The set of all extracted features
F is typically a small subset of the total number of pixels
in the image. The step function s(Ei ) is used to disable the
residual according to the predicted ephemerality as follows:

1,
Ei < τ
s (Ei ) =
(8)
0, otherwise
where τ is the maximum ephemerality threshold for a valid
feature, typically set to 0.5. In practice we detect sparse
features using FAST corners [26] and match using BRIEF
descriptors [27] for real-time operation.
B. Dense Monocular Odometry
For the dense monocular approach, we adopt the method
of [28] and combine our learned depth maps with the
photometric relative pose estimation of [29]. Rather than a
subset of pixels F, all pixels i within the reference keyframe
image Ir are warped into the current image Ic and the
relative pose ξ is recovered by minimising the photometric
error as follows:
arg min
ξ

X

i∈Ir

2

(1 − Ei ) kIr (xi ) − Ic (ω (xi , ξ))k2

(9)

where the image function I(xi ) → R+ returns the pixel
intensity at location (ui , vi ). Note that the ephemerality
mask is used directly to weight the photometric residual;
no thresholding is required. Fig. 6 illustrates the predicted
depth, selected sparse features and weighted dense intensity
values used for a typical urban scene.
V. E XPERIMENTAL S ETUP
We benchmarked our approach using hundreds of kilometres of data collected from an autonomous vehicle platform
in a complex urban environment. Our goal was to quantify
the performance of the ephemerality-aware visual odometry
approach in the presence of large dynamic objects in traffic.
A. Network Training
We train our approach using eight 10km traversals from
the Oxford RobotCar dataset [30] for a total of approximately
80km of driving. The RobotCar vehicle is equipped with a
Bumblebee XB3 stereo camera and a LMS-151 pushbroom
LIDAR scanner. For training we downsample the input
images to 640 × 256 pixels and subsample to one image
every metre before use; a total of 60,850 images were used
for training. At run-time we produce ephemerality masks and
depth maps at 50Hz using a single GTX 1080 Ti GPU.
B. Evaluation Metrics
We evaluate our approach on 42 further Oxford traversals
for a total of over 400km. The evaluation datasets contain
multiple detours and alternate routes, ensuring the method
is tested in (unmapped) locations not present in the training
datasets. To quantify the performance of the ephemeralityaware VO, we compute translational and rotational drift rates
using the approach proposed in the KITTI odometry benchmark [31]. Specifically, we compute the average end-pointerror for all subsequences of length (100, 200, . . . , 800)
metres compared to the INS system installed on the vehicle.
In addition, we compare the instantaneous translational
velocities of each method to that reported by the INS system
(based on doppler velocity measurements). We manually
selected 6,000 locations that include distractors, and evaluate
velocity estimation errors in comparison to the average of all
locations. This allows us to focus on dynamic scenes where
independently moving objects produce erroneous velocity
estimates in the baseline VO methods.
VI. R ESULTS
In addition to the quantitative results listed below, we
present qualitative results for ephemerality masks produced
in a range of different locations in Fig. 7.
A. Odometry Drift Rates
The end-point-error evaluation for each of the methods
is presented in Table I. In both cases, the addition of the
ephemerality mask reduced both average translational and
rotational drift over the full set of evaluation datasets. Note
that the metric scale for translational drift is derived from
the depth map produced by the network, and hence both
systems report translation in units of metres with low overall
error rates using only a monocular camera. The sparse VO

TABLE I
O DOMETRY D RIFT E VALUATION
VO Method
Sparse
Sparse w/Ephemerality
Dense
Dense w/Ephemerality

Translation
[%]
6.55
6.38
7.15
6.52

Rotation [deg/m]
0.0353
0.0321
0.0373
0.0307

TABLE II
V ELOCITY E RROR E VALUATION
VO Method
Sparse
Sparse w/Ephemerality
Dense
Dense w/Ephemerality

All [m/s]
0.0548
0.0406
0.0568
0.0407

Distractors [m/s]
0.220
0.0489
0.766
0.424

approach provided lower overall translational drift, whereas
the dense approach produced lower orientation drift.
B. Velocity Estimates
The velocity error evaluation for each of the methods
is presented in Table II. Across all the evaluation
datasets, the ephemerality-aware odometry approaches
produce lower average velocity errors. However, in locations
with distractors, the ephemerality-aware approaches produce
significantly more accurate velocity estimates than the
baseline approaches. In particular, the robust sparse VO
approach is almost unaffected by distractors, whereas the
baseline method reports errors 4 times greater. The dense
VO approach generally produces poorer translational velocity
estimates than the sparse approach, which corresponds with
higher translational drift rates reported in the previous
section. Fig. 8 presents the distribution of velocity errors
for each of the approaches in the presence of distractors.
VII. C ONCLUSIONS
In this paper we introduced the concept of an ephemerality
mask, which estimates the likelihood that any pixel in an
input image corresponds to either reliable static structure
or dynamic objects in the environment, and can be learned
using an automatic self-supervised approach. Crucially, we
do not require any manual labelling or choice of semantic
classes in order to train our approach, and at run-time we
only require a single monocular camera to produce reliable
ephemerality-aware visual odometry to metric scale. Over
hundreds of kilometres our approach produces improved
odometry resulting in lower drift rates, and significantly more
robust velocity estimates in the presence of large dynamic
objects in urban scenes.
The benefits of our approach are not restricted to
improving motion estimation, and there are a number of
avenues to explore in future work. Fig. 9 illustrates a
foreground/background segmentation performed using the
ephemerality mask; where we currently use the background
to guide motion estimation, a detection and classification
approach could be guided by the foreground mask to
efficiently track dynamic objects in the scene. We plan
to integrate the approaches in this paper for improved
localisation, motion estimation, obstacle avoidance and scene
understanding for fully autonomous vehicles operating in
complex urban environments.

Fig. 7. Ephemerality masks produced in challenging urban environments. The masks reliably highlight a diverse range of dynamic objects (cars, buses,
trucks, cyclists, pedestrians, strollers) with highly varied distances and orientations. Even buses and trucks that almost entirely obscure the camera image
are successfully masked despite the lack of other scene context. Robust VO approaches that make use of the ephemerality mask can provide correct motion
estimates even when more than 90% of the static scene is occluded by an independently moving object.

Probability

Sparse
0.04

Baseline
Ephemerality-Aware

0.02
0
0

0.5

1

1.5

2

2.5

3

2

2.5

3

Probability

Dense
0.04
0.02
0
0

0.5

1

1.5

Velocity Error (m/s)
Fig. 8.
Velocity estimation errors in the presence of distractors.
The sparse ephemerality-aware approach significantly outperforms the
baseline approach, producing far fewer outliers above 0.5 m/s. The dense
ephemerality-aware approach does not perform as well, but still outperforms
the baseline. The vertical axis is scaled to highlight the outliers.

Fig. 9. Ephemerality masks are widely applicable for autonomous vehicles.
In the above scene the ephemerality mask can be used to inform localisation
against only the static scene (bottom left) whilst guiding object detection to
only the ephemeral elements (bottom right).

VIII. ACKNOWLEDGEMENTS
This work was supported by the UK EPSRC Doctoral
Training Partnership and Programme Grant EP/M019918/1.
R EFERENCES
[1] M. A. Fischler and R. C. Bolles, “Random sample consensus: a
paradigm for model fitting with applications to image analysis and
automated cartography,” Communications of the ACM, vol. 24, no. 6,
pp. 381–395, 1981.
[2] M. Piccardi, “Background subtraction techniques: a review,” in
Systems, man and cybernetics, 2004 IEEE international conference
on, vol. 4. IEEE, 2004, pp. 3099–3104.
[3] S. Jeeva and M. Sivabalakrishnan, “Survey on background modeling
and foreground detection for real time video surveillance,” Procedia
Computer Science, vol. 50, pp. 566–571, 2015.
[4] E. Hayman and J.-O. Eklundh, “Statistical background subtraction for
a mobile observer,” in CVPR. IEEE, 2003, p. 67.
[5] Y. Sheikh, O. Javed, and T. Kanade, “Background subtraction for
freely moving cameras,” in Computer Vision, 2009 IEEE 12th
International Conference on. IEEE, 2009, pp. 1219–1225.
[6] A. Yilmaz, O. Javed, and M. Shah, “Object tracking: A survey,” Acm
computing surveys (CSUR), vol. 38, no. 4, p. 13, 2006.
[7] P. F. Felzenszwalb, R. B. Girshick, D. McAllester, and D. Ramanan,
“Object detection with discriminatively trained part-based models,”
IEEE transactions on pattern analysis and machine intelligence,
vol. 32, no. 9, pp. 1627–1645, 2010.
[8] S. Ren, K. He, R. Girshick, and J. Sun, “Faster R-CNN: towards realtime object detection with region proposal networks,” in Advances in
neural information processing systems, 2015, pp. 91–99.

[9] A. Bak, S. Bouchafa, and D. Aubert, “Dynamic objects detection
through visual odometry and stereo-vision: a study of inaccuracy and
improvement sources,” Machine vision and applications, pp. 1–17,
2014.
[10] S. Song and M. Chandraker, “Robust scale estimation in real-time
monocular SFM for autonomous driving,” in Proceedings of the IEEE
Conference on Computer Vision and Pattern Recognition, 2014, pp.
1566–1573.
[11] J. Civera, D. Gálvez-López, L. Riazuelo, J. D. Tardós, and J. Montiel,
“Towards semantic SLAM using a monocular camera,” in Intelligent
Robots and Systems (IROS), 2011 IEEE/RSJ International Conference
on. IEEE, 2011, pp. 1277–1284.
[12] S. L. Bowman, N. Atanasov, K. Daniilidis, and G. J. Pappas,
“Probabilistic data association for semantic SLAM,” in Robotics and
Automation (ICRA), 2017 IEEE International Conference on. IEEE,
2017, pp. 1722–1729.
[13] R. Garg, G. Carneiro, and I. Reid, “Unsupervised CNN for single view
depth estimation: Geometry to the rescue,” in European Conference
on Computer Vision. Springer, 2016, pp. 740–756.
[14] T. Zhou, M. Brown, N. Snavely, and D. G. Lowe, “Unsupervised
learning of depth and ego-motion from video,” in CVPR, 2017.
[15] S. Vijayanarasimhan, S. Ricco, C. Schmid, R. Sukthankar, and
K. Fragkiadaki, “SfM-Net: learning of structure and motion from
video,” arXiv preprint arXiv:1704.07804, 2017.
[16] C. McManus, W. Churchill, A. Napier, B. Davis, and P. Newman,
“Distraction suppression for vision-based pose estimation at city
scales,” in Robotics and Automation (ICRA), 2013 IEEE International
Conference on. IEEE, 2013, pp. 3762–3769.
[17] R. W. Wolcott and R. Eustice, “Probabilistic obstacle partitioning of
monocular video for autonomous vehicles,” in BMVC, 2016.
[18] C. Linegar, W. Churchill, and P. Newman, “Made to measure: Bespoke
landmarks for 24-hour, all-weather localisation with a camera,” in 2016
IEEE International Conference on Robotics and Automation (ICRA).
IEEE, 2016, pp. 787–794.
[19] S. Katz, A. Tal, and R. Basri, “Direct visibility of point sets,” in ACM
Transactions on Graphics (TOG), vol. 26, no. 3. ACM, 2007, p. 24.
[20] H. Hirschmuller, “Accurate and efficient stereo processing by semiglobal matching and mutual information,” in Computer Vision and
Pattern Recognition, 2005. CVPR 2005. IEEE Computer Society
Conference on, vol. 2. IEEE, 2005, pp. 807–814.
[21] C. Godard, O. Mac Aodha, and G. J. Brostow, “Unsupervised
monocular depth estimation with left-right consistency,” in CVPR,
2017.
[22] A. Kendall, Y. Gal, and R. Cipolla, “Multi-task learning using
uncertainty to weigh losses for scene geometry and semantics,” arXiv
preprint arXiv:1705.07115, 2017.
[23] D. P. Kingma and J. Ba, “Adam: A method for stochastic
optimization,” arXiv preprint arXiv:1412.6980, 2014.
[24] H. Strasdat, J. Montiel, and A. J. Davison, “Scale drift-aware large
scale monocular SLAM,” Robotics: Science and Systems VI, vol. 2,
2010.
[25] D. Nistér, O. Naroditsky, and J. Bergen, “Visual odometry for ground
vehicle applications,” Journal of Field Robotics, vol. 23, no. 1, pp.
3–20, 2006.
[26] E. Rosten and T. Drummond, “Machine learning for high-speed corner
detection,” Computer Vision–ECCV 2006, pp. 430–443, 2006.
[27] M. Calonder, V. Lepetit, C. Strecha, and P. Fua, “BRIEF: binary robust
independent elementary features,” Computer Vision–ECCV 2010, pp.
778–792, 2010.
[28] K. Tateno, F. Tombari, I. Laina, and N. Navab, “CNN-SLAM: realtime dense monocular SLAM with learned depth prediction,” in CVPR,
2017.
[29] J. Engel, J. Sturm, and D. Cremers, “Semi-dense visual odometry
for a monocular camera,” in Proceedings of the IEEE international
conference on computer vision, 2013, pp. 1449–1456.
[30] W. Maddern, G. Pascoe, C. Linegar, and P. Newman, “1 year, 1000 km:
The Oxford RobotCar dataset,” The International Journal of Robotics
Research, vol. 36, no. 1, pp. 3–15, 2017.
[31] A. Geiger, P. Lenz, and R. Urtasun, “Are we ready for autonomous
driving? The KITTI vision benchmark suite,” in Computer Vision and
Pattern Recognition (CVPR), 2012 IEEE Conference on. IEEE, 2012,
pp. 3354–3361.

