• No results found

Example View Planning Problems

Chapter 4 View Evaluation

4.3 Generalization

4.3.1 Example View Planning Problems

4.3.1.1 2D Pose on a Sphere

In the previous next-best-view planning algorithms for range acquisition of objects, many researchers have greatly simplified their problems by assuming that (1) the scanner is

monostatic, (2) the scanner’s viewpoint is always located on a sphere (called the view sphere or viewing sphere), and (3) the object to be scanned is placed approximately at the center of the sphere and the scanner is always directed towards the center [Connolly1985, García1998, Banta1995, Massios1998, Reed1997]. Figure 4.18 shows such a setup. By fixing the roll of the scanner and other scanning parameters, each view of the scanner is basically a 2D pose. In the previous work, to find the best view for the next scan, the sphere is uniformly discretized into discrete views, which are then exhaustively evaluated according to some view metric. The most popular sphere discretization is to recursively subdivide the faces of a regular icosahedron. A regular icosahedron is a polyhedron made up of 20 faces that are equilateral triangles. Each level of subdivision of the triangles replaces each triangle with four smaller ones.

Figure 4.18: The commonly-assumed setup to scan an object. The viewpoint of the scanner is assumed to be on a view sphere and the scanner’s field of view is always centered at the center of the sphere.

This 2D view planning problem is a good candidate for applying the hierarchical approach. Each triangle on the regular icosahedron represents a viewcell. Each viewcell is actually not the triangle, but the “triangular” portion of the sphere (I refer to it as the “curved triangle”) approximated by the triangle. The subdivision of the triangle provides a means to subdivide the curved triangle. There may be many sensing constraints that need to be tested for each view, and here I describe only the visibility constraint evaluation and the sampling density estimation.

view sphere scanner

102

To determine total visibility between a viewcell and a patch, a bounding volume is constructed to enclose the shaft between the patch’s bounding rectangle and the viewcell. If the object being scanned is much smaller than the view sphere, then the patch will be small and very close to the view sphere’s center, and the triangle can be used as an approximation of the corresponding curved triangle when constructing the shaft. The rest of the procedure to test for total visibility and total occlusion is similar to that described in Section 4.1.3.4.

To determine the minimum and maximum new scan sampling densities between a viewcell and a patch, one can use methods similar to those in Section 4.1.3.5. For minimum sampling density, for each corner of the patch’s bounding rectangle, the smallest sampling density sphere is set up to enclose the triangle. Only the three vertices of the triangle need to be tested to find each smallest sampling density sphere. The largest of the four sampling density spheres represents the minimum sampling density. To determine the maximum sampling density, one needs to find the smallest sampling density sphere that touches the triangle. This will be an over-estimate of the actual maximum sampling density when the curved triangle is used instead, and therefore is acceptable.

4.3.1.2 2D Translation and 1D Rotation

In this problem instance, the scanner has fixed and limited vertical and horizontal fields of view. The scanner’s viewpoint is fixed at a specified height above the floor, and therefore the y-coordinate of the scanner’s position is fixed. The scanner can be oriented by rotating about the vertical axis. The pose of each view is 3D. The first two dimensions are the (x, z) coordinates of the scanner’s viewpoint, and the third dimension represents ω, the horizontal direction in which the scanner is pointed.

Before view evaluations, the positioning constraints are tested for each view to determine if it is feasible. Whether a view is feasible depends only on its (x, z) coordinates, not its horizontal direction ω. The result is a set of feasible view volumes.

Each viewcell is a 3D cuboid in its parameter space. When evaluating a viewcell with a patch, not all sensing constraints are affected by all three parameters of the views. For example, the maximum-range constraint, the vertical-field-of-view constraint, the angle-of- incidence constraint, and the visibility constraint are affected only by the (x, z) coordinates,

and not by the viewing direction ω. Even the new scan sampling densities are affected by (x,

z) but not ω. In this example, only the horizontal-field-of-view constraint is affected by all (x,

z) and ω.

Besides the horizontal-field-of-view constraint, all the other sensing constraints and the new scan sampling densities between a viewcell and a patch can be evaluated similarly as in Section 4.1.3. For the horizontal-field-of-view constraint, the function EvaluateConstraint() returns 1 when the patch is entirely inside all horizontal fields of view represented in the viewcell, and returns 0 when the patch is entirely outside every horizontal field of view in the viewcell. Otherwise, EvaluateConstraint() returns undefined.

It can be seen that it is not necessary to subdivide in all three dimensions when a viewcell is subdivided. For example, if the visibility constraint is the only one causing the viewcell subdivision, it is more efficient to subdivide only in the x and z dimensions. On the other hand, if the horizontal-field-of-view constraint is the only one causing the viewcell subdivision, one may choose to subdivide only in the ω dimension or to subdivide in all three dimensions. Furthermore, ω is of a different entity type from x and z, and the desired subdivision resolution for it may be different from those of x and z. Therefore, it may be possible that the viewcell cannot be subdivided in all three dimensions because ω has reached its highest resolution but x and z have not.

For the above reasons, the data structure of the viewcell hierarchy must be improved to support the subdivision in only a subset of dimensions. A possible solution is to let each non- leaf viewcell to have one, two, or all three of the following groups of children:

(7) Group 1: 4 children; produced by subdivision in the x and z dimensions. (8) Group 2: 2 children; produced by subdivision in the ω dimension.

(9) Group 3: 8 children; produced by subdivision in the x, z and ω dimensions.

During view evaluation, each of the three groups is independently evaluated. However, after all the evaluations, the scores in all three subtrees must be combined, and propagated down from the highest level to the leaves. Although this approach can be more efficient for viewcell evaluation, the memory requirement is higher.

104

Heuristics are also needed to decide whether to subdivide the viewcell or the patch. For example, when EvaluateConstraint() returns undefined for the horizontal-field-of- view constraint, and if the patch can fit entirely inside some horizontal field of view in the set represented by the viewcell, then the viewcell may be chosen to be subdivided, otherwise the patch is chosen.