Objective
It was about two months ago. The study of curvature filtering, starting from a state of complete ignorance, includes basic knowledge of differential geometry, which has not been studied, and studies curvature filtering from a beginner's point of view. Now Hong Yuanhao, a professor at Nanyang Polytechnic University in Singapore, in the sixth chapter of his 2015 doctoral thesis, gives a theoretical basis and practical application, including denoising smoothing, firstly, the Gaussian curvature filter is constructed, and the detailed theoretical basis is given, mainly from the angle of differential geometry to analyze the fundamental source of its thought. In short, it is through a reasonable pixel projection mapping of the original image of the 3-dimensional surface mapping into developable surface, there is an important point of knowledge is: Minimizing the mean curvature mean curvature will cause minimal surface, minimize the Gaussian curvature Gaussian curvature will lead to developable surfaces, The developable surface can preserve the edge information well, so it involves the Adap-as Developable as Possible in the paper, so as to make the surface as developable as possible. This is the most basic idea, concrete start to learn the beginning of the following, or have the wrong place to understand, talents, inevitably wrong, forgive me. 1. Overview
The problem of curvature filtering is to solve the variational model, compared with the previous diffusion method or gradient descent method, the curvature filtering is the method of minimizing the relative curvature from the angle of differential geometry to minimize the regular term, as a beginner, we must understand several problems before we really learn the curvature filter, I am also in the learning process, must go past the ridge. 1.1 Suitability/morbidity issues
The question of suitability, English is well-posed problem, morbid problem, English is ill-posed problem, from discrete samples estimate real image is usually morbid problem, such as to Blur deblurring, point cloud image surface fitting estimated Surface from point image
So what is a morbid problem?
Given the image f (x), if x is increased from X to x*, the relative error of the x=x-x* is x/x,f (x*) relative error is (f (x)-F (x*))/f (x), so the relative error ratio is
| (f (x)-F (x∗)/f (x)) | / | δx/x |= c_p
C_p is called condition number of conditions. If the condition number is big enough, the relative error ratio will also be very big, this kind of problem is called the pathological problem, in brief is the independent variable change, the result will appear the big change, thus causes the problem not easy to solve.
So exactly how to solve morbid problems.
Pathological problems must add regular or transcendental, the study of regular items, there are many related papers to solve the method, in Hong Yuanhao Teacher's ppt has the following summary and description:
PIECEWISE constant, piecewise linear and piecewise smooth meaning, as I understand it, now looking at the relevant papers, but also at the beginning of the contact stage, may be wrong, in the image segmentation problem, if the original image has the intention to split into 2 regions, then the pixel value in each region is approximate, in over two partition boundaries, The change of pixel value is drastic, the piecewise constant means that the function expression of the two block areas after the partition is piecewise constant, and different regions have different values, then the extended, piecewise linear is piecewise linear, piecewise smooth is similar to the understanding. 1.2 Basic knowledge of differential geometry
From the literal meaning of "curvature filter", the key word is curvature, the concept of curvature is simply mentioned in higher mathematics, but the original knowledge point cannot support the field we are studying now, therefore, the simple study of curvature is essential, There are two important types of curvature in this paper---Gaussian curvature gaussian curvature and mean curvature mean curvature, as shown in Figure 3:
The point on the surface has all the plane tangent plane, this point will have the curvature in all directions, but there must be the maximum principal curvature and the minimum principal curvature, K1 is the minimum principal curvature, K2 is the maximum principal curvature, the mean curvature and Gaussian curvature is defined as above, The specific differential geometry solution process can refer to the document in the appendix, "Curvature Filter---Differential geometry theory basis". 1.3 The basis of the variational theory
In the general higher mathematical Framework, we all know the concept of differential, General Dy=f ' (x) dx, but this is not the most basic form, in my document "curvature filter---variational basis", you can get this conclusion:
y = f ' (x) x + O (x)
It is visible that f ' (x) x is the main part of the function increment, and its linear part, the "linear main part", we call the linear main part of the function increment F ' (x) x as the derivative of the function, which is the essence of the differential.
So what's the point of variation?
Variation refers to the "differential" in functional theory.
So what is a universal letter?
To write a set of functions of a certain nature as D, for any function f (x) in D, that is, for any f (x) ∈d, the variable q has a unique value corresponding to it, then the variable q is called a functionals dependent on f (x), which is recorded as
Q = q[f (x)] or q = q[f]
In short, the general function argument is x, the independent variable of a functional is the function f (x), and the differential is the micro increment of the independent variable x of the general function that causes the change of f (x), and the variation is the change of Q caused by the micro increment of the independent variable F (x) in the functional.
According to the differential essence of a general function, the expression of differential essence in a functional can also be described in a similar way:
Q = T[y (x), Delta Y] + beta[y (x), Delta Y]
Here, T[y (x), Delta Y] is a linear functional to Delta Y, that is, the main part, and the latter, is relative to the high-order infinitesimal of the Max|delta y|, then the variational representation of the functional is:
Delta Q = t[y (x), Delta Y]
Details of the detailed process, please refer to the Appendix "Curvature Filter---differential geometry of the theoretical basis."
2. Gauss Curvature Filter 2.1 preface
We know the definition of Gaussian curvature according to the relative differential geometry knowledge described in 1.2, but in two-dimensional images, the Gaussian curvature is defined as:
In the denoising algorithm, the variational model used is the total absolute Gaussian curvature variational model:
where E (U) is the Gaussian curvature energy, E is the evolutionary termination threshold, which is a very small number.
Many literatures have given the solution to the above problems, generally based on the diffusion method, i.e. diffusion-based algorithm, mainly by adding pseudo time t until the stable state is reached or the termination condition is satisfied:
Initial conditions U (t=0,x) = I (x). This model has been extended to anisotropic diffusion methods by using geometric flow methods (Lee and Seo, 2005):
The specific algorithm can refer to the relevant literature, this is not described in detail here.
However, there are two problems with the diffusion approach:
1 convergence speed slow convergence speed, evolution time complexity so high, the number of iterations will generally be very high, will reach 2, 3000.
2 The smoothness of the requirements from the numerical value of the Gaussian curvature to be calculated, and therefore must require the image is two times differentiable, that is, the image can be differential.
The Gaussian curvature filter mentioned in this paper reduces the computational complexity without explicit calculation of Gauss curvature, but estimates the image from the angle of differential geometry from the segmented developable surface of the image, which has the following advantages in dealing with this problem:
1 The time and the degree of convergence, faster than the previous algorithm.
2) The filter does not need to calculate the Gaussian curvature explicitly.
3) The filter is no parameter (preparation: The number of iterations of the parameters are not counted in the words, calculate no parameters), and easy to implement, but also parallel implementation, MATLAB has 40 lines of code, C + + less than 100 lines of code. 2.2 Theoretical Exposition
The developable surface can be estimated locally by its tangent plane, as shown in Figure 4:
In addition, there are theorem 1 in differential geometry:
The proof process of this theorem can refer to the proof of the 134th page of Hong Yuanhao Teacher's original 6.1.2.1 section. As we know before, the Gaussian curvature in two-dimensional images is defined as the product of two principal curvatures, and theorem 1 tells us that any developable surface, although there are only 3 developable surfaces, has zero Gaussian curvature at any point. Therefore, minimizing any one of the principal curvature is equivalent to minimizing the Gaussian curvature.
The conclusion of Theorem 1 is the theoretical basis of Gaussian curvature filter.
Thus, we can realize the minimization of Gauss curvature without the explicit calculation of Gaussian curvature, that is, as shown in the following formula, minimizing the smaller principal curvature can achieve the minimization of Gaussian curvature:
2.3 Domain Decomposition method
In order to eliminate the dependence between neighboring pixels, a domain decomposition method is proposed to minimize the relative value of the principal curvature.
As shown in Figure 5, the pixels in the two-dimensional image are divided into 4 categories, i.e. the horizontal and vertical pixels are not adjacent to each other:
This division actually has 3 advantages:
1) to the dependence between neighboring pixels;
2 because of the independence between adjacent pixels, the current pixel value updates can take advantage of the surrounding updated pixel values, because the update of the 4-class pixel is independent, there is no order, so in the update of a certain kind of pixels, you can use the surrounding some of the updated pixel values;
3 in the 3x3 local window, all the tangent planes can be enumerated (how the tangent plane represents the subsequent introduction), so the nearest neighbor projection (proximal projecting) can be used to make the surface of the image more developable, which means that the Gaussian curvature can be reduced locally;
By theorem 1, we need to project the original image surface U (x) to U ' (x) so that u ' (x) is on the closed tangent surface of adjacent pixels.
First, determine how to express its tangent plane;
Then, determine how to select the projection method; 2.4 Representation method of tangent plane
There are, in fact, many representations of the tangent plane (which shows the diversity of this representation in subsequent practical applications), in this section, the triangle configuration is used to represent the tangent plane of the surface, and the following is an example of a black circle X and its 3x3 neighborhood N (x), as shown in Figure 6:
This is a triangular plane in this local window, and the other enumeration examples show that after we get this tangent, we drop the red dot, that is, the current point onto the green tangent surface, and we can get the distance from the current point to the tangent, as shown in Figure 7:
2.5 Enumerating all types of projections
In order to find the smallest projection distance di in the local window n (x), it is necessary to enumerate all possible triangular tangent planes, as shown in Figure 8:
Figure 8 (a) gives an example, in fact, with a black circular point as the center point, the tangent plane over the white point of the triangular structure of the tangent planes there are 3, that is, Figure 8 (a) a total of 4 of the tangent, as shown in Figure 9:
Similar Figure 8 (b) also has 4 species, Figure 8 (c) has 4 species, all given, so, in a 3x3 local window, there are 12 cases of a triangular tangent plane, but looking at Figure 6 and Figure 7, you can see that there are no 12 types of distance to the tangent plane, as shown in Figure 7, Figure 8 can be simplified to the following figure:
Take the example of Fig. (a) to illustrate that the distance from the black dot to the tangent plane is actually the distance from the black dot to the "white circle-Black Circle-White circle" segment, which should be understandable in Figure 7, which is well understood in (b) (c). 2.6 Minimum projection operator
Fig. 2.5 shows that there are 8 kinds of projections for the current point to the tangent plane, that is, there are 8 kinds of distance between the current point and the tangent plane, {di, i=1,2,..., 8}, where the minimum value of 8 projection distances is used as the projection operator, more specifically, the
Then, the three-dimensional surface of the original image is computed using the following formula:
The complete algorithm numerical implementation pseudo code as shown in Figure 11:
Figure 11 corresponds to the 140th page of the original paper algorithm 11. What needs to be explained is that, based on Euler theorem, we have
In fact, this Euler theorem in the original paper is also directly given, there is no reference to reference, for the time being to remember it. In the upper, the K1 K2 is two main curvature, Theta (i) is the angle to the main plane, the main plane can refer to Figure 3 understanding. Therefore, if the angular sampling theta (i) is sufficiently dense within [-pi, +pi] (dense enough), it can be | DM | ≈min{| ki |}, where k1k2≥0, a detailed introduction to DI will be highlighted in the next section. 2.7 Gauss curvature operator
Since we have just given a specific description of a certain type, such as a black triangle, the combination of other three types of projection operations constitutes this Gaussian curvature filter, as shown in Figure 12:
Since the four types of pixels are independent of each other, their iterations are mutually exclusive and thus can be parallel operations. 2.8 Proof of convergence
Before proving the Gaussian curvature filter, it is proved that each step minimum projection operator can reduce the Gaussian curvature energy E (U), and then prove that the Gaussian curvature filter can reduce the total energy.
Proof: Class 4 pixel only need to prove one of them, the rest is similar,
In other words, the Gaussian curvature energy is relative to the monotone function of N, and the energy is certainly for zero, from the monotone of the definition of the theory that the Gaussian curvature filter algorithm 2 is convergent. 2.9 Summary
Actually here, the theory of curvature filtering is all introduced,
Well, there's been a delay, let's put it here ... Depressed