An Approach Towards Fast Gradient
Transcription
An Approach Towards Fast Gradient
IEEE TRANSACTIONS ON IMAGE PROCESSING, 2015 1 An Approach Towards Fast Gradient-based Image Segmentation Benjamin Hell*, Student Member, IEEE, Marc Kassubeck, Pablo Bauszat, Martin Eisemann, Marcus Magnor, Senior Member, IEEE Abstract—In this paper we present and investigate an approach to fast multi-label color image segmentation using convex optimization techniques. The presented model is in some ways related to the well-known Mumford-Shah model, but deviates in certain important aspects. The optimization problem has been designed with two goals in mind: The objective function should represent fundamental concepts of image segmentation, such as incorporation of weighted curve length and variation of intensity in the segmented regions, while allowing transformation into a convex concave saddle point problem that is computationally inexpensive to solve. This paper introduces such a model, the nontrivial transformation of this model into a convex-concave saddle point problem, and the numerical treatment of the problem. We evaluate our approach by applying our algorithm to various images and show that our results are competitive in terms of quality at unprecedentedly low computation times. Our algorithm allows high-quality segmentation of megapixel images in a few seconds and achieves interactive performance for low resolution images. Index Terms—unsupervised image segmentation, convex optimization I. I NTRODUCTION T HE importance of grouping performed by the human visual system has been evident at least since the Gestalt movement in psychology [1]. Not surprisingly, grouping is also considered essential for a wide range of computational vision problems. For instance, intermediate-level vision problems such as stereo or motion estimation benefit from appropriate region support for correspondence estimation. Higher-level problems, such as image indexing [2], foreground-background separation [3], or recognition by parts [4] can also benefit from a useful segmentation of the image. The problem of image segmentation and grouping is, therefore, a long-standing challenge in computer vision. In 1989, Mumford and Shah introduced their famous image model [5] and showed how it can be applied to many segmentation problems. Unfortunately, it is highly non-linear and cannot be easily optimized. Existing convex approaches typically suffer from high computational costs, especially when separating into many distinct regions. In this paper, we propose a model incorporating all the basic aspects of the gradient-based Mumford-Shah approach while maintaining an easy and efficiently-to-handle convex saddle point structure to enable fast computation. Our work is inspired Copyright (c) 2015 IEEE. Personal use of this material is permitted. However, permission to use this material for any other purposes must be obtained from the IEEE by sending a request to [email protected]. Authors are with the Computer Graphics Lab at TU Braunschweig, Germany. Please see http://graphics.tu-bs.de/people/ for contact. Fig. 1. High Resolution Image Segmentation. Using the CUDA implementation of the presented algorithm, a megapixel image (top left) is segmented in 8 regions (top right) in about 3 seconds, while a quarter megapixel image (bottom left) can be segmented in 3 regions (bottom right) in a fraction of a second. by the seminal previous work on the Mumford-Shah functional by Alberti et. al. [6] and the works of Pock et. al [7] and Strekalovskiy et. al. [8], which build upon Alberti’s investigations. In Section II we introduce our model by considering the binary segmentation case. We derive its unique saddle point representation and present non-trivial extensions that allow for multi-region segmentation and proper color information treatment. In Section III, we show how a primal-dual convex optimization algorithm can be applied to solve the saddle point problem. To efficiently treat multi-region segmentation, we introduce a very fast, approximative projection scheme in Section III-C. We conclude with an evaluation of our approach and compare our results to other state-of-the-art techniques. A. Related Work Major contributions to image segmentation and similar problems have been made by Mumfurd-Shah in [5] and by research on active contours [9]–[11]. These approaches have in common, that they are non-convex, hence it is in general difficult to obtain a global optimum. Their numerical method of choice IEEE TRANSACTIONS ON IMAGE PROCESSING, 2015 to obtain a local optimal solution is the level set method. Later on researchers turned to convex problems which lead to expectation maximization approaches and considered convex relaxations for the piecewise-constant Mumford-Shah model [12], [13] as well as the scalar piecewise smooth MumfordShah model [7], which incorporates ideas closely related to the transformation process used in this paper and is based on [6]. Our goal is to make use of aspects, that are relevant for image segmentation, without the need of involving the entire graph of a function that corresponds to the optimal solution of the problem. This way, at the cost of not being able to use our approach for image smoothing techniques, we do not have to introduce an additional dimension to the problem, leading to faster computation times. We also use directional information obtained from a segment’s boundary normal, a topic which has also been touched in [14]. Another challenge is the extension of binary segmentation techniques to multi-region segmentation. In this regard, prior work most closely related to ours is [15], [16] and, most of all, [12]. The latter paper also contains summaries on crucial facts about projection algorithms that play an essential role in convex multi-region segmentation. In contrast to [12] this paper introduces a vastly different and novel image segmentation model and a very fast projection scheme, which is essential for achieving short computation times while maintaining a high quality segmentation output. Fast first order primal-dual algorithms for convex optimization problems relevant to this work have also been investigated in [17], [18] and [19]. B. Contributions Overall this paper makes the following contributions: ● ● ● ● ● ● We introduce a unique model that shows resemblance to the famous Mumford-Shah functional and can be transformed into an easy-to-handle, convex saddle point problem without introducing additional dimensionality. We show how this model can be transformed into its unique saddle point representation. We show how to exploit a well established primaldual convex optimization algorithm to obtain the unique solution of the saddle point problem. To calculate projections onto the specific convex sets that evolve naturally from the introduced model and the specific application of the first order primal-dual algorithm, we introduce a very fast, approximative projection scheme. The introduced model is flexible and can be adjusted to quite some degree. The presented ideas can be applied to a wide class of optimization problems and are not restricted to the form of the model presented in this paper. The presented problem can be solved without introducing any additional dimensionality. Together with a very fast projection algorithm this leads to very fast computation times, which is one of the major benefits of our approach. 2 I∶ ⟨.,.⟩X ∶ ∥.∥p ∶ ∂∶ D∶ ∇∶ ˜∶ ∇ Ω ⊂ Rn ∶ BV ∶ V∶ Φ∶ l∶ k∶ image intensity (scalar respectively color vector) inner product on Hilbert space X p-norm boundary (on sets) resp. differential operator weak derivative gradient vector discrete gradient vector rectangular domain of the given picture space of functions of bounded variation convex restriction set of the primal variable convex restriction set of the dual variable number of image channels k + 1 is the number of segments II. M ODELING P ROCESS This section introduces the optimization model that will be investigated throughout this paper. For convenience, we start with presenting the binary segmentation case first (Section II-A) and consider the extension to the multi-region case afterwards (Section II-C). Also, we will focus on basic color image treatment first and will offer an extension of the model to treat intensity gradients for each color channel individually later on. From a modeling perspective, both extensions are straightforward but involve some technical difficulties that need to be overcome. All our observations hold true for arbitrary domain dimension n; for standard 2D image segmentation we have n = 2. A. The Novel Binary Segmentation Model We first consider a rather general form of a binary image segmentation model. To label the occurring segments we use an indicator function v ∶ Ω → {0,1} which operates on the image domain Ω. The space of all these binary functions will be called V˜ ∶= {v ∣ v ∶ Ω → {0,1}}. Jv is the jump set of the binary function v which represents the boundary of the individual image segments. Hn−1 represents the n−1-dimensional Hausdorff-measure. For dimension n = 2 (2D image segmentation), this n−1-dimensional measure corresponds to curve length measurement. The general form of our binary model is then given by inf v∈V˜ ∫ ∥DI(x)∥2 dx + Ω/Jv ´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¸ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¶ intensity variation on segments 2 λ1 ∫ ∥d(x)−νJv(x)∥2 dHn−1 +λ2∫ g(x)dHn−1 + Jv ´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶ directional deviation Jv ´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶ (1) weighted boundary length λ3 ∫ (1−v(x))ρ1 (x)+v(x)ρ2 (x)dx Ω ´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¸ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶ image data C. Notation and Abbreviations The following notation will be used throughout the whole paper. λ1 ,λ2 ,λ3 ∈ R are scalar weights to balance the individual terms in the objective function, in essence controlling their respective influence. In the following we will explain and IEEE TRANSACTIONS ON IMAGE PROCESSING, 2015 Fig. 2. Approximation in the discrete setting The figure shows the exact boundary (blue line) and its discrete approximation (red blocks). As the calculation eventually takes place on an equidistant grid (pixel grid in the 2D case), we can approximate the integral ∫Ω/Jv ∥DI(x)∥2 dx (integration ˜ without blue curve) via subtracting ∫Jv ∥∇I(x)∥ 2 dx (integration red boxes) ˜ ˜ is the numerical approximation of the image from ∫Ω ∥∇I(x)∥ 2 dx. ∇I gradient vector and Jv the jump set of the binary function v, which corresponds to the boundary (cf. (3) and (4)). 3 incides with the ability to transform a relaxed version of the problem into a convex saddle point problem. Alberti et. al. [6] show that this is possible for the Mumfurd-Shah functional [5]. Unfortunately, the saddle point problem can only be obtained by extending the solution space by one additional dimension. This leads to high computational costs for obtaining an optimal solution numerically because a higher dimensional space has to be discretized. In contrast, our approach works directly with image gradients (cf. the intensity variation term) and without any similarity to the initial image term like the beforementioned Mumford-Shah functional. Hence, we are able to preserve the dimensionality of the solution space by transforming problem (1) first and obtaining a convex saddle point representation for this problem afterwards in Section II-B. The only term that needs to be modified is the intensity variation term ∫Ω/Jv ∥DI(x)∥2 dx. We assume I ∈ BV, so according to Appendix A we have the following decomposition of the distributional derivative DI: motivate the individual terms of the objective function above. intensity variation on segments: This term essentially penalizes any large deviation of intensity values on each segment, ignoring intensity changes that occur at a segment’s boundary, which is described by the jump set Jv . A similar term can, for example, be found in the Mumford-Shah functional [5]. Note that Jv is a null set with respect to the n-dimensional Hausdorff measure on Ω. DI has to be understood as the distributional derivative of the intensity I, which we assume to be a function of bounded variation and to exhibit discontinuities on the jump set Jv . This way the exclusion of the null set Jv in the set Ω/Jv makes sense and cannot be omitted. DI = ∇I +CI +(I + −I − )νI dHn−1 ⌞JI From this representation it immediatelly follows: ∫ ∥DI(x)∥2 dx = ∫ ∥DI(x)∥2 dx− ∫ ∥DI(x)∥2 dx = Ω Ω/Jv weighted boundary length: This term penalizes large boundary measure and additionally weighs the penalization at each point x by g(x) > 0, an idea also occurring in edge-based segmentation approaches [11]. There are lots of meaningful choices for a weighting function g(.), such as ideas from geodesic active contours [11]. For one possible choice see Section II-E. image data: This term serves as a regularizer and involves the data terms ρi (x). Essentially, ρi (x) yields an image data related cost of assigning label i at point x. For a specific choice of ρi see Section II-E. Without this image data term, v ≡ const. on Ω, i.e. the jump set Jv is empty and no segmentation takes place, would tend to be the optimal solution of problem (1), which has to be avoided. Problem (1) has been designed with the purpose of obtaining the solution while minimizing computational effort. This co- Jv + − n−1 ∫ ∥DI(x)∥2 dx− ∫ (I (x)−I (x))dH Ω (3) Jv ˜ as the numerical derivative In a discrete setting, i.e. with ∇I and calculation taking place on a equidistant grid, we get + − n−1 ≈ ∫ ∥DI(x)∥2 dx− ∫ (I (x)−I (x))dH Ω directional deviation: νJv is the inner unit normal to the boundary of the set {x ∶ v(x) = 1}. The boundary itself coincides with the jump set Jv . In (9) we will see that this normal vector is closely related to the distributional derivative of the indicator function v. d(x) represents a suggestion for the unit normal vector of the boundary passing through x. We will use the normalized image gradient for d(x) later on (cf. Section II-E). Direction-based terms, though with a different intention, have also been used in [14]. (2) Jv n−1 ˜ ˜ 2 dx− ∫ ∥∇I(x)∥ 2 dH ∫ ∥∇I(x)∥ Ω (4) Jv which is visualized in Figure 2. Substituting (3) into (1) and making use of the fact that the term ∫Ω ∥DI(x)∥2 dx has no influence on the optimal argument of the whole optimization problem we arrive at the final version of our binary segmentation model: 2 inf λ1 ∫ ∥d(x)−νJv(x))∥2 dHn−1 + v∈V˜ Jv + − n−1 ∫ λ2 g(x)−(I (x)−I (x)) dH + Jv ´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶ f (x,λ2 )=f (x)∶= (5) λ3 ∫ (1−v(x))ρ1 (x)+v(x)ρ2 (x)dx Ω B. Transformation into Saddle Point Problem One essential property of the optimization problem (5) is that it can be rewritten as a convex-concave saddle point (min/max) problem by introducing additional dual variables and relaxing the set V˜ . This property will be essential for obtaining the optimal solution from an analytical and numerical standpoint. We make use of a similar technique as the one presented in [6] by Alberti et. al. for the Mumford-Shah functional. Note IEEE TRANSACTIONS ON IMAGE PROCESSING, 2015 4 that the approximation process, and hence the particular optimization problem (5), can be transformed into the saddle point problem without introducing an additional dimensionality as in the Mumford-Shah case (cf. [6]). Another deviation from Alberti’s work, and at the same time the key to obtaining the saddle point formulation, is the derivation of an appropriate restriction set Φ for the dual variable. −2λ1 d(x) with radius f (x)+λ1 (1+∥d(x)∥22 ). To do so, we take a look at the possible radius: Theorem 1 (Curve Integral Representation). and C(x) being the supposed to be center of the circle. Substituting into (13) we obtain 2 n−1 = ∫ λ1 ∥d(x)−νJv(x)∥2 +f (x,λ2 )H Jv φ∈Φ with φ(x) being on the line described by 2 ⟨φ(x),η(x)⟩ = f (x)+λ1 ∥d(x)−νJv(x)∥2 2 with Φ being the convex restriction set for the dual variable φ given by: Φ = {φ ∈ C0∞ (Ω)n ∶ ∥φ(x)+2λ1 d(x)∥2 ≤ f (x)+λ1 (1+∥d(x)∥22 ), x ∈ Ω} (7) Proof. Let η(x) ∈ R2 be an arbitrary unit vector, i.e. ∥η(x)∥2 = 1. Let us further define a half space dependent on η(x) by Hη(x) ∶= {φ(x) ∈ Rn ∶ ⟨φ(x),η(x)⟩ ≤ 2 f (x)+λ1 ∥d(x)−η(x)∥2 } (8) We now turn to one of the most important facts for this proof, a general form of the coarea formula, also used in [6], which is according to Appendix A - a special case of the decomposition of a function of bounded variation: Dv = νv ⋅Hn−1 ⌞Jv (9) with Hn−1 being the n−1-dimensional Hausdorff measure, i.e. curve length measure in the 2D case, and νJv being the inner unit normal vector to the boundary of the set {x ∶ v(x) = 1}. With these results from measure theory we obtain for φ ∈ C0∞ (Ω)n : n−1 ∫ ⟨φ(x),Dv(x)⟩ = ∫ ⟨φ(x),νJv(x)⟩dH (10) (14) (15) If we choose C(x) = −2λ1 d(x), we obtain R(x) = f (x)+λ1 (1+∥d(x)∥22 ) Ω Ω (13) R(x) = f (x)+λ1 ∥d(x)−η(x)∥2 −⟨C(x),η(x)⟩ (6) sup ∫ ⟨φ(x),Dv(x)⟩ R(x) ∶= ⟨φ(x)−C(x),η(x)⟩ (16) which is independent of η(x). Remarks ● At each point x the set Φ describes a circle around center −2λ1 d(x) with radius f (x)+λ1 (1+∥d(x)∥22 ). ● The radius of the circle has to be positive for equality (6) to hold. In practice, this can be easily achieved at any point x by choosing suitable parameters λ1 , λ2 and an appropriate weighting function g(x). As the value of λ1 has, in general, only little impact on the final segmentation result, this does not pose any serious restriction. ● It is possible to choose negative values for f (x). This is an interesting property of the model. Essentially, f (x) < 0 forces the boundary to pass through point x. Using Theorem 1, the optimization problem (5) can be rewritten as: inf sup ∫ ⟨φ(x),Dv(x)⟩+ v∈V˜ φ∈Φ Ω λ3 ∫ (1−v(x))ρ1 (x)+v(x)ρ2 (x)dx (17) Ω with V˜ ∶= {v ∶ Ω → {0,1}}. Convex relaxation of V˜ into V ∶= {v ∶ Ω → [0,1]} makes (17) a convex-concave saddle point problem, which will be considered throughout the rest of this paper: Jv Recall that ∥νJv(x)∥2 = 1. So the following equality holds true: ∫ 2 λ1 ∥d(x)−νJv(x)∥2 +f (x)dHn−1 = Jv sup ∫ ⟨φ(x),Dv(x)⟩ φ∈Φ Ω λ3 ∫ (1−v(x))ρ1 (x)+v(x)ρ2 (x)dx (11) (18) Ω with Φ defined in (7). ˜ φ∈Φ Ω ˜ is the space of all C ∞ (Ω)n -functions, which, evaluwhere Φ 0 ated at a certain point x, lie in the intersection of all possible half spaces defined by (8): ˜ ∶= {φ ∈ C0∞ (Ω)n ∶ φ(x) ∈ Hη(x) ,∥η(x)∥2 = 1,x ∈ Ω} Φ inf sup ∫ ⟨φ(x),Dv(x)⟩+ v∈V (12) ˜ = Φ, as The only thing left to do is to show that indeed Φ defined in (7). This coincides with the intersection of all possible half spaces Hη(x) forming a circle around the center C. Extension to Multi-Region Case In this section, we extend the saddle point representation (18) to the multi-region case. This extension is in a certain way straightforward, but the representation for multiple segments introduces some technical difficulties that need to be addressed accurately. To represent multiple regions mathematically we introduce a concatenation of binary functions, each one splitting the image IEEE TRANSACTIONS ON IMAGE PROCESSING, 2015 5 area into one more segment. This representation follows the ideas presented in [16], which in return is based on [15]. The new set of binary variables is defined by: V˜ = {vi ∶ Ω → {0,1} ∶ 1 ≥ v1 (x) ≥ ⋅⋅⋅ ≥ vk (x) ≥ 0, x ∈ Ω} (19) with region Ri (i = 1,...,k +1) being represented by Ri = {x ∈ Ω ∶ vi−1 (x)−vi (x) = 1} (i = 1,...,k +1) k (20) with v0 (.) ≡ 1 and vk+1 (.) ≡ 0. Straightforward extension of the objective function in (18) by using the scalar product ∑ki=1 supφi ∈Φ ∫Ω ⟨φi ,Dvi ⟩ leads to counting certain parts of the boundary multiple times, which unfortunately produces undesirable results (especially for f (x) < 0). Hence, to obtain an appropriate curve integral representation, analogous to the one in Theorem 1, we need to restrict the corresponding dual variables to an appropriate convex set Φ, which is given by the following theorem. Theorem 2 (Curve Integral Representation for Multiple Segments). ∫ 2 λ1 ∥d(x)−νJv(x)∥2 +f (x,λ2 )dHn−1 = Jv (21) k sup ∑ ∫ ⟨φi (x),Dvi (x)⟩ φ∈Φ i=1 Ω with Dvi (.) (i = 1,...,k) being the weak derivatives of the binary functions vi (.) ∶ Ω → {0,1} (i = 1,...,k) representing the segments according to scheme (20). Jv being the combined jump set of all these binary functions vi (i = 1,...,k), i.e. the boundary of all k +1 segments, νJv being the inner normal to at least one of the sets {x ∶ vi (x) = 1} (i = 1,...,k) (boundaries of segments specified by primal variable v may overlap, but if they do they still share the same normal) and Φ being the convex restriction set for the dual variable φ(.) = (φ1 (.),...,φk (.)) given by: Φ ={(φ1 ,...,φk ) ∶ φi ∈ C0∞ (Ω)n ,∥ ∑ φi (x)+2λ1 d(x)∥2 ≤ i1 ≤i≤i2 f (x)+λ1 (1+∥d(x)∥22 ), x ∈ Ω, 1 ≤ i1 < i2 ≤ k} (22) Proof. Let Ai = {x ∶ vi (x) = 1}, with v = (v1 ,...,vk ) ∈ V˜ (cf. definition (19)). Due to the structure of V˜ we immediately obtain the property: x ∈ ∂Ai2 ∧x ∈ ∂Ai1 ⇒ x ∈ ∂Ai (i1 ≤ i ≤ i2 ) (23) So for each x ∈ Ω there exist i1 ,i2 ∈ {1,...,k} such that k i2 ∑⟨φi (x),Dvi (x)⟩ = ⟨ ∑ φi (x),Dvi1 (x)⟩ i=1 From Theorem 2 in conjunction with a straightforward extension of the image data term in the objective function and convex relaxation of the primal restriction set V˜ , we obtain the following convex-concave saddle point problem for multi-region image segmentation: (24) inf sup ∑ ∫ ⟨φi (x),Dvi (x)⟩+ v∈V φ∈Φ i=1 Ω k+1 (25) λ3 ∑ ∫ (vi−1 (x)−vi (x))ρi (x)dx i=1 Ω with convex restriction set V = {vi ∶ Ω → [0,1] ∶ 1 ≥ v1 (x) ≥ ⋅⋅⋅ ≥ vk (x) ≥ 0, x ∈ Ω} (26) and Φ defined in (22), v0 (.) ≡ 1, vk+1 (.) ≡ 0 and ρi (i = 1,...,k +1) the image data term. For a specific choice of ρi see Section II-E. D. Handling Color Information So far, color information only appeared in the image data term (volume integral) of the objective function. The curve integral term does not make any use of multiple color channels yet. The image gradient ∇I(.) has been pre-calculated on a grayscale picture. While this leads to faster calculation times to obtain the segmentation, obviously information that is easily available is not used in the segmentation process. To do so, we introduce additional dual variables (one for each color channel) in the saddle point problem (25), which leads us to a simple, full-color multi-region model: 3 k inf ∑ sup ∑ ∫ ⟨φij (x),Dvj (x)⟩+ v∈V i=1 φi ∈Φi j=1 Ω k+1 (27) λ3 ∑ ∫ (vi−1 (x)−vi (x))ρi (x)dx i=1 Ω with φi (.) = (φi1 (.),...,φik (.)) (i = 1,...,3) and Φi ={(φi1 ,...,φik ) ∶ φij ∈ C0∞ (Ω)n , ∥ ∑ φij (x)+2λ1 di (x)∥2 ≤ fi (x)+λ1 (1+∥di (x)∥22 ), j1 ≤j≤j2 x ∈ Ω, 1 ≤ j1 < j2 ≤ k} (i = 1,...,3) (28) with Ii (.) representing the image intensity according to channel i (i = 1,...,3). The definition of fi (.) follows directly from applying the definition in (5) channelwise, i.e.: fi (x) = fi (x,λ2 ) ∶= λ2 gi (x)−(Ii+ (x)−Ii− (x)) (29) i=i1 where equality has to be understood according to the definition of the weak derivative D and i1 > i2 is admissible, in which case the sum yields 0. The rest of the proof follows by considering the right hand side of equation (24) and applying the proof of Theorem 1. E. Specific Choices for the Implementation Let N (.) represent the normalization operator, i.e. ⎧ y ⎪ ⎪ N (y) ∶= ⎨ ∥y∥2 ⎪ ⎪ ⎩0 y≠0 y=0 (30) IEEE TRANSACTIONS ON IMAGE PROCESSING, 2015 For all our specific implementations of the algorithm based on the models presented in Section II-A, Section II-C and Section II-D, we use the following choices for the respective functions introduced so far: d(x) ∶= N (DI(x)): With this choice, the directional deviation term describes the deviation of the normalized image gradient (gradient of intensity I) from the unit normal vector of the separating curve (described by Jv ). This favors a region boundary which has a normal vector pointing in the direction of intensity increase. Normalization of the image gradient vector is necessary to be able to compare it to a unit normal vector. 1 g(x) = g(x,α) ∶= 1+α∥DI(x)∥ (α > 0): This specific choice fa2 vors the segment’s boundary to run through points with large image gradient. Similar terms occur in edge-based image segmentation approaches, such as geodesic active contours [11]. For the color model in Section II-D we simply define this weight channelwise, i.e. gi (x) ∶= 1/(1+α∥DIi (x)∥2 ). ρi (x) ∶= ∥I(x)− I¯i ∥2 (i = 1,...,k): Describes the local (pointwise) deviation of the image intensity I(x) - for color images this is a 3D-vector - from some appropriate mean color value I¯i . Those values need to be obtained once in a precomputation step. One option to calculate those mean color values would be to use k-means clustering, although a lot of other appropriate methods like histogram analysis or manual selection are available and may be more appropriate depending on the scenario at hand. Once again, it is intentional to keep ρi simple as the according term in the objective function acts as a regularizer (cf. Section II-A). Note that all these choices could be replaced by different meaningful terms that do have certain intentional properties and depend on the same arguments. III. O PTIMIZATION This section deals with the actual optimization process. The main purpose of transforming the initial optimization problem into a convex-concave saddle point problem is to be able to use fast primal-dual convex optimization algorithms to solve the problem for its unique solution. It is well known that those algorithms perform very well on optimization problems exhibiting a saddle point structure. This has been shown for many computer vision problems like image denoising, image inpainting, image deconvolution and zooming, motion estimation, and image smoothing, just to name a few. An application to those examples, a detailed comparison to other algorithms and proof of the stability and convergence properties of first order primal-dual algorithms for convex saddle point problems can be found in [17] and [19]. In this section we will give a short overview of the primaldual algorithm we use for calculating our results, and we show how to apply this algorithm to the specific problem at hand. Applying the algorithm involves nontrivial projection operations in the multi-region case. In Section III-C, we will show fast projection algorithms for projecting onto the primal restriction set V and introduce our own projection algorithm to compute projections onto the dual restriction set Φ. 6 A. The Primal-Dual Projection Algorithm The primal-dual algorithm we use is presented in detail in [17]. This section gives a short overview and determines the notation we will use later on. The algorithm works on convex-concave saddle point problems. The general form of the problem considered by Chambolle et. al. [17] suited to our problem is inf sup v∈BV (Ω)k φ∈C ∞ (Ω)nkl ⟨φ,K(v)⟩L2 (Ω)nkl +G(v)−F ∗ (φ) (31) 0 The function spaces have been chosen to suit problems (18), (25) and (27). Recall that k +1 is the number of segments and l shall be the number of image channels (l = 1:grayscale, l = 3: color). K(.) is a linear operator, G(.) is a convex lower semicontinuous function, and F ∗ (.) is the convex conjugate of a lower semicontinuous function F (.). The conjugacy notation has to do with the usual derivation of saddle point problems via the Fenchel-Legendre transform [20]. With the notation introduced above, the optimization algorithm we use is the following: φn+1 = (Id+σ∂F ∗ )−1 (φn +σK(˜ v n )) v n+1 = (Id+τ ∂G)−1 (v n −τ K ∗ (φn+1 )) n+1 v˜ = 2v n+1 −v (32) n with Id being the identity operator and step widths σ,τ > 0 chosen such that στ ∥K∥22 < 1, with ∥K∥2 being the operator norm of K. The inequality is essential for convergence of the algorithm, hence choosing an appropriate upper bound of ∥K∥22 is mandatory. There has been a paper published on preconditioning for the primal-dual algorithm [18] and one on a more general theory regarding first order forward-backward algorithms [19], both introducing techniques to potentially speed up the algorithm at hand. We found that in our particular case a heuristic, fixed choice of the step sizes τ and σ introduced in (32) yields the best results. To apply the algorithm one essentially needs to implement discrete versions of the specific resolvent operators (Id+ σ∂F ∗ )−1 and (Id+τ ∂G)−1 . In addition, proper discrete forms of the linear operator K and its adjoint operator K ∗ have to be determined. The process of convexification explained in Section II leads to the relaxed convex restriction set V (26). So as a final step the solution, i.e. the primal variable v = (v1 ,...,vk ) needs to be thresholded in each component to obtain a proper segmentation. B. Applying the Algorithm This section gives a short summary of the problem-specific operators appearing in the algorithm (32) and other implementation details. We consider the multi-region color model (27) introduced in Section II-D. The treatment for the binary segmentation model (18) and the semi-color multi-region model (25) should become evident as special cases. IEEE TRANSACTIONS ON IMAGE PROCESSING, 2015 7 Comparison of the saddle point form of the multi-region color model (27) to the general form (31) yields l k ∑ ∑ ∫ ⟨φij (x),Dvj (x)⟩ −δΦ (φ) v∈BV (Ω)k φ∈C ∞ (Ω)nkd i=1 j=1 ´¹¹ ¹ ¸¹¹ ¹ ¶ 0 Ω ∗ ´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶ F (φ)= inf sup ⟨φ,K(v)⟩= (33) k+1 +λ3 ∑ ∫ (vi (x)−vi−1 (x))ρi (x)dx+δV (v) i=1 Ω ´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¸ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶ G(v)= with δΦ (.) and δV (.) being the indicator functions for the dual restriction set Φ = {Φ1 ,...,Φl } defined in (28), respectively the primal restriction set V defined in (26): ⎧ ⎧ ⎪0 v ∈ V ⎪0 φ ∈ Φ ⎪ ⎪ δV (v) = ⎨ , δΦ (φ) = ⎨ (34) ⎪ ⎪ ∞ otherwise ∞ otherwise ⎪ ⎪ ⎩ ⎩ Note that according to (4) it makes sense to choose fi (x) = ˜ i (x) (∇ ˜ being the discrete gradient operator), λ2 gi (x)− ∇I which occurs in the definition of the set Φ and has been defined in (5), respectively (29). For a practical choice of gi (.) see Section II-E. The resolvent operators can be deduced from the following identity (cf. [17]) which implies usage of first order optimality conditions and the fundamental theorem of variational calculus: (Id+σ∂F ∗ )−1 (φ) = argmin { θ∈C0∞ (Ω)nkd ∥θ −φ∥22 +F ∗ (θ)} = ΠΦ (φ) 2σ ∥u−v∥22 +G(u)} = 2τ u∈L2 (Ω)k ⎛ ⎛ −∥I(.)− I¯1 ∥2 +∥I(.)− I¯2 ∥2 ⎞⎞ ⋮ ⎟⎟ ΠV ⎜v(.)−τ λ3 ⎜ ⎝ ⎝−∥I(.)− I¯k ∥2 +∥I(.)− I¯k+1 ∥2 ⎠⎠ (Id+τ ∂G)−1 (v) = argmin { (35) with Π being the pointwise projection operator with respect to Euclidean distance. It should be evident by now that these projection operators will have a huge influence on calculation time, so fast algorithms to perform these projections will be essential. We introduce algorithms for ΠΦ and ΠV in Section III-C. The operator K(.) for l = 3 (color) is given by ⎛⎛Dv1 ⎞ ⎛Dvk ⎞⎞ K(v) = Dv ∶= ⎜⎜Dv1 ⎟ , ... , ⎜Dvk ⎟⎟ ⎝⎝Dv1 ⎠ ⎝Dvk ⎠⎠ (36) Comparison to (33) directly leads to the adjoint operator K ∗ (.): 3 3 i=1 i=1 K ∗ (φ) = −divφ ∶= −(∑ divφi1 , ... , ∑ divφik ) (37) Note that for the grayscale case (l = 1) those operators reduce to K(v) = Dv = (Dv1 ,...,Dvk ) and K ∗ (φ) = −divφ = −(divφ1 ,...,divφk ). Using an estimation process like in the proof of Theorem 3.1 in [21] we obtain ∥K∥22 ≤ 4nkl. We use this estimate to choose appropriate step widths σ and τ such that στ ∥K∥22 < 1, which leads to convergence of the primaldual algorithm (32) (cf. [17]). For initializing v and φ practically any random value could be used, as the final result is unique due to the convex structure of the problem and hence does not depend on the starting point of the computation. Of course, to reduce computation time it is best to choose an initial solution that is as close as possible to the final - yet to be determined - optimum. As noted in Section II-E there are many options to compute mean color values I¯i for the data term ρi . In general it makes sense to base a first guess for v on the mean color values I¯i chosen for the image data term and choose Dv as a starting point for φ. C. Projection Algorithms Eventually all the operations presented in previous sections take place locally at each point of the input image, which is especially beneficial for parallel implementations (e.g. on the GPU). This also holds true for the projection operators ΠV and ΠΦ . As already mentioned, algorithms representing those local projections have huge influence on computation time. 1) Projection on Primal Set V: Taking a look at the resolvent operator (Id+τ ∂G)−1 presented in (35) one sees that ΠV projects at each point x a vector v(x) ∈ Rk onto the set V (x) ∶= {y = (y1 ,...,yk ) ∈ Rk ∶ 1 ≥ y1 ≥ ⋅⋅⋅ ≥ yk ≥ 0}, which follows directly from the definition of V in (26). To execute the projection we slightly modify an algorithm presented in [12] by Chambolle et al.: Algorithm To project y = (y1 ,...,yk ) ∈ Rk on V (x), we obtain the projection y˜ = (˜ y1 ,..., y˜k ) = ΠV (x) (y) by 1) set y˜i ∶= yi and define k clusters Zi ∶= {i} (i = 1,...,k) 2) identify index i with y˜i < y˜i+1 , if there is no such index abort the algorithm and jump to step 4 3) set clusters Zj ∶= Zi ∪Zi+1 ∀j ∈ Zi ∪Zi+1 , set y˜i+1 ∶= y˜i ∶= ∑j∈Zi (˜ yj )/∣Zi ∣ and go back to step 2 4) set y˜i ∶= max(min(˜ yi ,1),0) (clipping), then y˜ = ΠV (x) (y) Remarks ● The presented algorithm deviates from the algorithm presented in [12] in the last step, i.e. the clipping process. ● It can be shown that doing the clipping at the end results in the algorithm yielding the exact projection on the set V (x) defined in (26). 2) Projection on Dual Set Φ: For implementing the pointwise projection ΠΦ onto the set Φ = {Φ1 ,...,Φl } we need a fast algorithm to project φi (x) ∈ Rnk (i = 1,...,l) at point x onto Φi (x) ∶= {y = (y1 ,...,yk ) ∈ Rnk ∶ ∥ ∑ yj +2λ1 di (x)∥2 ≤ j1 ≤j≤j2 fi (x)+λ1 (1+∥di (x)∥22 ), 1 ≤ j1 < j2 ≤ k} (38) which follows directly from the definition (28) of the dual restriction set Φi (i = 1,...,l). IEEE TRANSACTIONS ON IMAGE PROCESSING, 2015 8 Given a vector y = (y1 ,...,yk ) ∈ Rnk we start with introducing z = (z1 ,...,zk ) ∈ Rnk by defining input i zi ∶= ∑ yj , z0 ∶= 0Rn ⇒ zj2 −zj1 −1 = ∑ yj j1 ≤j≤j2 j=1 (39) SMMS In addition we define radius and center by R ∶= fi (x)+λ1 (1+∥di (x)∥22 ), C ∶= −2λ1 di (x) (40) ours This way, we can rewrite Φi (x) = {y = (y1 ,...,yk ) ∈ Rnk ∶ ∥zj2 −zj1 −1 −C∥ ≤ R, j zj = ∑ ym (j = 1,...,k), z0 = 0Rn , 1 ≤ j1 ≤ j2 ≤ k} (41) m=1 which leads to the idea of using successive projections to approximate the projection process. Algorithm Let y = (y1 ,...,yk ) ∈ Rnk be given, we then project on Φi (x) specified in (38) by 1) set z0 ∶= 0Rn , z˜0 ∶= z0 and j ∶= 1 2) set zj ∶= z˜j−1 +yj , then iteratively project zj onto ⋂ Km with circle Km ∶= {z ∈ Rn ∶ m=0,...,j−1 ∥z − z˜m −C∥2 ≤ R}, the projected point shall be z˜j a) from the definition of C and R one can see that ⋂ Kj ≠ ∅ (i = 1,...,k) if fi (x) ≥ 0, otherwise j=0,...,i−1 (b) yields at least a good approximation b) a fast and again approximative routine for projecting zj onto ⋂ Km is to set m=0,...,j−1 z˜j ∶= argmax {∥z −zj ∥2 ∶ z = ΠKm(zj ) (m = 0,...,j −1)} z with ΠKm being the Euclidean projection on the circle Km 3) set j ∶= j +1, if j ≤ k go to step 2, otherwise go to step 4 4) obtain final projected vector y˜ = (˜ y1 ,..., y˜k ) via reversing the accumulation process: y˜j ∶= z˜j − z˜j−1 (j = 1,...,k) Remarks ● The presented algorithm does not yield the exact projection, but the objective function is very well conditioned with regard to the dual variable φ. So small errors in obtaining this dual variable practically only impact the rate of convergence, not the final result. ● The algorithm is a very fast way to obtain a sufficiently accurate projection on the set Φi (x) and hence on the discretization of the set Φ. IV. E XPERIMENTAL VALIDATION In this section we apply the algorithm developed in Section II and III to a variety of different test scenarios. We show that the results are competitive to state-of-the-art segmentation algorithms in terms of quality and can be obtained very fast. The presented algorithm is fully parallelizable. We implemented it in CUDA. Fig. 3. Binary segmentation: Results for a series of natural scenery images (top) by the new statistical model for Mumford-Shah (SMMS) [23] (middle) and our proposed approach (bottom). Each picture has a resolution of about 0.2 megapixels. Computation time for our approach is, depending on the image, between 40 and 95 ms for a high accuracy of = 10−4 . According to [23], the SMMS algorithm takes roughly 10 seconds to compute each image. In the preceding sections we showed how to obtain a highly efficiently computable structure of the initial optimization problem, which led to the primal-dual projection scheme using tailored projection algorithms. We show that the whole process leads to very short computation times, which to the best of our knowledge have not been achieved with other approaches based on similar models yet. All statistics were measured on an Intel Core i7-4930K, 3.40 GHz and 32 GB RAM PC with an NVIDIA GeForce GTX 780Ti running Windows 8 64-bit. In the following, we show results for binary segmentation and then advance to multi-region segmentation evaluation. We conclude this section with a comparison to clustering algorithms and the application of the Berkeley image segmentation benchmark BSDS500 (cf. [22]). All test scenarios are evaluated using algorithm (32). Recall that the primal variable is denoted by v and the dual variable by φ. The output we show is the accumulated, thresholded primal variable, which we rescaled to values between 0 and 1. Each intensity in the resulting grayscale image corresponds to one segment. If the root mean square deviation √ in the primal variable drops below a specified value , i.e. ∥v n+1 −v n ∥22 /(resolution⋅k) < , the algorithm terminates. If not explicitly mentioned otherwise, we use = 10−4 , σ = 10 and τ = 0.99/(σ ⋅4nkl) (cf. Section III-B) and the threshold value 0.5. We refer to results computed with 50000 iterations as reference solutions. A. Binary Segmentation We first consider our binary segmentation model (18). While from a mathematical standpoint the theory behind the algorithm in the binary case is pretty much the same as for the multi-region case, the projection scheme presented in Section III boils down to an easily computable clipping (for the primal variable) and projecting onto a single circle (dual variable). Figure 3 shows results for binary segmentation of graylevel images. We compare our results with those of Ref. [23]. The results are comparable in terms of quality and can be obtained in a fraction of a second even for high accuracy . Our experiments show that realtime (≤ 50 ms) computation speeds are achievable with almost the same segmentation result. IEEE TRANSACTIONS ON IMAGE PROCESSING, 2015 Fig. 4. 3-label segmentation: The input image with resolution 512 × 512 (left) and the initial solution based on least Euclidean distance towards picked mean color values {I¯1 , I¯2 , I¯3 } (middle). The output of the algorithm (right) based on the semi-color model (25) is obtained in approx. 250 ms with = 0.5 ⋅ 10−4 in 700 iterations. Parameter choices are λ1 = 10, λ2 = 5, λ3 = 1 and α = 12. Fig. 5. Challenging 4-label segmentation: The input image initially created by Farbman et. al [24] at resolution 500 × 375 (left) and the initial solution based on least Euclidean distance towards picked mean color values {I¯1 , I¯2 , I¯3 , I¯4 } (middle). The output of the algorithm (right) based on the semi-color model (25) is obtained in approx. 0.5 seconds in 1400 iterations. Parameter choices are λ1 = 2, λ2 = 21, λ3 = 2 and α = 1. B. Multi-Region Segmentation For multi-region segmentation using our semi-color model (25) and full-color model (27) presented in Section II, the computation process involves far more complicated projections, as introduced in Section III-C. In most cases it is sufficient to use our much faster multi-region semi-color model (25). Results for 3-label, 4-label and 8-label segmentation using this approach are presented in Figure 4, Figure 5 and Figure 6. In Figure 7, we present a case where the full-color model yields superior results to the multi-region model, i.e. when the grayscale-converted input color image has very low contrast. C. Convergence Analysis The rate of convergence is essential for any iterative algorithm. As we are dealing with a convex-concave saddle point problem in (18), (25) and (27), it is safe to assume convergence when ∥v n+1 −v n ∥2 gets very ”low”. What ”low” means depends on the scenario at hand and cannot be answered in general. For example, ∥v n+1 −v n ∥2 scales linearly with the number of segments and also depends on the step width τ chosen for the al- Fig. 6. 8-label segmentation: The input image also used in [15] at resolution 640 × 491 (left) and the initial solution based on k-means clustering (middle). The output of the algorithm (right) based on the semi-color model (25) is obtained in 1.4 seconds with = 10−4 in 900 iterations. Parameter choices are λ1 = 2, λ2 = 3.5, λ3 = 1 and α = 1. 9 Fig. 7. Model comparison: In this artificially created case the input image (left) is segmented using the semi-color model (middle) and the full-color model (right). Due to the lack of image gradient information, the image data term takes the predominant role in the semi-color model (cf. Section II-A). Fig. 8. Relative convergence: Root√ mean square deviation (RMSD) of successive primal variable values, i.e. ∥v n+1 − v n ∥22 /(resolution ⋅ k), plotted against number of iterations for four different test scenarios, presented in this paper: Binary segmentation (magenta) from Figure 3, 3-label segmentation (red) from Figure 4, 4-label segmentation (blue) from Figure 5 and 8-label segmentation from Figure 6. gorithm (the smaller τ gets, the smaller the difference will be). The determining factor for when the algorithm can be stopped should be the actual visual change of the final segmentation output. Of course, this can only be measured in artificial test environments where a reference solution is known. Because of these observations, in Figure 8 we present graphs for the root mean square deviation (RMDS) of the primal variable, √ which is defined by ∥v n+1 −v n ∥22 /(resolution⋅k), depending on the number of iterations. The actual deviation of the output after each iteration from the reference solution can be seen in Figure 9. Fig. 9. Absolute convergence: Same scenario as in Figure 8, but considering root mean square deviation of the primal variable to a reference solution. The difference of a few pixels after about 500 iterations in all four scenarios corresponds to ≈ 10−4 as a stopping criteria (cf. Figure 8). IEEE TRANSACTIONS ON IMAGE PROCESSING, 2015 res. / seg. 128x128 256x256 512x512 1024x1024 2 0.08 0.08 0.19 0.65 4 ms ms ms ms 0.08 0.16 0.45 1.65 10 8 ms ms ms ms 0.14 0.38 1.28 4.99 16 ms ms ms ms 0.46 1.62 6.21 24.9 input k-means(global) k-means(local) mean-shift quick-shift ms ms ms ms TABLE I C OMPUTATION TIME : P ERFORMANCE IN TIME PER ITERATION OF OUR ALGORITHM FOR SEGMENTING THE FIREWORKS IMAGE ( PRESENTED IN F IGURE 1) FOR DIFFERENT RESOLUTIONS AND NUMBERS OF SEGMENTS USING THE SEMI - COLOR MULTI - REGION MODEL PRESENTED IN S ECTION II-D. D. Computation Time Table I shows representative computation times for one image at different resolutions and segmentation into different numbers of segments with our algorithm implemented in CUDA. This shows that our algorithm scales very well with the number of pixels and the number of segments and makes high resolution image segmentation possible in a matter of seconds. In general, it is difficult to compare computation times to other approaches. First, different methods achieve at least slightly different segmentation results on one and the same input image. This is due to different mathematical models describing the segmenation process. For example, one major feature of our approach is the incorporation of the ”intensity variation on segments” term (cf. (1)), which to the best of our knowledge only occurs in a similar fashion in MumfordShah-related approaches like [7]. Second, the computation time depends to a great extent on the implementation of the algorithm. Highly parallelizable algorithms like ours benefit greatly by the efficient computing capabilities of a GPU. In our experiments we experienced a speedup of approx. factor 100 compared to an optimized Mathematica implementation of our algorithm. This is why we first want to focus on computation times of other approaches implemented in CUDA. In [15] the authors claim that typical runtimes for image segmentation problems for 512 × 512 images and 10 labels are in the range of 50 seconds on a Nvidia Tesla C1060 GPU. For the approach presented in [14] usual runtimes for 640 × 480 images and 5 labels are around 90 seconds, and for 320 × 240 images 7 seconds on a NVIDIA GTX 480 GPU. In [7] typical execution times for 128 × 128 images with the solution discretized on 32 levels are in the order of 600 seconds on on a Tesla C1060 GPU. All these computation times have been obtained using slightly older hardware than the NVIDIA GTX 780Ti we used for our experiments. Taking this into account, our algorithm still outperforms those approaches in terms of computation time. An implementation of the quickshift algorithm (cf. [25]), a method similar to mean-shift and hence completely different from our approach, only needs a few hundred milliseconds running on our setup (for further details see Section IV-E). Additionally, we want to compare our approach to popular CPU-based segmentation algorithms. According to [23] the statistical model for Mumford-Shah (SMMS) and multiphase Mumford-Shah (MPMS) CPU implementations take at least 50 seconds to compute, depending on the number of labels Fig. 10. Comparison to Mean-Shift and K-Means Clustering: From left to right: The input image and the results obtained by k-means clustering (global optimum, local optimum), mean-shift (Wolfram Mathematica Implementation) and the quick-shift implemention of [25] (with additional grouping of regions and parameters experimentally chosen for best visual results). and the image size. The segmentation algorithm gPb-owt-ucm presented in [22], which the Berkeley image segmentation benchmark (see Section IV-F) is built upon, has rather long computation times of at least 100 seconds on images with a moderate resolution. According to [26], optimized k-means clustering algorithms usually take only a few hundred milliseconds to compute, but are not guaranteed to converge to a global optimum. Efficient mean-shift algorithm implementations need at least a few seconds to compute (cf. [27]). E. Comparison to Mean-Shift and K-Means Clustering Mean-shift and k-means clustering are well known clustering algorithms, that are widely used for many applications, one of them being image segmentation. It is important to note though that those algorithms do not yield coherent image segments as their output. They rather produce clusters of data, which in the case of an image corresponds to clusters of pixels. Nevertheless, with appropriate grouping mechanisms and filters, their output can be used for image segmentation. For example, if the output contains some noise, denoising methods can be used create suitable image regions. For a short comparison we included Figure 10, which shows the same pictures as Figure 5 and Figure 4, but this time with applying k-means clustering and the mean-shift algorithm. There are many implementations and different variants of k-means clustering and mean-shift algorithms available. Computation times vary from a few seconds to a few hundred seconds depending on the algorithm used and do also depend heavily on the image size. The k-means clustering algorithm can be implemented in such a way that the computation time is very low. Unfortunately there is no guarantee that the algorithm converges to its global optimum, which is in general the desired result. [26] proposes a fast global k-means algorithm, which generates new initial solutions consecutively by running basic k-means clustering in each iteration. While there is no guarantee that the algorithm reaches the global optimum, it is fast and delivers in general better results than basic versions of the k-means algorithm, because it has a higher probability of reaching the global optimum of the clustering problem. Mean-shift algorithms usually have longer computation times and the number of clusters is in general determined IEEE TRANSACTIONS ON IMAGE PROCESSING, 2015 BSDS500 Covering PRI VI ODS OIS Best ODS OIS ODS OIS Human 0.72 0.72 0.88 0.88 1.17 1.17 gPb-owt-ucm 0.59 0.65 0.74 0.83 0.86 1.69 1.48 ours 0.47 0.59 0.74 0.77 0.83 2.32 1.78 Mean Shift 0.54 0.58 0.66 0.79 0.81 1.85 1.64 Felz-Hutt 0.52 0.57 0.69 0.80 0.82 2.21 1.87 Canny-owt-ucm 0.49 0.55 0.66 0.79 0.83 2.19 1.89 NCuts 0.45 0.53 0.67 0.78 0.80 2.23 1.89 Quad-Tree 0.32 0.37 0.46 0.73 0.74 2.46 2.32 TABLE II R ESULTS OF THE B ERKELEY IMAGE SEGMENTATION BENCHMARK . F OR EACH SEGMENTATION METHOD , THE LEFTMOST THREE COLUMNS REPORT THE SCORE OF THE COVERING OF GROUND - TRUTH SEGMENTS ACCORDING TO OPTIMAL DATASET SCALE (ODS), OPTIMAL IMAGE SCALE (OIS), OR B EST COVERING CRITERIA . T HE 11 input gPb-owt-ucm ours RIGHTMOST FOUR COLUMNS COMPARE THE SEGMENTATION METHODS AGAINST GROUND - TRUTH USING THE P ROBABILISTIC R AND I NDEX (PRI) AND VARIATION OF I NFORMATION (VI) BENCHMARKS , RESPECTIVELY. F OR DETAILS SEE [22]. automatically, which makes it difficult to obtain a desired number of clusters. Amongst others, [27] shows a reasonably fast and reliable solution for mean-shift algorithms, which still needs a few seconds running on larger images. Quick-shift, a method similar in concept to the mean-shift algorithm yields faster solutions, though. [25] proposes an implementation of the quick-shift algorithm which runs on the GPU. On our setup it achieved average computation times of 300 milliseconds for images with a resolution of approximately 0.25 megapixels. Figure 10 shows that under certain circumstances, and with additional accumulation of regions (grouping mechanism), the quick-shift algorithm can obtain good image segmentation results. Fig. 11. Results of our algorithm on images of the Berkeley segmentation dataset: The input image (left), the output of the gPb-owt-ucm (Berkeley) algorithm of paper [22] (middle) and the output of our algorithm (right) with automated parameter choices. The shown output serves as the input to the Berkeley image segmentation benchmark. The average computation time for the gPb-owt-ucm algorithm, using code supplied by the authors, is approximately 150 seconds, while our approach took an average of approximately 1 second per image on the dataset. F. Berkeley Benchmark Results In the following we show how to adapt our algorithm to hierarchical segmentation and apply the most recent Berkeley Image Segmentation Benchmark BSDS500 [22]. This benchmark provides 500 images partitioned into a 200 image training set with manually created ground truth images, a validation dataset consisting of 100 images and a 200 image test set. Paper [22] also introduces a state-of-the-art image segmentation algorithm (gPb-owt-ucm) and the segmentation benchmark is heavily based on specific details and implementations of this algorithm. Ground truth data is obtained from segmentations done manually by multiple humans. It is important to note that the benchmark does neither take the computation time nor the coherency of the detected regions into account. It also does not require the contours to be closed. All of these are important characteristics of image segmentation algorithms which are used beyond pure object recognition and are major benefits of our approach. Nevertheless, we were able to rank among the top scoring algorithms, mentioned in [22] and Table II, and our algorithm is the fastest among those. For example, the best scoring gPbowt-ucm algorithm from the Berkeley group takes an average of 150 seconds for each picture in the test dataset and, while our algorithm needs about 1 second to compute the final result. As the output of our algorithm is parameter-dependent we decided to compute optimal parameters on the supplied training data set and use those parameters on the final benchmark test dataset. We, however, consider the optimal choice of parameters as future work which will improve the results even further. All computations for this section were carried out using our algorithm with the semi-color model (25). To transform the output of our algorithm into a compatible format for the benchmark, we separated individual coherent regions from our segmentation results and built a tree-like structure, where separated regions are merged successively. This structure served as the input for the benchmark. The detailed results of the benchmark can be seen in Table II. Some results of our algorithm and Berkeleys own gPb-owt-ucmalgorithm on images of the Berkeley test dataset are shown in Figure 11. In general applying benchmarks in image segmentation is a nontrivial task and results are always only objective to IEEE TRANSACTIONS ON IMAGE PROCESSING, 2015 a certain degree. The authors of the Berkeley benchmark state in [28] that ”it is considerably easier to quantify the performance of computer vision algorithms at recognition than at segmentation” and that some researchers argue that ”segmentation or grouping performance can be evaluated only in the context of a task such as object recognition”. In addition to that, there are certain important facts to keep in mind: ● The benchmark does not take the computation time into account, so we can only compare our results in terms of quality. ● As our focus is on computation time, we did not construct any more sophisticated segmentation processes that might involve running the algorithm multiple times on one image. Those approaches might improve the quality and accuracy of the segmentation considerably, but contradict the focus of this paper. ● The benchmark incorporates different kind of measures to compare a certain segmentation of an image to the ground truth segmentation. The most important one being covering-measure, i.e. measuring of region overlap. ● Measurement takes place on a local per pixel level, so the coherency of regions is not taken into accout. This also explains why algorithms like mean-shift are able to obtain a rather high score. ● A segmentations contour must not be closed to be applicable for the benchmark. ● The benchmark favors a structure, where segments with the same label belong to one coherent region in the image. This is in contrast to our labeling scheme, which we consider a feature of our approach. ● The output of the segmentation algorithm presented in this paper depends considerably on the choices of the parameters available, especially λ2 and λ3 . ● The segmentation algorithm presented in [22], which the benchmark is built upon, has long computation times, taking 100 seconds or longer for average sized images of 0.15 megapixels. ● In general, we consider the choice of optimal parameters for our algorithm as future work. The same holds true for additional user input and the choice of pixel dependent parameters, like λi (x) (i = 1,...,3). This will improve the quality further. The rather strong dependency on the parameters also shows in lower ODS (optimal dataset scale) values for our approach. V. C ONCLUSION In this paper we have introduced a very fast method for unsupervised, gradient based image segmentation. We have evaluated our approach on different test cases, and achieve high-quality results at a fraction of the usually required computation time. This work is intended as a proof of concept of the ideas behind the modeling and transformation process presented in Section II. We feel that these ideas can be applied to a more general class of optimization problems that tries to minimize gradient norms specifically excluding boundaries. While the presented approach works autonomously, additional user input can be incorporated to increase the visual quality of 12 the segmentation. For example, it would be an interesting and useful extension to let the user influence the weights for each energy term in the objective function locally at each pixel. Because of the short computation times it would also be interesting to see real time interaction of the user with the algorithm via some sort of GUI. The presented approach is independent of the domain dimension, so for future work we plan to consider 3D image segmentation and video segmentation. From a mathematical standpoint we would like to investigate the justification of the convex relaxation process used to obtain a convex-concave saddle point formulation in Section II and the detailed influence of the approximative projection scheme presented in Section III-C on convergence of the algorithm. In addition, the full-color model presented in Section II-D could be extended to have connected restriction sets (similar to the work of Strekalovskiy et. al. [8] on the Mumford-Shah functional), which would further improve quality. A PPENDIX A D ISTRIBUTIONAL D ERIVATIVE OF F UNCTIONS OF B OUNDED VARIATION Functions of bounded variation (BV) have many interesting analytical properties. The one most relevant for this paper is the decomposition of their distributional derivative. Let u ∈ BV, then according to [29] the distributional derivative Du has the following Lebesgue-Nikodym decomposition: Du = ∇u+Cu+(u+ −u− )νu dHn−1 ⌞Ju (42) In the above decomposition ∇u denotes the absolutely continous part with respect to Lebesgue measure on Ω of the measure Du. Cu indicates the so-called Cantor part of the measure Du. Both parts, ∇u and Cu, do not charge any dHn−1 finite sets, with dHn−1 denoting n−1-dimensional Hausdorff measure. Only the last part, i.e. (u+ −u− )νu dHn−1 ⌞Ju , charges dHn−1 finite sets, with Ju being the jump set of the function u, νu being the normal vector to this jump set pointing in the ascending direction, and u+ > u− being left and right limit values of the function u at the jumping point. For binary functions - and in general piecewise constant functions - the decomposition (42) consists for obvious reasons only of the jump part, i.e. for the binary function v ∶ Ω → {0,1} we have: Dv = (v + −v − )νv dHn−1 ⌞Jv (43) A rather elaborate overview of BV functions and the above decomposition can be found in [12]. ACKNOWLEDGMENT The research leading to these results has received funding from the European Unions Seventh Framework Programme FP7/2007-2013 under grant agreement no. 256941, Reality CG. R EFERENCES [1] M. Wertheimer, Laws of organization in perceptual forms. Harcourt, Brace & Jovanovitch, 1938. [2] K. W. T. Jr, B. L. Bhaduri, E. A. Bright, A. Cheriyadat, T. P. Karnowski, P. J. Palathingal, T. E. Potok, and J. R. Price, “Automated Feature Generation in Large-Scale Geospatial Libraries for Content-Based Indexing,” 2006. IEEE TRANSACTIONS ON IMAGE PROCESSING, 2015 [3] A. Levin, D. Lischinski, and Y. Weiss, “A closed-form solution to natural image matting,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 30, no. 2, pp. 228–242, 2008. [4] I. Kokkinos and P. Maragos, “Synergy between object recognition and image segmentation using the expectation-maximization algorithm,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 31, no. 8, pp. 1486–1501, 2009. [5] D. Mumford and J. Shah, “Optimal approximations by piecewise smooth functions and associated variational problems,” Comm. Pure Appl. Math., vol. 42, no. 5, pp. 577–685, 1989. [6] G. Alberti, G. Bouchitt, and G. Dal Maso, “The calibration method for the mumford-shah functional and free-discontinuity problems,” Calculus of Variations and Partial Differential Equations, vol. 16, no. 3, pp. 299–333, 2003. [7] T. Pock, D. Cremers, H. Bischof, and A. Chambolle, “An algorithm for minimizing the mumford-shah functional,” in Computer Vision, 2009 IEEE 12th International Conference on, pp. 1133–1140, Sept 2009. [8] E. Strekalovskiy, A. Chambolle, and D. Cremers, “A convex representation for the vectorial mumford-shah functional,” in IEEE Conference on Computer Vision and Pattern Recognition (CVPR), (Providence, Rhode Island), June 2012. [9] L. A. Vese and T. F. Chan, “A multiphase level set framework for image segmentation using the mumford and shah model,” Int. J. Comput. Vision, vol. 50, no. 3, pp. 271–293, 2002. [10] T. F. Chan and L. A. Vese, “Active contours without edges.,” IEEE Transactions on Image Processing, vol. 10, no. 2, pp. 266–277, 2001. [11] V. Caselles, R. Kimmel, and G. Sapiro, “Geodesic active contours.,” in ICCV, pp. 694–699, 1995. [12] A. Chambolle, D. Cremers, and T. Pock, “A convex approach to minimal partitions,” SIAM Journal on Imaging Sciences, vol. 5, no. 4, pp. 1113–1158, 2012. [13] J. Lellmann, J. Kappes, J. Yuan, F. Becker, and C. Schn¨orr, “Convex multi-class image labeling by simplex-constrained total variation,” in Proceedings of the Second International Conference on Scale Space and Variational Methods in Computer Vision, SSVM ’09, (Berlin, Heidelberg), pp. 150–162, Springer-Verlag, 2009. [14] E. Strekalovskiy and D. Cremers, “Generalized ordering constraints for multilabel optimization,” in Proceedings of the 2011 International Conference on Computer Vision, ICCV ’11, (Washington, DC, USA), pp. 2619–2626, IEEE Computer Society, 2011. [15] T. Pock, A. Chambolle, H. Bischof, and D. Cremers, “A convex relaxation approach for computing minimal partitions,” in IEEE Conference on Computer Vision and Pattern Recognition (CVPR), (Miami, Florida), 2009. [16] D. Cremers, T. Pock, K. Kolev, and A. Chambolle, “Convex relaxation techniques for segmentation, stereo and multiview reconstruction,” in Markov Random Fields for Vision and Image Processing, MIT Press, 2011. [17] A. Chambolle and T. Pock, “A first-order primal-dual algorithm for convex problems with applications to imaging,” J. Math. Imaging Vis., vol. 40, no. 1, pp. 120–145, 2011. [18] T. Pock and A. Chambolle, “Diagonal preconditioning for first order primal-dual algorithms in convex optimization,” in Computer Vision (ICCV), 2011 IEEE International Conference on, pp. 1762–1769, Nov 2011. [19] D. Lorenz and T. Pock, “An accelerated forward-backward algorithm for monotone inclusions,” 2014, 1403.3522. [20] R. Rockafellar, Convex Analysis. Convex Analysis, Princeton University Press, 1997. [21] A. Chambolle, “An algorithm for total variation minimization and applications,” J. Math. Imaging Vis., vol. 20, pp. 89–97, Jan. 2004. [22] P. Arbelaez, M. Maire, C. Fowlkes, and J. Malik, “Contour detection and hierarchical image segmentation,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 33, pp. 898–916, May 2011. [23] B.-W. Hong, Z. Lu, and G. Sundaramoorthi, “A new model and simple algorithms for multi-label mumford-shah problems,” in The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 1–8, 2013. [24] Z. Farbman, R. Fattal, D. Lischinski, and R. Szeliski, “Edge-preserving decompositions for multi-scale tone and detail manipulation,” in ACM SIGGRAPH 2008 Papers, SIGGRAPH ’08, (New York, NY, USA), pp. 67:1–67:10, ACM, 2008. [25] B. Fulkerson and S. Soatto, “Really quick shift: Image segmentation on a GPU,” in Trends and Topics in Computer Vision - ECCV 2010 Workshops, Heraklion, Crete, Greece, September 10-11, 2010, Revised Selected Papers, Part II, pp. 350–358, 2010. 13 [26] J. Xie and S. Jiang, “A simple and fast algorithm for global k-means clustering,” Education Technology and Computer Science, International Workshop on, vol. 2, pp. 36–40, 2010. [27] P. Wang, D. Lee, A. G. Gray, and J. M. Rehg, “Fast mean shift with accurate and stable convergence.,” in AISTATS (M. Meila and X. Shen, eds.), vol. 2 of JMLR Proceedings, pp. 604–611, JMLR.org, 2007. [28] D. Martin, C. Fowlkes, D. Tal, and J. Malik, “A database of human segmented natural images and its application to evaluating segmentation algorithms and measuring ecological statistics,” in in Proc. 8th Intl Conf. Computer Vision, pp. 416–423, 2001. [29] H. Attouch, G. Buttazzo, and G. Michaille, Variational Analysis in Sobolev and BV Spaces: Applications to PDEs and Optimization. MPS-SIAM Series on Optimization, Society for Industrial and Applied Mathematics, 2006. Benjamin Hell received his Masters degree in Industrial Mathematics in 2011 from the University of Bayreuth, Germany. He is currently pursuing his PhD in Computer Science at the Computer Graphics Lab at the TU Braunschweig. His research interests include optimization and geometry. Marc Kassubeck received his Bachelor degree in Computer Science in 2013 from TU Braunschweig, Germany. He is currently pursuing his Masters degree in Computer Science at TU Braunschweig. His research interests include image processing and applied mathematics. Pablo Bauszat received his Diploma degree in Computer Science from TU Braunschweig, Germany, in 2011. He is currently pursuing his PhD in Computer Science at TU Braunschweig, Germany. His research interests include real-time rendering, ray tracing, light transport simulation and perceptual rendering. Martin Eisemann received a Diploma degree in Computational Visualistics from the University of Koblenz-Landau, Germany, in 2006 and his PhD degree in Computer Graphics from the TU Braunschweig, Germany, and received the best student paper award at the annual conference of the European Association for Computer Graphics (Eurographics) in 2008. 2011 he became Postdoctoral Researcher at the Computer Graphics Lab at the TU Braunschweig. In 2014 he spent one semester as Postdoctoral Researcher at the TU Delft. Since 2015 he is professor at the TH K¨oln. His main research interests include image- and video-based rendering and editing, visual analytics, and realistic and interactive rendering. Marcus Magnor is full professor and head of the Computer Graphics Lab at TU Braunschweig. He holds a Diploma degree in Physics (1997) and a PhD in Electrical Engineering (2000). After his postgraduate time as Research Associate in the Graphics Lab at Stanford University, he established his own research group at the Max-Planck-Institut Informatik in Saarbr¨ucken. He completed his habilitation and received the venia legendi in Computer Science from Saarland University in 2005. In 2009, he spent one semester as Fulbright scholar and Visiting Associate Professor at the University of New Mexico. His research interests meander along the visual information processing pipeline, from image formation, acquisition, and analysis to image synthesis, display, perception, and cognition.