  A rectangle blanket is a set of non-overlapping axis-aligned rectangles, used
to approximately represent the two dimensional image of a shape approximately.
The use of a rectangle blanket is a widely considered strategy for speeding-up
the computations in many computer vision applications. Since neither the
rectangles nor the image have to be fully covered by the other, the blanket
becomes more precise as the non-overlapping area of the image and the blanket
decreases. In this work, we focus on the rectangle blanket problem, which
involves the determination of an optimum blanket minimizing the non-overlapping
area with a given image subject to an upper bound on the total number of
rectangles the blanket can include. This problem has similarities with
rectangle covering, rectangle partitioning and cutting / packing problems. The
image replaces an irregular master object by an approximating set of smaller
axis-aligned rectangles. The union of these rectangles, namely, the rectangle
blanket, is neither restricted to remain entirely within the master object, nor
required to cover the master object completely. We first develop a binary
integer linear programming formulation of the problem. Then, we introduce four
methods for its solution. The first one is a branch-and-price algorithm that
computes an exact optimal solution. The second one is a new constrained
simulated annealing heuristic. The last two are heuristics adopting ideas
available in the literature for other computer vision related problems.
Finally, we realize extensive computational tests and report results on the
performances of these algorithms.
