Table of Contents
Fetching ...

A Unified Differentiable Boolean Operator with Fuzzy Logic

Hsueh-Ti Derek Liu, Maneesh Agrawala, Cem Yuksel, Tim Omernick, Vinith Misra, Stefano Corazza, Morgan McGuire, Victor Zordan

TL;DR

The paper addresses the challenge of optimizing constructive solid geometry (CSG) trees when boolean decisions are discrete by introducing a unified differentiable boolean operator, B_{c}, grounded in product fuzzy logic and tetrahedral barycentric interpolation. This operator enables gradient-based optimization over both primitive parameters and boolean operation types, operating on soft occupancy functions to model both crisp and smooth shapes. Empirical results demonstrate improved inverse CSG fitting, more compact trees after pruning, and enhanced CSG generative modeling on ShapeNet compared to fixed-operator baselines, while preserving sharpness for binary inputs. The work highlights significant implications for fully continuous CSG optimization, potential hardware acceleration, and extensions to broader fuzzy-logic operators for more flexible geometric modeling.

Abstract

This paper presents a unified differentiable boolean operator for implicit solid shape modeling using Constructive Solid Geometry (CSG). Traditional CSG relies on min, max operators to perform boolean operations on implicit shapes. But because these boolean operators are discontinuous and discrete in the choice of operations, this makes optimization over the CSG representation challenging. Drawing inspiration from fuzzy logic, we present a unified boolean operator that outputs a continuous function and is differentiable with respect to operator types. This enables optimization of both the primitives and the boolean operations employed in CSG with continuous optimization techniques, such as gradient descent. We further demonstrate that such a continuous boolean operator allows modeling of both sharp mechanical objects and smooth organic shapes with the same framework. Our proposed boolean operator opens up new possibilities for future research toward fully continuous CSG optimization.

A Unified Differentiable Boolean Operator with Fuzzy Logic

TL;DR

The paper addresses the challenge of optimizing constructive solid geometry (CSG) trees when boolean decisions are discrete by introducing a unified differentiable boolean operator, B_{c}, grounded in product fuzzy logic and tetrahedral barycentric interpolation. This operator enables gradient-based optimization over both primitive parameters and boolean operation types, operating on soft occupancy functions to model both crisp and smooth shapes. Empirical results demonstrate improved inverse CSG fitting, more compact trees after pruning, and enhanced CSG generative modeling on ShapeNet compared to fixed-operator baselines, while preserving sharpness for binary inputs. The work highlights significant implications for fully continuous CSG optimization, potential hardware acceleration, and extensions to broader fuzzy-logic operators for more flexible geometric modeling.

Abstract

This paper presents a unified differentiable boolean operator for implicit solid shape modeling using Constructive Solid Geometry (CSG). Traditional CSG relies on min, max operators to perform boolean operations on implicit shapes. But because these boolean operators are discontinuous and discrete in the choice of operations, this makes optimization over the CSG representation challenging. Drawing inspiration from fuzzy logic, we present a unified boolean operator that outputs a continuous function and is differentiable with respect to operator types. This enables optimization of both the primitives and the boolean operations employed in CSG with continuous optimization techniques, such as gradient descent. We further demonstrate that such a continuous boolean operator allows modeling of both sharp mechanical objects and smooth organic shapes with the same framework. Our proposed boolean operator opens up new possibilities for future research toward fully continuous CSG optimization.
Paper Structure (27 sections, 16 equations, 16 figures, 1 table)

This paper contains 27 sections, 16 equations, 16 figures, 1 table.

Figures (16)

  • Figure 1: We present a differentiable boolean operator with respect to its operands and the operator. Given two implicit shapes, our boolean operator can control the blend region between two shapes and outputs a smoothly differentiable function (see the zoom-in part). One can also continuously switch the operator from one to another, such as from union (left) to difference (right).
  • Figure 2: We show a comparison of our method against a soft boolean operator, R-function, used in PaskoASS95. The R-function does not satisfy the axioms characterizing the behavior of intersection, it produces outputs that do not align with the classic (crisp) intersection. We show that the R-function (top row) produces a nearly empty shape when intersecting with the full shape multiple times. In contrast, our method matches the behavior of a crisp intersection.
  • Figure 3: We demonstrate the importance of avoiding vanishing gradients in an inverse CSG for fitting the union of two circles. Using the traditional maxGodel1932 operator suffers from vanishing gradients, leading to a primitive (left, red) remaining unchanged throughout the optimization and thus failing to reconstruct the target shape. In contrast, our method presented in \ref{['equ:product_fuzzy_logic']} avoids vanishing gradient and is able to recover the ground truth (right).
  • Figure 4: Naive bilinear interpolation introduces additional local minima in the occupancy value (top plot) when interpolating between, for instance, union (top left) and difference (bottom right).
  • Figure 5: We use barycentric interpolation to produce monotonic interpolation between different boolean operators. This avoids undesired local minima in occupancy interpolation.
  • ...and 11 more figures