Show HN: High-Res Neural Cellular Automata
High-Res Neural Cellular Automata: Scaling from Cells to Pixels
Authors: Ehsan Pajouheshgar, Yitao Xu, Ali Abbasi, Alexander Mordvintsev, Wenzel Jakob, Sabine SΓΌsstrunk Affiliations: EPFL, Google Research (*Internship at EPFL) Venue: SIGGRAPH 2026 | [arXiv] | [GitHub]
π Overview
Abstract: Neural Cellular Automata (NCAs) are dynamical systems inspired by biology. They consist of identical cells that use a learned local update rule to self-organize into intricate patterns. These systems are prized for their robustness, regenerative capabilities, and spontaneous dynamics.
While NCAs have excelled in morphogenesis and texture synthesis, they have historically been limited to low-resolution outputs. This research introduces a method to break that resolution barrier.
The Resolution Bottleneck
The authors identify three primary reasons why traditional NCAs struggle with high resolutions:
- Resource Scaling: Memory and training time increase quadratically relative to the grid size.
- Communication Lag: Information propagates strictly locally, making long-range coordination difficult.
- Computational Cost: Real-time inference at high resolutions is prohibitively expensive.
π The Proposed Solution: A Hybrid Architecture
To solve these issues, the researchers paired a coarse-grid NCA with a lightweight implicit decoder. This allows the model to render outputs at any arbitrary resolution.
How it Works: The LPPN
The core of this approach is the Local Pattern Producing Network (LPPN). Instead of the NCA defining every pixel, it defines a coarse lattice (e.g., mesh vertices).
The Rendering Process:
- A sampling point is selected (e.g., inside a triangle primitive).
- The system identifies the surrounding NCA cells .
- It calculates:
- : The locally averaged cell state via interpolation.
- : The local coordinate of the point within the primitive.
- The
LPPN(a shared MLP) processes to output final attributes like color or surface normals.
π Technical Implementation & Controls
The system includes several interactive parameters to manage the simulation:
| Parameter | Description | Note |
|---|---|---|
Steps / Frame | Iteration speed | Options: 1 or 2x |
Brush Size | Interaction area | Adjustable |
LPPN Scale | Upscaling factor | e.g., x4 |
Brush Mode | Interaction type | Click/Tap to interact |
Mathematical Constraints
To maintain stability during integration, the system dynamically adjusts the time step whenever the spatial increments are modified. This prevents the Euler integration from overshooting.
Additionally, the Isotropic mode ensures symmetry by forcing:
π Results and Contributions
The team implemented task-specific losses to optimize for both morphogenesis (growing from a single seed) and texture synthesis without adding significant computational overhead.
Key Achievements:
- Real-time high-resolution rendering.
- Support for 2D and 3D grids.
- Implementation on mesh domains (
MeshNCA). - Preservation of signature NCA self-organizing behaviors.
Example Configuration
# Conceptual LPPN Input
input_vector = {
"interpolated_state": state_bar_P,
"local_coord": u_P
}
output_attributes = LPPN.forward(input_vector)
# Returns: [R, G, B, Nx, Ny, Nz]
The result is a system where the NCA handles the "logic" of the pattern on a coarse scale, while the LPPN handles the "detail" at a fine scale, enabling MeshNCA to produce stunning, high-fidelity textures on complex geometries.