A combinatorial interpretation of Gaussian blur
Travis Dillon

TL;DR
This paper introduces the collapsing sum, a new combinatorial operator on matrices, providing a novel interpretation of Gaussian blur and establishing explicit relations between the two.
Contribution
The paper presents the collapsing sum operator and its combinatorial properties, offering a new perspective on Gaussian blur in image processing.
Findings
Established a direct relation between Gaussian blur and collapsing sum
Provided combinatorial properties of the collapsing sum operator
Enhanced understanding of Gaussian blur through combinatorial interpretation
Abstract
Gaussian blur is a commonly-used method to filter image data. This paper introduces the collapsing sum, a new operator on matrices that provides a combinatorial interpretation of Gaussian blur. We study the combinatorial properties of this operator and prove the explicit relation between Gaussian blur and the collapsing sum.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsTopological and Geometric Data Analysis · Advanced Image Fusion Techniques · Image Retrieval and Classification Techniques
\newdateformat
daymonthyear\THEDAY \monthname[\THEMONTH] \THEYEAR
A combinatorial interpretation of Gaussian blur
Travis Dillon
(\daymonthyear)
Abstract
Gaussian blur is a commonly-used method to filter image data. This paper introduces the collapsing sum, a new operator on matrices that provides a combinatorial interpretation of Gaussian blur. We study the combinatorial properties of this operator and prove the explicit relation between Gaussian blur and the collapsing sum.
1 Introduction
Image data, and data in general, is often filtered to remove noise, random fluctuations that hide the underlying pattern. For images, one of the most common solutions is to apply Gaussian blur, which smooths the data to remove noise.
Because of its use, there has been much interest in discovering efficient algorithms for Gaussian blur [1, 2, 3]. Waltz and Miller [3] in particular provide a clear example of the ways in which properties of binomial coefficients can be leveraged to create such an algorithm. An analysis of their algorithm in Section 2 leads to the following definitions.
Definition 1.1**.**
Let be a real matrix. If , then the matrix has entries
[TABLE]
If , then the matrix has entries
[TABLE]
Finally, the matrix is the collapsing sum of .
The collapsing sum captures mathematically what Waltz and Miller describe computationally in [3]. In this paper, we establish the connection between the collapsing sum and Gaussian blur and provide a theoretical study of the combinatorial properties of this operator.
Section 3 provides the main combinatorial analysis of the operator. We recast the collapsing sum (and therefore Gaussian blur) in terms of matrix multiplication and define a new class of matrices called coefficient matrices that generalize Gaussian blur. The section culminates in Theorem 3.12, which explicitly describes the connection between the collapsing sum and Gaussian blur.
In the remainder of the paper, we turn to the purely combinatorial properties of this operator; for example, we completely describe the fully-collapsed state of Toeplitz matrices (see Proposition 4.3). Finally, we discuss generalizations of Gaussian blur in connection to Waltz and Miller’s algorithm.
2 Background
As the collapsing sum will be motivated by Gaussian blur, we begin with a description of image filtering. Grayscale images are stored as matrices: Shades of gray are represented as numbers in a particular range (for example, integers from 0 to 255, or real numbers from 0 to 1), and each entry represents a pixel.111Whether 0 represents black or white depends on the application; in printing, 0 represents white, whereas in computing, 0 represents black. We won’t need to pick between these conventions for our purposes. We will consider only grayscale images, but this is not an artificial restriction; the same techniques are used to apply a filter to color images. The data for color images are stored as three separate values of red, green, and blue. Applying a filter to a color image consists of separating the data into three matrices by color type, applying the filter to each, and recombining.
It may be the case that the image contains noise, so that the pixel values are randomly perturbed by environmental factors. Because noise is random, it seems possible to eliminate it by averaging pixel values in the neighborhood of a central pixel. This process is known as filtering.
Filters are applied in a process called convolution. The matrix that represents the filter is called a kernel matrix. Typically, kernel matrices are square with dimensions . The integer is the radius of the filter and controls the size of the neighborhood. For simplicity in the convolution formula, kernel matrices are indexed so that the central entry has coordinates (0,0). Convolving the kernel matrix with an image matrix returns the matrix with entries
[TABLE]
The convolution can be equivalently expressed as
[TABLE]
We require that so that the overall intensity of the image does not change.
As written, however, convolution is not well-defined when is near a boundary of . In these cases, the convolution formula requires values of entries that don’t exist, such as . To fix this problem, we use what are called edge-handling techniques. In this paper, we only consider two common techniques: extending to have values beyond its edges or applying the filter to only those pixels for which convolution is defined (the latter is called cropping).222See https://en.wikipedia.org/wiki/Kernel_(image_processing) for a list of edge-handling techniques. To apply a kernel matrix of radius to all pixels in an matrix , we need to extend by rows and columns on each side, to a matrix of size , where the central block is the matrix . The filter is applied to each pixel in the central block of the enlarged matrix.
If extension is chosen as the edge-handling technique, let denote the corresponding extension of . If cropping is chosen as the edge-handling technique, then set . Applying the filter to with the chosen edge-handling technique is equivalent to applying the filter to with cropping.
The simplest blur filter is the box blur. Let represent the matrix with each entry equal to , and abbreviate by .
Definition 2.1**.**
The kernel matrix for the box blur of radius is .
As a visual example, consider the following image.
The results of applying box blurs with radii of 1, 2, and 3, respectively, to this image are shown below.
One problem with box blurs, especially ones of large radius, is that pixels are weighted the same regardless of their distance from the central pixel. It makes sense to weight closer pixels more heavily than distant pixels: Pixels that are closer to each other will contain more information about each other than those that are farther away. Because of this, the Gaussian blur, which takes this into account, is more commonly used. The values for the Gaussian blur kernel matrix are derived from the two-dimensional Gaussian curve
[TABLE]
where represents the standard deviation of the distribution. Sometimes values are directly sampled from this function, but they are often approximated using binomial coefficients.
Definition 2.2**.**
The kernel matrix of the approximate Gaussian blur with radius has entries, for each , of
[TABLE]
Example 2.3**.**
The kernel matrix for the approximate Gaussian blur is
[TABLE]
Notice that the pixels near the center are weighted highest, and that the values taper off toward the edges. Applying Gaussian blurs of radii 1, 2, and 3, respectively, to our example image from above results in the images below. The images appear smooth, while each individual element of the image remains clear.
Each Gaussian blur kernel matrix can be decomposed into the product of a row vector and a column vector. Since it is much faster to compute smaller convolutions than large ones, Gaussian blur algorithms break the computation into two smaller convolutions: one with the row vector, and one with the column vector.
In [3], Waltz and Miller develop an algorithm for computing Gaussian blur that is more efficient than simple decomposition. The key observation that the authors use is that Gaussian blurs of larger radius can be created through repeated convolution with Gaussian blurs of smaller radius. Their algorithm decomposes the Gaussian blur kernel matrix into a row vector and a column vector, and it decomposes each of these vectors into the repeated convolution of the matrices and , respectively. With a bit of clever programming, Waltz and Miller created an algorithm that runs much faster than one that only uses the decomposition property.
Convolution by the matrices and corresponds to the operations and , respectively. This observation leads to Definition 1.1.
Example 2.4**.**
Take the matrix
[TABLE]
Applying the collapsing operations, we get
[TABLE]
3 Equivalence of Gaussian blur and collapsing sum
In this section, we place the collapsing sum on a matrix-theoretic foundation and explicitly connect it with Gaussian blur via Theorem 3.12.
The following properties of the collapsing sum follow directly from Definition 1.1.
Proposition 3.1**.**
Let and be matrices and be any real number. Then
, 2. 2.
, 3. 3.
, and 4. 4.
**
whenever the operations are defined. The first two statements also hold for and .
Much of the investigation will examine repeated application of the collapsing sum. Let be an matrix. Then , and for each positive integer , we define . The operators and are defined similarly.
Let be the identity matrix and be the Kronecker delta function
[TABLE]
Definition 3.2**.**
We denote by the matrix with entries . For a positive integer , we define as the product . Further, let .
The matrices have ’s on the diagonal and superdiagonal and [math]’s elsewhere. The notation is defined analogously to the falling power notation .
Example 3.3**.**
We have
[TABLE]
and
[TABLE]
Proposition 3.4**.**
Let be an matrix with . Then and .
Proof.
First note that is an matrix. Using the definition of , the entry is
[TABLE]
A quick induction argument shows that . The calculation for the second assertion is similar. ∎
Consequently, .
Proposition 3.5**.**
Let be a positive integer and be a nonnegative integer. Then is an matrix with entries .
Proof.
We proceed by induction. For , the theorem simplifies to the definition of . Now suppose that the theorem holds for some nonnegative integer . Then . Since is an matrix, is an matrix. Further, by writing , we have
[TABLE]
so the formula holds by induction. ∎
We now introduce an object that will facilitate the proof of Theorem 3.12.
Definition 3.6**.**
Let and be nonnegative integers. The coefficient matrix is the unique matrix such that for all matrices . We abbreviate and .
One interpretation of the coefficient matrix uses indeterminates. Let be an matrix of indeterminates; that is, the entries of are distinct symbols, not numbers. The entry of the coefficient matrix is the sum of the coefficients of across all entries of . Thus, one way to think of the coefficient matrix is that its th entry represents the number of times that appears in .
We now work to describe the entries of the coefficient matrices explicitly.
Definition 3.7**.**
Let be an matrix and be the vector in which each entry is . The column sum vector of is , and the row sum vector of is . That is, is the sum of the elements in the th column of , and is the sum of the elements of the th row of .
Lemma 3.8**.**
Let be a matrix of indeterminates and and be matrices such that the product is defined. If is the column sum vector of and is the row sum vector of , then the coefficient of in the formal expression is .
Proof.
Choose any indeterminate . We have
[TABLE]
We obtain the coefficient of by summing only those terms where and . This coefficient is thus
[TABLE]
The left term in this product is , and the right term is . ∎
Proposition 3.9**.**
Let be the column sum vector of and be the column sum vector of . Then .
Proof.
Let be an matrix of indeterminates. Apply Lemma 3.8 to . The row sum vector of is simply the column sum vector of . The sum in Lemma 3.8 is the sum that defines the coefficient matrix, so the th entry of the coefficient matrix is . ∎
Proposition 3.9 implicitly gives the following formula for coefficient matrices.
Corollary 3.10**.**
Let and be positive integers and and be nonnegative integers. The coefficient matrix has entries c_{i,j}=\big{[}\!\sum_{\ell=1}^{m-a}\binom{a}{i-\ell}\big{]}\!\big{[}\!\sum_{\ell=1}^{n-b}\binom{b}{j-\ell}\big{]}.
Proof.
Proposition 3.5 shows that
[TABLE]
A similar calculation holds for . ∎
Corollary 3.11**.**
Let be an matrix. The value of the single entry of the matrix is .
Proof.
Let . Since has a single entry, we have
[TABLE]
by the definition of the coefficient matrix. Corollary 3.10 shows that . ∎
The entries of are determined by the blocks of of size . From this observation, Corollary 3.11 can be used to find the value of any entry in : simply apply the corollary to the submatrix to determine the value of .
Recall that to apply a kernel matrix, we need to specify an edge-handling technique, wherein we extend the matrix to a matrix . Then applying the filter to with the edge-handling technique is equivalent (by definition) to applying the filter to with cropping.
Theorem 3.12**.**
Suppose a matrix and an edge-handling technique yielding the extension of are given. Then for all nonnegative integers .
Proof.
Each entry of corresponds to a block of of size . From equation (1), the value of the entry is
[TABLE]
On the other hand, let be a submatrix of . Applying Corollary 3.11 and then (1) gives
[TABLE]
Theorem 3.12 may be equivalently stated as an equality of operators:
[TABLE]
4 Further properties of the collapsing sum
4.1 Special classes of matrices
Definition 4.1**.**
A Toeplitz matrix is an matrix with the property that whenever . We denote by the Toeplitz matrix with entries .
Example 4.2**.**
The general Toeplitz matrix is
[TABLE]
Toeplitz matrices have applications in a wide variety of pure and applied areas, including representation theory, signal processing, differential and integral equations, and quantum mechanics. Moreover, every matrix can be decomposed as the product of at most Toeplitz matrices [4].
In what follows, we use Toeplitz matrices to slightly simplify the statements of the results.
Proposition 4.3**.**
Let be an Toeplitz matrix. Then is the single entry of .
Proof.
We can decompose the Toeplitz matrix into “stripes”:
[TABLE]
Since by Proposition 3.1 the collapsing sum distributes over addition, we need only consider the case when one is nonzero. Moreover, since , we can restrict to .
Therefore, suppose , so that
[TABLE]
We use the convention that if or . Applying Corollary 3.11 and the binomial symmetry gives
[TABLE]
Applying the well-known identity finishes the proof. ∎
A direct application of Proposition 4.3 yields the following.
Corollary 4.4**.**
The single entry in is the central binomial coefficient .
A similar result holds for coefficient matrices.
Proposition 4.5**.**
The single entry in is .
Proof.
From Corollary 3.11, we have
[TABLE]
Using the identity completes the proof. ∎
Recall that denotes the matrix with each entry equal to .
Proposition 4.6**.**
Let and be nonnegative integers. Then .
Proof.
It follows from Definition 3.6 that the sum of the entries of is equal to the sum of the entries of . Each block of is , so for all and . Since is a Toeplitz matrix, Proposition 4.3 gives
[TABLE]
Noting that has entries completes the proof. ∎
The proof of Corollary 3.11 shows that the Gaussian blur kernel is proportional to the coefficient matrix . Similarly, the box blur kernel is proportional to the coefficient matrix . The constant of proportionality in both cases is , where or , respectively. Thus, the coefficient matrices are a generalization that unite these two filters. That is, the expression provides an interpolation between box blur and Gaussian blur.
4.2 Further connections with Gaussian blur
Waltz and Miller [3] extend their techniques to non-square blurs, that is, Gaussian-like blurs using non-square kernel matrices. These can be defined in parallel to the square Gaussian blurs. If denotes the kernel for the Gaussian blur, then
[TABLE]
Since either or might be even, there may be no central element, so here we index from in the top left corner of the matrix.
The kernel matrix is proportional to the coefficient matrix for a fully collapsed matrix. This extends Theorem 3.12, since convolving with a matrix is equivalent to applying to the extended matrix .
The authors also venture into higher dimensions and discuss higher-dimensional blurs. We can easily transfer this idea to the language of the collapsing sum. Suppose we want to collapse (or, equivalently, blur) an -dimensional array. We can define , for , to be the operator that “collapses” the array in the th direction, akin to the effects of and in two dimensions. Define . Then powers of give the higher-dimensional blur that Waltz and Miler describe. As before, general rectangular blurs are obtained by simply composing the operators for various values of .
4.3 A generalized collapsing sum
Waltz and Miller’s algorithm for Gaussian blur may be extended to an operator that returns weighted sums of entries.
Definition 4.7**.**
Let be an matrix and be an matrix with . Then is an matrix with
[TABLE]
If , then we recover the original collapsing sum. Moreover, if , then , and .
For any matrix of rank , there exist two column vectors and such that . Waltz and Miller’s algorithm may be easily adapted for any rank-1 matrix. Our previous results on the collapsing sum may also be extended to for any (not necessarily square) matrix of rank .
Definition 4.8**.**
Let be a column vector with entries. Let be a column vector with entries. The matrix has entries .
Again, notice that if , then . We define the falling powers of these matrices analogously to those of . A generalized form of Proposition 3.9 holds in that, for any matrix ,
[TABLE]
In particular, if , then
[TABLE]
Similar extensions may be obtained for other results, including the entries of the corresponding coefficient matrices.
5 Conclusion
By introducing the collapsing sum operators, we have provided a new combinatorial way to view Gaussian blur. We established the close connection between these concepts and also established a collection of theoretical results on the collapsing sum.
It would be interesting to study the collapsing sum as a matrix operator in its own right. For example, if is an abelian group and represents the additive group of matrices with entries in , then the collapsing sum is a map from to . What are the combinatorial and algebraic properties of this map?
Acknowledgements
The author would like to thank Samuel Gutekunst for his invaluable guidance and support, as well as Mike Orrison, Elizabeth Sattler, and the anonymous reviewers, whose insightful comments and suggestions greatly increased the quality of this paper.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] D. Charalampidis. Recursive implementation of the Gaussian filter using truncated cosine functions. Transactions on Signal Processing , 64(14):3554–3565, 2016.
- 2[2] E. Elboher and M. Werman. Efficient and accurate Gaussian image filtering using running sums. In 2012 12th International Conference on Intelligent Systems Design and Applications (ISDA) , pages 897–902. IEEE, 2012.
- 3[3] F. Waltz and J. Miller. An efficient algorithm for Gaussian blur using finite-state machines. In SPIE Conference on Machine Vision Systems for Inspection and Metrology VII , pages 334–341, 1998.
- 4[4] K. Ye and L.-H. Lim. Every matrix is a product of Toeplitz matrices. Foundations of Computational Mathematics , 16:577–598, 2016.
