  We propose a novel iterative method for optimally placing and orienting
multiple cameras in a 3D scene. Sample applications include improving the
accuracy of 3D reconstruction, maximizing the covered area for surveillance, or
improving the coverage in multi-viewpoint pedestrian tracking. Our algorithm is
based on a block-coordinate ascent combined with a surrogate function and an
exclusion area technique. This allows to flexibly handle difficult objective
functions that are often expensive and quantized or non-differentiable. The
solver is globally convergent and easily parallelizable. We show how to
accelerate the optimization by exploiting special properties of the objective
function, such as symmetry. Additionally, we discuss the trade-off between
non-optimal stationary points and the cost reduction when optimizing the
viewpoints consecutively.
