{'fraction_non_alphanumeric': 0.035740072202166066, 'fraction_numerical': 0.00914560770156438, 'mean_word_length': 4.4182559087204565, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 5, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Multi-Sensor Next-Best-View Planning as Matroid-Constrained Submodular Maximization

3D scene models are useful in robotics for tasks such as path planning, object manipulation, and structural inspection. We consider the problem of creating a 3D model using depth images captured by a team of multiple robots. Each robot selects a viewpoint and captures a depth image from it, and the images are fused to update the scene model. The process is repeated until a scene model of desired quality is obtained. Next-best-view planning uses the current scene model to select the next viewpoints. The objective is to select viewpoints so that the images captured using them improve the quality of the scene model the most. In this paper, we address next-best-view planning for multiple depth cameras. We propose a utility function that scores sets of viewpoints and avoids overlap between multiple sensors. We show that multi-sensor next-best-view planning with this utility function is an instance of submodular maximization under a matroid constraint. This allows the planning problem to be solved by a polynomial-time greedy algorithm that yields a solution within a constant factor from the optimal. We evaluate the performance of our planning algorithm in simulated experiments with up to 8 sensors, and in real-world experiments using two robot arms equipped with depth cameras.


I. INTRODUCTION
S CENE reconstruction is the process of creating a digital model of a real-world scene from a set of images or other measurements of the scene. Models obtained via scene reconstruction are useful for robotic applications such as object manipulation, structural inspection [1], and waste sorting (Fig. 1). In an online setting, the model reconstructed from the images captured so far is used to plan from which viewpoint the next image is captured. Next-best-view (NBV) planning [2] determines the next viewpoint that provides the greatest improvement to the quality of the current model, reducing the amount of time and number of images required to reconstruct a model of desired quality.  The robots create a 3D model by recording images from views around the scene (red and blue frustums). We propose an efficient method to find the next-best-views for multiple cameras based on greedy maximization of a submodular utility function. The views found by our algorithm avoid overlap between the sensors' fields of view.
Many tasks may benefit from deployment of a multi-robot team [3], however most approaches to NBV planning focus on the single-robot setting [2], [4], [5], [6], [7], [8]. In a multirobot setting these approaches would plan the viewpoint for each robot individually and ignore coordination between team members. Time and resources are wasted if the same part of the scene is observed by multiple robots.
In this paper, we propose an efficient method for multisensor NBV planning that coordinates view selection and avoids overlapping views (Fig. 1). The constraint that each robot can choose at most one view is formalized as a matroid, a mathematical object that generalizes the concept of independence from linear algebra to sets. View selection and other related sensor selection problems often satisfy a diminishing returns property known as submodularity [9]: the benefit of adding a new view decreases with an increasing number of existing views. An advantage of submodular maximization under a matroid constraint is that a polynomial-time greedy algorithm provides a solution within a constant factor from the optimum [10].
Unlike [11] who reconstruct regions of interest when communication is not constant, we aim to produce a complete scene reconstruction when robots communicate to coordinate their actions. Our approach is best suited for robots deployed near each other ( Fig. 1) with reliable communication. Cui et al. [12] consider a single robot equipped with many sensors, one of which is chosen to be active at any time. In contrast, we consider joint planning where all sensors are operated simultaneously and the combination of views that is most useful is selected. We apply matroid-constrained submodular maximization similar to the multi-robot planning methods in [13], [14], [15]. We are the first to address multi-sensor NBV planning using submodularity.
Our key technical contribution is a utility function that avoids overlap between the views of multiple sensors. We prove that the utility function is monotonically increasing and submodular, and formulate multi-sensor NBV planning as submodular maximization under a matroid constraint. We describe an efficient greedy algorithm for the planning problem with an approximation guarantee. When the sensors' potential views are disjoint, our formulation reduces to solving independent single-sensor NBV planning problems. We experimentally verify the effectiveness of our proposed approach in a set of simulated experiments with up to 8 sensors, and in a real-world experiment with two robot arms.
The rest of the paper is organized as follows. We review related work in Section II, and define some useful mathematical concepts in Section III. We formulate the multisensor NBV problem in Section IV, and contrast it to singlesensor NBV planning. In Section V we introduce our proposed utility function, and prove that it is submodular. Section VI proposes a greedy algorithm for multi-sensor NBV planning. In Sections VII and VIII we report results from simulated and real-world experiments. Section IX concludes the paper.

II. RELATED WORK
We review related work in two areas: NBV planning in single and multi-sensor settings, and multi-robot planning using matroid constraints and submodularity.

A. Next-best-view planning
We focus on NBV planning approaches with a volumetric scene representation. A volumetric scene representation consists of a finite set of grid cells, or voxels. For each voxel, an occupancy probability that gives the probability of the voxel containing an obstacle is maintained. In NBV planning, the set of visible voxels from each candidate view is first estimated by applying raytracing. A score for the candidate view is calculated as the sum of per-voxel scores for each visible voxel. The NBV with the greatest score is selected.
NBV planning methods differ in how the score of a view is calculated. Counting measures [2], [4] count the total number of unknown visible voxels. Probabilistic measures employ quantities such as entropy of voxel occupancy, or the visibility probability of voxels. For example, [5] selects the view that has the greatest average occupancy entropy in the visible voxels. In [7], scores that weight per-voxel scores by the probability of the voxel being visible are proposed. Views that observe the most boundary voxels between known and unknown space are preferred in [16]. In [6], the method is extended to consider the uncertainty in sensor motion. Recently, [17] proposes to learn scoring of candidate views by using a 3D convolutional neural network with a multi-scale volumetric map representation. The assumption that voxel occupancies are independent is relaxed in [18] by applying Markov chain Monte Carlo.
Instead of a voxel grid, [8] proposes an implicit surface density representation. The representation consists of points observed on a surface. Regions with a high density of points are classified as core, and other regions as outliers. The expected observed volume between core and outlier regions is maximized. A Gaussian process (GP) implicit surface representation is used in [19]. The variance of the GP quantifies the uncertainty of the surface reconstruction. A planning algorithm uses the variance to find trajectories that reduce uncertainty the most.
The related problem of planning how a robot should manipulate an object within the view of a stationary camera is investigated in [20]. The object model is a signed distance function on a voxel grid. In [21], trajectories for environment exploration are scored by estimating the unknown volume visible along the trajectory. A robotic system for structural inspection is demonstrated in [1]. As a known environment is considered, an inspection path is planned offline to guarantee a desired amount of overlap between captured images. Some recent works consider NBV planning in the multirobot setting. Sukkar et al. [11] reconstruct regions of interest (ROIs) by controlling viewpoints of multiple robots equipped with cameras. ROIs correspond to fruit in an agricultural application and are detected by color thresholding. Candidate viewpoints are scored based on the expected information gain on the detected ROIs. The algorithm proposed in [3] is applied to decentralize the planning task so that each robot can plan its views without needing to constantly communicate with the other robots. Cui et al. [12] select if a robot should apply a laser range finder or depth camera next. Candidate sensing actions are scored by a weighted sum of the number of unknown voxels, occupied voxels, and voxels neighbouring a free voxel. Unlike [11], we target tasks where the robots communicate constantly to coordinate views. We do not focus on ROIs, but strive for a complete reconstruction. Different to [12], we choose the views of multiple sensors simultaneously. By applying submodular maximization, we provide a performance guarantee for our planning algorithm.

B. Matroid constraints and submodularity in planning
Multi-robot coordination may be viewed as an item selection task. Each robot selects an item (e.g., a trajectory), with the objective of maximizing a performance measure that is a function of the selected set of items. A matroid defines a system of independent sets, which models constraints such that one robot may select at most one trajectory. A submodular function defined on independent sets has a diminishing returns property that states that adding a new item to an existing set of items is less useful the larger the existing set is. Maximizing a submodular function under a matroid constraint by a polynomial-time greedy algorithm provides a constant-factor approximation [10]. Furthermore, many informationtheoretic functions are submodular, making greedy submodular maximization a popular approach for tasks such as planning sensor placements [9].
Multi-robot information gathering tasks such as exploration [14] and informative path planning [13] have been addressed as submodular maximization under a matroid constraint. A sequential greedy allocation (SGA) algorithm is proposed in [13], allowing extension of single-robot planning to any number of robots while maintaining performance guarantees. A distributed variant of SGA proposed in [14] scales up to larger problems due to distribution of the computation, while maintaining approximation guarantees. In [15], a greedy algorithm is proposed for coupled problems, such as selecting the composition of a multi-robot team and subsequently planning how the robots should act. The work most similar to ours is [14], where the distributed approach incurs an additional suboptimality penalty. In our paper we target the centralized setting where greedy submodular maximization enjoys a tighter suboptimality bound.

III. PRELIMINARIES
We define now mathematical concepts that are later used.

A. Partition matroids
Matroids generalize the concept of independence from linear algebra to sets. For an introduction to matroids, we refer the reader to [22]. For the purposes of this paper, we only require the concept of a partition matroid.
Let A i be n pairwise disjoint sets, and let a i be in- The elements of I are independent sets. The sets A i are blocks of the partition matroid. We assume a i = 1 for all partition matroids, such that there is at most one element per block in an independent set.

B. Submodularity
Submodularity formalizes the notion of diminishing returns: the marginal utility of adding a new item to an existing set of items is smaller the larger the existing set is. A

IV. MULTI-SENSOR NEXT-BEST-VIEW PLANNING
Consider a team of n sensors, and let X 1 , . . . , X n be n pairwise disjoint sets with X i representing the possible views for sensor i. Denote by I the collection of independent sets in a partition matroid with blocks X i . The problem of multisensor NBV planning is to select an independent set of views -one for each sensor -that maximizes the utility of the views. Utility is measured by a function f mapping independent sets to a real number. Formally, the problem is (1) Next, we introduce our environment and sensor models. We then discuss how utility is measured in single-sensor NBV planning, and motivate the need for a utility function f specifically designed for the multi-sensor setting.

A. Environment and sensor models
The environment is represented as a volumetric grid V with a finite number of grid cells. For each grid cell, P (v) gives the probability that the grid cell is occupied by an obstacle. The cell occupancies are independent of each other.
Each of the sensors is a camera that outputs a depth image. The view x i of each sensor is its translation and orientation w.r.t. a fixed coordinate system. A depth image is considered as a set of rays emitted from x i . A ray is emitted in the direction of each pixel in the depth image, terminating after traversing a distance equal to the measured depth. We write each ray r as a sequence of grid cells it traverses through, e.g., r = (v 1 , v 2 , . . . , v k ), where v i ∈ V and k is the total number of grid cells traversed. At view x i , the set of all rays emitted by the sensor is R(x i ). Fig. 2 illustrates a volumetric grid. For clarity the drawing is in two dimensions, but in this paper we deal with three dimensional grids. Three views and their corresponding sets of emitted rays are shown. For example, the set of rays emitted from x 1 is R(x 1 ) = {r 1,1 , r 1,2 , r 1,3 }. Each ray r i,j is also a sequence of grid cells. For example, r 1,2 is the sequence of all grid cells traversed by the ray starting at the cell where x 1 is located and terminating at grid cell v labeled by the shaded circle marker near the center of the grid.
Given a real depth image recorded by a sensor, the occupancy probabilities are updated using the inverse sensor model of [23] as follows. Raytracing is applied to determine which grid cells are updated. The focal lengths (f x , f y ) and the principal point (c x , c y ) of the depth camera are required. Let d be the measured depth at pixel coordinates (x, y). The ray direction vector (x−cx) /fx (y−cy) /fy 1 T is transformed to the coordinate system of the volumetric grid, and a ray of length d is emitted in the resulting direction. The grid cells traversed by the ray are recorded. The grid cell where a ray terminates is observed as a hit, and other grid cells traversed by the ray are observed as misses. The log-odds representation Given an observed grid cell v and its observation z, the log-odds are updated to (2) and p h and p m are the hit and miss probabilities, respectively. The posterior P (v | z) is obtained by inverting L(v | z).

B. Score function for an emitted ray
The ray score function calculates the score of a single ray as a sum over the grid cells traversed by the ray. At each grid cell v, a weight term dependent on which other cells the ray traversed to reach v is multiplied by the information gain available at v. We formalize this by the following definition, and give concrete examples afterwards.
Definition 1 (Ray score function). Let r be a ray that traverses the sequence (v 1 , v 2 , . . . , v k ) of grid cells. The ray score function s : V k → R is defined as where w j,r : V j−1 → R is a weight term, and c : V → R is the information gain available at a grid cell. For j = 1, we define w 1,r ≡ 1.
In our experiments we use the widely applied entropy score [5], [7] by setting the information gain equal to entropy of voxel occupancy, c(v) = −P (v) log 2 P (v) − (1 − P (v)) log 2 (1 − P (v)), and defining w j,r always equal to one. This choice encourages exploration by assigning a high score for views that observe voxels with a high uncertainty. However, we derive all our theoretical results for the general form given in the definition above, which includes many scores proposed in earlier literature. Counting measures [2], [4] are obtained by setting the weight term always equal to 1, and the information gain function to return 1 when the grid cell is unknown and 0 otherwise. Occlusion-aware scores [7] are obtained by setting the weight term equal to (1 − P (v i )), the probability that all grid cells traversed are free, i.e., the probability that the ray reaches v j−1 before hitting an obstacle and terminating. A region of interest S ⊂ V is focused by setting the weight term to depend on the indicator function of S.
Single-sensor NBV approaches select a view x by maximizing r∈R(x) s(r). A naive extension of the single-sensor NBV approach to a multi-sensor setting selects for each sensor i the view x i that maximizes r∈R(xi) s(r). However, since there is no incentive for coordination between the sensors, unnecessarily overlapping views may be selected.

MULTI-SENSOR NEXT-BEST-VIEW PLANNING
To coordinate view selection for multiple sensors, we propose an overlap-aware utility function to score sets of rays. For each grid cell, the utility function only takes into account the ray along which the weighted information gain is maximized. This captures the intuitive notion that overlap between multiple sensors should be avoided if possible, and only the most useful ray traversing through a particular grid cell should be considered in NBV planning. Our proposed utility function helps reduce unnecessary overlap in the selected views, as we later show experimentally. We prove our utility function is monotonically increasing and submodular, and show how single-sensor NBV planning arises as a special case when sensor views do not overlap.

A. Overlap-aware utility
Recall that X i are the pairwise disjoint sets of available views for each sensor. Let Ω denote the set of all possible views obtained as the union of all X i . The partition matroid of valid views is (Ω, I) with I = {I ⊆ Ω | ∀i : |I ∩ X i | ≤ 1}. Any independent set I ∈ I contains at most one view from each X i . The union of all rays emitted from views in an independent set is R(I) = ∪ xi∈I R(x i ). For example in Fig. 2, R({x 1 , x 2 }) = {r 1,1 , r 1,2 , r 1,3 , r 2,1 , r 2,2 , r 2,3 }.
The overlap-aware utility function considers for each grid cell all the rays that traverse through the cell. For any grid cell v, we denote by T I (v) the subset of rays in R(I) that traverse through v. Recalling that any ray r ∈ R(I) is a sequence of grid cells, we define For instance, letting R({x 1 , x 2 }) be as in the paragraph above, and considering the grid cell v indicated in Fig. 2, T {x1,x2} (v) = {r 1,2 , r 2,2 }, containing exactly the two rays that traverse through v. We propose the following overlap-aware utility function.
Definition 2 (Overlap-aware utility function). Let (Ω, I) be a partition matroid of valid sensor views. For any independent set I ∈ I of views, the overlap-aware utility is where w j,r (v 1 , . . . , v jr−1 ) is the weight term, and c is the information gain available at v. For I = ∅, set f (∅) = 0.
At any grid cell, only the contribution from the ray that has the greatest weight term when reaching that grid cell is considered for overlap-aware utility. For instance, if the weight term is chosen as the probability that the ray reaches the grid cell, only the ray with the greatest probability contributes to the utility. Selecting overlapping views that observe the same grid cells is implicitly discouraged by the utility function. Emitting an additional ray that reaches a grid cell only improves the utility if the additional ray has a greater weight term. For example, consider the grid cell v indicated by the gray circle in Fig. 2. The sum term in Eq. (5) that corresponds to v is the maximum over the two rays r 1,2 and r 2,2 that traverse through v.

B. Proof of submodularity and monotonicity
We prove a supporting lemma and then the main result.
Lemma 1. For any v ∈ V , the set function is monotonically increasing and submodular.
since adding more views can only increase the number of rays that traverse through v. The maximum cannot decrease, i.e., g v (A) ≤ g v (B), so g v is monotonically increasing.
To prove submodularity, fix v ∈ V and A ⊆ B ⊆ Ω. Select an arbitrary view x ∈ Ω \ B, which is not in B and thus also not in A. By the definition in Eq. (4), every element in where the inequality follows as g v is monotonically increasing and the proof for submodularity is complete. Recall that a partition matroid with blocks X i describes the valid combinations of views the robots may choose. We proved that the overlap-aware utility function f , Definition 2, is a submodular function of the independent sets of this partition matroid. In summary, multi-sensor NBV planning, Eq. (1) is matroid-constrained submodular maximization.

C. Single-sensor NBV planning is a special case
We prove that if there is no potential overlap between the views of any sensors, multi-sensor NBV planning reduces to solving n independent single-sensor NBV planning problems. Two views are disjoint if the rays emitted from the views do not traverse through any of the same grid cells.

Definition 3.
Two views x i , x j are disjoint if for every grid cell v ∈ V , the rays emitted from x i and x j do not overlap, that is, ∀v : In Fig. 2, the views x 1 , x 3 are disjoint, and the views x 2 , x 3 are disjoint, but the views x 1 , x 2 are not disjoint.
The following proposition shows that if there is no overlap between the views of any two different sensors, the multisensor NBV problem with the overlap-aware utility function is equivalent to n single-sensor NBV planning problems. Proposition 1. Let X i be pairwise disjoint sets of views for each sensor i. If for every i = j, all x i ∈ X i and x j ∈ X j are Algorithm 1 Greedy multi-sensor NBV planning Input: Partition matroid (Ω, I) of views Output: Independent set I k ∈ I containing k planned views 1: k ← 0, I k ← ∅ 2: while ∃x ∈ Ω : I k ∪ {x} ∈ I do 3:

VI. A GREEDY ALGORITHM FOR MULTI-SENSOR NBV
PLANNING Algorithm 1 is a greedy strategy for solving Eq. (1). The algorithm starts from the initial solution I 0 = ∅ at iteration k = 0. As long as there exists a view x in the ground set Ω such that I k ∪ {x} is an independent set, we repeat the following two steps. First, find the view x * with the greatest marginal utility that maintains the matroid constraint, that is, Second, update the solution by I k+1 = I k ∪ {x * }, remove x * from the ground set, and increment k. When the input is the partition matroid of sensor views, the output I n contains exactly one view for each of the n sensors. When f is monotonically increasing and submodular, I n is a 1 2approximation [10], that is, f (I n ) ≥ 1 2 max I∈I f (I).
We perform raytracing for each view x ∈ Ω once and store the best per-voxel scores g v ({x}). We initialize g v (I 0 ) to zero for all voxels. The marginal utility of a view x on Line 3 is then computed as follows. Initialize the marginal utility to zero. Loop over voxels visible for x and compare the stored value g v ({x}) to the old value g v (I k ). If the stored value is greater than the old value, the positive difference is added to the marginal utility. If the old value is greater than the stored value, continue to the next visible voxel. After the view x * with the greatest marginal utility is recovered, the old values for visible voxels are updated to g v (I k+1 ) = max{g v (I k ), g v ({x * })}. If raytracing for one view has computational complexity O(R), the overall computational complexity of Algorithm 1 is O(R|Ω|+n|Ω|) where the second term accounts for computing the marginal utilities of up to |Ω| views for up to n sensors.
The proposed greedy submodular maximization algorithm provides an approximation guarantee and runs in polynomial time. Eq. (1) could also be solved by exhaustive search or   a heuristic algorithm. Exhaustive search recovers an optimal solution but has a worst-case computational complexity of O(R|Ω| + |Ω| n ) as the utility of every independent set must be evaluated. Heuristic algorithms that start with an initial solution and modify it locally are also applicable. Examples of such algorithms include genetic optimization algorithms, tabu search, or simulated annealing.

VII. SIMULATION EXPERIMENTS
We evaluate our NBV planning algorithm in synthetic environments and in a robotic setup. This section presents the results for the synthetic environments.

A. Experimental setup
We use the validation set of SceneNet RGB-D [24], a collection of rendered RGB-D images from randomly generated synthetic environments. The validation set consists of 1000 scene configurations. Each scene configuration depicts a synthetic room layout with randomly sampled objects in physically plausible poses. The room layout is one of 8 possible choices 1 illustrated in Fig. 3. Each scene configuration has 300 labeled cameras poses along a continuous trajectory. 320-by-240 pixel depth images from the labeled poses are available to compute a ground truth scene reconstruction.
We consider n = 2, 4, or 8 sensors, and split the camera poses in each scene configuration into n disjoint subsets X i . Each subset contains possible views for sensor i and spans the entire trajectory. We plan a sequence of 20 views for each sensor by Algorithm 1. We compare to independent single-sensor NBV planning of views as described in Subsection IV-B, and to selecting the next views uniformly at random. Each experiment is repeated 10 times. The true depth images are applied to update occupancy probabilities as described in Subsection IV-A. We use hit and miss probabilities p h = 0.9 and p m = 0.1, respectively. We use a voxel grid with a resolution of 0.05 m per voxel. The initial occupancy probability is P (v) = 0.5 for all voxels. To vary the prior information about the scene, the first views are sampled randomly in each experiment and are the same for all methods. We use a resolution of 0.1 rays per pixel and a maximum range of 10 m for raytracing.
We record the explored volume and the surface coverage as a function of the number of views per camera. We compare these values to the ground truth model created from all images. For computing the surface coverage, a point in the ground truth model is considered observed if there is a point closer than 0.05 m to it in the reconstruction. Fig. 4 shows for 4 and 8 cameras the average fraction of explored volume as a function of number of views. The numbers in parentheses in the legend show the micro-averaged area under curve (AUC) value of the respective methods. Our algorithm reaches 90% explored volume with between 2-3 fewer views per camera compared to the other two methods. Single-sensor planning does not coordinate view selection of multiple sensors, and prefers strongly overlapping views in the first 2-4 steps. Random view selection has no preference for such views, and thus performs better during these steps. After strongly overlapping views are removed from future consideration, single-sensor planning avoids selecting useless views on subsequent steps and outperforms random over the entire span of 20 views. Our algorithm avoids overlapping views, outperforming single-sensor planning and random view selection for any number of selected views. Table I shows the overall micro-averaged AUC for surface coverage, and the AUC for each layout. On average, our algorithm observes more surface points than single-sensor planning or randomly selecting views. As the number of cameras increases, the amount of potential overlap between the views increases. With 4 or 8 cameras, the performance of single-sensor planning and random are similar, while ours performs significantly better. This shows our algorithm is able to successfully coordinate views with increasing amount of potential overlap. Our method performs best in layouts with many rooms and occluding walls, such Bathroom 8, Kitchen 6, and Living room 5 (see Fig. 3). The improvement is smallest in layouts consisting of a single room such as Kitchen 11, especially when the number of cameras is 8. Single planning with 4 or 8 cameras also performs almost identically to random in both of the living room layouts. Fig. 5 shows the surface coverage with 8 cameras in Bathroom 8 and Kitchen 11. Numbers in parentheses in the legend show the AUC. Our method performs best for any number of views in the Bathroom 8 layout that has many connected rooms separated by walls that occlude views (see Fig. 3). In the Kitchen 11 layout consisting of a single room with no occluding walls, our method still performs best with less than 8 views per camera, and then equally well as random view selection. Single-sensor planning selects strongly overlapping views and performs worse than randomly selecting views.

B. Results
For both planning algorithms, raytracing to compute the pervoxel scores takes most of the runtime. The average runtime was 0.8 s per candidate view.

VIII. REAL-WORLD EXPERIMENTS
We set up three scenes: a scene with light clutter (Fig. 6,  left), the same scene with a large obstacle added (Fig. 6, right), and a scene with unsorted metal waste (Fig. 1, top). Intel RealSense D435 depth cameras are attached to the two KUKA LBR iiwa robot arms. For each robot, we sample 20 candidate views around the workspace. In each view, the camera points to the center of the workspace. We plan a sequence of 8 views by the proposed multi-sensor NBV planning (Ours), singlesensor NBV planning (Single), or random view selection (Random). As there are only two cameras, for Ours we find the independent set that maximizes overlap-aware utility directly by evaluating all combinations. Other experimental settings are as in Section VII. Table II shows the average unknown volume 2 (lower is better) and its 95% confidence interval, after 3, 5, and 8 views in each scene. In the "Waste" scene, Ours outperforms Single. The views in the scene overlap strongly, and our method avoids redundant views. In the "Clutter" and "Obstacle" scenes, there is no significant difference between Ours and Single. In the "Obstacle" scene, the difference of Single, Ours, and Random after 8 views is not significant. Randomly selecting 8 views is sufficient for a good reconstruction. In all cases, the random baseline performs worst.
In all scenes, Ours selected the same sequence of views in each repetition. This was the case for Single as well. In Table II the variation for Ours and Single is due to unpredictable events such as localization or sensor noise. Fig. 7 qualitatively compares Ours and Single. Our method explicitly considers that the two sensors' fields of view overlap, and selects views with less overlap. Single maximizes utility for each sensor independently, and selects views that overlap resulting in less explored volume. After the two views, the remaining unknown volume was 34 000 cm 3 (Ours) and 38 000 cm 3 (Single).

IX. DISCUSSION AND CONCLUSION
Several topics beyond the scope of this paper remain unexplored. Future work could investigate how the granularity of the candidate view sampling affects performance. Considering more candidate viewpoints is guaranteed to improve (a) Initial view (b) Ours (c) Single Fig. 7. Qualitative results in the "Waste" scene. The left subfigure shows the initial reconstruction and views (red and blue frustum). The middle and right subfigures show the second views selected by Ours and Single, respectively. The reconstruction color corresponds to height above the tabletop. The coordinate axes indicate the current pose of each sensor. Compared to Single, our method selects a view for sensor 2 (blue frustum) that avoids overlap with sensor 1 (red frustum) and observes the region to the bottom left.
performance, but it might not be beneficial in practice due to the increased computational cost. Dynamic generation of candidate viewpoints could also be considered, e.g., similar to [21]. Many formulations of information gain have been proposed and compared in single-sensor object reconstruction [7], while we applied only the entropy score. Comparing information gain formulations in the multi-sensor case is a direction for future work. The demands for NBV planning vary depending on the application [8], [11], [12], and studying the quality of the reconstructions with respect to the parameters of the algorithm can help fit our proposed method to specific applications.
In conclusion, we propose a monotonically increasing and submodular overlap-aware utility function for multi-sensor next-best-view planning with a volumetric environment representation. Our greedy planning algorithm is guaranteed to produce a solution within a constant factor from the optimum. Experimental results show the algorithm avoids planning overlapping views, outperforms independent singlesensor planning and random view selection methods, and can be implemented in a real-world robotic system.