Quadrotors, drones, and other robotic cameras are becoming increasingly powerful, inexpensive and are being used for a range of tasks in computer vision and robotics applications such as autonomous navigation, mapping, 3D reconstruction, reconnaissance, and grasping and manipulation. For these applications, modeling the surrounding space and determining which areas are occupied is of key importance.
Recently, several approaches for robotic scanning of indoor  and outdoor [31, 20] scenes have been proposed. Such approaches need to reason about whether voxels are free, occupied, or unknown space to ensure safety of the robot and to achieve good coverage w.r.t. their objective function (e.g. coverage of the 3D surfaces ). Model-based approaches require approximate information about free space and occupied space, which is typically acquired or input manually. This prevents such approaches from being fully autonomous or deployed in entirely unknown scenes . Model-free approaches can be applied in unknown environments [19, 27, 24, 8]
. Irrespective of the type of approach used, all algorithms require a utility function that predicts how useful a new measurement (i.e. depth image) would be. Based on this utility function a planner reasons about the sequence of viewpoints to include in the motion plan. This utility function is often a hand-crafted heuristic and hence it is difficult to incorporate prior information about the expected distributions of 3D geometry in certain scenes.
We propose to devise a better utility function using a data-driven approach. The desired target values for our utility function stem from an oracle with access to ground truth data. Our learned utility function implicitly captures knowledge about building and geometry distributions from approporiate training data and is capable of predicting the utility of new viewpoints given only the current occupancy map. To this end we train a 3D ConvNet on a novel multi-scale voxel representation of an underlying occupancy map, which encodes the current model of the environment. We then demonstrate that the learned utility function can be utilized to efficiently explore unknown environments.
The input to our network relies only on occupancy and hence abstracts away the capture method (i.e. stereo, IR depth camera, etc.). While our training data consists of perfect simulated depth images we demonstrate in our experiments that our learned model can be used with imperfect sensor data at test time, such as simulated noisy depth cameras or stereo data. The approach is not limited to environments with a fixed extent and generalizes to new scenes that are substantially different from ones in the training data. Our approach outperforms existing methods, that use heuristic-based utility functions [35, 24, 8] and is more than faster to compute than the methods from [24, 8].
2 Related work
Exploration and mapping are well studied problems. We first discuss theoretical results and then describe approaches in the active vision domain and finally work in 3D vision.
Submodular sensor placement:
In the case of a priori known environments and a given set of measurement locations, much work is dedicated to submodular objective functions for coverage [11, 29]. Submodularity is a mathematical property enabling approximation guarantees on the solution using greedy methods. While work exists on dynamic environments where the utility of future measurements can change upon performing a measurement [16, 22], these methods are usually difficult to scale to large state and observation spaces, which we considered in this paperchapter as they are common in computer vision applications.
Next-best-view and exploration:
In the next-best-view setting, the set of measurement locations is often fixed a priori as in the submodular coverage work described above. The work in this area is usually concerned with defining good heuristic utility functions and approximating the coverage task to make it computationally feasible [3, 27, 36, 12, 10]. A number of heuristics is explicitly compared in [24, 8]
, and a subset of these is computed and used as a feature vector by Choudhury to imitate an approximately optimal strategy with ground-truth access.
Based on an a priori fixed set of camera poses and a binary input mask of already visited poses Devrim 
use reinforcement learning to regress a scalar parameter used in the selection algorithm for the next view. In contrast to our work the approach is concerned with a priori known, fixed environments and camera poses making it suitable for inspection planning.
In active vision, a large body of work is concerned with exploration through only partially known scenes. Frontier-based algorithms  are used for autonomous mapping and exploration of the environment using stereo , RGB-D, or monocular cameras . Heng  propose a method which alternates between exploration and optimizing coverage for 3D reconstruction.
All of the approaches discussed above either define or are based on heuristics to decide on the utility of the next measurement or require prior knowledge of environment and possible camera poses. Instead of hand-crafting a utility function our work is concerned with learning such a function that can outperform existing hand-crafted functions and is computationally cheaper to evaluate. Additionally, our approach does not need a priori knowledge of the map.
3D convolutional neural networks:
A large body of work in computer vision is concerned with processing of 3D input and output data using convolutional neural networks. In some cases this data stems from RGB-D images such as in Song  where the goal is to detect objects. In other contexts, volumetric input in the form of binary occupancy labels or signed distance functions are used for diverse tasks such as shape classification and semantic voxel labeling [6, 30], surface completion 
, hand pose estimation, or feature learning . These works are concerned with passive tasks on uniform input grids of fixed dimensions, containing the object or surface of interest. This prevents reasoning across large distances or requires one to reduce the level of detail of the input.
Different representations of occupancy grids have been proposed to mitigate the trade-off of large uniform input dimensions and level of detail . However, in the context of our work the occupancy map is often not very sparse as it is generated by casting rays into a tri-state map and updating continuous values which results in very few homogeneous regions which would benefit from the formulation by Riegler . Also related to our work are approaches to multi-view reconstruction  where the output is predicted based on a sequence of input images. In contrast to our work Liu  reconstruct small objects in a fixed size volume whereas we are concerned with large city scenes containing several buildings.
3 Problem Setting and Overview
Our work is concerned with the automatic exploration of an a priori unknown 3D world with the ultimate goal of reconstructing the surfaces of the scene in an efficient manner. In this setting, illustrated in fig:exploration_task_overview, an algorithm has to make decisions about the next viewpoint based only on the current map information. In fig:exploration_task_overview the camera is surrounded by some space, already known to be free (white) and part of the surface has been observed (blue). The next viewpoint is restricted to the known free space, whereas moving into unknown space (light green) could lead to collisions. The main difficulty stems from the fact that the algorithm needs to predict how much unknown surface can be discovered from a new viewpoint. Much work has been dedicated to developing and studying various heuristics to compute a score that quantifies the expected value of possible viewpoints [24, 8].
We propose a data-driven approach where we use supervised learning to find a utility function that imitates an oracle. The oracle has access to the ground truth map and can compute the true utility score. For this task we introduce a map representation consisting of multi-scale sub-volumes extracted around the camera’s position. For all possible viewpoints this data is fed into a 3D ConvNet at training time together with the oracle’s score as a target value. Intuitively, the model learns to predict the likelihood of seeing additional surface voxels for any given pose, given the current occupancy map. However, we do not explicitly model this likelihood but instead provide only the oracle’s score to the learner. We experimentally show that our formulation generalizes well to new scenes with different object shape and distribution and can handle input resulting from noisy sensor measurements.
We follow related work [24, 8, 9] and evaluate our method on simulated but high-fidelity environments. This allows for evaluation of the utility function and reduces the influence of environmental factors and specific robotic platforms. Our environments contain realistic models of urban areas in terms of size and distribution of buildings. Furthermore it is important to note that our technique only takes occupancy information as input and does not directly interface with raw sensor data. In addition we test our approach on real data from outdoor and indoor scenes to demonstrate that our method is not limited to synthetic environments.
4 Predicting View Utility
We first formally define our task and the desired utility function and then introduce our method for learning and evaluating this function.
4.1 World model
We model the world as a uniform voxel grid with resolution . A map is a tuple of functions , that map each voxel to an occupancy value describing the fraction of the voxel’s volume that is occupied and an associated uncertainty value , i.e. for total uncertainty and for no uncertainty. Maps change over time so we denote the map at time as .
After moving to a viewpoint the camera acquires a new measurement in the form of a depth image and the map is updated. We denote the updated map as . The uncertainty is updated according to
where describes the amount of information added by a single measurement. This is a simple but effective measure providing a diminishing information gain of repeated measurements. Note that so uncertainty decreases with additional measurements. As is typical in occupancy mapping [34, 23] we update the voxel occupancies according to a beam-based inverse sensor model. Please see Sec. 4.4 for details on initialization of the map.
4.2 Oracle utility function
To select viewpoints, we need a utility function that assigns scores to all possible viewpoints at any time. We first introduce an oracle utility function with access to the ground truth (set of true surface voxels) during evaluation. It returns the desired true utility measure. We will then learn to imitate the oracle without access to ground truth.
We characterize a good viewpoint as one that discovers a large amount of surface voxels. Let be the total number of observed surface voxels in map weighted by their associated certainty value:
where is the set of ground truth surface voxels, i.e. all voxels that intersect the surface. Note that increases monotonically with additional measurements because the certainty of voxels can only increase according to Eq. (1).
The decrease in uncertainty of surface voxels with a new measurement defines the oracle’s utility score. We express this score as a function of the current map and the camera pose :
4.3 Learning the utility function
Computing the utility score introduced in eq:oracle-utility for any viewpoint requires access to the ground truth map. Our goal is to predict without access to this data so we can formulate a regression problem that computes score values given occupancy maps as input.
4.3.1 Multi-scale map representation
We propose to make predictions directly based on the occupancy map, rather than based on a temporal sequence of raw inputs. This occupancy map encodes our knowledge of already observed surfaces and free space and ultimately can be used to build up a map for both navigation and 3D reconstruction.
For use in a 3D ConvNet the map has to be represented with fixed dimensionalities. Here a trade-off between memory consumption, computational cost, reach and resolution arises. For example, extracting a small high resolution grid around the camera would constrain information to a small spatial extent whereas a grid with large spatial extent would either lead to rapid increase in memory consumption and computational cost or would lead to drastic reduction in resolution.
To mitigate this issue we introduce a multi-scale representation by sampling the occupancy map at multiple scales as depicted in fig:occupancy_grid_extraction. For each scale we extract values on a 3D grid of size and resolution (orange points in fig:occupancy_grid_extraction). On scale the map values are given by averaging the closest voxels (gray rectangles in fig:occupancy_grid_extraction). This can be done efficiently by representing the map as an octree. The 3D grids are translated and rotated according to the measurement pose
and we use tri-linear interpolation of the map values to compute the values on the grid. This representation allows us to capture both coarse parts of the map that are far away from the camera but still keep finer detail in its direct surroundings. Furthermore, it provides an efficient data representation of fixed size, suitable for training of a 3D ConvNet. We denote the multi-scale representation by. Note that the factor stems from extracting the occupancy and the uncertainty value on each scale.
4.3.2 ConvNet Architecture
We now describe our proposed model architecture used to learn the desired utility function . The general architecture is shown in fig:conv_net and consists of a number
of convolutional blocks followed by two fully connected layers with ReLu activations. Each convolutional block contains a series ofunits where a unit is made up of a 3D convolution, followed by Batch-Norm, followed by ReLu activation. Each 3D convolution increases the number of feature maps by . After each block the spatial dimensions are downscaled by a factor of
using 3D max-pooling. The first fully connected layer hashidden units and the second one has hidden units. Note that we do not separate the input data at different scales so that the network can learn to combine data on different scales. More details on the exact architecture are provided in Sec. 5.1 and an evaluation of different variants is provided in Supplementary Material.
We use a weight-regularized loss
where are the model parameters, is the regularization factor and for are the samples of input and target from our dataset.
4.4 3D Scene Exploration
To evaluate the effectiveness of our utility function, we implement a next-best-view (NBV) planning approach, to sequentially explore a 3D scene. Here we provide details of our world model and our methods for execution of episodes for the data generation phase and at test time.
We assume exploration of the world occurs in episodes. To initialize a new episode, the camera pose at time is chosen randomly in free space such that no collision occurs and the camera can move to each neighboring viewpoint without collision. A collision occurs if a bounding box of size centered at the camera pose intersects with any occupied or unknown voxel. Initially, all voxels are initialized to be unknown, i.e. , where is a prior assumption on the occupancy and we use throughout this work. To enable initial movement of the camera we clear (i.e. set to free space) a bounding box of around the initial camera position.
At each time step , we evaluate each potential viewpoint with our utility function, and move to the viewpoint that gives the best expected reward according to:
where is the set of potential viewpoints and is the utility function in use.
At the start of each episode the set of potential viewpoints only contains the initial viewpoint. At each time step the set is extended by those neighbors of the current viewpoint that do not lead to a collision. We ignore potential viewpoints if they have already been observed twice. Each viewpoint has neighbors, of them being positive and negative translations of along each axis of the camera frame, rotations of , clock-wise and counter-clockwise along the yaw axis, and a full turnaround of along the yaw axis. We keep pitch and roll angles fixed throughout.
After moving to a new viewpoint, the camera takes a measurement in the form of a depth image and the map is updated (see Supplementary Material for details on the camera parameters and the map update). Note that we use ground truth depth when generating training data but later demonstrate that we can use noisy depth images and even stereo depth at test time.
Note that we assume that the utility function is submodular. While this is true for the oracle utility it is not necessarily the case for other utility functions (i.e. our learned model). Nevertheless, this assumption allows us to perform lazy evaluations of the utility function  (see Supplementary Material for details).
To learn the utility function , approximating the oracle (see eq:oracle-utility) we require labeled training data. Our data should capture large urban environments with a variety of structures typical for human-made environments. To this end we chose models from the 3D Street View dataset . These models feature realistic building distributions and geometries from different cities. Additionally, we chose a large scene from a photo-realistic game engine (https://www.unrealengine.com) containing small buildings in a suburban environment, including trees, smaller vegetation and power lines. All environments are shown in fig:scenes. Note that we only use data from Washington2 to train our model. While Washington1 and Paris are similar in terms of building height the building distribution and geometry is clearly different. A particular challenge is posed by the SanFrancisco scene which includes tall buildings never seen before in Washington2. Similarly, the buildings and vegetation in the Neighborhood scene are unlike anything seen in the training data.
We generate samples by running episodes with until time and selecting the best viewpoint according to the oracle’s score at each time step. For each step we store tuples of input and target value from the oracle for each neighboring viewpoint.
Note that we record samples for each possible neighbor of the current viewpoint (instead of only the best selected viewpoint). This is necessary as our predictor will have to provide approximate scores for arbitrary viewpoints at test time. We record a total of approximately samples and perform a split into training and validation set. To encourage future comparison we will release our code for generating the data and evaluation. -10pt
We describe our ConvNet architecture and then show different evaluations of our method.
5.1 ConvNet architectures and training
We evaluated different ConvNet variants by varying , and . We also tried modifications such as using residual units [17, 18]. We report these results in the supplementary material. Here we report results on the best performing model with input size (, , , , , ), denoted as Ours in the rest of the section. Training of the model is done with ADAM using a mini-batch size of , regularization , and the values suggested by Kingma  for the other parameters. Dropout with a rate of is used after fully-connected layers during training. Network parameters are initialized according to Glorot  (corrected for ReLu activations). We use early stopping when over-fitting on test data is observed.
Our evaluation consists of three parts. First we evaluate our model on datasets generated as described in Sec. 4.5 and report spearman’s rho to show the rank correlation of predicted scores and ground truth scores. Following this, we compare our models with previously proposed utility functions from [35, 24, 8]. We use the open-source implementation provided by [24, 8] and report results on their best performing methods on our scenes, ProximityCount and AverageEntropy. We also compare with a frontier-based function measuring the number of unobserved voxels visible from a viewpoint as in [19, 2]. For this comparison we use simulated noise-free depth images for all methods. Finally, we evaluate our models with depth images perturbed by noise and depth images produced by stereo matching in a photo-realistic rendering engine.
To demonstrate the generalization capability of our models we use four test scenes (column 2-5 in fig:scenes) that show different building distribution and geometry than the scene used to collect training data. We also perform the experiments on the training scenes where the exploration remains difficult due to random start poses and possible ambiguity in the incomplete occupancy maps.
To compute score and efficiency values, we run episodes with until
for each method and compute the sample mean and standard deviation at each time step. To enable a fair comparison, we select a random start position for each episode in advance and use the same start positions for each method.
In order to report a single metric of performance for comparison we compute the area under the curve of observed surface versus time (see plots in fig:example_scenes_and_maps):
We call this metric Efficiency as it gives a higher score to a method that discovers surface early on.
5.3 Model performance on different datasets
Here we evaluate the performance of our model on data collected from different scenes as described in Sec. 4.5. The model was trained on the training set of Washington2 and we report Spearman’s rho as well as the loss value from Eq. (4) in Tab. 1.
|Evaluation on different datasets|
The Spearman’s rho shows a clear rank correlation even for the Neighborhood scene which features building distribution and geometry significantly different from Washington2 which was used to generate training data. Interestingly, the model shows a high rank correlation for the SanFrancisco scene which features tall buildings and thus requires our model to generalize to different occupancy map distributions at high viewpoints.
5.4 Comparison with baselines
In tab:main_model_vs_baselines we compare the performance of our models against related hand-crafted utility functions [35, 24, 8]. Our method consistently outperforms the existing functions in terms of the efficiency measure, and as shown in tab:computation_times_comparison, is faster to compute than other methods.
|Evaluation on different scenes|
|Oracle (GT access)|
We also show plots of observed surface voxels vs. time for our model, the oracle with access to ground truth and baseline methods in fig:example_scenes_and_maps. Note that the scenes shown have not been used to generate any training data. The results show that our method performs better compared to the baseline methods at all time steps. Additionally the behavior of our method is consistent over all scenes while the performance of the baselines varies from scene to scene. The progression of reconstructed 3D models is shown by the renderings of the occupancy map at different times.
|Computation time per step|
|Time in s||0.61||5.89||8.35||0.57|
5.5 Noisy input sensor
While all our training is done on simulated data using ground truth depth images our intermediate state representation as an occupancy map makes our models robust to the noise characteristics of the input sensor. Here we evaluate the performance of our models at test time with depth images perturbed by noise of different magnitude. Additionally we test our models with depth images computed from a virtual stereo camera. To this end we utilize a photorealistic game engine to synthesize RGB stereo pairs and compute depth maps with semi-global matching.
Episodes were run with noisy depth images and the viewpoint sequence was recorded. We replayed the same viewpoint sequences and used ground truth depth images to build up an occupancy map and measure the efficiency. Resulting Efficiency values are listed in tab:depth_noise_evaluation. One can see that our method is robust to different noise levels. More importantly, even with depth images from the virtual stereo camera, resulting in realistic perturbations of the depth images (see Supplementary Material), our method does not degrade.
|Evaluation using noisy depth images (normalized)|
5.6 Additional results on real data
To show that our method is general and also works with real scenes we conducted additional experiments on high-fidelity 3D reconstructions of buildings and on the 2D-3D-S indoor dataset  that was acquired with a Matterport111https://matterport.com/ camera. Result are shown in Tab. 5, Fig. 6 and Fig. 7. For the outdoor case we trained our model on the church (Fig. 6a) and evaluated on the historic building (Fig. 6.c). Despite the differences of both buildings in terms of geometry and scale (the historic building is about smaller in each dimension) our model is able to generalize. For the indoor case we trained on Area1 and evaluated on Area5b of the 2D-3D-S indoor dataset . Both experiments demonstrate that our method also works with real detailed scenes.
|Evaluation on additional real data|
|Frontier||ProximityCount ||Ours||Oracle (GT access)|
6 Discussion and Conclusions
We presented an approach for efficient exploration of unknown 3D environments by predicting the utility of new views using a 3D ConvNet. We input a novel multi-scale voxel representation of an underlying occupancy map, which represents the current model of the environment. Pairs of input and target utility score are obtained from an oracle that has access to ground truth information. Importantly, our model is able to generalize to scenes other than the training data and the underlying occupancy map enables robustness to noisy sensor input such as depth images from a stereo camera. Experiments indicate that our approach improves upon previous methods in terms of reconstruction efficiency.
Limitations of our method include dependence on the surface voxel distribution in the training data. In future work, it would be interesting to see how the method performs on vastly different geometries such as rock formations and other natural landscapes. Similarly, our model is bound to the map resolution and mapping parameters used in the training data.
Another limitation is the underlying assumption on a static scene. A dynamic object such as a human walking in front of the camera would lead to occupied voxels that do not correspond to a static object. While these voxels can change their state from occupied to free after additional observations if the human walked away the intermediate occupancy map can lead to utility predictions that are not desired. A possible solution to address this problem is to identify and segment dynamic objects in the depth maps before integrating them into the occupancy map.
Our work suggests several directions for future work. We used our learned utility function to implement a greedy next-best-view algorithm; however, our utility function could be used to develop more sophisticated policies that look multiple steps ahead. In addition, our approach could be extended to be used in a generative way to predict future states of the 3D occupancy map or to predict 2D depth maps for unobserved views. This could be used for model completion or hole-filling which has numerous applications in computer vision and robotics.
-  Armeni, I., Sax, S., Zamir, A.R., Savarese, S.: Joint 2d-3d-semantic data for indoor scene understanding. arXiv preprint arXiv:1702.01105 (2017)
-  Bircher, A., Kamel, M., Alexis, K., Oleynikova, H., Siegwart, R.: Receding horizon” next-best-view” planner for 3d exploration. In: Robotics and Automation (ICRA), 2016 IEEE International Conference on. pp. 1462–1468. IEEE (2016)
-  Chen, S., Li, Y., Kwok, N.M.: Active vision in robotic systems: A survey of recent developments. The International Journal of Robotics Research 30(11), 1343–1377 (2011)
Choudhury, S., Kapoor, A., Ranade, G., Scherer, S., Dey, D.: Adaptive information gathering via imitation learning. Robotics Science and Systems (2017)
-  Choy, C.B., Xu, D., Gwak, J., Chen, K., Savarese, S.: 3d-r2n2: A unified approach for single and multi-view 3d object reconstruction. In: European Conference on Computer Vision. pp. 628–644. Springer (2016)
-  Dai, A., Chang, A.X., Savva, M., Halber, M., Funkhouser, T., Nießner, M.: Scannet: Richly-annotated 3d reconstructions of indoor scenes. http://arxiv.org/abs/1702.04405 (2017)
-  Dai, A., Qi, C.R., Nießner, M.: Shape completion using 3d-encoder-predictor cnns and shape synthesis. http://arxiv.org/abs/1612.00101 (2016)
-  Delmerico, J., Isler, S., Sabzevari, R., Scaramuzza, D.: A comparison of volumetric information gain metrics for active 3d object reconstruction. Autonomous Robots pp. 1–12 (2017)
Devrim Kaba, M., Gokhan Uzunbas, M., Nam Lim, S.: A reinforcement learning approach to the view planning problem. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. pp. 6933–6941 (2017)
-  Dunn, E., Frahm, J.M.: Next best view planning for active model improvement. In: BMVC. pp. 1–11 (2009)
-  Feige, U.: A threshold of ln n for approximating set cover. JACM (1998)
-  Forster, C., Pizzoli, M., Scaramuzza, D.: Appearance-based active, monocular, dense reconstruction for micro aerial vehicles. In: Robotics: Science and Systems (RSS) (2014)
-  Fraundorfer, F., Heng, L., Honegger, D., Lee, G.H., Meier, L., Tanskanen, P., Pollefeys, M.: Vision-based autonomous mapping and exploration using a quadrotor mav. In: Intelligent Robots and Systems (IROS), 2012 IEEE/RSJ International Conference on. pp. 4557–4564. IEEE (2012)
-  Ge, L., Liang, H., Yuan, J., Thalmann, D.: 3d convolutional neural networks for efficient and robust hand pose estimation from single depth images. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. pp. 1991–2000 (2017)
Glorot, X., Bengio, Y.: Understanding the difficulty of training deep feedforward neural networks. In: Proceedings of the Thirteenth International Conference on Artificial Intelligence and Statistics. pp. 249–256 (2010)
-  Golovin, D., Krause, A.: Adaptive submodularity: Theory and applications in active learning and stochastic optimization. JAIR (2011)
-  He, K., Zhang, X., Ren, S., Sun, J.: Deep residual learning for image recognition. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (June 2016)
-  He, K., Zhang, X., Ren, S., Sun, J.: Identity mappings in deep residual networks. In: European Conference on Computer Vision. pp. 630–645. Springer (2016)
-  Heng, L., Gotovos, A., Krause, A., Pollefeys, M.: Efficient visual exploration and coverage with a micro aerial vehicle in unknown environments. In: ICRA (2015)
-  Hepp, B., Nießner, M., Hilliges, O.: Plan3d: Viewpoint and trajectory optimization for aerial multi-view stereo reconstruction. arXiv preprint arXiv:1705.09314 (2017)
-  Hirschmuller, H.: Stereo processing by semiglobal matching and mutual information. IEEE Transactions on pattern analysis and machine intelligence 30(2), 328–341 (2008)
-  Hollinger, G.A., Englot, B., Hover, F.S., Mitra, U., Sukhatme, G.S.: Active planning for underwater inspection and the benefit of adaptivity. IJRR (2012)
-  Hornung, A., Wurm, K.M., Bennewitz, M., Stachniss, C., Burgard, W.: OctoMap: An efficient probabilistic 3D mapping framework based on octrees. Autonomous Robots (2013). https://doi.org/10.1007/s10514-012-9321-0, http://octomap.github.com, software available at http://octomap.github.com
-  Isler, S., Sabzevari, R., Delmerico, J., Scaramuzza, D.: An Information Gain Formulation for Active Volumetric 3D Reconstruction. In: ICRA (2016)
-  Kingma, D., Ba, J.: Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980 (2014)
-  Krause, A., Golovin, D.: Submodular function maximization. Tractability: Practical Approaches to Hard Problems (2012)
-  Kriegel, S., Rink, C., Bodenmüller, T., Suppa, M.: Efficient next-best-scan planning for autonomous 3d surface reconstruction of unknown objects. Journal of Real-Time Image Processing 10(4), 611–631 (2015)
-  Liu, F., Shen, C., Lin, G.: Deep convolutional neural fields for depth estimation from a single image. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. pp. 5162–5170 (2015)
-  Nemhauser, G.L., Wolsey, L.A., Fisher, M.L.: An analysis of approximations for maximizing submodular set functions—i. Mathematical Programming (1978)
-  Riegler, G., Ulusoy, A.O., Geiger, A.: Octnet: Learning deep 3d representations at high resolutions. In: Conference on Computer Vision and Pattern Recognition (CVPR) (2017)
-  Roberts, M., Dey, D., Truong, A., Sinha, S., Shah, S., Kapoor, A., Hanrahan, P., Joshi, N.: Submodular trajectory optimization for aerial 3d scanning. In: International Conference on Computer Vision (ICCV) 2017 (2017)
-  Shen, S., Michael, N., Kumar, V.: Autonomous multi-floor indoor navigation with a computationally constrained mav. In: Robotics and automation (ICRA), 2011 IEEE international conference on. pp. 20–25. IEEE (2011)
-  Song, S., Xiao, J.: Deep sliding shapes for amodal 3d object detection in rgb-d images. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. pp. 808–816 (2016)
-  Thrun, S., Burgard, W., Fox, D.: Probabilistic robotics. MIT press (2005)
-  Vasquez-Gomez, J.I., Sucar, L.E., Murrieta-Cid, R., Lopez-Damian, E.: Volumetric next-best-view planning for 3d object reconstruction with positioning error. International Journal of Advanced Robotic Systems 11(10), 159 (2014)
-  Wenhardt, S., Deutsch, B., Angelopoulou, E., Niemann, H.: Active visual object reconstruction using d-, e-, and t-optimal next best views. In: 2007 IEEE Conference on Computer Vision and Pattern Recognition. pp. 1–7. IEEE (2007)
Xu, K., Zheng, L., Yan, Z., Yan, G., Zhang, E., Nießner, M., Deussen, O., Cohen-Or, D., Huang, H.: Autonomous reconstruction of unknown indoor scenes guided by time-varying tensor fields. ACM Transactions on Graphics 2017 (TOG) (2017)
-  Yamauchi, B.: A frontier-based approach for autonomous exploration. In: Computational Intelligence in Robotics and Automation, 1997. CIRA’97., Proceedings., 1997 IEEE International Symposium on. pp. 146–151. IEEE (1997)
-  Zamir, A.R., Wekel, T., Agrawal, P., Wei, C., Malik, J., Savarese, S.: Generic 3d representation via pose estimation and matching. In: European Conference on Computer Vision. pp. 535–553. Springer (2016)
-  Zeng, A., Song, S., Nießner, M., Fisher, M., Xiao, J., Funkhouser, T.: 3dmatch: Learning local geometric descriptors from rgb-d reconstructions. In: CVPR (2017)