Graphics Reference
In-Depth Information
are “likely to be background” and large areas that are “likely to be foreground,”
and some pixels that are ambiguous. The system then tries to find a partition of
the image into foreground and background regions with two goals.
1. Pixels that are more likely to be foreground than background are generally
labeled as foreground, and similarly for background.
2. Adjacent pixels tend to have the same labels.
These goals allow the system to assign a score to a partition, which in turn means
that finding the best partition is an optimization problem. The optimization can
be framed as an instance of the min-cut problem, for which approximation algo-
rithms have recently been developed [BJ01]. The system finds an optimal parti-
tion, rebuilds the foreground and background models based on the new partition,
and repeats the operation until the result stabilizes. (The algorithm also handles
subpixel partitioning through local estimates of mixtures of foreground and back-
ground, but those details are not important here.)
The end result is that the user need only express rather general intent (“separate
stuff like this from stuff like that ”) to accomplish a rather difficult task. (Actually
drawing outlines around foreground elements in programs like Photoshop with
more basic tools, or even “smart scissoring” tools, is remarkably time-consuming.)
The Grabcut approach has been improved upon with a “scribbling” interface,
in which the user scribbles over some typical background regions, then changes
modes and scribbles over some typical foreground regions. The scribbled-on pix-
els are used to create the foreground and background statistical models. In situa-
tions where making a close outline of the foreground may be difficult (e.g., a gray
octopus on a coral bed), it may still be easy to mark a large group of representative
pixels (e.g., by scribbling on the octopus body rather than its arms).
Grabcut has its own advantages, however: If the foreground object is one per-
son in a crowd, the enclosing curve in Grabcut can help prevent other people with
similar skin tones from being included in the foreground, as they might be with
the scribbling interface.
Object
(sphere)
Camera
21.8 Discussion and Further Reading
Camera path
While the techniques we've discussed in this chapter provide nice illustrations of
the use of linear algebra and geometry in the manipulation of objects and views,
they are merely a starting point. There are other camera-manipulation approaches
(such as allowing the user to control pitch, yaw, and roll about the camera itself),
which, while easy to understand, can easily lead to disorientation; in a sparsely
populated world—a geometric modeling system in which you're crafting one
object, for instance—it's easy to rotate the camera to “look at nothing,” and then
have trouble refinding the object of interest. Similarly, it can be easy to zoom or
dolly so far out that the object of interest is subpixel in size, or so far in that the
entire view is covered by a single tiny part of the object, rather like standing with
your nose against the outside of a building. Fitzmaurice et al. [FMM + 08] describe
a suite of tools intended to assist with “safe” navigation in a 3D CAD environ-
ment, navigation in which natural camera motions avoid the look-at-nothing and
excessive-zoom problems and a host of others as well. Khan et al. [KKS + 05]
describe the HoverCam, a camera manipulator that maintains a constant distance
from an object of interest (see Figure 21.16).
Object
(cube)
Camera
Camera path
Figure 21.16: The hovercam
moves the camera in a way that
maintains constant distance from
an object of interest. (Courtesy
of Azam Khan, ©2005 ACM, Inc.
Reprinted by permission.)
 
 
 
Search WWH ::




Custom Search