Page 151 -
P. 151

130                                                                       3 Image processing


                                ity to precisely specify derivatives at control points and efficient incremental algorithms for
                                their evaluation (Bartels, Beatty, and Barsky 1987; Farin 1992, 1996). Splines are widely used
                                in geometric modeling and computer-aided design (CAD) applications, although they have
                                started being displaced by subdivision surfaces (Zorin, Schr¨ oder, and Sweldens 1996; Peters
                                and Reif 2008). In computer vision, splines are often used for elastic image deformations
                                (Section 3.6.2), motion estimation (Section 8.3), and surface interpolation (Section 12.3). In
                                fact, it is possible to carry out most image processing operations by representing images as
                                splines and manipulating them in a multi-resolution framework (Unser 1999).
                                   The highest quality interpolator is generally believed to be the windowed sinc function
                                because it both preserves details in the lower resolution image and avoids aliasing. (It is also
                                                   1
                                possible to construct a C piecewise-cubic approximation to the windowed sinc by matching
                                its derivatives at zero crossing (Szeliski and Ito 1986).) However, some people object to the
                                excessive ringing that can be introduced by the windowed sinc and to the repetitive nature
                                of the ringing frequencies (see Figure 3.28d). For this reason, some photographers prefer
                                to repeatedly interpolate images by a small fractional amount (this tends to de-correlate the
                                original pixel grid with the final image).  Additional possibilities include using the bilat-
                                eral filter as an interpolator (Kopf, Cohen, Lischinski et al. 2007), using global optimization
                                (Section 3.6) or hallucinating details (Section 10.3).


                                3.5.2 Decimation

                                While interpolation can be used to increase the resolution of an image, decimation (downsam-
                                pling) is required to reduce the resolution. 15  To perform decimation, we first (conceptually)
                                convolve the image with a low-pass filter (to avoid aliasing) and then keep every rth sample.
                                In practice, we usually only evaluate the convolution at every rth sample,


                                                     g(i, j)=   f(k, l)h(ri − k, rj − l),            (3.80)
                                                             k,l
                                as shown in Figure 3.30. Note that the smoothing kernel h(k, l), in this case, is often a
                                stretched and re-scaled version of an interpolation kernel. Alternatively, we can write

                                                            1
                                                    g(i, j)=    f(k, l)h(i − k/r, j − l/r)           (3.81)
                                                            r
                                                              k,l
                                and keep the same kernel h(k, l) for both interpolation and decimation.
                                   One commonly used (r =2) decimation filter is the binomial filter introduced by Burt
                                and Adelson (1983a). As shown in Table 3.3, this kernel does a decent job of separating
                                the high and low frequencies, but still leaves a fair amount of high-frequency detail, which
                                can lead to aliasing after downsampling. However, for applications such as image blending
                                (discussed later in this section), this aliasing is of little concern.
                                   If, however, the downsampled images will be displayed directly to the user or, perhaps,
                                blended with other resolutions (as in MIP-mapping, Section 3.5.3), a higher-quality filter is
                                 15
                                   The term “decimation” has a gruesome etymology relating to the practice of killing every tenth soldier in
                                a Roman unit guilty of cowardice. It is generally used in signal processing to mean any downsampling or rate
                                reduction operation.
   146   147   148   149   150   151   152   153   154   155   156