Download Minimum Bounding Boxes

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
Transcript
MINIMUM BOUNDING BOX
Esten Rye
University of Minnesota
Undergraduate Computer Science
SYNONYMS
MINIMUM BOUNDING RECTANGLE (MBR)
ROTATED MINIMUM BOUNDING BOX (RMBB)
DEFINITION
A minimum bounding box (MBB) is the smallest enclosing rectangle of an object
aligned to a set of axis. It is represented by 4 parameters corresponding to the (x,
y) coordinates in space that define the lower left and upper right vertices of its
perimeter. Its variant, the rotated minimum bounding box can be represented by
adding an additional parameter to store the rotational information.
Figure 1. A minimum bounding box for a complex planar object.
The minimum bounding box is most predominantly used as an approximation
object in spatial indexes like the R-Tree and its variants. It is also used quite
frequently in the areas of object intersection and collision detection.
HISTORICAL BACKGROUND
The minimum bounding box was first introduced as an approximation tool for
spatial indexing by Guttman in [2]. Guttman’s idea was to have each index
record in a leaf node of an R-Tree be identified by the smallest enclosing
rectangle that spatially contains the n-dimensional data object and a pointer to the
file containing the actual representation of the object. It has since become one of
the most frequently used approximation techniques for spatial indexes.
The reason for its popularity is its simple representation. It only requires two
points to represent a minimum bounding box, whereas the object the minimum
bounding box represents may be many orders of magnitude more complex. Many
spatial data structures have been developed to take advantage of minimum
bounding box approximations. The most common are the R-Tree and its
variations.
SCIENTIFIC FUNDAMENTALS
Minimum bounding boxes are designed to be a general, intuitive approach to
approximating a complex object. This allows them to be applied to a number of
problems from varying disciplines.
The exact algorithm for computing a minimum bounding box in two dimensions
is as follows:
Given:
 A set of points P in the plane.
Begin:
 Compute the Complex Hull C of the Set of Points P
using the Graham Scan Method. O(n log n)
 Rotate two sets of two parallel lines that are
perpendicular to each other around C. The first set
of lines must touch the boundary of C.
 Repeat the previous step until the Minimum Area
Bounding Box is found. O(n)
End
Algorithm 1. Computing the Minimum Bounding Box [12]
A Convex Hull is a minimal convex set of points that contain an n-dimensional
data object and can be computed by using the Graham Scan Method. The method
is named after Ronald Graham who first published the algorithm in 1972 [3]. The
algorithm appears below in Algorithm 2.
Given:
 A set of points P in the plane.
Begin:
 Find the lowest y-coordinate.
 If there is a tie, find the lowest x-coordinate.
 Store this point as p.
 Sort the points in P by increasing order of the angle
points p and p’ make with the X-axis.
 For each point p’ in P
o Determine from the two previous points m and n
whether adding p’ makes a left turn or right
turn.


End
o If adding point p’ makes a right turn, remove
point n from consideration.
o Otherwise, continue.
End For
Return the completed Path
Algorithm 2. Graham Scan Method [13]
Computing the Convex Hull C of the point set P is the most computationally
intensive part of Algorithm 1 and therefore it dominates the runtime. One
important aspect of the minimum bounding box that works in our favor is the
requirement that one edge be flush with the Convex Hull C. In other words, one
edge of C must lie on one of the edges of the minimum bounding box. This
property limits the number of possible rotations to n. Therefore a minimum
bounding box in two-dimensional space can be calculated in O(n log n) time.
The exact algorithm for computing a minimum volume bounding box in three
dimensions is as follows
Given:
 A set of points P in IR3 space
Begin:
 Compute the Complex Hull C of the point set P
 For each pair of edges (e1, e2)
o Compute the minimum bounding boxes b1 and b2 with edges
e1 and e2 flush with C.
 End For
End
Algorithm 3. Computing the Minimum Bounding Volume Box [12]
In this algorithm, the for-loop is the dominating factor of the complexity. For
each edge there are 3 two-dimensional planes in which the minimum bounding
boxes can be placed. Each minimum bounding box has n possible rotations,
giving us an overall complexity of O(n3) running time to find a minimum volume
bounding box in three dimensions.
Minimum bounding boxes are often used as a quick filter in range queries to
avoid unnecessary and costly computations. As an illustration, consider the range
query, ‘Find all the objects which lie in their entirety in a specified disc’, applied
to the objects shown in Figure 2. [1]
Figure2. Using minimum bounding boxes for a range query.
It is easy to see that object A is automatically in our result set because its
minimum bounding box is completely contained within the given circle. We can
also rule out object D being part of the result set because its minimum bounding
box is located completely outside the given query circle. Our work for objects A
and D is done and no more computations are performed on these objects. Boxes
B and C are not wholly inside or wholly outside the given circle, so we cannot
make any assumptions as to whether the objects they represent are in the result set
or not. These objects are retrieved for further calculations to determine whether
the objects are wholly contained within the given circle before the final result is
returned.
KEY APPLICATIONS
Minimum bounding boxes have uses in many application domains.
Spatial Network/Geographical Information Systems
Minimum bounding boxes are the basis for many spatial access methods and data
structures. In spatial access methods, like the spatial range query above, the
minimum bounding box acts as a simple heuristic that minimizes the amount of
computational work needed to return the result. Spatial Data Structures, like the
R-Tree, use minimum bounding boxes to minimize the size of the tree by taking
advantage of the reduced representation complexity offered by the minimum
bounding box.
R-Tree
The R-Tree is a spatial index structure that is an extension of the B-Tree in k
dimensions. Its leaf nodes are the minimum axis-aligned bounding box
containing the n-dimensional data object being indexed. Each parent node is the
minimum axis-aligned bounding box that encloses all the bounding boxes of its
leaf nodes. An example of nesting of minimum bounding boxes is shown in
Figure 3. .
Figure 3. An example R-Tree.
The R-Tree is not concerned with minimizing the overlap of parent nodes. It is
more concerned with minimizing the overall area of the minimum bounding
boxes of the parent nodes. When we insert a new node into the tree, the R-Tree
traverses the tree to find the leaf node that requires the least amount of
enlargement to include the new node. This process provides us with a tree of
nested minimum bounding boxes. To search this tree we provide the search
algorithm with a box representing the range we wish to search. The result space
is first pruned to eliminate the boxes that are wholly inside or outside of the
querying rectangle. Boxes wholly contained within the rectangle are
automatically reported. Boxes that intersect the querying rectangle, but are not
wholly contained within the querying rectangle, are further examined using the
actual object representation. Objects that are found to intersect the querying
rectangle are then reported. This structure, laid out by Guttman in [3], has been
built upon by many other spatial access methods and has helped further the
popularity of the minimum bounding box as a heuristic and approximation tool.
R+-Tree
The R+-Tree is an extension of the R-Tree. Like the R-Tree, the R+-Tree also uses
axis-aligned minimum bounding boxes for its leaf nodes. However, it differs from
the R-Tree in its implementation of the parent nodes. The main idea behind the
R+-Tree is to have zero overlap of the parent nodes. To do this, the R+-Tree
allows partitions to split the intermediate bounding boxes. An example of the use
of minimum bounding boxes in the R+-Tree is shown in Figure 4.
Figure 4. An Example of an R+-Tree.
The advantage gained by the R+-Tree’s constraint that the minimum bounding
boxes cannot overlap is that queries do not suffer the excess overhead of
traversing a tree that does not have any results in the querying rectangle. This
was a significant improvement over the R-Tree’s implementation.
R*-Tree
The R*-Tree is yet another extension of the R-Tree. In his paper [4], Beckmann
lists four parameters he believes are essential for retrieval performance which
become the focus of the R*-Tree. Three of these parameters are directly related to
the R*-Tree’s use of minimum bounding rectangles. As with the R-Tree, he agrees
the area covered by the minimum bounding rectangles of the parent nodes should
be minimized. However, unlike the R-Tree, the R*-Tree also tries to limit the
overlap of the parent node’s MBRs. This provides an increase in retrieval
performance by reducing the number of paths that must be traversed to find the
result. Finally, the R*-Tree further differs from the R-Tree and R+-Tree in how it
uses minimum bounding rectangles by limiting the perimeter. It achieves this by
using more quadratic bounding rectangles, allowing the insertion algorithm to
better pack the objects into the parent node’s minimum bounding rectangles.
Manufacturing/Hardware Design
Designs for circuit boards are typically done on computers. Every component
that is attached to the circuit board takes up a finite amount of space. Because
each of these components has a complex size, minimum bounding boxes are used
to approximate the area taken by the component. In this case two intersecting
minimum bounding boxes mean a component is being placed on top of another
component. The minimum bounding box again acts as a heuristic to eliminate
designs that can’t possibly be implemented.
Computer Graphics
Minimum bounding boxes are often used for collision detection in this discipline.
Again, the minimum bounding box is being used as a heuristic filter. Imagine
running a billiards simulation. Each of the n billiards on the table could
potentially collide. Instead of checking every point of every billiard to see if it
collided with another billiard, we can enclose each billiard in a minimum volume
bounding box and search for intersections between minimum bounding boxes.
The minimum bounding boxes that intersect contain the billiards that are most
likely to collide, effectively pruning the number of calculations we have to
consider before repainting the simulation.
FUTURE DIRECTIONS
One of the common problems with current minimum bounding box based spatial
access methods is the growing storage overhead of the spatial structure as the
number of dimensions increases. [6] These larger structures require a larger
number of pages than spatial structures of lower dimensionality. This causes a
degradation of retrieval performance in a search due to the increased number of
page accesses.
One solution to this problem is the minimum bounding box based spatial access
method called the QSF-Tree, presented in [6]. The main idea behind the QSFTree is to use the partitioning approach of a point access method without
incurring an overlap. The QSF-Tree’s structure is designed to effectively attack
the conceptual problems of spatial access methods today. It eliminates the
problems of over-lapping region schemes while also successfully avoiding the
pitfalls of object transformation and clipping. The QSF-Tree’s demonstrated
ability to scale to an increasing dimensionality of spatial data clearly shows it
represents an important step towards the solution to the problem of data
dimensionality; however, because it is a MBR based spatial access method it is
still vulnerable to the problems of selectivity and structural degradation. The
authors of [6] plan to continue investigating this problem for effective ways to
attack these and other problems of spatial access methods in higher-dimensional
spaces.
CROSS REFERENCES
R-Trees, R+-Trees, R*-Trees
Spatial Access Methods
Convex Hull
RECOMMENDED READING
[1] Worboys, Michael. GIS, A Computing Perspective. London; Bristol, PA:
Taylor & Francis, 1995., pgs 271-2
[2] Guttman, Antonin. "R-Trees: A Dynamic Index Structure for Spatial
Searching". Proceedings of the 1984 ACM SIGMOD International
Conference on Management of Data 1984: 47-57
[3] Graham, R.L. An Efficient Algorithm for Determining the Convex Hull of a
Finite Planar Set. Information Processing Letters 1, 1972, 132-133
[4] Beckman, Norbert, et al. "The R*-Tree: An Efficient and Robust Access
Method for Points and Rectangles". Proceedings of the 1990 ACM
SIGMOD International Conference on Management of Data 1990: 322-331.
[5] Sellis, Timos, et al. "The R+-Tree: A Dynamic Index for Multi-Dimensional
Objects". Proceedings of the 13th VLDB Conference, Brighton 1987 1987:
507-518.
[6] Orlandic, Ratko et al.. "A Study of MBR-Based Spatial Access Methods:
How well They Perform in High Dimensional Spaces". Database
Engineering and Applications Symposium, 2000 International 2000: 306315.
[7] Papadias, Dimitris et.al. "Topological Relations in the World of Minimum
Bounding Rectangles: A Study with R-Trees". Proceedings of the 1995
ACM SIGMOD International Conference on Management of Data 1995: 92103.
[8] Brinkhoff, Thomas et. al. "Comparison of Approximations of Complex
Objects Used for Approximation-based Query Processing in Spatial
Database Systems". Data Engineering, 1993. Proceedings. Ninth
International Conference on 19-23 Apr 1993: 40-49.
[9] Zhou, Yunhong et. Al. “Algorithms for Minimum Volume Enclosing
Simplex in R3”, Proceedings of the Eleventh Annual ACM-SIAM
Symposium on Discrete Algorithms, 2000, 500-509
[10] Zhou, Yunhong et. al. "Analysis of a Bounding Box Heuristic for Object
Intersection". Journal of the ACM November 1999: 833-857.
[11] Samet, Hanan. "Hierarchical Representations of Collections of Small
Rectangles". ACM Computing Surveys December 1988: 271-309.
[12] Har-Peled, Sariel. "Approximating the Minimum Volume Bounding Box of
a Point Set". October 15, 2006
<http://valis.cs.uiuc.edu/~sariel/teach/notes/aprx/lec/13_mvbb.pdf>
[13] Wikipedia. “Graham Scan” October 15, 2006
<http://en.wikipedia.org/wiki/Graham_scan>