Next Article in Journal
In-Context Learning for Low-Resource Machine Translation: A Study on Tarifit with Large Language Models
Previous Article in Journal
Robust U-Nets for Fetal R-Peak Identification in Electrocardiography
Previous Article in Special Issue
Generating Realistic Synthetic Patient Cohorts: Enforcing Statistical Distributions, Correlations, and Logical Constraints
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Fuzzy Frankot–Chellappa Algorithm for Surface Normal Integration

Institute of Mathematics, Brandenburg University of Technology (BTU) Cottbus-Senftenberg, Platz der Deutschen Einheit 1, 03046 Cottbus, Germany
*
Author to whom correspondence should be addressed.
Algorithms 2025, 18(8), 488; https://doi.org/10.3390/a18080488 (registering DOI)
Submission received: 6 June 2025 / Revised: 18 July 2025 / Accepted: 29 July 2025 / Published: 6 August 2025
(This article belongs to the Collection Feature Papers in Algorithms for Multidisciplinary Applications)

Abstract

In this paper, we propose a fuzzy formulation of the classic Frankot–Chellappa algorithm by which surfaces can be reconstructed using normal vectors. In the fuzzy formulation, the surface normal vectors may be uncertain or ambiguous, yielding a fuzzy Poisson partial differential equation that requires appropriate definitions of fuzzy derivatives. The solution of the resulting fuzzy model is approached by adopting a fuzzy variant of the discrete sine transform, which results in a fast and robust algorithm for surface reconstruction. An adaptive defuzzification strategy is also introduced to improve noise handling in highly uncertain regions. In experiments, we demonstrate that our fuzzy Frankot–Chellappa algorithm achieves accuracy on par with the classic approach for smooth surfaces and offers improved robustness in the presence of noisy normal data. We also show that it can naturally handle missing data (such as gaps) in the normal field by filling them using neighboring information.

1. Introduction

The integration of surface normals to recover the corresponding surface in 3D space is a classic problem in computer vision [1,2,3]. Many methods have been proposed with the aim of achieving high accuracy, robustness to noise in the data, and computational efficiency; see, e.g., refs. [4,5,6,7] as well as the survey paper [8]. Even today, it remains challenging to devise a method that simultaneously meets all these criteria.
In terms of computational efficiency, the classic algorithm of Frankot and Chellappa [5] is still among the most powerful. It relies on solving a Poisson equation that arises naturally in the formulation of surface integration via a discrete sine transform. However, the Frankot–Chellappa (FC) algorithm does not explicitly handle noisy data, and accuracy issues may arise in the vicinity of steep surface gradients. Furthermore, the use of a discrete sine transform constrains the method to rectangular domains with complete data, making it challenging to deal with missing data in the normal field using the classic approach directly.
Recent advancements in surface reconstruction have focused on improving robustness and uncertainty quantification. Sellán and Jacobson [9] introduced Stochastic Poisson Surface Reconstruction, which models the reconstructed surface as a Gaussian process, enabling statistical reasoning about reconstruction uncertainty. Hou et al. [10] proposed iterative Poisson surface reconstruction, which refines surface orientation iteratively. More recently, Yu et al. [11] introduced Gaussian Opacity Fields—a method for direct surface and normal extraction from Gaussian splats, showing strong performance in unbounded scenes compared to classical Poisson methods. In general, unlike stochastic approaches such as Stochastic Poisson Surface Reconstruction, which rely on Gaussian processes to capture uncertainty, our method introduces fuzziness directly at the level of gradient fields. This enables uncertainty modeling without requiring probabilistic assumptions and integrates naturally with classical Poisson solvers via fuzzy arithmetic.
The concept of a fuzzy transform was introduced by I. Perfilieva et al. in [12,13] and was applied in image processing by Y. Nie et al. in [14]. The fuzzy transform (F-transform) provides direct and inverse operations that allow one to approximate a function using fuzzy basis functions. The authors of [13] showed that the inverse F-transform has good approximation properties and is relatively easy to use, even in the presence of noise. Meanwhile, fuzzy partial differential Equations (PDEs) were studied for problems like the Poisson equation in [15,16,17]. In particular, in 2018, Ghasemi Moghaddam et al. discussed a fuzzy Poisson equation with Dirichlet boundary conditions, proving the uniqueness and stability of its solution in [17], and a continuous fuzzy Fourier sine transform was applied to solve a fuzzy wave equation in [18].
We explored for the first time a fuzzified formulation of the discrete sine transform method and used it to solve the Poisson equation with fuzzy boundary conditions in [19]. Fuzzy logic provides a means to represent and process imprecise or uncertain information, which in the context of surface integration can arise from measurement noise or ambiguity in the normal data. By leveraging fuzzy concepts, the integration process can accommodate these uncertainties, potentially yielding more robust results. Here, we extend upon the previous method by providing more extensive experiments. Also, we include developments that further refine that approach by introducing a multiplicative fuzzification of input normals and an adaptive defuzzification strategy that dynamically adjusts reconstruction weights based on local uncertainty. Unlike a fixed defuzzification scheme, this method adjusts how the fuzzy solution is resolved to a crisp surface depending on the spread at each pixel.
We showed that this enhanced fuzzy FC method maintains the computational efficiency of the classical algorithm while improving noise resilience. This adaptive algorithm models the uncertainty of each pixel more accurately: in regions with low uncertainty (small fuzzy spread), it trusts the central value, whereas in regions with higher uncertainty, it incorporates more information from the range of possible values.
A distinctive contribution of this paper is the introduction of the fuzzy F-transform as a preprocessing mechanism for surface reconstruction with missing data. This is the first application of the F-transform to address the problem of gap reconstruction in surface normal integration. In contrast to classical methods like the FC scheme, which process input data uniformly and do not provide a framework to adapt to missing or uncertain regions, our approach uses the fuzzy F-transform to both smooth the gradient field and implicitly detect unreliable zones through attenuated membership values. This enables adaptive Poisson solving, where missing regions are reconstructed smoothly using information from neighboring confident areas, without the need for explicit boundary definitions or gap localization. As a result, our fuzzy FC algorithm (Algorithm 1) framework naturally produces coherent reconstructions, even under noisy or incomplete input.
Key contributions of this work include the following: (1) defining fuzzy-valued normal vectors and fuzzy partial derivatives in the context of surface integration; (2) demonstrating that solving the Poisson equation in the fuzzy domain yields a family of solutions that encompasses the classical solution as the central value, thereby not losing accuracy; (3) leveraging the fuzzy transform to filter out high-frequency noise during integration; and (4) providing a strategy to handle missing data (gaps) by treating unknown normals as fuzzy and letting the solution naturally interpolate those regions.

2. Fuzzy Concepts

In our framework, uncertainty in a value is represented using fuzzy numbers. A fuzzy number is typically described by its membership function μ ( x ) , which maps each real number x to a value in [ 0 , 1 ] indicating its degree of membership. We now recall a list of notations and several theoretical concepts useful in this paper. More information on related fuzzy concepts can be found in [20] and the references therein.
Definition 1 
(Fuzzy set and α -cut). A fuzzy set A ~ in R is characterized by a membership function μ A ~ : R [ 0 , 1 ] . For α ( 0 , 1 ] , the α-cut of A ~ is defined as
[ A ~ ] α = { x R μ A ~ ( x ) α } = [ A ~ ( α ) , A ~ + ( α ) ] .
Definition 2 
(Triangular fuzzy number). A fuzzy number a ~ is defined as a fuzzy subset of the real numbers R with a normalized, convex, and upper semi-continuous membership function μ a ~ : R [ 0 , 1 ] such that the support of μ a ~ is bounded and there exists exactly one point with membership degree 1.
In this work, we use triangular fuzzy numbers (TFNs). A triangular fuzzy number A ~ is defined by a triplet ( a 1 , a 2 , a 3 ) , with  a 1 < a 2 < a 3 , where a 2 is the peak (core) and [ a 1 , a 3 ] is the support.
μ A ~ ( x ) = x a 1 a 2 a 1 , a 1 x a 2 a 3 x a 3 a 2 , a 2 < x a 3 0 , otherwise
Definition 3 
(gH difference). Let A ~ , B ~ be fuzzy numbers. Then the generalized Hukuhara difference A ~ g H B ~ is a fuzzy number E ~ such that one of the following holds:
A ~ = B ~ E ~ or B ~ = A ~ ( E ~ )
where ( E ~ ) is defined as the symmetric of E ~ with respect to 0, i.e., if E ~ = ( e 1 , e 2 , e 3 ) is a triangular fuzzy number (TFN), then ( E ~ ) = ( e 3 , e 2 , e 1 ) .
Definition 4 
(Fuzzy-valued function). Let f ~ : D F ( R ) be a fuzzy-valued function defined on a compact rectangular domain D R 2 , where F ( R ) is the set of fuzzy numbers on R , D = [ a , b ] × [ c , d ] and ( u , v ) D denote the spatial coordinates. For each ( u , v ) D and α [ 0 , 1 ] , the function can be expressed in terms of α-cuts:
[ f ~ ( u , v ; α ) ] α = f ( u , v ; α ) , f + ( u , v ; α )
At each point ( u , v ) D , the output f ~ ( u , v ) is a triangular fuzzy number (TFN) represented by the triple f 1 ( u , v ) , f 2 ( u , v ) , f 3 ( u , v ) , where f 2 is the peak (core) and [ f 1 , f 3 ] is the support.
Hence, the membership function μ f ~ ( u , v ) ( z ) of the output fuzzy number f ~ ( u , v ) is defined as
μ f ~ ( u , v ) ( z ) = z f 1 ( u , v ) f 2 ( u , v ) f 1 ( u , v ) , if z [ f 1 ( x , y ) , f 2 ( u , v ) ] f 3 ( x , y ) z f 3 ( u , v ) f 2 ( u , v ) , if z [ f 2 ( u , v ) , f 3 ( u , v ) ] 0 , otherwise
Definition 5 
(Fuzzy partial derivative using gH difference). Let f ~ : D R 2 F be a fuzzy-valued function defined over domain D, where F denotes the set of fuzzy numbers. The partial derivative of f with respect to u at the point ( u 0 , v 0 ) is defined using the generalized Hukuhara (gH) difference as follows:
f ~ u ( u 0 , v 0 ) : = lim h 0 f ~ ( u 0 + h , v 0 ) g H f ~ ( u 0 , v 0 ) h ,
provided that this limit exists. Similarly, the partial derivative with respect to v is defined as
f ~ v ( u 0 , v 0 ) : = lim h 0 f ~ ( u 0 , v 0 + h ) g H f ~ ( u 0 , v 0 ) h .
This definition generalizes the classical derivative to the fuzzy domain by replacing the usual difference with the gH difference. The result is a fuzzy number representing the derivative at a point.
Definition 6 
(Defuzzification). In order to compare fuzzy-valued outputs with crisp ground-truth data or to visualize numerical results, it is necessary to convert fuzzy numbers into real numbers through defuzzification.
In this work, we use the midpoint method based on the support of the triangular fuzzy number (TFN). Given a fuzzy value z ~ i , j with lower bound z i , j and upper bound z i , j + (at α = 0 ), the defuzzified (crisp) value is computed as
d ( z ~ i , j ) = 1 2 ( z i , j + z i , j + )
This corresponds to the centroid of the base of the TFN and coincides with the core value in the case of symmetric fuzzy numbers. This defuzzification strategy is consistently applied throughout our method to obtain final numerical surfaces from fuzzy results.
Additionally, an adaptive defuzzification strategy is proposed in Section 5.2 to improve performance under data-dependent uncertainty.
Definition 7 
(Fuzzy partition). A fuzzy partition of an interval [ a , b ] is a collection of fuzzy sets A 1 , , A n 1 with membership functions μ k ( x ) that satisfy the following conditions:
1. 
μ k : [ a , b ] [ 0 , 1 ] , with  μ k ( x k ) = 1 for some x k [ a , b ] ;
2. 
μ k ( x ) = 0 if x ( x k 1 , x k + 1 ) , where x k 1 < x k < x k + 1 ;
3. 
μ k ( x ) is continuous on [ a , b ] ;
4. 
μ k ( x ) is strictly increasing on [ x k 1 , x k ] and strictly decreasing on [ x k , x k + 1 ] ;
5. 
k = 1 n 1 μ k ( x ) = 1 for all x [ x 1 , x n 1 ] .
In an h-uniform fuzzy partition, the centers x k are equally spaced with step size h = b a n . The membership functions μ k ( x ) are usually symmetric triangular functions and are often referred to as basic functions of the partition. These form the foundation for defining the fuzzy transform.
F-transform: The fuzzy transform (F-transform) is a technique to approximate a real-valued function using a fuzzy partition. It consists of the following: (i) a direct transform that computes fuzzy coefficients from data, and (ii) an inverse transform that reconstructs a smooth approximation from those coefficients.
Given a set of points P = { p 0 , , p l 1 } [ a , b ] and fuzzy sets A 1 , , A n 1 forming a fuzzy partition, the discrete F-transform of f is the vector F n [ f ] = ( F 1 , , F n 1 ) defined as
F k = j = 0 l 1 μ k ( p j ) f ( p j ) j = 0 l 1 μ k ( p j ) , k = 1 , , n 1
Each F k approximates the local average behavior of f around x k . The inverse transform reconstructs f as
f F , n ( p j ) = k = 1 n 1 F k μ k ( p j ) , j = 0 , , l 1
This f F , n smooths out high-frequency components of f, effectively acting as a low-pass filter.
In two dimensions, let f ( u , v ) be defined on a grid ( p i , q j ) [ a , b ] × [ c , d ] , and let { A k } and { B l } be fuzzy partitions of [ a , b ] and [ c , d ] , respectively. The 2D F-transform is defined as
F k l = i = 1 M j = 1 N μ k ( p i ) ν l ( q j ) f ( p i , q j ) i = 1 M j = 1 N μ k ( p i ) ν l ( q j )
where μ k ( x ) and ν k ( x ) are membership functions. The inverse F-transform reconstructs the approximation:
f m n F ( p i , q j ) = k = 1 m l = 1 n F k l μ k ( p i ) ν l ( q j )
Explicit properties of the F-transform [13] are as follows:
  • Low-pass filtering: The F-transform acts as a low-pass filter. It suppresses high-frequency components (e.g., noise), retaining only the smooth trend of the original function.
  • Local averaging: Each component of the F-transform represents a local average of the original function with respect to the support of a fuzzy basis function. This averaging provides noise resilience and locality.
  • Smoothing and approximation: The inverse F-transform yields a smooth and continuous approximation of the original function. It effectively reconstructs the global behavior while suppressing irregularities.
  • Stability to noise: The discrete version of the F-transform is stable under noisy input. As proven in [13], the method preserves signal similarity even under perturbations.
In fact, they proved that the inverse F-transform acts as filter: applying the F-transform and then the inverse F-transform to a noisy function yields a result almost free from that noise (provided the noise has negligible F-transform components). We leverage this filtering property in our fuzzy integration method when dealing with noisy data.
In particular, if the noise present in the data varies at a frequency higher than the scale of the fuzzy membership functions, that is, if it changes faster than the granularity of the fuzzy partition, then its contribution to the F-transform coefficients becomes negligible. Consequently, such noise will be largely suppressed during the reconstruction via the inverse F-transform, as the fuzzy basis functions act as a natural low-pass filter that emphasizes only the smooth, low-frequency components of the data.

3. Classic Frankot–Chellappa Surface Normal Integration

Let us briefly recall the classic Frankot–Chellappa method [5].
Given a normal field n ( u , v ) = [ n 1 ( u , v ) , n 2 ( u , v ) , n 3 ( u , v ) ] defined on domain Ω R 2 (with n ( u , v ) = 1 ), we seek a surface [ u , v , z ( u , v ) ] such that n ( u , v ) is orthogonal to surface at each point. Equivalently,
z ( u , v ) = z u z v = n 1 ( u , v ) n 3 ( u , v ) n 2 ( u , v ) n 3 ( u , v ) = p ( u , v ) q ( u , v ) = : g ( u , v ) .
In practice, the observed g ( u , v ) may not be exactly integrable (i.e., there may not exist a single-valued z whose gradient is g everywhere) due to noise or discretization. The Frankot–Chellappa solution is to find a function z ( u , v ) that minimizes the distance between z and g in a least-squares sense:
min z Ω z ( u , v ) g ( u , v ) 2 d u d v .
The optimality condition for this minimization is the Poisson equation
2 z u 2 + 2 z v 2 = Δ z ( u , v ) = p u + q v , in Ω
with Dirichlet boundary conditions z | Ω = 0 . Here, Ω denotes the boundary of the computational domain Ω . For instance, if  Ω = [ 0 , 1 ] 2 , then Ω consists of all points ( u , v ) where either u = 0 , u = 1 , v = 0 , or  v = 1 . The Dirichlet boundary condition z = 0 on Ω ensures compatibility with the discrete sine transform (sT), which implicitly assumes zero values at the domain boundaries. The right-hand side is the divergence of the gradient estimate.
We discretize the domain Ω = [ 0 , 1 ] 2 into an ( m + 1 ) × ( n + 1 ) uniform grid with step sizes h. The continuous coordinates are given by u i = i h , v j = j h , where i = 0 , , m and j = 0 , , n .
For simplicity and without loss of generality, we assume a uniform square grid where the step sizes in both directions are equal also, that is, z ( u i , v j ) = z i , j . To solve this numerically, one applies a 5-point finite difference stencil on a uniform grid of spacing h:
z i + 1 , j + z i 1 , j + z i , j + 1 + z i , j 1 4 z i , j h 2 = f i , j ,
where the right-hand side is approximated using central differences:
f i , j = p i + 1 , j p i 1 , j 2 h + q i , j + 1 q i , j 1 2 h .
Frankot and Chellappa observed that this discrete Poisson problem with zero Dirichlet boundary conditions can be efficiently solved via the sT. Let { f ¯ k , l } and { z ¯ k , l } denote the sT coefficients of { f i , j } and { z i , j } , respectively. Then
z ¯ k , l = h 2 f ¯ k , l 2 cos π k m + cos π l n 2 ,
for k = 1 , , m 1 and l = 1 , , n 1 . The final surface z i , j is then recovered by applying the inverse sT.
Summary of the classical FC algorithm:
  • Compute p ( u , v ) and q ( u , v ) from the normal field.
  • Evaluate f ( u , v ) = u p + v q using finite differences.
  • Apply the forward sT to f to obtain f ¯ k , l .
  • Use the analytical solution in the frequency domain to compute z ¯ k , l .
  • Apply the inverse sT to reconstruct z ( u , v ) .
This classical FC approach serves as the foundation for our fuzzy-enhanced integration method introduced in Section 4.
It is important to note that surface reconstruction from normal vectors is generally determined only up to an additive constant. This is because the gradient field ( p , q ) corresponds to infinitely many surfaces differing by a constant vertical shift. In the classical formulation, this ambiguity is resolved by imposing Dirichlet boundary conditions (e.g., z = 0 on the boundary Ω ), which uniquely fix the reconstructed surface. In our fuzzy extension, we adopt the same boundary conditions.

4. Fuzzy Frankot–Chellappa Surface Normal Integration

We extend the classical Frankot–Chellappa (FC) surface normal integration method into a fuzzy framework by incorporating uncertainty into the surface normals and gradient fields using triangular fuzzy numbers (TFNs). This leads to a fuzzy Poisson equation, where the derivatives are defined in the gH-differentiability sense and solved using a discrete fuzzy finite difference scheme.
Let the fuzzy surface be denoted by z ~ ( u , v ) and the divergence of the fuzzy gradient field be g ~ ( u , v ) = [ p ~ ( u , v ) , q ~ ( u , v ) ] .

4.1. Fuzzy Discretization of Poisson Equation

Let z ~ ( u , v ) be the unknown fuzzy-valued function to be determined and  f ~ ( u , v ) be a given fuzzy-valued source function:
Δ z ~ ( u , v ) = f ~ ( u , v ) , ( u , v ) Ω
We discretize the domain Ω = [ 0 , 1 ] 2 using a uniform grid of size ( m + 1 ) × ( n + 1 ) with step size h, following the formulation presented by Abdi and Allahviranloo [17], the Fuzzy Poisson equation takes the form:
z ~ i , j : = z ~ ( u i , v j ) , with u i = i h , v j = j h
Then
1 h 2 z ~ i + 1 , j z ~ i 1 , j z ~ i , j + 1 z ~ i , j 1 g H 4 z ~ i , j = f ~ i , j
The right-hand side f ~ i , j is computed using central fuzzy differences:
f ~ i , j = p ~ i + 1 , j g H p ~ i 1 , j 2 h q ~ i , j + 1 g H q ~ i , j 1 2 h

4.2. Fuzzy Frankot–Chellappa Method

In the fuzzy domain, the surface reconstruction is governed by a fuzzy Poisson equation with Dirichlet boundary conditions, where the fuzzy gradient field is derived from uncertain normal vectors. The fuzzy Laplacian is discretized using the fuzzy finite difference scheme, and the solution is computed using a fuzzy variant of the discrete sine transform. The main novelty of this approach lies in the fact that it is applying the discrete fuzzy sine transform directly to obtain the solution of a fuzzy Poisson equation. We use the fuzzy inverse discrete sine transformation
F s { f ~ i , j } = f ~ ^ k , l and F s 1 { f ~ ^ k , l } = f ~ i , j  :
f ~ i , j = 4 m n k = 1 m 1 l = 1 n 1 f ~ ^ k , l ( sin ( π k i m ) sin ( π l j n ) )
First we solve it only with a homogeneous Dirichlet condition z ~ i , j = 0 for ( i , j ) Ω = { 0 , m } × { 0 , n } , where Ω = [ 0 , m ] × [ 0 , n ] , in order to later determine the solution for problems with an inhomogeneous Dirichlet boundary conditions using the knowledge gained.
We assume Dirichlet boundary conditions (e.g., z ~ = 0 on Ω = [ 0 , m ] × [ 0 , n ] ) for the fuzzy Poisson equation, as in the classic case. We seek a fuzzy solution z ~ satisfying Δ z ~ = f ~ , where f ~ ( i , j ) is the fuzzy divergence of the fuzzy normal field. To solve this numerically, we follow a similar approach to the classical algorithm but operate on the fuzzy quantities.
First, we compute the discrete fuzzy Laplace equation analogous to Equation (9) by replacing z and f with z ~ and f ~ and using g H difference for subtraction in Equation (9). The resulting Equation (at each α -cut) has the form
z ~ i + 1 , j z ~ i 1 , j z ~ i , j + 1 z ~ i , j 1 4 z ~ i , j h 2 g H f ~ i , j = 0 ,
We again insert the inverse transform from (10) into the discrete Formula (11), leaving h undetermined:
4 m n k = 1 m 1 l = 1 n 1 z ~ ^ k , l h 2 [ sin π k ( i + 1 ) m + sin π k ( i 1 ) m sin π l j n + sin π k i m sin π l ( j + 1 ) n + sin π l ( j 1 ) n 4 sin π k i m sin π l j n ] g H f ~ ^ k , l sin π k i m sin π l j n = 0 .
Since the sine functions form an independent linear family, we can claim that the coefficients in the above equation are zero; in addition, we know sin ( x ± y ) = sin ( x ) cos ( y ) ± cos ( x ) sin ( y ) .
All fuzzy operations, including addition, subtraction, multiplication, and division, are performed componentwise on each α -cut representation of the fuzzy numbers. As a result, the mathematical manipulations reduce to interval arithmetic at each α -level, avoiding the need for explicit definitions of fuzzy multiplication and division. This α -cut approach guarantees that all transformations remain consistent with the properties of fuzzy numbers and ensures that the algorithm proceeds in a rigorous and computationally efficient manner. Then, we have
sin ( π k ( i + 1 ) m ) + sin ( π k ( i 1 ) m ) = sin ( π k i m ) cos ( π k m ) + cos ( π k i m ) sin ( π k m ) + sin ( π k i m ) cos ( π k m ) cos ( π k i m ) sin ( π k m ) = 2 sin ( π k i m ) cos ( π k m )
so
2 z ~ ^ k , l h 2 [ sin π k i m cos π k m sin π l j n + sin π k i m sin π l j n cos π l n 2 sin π k i m sin π l j n ] = f ~ ^ k , l sin π k i m sin π l j n
is obtained. If i and k are not in { 0 , m } and j and l are not elements of { 0 , n } , then sin π k i m sin π l j n can be reduced, with which we can obtain
2 z ~ ^ k , l h 2 cos π k m + cos π l n 2 = f ~ ^ k , l
then
z ~ ^ k , l = h 2 f ~ ^ k , l 2 cos π k m + cos π l n 2
where f ~ ^ and z ~ ^ are the discrete fuzzy sine transform of f ~ and z ~ and
f ~ ^ k , l = i = 1 m 1 j = 1 n 1 f ~ i , j ( sin ( π k i m ) sin ( π l j n ) )
This relation is applied to the fuzzy coefficients. The fuzzy surface z ~ i , j is then obtained by inverse FsT:
z ~ i , j = 4 m n k = 1 m 1 l = 1 n 1 z ~ ^ k , l ( sin ( π k i m ) sin ( π l j n ) )
Finally, we defuzzify z ~ i , j by taking d ( z ~ i , j ) = 1 2 ( z i , j + z i , j + ) as described in Section 2.
Algorithm 1: Fuzzy FC algorithm.
Input: Normal map details n 1 ( u , v ) , n 2 ( u , v ) , n 3 ( u , v )
Output: Defuzzified surface d ( z ~ i , j )
  • Fuzzification
    Convert normal map details into n ~ 1 ( u , v ) , n ~ 2 ( u , v ) , n ~ 3 ( u , v ) using TFNs;
    Compute fuzzy gradients p ~ and q ~ ;
    Compute fuzzy divergence f ~ ( u , v ) = u p ~ + v q ~ using g H -finite differences;
  • Fuzzy FC
    Apply the Discrete Sine Transform to f ~ i , j to obtain fuzzy frequency coefficients f ~ ^ k , l ;
    Solve for fuzzy surface coefficients z ~ ^ k , l using Equation (12);
    Apply the inverse FsT to compute the fuzzy surface z ~ i , j ;
  • Defuzzification
    Defuzzify the fuzzy surface z ~ i , j to obtain the final surface d ( z ~ i , j ) ;
  • Note on Noise-Free Inputs
    When the input normals are noise-free and symmetric fuzziness is used, the defuzzified result is essentially identical to the classic solution due to linearity of all operations.

4.3. Adaptive Strategy and Parameter Selection Strategy

Unlike the additive noise modeling in [8], we also introduce uncertainty in the gradient fields by scaling the perturbation relative to the magnitude of the gradient. For each pixel ( u , v ) , we construct a fuzzy gradient as a symmetric triangular fuzzy number:
p ~ i , j = ( p i , j δ p , p i , j , p i , j + δ p ) , δ p = λ | p i , j | , q ~ i , j = ( q i , j δ q , q i , j , q i , j + δ q ) , δ q = λ | q i , j |
The scaling factor λ is selected based on the estimated noise level, allowing the fuzzification process to adaptively reflect the local uncertainty in the gradients.
In contrast to [8], where fixed averaging of fuzzy bounds used (i.e., d ( z ~ ) = 0.5 ( z + z + ) ), here we introduce a context-aware defuzzification that dynamically adjusts weights ( w l , w m , w u ) depending on the local spread of the fuzzy surface solution. The defuzzified result is
d n e w ( z ~ i , j ) = w l z i , j + w m z i , j + w u z i , j + ,
where weights w l , w m , w u are dynamically determined by the local spread s p r e a d = z i , j + z i , j , with thresholds T 1 and T 2 defined as functions of the noise level.
This dual improvement leads to a fuzzy integration method that is more responsive to local variations and noise characteristics in the input data.
The adaptive defuzzification strategy employs threshold parameters T 1 = a 1 + β 1 · σ n and T 2 = a 2 + β 2 · σ n , where σ n is the estimated noise level, and β 1 , β 2 , a 1 , a 2 are tunable constants.
In this study, we determined these parameters empirically through grid search experiments over a validation set consisting of synthetic benchmark surfaces. The goal was to identify values that minimize RMSE while maintaining consistent performance across varying noise intensities. Note that using the noise level σ n directly as a threshold (e.g., T = σ n ) is not suitable due to differences in scale between the normalized noise metric and the actual spread in the fuzzy output. Therefore, we define adaptive thresholds T 1 , T 2 as affine functions of σ n , incorporating a base level a and a sensitivity coefficient β , allowing better alignment with the expected range of spread values across different datasets and noise intensities.

5. Experimental Results

In this section, we investigate our basic method along with the adaptive version using several test surfaces and compare it to the classical method. We consider two main scenarios: (1) uncertain but noise-free normals (to test accuracy), and (2) normals with added noise (to test noise suppression). Additionally, we demonstrate the method’s ability to handle missing normal data.
We use several representative surfaces in our experiments. These surfaces exhibit a variety of smooth and sharp features. Each surface is sampled on a grid over the domain [ 1 , 1 ] × [ 1 , 1 ] . The true surface height z u , v is known analytically for each case, so we can compute the exact normals and hence the ground-truth solution for integration.
Input description and normal field construction: In our experiments, the input to the reconstruction algorithm is a normal vector field n ( u , v ) = ( n 1 ( u , v ) , n 2 ( u , v ) , n 3 ( u , v ) ) , derived analytically from synthetic ground-truth surfaces shown in Figure 1.
To compute the gradients required by the FC method, we extract the partial derivatives:
p ( u , v ) = n 1 ( u , v ) n 3 ( u , v ) , q ( u , v ) = n 2 ( u , v ) n 3 ( u , v ) .
These gradient fields ( p , q ) serve as the primary inputs to both the classical and the fuzzy FC reconstruction processes.
For experiments with noise, Gaussian perturbations are applied directly to p and q. For fuzzy experiments, these perturbed gradients are encoded as symmetric triangular fuzzy numbers, p ~ ( u , v ) and q ~ ( u , v ) , to model uncertainty.
Error reduction strategy evaluation: Here, to assess the performance of the proposed algorithm on surface reconstruction tasks, the following steps are undertaken:
  • Ground-truth reconstruction: The original surface is computed.
  • Clean reconstructions: Both the classical FC and fuzzified FC methods are used to reconstruct the surface from noise-free data.
  • Noisy reconstructions: Reconstructions are performed for selected noise levels.
  • RMSE analysis: RMSE values are computed using different noise levels for both classical FC and fuzzified FC methods.
To further highlight some advantages of the fuzzified approach, controlled noise was introduced into the normal vectors, thereby perturbing the computed gradients. We obtained 3D surface reconstructions using both the classical FC and fuzzy FC methods. In all cases, the fuzzy approach produces smoother reconstructions.
In this work, the noise level models the degree of uncertainty or perturbation introduced into the normal vector field due to measurement errors or external disturbances. Specifically, we assume the presence of Gaussian noise in the normal gradients, meaning that the observed noisy gradients g noisy = ( p , q ) are modeled as
p = p + η p , q = q + η q ,
where η p and η q are independent zero-mean Gaussian noise components:
η p N ( 0 , σ 2 ) , η q N ( 0 , σ 2 ) .
The noise level, denoted as σ n , is then defined as the ratio of the standard deviation of the noise to the maximum magnitude of the true gradient field:
σ n = σ max p 2 + q 2 .
This relative measure ensures that the noise intensity is expressed proportionally to the inherent scale of the gradients, making it invariant to absolute magnitudes.
Furthermore, in our fuzzified formulation, the spread of the fuzzy numbers p ~ and q ~ is dynamically adapted based on the estimated noise level.

5.1. Impact of Symmetric Perturbations

At first, we considered as in [11] that the modifications applied to the input data are symmetric around the original value. Consequently, the weighted average (which ultimately yields the fuzzy output) closely approximates the original value.
Our experiments are outlined as follows:
  • Fuzzy perturbation of gradient data: In the simple implementation considered [11], the gradient data were perturbed to form three sets:
    p 1 = p δ , p 2 = p , p 3 = p + δ ,
    representing a symmetric triangular fuzzy number p ~ characterized by the triplet ( p 1 , p 2 , p 3 ) . The same formulation applies to q ~ .
  • Comparison of classical and fuzzified methods: To evaluate the accuracy of the classical and fuzzified solutions, we computed their deviation from the exact solution. For every ( i , j ) Ω = { 0 , m } × { 0 , n } , where Ω = [ 0 , m ] × [ 0 , n ] , the root mean square error (RMSE) of z i , j was calculated. The classical solution was obtained using a sine discrete transform, whereas the defuzzified solution, denoted as d ( z ~ i , j ) , was derived using a fuzzy sine discrete transform.
  • Defuzzification method: The defuzzification method used was d ( z ~ ) = 0.5 ( z + z + ) , assuming w l = 0.5 , w m = 0 , and w u = 0.5 in Equation (13).
Table 1 presents a comparison between the exact function and in Figure 1, the discrete sine transform approximation, and the fuzzy discrete sine transform approximation for several surfaces:
z 1 = sin ( u v ) + u 2 v 2 , z 2 = u 2 + v 2
z 3 = ( 1 u 2 σ 2 v 2 σ 2 ) e u 2 + v 2 2 σ 2 , z 4 = e ( u + 0.25 v )
The reconstruction is carried out under homogeneous Dirichlet boundary conditions, and we center the reconstructed surface by subtracting the mean height, if needed, to align it visually with the reference. This ensures fair visual and quantitative comparison despite the mismatch in boundary conditions.
Figure 1 illustrates 3D surface reconstructions obtained using the fuzzy FC method, which is better at suppressing noise than classic FC methods, as we can see their difference between errors. If the noise were of even higher frequency (or if we increased the fuzziness level to aggressively filter out more detail), the advantage of the fuzzy approach would likely become even more pronounced. Conversely, if the noise were very low frequency, both methods would reconstruct it similarly. Our results here focus on demonstrating that the fuzzy approach does no harm to the solution (the accuracy remains essentially the same for clean data).

5.2. Adaptive Fuzzification and Defuzzification Strategy

Modified fuzzification strategy: Here, we use a multiplicative fuzzification scheme in which the width of the fuzzy support is proportional to the magnitude of the value itself. The gradient data were perturbed to form three sets:
p 1 = p · ( 1 λ ) , p 2 = p , p 3 = p · ( 1 + λ ) ,
representing a symmetric triangular fuzzy number p ~ characterized by the triplet ( p 1 , p 2 , p 3 ) . The same formulation applies to q ~ . The fuzzification parameters λ control the spread of uncertainty around each gradient value. Larger values of λ introduce more fuzziness, improving robustness against noise but potentially oversmoothing the surface. In our experiments, we empirically found that λ [ 0.05 , 0.15 ] yields a good trade-off between accuracy and stability. An adaptive selection of λ based on local gradient magnitude could be an interesting future direction. This approach enables adaptive uncertainty modeling: smaller values yield narrower fuzzy intervals, while larger values admit proportionally larger uncertainty ranges. This proportional fuzzification better reflects relative uncertainty in signals such as gradients and normals.
The adaptive defuzzification approach: To enhance robustness against noise, we adopt an adaptive approach in which the final reconstruction is calculated using Equation (13). The defuzzified value is determined by weighting the fuzzy bounds, with weights w l , w m , w u selected based on the local uncertainty (i.e., the spread of the fuzzy estimate).
To dynamically adjust these weights in response to noise, we define two adaptive thresholds T 1 and T 2 as functions of the noise standard deviation σ n :
T 1 = a 1 + β 1 · σ n , T 2 = a 2 + β 2 · σ n ,
The constants a 1 , a 2 , β 1 , β 2 are empirically set to control how sensitive the threshold values are to increasing noise. This formulation ensures that as the noise level rises, the thresholds increase accordingly, allowing the algorithm to adapt to greater uncertainty in the input data.
In this study, the variable noise level reflects the standard deviation of the Gaussian noise added to the gradient measurements. This noise level directly informs how the weights are computed in the defuzzification phase, ensuring a more reliable reconstruction.
The adaptive defuzzification is applied in three different regimes based on the magnitude of the local fuzzy spread:
  • Low uncertainty ( spread < T 1 ): The fuzzy number center is considered as the defuzzified values of the surface points:
    d new ( z ~ i , j ) = z i , j
  • Moderate uncertainty ( T 1 spread < T 2 ): A weighted sum of the lower, center, and upper fuzzy bounds is considered as the defuzzified values of the surface points:
    d new ( z ~ i , j ) = w l z i , j + w m z i , j + w u z i , j +
  • High uncertainty ( spread T 2 ): The weights of the two edges are halved because they are no longer trusted. The system prefers to rely more on the central z value, because that point is likely to be the closest representative of reality:
    d new ( z ~ i , j ) = w l 2 z i , j + ( w m + w m 2 ) z i , j + w u 2 z i , j +
This adaptive scheme ensures that the combination of fuzzy outputs is guided by the level of local uncertainty. In areas with high noise or data gaps, the method compensates by adjusting weights to incorporate a broader contribution from the fuzzy bounds, thus maintaining a more stable and realistic reconstruction.
Table 2 presents a comparison of the exact function, the discrete sine transform approximation, and the fuzzy discrete sine transform approximation for several surfaces using the following new strategy: s 1 = V a s e , s 2 = S o m b r e r o , s 3 = P y r a m i d . As shown, the values D 1 = RMSE ( s ) and D 2 = RMSE ( d ( s ~ ) ) differ, with the new fuzzy approach resulting in a reduced error.
To further demonstrate the advantages of the fuzzified approach, controlled noise is added to the normal vectors, thereby perturbing the computed gradients. Figure 2 illustrates 3D surface reconstructions obtained using the new fuzzified FC methods on ground truths. In each case, the fuzzified method yields smoother reconstructions with improved noise suppression.
Table 3 presents a comparison of the previous fuzzified formulation of FC in [19] and the new strategy as the fuzzy FC method for s 1 , s 2 , and s 3 surfaces. As shown, the values RMSE ( d ( s ~ ) ) and RMSE ( d n e w ( s ~ ) ) differ, with the new fuzzy approach resulting in a reduced error.

5.3. Comparison in Terms of Gap Reconstruction

Another advantage of fuzzy integration is its ability to handle missing data (gaps in the normal field) in a principled way. In classic integration, if some region has no valid normals, one must fill in those normals by interpolation or simply leave that area unreconstructed. In our fuzzy approach, we can interpret missing normals mathematically as extremely uncertain values and let the algorithm naturally fill in the gaps using neighboring information.
To simulate a gap, we removed the normals in a square region on each test surface. We then attempted to reconstruct the surface despite this missing data. In the fuzzy method, when computing differences in the discrete Poisson equation, we used the nearest available normals for the missing points. For example, if ( i , j ) is inside the gap, we replaced p ~ i , j with p ~ i 1 , j (the closest known neighbor in the i-direction) and q ~ i , j with q ~ i , j 1 for the difference formula. In effect, this assumes the gradient in the gap is similar to the gradient just outside the gap, which is a reasonable assumption for a smooth surface.
Then f ~ i , j in Equation (9) needs to be modified for points at the boundary of the gap: if ( i , j ) is just inside the gap, then one of its neighbors is missing. We handled this by using a one-sided difference: e.g., if ( i + 1 , j ) is missing, we use ( i 1 , j ) twice (essentially skipping the missing point, which is equivalent to taking a larger step of 2 h ). Concretely, we derived
f ~ i , j ( gap ) = p ~ i , j g H p ~ i 2 , j 2 h q ~ i , j g H q ~ i , j 2 2 h ,
for points where ( i 1 , j ) or ( i , j 1 ) are missing, so we used ( i 2 , j ) , ( i , j 2 ) which are just outside the gap. This essentially uses the nearest known data to approximate the derivative across the gap boundary.
Using these adjustments, we solved for z ~ as usual. What this achieves is a continuation of the surface into the gap. In other words, the gap is filled in a membrane-like or smoothest possible way, constrained by the boundary of the gap. This approach is analogous to classic hole-filling techniques (like treating it as a Dirichlet interior problem), but here it arose naturally by extending the fuzzy method.
Figure 3 shows the results of gap filling for two example surfaces. In each case, we display the ground-truth surface (with a visible hole where data is missing) and the reconstruction by using Equation (14) in the fuzzy FC method. We see that the fuzzy method successfully reconstructed the shape through the missing region; it yields a smooth fill consistent with surrounding slopes.
Additional clarification on gap filling: Unlike classical discrete methods such as the original Frankot–Chellappa algorithm, which process input data uniformly without awareness of missing regions, the proposed fuzzy extension inherently handles data gaps. Through the fuzzification stage, regions with missing or highly uncertain data naturally receive very low membership values, effectively reducing their influence in the F-transform computation. A simple thresholding strategy on the fuzzy membership map allows explicit identification of gap regions, enabling selective application of specialized reconstruction formulas in those areas. As a result, during surface reconstruction, gaps are treated adaptively without requiring external boundary condition definitions. Consequently, hole filling emerges from the fuzzy framework, producing smoother and more coherent reconstructions even in the presence of incomplete or noisy input data.
Role of the F-transform: The F-transform is not a reconstruction method, but it plays a critical preparatory role in the surface reconstruction pipeline. Its main contribution lies in the preprocessing stage and regularizing the input normal field before applying the fuzzy Frankot–Chellappa reconstruction step.
  • Smoothing and noise reduction real: The F-transform, applied to the fuzzified gradient data, acts as a low-pass filter. This attenuates rapid variations (such as noise) while preserving the underlying shape characteristics. As a result, the gradient field fed into the Poisson solver becomes more regular, which improves the stability and accuracy of the reconstruction.
  • Implicit gap identification: In addition to denoising, the F-transform naturally identifies unreliable regions. During the fuzzification step, input points with low confidence (due to occlusion, missing data, or inconsistency) receive reduced fuzzy membership. The resulting fuzzy coefficients in these areas become negligible. This behavior allows for implicit detection of gaps in the data without explicit labeling or manual segmentation.
  • Enabling adaptive Poisson solving: The output of the F-transform is passed to the fuzzy Poisson solver. Regions with confident data retain their structure, while uncertain areas can be handled selectively, either by omission or by applying special gap-filling formulas. Thus, the F-transform prepares the problem domain for adaptive treatment in the reconstruction phase.
As a result, the F-transform acts as a smoothing, filtering, and data-awareness mechanism prior to fuzzy Poisson reconstruction. Its integration is essential to ensure robustness in noisy or incomplete settings and enables the subsequent fuzzified Frankot–Chellappa method to operate more reliably, as we can see in Figure 4.

6. Conclusions

We have presented a fuzzified Frankot–Chellappa method for surface normal integration, which incorporates fuzzy logic to handle uncertainty in the input normals. The fuzzy Poisson equation with Dirichlet boundary conditions was formulated and solved using a fuzzy discrete sine transform. The improved fuzzified Frankot–Chellappa method can reconstructs surfaces with normal vectors that are uncertain or noisy, with performance comparable to the classic method on clean data and improved behavior on noisy data. In terms of accuracy, for smooth surfaces, the defuzzified fuzzy solution is essentially equivalent to the classical solution. In terms of noise suppression, the use of fuzzy concepts (in particular the inherent filtering effect of the F-transform) led to reconstructions with slightly lower error than the classical approach.
Overall, the developed fuzzy Frankot–Chellappa algorithms represent a promising extension of the classical approach. They maintain the computational efficiency of the original algorithm while providing improved noise tolerance and resilience to missing or ambiguous data.
Empirical evaluations demonstrate that the proposed strategy consistently improves reconstruction accuracy in noisy scenarios compared to both the classical FC method and the original fuzzy approach in [19].
Despite its promising performance, the proposed fuzzy FC method has certain limitations. First, the current model relies on predefined fuzzy parameters ( λ ) which are empirically tuned and may not adapt well to all types of noise distributions. Second, the method assumes a regular grid structure and Dirichlet boundary conditions, which might not generalize to arbitrary or irregular domains. Future work will focus on automatic tuning of fuzziness parameters (e.g., determining optimal spreads or thresholds based on data characteristics) and on extending the approach to non-rectangular domains or irregular integration regions, which would further enhance its applicability in real-world scenarios.

Author Contributions

The authors declare that the main idea and experiments were proposed by S.H. and M.B. and that the manuscript was written together with S.H. and M.B. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

The authors declare that upon reasonable request, the data and the code are available from the corresponding author.

Conflicts of Interest

The authors declare no conflicts of interest.

Abbreviations

The following abbreviations are used in this manuscript:
TFNsTriangular Fuzzy Numbers
gHGeneralized Hukuhara
PDEsPartial Differential Equations
sTDiscrete Sine Transformation
FsTFuzzy Discrete Sine Transformation
FCFrankot–Chellappa
RMSERoot Mean Square Error

References

  1. Cao, X.; Santo, H.; Shi, B.; Okura, F.; Matsushita, Y. Bilateral Normal Integration. In Proceedings of the European Conference on Computer Vision, ECCV 2022, Tel Aviv, Israel, 23–27 October 2022; pp. 552–567. [Google Scholar]
  2. Durou, J.D.; Aujol, J.F.; Courteille, F. Integrating the normal field of a surface in the presence of discontinuities. In Proceedings of the Energy Minimization Methods in Computer Vision and Pattern Recognition, EMMCVPR 2009, Bonn, Germany, 24–27 August 2009; pp. 261–273. [Google Scholar]
  3. Horn, B.K.P. Photometric Stereo. In Robot Vision; MIT Press: Cambridge, MA, USA; McGraw-Hill: London, UK, 1986; pp. 243–398. [Google Scholar]
  4. Bähr, M.; Breuß, M. An Improved Eikonal Method for Surface Normal Integration. In Proceedings of the 37th German Conference on Pattern Recognition, GCPR 2015, Aachen, Germany, 7–10 October 2015; pp. 274–284. [Google Scholar]
  5. Frankot, R.T.; Chellappa, R. A method for enforcing integrability in shape from shading algorithms. IEEE Trans. Pattern Anal. Mach. Intell. 1988, 10, 439–451. [Google Scholar] [CrossRef]
  6. Harker, M.; O’Leary, P. Least Squares Surface Reconstruction from Measured Gradient Fields. In Proceedings of the Conference on Computer Vision and Pattern Recognition, CVPR 2008, Anchorage, AK, USA, 23–28 June 2008. [Google Scholar]
  7. Simchony, V.F. Direct analytical methods for solving poisson equations in computer vision problems. IEEE Trans. Pattern Anal. Mach. Intell. 2002, 12, 435–446. [Google Scholar] [CrossRef]
  8. Queau, Y.; Durou, J.-D.; Aujol, J.-F. Normal Integration: A survey. J. Math. Imaging Vis. 2018, 60, 576–593. [Google Scholar] [CrossRef]
  9. Sellan, S.; Jacobson, A. Stochastic Poisson Surface Reconstruction. In Proceedings of the SIGGRAPH Asia 2022, Daegu, Republic of Korea, 6–9 December 2022. [Google Scholar]
  10. Hou, F.; Wang, C.; Wang, W.; Qin, H.; Qian, C.; He, Y. Iterative Poisson Surface Reconstruction (iPSR) for Unoriented Points. Acm Trans. Graph. 2022, 41, 1–13. [Google Scholar] [CrossRef]
  11. Yu, Z.; Sattler, T.; Geiger, A. Gaussian Opacity Fields: Efficient Adaptive Surface Reconstruction in Unbounded Scenes. Acm Trans. Graph. 2024, 43, 1–13. [Google Scholar] [CrossRef]
  12. Perfilieva, I. Fuzzy transforms: Theory and applications. Fuzzy Sets Syst. 2006, 157, 993–1023. [Google Scholar] [CrossRef]
  13. Perfilieva, I.; Valášek, P. Fuzzy Transforms in Removing Noise. In Proceedings of the Computational Intelligence, Theory and Applications, International Conference 8th Fuzzy Days, Dortmund, Germany, 29 September–1 October 2004; pp. 221–230. [Google Scholar]
  14. Nie, Y.; Barner, K.E. The Fuzzy ransformation and Its Applications in Image Processing. In Proceedings of the IEEE Transactions on Image Processing, ICIP 2003, Barcelona, Spain, 14–17 September 2006; pp. 910–927. [Google Scholar]
  15. Allahviranloo, T. Difference methods for fuzzy partial differential equations. Comput. Methods Appl. Math. 2006, 2, 233–242. [Google Scholar] [CrossRef]
  16. Abdi, M.; Allahviranloo, T. Fuzzy finite difference method for solving fuzzy Poisson equation. J. Intell. Fuzzy Syst. 2019, 37, 5281–5296. [Google Scholar] [CrossRef]
  17. Ghasemi Moghaddam, R.; Allahviranloo, T. On the fuzzy Poisson equation. Fuzzy Sets Syst. 2018, 374, 105–128. [Google Scholar] [CrossRef]
  18. Allahviranloo, T.; Ghobadi, M.; Matinfar, M. A fuzzy solution of wave equation by FFS-transform. Numer. Methods Partial. Differ. Equ. 2024, 40, e22661. [Google Scholar] [CrossRef]
  19. Hajighasemi, S.; Breuß, M. Fuzzy Frankot-Chellappa Method for Surface Normal Integration. In Proceedings of the Central-European Conference on Scientific Computing, High Tatra Mountains, ALGORITMY 2024, Podbanské, Slovakia, 15–20 March 2024; pp. 245–254. [Google Scholar]
  20. Dubois, D.; Prade, H. Operations on fuzzy numbers. Int. J. Syst. Sci. 1978, 9, 613–626. [Google Scholar] [CrossRef]
Figure 1. (ac) are for comparison of exact functions sin ( u v ) + u 2 v 2 and ( 1 u 2 σ 2 v 2 σ 2 ) e u 2 + v 2 2 σ 2 and u 2 v 2 ( 3 9 < u 2 + v 2 < 4 9 ) , discrete sine transformation approximation in classic FC method (sT), and α -cut components of the fuzzy sine discrete transformation approximation (FsT) in fuzzified FC method, with α = 0.3 for z ( u , v ) .
Figure 1. (ac) are for comparison of exact functions sin ( u v ) + u 2 v 2 and ( 1 u 2 σ 2 v 2 σ 2 ) e u 2 + v 2 2 σ 2 and u 2 v 2 ( 3 9 < u 2 + v 2 < 4 9 ) , discrete sine transformation approximation in classic FC method (sT), and α -cut components of the fuzzy sine discrete transformation approximation (FsT) in fuzzified FC method, with α = 0.3 for z ( u , v ) .
Algorithms 18 00488 g001
Figure 2. Ground truth dataset and the RMSEs depending on the noise level increase. (a) Ground-truth surface of the vase model; (b) RMSE comparison of classical FC vs. fuzzified FC methods for the vase model under increasing noise levels; (c) Ground-truth surface of the sombrero model; (d) RMSE comparison of classical FC vs. fuzzified FC methods for the sombrero model under increasing noise levels; (e) Ground-truth surface of the pyramid model; (f) RMSE comparison of classical FC vs. fuzzified FC methods for the pyramid model under increasing noise levels.
Figure 2. Ground truth dataset and the RMSEs depending on the noise level increase. (a) Ground-truth surface of the vase model; (b) RMSE comparison of classical FC vs. fuzzified FC methods for the vase model under increasing noise levels; (c) Ground-truth surface of the sombrero model; (d) RMSE comparison of classical FC vs. fuzzified FC methods for the sombrero model under increasing noise levels; (e) Ground-truth surface of the pyramid model; (f) RMSE comparison of classical FC vs. fuzzified FC methods for the pyramid model under increasing noise levels.
Algorithms 18 00488 g002
Figure 3. Reconstructing surfaces with areas containing unknown normal vectors. (a) Left: Ground-truth surface with a visible gap (missing data region) for z 1 = sin ( u v ) + u 2 v 2 ; Right: Reconstruction using the fuzzy FC method, demonstrating smooth and coherent gap-filling based on neighboring slope information for z 1 ; (b) Left: Ground-truth surface with a visible gap (missing data region) for z 3 = ( 1 u 2 σ 2 v 2 σ 2 ) e u 2 + v 2 2 σ 2 ; Right: Reconstruction using the fuzzy FC method, demonstrating smooth and coherent gap-filling based on neighboring slope information for z 3 ;
Figure 3. Reconstructing surfaces with areas containing unknown normal vectors. (a) Left: Ground-truth surface with a visible gap (missing data region) for z 1 = sin ( u v ) + u 2 v 2 ; Right: Reconstruction using the fuzzy FC method, demonstrating smooth and coherent gap-filling based on neighboring slope information for z 1 ; (b) Left: Ground-truth surface with a visible gap (missing data region) for z 3 = ( 1 u 2 σ 2 v 2 σ 2 ) e u 2 + v 2 2 σ 2 ; Right: Reconstruction using the fuzzy FC method, demonstrating smooth and coherent gap-filling based on neighboring slope information for z 3 ;
Algorithms 18 00488 g003
Figure 4. The (left column) shows the approximation results obtained using the classical Frankot–Chellappa method with the discrete sine transform (sT), while the (right column) illustrates the corresponding approximations using the proposed fuzzy Frankot–Chellappa method based on the fuzzy discrete sine transform (FsT). In the fuzzy approach, the FsT is applied via a fuzzy partition (F-transform) for three representative functions from Table 1, using the α -cut representation with α = 0.3 . (a) sin ( u v ) + u 2 v 2 ; (b) ( 1 u 2 σ 2 v 2 σ 2 ) e u 2 + v 2 2 σ 2 ; (c) u 2 v 2 ( 3 9 < u 2 + v 2 < 4 9 ) .
Figure 4. The (left column) shows the approximation results obtained using the classical Frankot–Chellappa method with the discrete sine transform (sT), while the (right column) illustrates the corresponding approximations using the proposed fuzzy Frankot–Chellappa method based on the fuzzy discrete sine transform (FsT). In the fuzzy approach, the FsT is applied via a fuzzy partition (F-transform) for three representative functions from Table 1, using the α -cut representation with α = 0.3 . (a) sin ( u v ) + u 2 v 2 ; (b) ( 1 u 2 σ 2 v 2 σ 2 ) e u 2 + v 2 2 σ 2 ; (c) u 2 v 2 ( 3 9 < u 2 + v 2 < 4 9 ) .
Algorithms 18 00488 g004
Table 1. Comparison of classical and fuzzy FC methods: D 1 = RMSE ( z ) and D 2 = RMSE ( d ( z ~ ) ) .
Table 1. Comparison of classical and fuzzy FC methods: D 1 = RMSE ( z ) and D 2 = RMSE ( d ( z ~ ) ) .
Exact z D 1 D 2 D 1 (Noise 0.5) D 2 (Noise 0.5)
z 1 0.57 × 10−60.57 × 10−61.92 × 10−24.45 × 10−3
z 2 1.33 × 10−51.33 × 10−51.28 × 10−25.01 × 10−3
z 3 1.11 × 10−61.11 × 10−62.62 × 10−31.67 × 10−3
z 4 4.01 × 10−64.01 × 10−63.11 × 10−34.48 × 10−4
Table 2. Comparison of classical and fuzzified FC methods: D 1 = RMSE ( s ) and D 2 = RMSE ( d ( s ~ ) ) .
Table 2. Comparison of classical and fuzzified FC methods: D 1 = RMSE ( s ) and D 2 = RMSE ( d ( s ~ ) ) .
Exact s D 1 D 2 D 1 (Noise 0.5) D 2 (Noise 0.5)
s 1 0.0288340.0287140.0289410.028724
s 2 0.3564100.3435780.3644160.340741
s 3 0.9019110.7317450.9938210.732425
Table 3. Comparison of previous and new fuzzy FC method.
Table 3. Comparison of previous and new fuzzy FC method.
Exact sRMSE ( d ( s ~ ) ) RMSE ( d new ( s ~ ) )
s 1 0.0288390.028714
s 2 0.3435790.343578
s 3 0.8501930.731745
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Hajighasemi, S.; Breuß, M. Fuzzy Frankot–Chellappa Algorithm for Surface Normal Integration. Algorithms 2025, 18, 488. https://doi.org/10.3390/a18080488

AMA Style

Hajighasemi S, Breuß M. Fuzzy Frankot–Chellappa Algorithm for Surface Normal Integration. Algorithms. 2025; 18(8):488. https://doi.org/10.3390/a18080488

Chicago/Turabian Style

Hajighasemi, Saeide, and Michael Breuß. 2025. "Fuzzy Frankot–Chellappa Algorithm for Surface Normal Integration" Algorithms 18, no. 8: 488. https://doi.org/10.3390/a18080488

APA Style

Hajighasemi, S., & Breuß, M. (2025). Fuzzy Frankot–Chellappa Algorithm for Surface Normal Integration. Algorithms, 18(8), 488. https://doi.org/10.3390/a18080488

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop